html {
  scroll-behavior: smooth;
}


html {
     --size: 14px!important;
     position: inherit;
}

.site{
  max-width: 1700px;
  margin: auto;
  overflow: hidden;
  box-shadow: 0em 0em 2em #e0e5ff;
}

.show-for-small-only{
  display: none!important;
}

a {
    -webkit-transition: color .4s ease 0s;
    -moz-transition: color .4s ease 0s;
    -o-transition: color .4s ease 0s;
    transition: color .4s ease 0s;
}

.hide{
  display: none;
}


.modal-dialog {
    max-width: 660px;
    margin: 12.75rem auto!important;
    z-index: 99999;
}

.modal-backdrop{
  z-index: 1!important;
}

.schema a{
  text-decoration: none;
}

body .btn-primary, body .btn-secondary{
  border: 0;
  text-transform: uppercase;
  padding: 0.72em 1.6em;
  margin: 1em 0 0 0;
  letter-spacing: .09em;
  margin: auto;
  display: block;
  position: relative;
  color: black;
  font-weight: 700;
  border-radius: 0em;
}

.btn-primary.content-btn{
  max-width: 500px;
  margin-left: 0;
}


body .btn-secondary{  
  font-weight: 900;
}

body .btn-secondary:hover{ 
}

.post-thumbnail img{
  position: relative;
  padding: 0!important;
  margin: auto;
  display: block;
}

.post-thumbnail{
    overflow: hidden;
    margin-top: 1em;
}


body .button:focus, body .button:hover { 
    color: #fefefe;
}


.single-blog img{
  padding: 5%;
}

.single-blog .entry-title{
  font-size: 2em;
  color: black;
}

.single-blog .entry-meta{
  position: relative;
  padding: 2%;
  background: #f4f4f4;
  border-left: .5em solid #f43b3b;
}

.single-blog .nav-links a{
  display: block;
  background: #f43b3b;
  color: white;
  transition: all .3s ease-in-out;
  padding: 2% 5%!important;
  margin-bottom: 7%;
}

.single-blog .nav-links a:hover{
  background: black!important;
}

 a[href^="tel"]{
    color:inherit;
    text-decoration:none;
    margin-bottom: 3%;
    display: block;
 }

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #ededd!important;
}
input:-moz-placeholder, textarea:-moz-placeholder {
  color: #ededd!important;
}  


@font-face {
  font-family: 'icomoon';
  src:  url('/wp-content/themes/plumberseo-bootstrap/fonts/icomoon.eot?m48maz');
  src:  url('/wp-content/themes/plumberseo-bootstrap/fonts/icomoon.eot?m48maz#iefix') format('embedded-opentype'),
    url('/wp-content/themes/plumberseo-bootstrap/fonts/icomoon.woff2?m48maz') format('woff2'),
    url('/wp-content/themes/plumberseo-bootstrap/fonts/icomoon.ttf?m48maz') format('truetype'),
    url('/wp-content/themes/plumberseo-bootstrap/fonts/icomoon.woff?m48maz') format('woff'),
    url('/wp-content/themes/plumberseo-bootstrap/fonts/icomoon.svg?m48maz#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


.icon-mastercraft-technician:before {
  content: "\e96d";
}

.icon-ticket2:before {
  content: "\eb20";
}

.icon-retro-shake:before {
  content: "\e97e";
}

.icon-mastercraft-maintenance:before {
  content: "\e96a";
}

.icon-calendar1:before {
  content: "\e955";
}

.icon-kc-phone:before {
  content: "\e9be";
}


.icon-mastercraft-protection:before {
  content: "\eb07";
}

.icon-morrow-tech:before {
  content: "\e948";
}

.icon-kc-call-row:before {
  content: "\e95f";
}

.icon-max-24-7:before {
  content: "\e9ac";
}

.icon-drivers-license:before {
  content: "\f2c2";
}

.icon-family-owned-icon:before {
  content: "\e9c0";
}

.icon-cc-money:before {
  content: "\e9a0";
}

.icon-money-document-energy:before {
  content: "\eb86";
}


.icon-goods-generatorcon:before {
  content: "\e9e1";
}

.icon-ac-install-brittingham:before {
  content: "\e93d";
}


.icon-bb-heating:before {
  content: "\eb1d";
}

.icon-ac-repair-lincoln:before {
  content: "\e928";
}

.icon-heating-ico-patriot:before {
  content: "\eb70";
}

.icon-lightning:before {
  content: "\e9f1";
}


.icon-heating-ico-patriot:before {
  content: "\eb70";
}

.icon-plumbing:before {
  content: "\73";
}


.icon-snow:before {
  content: "\eb1b";
}

.icon-clock-ni:before {
  content: "\e99e";
}


.icon-henco-finance:before {
  content: "\eade";
}

.icon-facebook-with-circle:before {
  content: "\e94d";
}

.icon-x1:before {
  content: "\e904";
}

.icon-youtube-with-circle:before {
  content: "\e94e";
}


.icon-facebook:before {
  content: "\e94a";
}

.icon-bb-truck:before {
  content: "\e9cb";
}

.icon-water-leaks-icon:before {
  content: "\e933";
}
.icon-money-icon-secop:before {
  content: "\e934";
}
.icon-building-icon:before {
  content: "\e935";
}
.icon-calendar-spotcon:before {
  content: "\e908";
}
.icon-price-tag-spotcon:before {
  content: "\e922";
}
.icon-watercondcon:before {
  content: "\e927";
}
.icon-leak-detectcon:before {
  content: "\e92e";
}
.icon-background-check-crcon:before {
  content: "\e932";
}
.icon-tankless-water-heater-cr-con:before {
  content: "\e92d";
}
.icon-water-heater-cr-con:before {
  content: "\e930";
}
.icon-wac-er-icon:before {
  content: "\e93c";
}
.icon-thumbs-up-sm:before {
  content: "\e938";
}
.icon-toolcon-sm:before {
  content: "\e939";
}
.icon-service-area-patriot-icon:before {
  content: "\e928";
}
.icon-drain-clean-patriot-icon:before {
  content: "\e92f";
}
.icon-sewer-patriot-icon:before {
  content: "\e931";
}
.icon-fast-truck-con:before {
  content: "\e92c";
}
.icon-calculator-icon:before {
  content: "\e929";
}
.icon-coin-hands-icon:before {
  content: "\e920";
}
.icon-gear-aplus-icon:before {
  content: "\e925";
}
.icon-aplus-bbb-con:before {
  content: "\e90c";
}
.icon-aplus-ontime-con:before {
  content: "\e90d";
}
.icon-aplus-fam-con:before {
  content: "\e91b";
}
.icon-ac-repair-con:before {
  content: "\e936";
}
.icon-toilet-con:before {
  content: "\e923";
}
.icon-plumbcon:before {
  content: "\e91e";
}
.icon-newtech-icon:before {
  content: "\e902";
}
.icon-ontime-icon:before {
  content: "\e904";
}
.icon-clean-masters:before {
  content: "\e900";
}
.icon-trophy-masters:before {
  content: "\e903";
}
.icon-pricetag-masters:before {
  content: "\e91f";
}
.icon-finance-masters:before {
  content: "\e921";
}
.icon-customer-education:before {
  content: "\e901";
}
.icon-home-comfort:before {
  content: "\e905";
}
.icon-live-answer:before {
  content: "\e92a";
}
.icon-mid-finance:before {
  content: "\e907";
}
.icon-mid-shield:before {
  content: "\e909";
}
.icon-mid-thumbs-up:before {
  content: "\e90b";
}
.icon-schedule-icon-spring:before {
  content: "\e906";
}
.icon-emergency-icon-spring:before {
  content: "\e926";
}
.icon-tools-icon-spring:before {
  content: "\e90a";
}
.icon-family-icon-spring:before {
  content: "\e91d";
}
.icon-live-answer-icon-spring:before {
  content: "\e919";
}
.icon-truck-icon-spring:before {
  content: "\e924";
}
.icon-calendar-icon-spring:before {
  content: "\e91a";
}
.icon-finance-icon-spring:before {
  content: "\e90e";
}
.icon-stars-icon-spring:before {
  content: "\e90f";
}
.icon-trustedtechs-icon-spring:before {
  content: "\e917";
}
.icon-pricing-icon-spring:before {
  content: "\e918";
}
.icon-leftcoast-repaircon:before {
  content: "\e91c";
}
.icon-circ-yelp-icon:before {
  content: "\e910";
}
.icon-fb-circle:before {
  content: "\e911";
}
.icon-instagram-circle:before {
  content: "\e912";
}
.icon-linkedin-cricle:before {
  content: "\e913";
}
.icon-morrow-bbb:before {
  content: "\e914";
}
.icon-new-x-circle:before {
  content: "\e915";
}
.icon-yt-circle:before {
  content: "\e916";
}
.icon-plus:before {
  content: "\f067";
}
.icon-minus:before {
  content: "\f068";
}
.icon-search:before {
  content: "\f002";
}
.icon-heart:before {
  content: "\f004";
}
.icon-star:before {
  content: "\f005";
}
.icon-star-o:before {
  content: "\f006";
}
.icon-user:before {
  content: "\f007";
}
.icon-check:before {
  content: "\f00c";
}
.icon-close:before {
  content: "\f00d";
}
.icon-remove:before {
  content: "\f00d";
}
.icon-times:before {
  content: "\f00d";
}
.icon-search-plus:before {
  content: "\f00e";
}
.icon-search-minus:before {
  content: "\f010";
}
.icon-cog:before {
  content: "\f013";
}
.icon-gear:before {
  content: "\f013";
}
.icon-home:before {
  content: "\f015";
}
.icon-clock-o:before {
  content: "\f017";
}
.icon-play-circle-o:before {
  content: "\f01d";
}
.icon-print:before {
  content: "\f02f";
}
.icon-image:before {
  content: "\f03e";
}
.icon-photo:before {
  content: "\f03e";
}
.icon-picture-o:before {
  content: "\f03e";
}
.icon-map-marker:before {
  content: "\f041";
}
.icon-chevron-left:before {
  content: "\f053";
}
.icon-chevron-right:before {
  content: "\f054";
}
.icon-check-circle:before {
  content: "\f058";
}
.icon-check-circle-o:before {
  content: "\f05d";
}
.icon-calendar:before {
  content: "\f073";
}
.icon-cogs:before {
  content: "\f085";
}
.icon-gears:before {
  content: "\f085";
}
.icon-comments:before {
  content: "\f086";
}
.icon-phone:before {
  content: "\f095";
}
.icon-facebook:before {
  content: "\f09a";
}
.icon-facebook-f:before {
  content: "\f09a";
}
.icon-wrench:before {
  content: "\f0ad";
}
.icon-group:before {
  content: "\f0c0";
}
.icon-users:before {
  content: "\f0c0";
}
.icon-bars:before {
  content: "\f0c9";
}
.icon-navicon:before {
  content: "\f0c9";
}
.icon-reorder:before {
  content: "\f0c9";
}
.icon-google-plus:before {
  content: "\f0d5";
}
.icon-money:before {
  content: "\f0d6";
}
.icon-caret-down:before {
  content: "\f0d7";
}
.icon-caret-up:before {
  content: "\f0d8";
}
.icon-caret-left:before {
  content: "\f0d9";
}
.icon-caret-right:before {
  content: "\f0da";
}
.icon-envelope:before {
  content: "\f0e0";
}
.icon-linkedin:before {
  content: "\f0e1";
}
.icon-angle-double-left:before {
  content: "\f100";
}
.icon-angle-double-right:before {
  content: "\f101";
}
.icon-angle-double-up:before {
  content: "\f102";
}
.icon-angle-double-down:before {
  content: "\f103";
}
.icon-angle-left:before {
  content: "\f104";
}
.icon-angle-right:before {
  content: "\f105";
}
.icon-angle-up:before {
  content: "\f106";
}
.icon-angle-down:before {
  content: "\f107";
}
.icon-mobile:before {
  content: "\f10b";
}
.icon-mobile-phone:before {
  content: "\f10b";
}
.icon-ticket:before {
  content: "\f145";
}
.icon-level-down:before {
  content: "\f149";
}
.icon-thumbs-up:before {
  content: "\f164";
}
.icon-youtube:before {
  content: "\f167";
}
.icon-instagram:before {
  content: "\f16d";
}
.icon-yelp:before {
  content: "\f1e9";
}
.icon-newspaper-o:before {
  content: "\f1ea";
}
.icon-calculator:before {
  content: "\f1ec";
}
.icon-calendar-check-o:before {
  content: "\f274";
}
.icon-user-circle:before {
  content: "\f2bd";
}
.icon-user-circle-o:before {
  content: "\f2be";
}


/* -------------------------------------------------------------------- */

.wrap1 {
    z-index: 2;
    position: relative;
    padding: 0 2%;
}

.row {
    max-width:100%!important;
    margin: auto;
}

.clear{
    clear:both;
}
  
ul {
    margin-left: 0em!important;
}


/* -------------------------------------------------------------------- */


:root{
  --corbins-display: Georgia, "Times New Roman", Times, serif;
  --corbins-body: 'Inter', system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* Headings */
.slider-header,
.sec-head,
.sec3-card h3,
.sec3-note-head strong,
.sec7-tile-label,
.usp-label,
.coupon-price,
.coupon-offer,
.sec6-head h2 strong,
.sec6-head h2 em,
.city-label,
.site-footer .footer-txt,
.lic-head,
.desk-nav .phone-contact strong,
.sec1-form h3,
/* Buttons + pills (Georgia in the design, same as headings) */
body .btn-rust,
body .btn-navy,
body .btn-white,
.sec4-tab,
.desk-nav .btn-primary.circ-btn,
.sliderfull .slider-btn-row .btn,
.hero-usp,
.sched-row a strong,
.sched-row button strong,
.section-6 .coupon-inner .btn,
.close-cta-logo + .close-cta-copy strong{
  font-family: var(--corbins-display) !important;
}

/* Body runs — these stay on the body face even inside display-heavy blocks */
.sec-copy,
.sec-badge,
.foot-blurb,
.site-footer .help-link,
.foot-contact,
.lic-number,
.coupon-disclaimer,
.slider-subline p,
.sec6-head h2,
.desk-nav .phone-contact em,
.sched-row .sched-copy,
.menu>li a,
.top-bar .top-text,
.quick-nav a,
.shift-item a,
.close-cta-copy,
.sec4-list li,
.usp-copy p,
.sec7-tile p,
.sec3-note p,
.sec1-phone-copy em,
.copyright,
.accept-logos{
  font-family: var(--corbins-body) !important;
}





/* Corbin's header — CSS for the header section (extract of the block in custom.css) */
 /* -------------------------------------------------------Header Section CSS---------------------------------  */

/* Brand palette used through the header:
   navy #1c4968 · rust #c14c31 · amber #f9a006 · ink #2c2c2c · paper #f3f5f7 */

header#masthead {
    margin-bottom: 0;
    background-color: #ffffff !important;
    padding: 0rem 0rem!important;
    z-index: 9999;
    width: 100%;
    transition: all .3s ease-in-out;
    top: 0em;
    /* A fixed element with max-width but no left/right anchors sits flush left on
       screens wider than 1700px. These four keep it centred with the rest of the
       site band. */
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    display: block;
    position: fixed;
    max-width: 1700px;
}

 header#masthead.smallbar{
     box-shadow: 0 0.5rem 1rem rgb(0 0 0 / 5%), inset 0 -1px 0 rgb(0 0 0 / 10%)!important;
}

/* Logged-in only: the header is fixed at top:0 and the WordPress admin bar is
   also fixed at top:0, so the bar was covering the header's first 32px. Admins
   saw a squashed header and 32px of white under the nav that no visitor sees. */
body.admin-bar header#masthead{
    top: 32px;
}

@media screen and (max-width: 782px) {
    body.admin-bar header#masthead{
        top: 46px;   /* the admin bar is taller on small screens */
    }
}


 /* ---------------------------------------------------------------------------------------- */
 /* MOBILE HEADER                                                                            */
 /* ---------------------------------------------------------------------------------------- */

.mobile-nav{
  padding: 0;
  width: 100%;
  max-width: none;
  padding: 0% 0 0% 0;
  z-index: 3;
  position: relative;
  background: white;
}

.logo-block{
  position: relative;
  z-index: 99;
  background-color: #fff;
  padding: .5em 0;
}

.desk-nav .row>* , .mobile-nav .row>* {
   padding: 0;
}

.logo-image{
  position: relative;
}

.logo-image img{
  position: relative;
  width: 12.5em;
  max-width: 100%;
  height: auto;
  display: block;
  margin: auto;
  transition: all .3s ease-in-out;
}

.logo-image a{
  position: relative;
  display: block;
  transform: scale(1);
}

.smallbar .logo-image img{
  width: 11em;
}

/* Hamburger — pill flush to the left edge */
.mobile-nav .btn-primary {
    color: #ffffff;
    border: 0;
    border-radius: 0;
    padding: 0.55em 1.2em;
    background: #1c4968;
    margin-left: 0;
    border-top-right-radius: 1em;
    border-bottom-right-radius: 1em;
    font-size: 1.3em;
    transition: all .3s ease-in-out;
}

.mobile-nav .btn-primary:hover,
.mobile-nav .btn-primary:focus{
  background: #c14c31;
  color: #ffffff;
}

.mobile-nav .btn-primary span{
  display: block;
  line-height: 1.2;
}

/* Click-to-call circle */
.mobile-nav .mob-phone{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.9em;
  height: 2.9em;
  margin: 0 .5em 0 auto !important;
  border-radius: 50%;
  background: #1c4968;
  border: 2px solid #c14c31;
  color: #ffffff;
  font-size: 1.1em;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.mobile-nav .mob-phone:hover,
.mobile-nav .mob-phone:focus{
  background: #c14c31;
  border-color: #1c4968;
  color: #ffffff;
}

.mobile-nav .mob-phone span{
  font-size: 1.05em;
  line-height: 1;
}

/* Mobile quick nav strip (ACF Global Options > Mobile Nav).
   Put the icon inside the Label field, e.g.  <span class="icon-home"></span>Home  */
/* The strip now sits in the normal flow directly under the logo block, so it no
   longer needs the per-breakpoint "top" offsets the theme used to fix it in place.
   The .site prefix below cancels those later rules — keep it if you re-add them. */
.quick-nav{
  position: relative;
  top: auto;
  width: 100%;
  background-color: #1c4968;
  padding: .55em 0 .5em 0;
  opacity: 1;
  transition: all .3s ease-in-out;
  overflow: hidden;
}

.quick-nav.adjust{
  padding: .55em 0 .5em 0;
  opacity: 1;
  top: auto;
}

.site .quick-nav,
.site .quick-nav.adjust{
  top: auto;
}

.quick-nav .col-3 {
    flex: 0 0 auto;
    padding: 0;
}

.quick-nav a{
  color: #ffffff;
  text-align: center;
  display: block;
  text-decoration: none;
  padding: .5em .3em;
  font-size: 0.78em;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .02em;
  transition: all .3s ease-in-out;
  border-left: 1px solid rgba(255,255,255,.14);
}

.quick-nav .col-3:first-child a{
  border-left: 0;
}

.quick-nav a:hover{
  color: #ffffff;
  background-color: #c14c31;
}

.quick-nav a span{
  font-size: 1.5em;
  display: block;
  position: relative;
  margin-bottom: .25em;
  transition: all .3s ease-in-out;
  color: #ffffff;
  line-height: 1;
}

/* Off-canvas menu (ACF Global Options > Shift Nav) */
.offcanvas-end{
  z-index: 9999;
  width: 25em;
}

.shift-menu{
  background: #1c4968;
  padding: 4.5em 0 0 0;
}

.shift-item{
  position: relative;
}

.shift-item a{
  display: block;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: .95em;
  padding: .85em 0em .85em 1em;
  background: #ff000000;
  color: white;
  margin: 0em 0;
  border-bottom: 1px solid #ffffff1a;
  border-left: 0em solid #c14c31;
  transition: all .3s ease-in-out;
}

.shift-item .btn-secondary{
  display: none;
  position: absolute;
  right: 0em;
  top: 0.3em;
  background: #ff000000;
  border: 0;
  color: #ffffff;
  font-size: 1.3em;
  padding: 0.2em 0.7em;
}

.shift-item a:hover{
  color: #ffffff;
  background-color: #c14c31;
  border-left: 0.5em solid #f9a006;
}

.dropdown.shift-item .btn-secondary{
  display: block;
}

.shift-item a.sub-item{
  background: #0000002e;
  text-transform: none;
  letter-spacing: .02em;
  padding-left: 2em;
}

.shift-item a.sub-item:hover{
    background-color: #c14c31;
}


 /* ---------------------------------------------------------------------------------------- */
 /* DESKTOP HEADER                                                                           */
 /* ---------------------------------------------------------------------------------------- */

.desk-nav{
  display: none;
  width: 100%;
  max-width: none;
  padding: 0;
}

/* --- Top bar (navy) --- */

.top-bar{
  position: relative;
  width: 100%;
  margin: auto;
  padding: .3em 2%;
  background: #1c4968;
  color: #ffffff;
  letter-spacing: .02em;
  text-align: left;
  transition: all .3s ease-in-out;
}

.top-bar .top-text{
  font-size: .93em;
  line-height: 1.4;
  color: #ffffff;
  text-transform: none;
}

.top-bar .top-text span[class^="icon-"]{
  color: #f9a006;
  margin-right: .4em;
}

.top-bar .top-text strong{
  font-weight: 700;
}

.top-bar #menu-top-menu,
.top-bar .top-menu .menu{
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: end;
  -ms-flex-pack: end;
  justify-content: end;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.top-bar .menu>li a{
  font-size: 0.8em;
  padding: 0.25em 0.7em;
  color: #ffffff!important;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700;
}

.top-bar .menu>li a:hover{
  background-color: #ff000000!important;
  color: #f9a006!important;
}

.top-bar .menu>li a span{
  color: #f9a006;
  margin-right: .25em;
}

.top-bar .menu>li a:hover span{
  color: #ffffff;
}

.top-bar .menu>li a svg{
  width: 1.4em;
}

.top-bar .menu>li a svg path{
  fill: #f9a006;
}

.top-bar .menu>li.menu-item-has-children> a:before{
  display: none;
}

.smallbar .top-bar{
  padding-top: .3em;
  padding-bottom: .3em;
}

/* --- Main bar (logo · phone · schedule) --- */

.main-bar{
  padding: .25em 2%;
}

.head-contact-row {
    --bs-gutter-x: 1.4rem;
    gap: 1.5em;
}

.desk-nav .phone-contact{
  display: flex;
  align-items: center;
  gap: .5em;
  text-decoration: none;
  color: #1c4968;
  transition: all .3s ease-in-out;
  margin-bottom: 0!important;
}

.desk-nav .phone-contact > span[class^="icon-"]{
  font-size: 2.9em;
  line-height: 1;
  color: #1c4968;
  transition: all .3s ease-in-out;
}

.desk-nav .phone-contact .phone-copy{
  display: block;
}

.desk-nav .phone-contact em{
  display: block;
  font-style: normal;
  font-size: .82em;
  font-weight: 700;
  line-height: 1.2;
  color: #1c4968;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.desk-nav .phone-contact strong{
  display: block;
  font-size: 2em;
  font-weight: 700;
  line-height: 1.05;
  color: #1c4968;
  letter-spacing: -0.01em;
}

.desk-nav .phone-contact:hover > span[class^="icon-"],
.desk-nav .phone-contact:hover em,
.desk-nav .phone-contact:hover strong{
  color: #c14c31;
}

.desk-nav .btn-primary.circ-btn{
  display: inline-flex;
  align-items: center;
  gap: .5em;
  width: auto;
  margin: 0;
  padding: .95em 1.5em;
  background: #1c4968;
  border: 1px solid #1c4968;
  border-radius: 12px;
  color: #ffffff;
  font-size: .95em;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: all .3s ease-in-out;
}

.desk-nav .btn-primary.circ-btn:hover,
.desk-nav .btn-primary.circ-btn:focus{
  background: #c14c31;
  border-color: #c14c31;
  color: #ffffff;
}

.desk-nav .btn-primary.circ-btn span{
  font-size: 1.15em;
  line-height: 1;
}

/* --- Main navigation (paper strip) --- */

.rnavigation-full{
  background: #f3f5f7;
  border-top: 1px solid rgba(28,73,104,.10);
  border-bottom: 1px solid rgba(28,73,104,.10);
}

.main-nav{
  position: relative;
  padding: 0;
  max-width: 1500px;
  margin: auto;
}

.menu{
  position: relative;
  list-style: none;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  list-style-type: none;
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  padding: 0;
}

#menu-top-nav{
  -webkit-justify-content: end;
  -ms-flex-pack: end;
  justify-content: end;
}

.menu>li a{
  padding: .85em 1.2em;
  text-decoration: none;
  color: #2c2c2c!important;
  font-size: 0.95em;
  display: block;
  transition: all .3s ease-in-out;
  position: relative;
  font-weight: 400;
  text-transform: none;
  text-align: center;
  letter-spacing: .01em;
  border-bottom: 2px solid #ff000000;
}

.menu>li a span{
  color: #c14c31;
}

.menu>li a:hover{
  background-color: #ff000000!important;
  color: #1c4968!important;
  border-bottom-color: #f9a006;
}

.menu>li a:hover span{
  color: #1c4968;
}

/* Caret on parent items */
 .menu>li.menu-item-has-children> a{
   padding-right: 1.9em;
 }

 .menu>li.menu-item-has-children> a:before {
    content: "\f107";
    font-family: 'icomoon' !important;
    color: #2c2c2c;
    display: block;
    position: absolute;
    font-size: 0.8em;
    top: 50%;
    right: .7em;
    transform: translateY(-50%);
    transition: all .3s ease-in-out;
}

 .menu>li.menu-item-has-children> a:hover:before {
    color: #1c4968;
}

/* Current page */
.main-nav .menu .current-menu-item>a,
.main-nav .menu .current_page_item>a,
.main-nav .menu .current-menu-ancestor>a,
.main-nav .menu .active>a{
  color: #1c4968!important;
  border-bottom-color: #f9a006;
  font-weight: 700;
}

/* Scheduling link (add the "sched-link" class to a menu item) */
.menu>li.sched-link a{
  color: white!important;
  background: #c14c31;
  border-radius: 12px;
  border-bottom: 0;
  margin-left: .5em;
  padding: .8em 1.3em;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .06em;
}

.menu>li.sched-link a:hover{
  background: #1c4968!important;
  color: #ffffff!important;
}

.smallbar .menu>li a{
  font-size: 0.86em;
}

/* --- Dropdowns --- */

.menu-item-has-children{
  position: relative;
  transition: all .3s ease-in-out;
}

.main-nav .menu-item-has-children > .sub-menu{
    top: 100%;
    right: auto;
    left: 0;
}

/* Only opacity animates. `transition: all` also tried to tween display, height
   and left on the very rule that flips display:none -> block and height:0 -> auto.
   The browser can't animate those, so the reveal stuttered and fought the fadeIn
   animation — and it made the JS edge-clamp slide sideways on every hover. */
.main-nav .menu-item-has-children .sub-menu,
.main-nav .double-column.menu-item-has-children .sub-menu,
.main-nav .double-column-l.menu-item-has-children .sub-menu,
.main-nav .double-column .fly-out.menu-item-has-children .sub-menu{
  transition: opacity .18s ease-in-out;
}

/* Never wider than the screen, whatever the item's own width says. */
.main-nav .menu-item-has-children .sub-menu{
  max-width: calc(100vw - 24px);
  box-sizing: border-box;
}

.main-nav .menu-item-has-children .sub-menu{
  opacity: 0;
  position: absolute;
  background: #1c4968;
  list-style: none;
  margin-left: 0.0rem;
  width: 18em;
  height: 0;
  display: none;
  border-radius: 0 0 12px 12px;
  overflow: hidden;
  box-shadow: 0 .6em 1.2em rgba(0,0,0,.15);
  z-index: 99;
}

.main-nav .menu-item-has-children:hover .sub-menu{
  opacity: 1;
  height: auto;
  top: 100%;
  left: 0;
  display: block;
  animation: fadeIn .2s;
  font-size: .95em;
  text-align: left;
  padding-left: 0;
}

.main-nav .last-column.menu-item-has-children:hover .sub-menu {
    opacity: 1;
    height: auto;
    top: 100%;
    right: 0%;
    left: auto!important;
    display: block;
    animation: fadeIn .2s;
    font-size: .95em;
    text-align: left;
}

.main-nav .slim.menu-item-has-children .sub-menu{
  background: #1c4968;
  width: 165%;
  text-align: left;
  padding-left: 0%;
}

.main-nav .slim.menu-item-has-children:hover .sub-menu {
    left: 0%;
}

.main-nav .menu-item-has-children .sub-menu>li{
  padding: 0%;
}

.menu>li .sub-menu  a{
  text-transform: none;
  letter-spacing: inherit;
  padding: 0.6em 1em;
  text-align: left;
  border-bottom: 0;
}

.main-nav .sub-menu li a{
  color: #ffffff!important;
}

.main-nav .sub-menu a{
  padding: .7em 1.1em;
  display: block;
  color: #ffffff;
  font-size: .95em;
  transition: all .3s ease-in-out;
  border-bottom: 1px solid #ffffff1f;
}

.main-nav .sub-menu a:hover{
    color: #ffffff!important;
    background: #c14c31;
    padding: .7em 1.1em .7em 1.5em;
}

.main-nav .sub-menu li:last-child a{
  border-bottom: 0;
}

/* 2 column sub menu — add the "double-column" class to the menu item */

.main-nav .double-column.menu-item-has-children .sub-menu{
  opacity: 0;
  /* transition comes from the shared `transition: opacity` rule above */
  position: absolute;
  background: #1c4968;
  list-style: none;
  margin-left: 0.0rem;
  width: 36em;
  height: 0;
  display: none;
  text-align: left;
  border-radius: 0 0 12px 12px;
  overflow: hidden;
  z-index: 99;
}

.main-nav .double-column.menu-item-has-children:hover .sub-menu{
  opacity: 1;
  height: auto;
  top: 100%;
  left: 0%;
  display: grid;                     /* was block, with floated children */
  grid-template-columns: 1fr 1fr;
  animation: fadeIn .2s;
}

/* Columns are a 2-track grid now, not floats.
   THIS IS THE BLANK-SPACE FIX. With `float: left; width: 50%` each row was as
   tall as its tallest cell, but the shorter cell kept its natural height — so
   whenever an item on one side wrapped to two lines, a visible gap opened under
   its neighbour on the other side. Grid stretches both cells of a row to match. */
.main-nav .double-column.menu-item-has-children .sub-menu>li{
  width: auto;
  float: none;
  padding: 0%;
}

.main-nav .double-column.menu-item-has-children .sub-menu>li.full-sub{
  width: auto;
  float: none;
  grid-column: 1 / -1;               /* spans both columns */
  padding: 0%;
}

.double-column .sub-menu .full-sub a {
    padding: 0.3em 0.6em 0.7em 0.6em;
    border-right: 1px solid #ffffff1f;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-align: center;
}

.double-column .sub-menu .full-sub a span{
   font-size: 1.8em;
   position: relative;
   top: 0.2em;
}

.last-cool{
  float: right!important;
}

.double-column .sub-menu a{
  padding: 0.9em 0.6em 0.9em 0.7em;
  border-right: 0;
}

/* The link has to fill its grid cell, or the rust hover background stops short
   of the row whenever the cell was stretched to match its neighbour. */
.main-nav .double-column .sub-menu>li>a,
.main-nav .double-column-l .sub-menu>li>a{
  display: flex;
  align-items: center;
  height: 100%;
}

/* The divider belongs to the left column only. Under floats every cell carried a
   right border, which drew a stray hairline down the dropdown's outer edge. */
.main-nav .double-column .sub-menu>li:nth-child(odd)>a,
.main-nav .double-column-l .sub-menu>li:nth-child(odd)>a{
  border-right: 1px solid #ffffff1f;
}

.main-nav .double-column .sub-menu>li.full-sub>a,
.main-nav .double-column-l .sub-menu>li.full-sub>a{
  border-right: 0;
}

.main-nav .double-column-l.menu-item-has-children .sub-menu{
  opacity: 0;
  /* transition comes from the shared `transition: opacity` rule above */
  position: absolute;
  background: #1c4968;
  list-style: none;
  margin-left: 0.0rem;
  width: 410%;
  height: 0;
  display: none;
  text-align: left;
  border-radius: 0 0 12px 12px;
  z-index: 99;
}

.main-nav .double-column-l.menu-item-has-children:hover .sub-menu{
  opacity: 1;
  height: auto;
  top: 100%;
  right: 0%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  left: auto;
  animation: fadeIn .2s;
}

.main-nav .double-column-l.menu-item-has-children .sub-menu>li{
  width: auto;
  float: none;
  padding: 0%;
}

.main-nav .double-column-l.menu-item-has-children .sub-menu>li.full-sub{
  width: auto;
  float: none;
  grid-column: 1 / -1;
  padding: 0%;
}

/* Fly out menu */

.main-nav .double-column .fly-out.menu-item-has-children .sub-menu{
  opacity: 0;
  /* transition comes from the shared `transition: opacity` rule above */
  position: absolute;
  background: #153a53;
  list-style: none;
  margin-left: 0.0rem;
  width: 18.8em;
  height: 0;
  display: none;
  text-align: left;
  z-index: 99;
}

.main-nav .double-column.menu-item-has-children .sub-menu>li.fly-out:hover{
  background-color: #c14c31;
}

.main-nav .double-column.menu-item-has-children .sub-menu>li.fly-out:hover .sub-menu{
   opacity: 1;
   position: absolute;
   background: #153a53;
   height: auto;
   top: 0%;
   right: -18.8em;
   display: block;
   animation: fadeInUp .2s;
   left: auto;
}

.main-nav .double-column .fly-out.menu-item-has-children .sub-menu>li {
    width: 100%;
    float: left;
    padding: 0%;
}




.main-nav .menu .sub-menu .current-menu-item > a,
.main-nav .menu .sub-menu .current_page_item > a,
.main-nav .menu .sub-menu .current-menu-ancestor > a,
.main-nav .menu .sub-menu .active > a {
  color: #ffb327 !important;
  box-shadow: inset 3px 0 0 #f9a006;
}

.main-nav .menu .sub-menu .current-menu-item > a:hover,
.main-nav .menu .sub-menu .current_page_item > a:hover,
.main-nav .menu .sub-menu .current-menu-ancestor > a:hover,
.main-nav .menu .sub-menu .active > a:hover {
  color: #ffffff !important;
}



 /* ---------------------- */

/* Pop up form modal  */

 .modal {
    z-index: 999999999999999999999999999999;
}

.modal-header {
    padding: 0;
    border: 0;
}

.section-protecte .modal-header h5{
  color: white!important;
}

.section-protecte .with_frm_style .frm_primary_label, .section-protecte .with_frm_style .frm_checkbox label{
  color: white;
}

.frm_style_formidable-style.with_frm_style .frm_submit button{
  width: 100%!important;
  display: block;
  background-color: #f9a006;
  color: #1c4968;
}

.pop-label{
  text-align: center;
  text-transform: uppercase;
  font-weight: 900;
  font-size: 1.6em;
  letter-spacing: .05em;
}

.modal-content {
    background-color: #1c4968;
    border-radius: 12px;
    box-shadow: 0em 0em 1em #0000004f;
}

.modal-content iframe{
  height: 46em!important;
}

.modal-header .btn-close{
  position: relative;
  left: -.9em;
}

.modal-title {
    display: block;
    text-align: center!important;
    width: 100%;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: 1.3em;
    padding-top: 1em;
    margin-bottom: -0.5em;
}


/* ---------------------------------------------------------------------------------------- */
/* Fixed-header offset — keeps the home slider / inner banner clear of the fixed header.
   The theme also sets these per breakpoint further down the file (percentages); the
   selectors below are scoped to .site so they win on desktop widths only.

   NOTE: nav-fix.js now measures the header and sets this margin inline, which is
   exact at every width, zoom level and logo size — it was these values being a
   few px generous that left the white strip under the nav. The ladder below stays
   as the no-JS fallback, so leave it in place; you no longer need to nudge it.  */

@media screen and (max-width: 25em) {
  .site .sliderfull{ margin-top: 8.4em; }
  .site .insideimage{ margin-top: 9em; }
}

@media screen and (min-width: 25.001em) and (max-width: 35em) {
  .site .sliderfull{ margin-top: 9.2em; }
  .site .insideimage{ margin-top: 9.8em; }
}

@media screen and (min-width: 35.001em) and (max-width: 39.938em) {
  .site .sliderfull{ margin-top: 11.3em; }
  .site .insideimage{ margin-top: 11.9em; }
}

@media screen and (min-width: 39.939em) and (max-width: 59.999em) {
  .site .sliderfull{ margin-top: 11.6em; }
  .site .insideimage{ margin-top: 12.2em; }
}

@media screen and (min-width: 60em) and (max-width: 75em) {
  .site .sliderfull{ margin-top: 10.6em; }
  .site .insideimage{ margin-top: 11.2em; }
}

@media screen and (min-width: 75.001em) {
  .site .sliderfull{ margin-top: 11.9em; }
  .site .insideimage{ margin-top: 12.5em; }
}


/* ---------------------------------------------------------------------------------------- */
/* LEGACY header rules — not used by the current header.php markup.
   Left in place untouched in case another template still references them.  */

.contact-info {
    font-size: 1.7em;
    font-weight: 900;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    line-height: 1;
    letter-spacing: .04em;
    text-align: -webkit-center;
    margin-top: 0%;
    padding-right: 1%;
}

.contact-info strong{
  position: relative;
  font-size: 0.9em;
  font-weight: 400;
  color: #0a05e4;
  letter-spacing: .04em;
  top: .1em;
  display: block;
}

.contact-info span{
  position: relative;
  top: 0.1em;
}

.contact-info a:hover{
  color: #137bbe;
}

.contact-info a{
    font-size: 1.4em;
    display: block;
    background-color: #163776;
    width: 1.9em;
    border-radius: 23em;
    height: 1.9em;
    line-height: 2;
    color: #ffffff;
    margin: auto;
    transition: all .3s ease-in-out;
    text-align: center;
    text-decoration: none;
    outline: .1em solid #65ee61;
    outline-offset: -0.2em;
}

.nav-accent{
  position: relative;
  padding: 1em 0;
}

.nav-accent:before, .nav-accent:after{
  content:'';
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #1f2c5f;
  z-index: -1;
  clip-path: polygon(2.5% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.nav-accent:after{
  background: #044ba1;
  z-index: -2;
  right: 0;
  clip-path: polygon(3% 0%, 100% 0%, 100% 100%, 0% 100%);
  width: 101.2%;
}

.contact-info-desk a{
  color: white;
  text-align: center;
  font-weight: 900;
  font-size: 2em;
  line-height: 1.1;
  margin-bottom: 0;
}

.contact-info-desk a em{
  display: block;
  font-style: normal;
  font-size: .45em;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.contact-info-desk a span{
  color: #c14c31;
}

.nav-accent .btn{
  transform: skew(-10deg);
}

.search-bar input{
  background-color: #ffffff00;
  border: 0;
  color: white;
  border-bottom: 1px solid white;
}

.top-bar input::-webkit-input-placeholder,.top-bar textarea::-webkit-input-placeholder {
  color: #fff!important;
}
.top-bar input:-moz-placeholder,.top-bar textarea:-moz-placeholder {
  color: #fff!important;
}

.top-bar .btn-primary{
  display: block;
  letter-spacing: .08em;
  font-size: .9em;
  color: black;
  border: 0;
  border-radius: 0;
}

 .smallbar .desk-nav .btn-primary{
   font-size: 0.9em;
 }

.desk-nav .top-bar .btn-primary{
  color: white;
  font-size: .8em;
  width: 100%;
  margin-left: auto;
  transition: all .3s ease-in-out;
  padding-left: 2em;
}

.mainnav{
  text-align: right;
  padding: 0.7% 0;
  position: relative;
}

.nav-border{
  padding-left: 0em!important;
  padding-right: 0em!important;
}

.mainnav .menu {
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.mainnav .menu .active>a {
    color: #ffffff;
    background: #f78d1f;
}

.mainnav .menu .active>a:before{
  color: black!important;
}

.mainnav .menu .current-menu-item.active>a {
    color: #ffffff;
    background: #faa61a;
}

.mainnav .menu .sub-menu .current-menu-item.active>a {
    color: #fefefe!important;
    background: #f78d1f!important;
}

.mainnav .menu>li>a {
    display: block;
    padding: 0.7rem 0.6rem;
    line-height: 1;
    font-weight: 400;
    font-size: 0.78em;
    color: black;
    letter-spacing: .02em;
}

.mainnav .menu>li>a:hover{
    color: #ffffff;
    background: #f78d1f;
}

.mainnav .menu>li>a:hover:before{
  color: white;
}

.mainnav .menu>li.menu-item-has-children >a:before {
    content: "\f107";
    font-family: 'icomoon' !important;
    color: #ffffff;
    display: block;
    position: absolute;
    font-size: 0.8em;
    top: 37%;
    right: 0.5%;
}

.top-bar .menu>li:nth-child(3) a{
  border: 0;
}



.main-nav .menu > li:nth-last-child(1) > .sub-menu,
.main-nav .menu > li:nth-last-child(1):hover > .sub-menu{
  left: auto !important;
  right: 0;
}

/* Under 1500px — the last two */
@media screen and (max-width: 93.75em) {
  .main-nav .menu > li:nth-last-child(-n+2) > .sub-menu,
  .main-nav .menu > li:nth-last-child(-n+2):hover > .sub-menu{
    left: auto !important;
    right: 0;
  }
}

/* Under 1250px — the last three */
@media screen and (max-width: 78.125em) {
  .main-nav .menu > li:nth-last-child(-n+3) > .sub-menu,
  .main-nav .menu > li:nth-last-child(-n+3):hover > .sub-menu{
    left: auto !important;
    right: 0;
  }
}



@media screen and (max-width: 25em) {
  .site .sliderfull{ margin-top: 8.3em; }
  .site .insideimage{ margin-top: 8.9em; }
}

@media screen and (min-width: 25.001em) and (max-width: 35em) {
  .site .sliderfull{ margin-top: 8.85em; }
  .site .insideimage{ margin-top: 9.45em; }
}

@media screen and (min-width: 35.001em) and (max-width: 39.938em) {
  .site .sliderfull{ margin-top: 10.6em; }
  .site .insideimage{ margin-top: 11.2em; }
}

@media screen and (min-width: 39.939em) and (max-width: 59.999em) {
  .site .sliderfull{ margin-top: 11.2em; }
  .site .insideimage{ margin-top: 11.8em; }
}

/* 960–991px: the top bar stacks below Bootstrap's lg breakpoint, so the header
   is ~55px taller here. This band is new — without it the hero was clipped. */
@media screen and (min-width: 60em) and (max-width: 61.999em) {
  .site .sliderfull{ margin-top: 13.95em; }
  .site .insideimage{ margin-top: 14.55em; }
}

@media screen and (min-width: 62em) and (max-width: 75.25em) {
  .site .sliderfull{ margin-top: 10.5em; }
  .site .insideimage{ margin-top: 11.1em; }
}

@media screen and (min-width: 75.251em) {
  .site .sliderfull{ margin-top: 11.5em; }
  .site .insideimage{ margin-top: 12.1em; }
}






.main-nav .double-column.menu-item-has-children .sub-menu:has(> li.fly-out:hover){
  overflow: visible;
}

/* Re-round the corner that the released clip gives up — only when the fly-out
   row is the last cell of the right column, which is where it would show. */
.main-nav .double-column .sub-menu>li.fly-out:last-child:nth-child(even):hover{
  border-bottom-right-radius: 12px;
}



   --------------------------------------------------------------------------- */
.main-nav .double-column.menu-item-has-children .sub-menu>li.fly-out:nth-child(even):hover .sub-menu,
.main-nav .double-column.menu-item-has-children .sub-menu>li.fly-out.fly-out-l:hover .sub-menu{
  right: auto;
  left: -18.8em;
}


.main-nav .double-column.menu-item-has-children .sub-menu>li.fly-out.fly-out-r:hover .sub-menu{
  left: auto;
  right: -18.8em;
}



.main-nav .double-column .fly-out.menu-item-has-children .sub-menu{
  overflow: hidden;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 .4em 1.2em rgba(0,0,0,.45);
}



.main-nav .double-column .fly-out>.sub-menu>li:nth-child(odd)>a{
  border-right: 0;
}



.main-nav .double-column .sub-menu>li.fly-out>a::after{
  content: "\203A";           /* › — opens right */
  margin-left: auto;
  padding-left: .6em;
  font-size: 1.4em;
  line-height: 0;
  opacity: .8;
}

.main-nav .double-column .sub-menu>li.fly-out:nth-child(even)>a::after,
.main-nav .double-column .sub-menu>li.fly-out.fly-out-l>a::after{
  content: "\2039";           /* ‹ — opens left */
}


/* END LEGACY */


/* ------------------------------------------------------------------------------------- */


/* ------------------------------------------------------------------------------------- */

#site-wrap {
    max-width: 1700px;
    margin: auto;
    box-shadow: 0px 0px 2em rgba(181,193,199,.46);
}

 /* Corbin's hero slider — CSS extract of the block in custom.css */
 /* Slider Section CSS  */

/* ==========================================================================
   HERO SLIDER  (ACF Slider Builder > Multi Slider)

   Markup it styles (from homepage-temp.php):
     #carouselExampleIndicators3 > .carousel-inner > .carousel-item.active
       > .row.slide-1.static-slide
           > .col-lg-12
               > .slider-header   (Header select = "Slider Header Class")
               > .slider-subline  (Content field — USP pills + CTA buttons)

   Background images are set per slide by the Class field: "slide-1 static-slide".
   ========================================================================== */
/* Corbin's hero slider — CSS extract of the block in custom.css */
 /* Slider Section CSS  */

/* ==========================================================================
   HERO SLIDER  (ACF Slider Builder > Multi Slider)

   Markup it styles (from homepage-temp.php):
     #carouselExampleIndicators3 > .carousel-inner > .carousel-item.active
       > .row.slide-1.static-slide
           > .col-lg-12
               > .slider-header   (Header select = "Slider Header Class")
               > .slider-subline  (Content field — USP pills + CTA buttons)

   Background images are set per slide by the Class field: "slide-1 static-slide".
   ========================================================================== */

.sliderfull {
    position: relative;
    z-index: 1;
    /* Fallback offset for the fixed header. The real per-breakpoint values are
       the .site .sliderfull rules at the end of the header section. */
    margin-top: 9%;
}

.sliderfull .carousel,
.sliderfull .carousel-inner,
.sliderfull .carousel-item{
  min-height: 600px;
}

.sliderfull .carousel-item{
  transition: -webkit-transform .6s ease-in-out;
  transition: transform .6s ease-in-out;
}

/* ---- Slide shell (shared by every slide) ---- */

.static-slide{
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-height: 600px;
  margin-top: 0;
  padding: 3.5em 4%;
  overflow: hidden;
  color: #ffffff;
  text-align: left;
  background-color: #1c4968;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* Image layer — inherits background-image from the .slide-N class so the slow
   zoom can run without scaling the copy with it. */
.static-slide:before{
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: inherit;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.carousel-item.active .static-slide:before{
  animation: heroZoom 9s linear both;
}

/* Navy scrim, same value as the design system's --hero-scrim */
.static-slide:after{
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: rgba(28,73,104,.64);
}

/* Keep the copy above both overlay layers */
.static-slide > [class*="col-"]{
  position: relative;
  z-index: 2;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

@keyframes heroZoom{
  from { -webkit-transform: scale(1);    transform: scale(1); }
  to   { -webkit-transform: scale(1.06); transform: scale(1.06); }
}

/* ---- Per-slide background images ---- */

.slide-1{
  background-image: url(/wp-content/uploads/2026/09/HVAC-Plumbing-Services-in-Guntersville.jpg);
}

.slide-2{
  background-image: url(/wp-content/uploads/2026/09/P1460387-scaled-e1770457120703.jpg);
}

/* ---- Headline ---- */

.slider-header{
  position: relative;
  max-width: 900px;
  margin-bottom: .5em;
  font-size: clamp(30px, 4.2vw, 56px);
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: 0;
  text-transform: none;
  color: #ffffff;
  text-shadow: 0 .06em .5em rgba(0,0,0,.45);
  opacity: 0;
  animation: fadeInLeft 3s;
  animation-delay: .6s;
  animation-timing-function: ease;
  animation-fill-mode: both;
}

/* Wrap a word in <span> in the Title field to pick it out in amber */
.slider-header span{
  display: inline;
  color: #f9a006;
}

@keyframes fadeInLeft {
  20% {
    opacity: 0;
    transform: translateX(-20%);
  }

  30%, 100% {
    opacity: 1;
    transform: translateX(0%);
  }
}

/* ---- Sub-line (the Content field) ---- */

.slider-subline{
  position: relative;
  max-width: 900px;
  opacity: 0;
  animation: fadeInLeft 3s;
  animation-delay: .9s;
  animation-timing-function: ease;
  animation-fill-mode: both;
}

.slider-subline p{
  font-size: clamp(15px, 1.3vw, 17px);
  line-height: 1.6;
  color: #ffffff;
  margin: 0 0 1em 0;
}

/* CTA buttons */

.slider-btn-row{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .8em;
  margin-top: 1.2em;
}

.sliderfull .slider-btn-row .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6em;
  width: auto;
  max-width: none;
  margin: 0;
  padding: .95em 1.8em;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .02em;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 0 10px rgba(255,255,255,.5);
  transition: all .3s ease-in-out;
}

.sliderfull .slider-btn-row .btn span[class^="icon-"]{
  font-size: 1.15em;
  line-height: 1;
}

.sliderfull .slider-btn-row .btn-primary{
  background: #f9a006;
  border-color: #f9a006;
  color: #1c4968;
}

.sliderfull .slider-btn-row .btn-primary:hover,
.sliderfull .slider-btn-row .btn-primary:focus{
  background: #1c4968;
  border-color: #1c4968;
  color: #ffffff;
}

.sliderfull .slider-btn-row .btn-phone{
  background: #c14c31;
  border-color: #c14c31;
  color: #ffffff;
}

.sliderfull .slider-btn-row .btn-phone:hover,
.sliderfull .slider-btn-row .btn-phone:focus{
  background: #ffffff;
  border-color: #ffffff;
  color: #c14c31;
}

/* USP pills */

.hero-usp-row{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .7em;
  margin-top: 1.6em;
}

.hero-usp{
  display: inline-flex;
  align-items: center;
  gap: .5em;
  padding: .65em 1em;
  border-radius: 12px;
  background: #ffffff;
  color: #1c4968;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: 0 0 10px rgba(255,255,255,.5);
}

.hero-usp span[class^="icon-"]{
  font-size: 1.1em;
  line-height: 1;
  color: #c14c31;
}

/* ---- Carousel controls ----

   Bootstrap ships the controls at z-index 1, but .static-slide is z-index 2 and
   spans the full width, so the slide paints over them (they flash mid-transition
   and are unclickable). z-index 5 lifts them; the full-height column is made
   click-through so only the 44px circle takes the click. */

#carouselExampleIndicators3 .carousel-control-prev,
#carouselExampleIndicators3 .carousel-control-next{
  z-index: 5;
  width: 8%;
  max-width: 76px;
  opacity: .9;
  pointer-events: none;
  transition: opacity .25s ease;
}

#carouselExampleIndicators3:hover .carousel-control-prev,
#carouselExampleIndicators3:hover .carousel-control-next,
#carouselExampleIndicators3 .carousel-control-prev:focus-visible,
#carouselExampleIndicators3 .carousel-control-next:focus-visible{
  opacity: 1;
}

#carouselExampleIndicators3 .carousel-control-prev-icon,
#carouselExampleIndicators3 .carousel-control-next-icon{
  pointer-events: auto;
  cursor: pointer;
  width: 44px;
  height: 44px;
  padding: 12px;
  border-radius: 50%;
  background-color: rgba(28,73,104,.7);
  background-size: 45% 45%;
  border: 1px solid rgba(255,255,255,.4);
  transition: all .25s ease;
}

#carouselExampleIndicators3 .carousel-control-prev:hover .carousel-control-prev-icon,
#carouselExampleIndicators3 .carousel-control-next:hover .carousel-control-next-icon{
  background-color: #c14c31;
  border-color: transparent;
}

/* ---- Indicator dots ---- */

#carouselExampleIndicators3 .carousel-indicators{
  z-index: 6;
  margin-bottom: 1.4em;
}

#carouselExampleIndicators3 .carousel-indicators [data-bs-target]{
  width: 10px;
  height: 10px;
  margin: 0 5px;
  border: 0;
  border-radius: 50%;
  opacity: 1;
  background-color: rgba(255,255,255,.5);
  transition: all .2s ease;
}

#carouselExampleIndicators3 .carousel-indicators .active{
  background-color: #f9a006;
  transform: scale(1.2);
}

/* ---- Responsive ---- */

@media screen and (max-width: 63.938em) {
  .sliderfull .carousel,
  .sliderfull .carousel-inner,
  .sliderfull .carousel-item,
  .static-slide{
    min-height: 480px;
  }

  .static-slide{
    padding: 3em 5%;
  }
}

@media screen and (max-width: 47.938em) {
  .sliderfull .carousel,
  .sliderfull .carousel-inner,
  .sliderfull .carousel-item,
  .static-slide{
    min-height: 440px;
  }

  .static-slide{
    padding: 2.5em 5% 3.5em 5%;
  }

  .slider-header{
    max-width: 100%;
    line-height: 1.18;
  }

  .sliderfull .slider-btn-row .btn{
    width: 100%;
    padding: .9em 1.2em;
  }

  .hero-usp{
    font-size: 13px;
    padding: .55em .8em;
  }

  /* Drop the arrows to the bottom so their hit area doesn't sit on the CTAs */
  #carouselExampleIndicators3 .carousel-control-prev,
  #carouselExampleIndicators3 .carousel-control-next{
    align-items: flex-end;
    padding-bottom: 1em;
    width: 22%;
  }

  #carouselExampleIndicators3 .carousel-control-prev-icon,
  #carouselExampleIndicators3 .carousel-control-next-icon{
    width: 34px;
    height: 34px;
    padding: 9px;
  }

  #carouselExampleIndicators3 .carousel-indicators{
    margin-bottom: 1.15em;
  }
}


/* ==========================================================================
   LEGACY — used by the "Usp Boxes" and "Coupon" slider components in the
   Static Slide layout. Nothing on the homepage builds those right now, but the
   template still supports them, so the rules are left in place.
   ========================================================================== */

.sliderfull .btn {
   max-width: 300px;
  margin: 1em auto
}

.slider-header strong{
  display: block;
  font-size: 2.74em;
  color: #b3dce3;
}

.slider-usp-row{
  position: relative;
  width: 85%;
  margin: 7em auto 1em auto;
  z-index: 2;
  padding: 0;
  text-align: center;
}

.usp-box-row .usp-slide .col-3, .usp-box-row .usp-slide .col-9{
  width: 100%;
}

.usp-box-row .col{
  padding: 0 .9%!important;
  width: 33.33%!important;
  flex: unset;
}

.usp-slide{
  position: relative;
  height: 8.4em;
  text-align: left;
  line-height: 1.1;
  outline-offset: -0.7em;
  font-size: 0.7em;
  transition: all .3s ease-in-out;
  text-align: center;
  background: #1d4587c4;
  color: #ffffff;
  text-transform: uppercase;
  padding: 0.5em 0.1em 1em 0.1em;
  border: 1px solid #00000038;
  border-radius: 1em;
}

.usp-slide span{
  display: block;
  color: #ffffff;
  font-size: 4.1em;
  line-height: 0.8;
  position: relative;
  margin-bottom: -.1em;
}

 /* ---------------------- */





 /* ---------------------- */





/* Corbin's top services rail — CSS extract of the block in custom.css */
 /* Top Services CSS  */

/* ==========================================================================
   TOP SERVICES RAIL

   One set of markup for every screen size. The cards live in a horizontal
   scroll-snap rail, so the browser handles touch swiping natively and CSS
   decides how many are visible: 4 across on desktop, 3 on small desktop,
   2 on tablet, 1 at a time on mobile. The arrows page it by one card.
   ========================================================================== */


.top-services{
  position: relative;
  padding: 4% 4% 4.5% 4%;
  background: linear-gradient(rgba(243,245,247,.88), rgba(243,245,247,.88)),
              #f3f5f7 url(/wp-content/uploads/2026/01/2.png) center/cover no-repeat;
}


.top-services .ts-head{
  max-width: 1000px;
  margin: 0 auto 2.4em auto;
  text-align: center;
}

.top-services .ts-head .sec-copy{
  max-width: 700px;
  margin: 0 auto;
}

/* ---- The rail ---- */

.ts-rail-wrap{
  position: relative;
  max-width: 1500px;
  margin: auto;
}

.ts-rail{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 60px) / 4);
  gap: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 4px;
}

.ts-rail::-webkit-scrollbar{
  display: none;
}

/* ---- Card ---- */

.ts-card{
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: .5em;
  min-width: 0;
  background: #ffffff;
  border-radius: 12px;
  padding: 1.3em;
}

.ts-card-body{
  display: flex;
  flex-direction: column;
  gap: .75em;
}

.ts-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  border-radius: 12px;
  background: rgba(28,73,104,.14);
}

.ts-icon span,
.ts-icon svg{
  font-size: 35px;
  width: 35px;
  height: auto;
  line-height: 1;
  color: #1c4968;
  fill: #1c4968;
}

.top-services .servi-label{
  font-size: clamp(20px, 1.9vw, 26px);
  font-weight: 600;
  line-height: 1.2;
  color: #1c4968;
  margin: 0;
}

.ts-card > .ts-card-body > p{
  font-size: 15px;
  line-height: 1.6;
  color: #2c2c2c;
  margin: 0;
  min-height: 10.5em;   /* keeps the "Our services include" lists on one baseline */
  text-wrap: pretty;
}

.ts-list-label{
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  color: #1c4968;
}

.ts-list{
  list-style: none;
  margin: 0 !important;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .5em;
}

.ts-list li{
  display: flex;
  align-items: flex-start;
  gap: .5em;
}

.ts-list li > span[class^="icon-"]{
  font-size: 14px;
  line-height: 1.5;
  color: #c14c31;
}

.ts-list li a,
.ts-list li > span:last-child{
  font-size: 15px;
  line-height: 1.4;
  color: #2c2c2c;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.ts-list li a:hover{
  color: #c14c31;
}

.top-services .ts-more{
  align-self: flex-start;
  margin-top: 1em;
}

/* ---- Arrows ---- */

.ts-nav{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75em;
  margin-top: 1.6em;
}

.ts-nav button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #1c4968;
  border-radius: 12px;
  background: #1c4968;
  color: #ffffff;
  cursor: pointer;
  transition: all .3s ease-in-out;
}

.ts-nav button:hover,
.ts-nav button:focus{
  background: #c14c31;
  border-color: #c14c31;
  color: #ffffff;
}

.ts-nav button span{
  font-size: 22px;
  line-height: 1;
}

/* ---- How many cards are visible ---- */

@media screen and (max-width: 75em) {
  .ts-rail{
    grid-auto-columns: calc((100% - 40px) / 3);
  }
}

@media screen and (max-width: 63.938em) {
  .ts-rail{
    grid-auto-columns: calc((100% - 20px) / 2);
  }

  .ts-card > .ts-card-body > p{
    min-height: 0;
  }
}

@media screen and (max-width: 47.938em) {
  .top-services{
    padding: 6% 5% 7% 5%;
  }

  .ts-rail{
    grid-auto-columns: 100%;
    scroll-snap-type: x mandatory;   /* one service at a time */
    gap: 16px;
  }

  .top-services .ts-more{
    align-self: stretch;
  }
}


.top-services .servi-label{
  font-family: var(--corbins-display) !important;
}

 /* ---------------------- */





 /* Section-1 CSS  */


.section-1 {
    padding: 5% 5% 5% 5%;
    background: #ffffff;
}

/* ---- Homepage shared helpers (used by section-1 through section-9) ---- */

.sec-head{
  font-size: clamp(26px, 3.4vw, 37px);
  line-height: 1.2;
  font-weight: 600;
  color: #1c4968;
  margin: 0 0 0.6em 0;
  text-wrap: pretty;
}

.sec-copy{
  font-size: 16px;
  line-height: 1.7;
  color: #2c2c2c;
}

.sec-copy p{
  margin: 0 0 1em 0;
}

.sec-copy p:last-child{
  margin-bottom: 0;
}

.sec-copy ul{
  list-style: none;
  padding-left: 0;
  margin: 0 0 1em 0;
}

.sec-copy ul li{
  position: relative;
  padding-left: 1.7em;
  margin-bottom: 0.4em;
}

.sec-copy ul li:before{
  content: "\f058";
  font-family: 'icomoon' !important;
  position: absolute;
  left: 0;
  top: 0.15em;
  color: #c14c31;
}

.sec-copy a{
  color: #017ba1;
}

.sec-badge{
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  background: rgba(249,160,6,.15);
  border-radius: 16px;
  padding: 0.45em 1em;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  color: #1c4968;
  margin-bottom: 1em;
}

.sec-badge-amber{
  background: #f9a006;
  color: #1c4968;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Homepage buttons */
body .btn-rust,
body .btn-navy,
body .btn-white{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0.85em 1.4em;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .02em;
  text-align: center;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

body .btn-rust{
  background: #c14c31;
  border-color: #c14c31;
  color: #ffffff;
}

body .btn-rust:hover,
body .btn-rust:focus{
  background: #1c4968;
  border-color: #1c4968;
  color: #ffffff;
}

body .btn-navy{
  background: #1c4968;
  border-color: #1c4968;
  color: #ffffff;
}

body .btn-navy:hover,
body .btn-navy:focus{
  background: #c14c31;
  border-color: #c14c31;
  color: #ffffff;
}

body .btn-white{
  background: #ffffff;
  border-color: #ffffff;
  color: #c14c31;
  box-shadow: 0 0 10px rgba(255,255,255,.5);
}

body .btn-white:hover,
body .btn-white:focus{
  background: #1c4968;
  border-color: #1c4968;
  color: #ffffff;
}

/* ---- Section 1 layout ---- */

.section-1 .sec1-row{
  --bs-gutter-x: 2.5rem;
  --bs-gutter-y: 2.5rem;
}

.section-1 .sec-copy p:first-of-type{
  font-size: 17px;
  font-weight: 600;
  color: #1c4968;
}

.sec1-phone-box{
  display: flex;
  align-items: center;
  gap: 1.2em;
  flex-wrap: wrap;
  background: #f3f5f7;
  border-radius: 12px;
  padding: 1.5em;
  margin-top: 1.5em;
}

.sec1-phone-box > .icon-phone{
  font-size: 52px;
  color: #c14c31;
  line-height: 1;
}

.sec1-phone-copy em{
  display: block;
  font-style: normal;
  font-size: 13px;
  line-height: 1.4;
  color: #2c2c2c;
  margin-bottom: .2em;
}

.sec1-phone-copy a{
  display: inline-block;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 600;
  line-height: 1.1;
  color: #1c4968;
  text-decoration: none;
  margin-bottom: 0;
}

.sec1-phone-copy a:hover{
  color: #c14c31;
}

.sec1-video{
  margin-top: 1.8em;
}

.sec1-video video,
.sec1-video iframe,
.sec1-video img{
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  border: 0;
  border-radius: 12px;
  background: #1c4968;
  object-fit: cover;
}

.sec1-video p{
  font-size: 13px;
  line-height: 1.4;
  color: #2c2c2c;
  margin: .7em 0 0 0;
}

.sec1-form{
  background: #1c4968;
  border-radius: 12px;
  padding: 1.4em;
  position: sticky;
  top: 12em;
}

.sec1-form h3{
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  color: #ffffff;
  text-align: center;
  margin: 0 0 .6em 0;
}

.sec1-form iframe {
    display: block;
    width: 100% !important;
    border: 0;
    border-radius: 12px;
    /* background: #ffffff; */
}

@media screen and (max-width: 63.938em) {
  .sec1-form{
    position: relative;
    top: 0;
  }
}

@media screen and (max-width: 39.938em) {
  .sec1-phone-box{
    flex-wrap: nowrap;
    gap: .8em;
    padding: 1.1em;
  }

  .sec1-phone-box > .icon-phone{
    font-size: 34px;
  }
}


.sec1-form .sec1-form-title{
  font-family: var(--corbins-display) !important;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  color: #ffffff;
  text-align: center;
  margin: 0 0 0.6em;
}




.sec-copy a[href^="tel:"],
a.tel-inline[href^="tel:"]{

  /* Undo the site-wide block treatment. */
  display: inline;
  margin: 0;

  /* Brand rust. On the white .section-1 background this is 4.83:1, which passes
     WCAG AA for normal text (needs 4.5:1). Note it would be 4.42:1 — just under
     — on the #F3F5F7 graph-paper wash used by some other bands, so if a phone
     link ever goes into copy on one of those, use the darker #A83F28 there. */
  color: #C14C31;

  /* The underline is not decoration, it is doing real work. Rust against the
     navy body copy is only 1.97:1, and colour alone needs 3:1 to mark a link
     (WCAG 1.4.1 Use of Color). Without it, anyone who cannot pick rust out of
     navy has no way to tell this is tappable. */
  text-decoration: underline;
  text-decoration-thickness: .07em;
  text-underline-offset: .15em;

  /* Never let a phone number split across two lines mid-number. */
  white-space: nowrap;
}

.sec-copy a[href^="tel:"]:hover,
.sec-copy a[href^="tel:"]:focus-visible,
a.tel-inline[href^="tel:"]:hover,
a.tel-inline[href^="tel:"]:focus-visible{
  /* The darker rust the theme already uses for .sched-call a:hover, so the
     hover state is consistent with the rest of the site. 6.16:1 on white. */
  color: #A83F28;
  text-decoration-thickness: .12em;
}


 /* ---------------------- */






/* Section-2 CSS  */ 
.section-2{
    padding: 5% 5% 5% 5%;
    background: #1c4968;
}

.section-2 .sec2-head{
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.section-2 .sec-badge{
  background: rgba(249,160,6,.18);
  color: #ffffff;
}

.section-2 .sec-badge span{
  color: #f9a006;
}

.section-2 .sec-head{
  color: #ffffff;
}

.section-2 .sec-copy{
  font-size: 17px;
  color: #ffffff;
}

.section-2 .sec2-reviews{
  margin: 2em auto 0 auto;
}

.section-2 .sec2-reviews iframe{
  width: 100%;
  border: 0;
}

.section-2 .sec2-btns{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em;
  margin-top: 2em;
}

.section-2 .sec2-btns .btn{
  text-transform: uppercase;
}

@media screen and (max-width: 39.938em) {
  .section-2 .sec2-btns .btn{
    width: 100%;
  }
} 


.section-2 .sec2-reviews{
  margin: 2em auto 0 auto;
  /* Reserve room for the Elfsight widget while it boots. Without this the
     container is 0px tall until the widget paints, so Section 2's buttons
     jump down the page a second after load. 380px is roughly what the
     review carousel settles at on desktop; it collapses below that if the
     widget ends up shorter. */
  min-height: 380px;
}

/* The widget div itself carries no dimensions until the platform fills it. */
.section-2 .sec2-reviews > [class^="elfsight-app-"]{
  width: 100%;
}

@media screen and (max-width: 47.938em){
  .section-2 .sec2-reviews{
    min-height: 460px;   /* the carousel stacks taller on phones */
  }
}


 /* ---------------------- */

 /* Section-3 CSS  */ 

.section-3{
    padding: 5% 5% 5% 5%;
    position: relative;
    overflow: hidden;
    /* Same texture as Top Services, washed with the rust at 88%. */
    background: linear-gradient(rgba(193,76,49,.88), rgba(193,76,49,.88)),
                #c14c31 url(/wp-content/uploads/2026/01/2.png) center/cover no-repeat;
}


.section-3 .sec3-row,
.section-3 .sec3-cards{
  --bs-gutter-x: 1.6rem;
  --bs-gutter-y: 1.6rem;
}

.section-3 .sec3-cards{
  margin-top: 2em;
}

.section-3 .sec3-aside img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.sec3-note{
  background: #ffffff;
  border-radius: 12px;
  padding: 1.3em;
  margin-top: 1em;
}

.sec3-note-head{
  display: flex;
  align-items: center;
  gap: .6em;
  margin-bottom: .3em;
}

.sec3-note-head span{
  font-size: 22px;
  color: #c14c31;
}

.sec3-note-head strong{
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  color: #1c4968;
}

.sec3-note p{
  font-size: 14px;
  line-height: 1.5;
  color: #2c2c2c;
  margin: 0;
}

.section-3 .sec3-main .sec-head,
.section-3 .sec3-main .sec-copy{
  color: #ffffff;
}

.section-3 .sec3-main .sec-copy a{
  color: #ffffff;
  text-decoration: underline;
}

.section-3 .sec3-main .btn{
  margin-top: 1.4em;
}

.sec3-card{
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #ffffff;
  border-radius: 12px;
  padding: 1.8em;
}

.sec3-card-head{
  display: flex;
  align-items: center;
  gap: 1em;
  margin-bottom: .8em;
}

.sec3-card-icon{
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(193,76,49,.14);
}

.sec3-card-icon span{
  font-size: 32px;
  color: #c14c31;
}

.sec3-card h3{
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 600;
  line-height: 1.2;
  color: #c14c31;
  margin: 0;
}

.sec3-card .sec-copy{
  font-size: 15px;
  line-height: 1.6;
}

.sec3-card .btn {
    align-self: flex-start;
    margin-top: 1em;
}

@media screen and (min-width: 64em) {
  .section-3 .sec3-aside{
    position: sticky;
    top: 12em;
  }
}

/* ---------------------- */

 /* Section-4 CSS  */ 

.section-4{
    padding: 5% 5% 5% 5%;
    position: relative;
    /* z-index:0 makes this section its own stacking context, which is what keeps
       the logo layer below (z-index:-1) above the section's own background rather
       than disappearing behind it. Without it the logo is painted into the nearest
       ancestor stacking context and vanishes under this background. */
    z-index: 0;
    overflow: hidden;
    /* Texture washed with white at 93% — lighter than the other two bands because
       this section carries the most text. */
    background: linear-gradient(rgba(255,255,255,.93), rgba(255,255,255,.93)),
                #ffffff url(/wp-content/uploads/2026/01/2.png) center/cover no-repeat;
}

/* Oversized watermark logo bleeding off the bottom-right corner, per the design:
   640px wide at 7% opacity, clipped by the section's overflow:hidden. The height
   is 640 x (195/504) so it matches the logo's own aspect ratio and `contain`
   doesn't letterbox it. Decorative only — a pseudo-element needs no markup and
   is invisible to screen readers. */
.section-4::after{
    content: "";
    position: absolute;
    right: -60px;
    bottom: -40px;
    width: 640px;
    height: 248px;
    background: url(/wp-content/uploads/2026/02/Corbins-Logo.png) center/contain no-repeat;
    opacity: .07;
    pointer-events: none;
    z-index: -1;
}

/* On phones the section is too narrow for a 640px watermark to read as texture —
   it just crowds the copy. */
@media screen and (max-width: 47.938em) {
    .section-4::after{
        width: 380px;
        height: 147px;
        right: -40px;
        bottom: -24px;
    }
}

.section-4 > .sec-copy{
  font-size: 17px;
}

.sec4-tabs{
  display: flex;
  flex-wrap: wrap;
  gap: .6em;
  list-style: none;
  margin: 1.6em 0 0 0;
  padding: 0 0 .6em 0;
  border-bottom: 1px solid rgba(28,73,104,.14);
}

.sec4-tabs .nav-item{
  margin: 0;
}

.sec4-tab{
  display: inline-flex;
  align-items: center;
  gap: .6em;
  padding: .8em 1.3em;
  border: 1px solid rgba(28,73,104,.24);
  border-radius: 12px;
  background: #ffffff;
  color: #1c4968;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: all .3s ease-in-out;
}

.sec4-tab span{
  font-size: 18px;
  line-height: 1;
}

.sec4-tab:hover{
  border-color: #c14c31;
  background: #c14c31;
  color: #ffffff;
}

.sec4-tab.active{
  border-color: #1c4968;
  background: #1c4968;
  color: #ffffff;
}

.sec4-panes{
  margin-top: 1.6em;
}

.sec4-list{
  list-style: none;
  margin: 0 !important;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: .7em 1.4em;
}

.sec4-list li{
  display: flex;
  align-items: flex-start;
  gap: .6em;
  background: #f3f5f7;
  border-radius: 12px;
  padding: .8em 1em;
}

.sec4-list li > span:first-child{
  font-size: 14px;
  color: #c14c31;
  margin-top: .3em;
}

.sec4-list li a,
.sec4-list li span:last-child{
  font-size: 15px;
  line-height: 1.5;
  color: #2c2c2c;
  text-decoration: none;
}

.sec4-list li a:hover{
  color: #c14c31;
}

.sec4-bottom{
  margin-top: 1.8em;
}

@media screen and (max-width: 39.938em) {
  .sec4-tabs{
    flex-direction: column;
  }

  .sec4-tab{
    width: 100%;
    justify-content: flex-start;
  }

  .sec4-panes .sec4-list{
    max-height: 420px;
    overflow-y: auto;
  }
}

  
/* ---------------------- */


/* Section-5 CSS  */ 
.section-5{
    padding: 4% 5% 4% 5%;
    background: #1c4968;
}

.section-5 .sec5-row{
  --bs-gutter-x: 1.6rem;
  --bs-gutter-y: 1.8rem;
}

/* "Hidden" status on a USP row keeps it out of the band */
.section-5 .usp-item.next-slide{
  display: none;
}

.section-5 .usp-inner{
  display: flex;
  align-items: flex-start;
  gap: 1.2em;
}

.section-5 .usp-icon{
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.28);
}

.section-5 .usp-icon span,
.section-5 .usp-icon svg{
  font-size: 40px;
  width: 40px;
  height: auto;
  color: #f9a006;
  fill: #f9a006;
  line-height: 1;
}

.section-5 .usp-label{
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  color: #ffffff;
  margin-bottom: .3em;
}

.section-5 .usp-copy p{
  font-size: 15px;
  line-height: 1.6;
  color: #ffffff;
  margin: 0;
}

@media screen and (max-width: 47.938em) {
  .section-5 .usp-inner{
    align-items: center;
  }

  .section-5 .usp-icon{
    width: 66px;
    height: 66px;
  }

  .section-5 .usp-icon span,
  .section-5 .usp-icon svg{
    font-size: 30px;
    width: 30px;
  }
}


.section-5 h3.usp-label{
  margin-top: 0;
  clear: none;
}

/* ---------------------- */


/* Section-6 CSS  */ 
.section-6{
    padding: 5% 5% 5% 5%;
    background: #1c4968;
}

.section-6 .sec6-row{
  --bs-gutter-x: 2rem;
  --bs-gutter-y: 2rem;
}

.section-6 .sec6-head{
  text-align: center;
}

.section-6 .sec6-head h2{
  font-size: 22px;
  font-weight: 400;
  line-height: 1.2;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0;
}

.section-6 .sec6-head h2 strong,
.section-6 .sec6-head h2 em{
  display: block;
  font-size: clamp(38px, 5vw, 52px);
  font-weight: 600;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0;
}

.section-6 .sec6-head h2 em{
  color: #f9a006;
}

.sec6-controls{
  display: flex;
  justify-content: center;
  gap: .5em;
  margin-top: 1em;
}

.sec6-controls .carousel-control-prev,
.sec6-controls .carousel-control-next{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(249,160,6,.6);
  border-radius: 50%;
  background: transparent;
  color: #f9a006;
  opacity: 1;
  transition: all .3s ease-in-out;
}

.sec6-controls .carousel-control-prev:hover,
.sec6-controls .carousel-control-next:hover{
  background: #f9a006;
  color: #1c4968;
}

.sec6-controls span[class^="icon-"]{
  font-size: 26px;
  line-height: 1;
}

.section-6 .coupon-card{
  height: 100%;
  background: #ffffff;
  border-radius: 12px;
  padding: 8px;
}

.section-6 .coupon-inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .7em;
  height: 100%;
  border: 3px dashed #c14c31;
  border-radius: 12px;
  padding: 1.4em;
}

.section-6 .coupon-logo{
  display: block;
  width: 160px;
  max-width: 70%;
  height: auto;
  margin: 0 auto;
}

.section-6 .coupon-price{
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 700;
  line-height: 1.1;
  color: #c14c31;
}

.section-6 .coupon-offer{
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  color: #1c4968;
}

.section-6 .coupon-inner .btn{
  width: 100%;
  margin-top: auto;
  border-radius: 999px;
  text-transform: uppercase;
}

.section-6 .coupon-disclaimer{
  font-size: 12px;
  line-height: 1.5;
  color: #6b7280;
}

@media screen and (max-width: 63.938em) {
  .section-6 .sec6-head{
    text-align: center;
  }
}



.sec6-head .sec6-title{
  font-family: var(--corbins-body) !important;
}

.sec6-head .sec6-title strong,
.sec6-head .sec6-title em{
  font-family: var(--corbins-display) !important;
}

.section-6 .sec6-head .sec6-title{
  font-size: 22px;
  font-weight: 400;
  line-height: 1.2;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0;
}

.section-6 .sec6-head .sec6-title strong,
.section-6 .sec6-head .sec6-title em{
  display: block;
  font-size: clamp(38px, 5vw, 52px);
  font-weight: 600;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0;
}

.section-6 .sec6-head .sec6-title em{
  color: #f9a006;
}

div.sec-head{
  padding-bottom: 0.3em;
}

.sec6-head .sec6-title{
  padding-bottom: 0.3em;
}


/* ---------------------- */




/* Section 7 */

.section-7{
    padding: 5% 5% 5% 5%;
    position: relative;
    overflow: hidden;
    background: #c14c31;
}

.section-7 .sec7-head{
  max-width: 950px;
  margin: 0 auto 2em auto;
  text-align: center;
}

.section-7 .sec-head,
.section-7 .sec-copy{
  color: #ffffff;
}

.section-7 .sec7-slider{
  position: relative;
  padding: 0 3.2em;
}

.section-7 .sec7-slider .row{
  --bs-gutter-x: 1.6rem;
  --bs-gutter-y: 1.6rem;
}

.sec7-tile{
  display: flex;
  flex-direction: column;
  gap: .5em;
  height: 100%;
  background: #ffffff;
  border-radius: 28px;
  padding: 1.8em;
}

.sec7-tile-icon span,
.sec7-tile-icon svg{
  font-size: 34px;
  width: 34px;
  height: auto;
  color: #c14c31;
  fill: #c14c31;
  line-height: 1;
}

.sec7-tile-label{
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
  color: #c14c31;
}

.sec7-tile p{
  font-size: 15px;
  line-height: 1.6;
  color: #2c2c2c;
  margin: 0;
}

.section-7 .sec7-slider .carousel-control-prev,
.section-7 .sec7-slider .carousel-control-next{
  width: 2.6em;
  opacity: 1;
  color: #ffffff;
}

.section-7 .sec7-slider .carousel-control-prev span[class^="icon-"],
.section-7 .sec7-slider .carousel-control-next span[class^="icon-"]{
  font-size: 34px;
  line-height: 1;
}

.section-7 .sec7-slider .carousel-control-prev:hover,
.section-7 .sec7-slider .carousel-control-next:hover{
  color: #1c4968;
}

.section-7 .sec7-bottom{
  max-width: 900px;
  margin: 2em auto 0 auto;
  font-size: 17px;
  font-weight: 600;
  text-align: center;
}

@media screen and (max-width: 47.938em) {
  .section-7 .sec7-slider{
    padding: 0 2.2em;
  }

  .sec7-tile{
    border-radius: 18px;
    padding: 1.4em;
  }
}

.section-7 .sec7-rail-wrap .sec7-prev,
.section-7 .sec7-rail-wrap .sec7-next{
  display: none;
}


@media screen and (max-width: 47.938em){

  /* One USP at a time, swipeable. */
  .section-7 .sec7-rail{
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;

    /* Hide the scrollbar — it is a carousel, not a scroll area. The rail is
       still keyboard-scrollable and the arrows still work. */
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .section-7 .sec7-rail::-webkit-scrollbar{
    display: none;
  }

  /* `col-12` already makes each item full width; flex-basis states it
     explicitly so the switch to nowrap cannot shrink them to fit.

     `start`, not `center`: the arrows page with scrollIntoView({inline:'start'}),
     so aligning the snap point to the same edge means the two agree. With
     `center` the browser re-snapped to a slightly different offset and the
     stops drifted a few px each page. */
  .section-7 .sec7-rail > *{
    flex: 0 0 100%;
    max-width: 100%;
    scroll-snap-align: start;
  }

  /* Arrows come back. `display: flex` is what Bootstrap's
     .carousel-control-prev/next use, so this restores their own centring
     rather than imposing something new. */
  .section-7 .sec7-rail-wrap .sec7-prev,
  .section-7 .sec7-rail-wrap .sec7-next{
    display: flex;
  }
}



/* ---------------------- */



/* Section 8 */

/* ==========================================================================
   SERVICE AREAS

   Two kinds of card in one scrolling grid:
     .area-card.is-bare  — a county. Navy chip, the whole thing is one link.
     .area-card          — a town. Paper card, name plus one pill per service.

   The scroller is capped in height so 31 places don't push the map off screen;
   counties are emitted first so the short cards pair up with each other.
   ========================================================================== */

.section-8{
    padding: 5% 5% 5% 5%;
    background: #ffffff;
}

.section-8 .sec8-row{
  --bs-gutter-x: 2rem;
  --bs-gutter-y: 2rem;
}

.section-8 .sec-head{
  text-transform: uppercase;
  line-height: 1.05;
}

.section-8 .sec-head span,
.section-8 .sec-head strong{
  display: block;
  color: #c14c31;
}

/* ---- The scroller ---- */

.section-8 .sec8-areas-scroll{
  max-height: 30em;
  overflow-y: auto;
  overscroll-behavior: contain;
  margin-top: 1.4em;
  padding: 0 .8em 0 0;
  border-right: 2px solid #c14c31;
  scrollbar-width: thin;
  scrollbar-color: #c14c31 #f3f5f7;
}

.section-8 .sec8-areas-scroll::-webkit-scrollbar{
  width: 8px;
}

.section-8 .sec8-areas-scroll::-webkit-scrollbar-track{
  background: #f3f5f7;
  border-radius: 12px;
}

.section-8 .sec8-areas-scroll::-webkit-scrollbar-thumb{
  background: #c14c31;
  border-radius: 12px;
}

.section-8 .sec8-areas{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .7em;
  align-items: stretch;
}

/* Settle on a card boundary rather than mid-card. Proximity, not mandatory, so
   a deliberate small scroll isn't fought. */
.section-8 .sec8-areas-scroll{
  scroll-snap-type: y proximity;
}

.section-8 .area-card{
  scroll-snap-align: start;
}

/* ---- Card shell ---- */

.section-8 .area-card{
  display: flex;
  flex-direction: column;
  gap: .55em;
  min-width: 0;
  padding: .75em .9em;
  border: 1px solid rgba(28,73,104,.14);
  border-radius: 12px;
  background: #ffffff;
}

.section-8 .area-name{
  display: flex;
  align-items: flex-start;
  gap: .45em;
  font-size: .88em;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .02em;
  color: #1c4968;
  text-transform: uppercase;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.section-8 .area-pin{
  flex: 0 0 auto;
  margin-top: .1em;
  font-size: .95em;
  color: #c14c31;
  transition: color .3s ease-in-out;
}

/* ---- County: the whole chip is the link ---- */

.section-8 .area-card.is-bare{
  padding: 0;
  border: 0;
  background: #1c4968;
  overflow: hidden;
  /* Counties are one line. Without this, an odd-numbered county sharing a grid
     row with a town card would stretch to the town's height and read as a big
     empty navy block. Town cards still stretch to match each other. */
  align-self: start;
}

.section-8 .area-card.is-bare .area-name{
  padding: .85em 1em;
  color: #ffffff;
}

.section-8 .area-card.is-bare a.area-name:hover,
.section-8 .area-card.is-bare a.area-name:focus{
  background: #c14c31;
  color: #ffffff;
}

.section-8 .area-card.is-bare a.area-name:hover .area-pin,
.section-8 .area-card.is-bare a.area-name:focus .area-pin{
  color: #f9a006;
}

/* ---- Town: name + service pills ---- */

.section-8 .area-card:not(.is-bare):hover{
  border-color: rgba(28,73,104,.3);
}

.section-8 .area-svcs{
  display: flex;
  flex-wrap: wrap;
  gap: .35em;
}

.section-8 .area-svc{
  display: inline-block;
  padding: .35em .6em;
  border: 1px solid rgba(28,73,104,.18);
  border-radius: 8px;
  background: #f3f5f7;
  color: #2c2c2c;
  font-size: .72em;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: all .3s ease-in-out;
}

.section-8 .area-svc:hover,
.section-8 .area-svc:focus{
  border-color: #c14c31;
  background: #c14c31;
  color: #ffffff;
}

/* ---- Map ---- */

.section-8 .sec8-map{
  overflow: hidden;
  border-radius: 12px;
  background: #f3f5f7;
}

.section-8 .sec8-map iframe{
  display: block;
  width: 100%;
  height: 32em;
  border: 0;
}

/* ---- Responsive ---- */

@media screen and (max-width: 63.938em) {
  .section-8 .sec8-areas-scroll{
    border-right: 0;
    padding-right: 0;
    max-height: 26em;
  }

  .section-8 .sec8-map iframe{
    height: 24em;
  }
}

@media screen and (max-width: 35em) {
  .section-8 .sec8-areas{
    grid-template-columns: 1fr;
  }
}

/* ---------------------- */




.section-8 .sec8-map{

  /* Height of the bar being clipped. The one number to change if Google ever
     makes their toolbar taller. */
  --map-crop: 60px;

  /* The visible map height. This has MOVED off the iframe and onto the
     wrapper — the iframe's height is now derived from it. So this is the one
     place to change the map's size from now on. (Was `height: 32em` on the
     iframe, which is where the current 544px comes from: 32 x 17px root.) */
  --map-height: 32em;

  position: relative;
  height: var(--map-height);
  overflow: hidden;              /* already set — the crop depends on it */
}

.section-8 .sec8-map iframe{
  position: absolute;
  top: calc(var(--map-crop) * -1);
  left: 0;
  display: block;
  width: 100%;
  height: calc(100% + var(--map-crop));
  border: 0;
}




/* Section 9 */

.section-9{
    padding: 0;
    background: #ffffff;
}

.close-cta{
    font-size: 1.25em;
    padding: 2em 1.5em 2em 1.5em;
    position: relative;
    text-align: center;
    margin: 0rem 0 0rem;
    color: #000000;
    z-index: 2;
    border-top: 1px solid #ffffff24;
    background: #ffffff;
    width: 100%;
    font-weight: 700;
}

.close-cta-logo{
  display: flex;
  align-items: center;
  gap: 1.5em;
  max-width: 1140px;
  margin: 0 auto 1.2em auto;
}

.close-cta-logo:before,
.close-cta-logo:after{
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(28,73,104,.14);
}

.close-cta-logo img{
  display: block;
  width: 180px;
  max-width: 45%;
  height: auto;
}

.close-cta-copy{
  max-width: 900px;
  margin: 0 auto;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.6;
  color: #1c4968;
  text-wrap: pretty;
}

.close-cta-copy p{
  margin: 0 0 .8em 0;
}

.close-cta-copy p:last-child{
  margin-bottom: 0;
}

.close-cta-copy a{
  color: #c14c31;
  text-decoration: none;
}

@media screen and (max-width: 39.938em) {
  .close-cta{
    font-size: 1em;
    padding: 1.5em 1em;
  }

  .close-cta-copy{
    font-size: 16px;
  }
}

.close-cta:after{
  content:'';
  position: absolute;
  width: 100%;
  height: 3em;
  top: -1.6em;
  left: 0em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* ---------------------- */






/* Corbin's footer + sched row — CSS extract of the block in custom.css */

/* Footer Section CSS  */

/* Sched row — Call / Schedule Online band above the footer */

/* Sits between #content and <footer>, i.e. a direct child of #page, so it needs
   the same 1700px cap the header/#site-wrap/.site-footer each carry — otherwise
   it runs the full viewport width on screens wider than the site.            */
.sched-row{
  position: relative;
  max-width: 1700px !important;  /* beats the global .row{max-width:100%!important} */
  margin: 0 auto;
  --bs-gutter-x: 0;
  overflow: hidden;
}

.sched-row>*{
  padding: 0;
}

.sched-row a ,.sched-row button{
  display: block;
  width: 100%;
  border: 0;
  padding: 1.7em 2em;
  font-size: 1em;
  color: #ffffff;
  text-align: left;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.sched-row .sched-call a{
  background: #c14c31;
  margin-bottom: 0;
}

.sched-row .sched-call a:hover{
  background: #a83f28;
  color: #ffffff;
}



.sched-row .sched-book button {
    background: #14374f;
}

.sched-row .sched-book button:hover {
    background: #1c4968;
    color: #ffffff;
}

.sched-row a strong ,.sched-row button strong{
  display: block;
  font-size: 2.2em;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  margin-bottom: .1em;
}

.sched-row .sched-copy{
  font-size: .95em;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.sched-row .sched-icon span {
    display: block;
    font-size: 2.8em;
    line-height: 1;
    text-align: center;
}

/* .site prefix so the theme's later per-breakpoint padding rules don't squash this */
@media screen and (max-width: 47.938em) {
  .site .sched-row a ,.site .sched-row button{
    padding: 1.2em 1.1em;
  }

  .sched-row .sched-icon span{
    font-size: 2.8em;
  }
}


/* Footer */

.site-footer{
  background-color: #1c4968!important;
  color: #ffffff!important;
  max-width: 1700px!important;
  margin: auto;
  box-shadow: none;
  padding-bottom: 0em;
  padding-top: 3em;
}

.site-footer .bullet-list li:after{
  display: none;
}

.site-footer .bullet-list li{
  padding: 0.2em 0;
  width: 50%;
}

.footer-cols{
  max-width: 1500px !important;  /* beats the global .row{max-width:100%!important} */
  margin: auto!important;
  padding: 0 2%;
  --bs-gutter-x: 2rem;
  --bs-gutter-y: 2.4rem;
}

.site-footer .footer-txt{
  text-align: left;
  color: #ffffff;
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .01em;
  text-transform: none;
  margin: 0 0 .8em 0;
}

/* Logo column */

.logo-foot{
  text-align: left;
}

.logo-foot img{
  display: block;
  width: 14em;
  max-width: 85%;
  height: auto;
  background: #ffffff;
  border-radius: 12px;
  padding: .5em;
  margin: 0 0 1em 0;
}

.logo-foot a{
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff!important;
}

.foot-blurb{
  font-size: .95em;
  line-height: 1.6;
  color: #ffffff;
  margin-bottom: 1em;
}

/* Link columns */

.site-footer .help-link {
    display: flex;
    align-items: flex-start;
    gap: .5em;
    padding: 0.35em 0;
    font-size: .95em;
    line-height: 1.4;
    color: #ffffff!important;
    text-decoration: none;
    border-bottom: 0;
    text-align: left;
    transition: all .3s ease-in-out;
}

.site-footer .help-link span[class^="icon-"]{
  color: #f9a006;
  font-size: .9em;
  line-height: 1.5;
}

.site-footer .help-link:hover{
  color: #f9a006!important;
  padding-left: .3em;
}

.site-footer .help-links a:hover{
  color: #f9a006!important;
}

.foot-links{
  text-align: center;
  font-size: .9em;
}

/* Get in touch column */

.site-footer .schema{
  text-align: left;
}

.site-footer .schema a{
  display: inline;
  font-weight: 400;
  color: #ffffff!important;
}

.site-footer .schema a:hover{
  color: #f9a006!important;
}

.foot-contact{
  list-style: none;
  margin: 0!important;
  padding: 0;
}

.foot-contact li{
  display: flex;
  align-items: flex-start;
  gap: .6em;
  margin-bottom: .8em;
  font-size: .95em;
  line-height: 1.6;
  color: #ffffff;
}

.foot-contact li>span[class^="icon-"]{
  color: #f9a006;
  margin-top: .35em;
}

.google-link{
  display: inline-block!important;
  margin-top: .2em;
  color: #f9a006!important;
  font-weight: 700;
  text-decoration: underline!important;
}

.google-link:hover{
  color: #ffffff!important;
}

.schema-title{
  margin: 0.7em 0 0em 0!important;
}

/* We accept + licensing band */

.foot-accept{
  margin-top: 2.4em;
  padding: 1.6em 2%;
  border-top: 1px solid rgba(255,255,255,.14);
  text-align: center;
}

.foot-accept .footer-txt{
  text-align: center;
  font-size: 1.3em;
  margin-bottom: .6em;
}

.accept-logos p{
  margin: 0;
}

.accept-logos img{
  display: block;
  width: auto;
  max-width: 100%;
  height: 2.4em;
  margin: 0 auto;
}

.lic-block{
  margin-top: 1.4em;
}

.lic-head{
  display: inline-flex;
  align-items: center;
  gap: .5em;
  font-size: 1em;
  font-weight: 600;
  color: #ffffff;
}

.lic-head span[class^="icon-"]{
  color: #f9a006;
}

.lic-number{
  margin-top: .4em;
  font-size: .85em;
  line-height: 1.7;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #ffffff;
}

/* Socials */

.socialmedia{
  position: relative;
}

.socialmedia .navbar{
  position: relative;
  padding: 0;
  margin: 0;
  list-style: none;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.socialmedia .navbar a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 2em;
  margin: 0 .45em 0 0;
  padding: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #1c4968!important;
  font-size: 1.45em;
  text-align: center;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.socialmedia .navbar a span{
  line-height: 1;
  font-size: 1em;
}

.socialmedia .navbar a:hover{
  background-color: #f9a006;
  color: #1c4968!important;
}

/* Copyright bar */

.copyright{
  color: white;
  text-transform: uppercase;
  font-size: 0.75em!important;
  letter-spacing: .08em;
  padding: 1.1em 1em 0.8em 1em!important;
  max-width: none;
  width: 100%;
  background: #c14c31;
  margin-top: 1.6em;
  border-top: 0;
  text-align: center;
}

footer a{
  text-decoration: none;
}

@media screen and (max-width: 63.938em) {
  .site-footer{
    padding-top: 2em;
  }

  .footer-cols{
    --bs-gutter-y: 2rem;
  }

  .site-footer .footer-txt{
    font-size: 1.3em;
  }
}

@media screen and (max-width: 47.938em) {
  .site-footer .logo-foot,
  .site-footer .help-links,
  .site-footer .schema{
    text-align: center;
  }

  .logo-foot img{
    margin: 0 auto 1em auto;
    max-width: 60%;
  }

  .site-footer .footer-txt,
  .site-footer .help-link{
    text-align: center;
  }

  .site-footer .help-link{
    justify-content: center;
  }

  .foot-contact li{
    justify-content: center;
    text-align: left;
  }

  .socialmedia .navbar{
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}


.site-footer .foot-menu{
  list-style: none;
  margin: 0 !important;
  padding: 0;
}

.site-footer .foot-menu li{
  margin: 0;
  padding: 0;
}

.site-footer .foot-menu a{
  display: block;
  position: relative;
  padding: .35em 0 .35em 1.3em;
  font-size: .95em;
  line-height: 1.4;
  color: #ffffff !important;
  text-decoration: none;
  border-bottom: 0;
  transition: all .3s ease-in-out;
}

.site-footer .foot-menu a:before{
  content: "\f105";                 /* icon-angle-right */
  font-family: 'icomoon' !important;
  position: absolute;
  left: 0;
  top: .45em;
  font-size: .9em;
  line-height: 1;
  color: #f9a006;
}

.site-footer .foot-menu a:hover{
  color: #f9a006 !important;
  padding-left: 1.6em;
}


/* -------------------------------------------------------------------
   2. Licence numbers — one line per location

   Both footers now wrap each licence string in its own <span> (Huntsville's
   set first on Huntsville pages). Without this they run together on one line.
   ------------------------------------------------------------------- */

.lic-number span{
  display: block;   /* one line per location when both licence sets show */
}


/* -------------------------------------------------------------------
   3. Mobile — centre the menu items like the rest of the footer columns

   Goes inside the existing @media screen and (max-width: 47.938em) block
   at the end of the footer section, alongside the .help-link rule that's
   already in there.
   ------------------------------------------------------------------- */

@media screen and (max-width: 47.938em) {
  .site-footer .foot-menu a{
    display: inline-block;
    text-align: left;
  }

  .site-footer .foot-menu li{
    text-align: center;
  }
}




.site-footer .foot-loc{
  margin-bottom: 1.7em;
}

.site-footer .foot-loc:last-child{
  margin-bottom: 0;
}

.site-footer .foot-loc-name{
  margin-bottom: .7em;
  padding-bottom: .45em;
  border-bottom: 1px solid rgba(255,255,255,.16);
  font-size: 1.05em;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #f9a006;
}

/* The address list sits inside a block now, so its last row shouldn't push the
   Google link away from it. */
.site-footer .foot-loc .foot-contact li:last-child{
  margin-bottom: .7em;
}

/* --- "Find Us On Google" — a bordered pill rather than an underlined link, so
       it reads as an action and pairs with the address above it. Selectors carry
       .schema to beat `.site-footer .schema a` (which forces display:inline and
       an amber hover colour). --- */

.site-footer .schema a.google-link{
  display: inline-flex!important;
  align-items: center;
  gap: .5em;
  margin: 0;
  padding: .6em 1em;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  color: #ffffff!important;
  font-size: .87em;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none!important;
  transition: all .3s ease-in-out;
}

.site-footer .schema a.google-link .icon-map-marker{
  font-size: 1.05em;
  color: #f9a006;
  transition: color .3s ease-in-out;
}

.site-footer .schema a.google-link .google-link-arrow{
  font-size: .95em;
  color: rgba(255,255,255,.7);
  transition: all .3s ease-in-out;
}

.site-footer .schema a.google-link:hover,
.site-footer .schema a.google-link:focus{
  border-color: #c14c31;
  background: #c14c31;
  color: #ffffff!important;
}

.site-footer .schema a.google-link:hover .icon-map-marker,
.site-footer .schema a.google-link:focus .icon-map-marker,
.site-footer .schema a.google-link:hover .google-link-arrow,
.site-footer .schema a.google-link:focus .google-link-arrow{
  color: #ffffff;
}

.site-footer .schema a.google-link:hover .google-link-arrow,
.site-footer .schema a.google-link:focus .google-link-arrow{
  transform: translateX(3px);
}

.site-footer .foot-loc-name {
    text-align: left;
}

  .site-footer .foot-loc{
    margin-bottom: 2em;
  }




@media screen and (max-width: 47.938em) {
  .site-footer .foot-loc .foot-loc-name {
    text-align: center;
  }
}

.foot-contact .icon-phone + span br {
  display: none;
}

.foot-contact .icon-phone + span {
  white-space: nowrap;
}

.foot-contact .icon-phone + span a {
  margin-left: .35em;
}

.site-footer .bbb-badge {
  display: block;
  width: 11em;
  max-width: 55%;
  margin: 1.4em 0 0 0;
  transition: opacity .25s ease, transform .25s ease;
}

.site-footer .bbb-badge img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  background: none;
  border-radius: 9px;
  padding: 3px 0px;
  margin: 0;
  background: #fffffff5;
}

.site-footer .bbb-badge:hover,
.site-footer .bbb-badge:focus-visible {
  opacity: .85;
  transform: translateY(-2px);
}

/* The logo column centres at 767px and below (existing rule), and a fixed-width
   block ignores text-align — so it needs auto margins to come with it. */
@media screen and (max-width: 47.938em) {
  .site-footer .bbb-badge {
    margin: 1.4em auto 0 auto;
  }
}






.lic-number ul{
  list-style: none;
  margin: 0.2em 0 0;
  padding: 0;

  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5em 0.6em;

  /* `.lic-number` sets uppercase + letter-spacing, which suited a single short
     number but turns five trade names into a wall of capitals. Title case
     reads better here; the numbers are uppercase by nature anyway. */
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.4;
}

/* Outline only — NOT a filled pill. At ~12.3px this text needs the full 4.5:1,
   and the brand amber is 4.57:1 on the footer navy #1C4968 with nothing behind
   it. Even an 8% white fill drops it to 3.64:1, so the fill has to go. */
.lic-number li{
  padding: 0.4em 0.9em;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 999px;
  white-space: nowrap;
}

/* The number itself. <strong> rather than a <span> for two reasons: the Visual
   editor's Bold button produces it, so it survives a tab round-trip, and
   `.lic-number span { display: block }` already exists — a <span> in here would
   inherit that and break the pill onto two lines. */
.lic-number li strong{
  color: #F9A006;      /* 4.57:1 on #1C4968 */
  font-weight: 600;
  margin-left: 0.3em;
  white-space: nowrap;
}

/* Two licence sets (main + second location) stack, as they did before. */
.lic-set + .lic-set{
  margin-top: 0.45em;
}


/* ----------------------------------------------------------------------------
   MOBILE — safety net, not a fix.

   `white-space: nowrap` is what stops "Duct Tightness Testing Contractor
   #600112" splitting mid-pill. That is the longest of the five at 284px, and I
   measured the wrap behaviour down through progressively narrower containers:
   one line at 1400px, two at 1100–700px, three at 560px, five at 430–320px,
   and ZERO overflow the whole way down. It only breaks at a 280px container,
   which no real device produces (a 320px viewport less the band's 2% padding
   still leaves ~313px).

   So nowrap is safe as it stands. This block exists only so that a future
   change — a longer trade name, a bigger footer font — degrades by wrapping
   inside the pill instead of pushing past the viewport edge.
   ---------------------------------------------------------------------------- */
@media screen and (max-width: 47.938em){
  .lic-number ul{
    gap: 0.45em;
  }
  .lic-number li{
    white-space: normal;
    text-align: center;
  }
}





/* ---------------------------------------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------------------------------------- */

/* ------------------------------------------------------------------Inner Pages Css ------------------------------------------------------------------ */ 

/* Global Inner CSS  */ 







:root{
  /* Redeclared rather than inherited from custom.css so this file still reads
     correctly if it is ever loaded on its own. Same values. */
  --corbins-display: Georgia, "Times New Roman", Times, serif;
  --corbins-body: 'Inter', system-ui, -apple-system, "Segoe UI", sans-serif;

  --corbins-navy: #1c4968;
  --corbins-navy-dark: #143a52;
  --corbins-rust: #c14c31;
  --corbins-amber: #f9a006;
  --corbins-ink: #2c2c2c;
  --corbins-paper: #f3f5f7;
  --corbins-border: #dfe4e9;

  --asc-map-crop-top: 60px;
}

.asc-map-embed{
  position: relative;
  overflow: hidden;                    
  height: clamp(320px, 42vw, 520px);
  margin: 24px 0;
  border-radius: 10px;
  border: 1px solid var(--asc-gray-200, #dfe4e9);
  background: #1c4968;                 

}

.asc-map-embed iframe{
  position: absolute;
  left: 0;
  top: calc(var(--asc-map-crop-top) * -1);     
  width: 100%;
  height: calc(100% + var(--asc-map-crop-top)); 

  display: block;
  border: 0;
}


.side-label {
    position: relative;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    /* Was 2em with a 1em top margin — and at 2em that margin is 2 root-em,
       so the heading block alone ate ~75px above the form, and at sidebar
       widths "SCHEDULE SERVICE" wrapped onto two lines (measured 89px tall at
       a 360px sidebar). 1.55em keeps it on one line down to about a 300px
       sidebar and roughly halves the block. */
    font-size: 1.55em;
    margin-top: 0.5em;
    margin-bottom: 0.15em;
    font-family: var(--corbins-display);
    font-weight: 800;
    /* font-style: italic; */
    color: white;
}

.side-form {
    text-align: center;
    /* No bottom padding: the embedded form's iframe is the last thing in here,
       so the navy used to run a further 1rem past its bottom edge on top of
       whatever slack the iframe already carried. The iframe now defines the
       bottom edge of the navy block. */
    padding: 1rem 1rem 0 1rem;
    background: #1c4968 !important;
    /* border-radius: 40px; */
    color: white;
    position: relative;
    height: auto;
}

/* The embedded form's iframe. display:block stops it sitting on a text
   baseline and adding a few stray pixels under itself, and it fills the
   column rather than relying on the vendor's inline width.

   NOTE — the big empty area under the Submit button is INSIDE this iframe,
   not in the navy box around it. The embed snippet in the ACF "Form" field
   carries data-height="1103", which is the height the vendor's iframe-resizer
   starts from; at sidebar widths it settles well short of the real content
   height. That number is the thing to change, and it lives in the field, not
   here. See the write-up. */
.side-form iframe{
    display: block;
    width: 100%;
    border: 0;
}





/* ============================================================================
   SERVICE AREAS LIST — city list styling  [REVISED — fixes the overlap]
   Append to custom.css. Replaces the earlier version of this file.
   ----------------------------------------------------------------------------
   WHAT WAS WRONG

   My first version put `white-space: nowrap` on `.sa-services`. That was the
   bug, and it was my mistake — I wrote it to stop the four links breaking
   mid-group, without checking what container they were landing in.

   `.bullet-list` in your theme is `display: flex; flex-wrap: wrap` with
   `li { width: 48% }`, so it is already a two-column list. Measured on
   /service-areas/ at a 1047px viewport:

       li box                                  288px
       li left padding (the tick icon)          38px
       usable content width                    250px
       "Plumbing · Cooling · Heating · Electrical"
         on one unbreakable line               317px

   67px too wide. nowrap meant it could not wrap, so it ran straight out of the
   left column and printed on top of the right one — which is the "Electrica"
   + "Plumbing" collision in your screenshot. It was not intermittent: all 40
   rows overflowed, worst case by 70px.

   ----------------------------------------------------------------------------
   THE FIX

   Drop the nowrap and let the group wrap inside its column. Re-measured after:
   0 of 40 rows overflow, and the list only grows 1537px -> 1566px, because the
   links were already sitting on their own line — they were just spilling
   sideways instead of wrapping.

   I then simulated progressively narrower columns to make sure it cannot come
   back at some other breakpoint:

       content width    250px  202px  162px  122px   92px   72px
       rows overflowing     0      0      0      0      0     40

   It only fails at 72px, where the single word "Electrical" (78px) no longer
   fits on a line by itself. No column on this site is anywhere near that
   narrow, and `overflow-wrap: break-word` below covers even that case.
   ============================================================================ */

/* Give each city room. The four service links make these rows taller than a
   plain bullet, so the theme's default list spacing runs them together. */
.bullet-list.sa-city-list > li{
  margin-bottom: 0.55em;
  line-height: 1.5;
}

/* The service links: slightly smaller than the city name so the city still
   reads as the heading of its row, and muted so the middot separators do not
   look like part of the links.

   NO white-space here. This is the whole fix — the group must be free to wrap
   inside whatever column width it lands in. */
.sa-city-list .sa-services{
  font-size: 0.88em;
  color: #6B7684;
  overflow-wrap: break-word;
}


/* ----------------------------------------------------------------------------
   MOBILE — put the links on their own line under the city name.
   Cosmetic only now that the wrap is fixed; it just reads more cleanly than
   letting the name and the links share a line on a narrow screen.
   ---------------------------------------------------------------------------- */
@media screen and (max-width: 47.938em){
  .sa-city-list .sa-services{
    display: block;
    margin-top: 0.15em;
  }
}


/* ----------------------------------------------------------------------------
   OPTIONAL — three columns on wide screens instead of the theme's two.

   Note this is NOT `column-count`. I suggested that in the previous version of
   this file and it was wrong: `.bullet-list` is a flex container, and CSS
   multi-column layout is ignored on one. Widening the flex basis is what
   actually works here.

.bullet-list.sa-city-list > li{
  width: 31.3%;
}
@media screen and (max-width: 61.938em){
  .bullet-list.sa-city-list > li{ width: 48%; }
}
@media screen and (max-width: 47.938em){
  .bullet-list.sa-city-list > li{ width: 100%; }
}
   ---------------------------------------------------------------------------- */







.map-crop {
    --map-crop: 60px;
    --map-height: 480px;
    position: relative;
    height: var(--map-height);
    overflow: hidden;
    margin-bottom: 1em;
}

/* Descendant selector, NOT `> iframe`, and that matters.

   WordPress runs wpautop over the Content field, which wraps a bare iframe in a
   paragraph. I checked the live page: the real DOM is
   `div.map-crop > p > iframe`, so a child selector would miss it entirely. */
.map-crop iframe{
  position: absolute;
  top: calc(var(--map-crop) * -1);
  left: 0;
  display: block;
  width: 100%;
  height: calc(100% + var(--map-crop));
  border: 0;
}


/* ----------------------------------------------------------------------------
   MOBILE — a 480px map is a lot of a phone screen. Drop it a bit.
   Only the wrapper height changes; the 60px crop stays the same.
   ---------------------------------------------------------------------------- */
@media screen and (max-width: 47.938em){
  .map-crop{
    --map-height: 320px;
  }
}







#form_careers{
  background: #1C4968;
  border-radius: 18px;
  padding: 2.5em;
}

/* Labels: the one unreadable thing on a dark panel. */
#form_careers .frm_primary_label{
  color: #ffffff;
}

/* The required asterisk. */
#form_careers .frm_required{
  color: #F9A006;
}

/* Field descriptions, if any get added later — same treatment, so a new field
   with help text does not appear as dark-on-navy. */
#form_careers .frm_description{
  color: #D6E1EA;
}

/* Keep the fields reading as white cards on the navy, and firm the border up a
   little now that it sits on a dark ground rather than on white. */
#form_careers input[type="text"],
#form_careers input[type="email"],
#form_careers input[type="tel"],
#form_careers input[type="number"],
#form_careers select,
#form_careers textarea{
  border-color: #ffffff;
}


/* ----------------------------------------------------------------------------
   MOBILE — drop the padding back so the fields keep their width on a phone.
   2.5em each side of a ~340px screen would eat a third of the form.
   ---------------------------------------------------------------------------- */
@media screen and (max-width: 47.938em){
  #form_careers{
    border-radius: 12px;
    padding: 1.25em;
  }
}









.inside-content{
  padding-bottom: 8%;
}

.insideimage {
  position: relative;
  padding: max(1.5rem, 7%) 4% 2% 4%;
  margin-top: max(3rem, 14.5%);
  border-bottom: 0.5em solid #c14c31;
  background-image: url(/wp-content/uploads/2026/07/HVAC-Plumbing-Services-in-Guntersville.webp);
  background-repeat: no-repeat;
  /* --------------------------------------------------------------------
     THE TEAM PHOTO'S CROP.

     The photo is 1280x961 and its composition is fixed: sky and the lake
     fill the top 38%, the team stands from 44% to 94%, grass below that.
     Measured rather than guessed — I profiled the image row by row: the
     top bands are bright and almost edge-free, and edge energy triples
     from 44% down, which is where the people start.

     The old rules anchored the image at or near the TOP at every
     breakpoint (100% -11%, then 100% 0%, then 100% top), so the visible
     window was the photo's top 48-59% at every width: sky, water, and the
     tops of their heads. That is the whole bug.

     The anchor is 88%, which lands the window on the people. But where a
     percentage anchor lands ALSO depends on how tall the banner box is,
     and that box changes with both the heading and the viewport —
     measured, about 289px at 1700 wide down to about 180px at 900. A
     shorter box means a bigger slice of the photo falls outside it, and
     88% of a short box lands below their heads.

     That is exactly what was still clipping at 1043 and 1150: those widths
     were on a flat width-based size, which showed the photo's 48%-94%
     band, and their heads start at 44%.

     So from 768px up the photo is now sized by HEIGHT rather than width.
     The drawn height then tracks the box height, the ratio between the two
     never changes, and the visible slice is fixed whatever the box or the
     viewport does. The numbers are in the two media queries below.
     -------------------------------------------------------------------- */
  /* Base = phones and small tablets. Down here the photo is small relative
     to a banner that has stacked taller, so most or all of it is visible
     anyway and a width-based size is safe. */
  background-position: 100% 85%;
  background-size: 58%;
  z-index: 12;
}

/* From tablet up, size by HEIGHT so the crop cannot drift. Two multipliers
   rather than one, because what decides how much of the photo fits is the
   ratio of photo to box — and that ratio is different on a 1700px banner
   than on a 900px one:

     >= 993px   auto 155%  ->  shows 31%-96% of the photo:
                               13pp of clear sky above their heads
     768-992px  auto 135%  ->  shows 23%-97%: 21pp of headroom, and draws
                               the photo at about 43% of the section instead
                               of the flat 58% the old rule used, which was
                               simply too big for the shorter banner there

   Both are locked: the visible slice is identical at every width AND every
   box height within each band, so a heading that wraps to two lines can no
   longer push their heads out of frame. */
@media (min-width: 48em) and (max-width: 992px) {
  .insideimage {
    background-size: auto 135%;
    background-position: 100% 64%;
  }
}

@media (min-width: 993px) {
  .insideimage {
    /* background-size: auto 155%; */
    background-position: 100% 51%;
  }
}

/* Laptop range: box height starts outgrowing the scaled image
   faster than at full desktop width -â‚¬Â pull the anchor up. */
/* The 1400px background override that used to live here (100% 0% / 50%) is
   gone: it anchored the photo to the top, which is part of what cut the team
   off, and the height-based sizing above reproduces the width it was tuned
   to on its own. */

/* Small laptop / large tablet: give it more room and anchor
   fully to the top so the head can't get pushed past the edge. */
/* Same for the 1200px override — its two background lines are gone for the
   same reason. The margin-top is layout rather than image, so it stays. */
@media (max-width: 1200px) {
  .insideimage {
    margin-top: max(4rem, 18%);
  }
}

/* Just above wherever your existing mobile rule swaps to plain blue -â‚¬Â
   replace 881px with your actual "no image" breakpoint so this hands
   off cleanly instead of jumping. */
@media (max-width: 992px) and (min-width: 881px) {
  .insideimage {
    /* background-position: center top; */
    /* background-size: 68%; */
  }
}


.insideimage:after{
  content:'';
  position: absolute;
  left: -20%;
  bottom: 0%;
  height: 110%;
  width: 80%;
  background: #1c4968;
  transform: skew(-20deg, 0deg);
  box-shadow: 0.8em 0em #c14c31;
}


.insideimage .slider-usp {
    bottom: -4em;
    position: relative;
    z-index: 3;
    width: 65%;
    margin: 0em auto -1em 0;
    bottom: -2em;
}

.insideimage .truck-image:after{
  bottom: 0em;
  right: 2em;
}

.insideimage .slider-usp.row>*{
  padding: 0 .4em;
}



.insideimage .slider-usp .usp-box {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  border: 2px solid #dfe4e9;
  border-radius: 1rem;
  transition: all 0.35s cubic-bezier(.22,1.2,.36,1);
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.insideimage .slider-usp .usp-box {
    font-size: 0.7em;
    width: 100%;
    /* color: black; */
    transition: all .3s 
ease-in-out;
    height: 8.8em;
    text-align: center;
    border: 1px solid #dfe4e9;
    background: white;
    padding: 0.1em;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* HOVER: color fill + pop */
.insideimage .slider-usp .usp-box:hover {
  background: #c14c31; /* hero blue */
  border-color: #c14c31;
  transform: translateY(-6px) scale(1.04);
  box-shadow:
    0 10px 22px -6px rgba(0,0,0,.35),
    0 0 16px 4px rgba(249,160,6,.35);
}

/* ICON */
.insideimage .slider-usp .usp-box span {
    display: block;
    font-size: 3.5em;
    color: #1c4968;
    transition: all 0.35s cubic-bezier(.22, 1.2, .36, 1);
}

/* ICON hover motion */
.insideimage .slider-usp .usp-box:hover span {
  color: #ffffff;
  transform: scale(1.15) rotate(-8deg);
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.25));
}

/* TEXT */
.insideimage .slider-usp .usp-box p {
  margin: 0;
  color: #2c2c2c;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: color 0.3s ease;
}

/* Text turns white on hover */
.insideimage .slider-usp .usp-box:hover p {
  color: #fff;
}






















.banner-head {
    position: relative;
    color: #ffffff;
    letter-spacing: .12em;
    font-size: 1.9em;
    text-transform: uppercase;
    z-index: 2;
    padding-left: 0.5em;
    border-radius: 0em;
    width: 55%;
       font-family: var(--corbins-display);
    font-weight: 800;
}

.banner-head:after{
  content:'';
  position: absolute;
  left: -0.3em;
  top: 0em;
  background: #c14c31;
  border-radius: 90em;
  width: .25em;
  height: 100%;
}

.extra-pad{
  padding: 0 5%;
}

.wp-video{
  margin: auto;
}


#breadcrumbs {
    border-bottom: solid 1px rgba(0, 0, 0, 0.18);
    color: black;
    z-index: 999;
    position: relative;
    margin-bottom: 0px;
    margin-right: auto;
    margin-top: 30px;
    padding: 0% 2% 1.8% 1%;
}

#breadcrumbs a {
    color: #c14c31;
    font-weight: 900;
    text-decoration: none;
}

#breadcrumbs .icon-home {
    font-size: 1.2em;
    border-right-width: thin;
    border-right-style: solid;
    border-right-color: rgba(0, 0, 0, 0.2);
    padding: 1em;
    margin-right: 12px;
    color: #c14c31;
}

 
.inside-section-3 h2, .inside-section-4 h2{
  font-size: 2em;
  font-weight: 900;
}

.inside-section-4 h2{
  color: #2c2c2c;
}

.inside-section-3.careers-padding{
  margin-top: 15%;
}

.inside-section-3{
  position: relative;
  background-color: #f3f5f7;
  padding: 6% 7% 4% 7%;
  color: #2c2c2c;
  z-index: 9;
}



.inside-section-3 blockquote:before{
}

.inside-section-3 h2{
  color: #1c4968;
}

.inside-section-3 .accordion-button,.inside-section-4  .accordion-button{
    padding: 1rem 1.25rem;
    font-size: 1rem;
    color: #ffffff;
    background-color: #1c4968;
    letter-spacing: .08em;
}

.inside-section-3 .accordion-item, .inside-section-4 .accordion-item{
  background-color: #f3f5f7;
  color: #2c2c2c;
}

.inside-section-3 .accordion-button:not(.collapsed),.inside-section-4 .accordion-button:not(.collapsed) {
    color: #ffffff;
    background-color: #c14c31;
}

.inside-section-3 .accordion,.inside-section-4 .accordion{
  margin-bottom: 2em;
}

.inside-section-4{
  position: relative;
  background-color: #ffffff;
  padding: 3% 7% 6% 7%;
  color: black;
}

.inside-section-3 .accordion-button::after, .inside-section-4 .accordion-button::after{
  -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
}

.inside-section-3 .accordion-button:hover, .inside-section-4 .accordion-button:hover{
  background-color: #143a52;
  color: white!important;
}

.inside-section-3 .accordion-button:hover h2, .inside-section-4 .accordion-button:hover h2{
  color: white;
}

.inside-section-3 .accordion-button:not(.collapsed) h2,.inside-section-4 .accordion-button:not(.collapsed) h2{
  color: white;
}

.inside-section-3 .bullet-list{
  position: relative;
  /* color: white; */
}

.inside-section-3 .bullet-list li{
  padding: 0.1em 0.1em 0.1em 1.8em;
}

.inside-section-3 .bullet-list li:after {
    top: 0.05em;
    left: 0.2em;
}


.emp-form{
    position: relative;
    padding: 6% 5% 3% 5%;
    background-color: #f3f5f7;
    border-radius: 1em;
  margin: 1em auto 3em auto;
  width: 85%;
}

.emp-form .with_frm_style .vertical_radio .frm_checkbox label, .emp-form .with_frm_style .vertical_radio .frm_radio label{
  color: #fff;
}

.emp-form .frm_style_formidable-style-2.with_frm_style input[type=submit]{
  display: block;
  width: 100%;
  padding: 1em 0em;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-size: 1.1em;
  background-color: #c14c31;
  color: white;
  border: 0;
  box-shadow: none;
}

.emp-label{
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #2c2c2c;
  font-size: 1.2em;
  margin-bottom: .8em;
  text-align: left;
}

.insideimage .not-active{
  display: none;
}

.insideimage .activate{
  position: relative;
  display: block!important;
  z-index: 9;
}

.insideimage .activate a{
  color: white;
  position: relative;
  z-index: 3;
  transition: all .3s ease-in-out;
  display: block;
  padding-left: 0em;
  border-radius: 900em;
  letter-spacing: .09em;
  font-size: 1.2em;
  margin-bottom: -1em;
  width: 16.5em;
  text-align: center;
  margin-left: 3.8em;
}

.insideimage .activate a:hover{
  background-color: #143a52;
}

/* Opening CTA Inner CSS  */ 

blockquote {
    font-size: 1.22em!important;
    margin-top: 35px!important;
    width: 95%;
    border-left: aliceblue;
    position: relative;
    padding: 1em 2.5em 1em 2.5em!important;   /* was 4em on the right, for the mascot */
    margin: 4% 1% 6% 1%!important;
    z-index: 9;
    color: #2c2c2c!important;
}

blockquote, blockquote p {
    line-height: 1.6;
    margin-bottom: 0em;
    color: #ffffff !important;
}

/* The Albritton mascot that used to sit in the bottom-right corner of every
   opening-CTA blockquote has been removed: it is another company's character,
   and the file 404s here anyway. The right-hand padding on `blockquote` below
   was reserved for it — reduced to match, so the copy uses the full width. */


blockquote:before {
    content: '';
    position: absolute;
    bottom: 0em;
    left: 0em;
    height: 100%;
    width: 100%;
    transition: all .3s ease-in-out;
    z-index: -01;
    background-color: #1c4968;
    border-top-right-radius: 0em;
    border-radius: 0em;
    border-top-left-radius: 0em;
    border-bottom-left-radius: 0em;
    border-left: 0.8em solid #c14c31;
    border-top: 1px solid #dfe4e9;
    border-right: 1px solid #dfe4e9;
    border-bottom: 1px solid #dfe4e9;
    transform: skew(-6deg, 0deg);
}
 
blockquote a{color: #c14c31;text-decoration: none;}

blockquote a:hover{color: #ffffff;}



blockquote.nnp-ci-body::before {
    transform: none;
    border-left: none;
    border-top: none;
    border-right: none;
    border-bottom: none;
}


#breadcrumbs {
    border-bottom: solid 1px rgba(0, 0, 0, 0.18);
    color: #2c2c2c;
    z-index: 0;
    position: relative;
    margin-bottom: 0px;
    margin-right: auto;
    margin-top: 1.5em;
}

.inside-content h1 {
    margin-bottom: -1px;
    color: #1c4968;
    font-weight: 900;
    font-size: 2.5em;
}

.inside-content h1 strong{
    color: #3d6d8f;
}

.inside-content h1 span{
  display: block;
  font-size: .6em;
      font-family: var(--corbins-display);
  font-weight: normal;
  color: white;
}

.inside-content h2 em{
  font-size: .8em;
      font-family: var(--corbins-display);
  font-weight: normal;
  font-style: normal
}

.inside-content h2 {
    color: #1c4968 !important;
    font-weight: 900;
    font-size: 1.8em;
        font-family: var(--corbins-display);
}

.inside-content h3 {
    color: #1c4968;
    font-weight: 900;
    font-size: 1.4em;
        font-family: var(--corbins-display);
}

.inside-section-4 h3{
     font-size: 1.4em;
}

.inside-section-3 h3 {
    font-size: 1.4em;
    font-weight: 700 !important;
}
.inside-section-2 h3{
     font-size: 1.4em;
}

.inside-section-1 h3{
     font-size: 1.4em;
}

.inside-content h5{
  font-size:  1.3em;
}

.coup-page{
  position: relative;
  padding-bottom: 7%;
}

.coup-page .text-highlight{
  margin-bottom: 3em;
}

.coup-page .col-lg-6{
  margin: 0em  0 2.5em 0!important;
}

.rev-sec-in {
  position: relative;      /* anchors the ::after overlay */
  overflow: hidden;        /* clips the bg image to the section */
  padding: 4em 4em !important;
  /* The Albritton hero photo this used to load 404s on this site. Replaced
     with the same faint graph-paper texture the homepage bands use, over navy
     — which is also what Section 2 of the homepage does, so the reviews band
     reads the same on an inner page as it does on the front page. */
  background-color: #1c4968;
  background-image: url(/wp-content/uploads/2026/01/2.png);
  background-position: center;
  background-size: cover;
}



.rev-sec-in::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: .6;
  pointer-events: none;
  background-image: repeating-linear-gradient(-12deg, transparent 0 38px, rgba(255,255,255,.035) 38px 40px);
}






.rev-sec-in::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(28,73,104,0.94) 0%, rgba(28,73,104,0.90) 100%);
}

/* Force real content (headings, text, buttons) above the overlay */
.rev-sec-in > * {
  position: relative;
  z-index: 1;
}

.rev-box .btn-secondary {
    border-color: #ffffff !important;
    color: #ffffff !important;
}

.rev-box .sec2-header {
    color: #ffffff;
      text-align: center;
     font-family: var(--corbins-display);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 2.8em;
    color: #ffffff;
    margin-bottom: 0em;
}



.rev-header{
      font-family: var(--corbins-display);
  text-align: center;
  font-size: 2.6em;
  line-height: 1.2;
  color: #2c2c2c;
  font-weight: 400;
}

.rev-header strong{
      font-family: var(--corbins-display);
  text-align: center;
  font-size: 1.3em;
  line-height: 1;
  color: #2c2c2c;
  font-weight: 400;
}
.rev-btns{margin-top: 2em;width: 60%;}



.deal-price{
  position: relative;
  font-weight: bold;
  font-size: 4em;
  line-height: 1.2;
  text-shadow: -0.08em 0.09em 0.2em #00000005;
  color: #2c2c2c;
      font-family: var(--corbins-display);
  margin-top: 0.4em;
}

.deal-price span{
  display: block;
  font-size: 0.5em;
  padding: 1% 7%;
}

.deal-offer{
  position: relative;
  font-size: 1.4em;
  line-height: 1.4;
  display: block;
  margin: 2% 0 2% 0;
  color: #2c2c2c;
    font-family: var(--corbins-display);
}

.deal-offer span{
  display: block;
  font-size: .7em;
}

.coup-page{
  position: relative;
  padding-bottom: 7%;
}

.coup-page .text-highlight{
  margin-bottom: 3em;
}


.coup-page .home-coup img{
  width: 11em;
  left: 0;
  margin-bottom: 0.8em;
}

.coup-page .col-lg-6{
  margin: 0em  0 2.5em 0!important;
}

.coup-page .home-coup{
  text-align: center;
  width: 90%;
  padding: 9% 10% 5% 10%;
}

.coup-page .home-coup .btn{
  margin: 0.4em auto 1em auto;
  background-color: #f9a006;
  border: 0;
  color: white;
  margin: 1em auto;
  display: block;
  width: 90%;
}

.coup-page .home-coup p{
  font-size: .8em;
}


/* Coupons tabs (Plumbing / HVAC) */
#couponsTabs.nav-tabs {
  border-bottom: 2px solid #c14c31;
  gap: 10px;               /* modern browsers */
}

/* Base tab button/link */
#couponsTabs .nav-link {
  color: #c14c31;
  background: #ffffff;
  border: 2px solid #c14c31;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  padding: 10px 18px;
  font-weight: 700;
  line-height: 1;
  transition: background-color .2s ease, color .2s ease, transform .15s ease;
}

/* Hover / focus */
#couponsTabs .nav-link:hover,
#couponsTabs .nav-link:focus {
  background: #c14c31;
  color: #c14c31;
  transform: translateY(-1px);
  outline: none;
  box-shadow: none;
}

/* Active tab */
#couponsTabs .nav-link.active,
#couponsTabs .nav-link[aria-selected="true"] {
  background: #c14c31;
  color: #ffffff;
  border-color: #c14c31;
  position: relative;
  top: 2px; /* visually connects active tab to panel */
}

/* Tab panel container (optional - makes it look "connected") */


/* Mobile: allow horizontal scroll if tabs wrap tight */
@media (max-width: 575px) {
  #couponsTabs.nav-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  #couponsTabs .nav-link {
    white-space: nowrap;
  }
}







#couponsTabs .nav-link:hover,
#couponsTabs .nav-link:focus {
  background: #c14c31;
  color: #ffffff;            /* was #c14c31 — rust text on a rust fill */
  transform: translateY(-1px);
  outline: none;
  box-shadow: none;
}


/* ============================================================================
   FIX 2 of 3 — "Get This Deal" has no visible button
   ----------------------------------------------------------------------------
   The text was never the problem. Measured on the live page:

       button text        rgb(255,255,255)   white
       button background  rgb(28, 73, 104)   navy
       the card behind it rgb(28, 73, 104)   the SAME navy
       border             0px

   So the label sits at a healthy 9.5:1 against the card, but the button itself
   has no shape at all — no fill you can distinguish, no edge. It reads as a
   line of text, not something to click. That is what "can't see it" was.

   Rust fill, which is the CTA colour everywhere else on the site, plus a white
   hairline border. The border matters: rust against navy is only 1.97:1 as a
   shape boundary, under the 3:1 that a UI control needs to be discernible,
   whereas white against navy is 8.6:1 — so the border is what actually draws
   the button. White on rust is 4.77:1, so the label still passes AA.

   Hover inverts to a white fill with rust text, matching the sidebar coupon
   button's behaviour.

   Scoped to `.coupon.max-coupon` (not `.coup-page`) deliberately, so the
   PRINTED duplicate is styled too — the print pop-up copies only the card's
   own markup, without the page around it.
   ============================================================================ */

.coupon.max-coupon .print-block > a.btn-primary {
  display: inline-flex;
  width: auto;
  margin: 0 auto;
  padding: .85em 1.6em;
  background-color: #c14c31;
  border: 2px solid #ffffff;
  border-radius: 12px;
  color: #ffffff !important;
  font-family: var(--corbins-display);
  font-size: .95em;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.coupon.max-coupon .print-block > a.btn-primary:hover,
.coupon.max-coupon .print-block > a.btn-primary:focus {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #c14c31 !important;
}

/* In the print pop-up the card goes light (see the @media print block further
   up this file), so a white-bordered button would vanish on white paper. */
@media print {
  .coupon.max-coupon .print-block > a.btn-primary {
    display: none !important;
  }
}


/* ============================================================================
   ADDITION 3 of 3 — spacing for the tab strip and its panels
   ----------------------------------------------------------------------------
   The existing #couponsTabs rules style the tabs themselves but nothing sets
   the strip's position relative to the coupon grid, because the tabs were
   never rendered before.
   ============================================================================ */

.coup-page #couponsTabs.nav-tabs {
  margin: 2em 0 0 0;
  border-bottom-width: 2px;
}

.coup-page .coup-tab-content {
  padding-top: 2em;
}

/* The little count bubble on each tab. */
#couponsTabs .coup-tab-count {
  display: inline-block;
  min-width: 1.5em;
  margin-left: .5em;
  padding: .1em .35em;
  border-radius: 900em;
  background: rgba(28,73,104,.12);
  color: inherit;
  font-size: .8em;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

#couponsTabs .nav-link.active .coup-tab-count,
#couponsTabs .nav-link:hover .coup-tab-count,
#couponsTabs .nav-link:focus .coup-tab-count {
  background: rgba(255,255,255,.25);
}

/* Bootstrap's .fade on a tab pane starts at opacity 0; if the JS bundle ever
   fails to load, every pane would be invisible. This keeps the first pane
   readable in that case rather than showing an empty page. */
.coup-tab-content > .tab-pane:first-child {
  opacity: 1;
}










.side-coup{
  position: relative;
  width: 100%;
  margin: 2em auto 2em auto;
  background-color: #c14c31;
  background-size: 55%;
  background-position: bottom left;
  background-repeat: no-repeat;
  padding: 5% 10% 7% 10%;
  outline: .3em dashed #2c2c2c;
  outline-offset: -1em;
  text-align: center;
  border-radius: 2em;
}
.side-coup p{
  font-size: 0.8em;
  color: #2c2c2c;
}

.side-price{
  position: relative;
  margin-top: 2%;
  font-weight: 900;
  font-size: 4.2em;
  color: #1c4968;
}

.side-offer{
    font-size: 1.3em;
    position: relative;
    margin-bottom: 3%;
    letter-spacing: .02em;
}

.side-offer span{
  display: block;
  font-size: .7em;
}

.side-coup .btn-primary{
  display: block;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff !important;
  padding: 0.6em 1em;
  font-size: 1em;
  width: 90%;
  margin: 1em auto;
  background-color: #c14c31;
  border: 2px solid transparent;        /* prevents layout shift */
  transition: all .25s ease;
}

.side-coup .btn-primary:hover,
.side-coup .btn-primary:focus{
  background-color: #c14c31;             /* keep background */
  color: #ffffff !important;
  border-color: #ffffff;
}





/* Coupon wrapper in sidebar */
.sidebar .coupon{
  position: relative;
  padding: 1.5em 2em 2em 2em;
  background: #c14c31;               /* dark blue */
  width: 100%;
  color: #ffffff !important;
  outline: .2em dashed #ffffff;
  outline-offset: -0.9em;
  border-radius: 0px;
  box-shadow: 0 10px 20px -12px rgba(0,0,0,.45);
  text-align: center;
  margin-bottom: 2em;
  margin-top: 2em;
}

/* PRICE
   Scoped to .sidebar rather than #sidebar1: the template renders a desktop
   sidebar AND a mobile one (previously both carried id="sidebar1", which is
   invalid — duplicate IDs — and is now #sidebar1 / #sidebar2). Targeting the
   class styles both. */
.sidebar .price{
  margin: 0 0 .15em;
         font-family: var(--corbins-display);
  font-size: 3em;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ffffff;
}

/* OFFER text */
.sidebar .offer{
  margin: 0 0 1.1em;
  font-size: 1.2em;
  font-weight: bold;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #ffffff;
}

/* Button */
.sidebar .coupon .btn{
  display: block;
  width: 80%;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #ffffff;
  background: #1c4968;
  border: 2px solid #ffffff;
  margin-top: .2em;
}

/* Button hover */
.sidebar .coupon .btn:hover{
  background: #143a52;
  color: #ffffff;
}

/* Optional: tiny lift on hover of whole coupon */
.sidebar .coupon:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 26px -14px rgba(0,0,0,.6);
}







.coup-page [data-equalizer="coup1"]{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: stretch;
  gap: 1.8em;
  margin: 0 !important;
}

.coup-page [data-equalizer="coup1"] > div{
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* --- The card itself --- */

.coup-page .coupon.max-coupon{
  position: relative;
  height: 100%;
  box-sizing: border-box;
  background-color: #1c4968;
  color: #ffffff;
  text-align: center;
  border-radius: 1em;
  padding: 2.2em 1.8em 2.4em;
  outline: .25em dashed rgba(255,255,255,.35);
  outline-offset: -.9em;
  box-shadow: 0 14px 26px -14px rgba(0,0,0,.5);
  transition: transform .3s ease-in-out, box-shadow .3s ease-in-out, outline-color .3s ease-in-out;
}

.coup-page .coupon.max-coupon:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 32px -16px rgba(0,0,0,.6);
}

/* Alternating red / blue accent, same pairing as the homepage carousel's
   .coupon-card:nth-child(odd)/(even) */
.coup-page [data-equalizer="coup1"] > div:nth-child(odd) .coupon.max-coupon{
  outline-color: rgba(193,76,49,.55);
}

.coup-page [data-equalizer="coup1"] > div:nth-child(even) .coupon.max-coupon{
  outline-color: rgba(249,160,6,.55);
}

/* --- Price ("$50 OFF") --- */

.coup-page .coupon .price{
      font-family: var(--corbins-display);
  font-size: 2.5em;
  font-weight: 800;
  font-style: italic;
  line-height: 1;
  color: #ffffff;
  margin: 0 0 .35em;
}

/* Optional: if you want the "$" and "OFF" picked out in red like
   savingplumbing.com/coupons, wrap them in the price_main field content,
   e.g.  <span class="price-accent">$</span>50 <span class="price-accent">OFF</span>
   ACF text fields print their raw value here, so this markup is safe to
   type directly into the field -â‚¬Â no template change needed. */
.coup-page .coupon .price .price-accent{
  color: #c14c31;
}

/* --- Offer title ("AC System Repair") --- */

.coup-page .coupon .offer{
  font-size: 1.05em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #ffffff;
  margin: 0 0 1.2em;
}

/* --- Button --- */

.coup-page .coupon .print-block{
  margin-bottom: 1em;
}

.coup-page .coupon .print-block > a.btn-primary{
  display: inline-flex;
  width: auto;
  margin: 0 auto;
}

/* --- Fine print --- */

.coup-page .coupon p{
  font-size: .78em;
  line-height: 1.5;
  color: rgba(255,255,255,.72);
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
  padding: 0 2%;
}

/* --- Mobile: stack to one column --- */

@media (max-width: 767px){
  .coup-page [data-equalizer="coup1"]{
    grid-template-columns: 1fr;
  }
}


/* ==========================================================================
   COUPONS PAGE -â‚¬Â Coupon Cards  (Template Name: Coupons Page Template)
   Styles the ACF "coupon_info" repeater output from couponspage.php:

     <div class="row" data-equalizer="coup1">
       <div class="col-sm-12 col-md-6 col-lg-6">
         <div class="coupon max-coupon">
           <div class="price">...</div>
           <div class="offer">...</div>
           <div class="print-block"><a class="btn btn-primary">Get This Deal</a>...</div>
           <p>fine print</p>
         </div>
       </div>
       ...
     </div>

   IMPORTANT: the same "coupon max-coupon" markup is duplicated a second
   time, hidden (style="display:none"), inside each
   <div id="prinReady0N">...</div> block -â‚¬Â that's what binnycoupon.js's
   printSpecial() copies into the pop-up print window. That pop-up only
   copies the .coupon.max-coupon markup itself, not the page around it, so
   the card/price/offer/paragraph rules below are written WITHOUT a
   ".coup-page" ancestor requirement -â‚¬Â on purpose -â‚¬Â so the printed coupon
   matches the on-page card instead of falling back to unstyled text.
   Only the grid/layout rules (which only matter on the real page) stay
   scoped to .coup-page.

   Nothing here changes the template or the ACF fields -â‚¬Â it only styles the
   classes that template already outputs. Matches the dark dashed-card
   language already used elsewhere on this site (.coupon-card on the
   homepage carousel, .sidebar .coupon in the sidebar widget) instead of
   inventing a new look, and alternates red/blue accents card-to-card the
   same way the homepage carousel does.
   ========================================================================== */

/* --- Grid: two coupons per row, equal height, no dependency on the
   data-equalizer JS plugin (page layout only, not needed in the print
   pop-up) --- */

.coup-page [data-equalizer="coup1"]{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: stretch;
  gap: 1.8em;
  margin: 0 !important;
}

.coup-page [data-equalizer="coup1"] > div{
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Alternating red / blue accent on the page grid, same pairing as the
   homepage carousel's .coupon-card:nth-child(odd)/(even) */
.coup-page [data-equalizer="coup1"] > div:nth-child(odd) .coupon.max-coupon{
  outline-color: rgba(193,76,49,.55);
}

.coup-page [data-equalizer="coup1"] > div:nth-child(even) .coupon.max-coupon{
  outline-color: rgba(249,160,6,.55);
}

/* --- The card itself -â‚¬Â no .coup-page requirement, so this also styles
   the hidden duplicate that gets printed --- */

.coupon.max-coupon{
  position: relative;
  height: 100%;
  box-sizing: border-box;
  background-color: #1c4968;
  color: #ffffff;
  text-align: center;
  border-radius: 1em;
  padding: 2.2em 1.8em 2.4em;
  outline: .25em dashed rgba(255,255,255,.35);
  outline-offset: -.9em;
  box-shadow: 0 14px 26px -14px rgba(0,0,0,.5);
  transition: transform .3s ease-in-out, box-shadow .3s ease-in-out, outline-color .3s ease-in-out;
}

.coup-page .coupon.max-coupon:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 32px -16px rgba(0,0,0,.6);
}

/* --- Price ("$50 OFF") --- */

.coupon.max-coupon .price{
     font-family: var(--corbins-display);
  font-size: 2.5em;
  font-weight: 800;
  font-style: italic;
  line-height: 1;
  color: #ffffff;
  margin: 0 0 .35em;
}

/* Optional: if you want the "$" and "OFF" picked out in red like
   savingplumbing.com/coupons, wrap them in the price_main field content,
   e.g.  <span class="price-accent">$</span>50 <span class="price-accent">OFF</span>
   ACF text fields print their raw value here, so this markup is safe to
   type directly into the field -â‚¬Â no template change needed. */
.coupon.max-coupon .price .price-accent{
  color: #c14c31;
}

/* --- Offer title ("AC System Repair") --- */

.coupon.max-coupon .offer{
  font-size: 1.05em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #ffffff;
  margin: 0 0 1.2em;
}

/* --- Button (never appears in the print-ready duplicate, only on-page) --- */

.coupon.max-coupon .print-block{
  margin-bottom: 1em;
}

.coupon.max-coupon .print-block > a.btn-primary{
  display: inline-flex;
  width: auto;
  margin: 0 auto;
}

/* --- Fine print --- */

.coupon.max-coupon p{
  font-size: .78em;
  line-height: 1.5;
  color: rgba(255,255,255,.72);
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
  padding: 0 2%;
}

/* --- Mobile: stack the on-page grid to one column --- */

@media (max-width: 767px){
  .coup-page [data-equalizer="coup1"]{
    grid-template-columns: 1fr;
  }
}

/* --- Print --- */
/* binnycoupon.js's printSpecial() writes the coupon's markup into a fresh
   popup document and calls window.print() on it, which genuinely triggers
   @media print -â‚¬Â but most browsers don't print background colors/images
   unless the user has "Background graphics" checked in the print dialog.
   A dark navy card with white text would risk printing as an all-white
   page (invisible text) for anyone who leaves that box unchecked, so print
   gets its own light, ink-friendly version: white background, dark text,
   solid dashed border (borders/text always print regardless of that
   setting). This block applies equally to the on-page card if the visitor
   prints the whole page. */
@media print{
  .coupon.max-coupon{
    background-color: #ffffff !important;
    color: #2c2c2c !important;
    outline: .18em dashed #2c2c2c !important;
    outline-offset: -.7em;
    box-shadow: none !important;
  }
  .coupon.max-coupon .price,
  .coupon.max-coupon .offer{
    color: #2c2c2c !important;
  }
  .coupon.max-coupon .price .price-accent{
    color: #9d3d27 !important;
  }
  .coupon.max-coupon p{
    color: #333333 !important;
  }
}




/* List Style 1 Inner CSS  */ 

.bullet-list{
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    list-style: none;
    padding: 10px;
}

.bullet-list li {
    position: relative;
    padding: 0.2em .1em 0.2em .1em;
    padding-left: 2em;
    font-size: 1.2em;
    font-weight: 500;
    width: 48%;
}

.bullet-list li:after {
    content: "\f058";
    font-family: 'icomoon' !important;
    position: absolute;
    top: 0;
    left: 0;
    color: #c14c31;
    font-size: 1.333em;
    border-radius: 50%;
    line-height: 1;
}

.bullet-list li a{
  color: #c14c31;
  text-decoration: none;
}

.bullet-list li a:hover{
  color: #c14c31;
}

/* ---------------------- */

/* List Style 2 Inner CSS  */ 

.check-list li{
    display: block!important;
    padding: .8em 1em .8em 4em!important;
    border-bottom: solid 1px rgba(0, 0, 0, 0.14)!important;
    position: relative!important;
    line-height: 1.5em!important;
    text-align: left!important;
    width:100%!important;
}

.check-list  {
    display: block!important;
    margin: 1em 0!important;
    padding: 0!important;
    border: solid 1px rgba(0, 0, 0, 0.08)!important;
}

.check-list li:before {
    content: "\f00c";
    font-family: 'icomoon' !important;
    color: #c14c31;
    display: block;
    position: absolute;
    font-size: 1.2em;
    top: 0.8em;
    left: 1.06em;
    z-index: 2;
}

.check-list li:after{
  content: '';
  position: absolute;
  background-size: 100%;
  width: 2.5em;
  height: 2.5em;
  top: 0.4em;
  left: 0.3em;
  background-repeat: no-repeat;
}

.check-list li strong {
    text-transform: uppercase;
    font-size: 1.025em;
    color: #c14c31;
}

.check-list li a{
  color: #c14c31!important;
}

.check-list li a:hover {
    color: #1c4968 !important;
}


/* ---------------------- */





.inner-bottom{
  margin-top: 0%;
  color: #2c2c2c!important;
  z-index: 99;
  padding: 8em 7% 2em 7%;
  position: relative;
  background-color: #1c4968;
  z-index: 13;
  position: relative;
}

.inner-bottom .usp-blk{
  height: 24em;
}

.inner-bottom .usp-label{
  font-weight: 900;
  line-height: 1.1;
  margin: .4em 0;
  color: #1c4968;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.inner-bottom.section-2:before{
  height: 100%;
}


.inner-bottom .carousel-control-prev {
    left: -6em;
}

.inner-bottom .carousel-control-next {
    right: -6em;
}


.inner-bottom .carousel{
}

.inner-bottom .row>*{
  /* padding: 0 .8%; */
}

.inner-bottom .usp-wrap{
  position: relative;
  margin-top: 0em;
}

.inner-bottom .usp-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1em;
    width: 100%;
    margin: 0 0 2em 0;
}

.inner-bottom .usp-wrap.row>* {
    /* padding: 0% 0.7%; */
}




.inner-bottom{
  padding: 3.5rem 7%;
  /* inner-bottem-bg1.jpg 404s on this site. Same treatment as the reviews
     band: the homepage texture over navy, washed so the white USP cards keep
     their contrast. */
  background-color: #1c4968;
  background-image: linear-gradient(rgba(28,73,104,.90), rgba(28,73,104,.90)),
                    url(/wp-content/uploads/2026/01/2.png);
  background-size: cover;
  background-position: center;
  position: relative;
}

/* IMPORTANT: allow rotated cards to show without getting clipped */
.inner-bottom .carousel-inner{
  overflow: visible;
}

.inner-bottom .row{
  justify-content: center;
  align-items: stretch;
}

.inner-bottom .usp-blk{
  background: #ffffffe8;                 /* <-- card background */
  border-radius: 2.5rem;            /* pill-ish rounded corners like example */
  padding: 2rem 1.75rem;
  text-align: center;
  width: 100%;                      /* <-- let the column control width */
  max-width: 520px;                 /* keeps it from getting too wide */
  margin: 0 auto;                   /* center inside the column */
  min-height: 240px;                /* instead of fixed height */
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* min-height: 415px; */
  /* box-shadow: 0 18px 40px rgba(0,0,0,.15); */
}



.inner-bottom .usp-blk span{
  font-size: 78px;
  line-height: 1;
  color: #c14c31;
}

/* Make columns equal height */
.inner-bottom .carousel-item .row{
  align-items: stretch;            /* key */
}

/* Ensure each col behaves nicely */
.inner-bottom .carousel-item .row > [class*="col-"]{
  display: flex;                   /* key */
}

/* The card fills its column and stacks content cleanly */
.inner-bottom .usp-blk{
  width: 100%;
  height: 100%;                    /* key */
  margin: 0;                       /* let the column spacing handle this */
  padding: 2rem 1.75rem;

  display: flex;                   /* key */
  flex-direction: column;
  justify-content: flex-start;

  background: #fff;
  border-radius: 2.25rem;
  box-shadow: 0 18px 40px rgba(0,0,0,.15);
}

/* Optional: keep icon/label tidy */
.inner-bottom .usp-blk .usp-label{
  margin: .75rem 0 .5rem;
}

.inner-bottom .usp-blk p{
  margin: 0;
}



/* Mobile: stack with space between (and no rotations) */
@media (max-width: 767px){
  .inner-bottom .carousel-item .row{
    row-gap: 1rem;                 /* adds the missing spacing */
  }

  .inner-bottom .box-1,
  .inner-bottom .box-3{
    transform: none !important;
  }

  .inner-bottom .usp-blk{
    border-radius: 1.75rem;
    padding: 1.5rem 1.25rem;
  }
}



/* If you added this earlier, remove it (it breaks the grid at mid widths) */
/* .inner-bottom .carousel-item .row{ column-gap: 2rem; } */

/* Tablet / ~880px tuning */
@media (min-width: 768px) and (max-width: 991px){

  /* Let Bootstrap gutters handle spacing */
  .inner-bottom .carousel-item .row{
    column-gap: 0 !important;
    row-gap: 0 !important;
  }

  /* Reduce card bulk so 3-up fits nicely */
  .inner-bottom .usp-blk{
    padding: 1.25rem 1rem;
    border-radius: 1.75rem;
    font-size: .9rem;
    min-height: 210px;          /* keeps them visually even */
  }

  /* Prevent cards from trying to be too wide */
  .inner-bottom .usp-blk{
    max-width: none !important;
  }

  /* If icons are big, scale them down slightly */
  .inner-bottom .usp-blk svg,
  .inner-bottom .usp-blk img{
    max-height: 48px;
    height: auto;
  }
}
@media (min-width: 768px) and (max-width: 991px){
  .inner-bottom .carousel-item .row{
    --bs-gutter-x: 1.25rem;
    --bs-gutter-y: 1.25rem;
  }
}


/* Opening CTA Inner CSS  */ 

.text-highlight {
    font-size: 1.36em;
    font-style: italic;
    color: #2c2c2c;
    position: relative;
    font-weight: 500!important;
    margin-top: 8px;
    padding-bottom: 3%;
    margin-bottom: 39px;
    line-height: 1.4!important;
}

.text-highlight:not(.no-line):after {
    content: ' ';
    display: block;
    width: 159%;
    height: 4px;
    background-color: #1c4968;
    position: absolute;
    top: 99%;
    right: 20px;
}

.text-highlight p{
  margin-bottom: 0;
}

 .text-highlight2 {
    font-size: 1.25em;
    padding: 1.5em 3% 1.1em;
    position: relative;
    border-bottom: solid 1px #00000054;
    text-align: center;
    margin: 4.5rem 0 0.5rem 0em;
    color: #2c2c2c;
    font-weight: 900;
    text-wrap: balance;   
}

.text-highlight2:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right,#00000040 41.99%,#FFFFFB 42%,#FFFFFF 58.99%,#00000040 55%);
}


.text-highlight2:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 3.4em;
    background-size: 5.6em;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    left: 0.2em;
    top: -2.15em;
    /* Corbin's logo, replacing the Albritton logo spread that 404s here. PNG
       with transparency, so no white box behind it on the paper background. */
    background-image: url(/wp-content/uploads/2026/02/Corbins-Logo.png) !important;
}


 .text-highlight2 a{
   display: unset;
   color: #c14c31;
   transition: all .3s ease-in-out;
   transform: scale(1);
   position: relative;
   bottom: 0em;
 }

  .text-highlight2 a:hover{
    font-size: 1.04em;
    bottom: 0.12em;

 }


/* ==========================================================================
   REVIEWS BAND  (.rev-sec-in) — widget height + the two buttons
   ========================================================================== */

/* Reserve room for the Elfsight widget while it boots. Without this the box is
   0px tall until the widget paints and the two buttons jump ~370px down the
   page a second after load. min-height only reserves space, it never clips —
   if the widget settles shorter you get a little whitespace, and this is the
   number to reduce. */
.rev-sec-in .rev-widget{
  min-height: 380px;
  margin: 1.5em 0 0.5em 0;
}

.rev-sec-in .rev-widget > [class^="elfsight-app-"]{
  width: 100%;
}

@media screen and (max-width: 767px){
  .rev-sec-in .rev-widget{
    min-height: 460px;   /* the review carousel stacks taller on phones */
  }
}

/* The band's 4em side padding and the 2.8em header are both fine on desktop
   but clip the header on a phone — "GUNTERSVILLE" ran past the edge at 390px.
   Both scale down together. */
@media screen and (max-width: 767px){
  .rev-sec-in{
    padding: 2.5em 1.25em !important;
  }
  .rev-box .sec2-header{
    font-size: 1.9em;
    line-height: 1.15;
  }
}

/* The two buttons, matching the homepage reviews band: rust fill + white
   outline. Both are scoped to .rev-btn-row so nothing else on the page is
   affected, and both carry !important only where the theme's generated button
   CSS uses it too. */
.rev-sec-in .rev-btn-row{
  margin-top: 1.5em;
}

.rev-sec-in .rev-btn-row .btn{
  display: block;
  width: 100%;
  max-width: 20em;
  margin: 0.5em auto;
  padding: 0.85em 1.4em;
  font-family: var(--corbins-display);
  font-size: 1em;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align: center;
  border-radius: 12px;
  border: 2px solid transparent;
  transition: all .25s ease;
}

.rev-sec-in .rev-btn-row .btn-primary{
  background-color: var(--corbins-rust);
  border-color: var(--corbins-rust);
  color: #ffffff !important;
}

.rev-sec-in .rev-btn-row .btn-primary:hover,
.rev-sec-in .rev-btn-row .btn-primary:focus{
  background-color: #a63f28;
  border-color: #a63f28;
  color: #ffffff !important;
}

.rev-sec-in .rev-btn-row .btn-secondary{
  background-color: transparent;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

.rev-sec-in .rev-btn-row .btn-secondary:hover,
.rev-sec-in .rev-btn-row .btn-secondary:focus{
  background-color: #ffffff;
  border-color: #ffffff !important;
  color: var(--corbins-navy) !important;
}


/* ==========================================================================
   INNER PAGE FAQ  (.inside-faq)

   New section — the `faqs` repeater had no markup before, so it had no styles
   either. Deliberately built out of the same accordion language as
   .inside-section-3 / .inside-section-4 rather than a new look, so a page with
   both reads as one page: navy closed, rust open, white chevron.
   ========================================================================== */

.inside-faq{
  position: relative;
  padding: 4% 7% 5% 7%;
  background-color: var(--corbins-paper);
  color: var(--corbins-ink);
  z-index: 9;
}

.inside-faq .faq-head{
  font-family: var(--corbins-display);
  font-size: 2em;
  font-weight: 900;
  color: var(--corbins-navy);
  margin-bottom: 1em;
}

/* The button is inside an <h3> here (correct heading order for a FAQ list),
   which the other two accordions don't do — so the heading's own margins and
   font have to be cancelled or the button gets a gap above it. */
.inside-faq .accordion-header{
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

.inside-faq .accordion{
  margin-bottom: 0;
}

.inside-faq .accordion-item{
  background-color: #ffffff;
  border: 1px solid var(--corbins-border);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: .75em;
}

.inside-faq .accordion-button{
  width: 100%;
  padding: 1rem 1.25rem;
  font-family: var(--corbins-display);
  font-size: 1.05rem;
  text-align: left;
  letter-spacing: .03em;
  color: #ffffff;
  background-color: var(--corbins-navy);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.inside-faq .accordion-button:not(.collapsed){
  color: #ffffff;
  background-color: var(--corbins-rust);
}

.inside-faq .accordion-button:hover{
  background-color: var(--corbins-navy-dark);
  color: #ffffff !important;
}

.inside-faq .accordion-button:not(.collapsed):hover{
  background-color: #a63f28;
}

/* Bootstrap's chevron is a dark SVG; invert it so it reads on navy and rust. */
.inside-faq .accordion-button::after{
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.inside-faq .accordion-button:focus{
  border-color: transparent;
  box-shadow: 0 0 0 .2rem rgba(249,160,6,.4);
}

.inside-faq .accordion-body{
  padding: 1.2rem 1.35rem;
  color: var(--corbins-ink);
  background-color: #ffffff;
}

.inside-faq .accordion-body p:last-child{
  margin-bottom: 0;
}

.inside-faq .accordion-body a{
  color: var(--corbins-rust);
}

@media screen and (max-width: 767px){
  .inside-faq{
    padding: 7% 5% 8% 5%;
  }
  .inside-faq .accordion-button{
    font-size: 1rem;
  }
}


.inside-faq.inline-faq{
  padding-left: 0;
  padding-right: 0;
  background-color: white;
}

/* ==========================================================================
   CLOSING CTA BAND  (.inside-closing-cta)

   The Closing CTA used to live inside .inside-section-4, which supplied its
   7% side padding. Now that it is its own band below the FAQ, it needs that
   padding itself — otherwise the centred <p> runs the full viewport width.

   No top padding: .text-highlight2's own 4.5rem top margin is what gives the
   logo in its ::after room to sit above the hairline rule.
   ========================================================================== */

.inside-closing-cta{
  position: relative;
  padding: 0 7% 5% 7%;
  background-color: #ffffff;
  color: var(--corbins-ink);
  z-index: 9;
}

/* Sitting directly above the navy .inner-bottom band, the CTA's bottom hairline
   would otherwise butt straight into it. */
.inside-closing-cta .text-highlight2{
  margin-bottom: 0;
}

/* The Closing CTA field's value is a <p> of its own, and the wrapper is now a
   <div> so it can legally hold one (see the note in service-template.php).
   Cancel that inner paragraph's default bottom margin so the block keeps the
   spacing the wrapper's own padding sets, and let it inherit the centring. */
.text-highlight2 p{
  margin-bottom: 0;
  text-align: inherit;
}

.text-highlight2 p:last-child{
  margin-bottom: 0;
}

@media screen and (max-width: 767px){
  .inside-closing-cta{
    padding: 0 5% 8% 5%;
  }
}


/* ==========================================================================
   BOTTOM USP CAROUSEL DOTS  (#usp-group2-in)

   The dots are now generated from the repeater's row count (see
   bottom-section.php) instead of two hardcoded buttons, and they had no styling
   of their own — Bootstrap's default is a white bar. Matched to the homepage
   hero's indicators so the two read as the same control: 10px circles, white at
   50%, amber and slightly larger when current.

   With a single repeater row the markup omits the dots entirely, so none of
   this paints on a one-row band.
   ========================================================================== */

#usp-group2-in .carousel-indicators{
  position: relative;
  z-index: 6;
  margin: 1.5em 0 0 0;
}

#usp-group2-in .carousel-indicators [data-bs-target]{
  width: 10px;
  height: 10px;
  margin: 0 5px;
  border: 0;
  border-radius: 50%;
  opacity: 1;
  background-color: rgba(255,255,255,.5);
  transition: all .2s ease;
}

#usp-group2-in .carousel-indicators [data-bs-target]:hover{
  background-color: rgba(255,255,255,.8);
}

#usp-group2-in .carousel-indicators .active{
  background-color: var(--corbins-amber);
  transform: scale(1.2);
}


/* ---------------------- */


/* Closing CTA Inner CSS  */ 


/* ------------------------------------------------------------------------------------- */


.faq-page .accordion-button {
    background-color: #1c4968;
    color: white;
}

.faq-page .accordion-button[aria-expanded=true], .faq-page .accordion-button:hover {
    background-color: #c14c30;
    color: white;
}

.faq-page .accordion-button::after{
   -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);  
}

.inside-faq.pc-faq{
  padding-left: 0;
  padding-right: 0;
  background-color: white !important;
}


/* 404 Page */


.error-page {
    padding: 11% 4% 6% 4%;
    background-size: cover;
    background-position: center;
    text-align: center;
    color: black;
    margin-top: 9%;
    background-image: url(/wp-content/themes/plumberseo-bootstrap/inc/assets/images/ty-bgdss.jpg);    
}

.error-page .inside-content {
    position: relative;
    padding-top: 0px;
    background-color: #00000059;
    padding: 7% 1% 4% 1%;
}

.error-page .error{
  font-size: 14em;
  font-weight: 900;
  color: #c14c31;
  position: relative;
  display: block;
  line-height: 0.8;
  letter-spacing: .03em;
  z-index: 2;
  margin-top: -2%;
  text-shadow: -4px 4px #373535;
  margin-bottom: 1%;
}


.error-page .inside-content h1{
  font-size: 4.2em;
  color: #ffffff !important;
  position: relative;
  z-index: 1;
  margin-top: -0.2em;
}


.error-page .entry-content{
  font-size: 1.4em;
  padding: 0% 13%;
  position: relative;
  color: white;
}


.reroute-btns{
  padding: 0%;
  position: relative;
}

.reroute-btns .column,.reroute-btns .columns {
    padding-left: .3375rem;
    padding-right: .3375rem;
}

.reroute-btns .btn{
  width: 100%;
  font-size: 1.1em;
  box-shadow: 1px 1px 16px 8px #0000000f;
  text-transform: uppercase;
  /* font-weight: 900; */
  letter-spacing: .03em;
  border: 0;
  display: block;
  border-radius: 0;
  margin: .7em 0;
  border-radius: 900em;
  color: black;
}

.reroute-btns .btn:hover {
    background-color: #c14c30 !important;
    color: white !important;
    text-shadow: none;
}


.reroute-btns span{
  position: relative;
  top: 0.15em;
  font-size: 1.3em;
}


.single-blog ul{
  margin-left: 2em!important;
}

/* Default Template CSS  */ 

.full-inner-max {
    padding-top: 2%;
    background: white;
    z-index: 11;
    position: relative;
    padding: 2% 2%;
}

.section-reviews-sec{
  padding: 2%;
}

.main-blog{
  position: relative;
}


  .wa-intcode-card strong:first-child{
    display: none;
  }


.main-blog a {
    text-decoration: none;
    color: #1c4968 !important;
}

.main-blog .page-nav{
  position: relative;
  background-color: #efefef;
  padding: 1.5em;
  margin-bottom: 1em;
}

.main-blog .post-thumbnail img{
  width: 100%;
  display: block;
}

.single-blog{
  position: relative;
  padding: 5% 15% 4% 15%;
}

/* ------------------------------------------------------------------------------------- */

.inside-content a {
    display: unset;
    color: #c14c30;
    text-decoration: none;
}

.inside-content .btn-primary{
  color: #000000;
}

/* Thank You Template CSS  */ 

.thank-you {
    background-repeat: no-repeat;
    background-position: center left;
    background-size: cover;
    padding: 9% 1% 5% 1%;
    margin-top: 6%;
    z-index: 99;
    background-image: url(/wp-content/themes/plumberseo-bootstrap/inc/assets/images/ty-bgdss.jpg);    
    position: relative;
}

.thank-you .bg-inner {
    text-align: center;
    background-color: rgba(0, 0, 0, 0.39);
    border: solid 1px #0000005e;
    position: relative;
    padding: 4.063rem 0 3.363rem 0;
    color: white;
}

.thank-you .bg-inner {
    width: 100%;
    max-width: 1100px!important;
    margin: 0 auto;
    position: relative;
}

.thank-you .bg-inner p {
    font-size: 1.5rem;
    line-height: 1.5em;
}

.thank-you .bg-inner  h1{
    margin: 0;
    color: #c14c31;
    font-weight: 900;
    font-size: 5.3rem;
    line-height: 1;
    margin-bottom: 0.2em;
    text-transform: uppercase;
    letter-spacing: .03em;
    text-shadow: -6px -1px .8em #2b2b2b;
}

.thank-you .bg-inner h1 strong {
    display: block;
    font-size: 1.847em;
    color: #fa4f41;
}

.thank-you .button{
  display: block;
  background-color: #c14c31;
  text-transform: uppercase;
  font-size: 1em;
  letter-spacing: .08em;
  color: #000000;
  text-decoration: none;
  padding: 0.65em 0em;
  margin: 0.7em 0;
  border-radius: 900em;
  font-family: 'Fredoka', sans-serif!important;
}

/* ------------------------------------------------------------------------------------- */

/* Client Response Template CSS  */ 

.client-resp-wrap{
  padding: 0% 5%;
}


.client-response .entry-content{
  padding: 0% 7%;
}

.client-response .frm_style_formidable-style.with_frm_style input[type=submit]{
  display: block;
  width: 100%;
  font-size: 1em;
  text-transform: uppercase;
  letter-spacing: .08em;
  background-color: #e62318;
}

.client-response .frm_style_formidable-style.with_frm_style input[type=submit]:hover{
  background-color: black;
  color: white;
}

.client-response .frm_style_formidable-style-2.with_frm_style .frm_primary_label{
  color: white;
}

.client-response .frm_style_formidable-style-2.with_frm_style input[type=submit]{
  display: block;
  background-color: #199ad6;
  color: white;
  width: 100%;
  padding: .85em 0em;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 1em;
  text-shadow: -0.03em 0.08em black;
}

.client-response .frm_forms.frm_style_formidable-style-2.with_frm_style{
  margin: auto;
}

.client-response .bg-inner {
    text-align: center;
    background-color: rgba(0, 0, 0, 0.31);
    border: solid 1px #000000a6;
    position: relative;
    padding: 3.063rem 0 1.363rem 0;
    color: white;
}

.client-response .bg-inner {
    width: 100%;
    max-width: 1100px!important;
    margin: 0 auto;
    position: relative;
}

.client-response .bg-inner p {
    font-size: 1.6rem;
    line-height: 1.5em;
    padding: 0% 5%;
}

.client-response .bg-inner  h1{
    margin: 0;
    color: #ffffff;
    font-size: 4.3rem;
    line-height: 0.9;
    margin-bottom: 3%;
    text-shadow: 4px 4px 0.7em #00000075;
    text-transform: uppercase;
}


.client-response .bg-inner h1 strong {
    display: block;
    font-size: 1.647em;
    color: #c14c31;
    position: relative;
}

.client-response .bg-inner  h1 span strong{
  font-size: 1.2em;
}

.client-response .bg-inner  h1 span{
  font-size: 0.7em;
  display: block;
  font-weight: normal;
}

.client-response .with_frm_style .frm_primary_label{
  color: white;
}

.client-response .frm_button_submit {
  position: relative;
  display: block;
  width: 100%;
  background-color: #e7090c;
  padding: .85em 0em;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
}

/* ------------------------------------------------------------------------------------- */


/* Client Feedback Review Template CSS  */ 


.client-response {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 13% 1% 7% 1%;
    background-color: #4e4e4e;
    margin-top: 6%;
    background-image: url(/wp-content/themes/plumberseo-bootstrap/inc/assets/images/ty-bgdss.jpg);
}

.client-review {
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: cover;
    padding: 11% 4% 5% 4%;
    position: relative;
    z-index: 9;
    margin-top: 8%;
    background-image: url(/wp-content/themes/plumberseo-bootstrap/inc/assets/images/feedback-bg.jpg);
    text-align: center;
}
 

.client-review  p {
    font-size: 1.2rem;
    line-height: 1.6;
    padding: 0% 0%;
    color: black;
}

.client-review  h1{
    margin: 0;
    color: #000000;
    font-weight: normal;
    font-size: 4.2rem;
    line-height: 1;
    margin-bottom: -0.1em;
    /* text-shadow: 4px 4px 0.4em #00000057; */
    text-transform: uppercase;
    position: relative;
}


.client-review h1 strong {
    display: block;
    font-size: 1.47em;
    color: #044ba1;
}


.resp-box{
  border-top: 1px solid #00304624;
  FONT-WEIGHT: 100;
  position: relative;
  margin-top: 2%;
  border-bottom: 1px solid #00304624;
}

.resp-txt{
  font-weight: 900;
  font-size: 1.7em;
  letter-spacing: 0.03em;
  margin-bottom: 2%;
  line-height: 1.7;
  padding: 1% 5% 0% 5%;
}

.resp-box .btn{
  display: block;
  width: 80%;
  max-width: 440px;
  border-radius: 900em;
  border: 0;
  margin: auto;
}

.client-review img{
  display: block;
  width: 90%;
  margin: auto;
}

.client-review .col-12 img{
  max-width: 450px;
}

.client-review .row-cols-5{
  padding: 0% 15%;
  margin-top: 2%;
}


/* ------------------------------------------------------Media Queries CSS ---------------------------------------- */ 


 @media screen and (min-width: 5.001em) and (max-width: 25em) {


/* NEW QUERIES */

.sliderfull{
  margin-top: 15%;
}
   
   .slider-header{
     font-size: 1.7em;
   }

/* END NEW QUERIES */

      #breadcrumbs{
     font-size: .6em;
     margin-top: 6em;
   }

   blockquote {
    padding: 3% 4% 3% 8%!important;
}

   blockquote:after{
     display: none;
   }   

   .error-page .inside-content h1{
     font-size: 1.5em;
     margin-bottom: 0em;
   }


   .error-page .error{
     font-size: 8.1em;
   }   

.error-page .entry-content {
    font-size: 1em;
    padding: 0% 3%;
    margin-top: 0.1em;
}   
   

.client-review{
  text-align: center;
  margin-top: 15%;
  padding: 22% 4% 5% 4%;
}


.client-review .row-cols-5 {
    padding: 0% 1%;
    margin-top: 2%;
}


.client-review .row-cols-5 .col{
  padding: 0.5%;
}


.client-review img, .client-review .btn{
  margin: auto;
  width: 100%;
}

.client-review h1{
  font-size: 1.7em;
}   

 
.client-response .bg-inner p {
    font-size: 1.1rem;
    padding: 0% 0%;
}

.client-response .bg-inner h1 {
    font-size: 1.9rem;
}

.thank-you .bg-inner h1 {
    font-size: 2.2rem;
}

.thank-you .button{
  margin: .5em 0;
}

.thank-you .bg-inner p {
    font-size: 1rem;
}


   .bullet-list li{
     width: 100%;
   }

.inner-bottom {
    background-position: 100% 100%;
}   

   .inner-bottom .usp-wrap:after{
     display: none;
   }

   .inner-bottom .usp-wrap{
     width: 100%;
   }
  
.insideimage .slider-usp .usp-box {
    font-size: 0.6em;
    padding: 5% 15%;
}


   .single-blog {
    position: relative;
    padding: 12% 4% 4% 4%;
}

   .insideimage {
    padding: 28% 4% 0% 4%;
    margin-top: 10.5%;
    border-bottom: 0.2em solid #1d1761;
    background-image: none;
}

    .insideimage:after{
     width: 155%;
     border-radius: 0;
   }

   .insideimage:before{
     display: none;
   }

   .insideimage .slider-usp .usp-box{
     font-size: 0.5em;
   }
   
   
.thank-you {
    padding: 15% 1% 5% 1%;
    margin-top: 13%;
}


.banner-head{
   font-size: 1.1em;
}


.insideimage .col-lg-6{
  padding-right: 35%;
}

.banner-head{
  font-size: 0.83em;
  width: 100%;
}

.logo-image img{
  width: 8.4em;
  top: .1em;
}

.smallbar .logo-image img{
  width: 6em;
}


.logo-foot img{
  width: 19em;
}

.quick-nav.adjust {
    font-size: .9em;
    top: 4.7em;
}


.close-cta{
  font-size: 0.8em;
  padding: 6% 2% 3% 2%;
}
 
.sched-row a ,.sched-row button {
    padding: 3% 0% 3% 0%;
    font-size: 0.6em;
}

.resp-txt{
  font-size: 1em;
}

.client-response {
    padding: 17% 1% 7% 1%;
    margin-top: 14%;
}


.hide-for-small-only{
  display: none!important;
}

.error-page {
    padding: 13% 4% 6% 4%;
    margin-top: 18%;
}

.help-links a{
  text-align: center;
}

.side-form iframe {
    height: 64em!important;
}


.insideimage .slider-usp{
  width: 95%;
  margin-right: auto;
  right: 0;
  font-size: 0.7em;
  position: relative;
  margin-top: 1em;
  bottom: -2em;
}

.insideimage:before{
  display: none;
}   

.insideimage .slider-usp.row>*{
  padding: 0 1%;
}

.show-for-small-only{
  display: block!important;
}


.emp-info em{
  width: 90em;
}

   .compressed-sec {
    padding: 5% 3%;
    background: #ededed;
}

.compressed-sec .col-md-8{
  width: 66.6666666667%;
}

   .compressed-sec .col-md-4{
  width: 33.3333333333%;
}

}



 @media screen and (max-width: 35em) and (min-width: 25.001em) {


/* NEW QUERIES */

.sliderfull{
  margin-top: 17%;
}
   
   .slider-header{
     font-size: 2.2em;
   }

/* END NEW QUERIES */

.logo-foot img{
  width: 19em;
}

.widget .home-form .camp-form iframe {
    height: 36.3em!important;
}

.modal-dialog .camp-form iframe {
    height: 32em!important;
}

.sched-row a ,.sched-row button{
  font-size: .8em;
}
  

.close-cta{
  font-size: 0.8em;
}
  
.insideimage .slider-usp .usp-box{
  font-size: .5em;
}

   #breadcrumbs{
     font-size: .7em;
     margin-top: 9em;
   }


.client-review .row-cols-5 {
    padding: 0% 1%;
    margin-top: 2%;
}


.client-review .row-cols-5 .col{
  padding: 0.5%;
}

      blockquote {
    padding: 3% 4% 3% 8%!important;
}

   blockquote:after{
     display: none;
   }

      .bullet-list li{
     width: 100%;
   }

   .inner-bottom {
    background-position: 100% 100%;
}

      .inner-bottom .usp-wrap:after{
     display: none;
   }

   .inner-bottom .usp-wrap{
     width: 100%;
   }

   .error-page .error{
     font-size: 8.9em;
   }

   .error-page .inside-content h1{
     font-size: 1.8em;
     margin-bottom: 0em;
   }

.error-page .entry-content {
    font-size: 1em;
    padding: 0% 3%;
    margin-top: 0.1em;
}   

.client-review{
  text-align: center;
  padding: 24% 4% 5% 4%;
  margin-top: 15%;
}

.client-review img, .client-review .btn{
  margin: auto;
}

.client-review h1{
  font-size: 2.3em;
}    

.resp-txt{
  font-size: 1.3em;
}   

.client-response .bg-inner p {
    font-size: 1.4rem;
}

.client-response .bg-inner h1 {
    font-size: 2.4rem;
}

.thank-you .bg-inner h1 {
    font-size: 2.9rem;
}

.thank-you .button{
  margin: .5em 0;
}

.thank-you .bg-inner p {
    font-size: 1rem;
}

.thank-you {
    padding: 15% 1% 5% 1%;
    margin-top: 14%;
}
 

.client-response {
    padding: 16% 1% 7% 1%;
    margin-top: 16%;
}


.hide-for-small-only{
  display: none!important;
}

.error-page {
    padding: 16% 4% 14% 4%;
    margin-top: 18%;
}
.logo-image a {
    margin-top: .2em;
    transform: scale(1);
    top: 0em;
}

  .logo-image img {
    width: 9.8em;
    left: -0.2em;
    top: 0.1em;
}

   
   .single-blog {
    position: relative;
    padding: 10% 4% 4% 4%;
}

   .insideimage {
    padding: 28% 4% 0% 4%;
    margin-top: 10.5%;
    border-bottom: 0.2em solid #1d1761;
    background-image: none;
}

   .insideimage:after{
     width: 155%;
     border-radius: 0;
   }

   .insideimage:before{
     display: none;
   }

   .insideimage .slider-usp .usp-box{
     font-size: 0.5em;
   }
   

.quick-nav.adjust {
    font-size: .9em;
    top: 4em;
}

.smallbar .logo-image img {
    width: 6em;
}

   
.help-links a{
  text-align: center;
}


.insideimage .slider-usp{
  width: 95%;
  margin-right: auto;
  right: 0;
  position: relative;
  margin-top: -1em;
  bottom: -3em;
}

   .insideimage:before{
     display: none;
   }

.insideimage .slider-usp.row>*{
  padding: 0 1%;
} 

.insideimage .col-lg-6{
  padding-right: 35%;
}

.banner-head{
  font-size: 1.1em;
  width: 100%;
}

.insideimage .activate a{
  font-size: .88em;
}
 
.show-for-small-only{
  display: block!important;
} 

   .compressed-sec {
    padding: 5% 5%;
    background: #ededed;
}

.compressed-sec .col-md-8{
  width: 66.6666666667%;
}

   .compressed-sec .col-md-4{
  width: 33.3333333333%;
}

}




 @media screen and (max-width: 39.938em) and (min-width: 35.001em) {



/* NEW QUERIES */


.sliderfull{
  margin-top: 19%;
}
   
   .slider-header{
     font-size: 2.7em;
   }
   
/* END NEW QUERIES */

.logo-foot img{
  width: 22em;
}

   .side-form iframe {
    height: 51em!important;
}
.logo-image a {
    margin-top: .1em;
    transform: scale(1);
    top: 0em;
}   
   
  .logo-image img {
    width: 14.3em;
    left: -0.3em;
    top: .1em;
}

.quick-nav.adjust {
    top: 4.4em;
}   

  .smallbar .logo-image img {
    width: 10.6em;
} 

.error-page {
    padding: 13% 4% 11% 4%;
    margin-top: 17%;
}


.client-review{
  text-align: center;
  padding: 24% 4% 5% 4%;
  margin-top: 12%;
}

.client-review img, .client-review .btn{
  margin: auto;
}


.client-review .row-cols-5 {
    padding: 0% 1%;
    margin-top: 2%;
}


.client-review .row-cols-5 .col{
  padding: 0.5%;
}

.client-review h1{
  font-size: 3.2em;
}   

.resp-txt {
    font-size: 1.5em;
}    

   
   .single-blog {
    position: relative;
    padding: 5% 4% 4% 4%;
}
   
.insideimage {
    padding: 28% 4% 0% 4%;
    margin-top: 10.5%;
    border-bottom: 0.2em solid #1d1761;
    background-image: none;
}

   .insideimage:after{
     width: 100%;
     left: 0;
     border-radius: 0;
     transform: none;
   }


   .insideimage .truck-image:after{
     display: none;
   }
   
   .insideimage:before{
     display: none;
   }

   .insideimage .slider-usp .usp-box{
     font-size: .7em;
   }

.insideimage .slider-usp{
  width: 95%;
  margin-right: auto;
  right: 0;
  position: relative;
  margin-top: 0.5em;
}

.insideimage .slider-usp.row>*{
  padding: 0 1%;
}

 
.banner-head{
   font-size: 1.2em;
}

   #breadcrumbs{
     font-size: .79em;
     margin-top: 5em;
   }


   .bullet-list li{
     width: 100%;
   }

   .inner-bottom {
    background-position: 100% 100%;
}

      .inner-bottom .usp-wrap:after{
     display: none;
   }

   .inner-bottom .usp-wrap{
     width: 100%;
   }

   blockquote {
    padding: 3% 4% 3% 8%!important;
}

   blockquote:after{
     display: none;
   }

      .error-page .inside-content h1{
     font-size: 2.7em;
     margin-bottom: 0em;
   }

   .error-page .error{
     font-size: 10em;
   }

.error-page .entry-content {
    font-size: 1.2em;
    padding: 0% 3%;
    margin-top: 0.1em;
}   

.close-cta{
  font-size: 1em;
}


.client-response .bg-inner p {
    font-size: 1.5rem;
    padding: 0% 0%;
}

.client-response .bg-inner h1 {
    font-size: 3.1rem;
}

.thank-you .bg-inner h1 {
    font-size: 4.2rem;
}

.thank-you .button{
  margin: .5em 0;
}
 
.thank-you {
    padding: 13% 1% 5% 1%;
    margin-top: 15%;
} 

.client-response {
    padding: 15% 1% 7% 1%;
    margin-top: 16%;
}
 

.hide-for-small-only{
  display: none!important;
}

.help-links a{
  text-align: center;
} 
 
.show-for-small-only{
  display: block!important;
}
  

   .compressed-sec {
    padding: 5% 8%;
    background: #ededed;
}

.compressed-sec .col-md-8{
  width: 66.6666666667%;
}

   .compressed-sec .col-md-4{
  width: 33.3333333333%;
}

 }



 @media screen and (max-width: 55em) and (min-width: 39.939em) {



/* NEW QUERIES */

.sliderfull{
  margin-top: 19%;
}
   
   .slider-header{
     font-size: 3.1em;
   }
   
/* END NEW QUERIES */

.logo-foot img{
  width: 24em;
}
 
.banner-head{
  font-size: 1.3em;
}

.compressed-sec {
    padding: 5% 8%;
    background: #ededed;
}

.compressed-sec .col-md-8{
  width: 66.6666666667%;
}

   .compressed-sec .col-md-4{
  width: 33.3333333333%;
}
   
.col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
}

   .side-form iframe {
    height: 51em!important;
}

   .quick-nav.adjust{
     top: 4.5em;
   }

.logo-image a {
    margin-top: .1em;
    transform: scale(1);
    top: 0em;
}   

    .logo-image img {
    width: 15em;
    left: -0.3em;
    top: 0.1em;
}


   .single-blog {
    position: relative;
    padding: 5% 4% 4% 4%;
}

   
.insideimage {
    padding: 20% 4% 0% 4%;
    margin-top: 10.5%;
    border-bottom: 0.2em solid #1d1761;
    background-image: none;
}

   .insideimage:after{
     width: 155%;
     border-radius: 0;
   }
   
.client-response {
    padding: 16% 2% 7% 2%;
    margin-top: 7%;
}
   
   .smallbar .logo-image img {
    width: 11em;
}

.error-page {
    padding: 15% 4% 12% 4%;
    margin-top: 10%;
}

.sliderfull .col-sm-12, .section-1 .col-sm-12, .section-2 .col-sm-12, .section-3 .col-sm-12, .section-4 .col-sm-12, .section-6 .col-sm-12{
    width: 100%!important;
}

.section-1 .col-md-3{
  width: 50%!important;
}
   
.sliderfull .col-md-7{
  width: 100%;
}
   
.show-for-small-only{
  display: block!important;
} 

.insideimage .slider-usp .usp-box{
  font-size: .73em;
}

.insideimage:before{
  display: none;
}

.inner-bottom{background-position: 100% 100%;}   

   .inner-bottom .usp-wrap:after{
     display: none;
   }

   .inner-bottom .usp-wrap{
     width: 100%;
   }
   
.side-label{
  font-size: 2em;  
} 

.insideimage .slider-usp{
  width: 90%;
  margin-right: auto;
  position: relative;
  margin: 2em auto -1em 0;
  bottom: 0em;
}

.insideimage .col-lg-6{
  padding-right: 39%;
}

.insideimage .slider-usp.row>*{
  padding: 0 1%;
}

.error-page .error{
  font-size: 11em;
}

.close-cta{
  font-size: 1.1em;
}

.hide-for-small-only{
  display: none!important;
}
 
.help-links a{
  text-align: center;
}

   .error-page .inside-content h1{
     font-size: 2.9em;
     margin-bottom: 0em;
   }

.error-page .entry-content {
    font-size: 1.3em;
    padding: 0% 3%;
    margin-top: 0.1em;
}   
 
.insideimage .col-md-4{
  width: 33.33%!important;
}


   .modal-dialog iframe {
    height: 43em!important;
}

.client-review{
  text-align: center;
  padding: 24% 4% 5% 4%;
  margin-top: 12%;
}

.client-review img, .client-review .btn{
  margin: auto;
}

.client-review .row-cols-5 {
    padding: 0% 8%;
    margin-top: 2%;
}

.client-review .row-cols-5 .col{
  padding: 0.5%;
}

.client-review h1{
  font-size: 3.5em;
}   

.resp-txt {
    font-size: 1.5em;
}

.copyright{
  font-size: .9em!important;
}

.client-response .bg-inner p {
    font-size: 1.5rem;
}

.thank-you .bg-inner h1 {
    font-size: 5rem;
}

.thank-you {
    padding: 9% 1% 5% 1%;
    margin-top: 13%;
}

.thank-you .button{
  margin: .5em 0;
}


.inside-content .col-md-8, .inside-content .col-md-4 {
    flex: 0 0 auto;
    width: 100%;
} 

 }


 @media screen and (max-width: 59.999em) and (min-width: 55.001em) {


/* NEW QUERIES */

 
   .slider-header{
     font-size: 2.2em;
   }

   .sliderfull{
     margin-top: 14%;
   }


/* END NEW QUERIES */

.sched-row a strong{
  font-size: 2em;
}   

.side-form iframe {
    height: 44em!important;
}

.smallbar .logo-image img {
    width: 11em;
}
  
 .quick-nav.adjust {
    top: 4em;
} 
 

.client-review {
    margin-top: 12%;
    padding: 14% 4% 5% 4%;
}   

   
.logo-image a {
    margin-top: .1em;
    transform: scale(1);
    top: 0em;
}   

 
.logo-image img{
  width: 15em;
  top: 0;
}
 
   
.thank-you {
    margin-top: 10%;
}   

.sliderfull .col-md-7{
  width: 100%;
}
  
.inside-content .col-md-8, .inside-content .col-md-4 {
    flex: 0 0 auto;
    width: 100%;
}

.insideimage .slider-usp .usp-box{
  font-size: .8em;
}

.insideimage {
    margin-top: 19.5%;
    padding: 11% 2% 1% 2%;
    background-size: 55%;
}

.rev-sec-in .sec4-header {
    font-size: 2.3em;
}

   .rev-sec-in .btn{
     font-size: .748em;
   }   

.side-coup .btn-primary{
  font-size: .9em;
}   
   
 
.banner-head{
  font-size: 1.3em;
}

.insideimage .activate a{
  font-size: 1em;
}

 

.insideimage .slider-usp{
  width: 53%;
  font-size: .84em;
}

.close-cta{
  font-size: 1.1em;
} 

.site-footer .bullet-list li{
  font-size: .9em;
}

.sched-row a{
  font-size: 0.9em;
}   

.error-page {
    padding: 11% 4% 6% 4%;
    margin-top: 10%;
}


.resp-txt {
    font-size: 1.5em;
}

.client-review h1{
  font-size: 4.5em;
}

.sched-row:after {
    content: " ";
    position: absolute;
    bottom: 35%;
    height: 2.4em;
    width: .4em;
    left: 50.8%;
}

.sliderfull .btn{
  font-size: 1em;
}

.copyright{
  font-size: .9em!important;
}   

.hide-for-small-only{
  /* display: none; */
}
 
.show-for-small-only{
  display: none;
}
    .sidebar.show-for-small-only{
  display: block!important;
     width: 100%;
}

 }


 @media screen and (min-width: 60em) and (max-width: 63.938em) {
 
/* NEW QUERIES */

   .slider-header{
     font-size: 2.2em;
   }

   .sliderfull{
     margin-top: 13%;
   }

/* END NEW QUERIES */

 
.inside-content .col-md-8, .inside-content .col-md-4 {
    flex: 0 0 auto;
    width: 100%;
}
 
   .desk-nav{
     display: block;
   }

   .mobile-nav, .quick-nav{
     display: none;
   }

   .menu>li a {
    font-size: 0.65em;
    padding: 0.7em 1.4em;
}

   .top-bar .menu>li a {
    font-size: 0.67em;
}

.menu-top-menu-container .menu>li a{
  font-size: 0.7em;
  padding: .4em .7em;
}

.top-menu .btn{
  font-size: .8em;
}

.smallbar .menu-top-menu-container .menu>li a{
  font-size: .68em;
}

.smallbar    .menu>li a {
    font-size: 0.6em;
}

.smallbar .desk-nav .top-bar .btn-primary{
  font-size: 0.7em;
}

.insideimage {
    padding: 12% 3% 1% 3%;
    margin-top: 7.5%;
    background-size: 59%;
}

  .logo-image img {
    width: 11em;
}

   .section-protecta h1{
     font-size: 2em;
   }
  

.client-review {
    padding: 13% 4% 5% 4%;
}   
   
.banner-head{
  font-size: 1.3em;
}

.insideimage .activate a{
  font-size: 1em;
}


.smallbar .logo-image img {
    width: 10em;
}

.smallbar .desk-nav .btn-primary{
  font-size: 0.7em;
}


.copyright{
  font-size: .9em!important;
}   

.sched-row a ,.sched-row button {
    padding: 3% 0% 3% 0%;
    font-size: .9em;
}


.close-cta{
  font-size: 1.1em;
}

.home-form .row {
    font-size: 1.3em;
}



html {
    font-size: 15px!important;
}
 

.show-for-small-only{
  display: none;
}

   .sidebar.show-for-small-only{
  display: block!important;
     width: 100%;
}


 }


 @media screen and (max-width: 75em) and (min-width: 63.939em) {
 

/* NEW QUERIES */
 
 
   .slider-header{
     font-size: 2.2em;
   }

   .sliderfull {
    margin-top: 13%;
}

/* END NEW QUERIES */


   .desk-nav{
     display: block;
   }

   .mobile-nav, .quick-nav{
     display: none;
   }

   .menu>li a {
    font-size: 0.69em;
}

.menu-top-menu-container .menu>li a {
    font-size: 0.68em;
    padding: 0.4em .9em;
}

.top-menu .btn{
  font-size: .8em;
}

.smallbar .menu-top-menu-container .menu>li a{
  font-size: 0.7em;
}

.smallbar    .menu>li a {
    font-size: 0.61em;
}

.smallbar .desk-nav .btn-primary{
  font-size: 0.8em;
}


.smallbar .desk-nav .top-bar .btn-primary{
  font-size: 0.7em;
}
 

.contact-desk a{
  font-size: 1.8em;
}

.logo-image img {
    width: 11em;
}

   .section-protecta h1{
     font-size:2.2em;
   }

   .section-protectc .usp-box {
    height: 17em;
    color: black;
     font-size: .7em;
}


.client-review {
    padding: 13% 4% 5% 4%;
}   

.banner-head{
  font-size: 1.3em;
}

.insideimage .activate a{
  font-size: 1em;
}


.smallbar .logo-image img {
    width: 8em;
}
 
html {
    font-size: 16px!important;
}

 
.copyright{
  font-size: .9em!important;
}   

.close-cta{
  font-size: 1.2em;
}

.sched-row a ,.sched-row button{
  font-size: .9em;
}

.show-for-small-only{
  display: none;
}



 }


 @media screen and (max-width: 85em) and (min-width: 75.001em) {

/* NEW QUERIES */
   
   .slider-header{
     font-size: 2.5em;
   }

   .sliderfull {
    margin-top: 13%;
}
 
/* END NEW QUERIES */


   html {
    font-size: 17px!important;
}

.home-form iframe{
  height: 43em!important;
}
  
   .desk-nav{
     display: block;
   }

   .mobile-nav, .quick-nav{
     display: none;
   }

  

.menu>li a {
    padding: 0.7em 1.3em;
    font-size: 0.7em;
}

.menu-top-menu-container .menu>li a{
  font-size: 0.7em;
}

.smallbar .menu-top-menu-container .menu>li a{
  font-size: .79em;
}

.top-menu .btn{
  font-size: .9em;
}

.smallbar .menu>li a {
    font-size: 0.67em;
}

.logo-image img {
    width: 14em;
}

.side-rev .btn{
  font-size: 1em;
}

 

.smallbar .logo-image img {
    width: 8em;
}

.copyright{
  font-size: .9em!important;
}   

.close-cta{
  font-size: 1.3em;
}

.sched-row a ,.sched-row button {
    padding: 1% 2% 2% 2%;
}

.show-for-small-only{
  display: none;
}


 } 



 @media screen and (max-width: 95.001em) and (min-width: 85.001em) {


/* NEW QUERIES */

   .sliderfull {
    margin-top: 12%;
}
   
   .slider-header{
     font-size: 2.94em;
   }

/* END NEW QUERIES */

   html {
    font-size: 17px!important;
}
 
   .desk-nav{
     display: block;
   }

   .mobile-nav, .quick-nav{
     display: none;
   }

   .menu>li a {
    font-size: 0.9em;
}

.menu-top-menu-container .menu>li a{
  font-size: .8em;
}

.smallbar    .menu>li a {
    font-size: 0.8em;
}

.smallbar .menu-top-menu-container .menu>li a{
  font-size: 0.9em;
}
 

.smallbar .desk-nav .top-bar .btn-primary{
  font-size: 0.7em;
}

  .logo-image img {
    width: 14em;
}


.smallbar .logo-image img {
    width: 11em;
}

   .section-8:after{
     width: 52%;
   }
 

.sched-row:after {
    content: " ";
    position: absolute;
    bottom: 35%;
    height: 2.4em;
    width: .4em;
    left: 50.8%;
}

.sliderfull .btn{
  font-size: 1em;
}

.copyright{
  font-size: .9em!important;
}   


.close-cta{
}

.show-for-small-only{
  display: none;
}

 }


 @media screen and (max-width: 125em) and (min-width: 95.001em) {


/* NEW QUERIES */


   .sliderfull {
    margin-top: 12%;
}
   
   .slider-header{
     font-size: 3.24em;
   }

 
   
/* END NEW QUERIES */

   html {
    font-size: 17px!important;
}
  
   .desk-nav{
     display: block;
   }

   .mobile-nav, .quick-nav{
     display: none;
   }
  

.copyright{
  font-size: .9em!important;
}   

.close-cta{
  font-size: 1.6em;
}

.sched-row a ,.sched-row button {
    padding: 3% 0% 3% 0%;
}


.show-for-small-only{
  display: none;
}
 


 } 
  
  
 @media screen and (min-width: 125.001em) and (max-width: 999.9em) {
 

/* NEW QUERIES */
 
   
   .sliderfull {
    margin-top: 12%;
}
   
   .slider-header{
     font-size: 3.64em;
   }

 

/* END NEW QUERIES */


.sliderfull {
} 
 
 
html {
    font-size: 17px!important;
}
 

   .desk-nav{
     display: block;
   }

   .mobile-nav, .quick-nav{
     display: none;
   }

   .menu>li a {
    font-size: 1.1em;
}
.smallbar .desk-nav .btn-primary{
  font-size: .9em;
}


.copyright{
  font-size: .9em!important;
}   

.sched-row a ,.sched-row button{
    padding: 3% 0% 3% 0%;
    font-size: 1.1em;
}

.show-for-small-only{
  display: none;
}

 }



[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos]{pointer-events:none}[data-aos].aos-animate{pointer-events:auto}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}@media screen{html:not(.no-js) [data-aos^=fade][data-aos^=fade]{opacity:0;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}html:not(.no-js) [data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;-webkit-transform:none;transform:none}html:not(.no-js) [data-aos=fade-up]{-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}html:not(.no-js) [data-aos=fade-down]{-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}html:not(.no-js) [data-aos=fade-right]{-webkit-transform:translate3d(-100px,0,0);transform:translate3d(-100px,0,0)}html:not(.no-js) [data-aos=fade-left]{-webkit-transform:translate3d(100px,0,0);transform:translate3d(100px,0,0)}html:not(.no-js) [data-aos=fade-up-right]{-webkit-transform:translate3d(-100px,100px,0);transform:translate3d(-100px,100px,0)}html:not(.no-js) [data-aos=fade-up-left]{-webkit-transform:translate3d(100px,100px,0);transform:translate3d(100px,100px,0)}html:not(.no-js) [data-aos=fade-down-right]{-webkit-transform:translate3d(-100px,-100px,0);transform:translate3d(-100px,-100px,0)}html:not(.no-js) [data-aos=fade-down-left]{-webkit-transform:translate3d(100px,-100px,0);transform:translate3d(100px,-100px,0)}html:not(.no-js) [data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}html:not(.no-js) [data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1)}html:not(.no-js) [data-aos=zoom-in]{-webkit-transform:scale(.6);transform:scale(.6)}html:not(.no-js) [data-aos=zoom-in-up]{-webkit-transform:translate3d(0,100px,0) scale(.6);transform:translate3d(0,100px,0) scale(.6)}html:not(.no-js) [data-aos=zoom-in-down]{-webkit-transform:translate3d(0,-100px,0) scale(.6);transform:translate3d(0,-100px,0) scale(.6)}html:not(.no-js) [data-aos=zoom-in-right]{-webkit-transform:translate3d(-100px,0,0) scale(.6);transform:translate3d(-100px,0,0) scale(.6)}html:not(.no-js) [data-aos=zoom-in-left]{-webkit-transform:translate3d(100px,0,0) scale(.6);transform:translate3d(100px,0,0) scale(.6)}html:not(.no-js) [data-aos=zoom-out]{-webkit-transform:scale(1.2);transform:scale(1.2)}html:not(.no-js) [data-aos=zoom-out-up]{-webkit-transform:translate3d(0,100px,0) scale(1.2);transform:translate3d(0,100px,0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-down]{-webkit-transform:translate3d(0,-100px,0) scale(1.2);transform:translate3d(0,-100px,0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-right]{-webkit-transform:translate3d(-100px,0,0) scale(1.2);transform:translate3d(-100px,0,0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-left]{-webkit-transform:translate3d(100px,0,0) scale(1.2);transform:translate3d(100px,0,0) scale(1.2)}html:not(.no-js) [data-aos^=slide][data-aos^=slide]{transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;visibility:hidden}html:not(.no-js) [data-aos^=slide][data-aos^=slide].aos-animate{visibility:visible;-webkit-transform:translateZ(0);transform:translateZ(0)}html:not(.no-js) [data-aos=slide-up]{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}html:not(.no-js) [data-aos=slide-down]{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}html:not(.no-js) [data-aos=slide-right]{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}html:not(.no-js) [data-aos=slide-left]{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}html:not(.no-js) [data-aos^=flip][data-aos^=flip]{-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}html:not(.no-js) [data-aos=flip-left]{-webkit-transform:perspective(2500px) rotateY(-100deg);transform:perspective(2500px) rotateY(-100deg)}html:not(.no-js) [data-aos=flip-left].aos-animate{-webkit-transform:perspective(2500px) rotateY(0);transform:perspective(2500px) rotateY(0)}html:not(.no-js) [data-aos=flip-right]{-webkit-transform:perspective(2500px) rotateY(100deg);transform:perspective(2500px) rotateY(100deg)}html:not(.no-js) [data-aos=flip-right].aos-animate{-webkit-transform:perspective(2500px) rotateY(0);transform:perspective(2500px) rotateY(0)}html:not(.no-js) [data-aos=flip-up]{-webkit-transform:perspective(2500px) rotateX(-100deg);transform:perspective(2500px) rotateX(-100deg)}html:not(.no-js) [data-aos=flip-up].aos-animate{-webkit-transform:perspective(2500px) rotateX(0);transform:perspective(2500px) rotateX(0)}html:not(.no-js) [data-aos=flip-down]{-webkit-transform:perspective(2500px) rotateX(100deg);transform:perspective(2500px) rotateX(100deg)}html:not(.no-js) [data-aos=flip-down].aos-animate{-webkit-transform:perspective(2500px) rotateX(0);transform:perspective(2500px) rotateX(0)}}