/* Global box-sizing & overflow fix */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: hidden; max-width: 100%; }
img { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
ul#horizontal-image-list { min-width: unset !important; display: flex; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; gap: 5px; }

/* Form: prevent grid items from overflowing their columns */
.homebanner-inner > * { min-width: 0; }
.homebanner-form { min-width: 0; overflow: hidden; }
.homebanner-form .gform_wrapper, .homebanner-form #gform_wrapper_1 { width: 100% !important; max-width: 100% !important; }

/* GF framework CSS variable fallbacks (replaces inline styles from WordPress GF plugin) */
.homebanner-form .gform_wrapper,
.homebanner-form .gform-theme--foundation {
  --gf-form-gap-x: 16px;
  --gf-form-gap-y: 16px;
  --gf-form-footer-gap: 8px;
  --gf-form-footer-margin-y-start: 10px;
}

/* Form field inputs: explicit styles to ensure proper appearance */
.homebanner-form input[type=text],
.homebanner-form input[type=email],
.homebanner-form input[type=tel],
.homebanner-form input[type=date],
.homebanner-form input[type=number],
.homebanner-form select,
.homebanner-form textarea {
  width: 100%;
  border: 1px solid #d6d6d6;
  padding: 8px 12px;
  font-size: 14px;
  font-family: Montserrat, Arial, sans-serif;
  border-radius: 3px;
  height: 40px;
  background-color: #fff;
  color: #333;
  box-sizing: border-box;
  outline: none;
}
.homebanner-form input[type=text]:focus,
.homebanner-form input[type=email]:focus,
.homebanner-form input[type=tel]:focus,
.homebanner-form input[type=date]:focus,
.homebanner-form input[type=number]:focus,
.homebanner-form select:focus {
  border-color: #1d65a6;
}
.homebanner-form textarea {
  height: 80px;
  resize: vertical;
}
.homebanner-form select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23848484' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px !important;
}
.homebanner-form .gfield_label {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  margin-bottom: 4px;
  display: block;
}
/* Center the form's SEND button: flex on the footer container only */
.homebanner-form .gform-footer,
.homebanner-form .gform_footer {
  display: flex !important;
  justify-content: center !important;
  margin-top: 10px;
}
/* Button-only styles — not applied to any other element */
#estimate-form .gform_button {
  background-color: rgba(83,192,240,.9) !important;
  color: #fff !important;
  text-transform: uppercase;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 15px;
  font-weight: 600;
  padding: 12px 40px !important;
  border: none;
  cursor: pointer;
  /* Override GF framework 100% width rule */
  width: auto !important;
  inline-size: auto !important;
  min-width: 0 !important;
  border-radius: 3px;
  display: inline-block !important;
}
#estimate-form .gform_button:hover {
  background-color: #1d65a6 !important;
}

/* Bootstrap / WPBakery Grid */
.col-md-12,.col-md-3,.col-md-6,.col-sm-12,.col-sm-6,.col-xs-12,.col-xs-6{position:relative;min-height:1px;padding-right:15px;padding-left:15px}
.col-xs-12,.col-xs-6{float:left}
.col-xs-12{width:100%}
.col-xs-6{width:50%}
@media (min-width:768px){.col-sm-12,.col-sm-6{float:left}.col-sm-12{width:100%}.col-sm-6{width:50%}}
@media (min-width:992px){.col-md-12,.col-md-3,.col-md-6{float:left}.col-md-12{width:100%}.col-md-6{width:50%}.col-md-3{width:25%}}
.vc_col-sm-12,.vc_col-sm-6{position:relative;min-height:1px;padding-left:15px;padding-right:15px;box-sizing:border-box}
@media (min-width:768px){.vc_col-sm-12,.vc_col-sm-6{float:left}.vc_col-sm-12{width:100%}.vc_col-sm-6{width:50%}}
@media (max-width:992px){.home-banner{background:0 0;padding-top:0}.homebanner-inner{grid-template-columns:1fr}.homebanner-img{display:block;margin-bottom:30px;height:300px}.homebanner-img img{width:100%;height:100%;object-fit:cover}.homebanner-text h1{font-size:40px;line-height:50px}.homebanner-text h1 span{font-size:50px}.home_about .vc_col-sm-6{width:100%}.blog_main,.home_services{grid-template-columns:repeat(2,1fr)}.why-choose .vc_col-sm-6{width:100%}.why-choose .vc_col-sm-6:first-child{margin-bottom:20px}}

.topbar .topbar-left{float:left}
.topbar .topbar-right{float:right}
@media (max-width:1199px){.mobile_relative{position:relative}.hide-topbar-mobile .topbar{display:none}.topbar .topbar-left,.topbar .topbar-right{float:none;text-align:center}.header-transparent .page-header .header-title{padding-top:240px}.header-sticky .site-header.minimized .navbar-icon .navbars-line,.header-sticky .site-header.minimized .navbar-icon .navbars-line:after,.header-sticky .site-header.minimized .navbar-icon .navbars-line:before{background-color:#222}.header-v3 .site-contact{padding:25px 0}.header-v3 .site-header.minimized{top:0;left:50%;transform:translate(-50%,0);width:100%;position:fixed;z-index:9999;background-color:#fff}.header-v3.admin-bar .site-header.minimized{top:32px}.header-v3 .fh-header-minimized{display:none}.header-v4 .navbar-icon{right:30px}.header-v4 .site-header.minimized{top:0!important;left:50%;transform:translate(-50%,0);width:100%;position:fixed;z-index:9999}.header-v4.admin-bar .site-header.minimized{top:32px!important}.site-header .site-menu{display:none}.site-header .navbar-toggle{display:block}}
@media (max-width:991px){.service:nth-child(odd){clear:left!important}.footer-sidebars{padding-bottom:50px}.footer-sidebar{margin-bottom:30px}.site-footer .footer-copyright,.site-footer .footer-text{width:100%;text-align:center}.site-footer .footer-copyright{margin-bottom:10px}}
.header-v3 .site-menu,.header-v4 .site-menu,.nav li li:hover,.topbar{background-color:#1d65a6}
.row_pad{padding-top:45px;padding-bottom:55px}
.faq_main .container{max-width:950px}
.faq_main .vc_tta-container{margin:0}
.faq_main .vc_tta-panel-title a{font-size:22px;color:#000!important;font-weight:500}
.faq_main .vc_tta-panel-title a i:after,.faq_main .vc_tta-panel-title a i:before{border-color:#000!important}
.faq_main .vc_tta-panel-body,.faq_main .vc_tta-panel-heading{border:0!important}
.faq_main .vc_tta-panel-heading{margin-top:0!important}
.faq_main .vc_tta-panel{padding:10px 0;border-bottom:1px solid #d6d6d6}
.faq_main .vc_tta-panel-heading:hover{background-color:#fff!important}
.blog_main{display:grid;grid-template-columns:repeat(3,1fr);row-gap:30px;column-gap:20px}
.blog_text{padding-top:25px}
.blog_text h4{margin:0 0 10px;font-size:22px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.blog_text h4 a{color:#222;font-weight:600}
.blog_text h4 a:hover{color:#337ab7}
.blog_text p{margin-bottom:0}
.blog_text p a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.blog_img{height:250px;overflow:hidden}
.blog_img img{object-fit:cover;width:100%;height:100%;transition:all .3s ease-in-out}
.blog_blk:hover .blog_img img{transform:scale(1.1)}
.since-section h2{color:#fff;text-align:center;margin:0}
.since-section h2 span{color:#ff3c00;text-transform:uppercase}
.sure_section{color:#fff;display:flex;justify-content:space-around;gap:20px;margin:30px 0 40px;flex-wrap:wrap}
.sure_blk{flex:0 0 auto;display:flex;align-items:center;gap:15px}
.sure_blk p{margin:0;font-size:25px}
.home_services{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:center;margin-top:30px}
.homeservice_blk{background-color:#fff;border:1px solid #d2d2d2;padding:20px;text-align:center;display:flex;flex-direction:column;align-items:center;transition:all .3s ease-in-out;overflow:hidden;height:100%}
.homeservice_blk:hover{box-shadow:0 4px 15px rgba(0,0,0,.2)}
.homeservice_blk h3{margin:20px 0 10px;font-size:22px}
.homeservice_blk p{margin:0;color:#191919}
.homeservice_blk a{text-decoration:underline;text-underline-offset:3px}
.service_icon{width:104px;height:104px;border-radius:52px;background-color:#1d65a6;display:flex;align-items:center;justify-content:center}
.choose-right{background-color:rgba(29,101,166,.102);display:grid;grid-template-columns:1fr 1fr;padding:20px;text-align:center}
.choose_blk{display:flex;align-items:center;justify-content:center;padding:15px;position:relative;min-height:150px}
.choose_blk h4{font-size:25px;text-transform:uppercase;color:#191919;font-weight:600;margin:0}
.choose_blk h4 span{color:#1d65a6;display:block}
.choose_blk:nth-of-type(-n+2){border-bottom:1px solid #121212}
.choose_blk:first-of-type,.choose_blk:nth-of-type(3){border-right:1px solid #121212}
.choose_blk:first-of-type:after{content:"";width:14px;height:14px;border-radius:7px;background-color:#121212;position:absolute;bottom:-7px;right:-7px}
.home-banner{background:var(--wpr-bg-96c88930-bf7d-4c52-abc4-971186ca7fde) no-repeat;background-size:cover;background-position:center;padding:4rem 0}
.homebanner-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}
.homebanner-text h1{font-size:50px;line-height:65px;color:#191919;font-weight:600;margin:0}
.homebanner-text h1 span{color:#1d65a6;font-size:60px;font-weight:700}
.homebanner-form{border-radius:23px;filter:drop-shadow(0px 3px 20px rgba(0, 0, 0, .11));background-color:rgba(255,255,255,.9);border:1px solid #d6d6d6;padding:30px}
.homebanner-form .gform_title{font-size:30px!important;line-height:40px;text-transform:uppercase;color:#000;font-weight:600;font-family:Montserrat;text-align:center;margin:0}
.homebanner-img{display:none}
@media (max-width:1200px){.home_services{grid-template-columns:repeat(3,1fr)}.choose_blk h4 span{display:inline-block}.choose_blk h4{font-size:22px}}
@media (max-width:992px){.home-banner{background:0 0;padding-top:0}.homebanner-inner{grid-template-columns:1fr}.homebanner-img{display:block;margin-bottom:30px;height:300px}.homebanner-img img{width:100%;height:100%;object-fit:cover}.homebanner-text h1{font-size:40px;line-height:50px}.homebanner-text h1 span{font-size:50px}.home_about .vc_col-sm-6{width:100%}.blog_main,.home_services{grid-template-columns:repeat(2,1fr)}.why-choose .vc_col-sm-6{width:100%}.why-choose .vc_col-sm-6:first-child{margin-bottom:20px}}
@media (max-width:768px){.homebanner-text h1{font-size:30px;line-height:40px}.homebanner-text h1 span{font-size:35px}.since-section h2 br{display:none}h2{font-size:30px!important}.blog_img img{height:300px}}
@media (max-width:666px){.homebanner-img{height:250px}.blog_main,.home_services{grid-template-columns:1fr}.homeservice_blk{padding:30px 20px}.choose-right{grid-template-columns:1fr}.choose_blk:first-of-type:after{display:none}.choose_blk:first-of-type,.choose_blk:nth-of-type(3){border-right:0}.choose_blk:not(:last-child){border-bottom:1px solid #121212}.choose_blk{min-height:unset}}
@media (max-width:480px){.homebanner-img{height:200px}}
#text-13 .topbar-mail-btn a{padding:17px 20px!important}
.top-right-outer a,.top-right-outer img{opacity:1;transition:opacity .6s ease-in-out}
.top-right-outer a.hidden,.top-right-outer img.hidden{opacity:0}
.top-right-outer{height:100px}
/* Establish header stacking context so dropdown appears above page content */
#masthead,
.site-header {
  position: relative !important;
  z-index: 5000 !important;
}
#site-navigation {
  position: relative !important;
  z-index: 5000 !important;
}
/* Make top-level nav <a> fill the full <li> height to prevent hover dead zones */
.nav ul.menu > li > a {
  display: block !important;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}
.topbar{background-color:#0c1239;position:relative;z-index:1000;line-height:60px}
.topbar .widget{font-size:15px;margin-bottom:0;display:inline-block;color:#dde2fc;padding:0 20px}
.topbar .widget:first-child{padding-left:0}
.topbar .widget:last-child{padding-right:0}
.topbar .widget p{margin-top:0;margin-bottom:0}
.topbar .topbar-search{position:relative}
.topbar .topbar-search .toggle-search{font-size:15px;color:#dde2fc;position:relative}
.topbar .topbar-search .toggle-search:before{content:'\f00d';font-family:FontAweSome;position:absolute;top:50%;left:0;font-size:15px;transform:translateY(-50%);opacity:0}
.topbar .topbar-search.display-search .toggle-search i{opacity:0}
.topbar .topbar-search.display-search .toggle-search:before{opacity:1}
.topbar .widget_nav_menu ul li{display:inline-block;padding:0 15px}
.topbar .widget_nav_menu ul li:last-child{padding-right:0}
.topbar .widget_nav_menu ul li:first-child{padding-left:0}
.topbar .widget_nav_menu ul li a{padding-left:0}
.topbar .widget_nav_menu ul li a:before{display:none}
.header-transparent .topbar{position:absolute;top:0;left:0;width:100%;background-color:rgba(12,18,57,.9)}
.header-transparent.admin-bar .topbar{top:32px}
.header-v4 .topbar{border-bottom:1px solid #f1f1f1}
.footer-sidebars{padding-top:60px;padding-bottom:80px}
@media (max-width:1199px){.mobile_relative{position:relative}.hide-topbar-mobile .topbar{display:none}.topbar .topbar-left,.topbar .topbar-right{float:none;text-align:center}.header-transparent .page-header .header-title{padding-top:240px}.header-sticky .site-header.minimized .navbar-icon .navbars-line,.header-sticky .site-header.minimized .navbar-icon .navbars-line:after,.header-sticky .site-header.minimized .navbar-icon .navbars-line:before{background-color:#222}.header-v3 .site-contact{padding:25px 0}.header-v3 .site-header.minimized{top:0;left:50%;transform:translate(-50%,0);width:100%;position:fixed;z-index:9999;background-color:#fff}.header-v3.admin-bar .site-header.minimized{top:32px}.header-v3 .fh-header-minimized{display:none}.header-v4 .navbar-icon{right:30px}.header-v4 .site-header.minimized{top:0!important;left:50%;transform:translate(-50%,0);width:100%;position:fixed;z-index:9999}.header-v4.admin-bar .site-header.minimized{top:32px!important}.site-header .site-menu{display:none}.site-header .navbar-toggle{display:block}.top-get-btn{height:42px!important;width:100%!important}}
@media (max-width:991px){.footer-sidebars{padding-bottom:50px}.footer-sidebar{margin-bottom:30px}.site-footer .footer-copyright,.site-footer .footer-text{width:100%;text-align:center}.site-footer .footer-copyright{margin-bottom:10px}}
@media (max-width:600px){#shiftnav-toggle-main.shiftnav-toggle-position-absolute{position:fixed!important;top:0!important}div#topbar{position:fixed;top:40px!important}body.shiftnav-disable-shift-body{padding-top:120px!important}.header-sticky.header-transparent.admin-bar .site-header.minimized{top:0!important}.header-sticky.admin-bar.header-v2 .site-header.minimized{top:0}.header-v3.admin-bar .site-header.minimized{top:0}}
.topbar{background-color:#fff;padding-top:30px;padding-bottom:30px;border:none !important}
.topbar .topbar-left{width:50%;text-align:center}
.topbar .topbar-right{width:50%;text-align:center}
ul#horizontal-image-list{min-width:696px;list-style:none}
ul#horizontal-image-list li{display:inline}
.footer-sidebars{padding-top:10px;padding-bottom:0}
@media only screen and (max-width:1200px){#primary-menu{margin-left:1%}#topbar .container{margin-top:5px}.nav a{font-size:18px}.nav .menu li.extra-menu-item.menu-item-button-link a{font-size:18px}}
@media only screen and (max-width:1199px){.topbar .topbar-left,.topbar .topbar-right{float:left}.site-header .site-menu{display:block}}
@media only screen and (max-width:650px){.topbar .topbar-left{float:none;width:100%}#text-16{font-size:18px}.topbar .topbar-right{width:100%}}
.topbar .topbar-right{width:60%;text-align:center}
.topbar .topbar-left{width:40%;text-align:center}
.topbar .topbar-left img{width:100%;max-width:250px}
.top-right-outer.top-right-desktop br{display:none}
.top-right-outer{gap:50px}
.topbar .topbar-right{width:70%;text-align:center}
.topbar .topbar-left{width:27%;text-align:right}
a.top-get-btn:hover{color:#fff}
.phn-img{width:50px;height:50px}
.footer-sidebars{padding-top:60px;padding-bottom:60px}
#text-13 .topbar-mail-btn a{padding:10px 20px;margin-top:30px;display:inline-block}
#text-13 .topbar-mail-btn a:hover{text-decoration:none}
.container.u-copywrite .copyright{display:flex;justify-content:space-between}
.copywrite-right ul{list-style:none;display:flex;gap:6px}
.copywrite-right{display:flex;align-items:center;padding-top:5px}
.copywrite-right ul img{width:100%;max-width:25px}
.copywrite-right p{font-size:16px;margin-bottom:9px}
.copywrite-left p{margin-bottom:0;font-size:16px;padding-top:5px}
@media only screen and (max-width:1200px){#topbar .container{margin-top:0}#text-13 .topbar-mail-btn a{padding:10px 15px;margin-top:30px;display:inline-block;font-size:13px}}
@media only screen and (max-width:991px){#masthead{display:none!important}.footer-sidebar.footer-3.col-xs-12.col-sm-6.col-md-3{float:right}#text-13 .topbar-mail-btn a{padding:10px 20px;margin-top:30px;display:inline-block;font-size:16px}}
@media only screen and (max-width:650px){#text-16{padding:30px!important}.topbar .topbar-left{width:30%!important;float:left}.topbar .topbar-left img{width:100%;max-width:195px}.topbar .topbar-right{padding-top:0!important}.topbar .topbar-right{width:70%!important}}
@media only screen and (max-width:630px){#shiftnav-toggle-main.shiftnav-toggle-main-align-center .shiftnav-main-toggle-content{width:95%}#shiftnav-toggle-main .shiftnav-main-toggle-content{padding:15px 10px}#shiftnav-toggle-main.shiftnav-toggle-edge-right.shiftnav-toggle-main-entire-bar:before{margin-right:-10px}#shiftnav-toggle-main{font-size:12px}.copywrite-right p{font-size:14px;margin-bottom:9px}}
@media only screen and (max-width:612px){#shiftnav-toggle-main .shiftnav-main-toggle-content{padding:5px 10px}.container.u-copywrite .copyright{display:flex;justify-content:center;flex-direction:column}.copywrite-right{display:flex;align-items:center;padding-top:14px;justify-content:center}.phn-img{width:38px;height:38px}.top-right-mobile .mail-text{width:38px!important;height:38px!important}}
@media only screen and (max-width:380px){.phn-img{width:26px;height:26px;margin-bottom:10px}.top-right-mobile .mail-text{width:25px!important;height:25px!important}.top-right-mobile .mail-text{padding:3px!important}.top-right-mobile .topbar-mail-btn{gap:0}}
.topbar-contact-info br{line-height:0;display:block;margin:0;content:''}
.contact-no{line-height:1.3;text-align:left}
.top-right-outer{display:flex;align-items:center;justify-content:space-between}
.ineer-conatct{display:flex;align-items:center;gap:15px}
.top-right-outer a{display:block;margin-bottom:2px;text-decoration:none;font-weight:500}
.contact-no a{font-size:17px;color:#000;font-family:Montserrat,Arial,sans-serif;margin:0;font-weight:500}
.contact-no a span{font-size:15px;display:inline-block;padding-left:5px;color:#000000d6}
/* Email & button: left-align so email sits above button's left edge */
.topbar-mail-btn{text-align:left}
.mail-text{font-size:17px;color:#000;font-family:Montserrat,Arial,sans-serif;display:inline-block}
.mail-text img{padding-right:5px;vertical-align:middle}
.top-get-btn{background-color:#53c0f0;color:#fff;text-align:center;padding:0 27px;font-family:Montserrat,Arial,sans-serif;font-size:17px;margin-top:10px;height:60px;line-height:60px;white-space:nowrap;display:block;width:285px;text-decoration:none}
.top-get-btn i{padding-left:10px}
.top-right-mobile .topbar-mail-btn{display:flex;align-items:center;gap:15px}
.top-right-mobile .top-get-btn{text-align:center;padding:0;background:0;color:#2264a4;margin:0}
.top-right-mobile .top-get-btn i{padding:0;margin:0}
.top-right-mobile a{margin-bottom:0}
.top-right-outer.top-right-mobile{align-items:center}
.top-right-mobile .mail-text{border:3px solid #2264a4;padding:8px;border-radius:50px;display:flex;align-items:center;justify-content:center;text-align:center;width:26px;height:26px}
.top-right-mobile .mail-text img{width:100%;padding-right:0;max-width:50px}
.top-right-mobile .top-get-btn{border:3px solid #2264a4;padding:8px;border-radius:50px;display:flex;align-items:center;justify-content:center;text-align:center;width:26px;height:26px}
.top-right-mobile{display:none}
@media only screen and (max-width:1310px){.top-right-outer{gap:23px}}
@media only screen and (max-width:1200px){.top-right-mobile{display:flex;gap:15px;justify-content:center}.top-right-desktop{display:none}.top-right-mobile .mail-text{width:50px;height:50px}.top-right-mobile .top-get-btn{width:50px;height:50px}.top-right-mobile .top-get-btn i{font-size:25px}.topbar .topbar-right{padding-top:45px}.topbar .topbar-right{width:60%}.topbar .topbar-left{width:40%}}
.blog_text h4{-webkit-line-clamp:none;height:60px;font-size:18px}

/* ============================================
   Footer & header color overrides
   (override child-theme a{color:#337ab7;font-weight:bold})
   ============================================ */
.footer-widgets a,.footer-widgets .textwidget a,.footer-widgets .widget a{color:#fff!important;font-weight:normal!important}
.footer-widgets a:hover{color:#53c0f0!important}
.footer-widgets .widget_nav_menu li::after{color:#fff!important}
.site-footer a,.site-footer .footer-copyright a{color:#fff!important;font-weight:normal!important}
/* Quick Links arrow — use › character since FontAwesome may not load in widgets */
.footer-widgets .menu-quick-links-container .menu li>a::before{content:'\203A ';font-size:16px}
/* Footer paragraph text color */
.footer-widgets .textwidget,.footer-widgets .textwidget p{color:#fff}
/* Copyright bar text */
.copywrite-left p,.copywrite-right p{color:#fff}

/* Remove gap between navbar and hero */
.site-header { padding: 0 !important; }
#masthead { margin-bottom: 0 !important; }
#content.site-content { padding-top: 0 !important; margin-top: 0 !important; }

.blog_text p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Back-to-top button: keep above footer overlays and clickable */
#scroll-top.backtotop {
  z-index: 2147483647 !important;
  pointer-events: auto !important;
}

#scroll-top.backtotop:not(.show-scroll) {
  pointer-events: none;
}

/* About section Know More button: add space above */
.home_about .vc_btn3-container.custom_btn { margin-top: 20px; }

/* Select: ensure placeholder text fits in the box */
.homebanner-form select { height: 46px !important; }

/* ============================================
   Mobile Parity With WordPress
   ============================================ */
#shiftnav-toggle-main {
  display: none;
}

@media only screen and (max-width: 991px) {
  #shiftnav-toggle-main {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100001;
    background: #1d65a6;
    color: #fff;
    min-height: 48px;
  }

  #shiftnav-toggle-main .shiftnav-main-toggle-content {
    position: relative;
    padding: 8px 42px 8px 12px;
    text-align: center;
    line-height: 1.25;
  }

  #shiftnav-toggle-main .shiftnav-main-toggle-content > a:first-child {
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #shiftnav-toggle-main .shiftnav-open-toggle {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    padding: 0;
    width: 24px;
    height: 24px;
    line-height: 24px;
  }

  #shiftnav-toggle-main .shiftnav-open-toggle .navbar-icon {
    display: inline-block;
  }

  #shiftnav-toggle-main .shiftnav-open-toggle .navbars-line,
  #shiftnav-toggle-main .shiftnav-open-toggle .navbars-line::before,
  #shiftnav-toggle-main .shiftnav-open-toggle .navbars-line::after {
    background-color: #fff !important;
  }

  body {
    padding-top: 48px !important;
  }

  #masthead {
    display: none !important;
  }

  .topbar .topbar-left { width: 40% !important; float: left !important; text-align: center !important; }
  .topbar .topbar-right { width: 60% !important; float: left !important; text-align: center !important; }
}

@media only screen and (max-width: 630px) {
  #shiftnav-toggle-main .shiftnav-main-toggle-content {
    padding: 8px 36px 8px 8px;
  }

  #shiftnav-toggle-main .shiftnav-main-toggle-content > a:first-child {
    font-size: 12px;
  }
}

/* Desktop header/nav parity with live WP */
@media only screen and (min-width: 1200px) {
  .site-menu {
    height: 58px;
  }

  #site-navigation {
    height: 58px !important;
  }

  #topbar .container {
    max-width: 1550px;
    border: none !important;
  }

  #primary-menu {
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    height: 58px;
    min-height: 58px;
    align-items: center;
    justify-content: center;
  }

  .nav ul.menu > li {
    height: 58px;
    padding: 0 25px;
    display: flex;
    align-items: center;
    line-height: 58px;
  }

  .nav ul.menu > li > a {
    height: 58px;
    display: flex !important;
    align-items: center;
    line-height: 58px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .nav ul.menu > li.menu-item-has-children > a:before {
    right: -22px;
  }

  .nav .menu li.extra-menu-item.menu-item-button-link {
    display: none;
  }
}

/* ============================================================
   SERVICES / MOVING TIPS DROPDOWN — full pixel-match to WP
   Replaces the unreliable scaleX(0→1) mechanism from cargohub
   ============================================================ */

/* --- Hide initially (override scaleX approach) --- */
.nav ul.sub-menu,
.nav ul ul {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  width: 270px !important;
  min-width: 270px !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: 99999 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.18);
}

/* --- Ensure parent li is the positioning context --- */
.nav ul.menu > li.menu-item-has-children {
  position: relative !important;
}

/* --- Show on parent hover --- */
.nav li.menu-item-has-children:hover > ul.sub-menu,
.nav li.menu-item-has-children:hover > ul {
  display: block !important;
}

/* --- Bridge the hover gap: transparent pseudo-element covers any space
       between the bottom of the <li> and top of the dropdown --- */
.nav ul.menu > li.menu-item-has-children::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  bottom: -6px !important;
  left: 0 !important;
  width: 100% !important;
  height: 6px !important;
  background: transparent !important;
}

/* --- Dropdown item container --- */
.nav ul.sub-menu > li,
.nav ul ul > li {
  display: block !important;
  background-color: #1d65a6 !important;
  border-bottom: 1px solid rgba(255,255,255,0.35) !important;
  padding: 0 !important;
  position: relative !important;
  transition: background-color 0.25s ease !important;
}

.nav ul.sub-menu > li:last-child,
.nav ul ul > li:last-child {
  border-bottom: none !important;
}

/* --- Dropdown item link --- */
.nav ul.sub-menu > li > a,
.nav ul ul > li > a {
  display: block !important;
  padding: 12px 30px !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  font-family: Montserrat, Arial, sans-serif !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  text-decoration: none !important;
  background: transparent !important;
}

/* --- Dropdown item hover --- */
.nav ul.sub-menu > li:hover,
.nav ul ul > li:hover {
  background-color: #53c0f0 !important;
}

.nav ul.sub-menu > li:hover > a,
.nav ul ul > li:hover > a {
  color: #000 !important;
}

/* --- Dropdown arrow: use cargohub ::before FA angle-down with FA6 font --- */
.nav ul.menu > li.menu-item-has-children > a::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  right: -22px !important;
  display: inline-block !important;
  color: rgba(255,255,255,0.8) !important;
}

.nav ul.menu > li.menu-item-has-children:hover > a::before {
  color: rgba(0,0,0,0.7) !important;
}

/* ============================================================
   TESTIMONIALS PAGE — full pixel-match to WP
   (these rules are not present in any local CSS file)
   ============================================================ */
.testimonials-wrap {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  padding-top: 30px; /* headroom for comma-icon poking out at top:-23px */
}

.testimonials-col {
  position: relative;
  background-color: #f7f7f7;
  margin-bottom: 20px !important;
  padding: 50px 10px 55px;
  text-align: center;
}

/* Comma icon — absolutely positioned, pokes 23px above card top */
.testimonials-wrap .comma-icon {
  position: absolute;
  top: -23px;
  left: 12%;
  transform: translateX(-50%);
}

/* Stars row */
.stars-icon {
  text-align: center;
  padding-top: 10px;
}

/* Testimonial text */
.testimonials-col .short-text,
.testimonials-col .full-text {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 18px;
  text-align: center !important;
  color: #000;
  padding-top: 20px;
  padding-bottom: 10px;
}

.testimonials-col .short-text p,
.testimonials-col .full-text p {
  margin: 0;
}

/* Read More button */
.read-more-btn {
  background: none;
  color: #0073aa;
  border: none;
  cursor: pointer;
  padding: 0;
  font-weight: 600;
  font-size: 14px;
  font-family: Montserrat, Arial, sans-serif;
  margin-top: 6px;
  display: inline-block;
  text-align: center;
  width: 100%;
}

/* Reviewer name — sits at bottom of card */
.testimonials-col > span {
  font-size: 18px;
  display: block;
  font-weight: 600;
  text-align: center;
  position: absolute;
  bottom: 15px;
  left: 0;
  right: 0;
  width: 100%;
  padding-left: 10px;
  padding-right: 10px;
}

/* Responsive breakpoints matching WP exactly */
@media only screen and (max-width: 1080px) {
  .testimonials-wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 991px) {
  .testimonials-col .short-text,
  .testimonials-col .full-text {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .testimonials-col {
    padding-bottom: 41px;
  }
  .stars-icon {
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 630px) {
  .testimonials-wrap {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

/* Remove background-position from .header-title (overrides cargohub.min.css) */
.header-title,
.page-header .header-title {
  background-position: unset !important;
}

@media only screen and (max-width: 1024px) {
  .header-title {
    background-position: unset !important;
  }
}

