/*
Theme Name: Govern Transport
Theme URI: http://www.governtransport.com/
Author: Flo Web Design
Author URI: https://www.flowebdesign.ie/
Description: Custom WordPress theme for Govern Low Loader Transport, rebuilt to match the original governtransport.com design. Requires ACF Pro.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: govern
*/

/* ==========================================================
   Ported verbatim (as far as practical) from the original
   governtransport.com stylesheet, with background image
   paths pointed at the theme's own library/ folder.
========================================================== */

body {font-family:"Myriad Pro","Myriad-Pro","Segoe UI",Arial,sans-serif; font-size:16px; color:#17416d; line-height:1.5; background:#fff; margin:0;}
* {box-sizing:border-box;}
img {border:0;}

/* MAIN LINKS */
a:link{text-decoration: underline; color:#33425D;}
a:visited{text-decoration: underline; color:#33425D;}
a:active{text-decoration: underline; color:#33425D;}
a:hover{text-decoration: underline; color:#5fd3fb;}

h1, h2, h3, h4, h5, h6 {color:#076cb4; font-family:"Myriad Pro","Myriad-Pro","Segoe UI",Arial,sans-serif; letter-spacing:2px; margin:0 0 12px; font-weight:normal;}
h1 {font-size:24px; text-transform:uppercase;}
h2 {font-size:22px;}
h3 {font-size:20px;}
h4 {font-size:18px;}
h5 {font-size:16px;}
h6 {font-size:14px;}

a.text-white {color:#fff;}

/* CONTAINER */
.container {margin:0 auto; max-width:1260px; width:98%;}
.container:after {content:""; display:table; clear:both;}

/* HEADER TOP */
#header_top_bg {background:url(library/header_top_bg.jpg) repeat-x; height:50px; width:100%;}
#header_top p {color:#5fd3fb; float:left; font-size:17px; padding-top:12px; text-transform:uppercase; width:75%; margin:0;}
#header_top p.phone_link {color:#fff; float:right; font-size:18px; font-weight:700; line-height:1.2; margin:0; padding:4px 0 6px; text-align:right; width:200px;}
.phone_link a {color:#fff; text-decoration:none;}
.mobile {background:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235fd3fb'%3E%3Cpath d='M7 1a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H7zm0 2h10v15H7V3zm5 16.25a1 1 0 1 1 0 2 1 1 0 0 1 0-2z'/%3E%3C/svg%3E") no-repeat scroll left center; background-size:auto 22px; display:block; padding-left:26px;}
.landline {background:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235fd3fb'%3E%3Cpath d='M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.24 11.4 11.4 0 0 0 3.6.58 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1 11.4 11.4 0 0 0 .58 3.6 1 1 0 0 1-.25 1L6.6 10.8z'/%3E%3C/svg%3E") no-repeat scroll left center; background-size:auto 22px; display:block; padding-left:26px;}

/* HEADER */
#header {}
#logo {float:left; max-width:287px; width:23%; padding:14px 0;}
#logo img {max-width:100%; height:auto; display:block;}
#logo a {display:block;}

/* NAVIGATION */
#nav, #nav ul {float:right; line-height:18px; list-style:none; margin:44px 0 0; padding:0; text-align:center; width:76%;}
#nav li {background:#eef8fb;
background: linear-gradient(to bottom, #eef8fb 0%,#e7f1f6 47%,#dfeaef 100%);
float:left; margin:0 1px; width:15%;}
#nav li:first-child {border-bottom-left-radius:20px; border-top-left-radius:20px; padding:4px 0; width:8%;}
#nav li:first-child:hover {background: #52b8de;
background: linear-gradient(to bottom, #52b8de 0%,#42a8d0 47%,#3097bf 100%);
border-bottom-left-radius:20px; border-top-left-radius:20px; color:#fff;}
#nav li:first-child:hover a#home {background:url(library/home_hover.png) no-repeat center center;}
#nav li.medium {width:12%;}
#nav li.large {width:16.5%;}
#nav li:nth-child(7) {background: #52b8de;
background: linear-gradient(to bottom, #52b8de 0%,#42a8d0 47%,#3097bf 100%);
border-bottom-right-radius:20px; border-top-right-radius:20px;}
#nav li:nth-child(7) a {color:#fff;}
#nav li:nth-child(7):hover a {border-bottom-right-radius:20px; border-top-right-radius:20px;}
#nav li a#home {background:url(library/home.png) no-repeat center center; display:block; padding:20px 0;}
#nav a {color:#0972b9; display:block; font-family:"Myriad Pro","Myriad-Pro","Segoe UI",Arial,sans-serif; font-size:15px; font-weight:600; padding:16px 0; text-decoration:none; text-transform:uppercase;}
#nav a .new_line {display:block;}
#nav li:hover > a {background: #52b8de;
background: linear-gradient(to bottom, #52b8de 0%,#42a8d0 47%,#3097bf 100%);
color:#fff;}
#nav li.current-menu-item > a,
#nav li.current_page_item > a {background: #52b8de;
background: linear-gradient(to bottom, #52b8de 0%,#42a8d0 47%,#3097bf 100%);
color:#fff;}
#mobile_nav {display:none;}
#closeM {display:none;}

/* Home icon drawn inline so no extra image asset is needed */
#nav a#home {position:relative;}
#nav a#home:before {content:""; display:block; width:22px; height:20px; margin:0 auto;
  background:#0972b9;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 3 2 11h3v9h5v-6h4v6h5v-9h3z'/></svg>") no-repeat center / contain;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 3 2 11h3v9h5v-6h4v6h5v-9h3z'/></svg>") no-repeat center / contain;}
#nav li:first-child:hover a#home:before {background:#fff;}

/* SLIDESHOW */
#slides_container_bg {background:url(library/slideshow_bg.jpg) no-repeat; height:auto; margin-top:48px; max-width:100%; position:relative; width:100%;}
#slides_container, #slides_container_inside {width:98%; max-width:1260px; height:550px; margin:0 auto; overflow:hidden; padding:0; position:relative; top:-48px;}
#slides_container_inside {height:168px; top:0;}
#slides_container img, #slides_container_inside img {max-width:100%; display:block;}

#slogan1 {color:#fff; font-family:"Myriad Pro","Myriad-Pro","Segoe UI",Arial,sans-serif; font-size:48px; letter-spacing:1px; text-transform:uppercase; position:absolute; left:0; bottom:20px; padding:0 20px; margin:0; text-shadow:0 1px 4px rgba(0,0,0,.4);}

/* Rotating slider */
.govern-slide {position:relative;}
.govern-slide a {display:block;}
#slides_container.has-slider .govern-slide,
#slides_container_inside.has-slider .govern-slide {position:absolute; top:0; left:0; width:100%; opacity:0; transition:opacity .8s ease-in-out; pointer-events:none;}
#slides_container.has-slider .govern-slide.is-active,
#slides_container_inside.has-slider .govern-slide.is-active {position:relative; opacity:1; pointer-events:auto;}
.govern-slide-dots {position:absolute; bottom:16px; right:20px; z-index:20; display:flex; gap:8px;}
.govern-slide-dot {width:12px; height:12px; padding:0; border:2px solid #fff; border-radius:50%; background:transparent; cursor:pointer; opacity:.8;}
.govern-slide-dot.is-active {background:#fff;}
.govern-slide-dot:focus-visible {outline:2px solid #5fd3fb; outline-offset:2px;}
@media (prefers-reduced-motion: reduce) {
	#slides_container.has-slider .govern-slide,
	#slides_container_inside.has-slider .govern-slide {transition:none;}
}

/* CONTENT */
#content {padding:0px 0 35px;}
#content_inside {padding:35px 0;}
.picture {height:auto; margin:20px 3% 10px; max-width:400px; max-height:200px; padding:0; width:94%;}

/* LEFT COLUMN */
#left_col {float:left; width:60%;}
#left_col p {margin:0 0 18px;}
#left_col ul {margin:0 0 18px; padding-left:18px;}
#left_col ul li {margin:0 0 4px;}

/* RIGHT COLUMN */
#right_col {float:right; width:37%;}
#quote_bg {background:url(library/quote_bg.png) no-repeat scroll 0 0 / contain; margin-top:30px; max-width:460px; padding-bottom:35px; width:100%; position:relative; min-height:150px;}
#quote_bg p {color:#fff; font-size:26px; line-height:1.1; padding:8px 0 8px 5%; margin:0;}
#quote_bg p .call_us_today {font-size:40px; font-weight:700;}
#quote_bg .quote_icon {position:absolute; top:18px; right:22px; width:60px; height:auto;}
#video {max-width:100%; width:100%; margin-top:24px;}
#video iframe {width:100%;}

/* Right-column photos on inner pages */
.side_photo {display:block; max-width:100%; height:auto; margin:0 0 30px; border:0;}

/* ONE COLUMN */
#one_col {padding:0 1%; width:98%;}
#one_col ul {list-style-position:inside; margin:0 0 18px; padding:0;}

/* Inner page two-column body */
.body_left {float:left; width:55%;}
.body_left ul {padding-left:18px;}
.body_right {float:right; width:40%;}
.body_right .side_photo + .side_photo {margin-top:0;}

/* FOOTER */
#footer_bg {background:url(library/footer_bg.jpg) repeat-x; background-size:auto 100%; display:block; min-height:173px; width:100%; padding:0;}
#footer {padding:20px 0;}
#footer p {color:#fff; font-size:18px; float:left; line-height:1.3; padding-top:15px; width:70%; margin:0;}
#footer p a {color:#fff;}
#footer_logo {float:right; max-width:182px; min-width:182px; padding-right:5%; width:15%;}
#footer_logo img {max-width:100%; height:auto;}
.footer_office {padding-left:61px;}

/* FLO WEB */
#floweb {background:#fff; padding:12px 0;}
#floweb p {padding-top:15px;}
#floweb a {text-decoration:none; color:#4a4a4a;}
#copyright {float:left; width:30%; color:#4a4a4a; font-size:13px;}
#flo_web {float:right; text-align:right; width:60%; color:#4a4a4a; font-size:13px;}
#floweb .container:after {content:""; display:table; clear:both;}

/* ==========================================================
   MEDIA QUERIES (ported)
========================================================== */
@media only screen and (max-width : 1090px) {
	#header_top p {font-size:14px; margin:0; padding-top:5px; width:65%;}
	#nav, #nav ul {margin-top:34px;}
	#nav li {width:14.9%;}
	#quote_bg p {font-size:20px;}
	#quote_bg p .call_us_today {font-size:30px;}
}
@media only screen and (max-width : 900px) {
	#nav, #nav ul {margin-top:18px;}
	#nav li.medium {width:10%;}
	#nav li a {font-size:12px;}
	#quote_bg p {font-size:16px;}
	#quote_bg p .call_us_today {font-size:24px;}
}
@media only screen and (max-width : 767px) {
	#header_top p {display:none;}
	#header_top p.phone_link {display:block; float:none; margin:0 auto; width:auto;}
	#header {text-align:center;}
	#logo {float:none; max-width:287px; min-width:200px; width:60%; margin:0 auto;}
	#mobile_nav {background:#0972b9; display:block; height:30px; position:absolute; right:1%; top:60px; width:36px; z-index:5000; border-radius:4px; cursor:pointer;}
	#mobile_nav:before,#mobile_nav:after,#mobile_nav span {content:""; display:block; height:3px; background:#fff; margin:5px 7px; border-radius:2px;}
	#mobile_nav span {margin:5px 7px;}
	#nav{display:none;}
	#nav.open{display:block;}
	#nav, #nav ul {float:none; margin-top:0; width:100%;}
	#nav li {float:none; margin:0; width:100% !important; background:#eef8fb;}
	#nav a {border-bottom:1px solid gray; border-top:1px solid #fff; margin:0; padding:8px 0; width:100%;}
	#nav a .new_line {display:inline;}
	#nav li:first-child, #nav li.medium, #nav li.large, #nav li:nth-child(7) {border-radius:0; padding:0; width:100% !important;}
	#nav li:first-child:hover {border-radius:0;}
	#nav a#home {padding:8px 0;}
	#nav a#home:before {display:inline-block; vertical-align:middle;}
	#content, #content_inside {font-size:14px;}
	#left_col, #right_col, .body_left, .body_right {float:none; width:100%;}
	#quote_bg {margin:0 auto; min-width:280px;}
	#quote_bg p {font-size:26px;}
	#quote_bg p .call_us_today {font-size:40px;}
	.footer_office {padding-left:46px;}
	#footer p {font-size:14px; padding-top:30px; width:64%;}
	#footer_logo {min-width:auto; padding-right:1%; width:33%;}
	#floweb p {font-size:13px;}
}
@media only screen and (max-width : 500px) {
	#slides_container_bg {margin-top:0;}
	#slides_container, #slides_container_inside {height:auto; top:0;}
	/* Keep the slider behaving as a slider on mobile: only the active slide
	   takes up space, the rest stay stacked/hidden, and nothing overflows. */
	#slides_container.has-slider, #slides_container_inside.has-slider {overflow:hidden;}
	#slides_container.has-slider .govern-slide,
	#slides_container_inside.has-slider .govern-slide {position:absolute; top:0; left:0; width:100%;}
	#slides_container.has-slider .govern-slide.is-active,
	#slides_container_inside.has-slider .govern-slide.is-active {position:relative;}
	#slogan1 {font-size:28px; bottom:10px;}
	#quote_bg p {font-size:20px;}
	#quote_bg p .call_us_today {font-size:24px;}
	#footer p {display:none;}
	#footer_logo {margin:0 19%; padding-right:0; width:62%;}
	#copyright, #flo_web {float:none; margin:0; text-align:center; width:100%;}
	#floweb p {padding-top:5px;}
}

iframe {frameborder:0; height:315px; width:100%;}

/* ==========================================================
   FORM STYLING (ported)
========================================================== */
form td{padding:7px 0;}
input, textarea, select{margin:0; font-family:Georgia,"Times New Roman",Times,serif; font-size:14px; color:#333335; background:#fff; box-shadow:0 4px 5px -5px rgba(0,0,0,0.3) inset; -webkit-border-radius:3px; border-radius:3px;}
input[type=text], input[type=email], input[type=tel], input[type=password], textarea, select{padding:7px; margin-right:10px; border:1px solid #cfcfcf; width:320px; max-width:100%;}
textarea{width:320px; max-width:100%; min-height:120px;}
input[type=text]:hover, input[type=email]:hover, input[type=tel]:hover, textarea:hover, select:hover,
input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus, textarea:focus, select:focus{border:1px solid #0473BB;}
input[type=submit]{text-decoration:none; border:none; padding:15px; background:#0473BB; color:#fff; cursor:pointer; font-family:inherit;}
input[type=submit]:hover{background:#2C3659;}
input[type=submit]:active{background:#2C3659; box-shadow:inset 0px 2px 10px 0px rgba(0,0,0,.4);}
input[type=radio], input[type=checkbox]{margin:5px 5px 0 0;}
label {color:#17416d; display:inline-block; margin:0 0 15px; width:120px; vertical-align:top;}
.captcha {margin:10px 0 0 125px;}
.contact_intro p {margin:0 0 16px;}
.form_required {color:#17416d;}

/* Contact page layout */
.contact_wrap:after{content:""; display:table; clear:both;}

/* ==========================================================
   CONTACT FORM 7 OVERRIDES
   CF7 wraps each field in <p><label> and adds size="40" to inputs,
   which fights the fixed widths above. Constrain the form to a
   sensible column and let fields fill it.
========================================================== */
.contact_wrap .wpcf7 {max-width:560px;}
.contact_wrap .wpcf7-form p {margin:0 0 18px;}
/* CF7 labels wrap the whole field, so drop the fixed 120px width */
.contact_wrap .wpcf7-form label {display:block; width:auto; color:#17416d; margin:0; font-weight:600;}
/* Make text-style controls fill the column, overriding the 320px above */
.contact_wrap .wpcf7-form input.wpcf7-text,
.contact_wrap .wpcf7-form input[type=text],
.contact_wrap .wpcf7-form input[type=email],
.contact_wrap .wpcf7-form input[type=tel],
.contact_wrap .wpcf7-form input[type=url],
.contact_wrap .wpcf7-form input[type=number],
.contact_wrap .wpcf7-form select,
.contact_wrap .wpcf7-form textarea {width:100%; max-width:100%; margin:6px 0 0; box-sizing:border-box; font-family:inherit; font-size:15px;}
.contact_wrap .wpcf7-form textarea {min-height:150px;}
/* The span CF7 puts around each control shouldn't constrain width */
.contact_wrap .wpcf7-form-control-wrap {display:block;}
/* Submit keeps the branded blue button, not full width */
.contact_wrap .wpcf7-form input[type=submit].wpcf7-submit {width:auto; display:inline-block;}
/* Checkbox / radio acceptance rows: keep inline, not block */
.contact_wrap .wpcf7-form .wpcf7-acceptance label,
.contact_wrap .wpcf7-form .wpcf7-checkbox label,
.contact_wrap .wpcf7-form .wpcf7-radio label {display:inline; font-weight:normal;}
.contact_wrap .wpcf7-form .wpcf7-list-item {margin:0;}
/* Turnstile widget spacing */
.contact_wrap .wpcf7-turnstile {margin:0 0 18px;}

@media only screen and (max-width : 767px) {
	.contact_wrap .wpcf7 {max-width:100%;}
}
