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: .75em 1.8em;
  margin: 1em auto 0 auto;
  letter-spacing: .04em;
  display: block;
  position: relative;
  color: #ffffff!important;
  font-weight: 800;
  font-size: 1em;
  border-radius: 3em;
  text-decoration: none;
  box-shadow: 0 .2em .6em rgba(0,0,0,.2);
  transition: all .3s ease-in-out;
}

body .btn-primary:hover, body .btn-secondary:hover{
  transform: translateY(-2px);
  box-shadow: 0 .4em 1em rgba(0,0,0,.32);
}

body .btn-primary:active, body .btn-secondary:active{
  transform: translateY(0);
  box-shadow: 0 .2em .6em rgba(0,0,0,.2);
}

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


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


.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/ac/icomoon.eot?kst8ny');
  src:  url('/wp-content/themes/plumberseo-bootstrap/fonts/ac/icomoon.eot?kst8ny#iefix') format('embedded-opentype'),
    url('/wp-content/themes/plumberseo-bootstrap/fonts/ac/icomoon.woff2?kst8ny') format('woff2'),
    url('/wp-content/themes/plumberseo-bootstrap/fonts/ac/icomoon.ttf?kst8ny') format('truetype'),
    url('/wp-content/themes/plumberseo-bootstrap/fonts/ac/icomoon.woff?kst8ny') format('woff'),
    url('/wp-content/themes/plumberseo-bootstrap/fonts/ac/icomoon.svg?kst8ny#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  /* Was "block": hides every icon (nav arrows, phone/check icons, carousel
     controls, etc.) for up to 3s if this font file is slow to arrive,
     which can read as missing UI. "swap" shows a blank space immediately
     and swaps the icon glyph in the instant the font loads instead -
     same end result, no render-blocking wait. */
  font-display: swap;
}



[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-phone:before {
  content: "\f095";
}

.icon-tools-hales:before {
  content: "\e92c";
}

.icon-time-db:before {
  content: "\e99d";
}

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

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

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

.icon-mp-shield1:before {
  content: "\e9c7";
}

.icon-check-circle:before {
  content: "\f058";
}

.icon-home2:before {
  content: "\e946";
}


.icon-local-owned-db:before {
  content: "\eb06";
}

.icon-connet-quality:before {
  content: "\eb62";
}

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

.icon-bb-thumbsup:before {
  content: "\e977";
}

.icon-local_fire_department:before {
  content: "\e9ce";
}

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



.icon-group1:before {
  content: "\f0c1";
}

.icon-cooper-badge:before {
  content: "\e9aa";
}

.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-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-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-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;
}

 /* -------------------------------------------------------Header Section CSS---------------------------------  */

/* Search Bar & Page */

 /* Top Bar Section CSS  */


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

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

.logo-block {
    position: relative;
    z-index: 99;
    background-color: #000000;
}

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

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


.mobile-nav .logo-block a[href^="tel"]{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3.2em;
  height: 3.2em;
  margin-left: auto;
  margin-right: .8em;
  border-radius: 50%;
  background: #df0013;
  transition: background .3s ease-in-out;
}

.mobile-nav .logo-block a[href^="tel"] span{
  font-size: 1.5em;
  color: #ffffff !important;
}

.main-bar{
  padding: 0% 0%;
}

.logo-image{
  position: relative;
}

.logo-image img{
  position: relative;
  width: 18em;
  display: block;
  margin: auto;
  transition: all .3s ease-in-out;
  left: -0.8em;
  z-index: -2;
}

.logo-image a{
  position: relative;
  display: block;
  transform: scale(1);
  /* z-index: -2; */
} 

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

.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;
}

.mobile-nav .btn-primary {
    color: #1f1f1f;
    border: 0;
    border-radius: 0;
    padding: 0.8em 1.6em;
    background: #df0013;
    margin-left: 0;
    border-top-right-radius: 1em;
    border-bottom-right-radius: 1em;
    font-size: 1.3em;
}

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

.shift-menu{
  background: rgb(42,42,42);
  background: -moz-radial-gradient(circle, rgba(42,42,42,1) 0%, rgba(42,42,42,1) 62%, rgba(22,22,22,1) 100%);
  background: -webkit-radial-gradient(circle, rgba(42,42,42,1) 0%, rgba(42,42,42,1) 62%, rgba(22,22,22,1) 100%);
  background: radial-gradient(circle, rgba(42,42,42,1) 0%, rgba(42,42,42,1) 62%, rgba(22,22,22,1) 100%);
  padding: 10.2em 0 0 0;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#2a2a2a",endColorstr="#161616",GradientType=1);
}

.shift-item{
  position: relative;
}

.offcanvas-end{
  z-index: 9999;
  width: 25em;
}

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

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

.shift-item a:hover{
  color: #ffffff;
  background-color: #163776;
  border-left: 0.5em solid #3aa9ff;
}

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

.shift-item a.sub-item{
  background: #0000005c;
}

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

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


/* NAV CSS  */ 

 .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: #3aa9ff;
  color: black;
}

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

.modal-content {
    background-color: #3aa9ff;
    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%;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: 1.3em;
    padding-top: 1em;
    margin-bottom: -0.5em;
}

header#masthead {
    margin-bottom: 0;
    background-color: #ffffff !important;
    /* box-shadow: none!important; */
    padding: 0rem 0rem!important;
    z-index: 9999;
    width: 100%;
    transition: all .3s ease-in-out;
    top: 0em;
    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; 
}

.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: #3aa9ff;
  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: #3aa9ff;
}

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

.top-bar{
  position: relative;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
  letter-spacing: .1em;
  transition: all .3s ease-in-out;
  border-bottom: 1px solid #ffffff1f;
  color: #0099bb;
  margin: auto;
  padding-right: 10em;
}

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

.smallbar .top-bar{
  font-size: 1em;
}

.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;
}

.main-nav{
  position: relative;
  padding-top: 1%;
}

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

 .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;
}

.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;
}
 
.top-bar .menu>li a{
  font-size: 0.7em;
  padding: 0.2em 0.7em;
  color: black!important;
}

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

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


.top-bar .menu>li a span{
  color: #044ba1;
}

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

.menu>li.sched-link a{
  color: white!important;
  background: #e78b3d;
  border-radius: 0em;
font-family: 'Exo 2', sans-serif;  
}

.menu>li a{
  padding: 0.3em 0.9em 0.6em 0.9em;
  text-decoration: none;
  color: black!important;
  font-size: 1.0em;
  display: block;
  transition: all .3s ease-in-out;
  position: relative;
  font-weight: 400;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 0.08em;
}

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

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

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


 .menu>li.menu-item-has-children> a:hover:before {
    color: #ffffff;
}
 
.sub-menu li a{
  color: #030303!important;
}
 

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

.menu>li a:hover{
  background-color: #044ba1!important;
  color: white!important;
}
 

.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;
}

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


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


.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%;
}

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

.main-nav .menu-item-has-children .sub-menu{
  opacity: 0;
  transition: all .3s ease-in-out;
  position: absolute;
  background: #ebebec;
  list-style: none;
  margin-left: 0.0rem;
  width: 17em;
  height: 0;
  display: none;
  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: .88em;
  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: .88em;
    text-align: left;
    left: auto;
}

.main-nav .slim.menu-item-has-children .sub-menu{

    color: #9ad25d;
    background: #33204d;;
  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%;
} 

.sub-menu a{
  padding: 5% 4% 5% 4%;
  display: block;
  color: #1d1d1d;
  font-size: .9em;
  transition: all .3s ease-in-out;
  border-bottom: 1px solid #00000014;
}

.sub-menu a:hover{
    color: #ffffff;
    background: #e62318;
    padding: 5% 4% 5% 7%;
}


/* Heating Tab 2 columns Sub menu */

.main-nav .double-column.menu-item-has-children .sub-menu{
  opacity: 0;
  transition: all .3s ease-in-out;
  position: absolute;
  background: #e1e1e1;
  list-style: none;
  margin-left: 0.0rem;
  width: 36em;
  height: 0;
  display: none;
  text-align: left;
  z-index: 99;
} 




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

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

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

.double-column .sub-menu .full-sub a {
    padding: 0.3em 0.6em 0.7em 0.6em;
    border-right: 1px solid #00000014;
    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: 1px solid #00000014;
}


.main-nav .double-column-l.menu-item-has-children .sub-menu{
  opacity: 0;
  transition: all .3s ease-in-out;
  position: absolute;
  background: #006ee3;
  list-style: none;
  margin-left: 0.0rem;
  width: 410%;
  height: 0;
  display: none;
  text-align: left;
  z-index: 99;
} 

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

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

/* Fly out menu */


.main-nav .double-column .fly-out.menu-item-has-children .sub-menu{
  opacity: 0;
  transition: all .3s ease-in-out;
  position: absolute;
  background: #1a6887;
  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: #f2a525;
}


.main-nav .double-column.menu-item-has-children .sub-menu>li.fly-out:hover .sub-menu{
   opacity: 1;
   position: absolute;
   background: #dcdcdc;
   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%;
}

.quick-nav{
  position: fixed;
  top: -3em;
  width: 100%;
  background-color: #044ba1;
  padding: 2% 2% 5.5% 2%;
  opacity: 0;
  transition: all .3s ease-in-out;
  overflow: hidden;
}

.quick-nav.adjust{
  padding: 5% 2% 1% 2%;
  opacity: 1;
  top: 5em;
}

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

.quick-nav a{
  color: #ffffff;
  text-align: center;
  display: block;
  text-decoration: none;
  padding: 9% 1% 9% 1%;
  font-size: 0.9em;
  transition: all .3s ease-in-out;
  border-right: 1px solid #00000030;
}

.quick-nav a:hover{
  color: white;
  background-color: #209ad6;
}

.smallbar .quick-nav{
}

.quick-nav a span{
  font-size: 1.4em;
  display: block;
  position: relative;
  top: -0.2em;
  transition: all .3s ease-in-out;
  color: #ffffff;
}

.quick-nav a em{
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 900;
  display: block;
  margin: 1.5em auto -2.6em auto;
  color: white;
  bottom: 0em;
  font-size: 0.7em;
  position: relative;
  opacity: 0;
  transition: all .3s ease-in-out;
}

.quick-nav a em:after{
  content: '';
  position: absolute;
  height: 11.5em;
  width: 100%;
  background-color: #b00c03;
  border-radius: 900em;
  z-index: -1;
  left: 0%;
  bottom: -9.6em;
}

.quick-nav a:hover em{
  bottom: 1.2em;
  opacity: 1;
}

.quick-nav a:hover span{
  /* top: -0.6em; */
  font-size: .9em;
}




/* ==========================================================================
   NEW DESKTOP HEADER — matches the Claude AI "All Climate" design
   3 stacked bars inside .desk-nav: header-utility-bar / header-main-bar / header-nav-bar
   ========================================================================== */

.desk-nav .header-utility-bar,
.desk-nav .header-main-bar,
.desk-nav .header-nav-bar{
  width: 100%;
  box-sizing: border-box;
}

/* --- Row 1: utility bar (licensed/insured note + quick links) --- */

.header-utility-bar {
    background-color: #000000;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    padding: .55em 6%;
    font-size: .8em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}

.header-utility-bar .utility-left{
  color: #b7bcc6;
  letter-spacing: .02em;
}

.header-utility-bar .utility-left .icon-check-circle{
  color: #e31c3d;
  margin-right: .35em;
}

.header-utility-bar .utility-menu{
  justify-content: flex-end;
}

.header-utility-bar .utility-menu>li>a {
    color: #ffffff !important;
    text-transform: none;
    letter-spacing: 0;
    font-size: 1em;
    font-weight: 400;
    padding: .2em .9em;
    background: none !important;
}

.header-utility-bar .utility-menu>li>a:hover{
  color: #ffffff;
  background: none!important;
}

.header-utility-bar .utility-menu>li:last-child>a{
  padding-right: 0;
}

/* --- Row 2: main bar (logo / phone / Book Now) --- */

.header-main-bar {
    background-color: #000000;
    padding: .9em 6%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2em;
}

.header-main-bar .header-logo{
  flex: 0 0 auto;
}

.header-main-bar .header-logo img {
    width: 14em;
    left: 0;
    z-index: auto;
    margin: 0;
}

.header-main-bar .header-phone-block{
  flex: 1 1 auto;
  text-align: center;
}

.header-phone-block .call-label {
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: .15em;
    font-size: .75em;
    margin-bottom: .2em;
}

.header-phone-number {
    display: inline-block !important;
    color: #ffffff !important;
    font-size: 2.7em;
    font-weight: 800;
    text-decoration: none;
    letter-spacing: .01em;
    margin-bottom: 0% !important;
}
.header-phone-number .icon-mobile{
  color: #e31c3d;
  margin-right: .25em;
  font-size: .85em;
}

.header-phone-number:hover{
  color: #e31c3d;
}

.header-main-bar .header-book-block{
  flex: 0 0 auto;
}

.header-book-btn{
  display: inline-block;
  background-color: #df0013;
  color: #ffffff!important;
  border: 0;
  border-radius: 3em;
  padding: .7em 1.7em;
  font-size: 1em;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
  box-shadow: 0 0 1.4em rgba(223,0,19,.45);
  transition: all .3s ease-in-out;
  margin: 0;
}

.header-book-btn .icon-calendar{
  margin-right: .4em;
}

.header-book-btn:hover,
.header-book-btn:focus{
  background-color: #b3000f;
  color: #ffffff!important;
  box-shadow: 0 0 1.8em rgba(223,0,19,.65);
}

/* --- Row 3: primary nav bar (blue) --- */

.header-nav-bar{
  background-color: #1f4f9c;
}

.header-nav-bar .main-nav{
  position: relative;
  padding: 0;
}

.header-nav-bar .menu{
  justify-content: center;
}

.header-nav-bar .menu>li>a{
  color: #ffffff!important;
  background: none!important;
  font-size: .95em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 1em 1.3em;
}

.header-nav-bar .menu>li.menu-item-has-children>a:before{
  color: #ffffff;
  position: relative;
  display: inline-block;
  margin-left: .4em;
  top: 0;
  right: 0;
}

.header-nav-bar .menu>li>a:hover,
.header-nav-bar .menu>li.current-menu-item>a{
  background-color: rgba(255,255,255,.15)!important;
  color: #ffffff!important;
}

/* Shrink the header slightly once .smallbar is toggled on scroll */

header#masthead.smallbar .header-utility-bar{
  padding: .35em 3%;
}

header#masthead.smallbar .header-main-bar{
  padding: .55em 3%;
}

header#masthead.smallbar .header-main-bar .header-logo img{
  width: 8em;
}

header#masthead.smallbar .header-phone-number{
  font-size: 1.4em;
}

header#masthead.smallbar .header-nav-bar .menu>li>a{
  padding: .7em 1.1em;
}

/* Responsive: below the desktop breakpoint the theme already hides .desk-nav
   and shows .mobile-nav instead (unchanged, see rules above), so no extra
   media queries are needed here for phones/tablets. */



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

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

 /* Slider Section CSS  */

 /* Slider Section CSS  */
 /* Rebuilt to match the Claude AI "All Climate" hero design.
    Nothing here changes the ACF schema — .slide-1 / .static-slide are the
    same "Class" field value already typed into the Multi Slider > Slide
    Builder row, and the badge/button markup below is plain HTML you paste
    into the existing "Content" field. See chat notes for the exact strings. */

.sliderfull {
    position: relative;
    z-index: 1;
    margin-top: 12.5em; /* clears the new 3-row fixed header — nudge this
                            up/down once you see it live against the real
                            rendered header height */
}

.static-slide{
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    z-index: 2;
    margin-top: 0%;
    padding: 4.5em 6% 4.5em 6%;
    min-height: 34em;
    display: flex;
    align-items: center;
    color: white;
    border-bottom: 0.4em solid #044ba1;
    text-align: left;
    background-color: #1b1f47;
    overflow: hidden;
}

/* Dark gradient scrim over the background photo so the white/red text
   stays legible — sits behind the slide content, above the photo. */
.static-slide::before{
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(6,7,14,.88) 0%, rgba(6,7,14,.72) 32%, rgba(6,7,14,.28) 62%, rgba(6,7,14,.05) 85%);
    z-index: 0;
}

/* the ACF "Columns" repeater renders direct child column divs here — keep
   them above the scrim */
.static-slide > div{
    position: relative;
    z-index: 1;
}

/* the unique per-slide class typed into the "Class" field on the Multi
   Slider > Slide Builder row — this is what actually points at the photo.
   Keep this rule AFTER .static-slide so the background-image isn't wiped
   out by .static-slide's background-color shorthand. */
.slide-1 {
    background-image: url(https://allclimatenc.bwpsites.com/wp-content/uploads/2026/08/welcome-banner.webp);
    background-position: top;
}



.sliderfull {/* margin-top: max(285px, 12%) !important; */}

@media screen and (max-width: 85em) and (min-width: 75.001em) {
  .sliderfull {/* margin-top: max(325px, 13%) !important; */}
}
@media screen and (max-width: 75em) and (min-width: 63.939em) {
  .sliderfull {/* margin-top: max(325px, 13%) !important; */}
}
@media screen and (min-width: 60em) and (max-width: 63.938em) {
  .sliderfull {/* margin-top: max(325px, 13%) !important; */}
}

/* Below 60em the site swaps to the shorter mobile header (logo + phone +
   menu button, no separate nav bar) — smaller floor is enough */
@media screen and (max-width: 59.999em) and (min-width: 55.001em) {
  .sliderfull {/* margin-top: max(230px, 14%) !important; */}
}
@media screen and (max-width: 55em) and (min-width: 39.939em) {
  .sliderfull {/* margin-top: max(230px, 19%) !important; */}
}
@media screen and (max-width: 39.938em) and (min-width: 35.001em) {
  .sliderfull {/* margin-top: max(230px, 19%) !important; */}
}

/* Narrow phones — logo/phone-number text is more likely to wrap onto a
   second line here, so the floor is a bit taller as a safety margin */
@media screen and (max-width: 35em) and (min-width: 25.001em) {
  .sliderfull {/* margin-top: max(270px, 17%) !important; */}
}
@media screen and (min-width: 5.001em) and (max-width: 25em) {
  .sliderfull {/* margin-top: max(270px, 15%) !important; */}
}



.slider-header{
  line-height: 1.05;
  font-size: 2.6em;
  position: relative;
  letter-spacing: .01em;
  color: #ffffff;
  margin-bottom: .6em;
  animation: fadeInLeft 3s;
  font-weight: 900;
  animation-timing-function: ease;
  animation-fill-mode: both;
  animation-delay: 1s;
  transition: 1s ease-in-out;
  opacity: 0;
  transform: translateX(-40%);
  text-transform: none;
  text-shadow: -0.05em 0.05em rgba(0,0,0,.5);
}

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

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

}

.slider-header strong{
  display: block;
  font-size: 1.03em;
  font-weight: 900;
  color: #e31c3d;
}

.slider-header span{
  display: block;
}

/* --- Trust badge pills (Trusted/Certified, Locally Owned, Quality Workmanship) --- */

.trust-badge-list{
  display: flex;
  flex-wrap: wrap;
  gap: .6em;
  margin: 0 0 1.4em 0;
  padding: 0;
  list-style: none;
  max-width: 34em;
}

.trust-badge-list li{
  display: inline-flex;
  align-items: center;
  gap: .5em;
  background: rgba(20,21,28,.6);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 2em;
  padding: .55em 1.1em;
  font-size: .85em;
  font-weight: 700;
  color: #ffffff;
  list-style: none;
}

.trust-badge-list li span{
  color: #e31c3d;
  font-size: 1.15em;
  line-height: 1;
}

/* --- CTA button row (Book Appointment + phone) --- */

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

.slider-btn-row .btn{
  display: inline-flex!important;
  align-items: center;
  gap: .5em;
  width: auto;
  max-width: none;
  margin: 0!important;
  border-radius: 3em!important;
  padding: .75em 1.7em!important;
  font-size: 1em;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.btn-phone{
  background-color: rgba(20,21,28,.75);
  border: 1px solid rgba(255,255,255,.25);
  color: #ffffff!important;
}

.btn-phone:hover{
  background-color: rgba(20,21,28,1);
  color: #ffffff!important;
}

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

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

   .slider-usp-row:after{
  content:'';
  position: absolute;
  right: 1.2em;
  bottom: 1.9em;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}


.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;
}

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

@media (max-width: 767px){
  .static-slide{
    text-align: center;
    padding: 4.5em 5% 3em 5%;
    min-height: auto;
  }
  .trust-badge-list{
    justify-content: center;
    max-width: none;
  }
  .slider-btn-row{
    justify-content: center;
  }
}





/* ==========================================================================
   Hero slider (first carousel slide) - color/size/border fixes to match
   the Claude design (All Climate Homepage.dc.html).

   Add this AFTER your existing stylesheets load (or into the same
   cachebust custom CSS file, appended at the end) so it wins on cascade
   order. Every rule below also carries !important as a backstop, so load
   order doesn't actually matter - these will win regardless.
   ========================================================================== */

/* FIX 1: Trust badge icons ("Trusted, Certified Technicians" /
   "Locally Owned & Operated" / "Quality Workmanship").

   Found the actual rule controlling all three - it's one shared selector,
   not per-icon, which is also why all three were already the same size as
   each other (just the wrong size/color vs. the design):

     .trust-badge-list li span{
       color: rgb(227, 28, 61);   <- red; design uses blue (#4db4ff)
       font-size: 1.15em;         <- computes to ~16.6px; design uses 22px
       line-height: 1;
     }

   This override matches the design's spec exactly (checked the design
   file directly: all three badges use color:#4db4ff, font-size:22px). */
.trust-badge-list li span{
  color: #4db4ff !important;
  font-size: 22px !important;
}

/* FIX 2: Hero slide's bottom border - solid blue on the live site:

     .row.slide-1.static-slide{ border-bottom: 6px solid rgb(4,75,161); }

   The design shows this as a gradient, red on the left fading to blue on
   the right, not a flat color. A plain CSS border can't do a gradient by
   itself, so this turns the border off and adds a thin gradient bar as a
   ::after pseudo-element in its place instead - same 6px height and
   position, just with the gradient. The slide row already has
   position:relative and overflow:hidden (confirmed live), so this sits
   flush against the bottom edge with no extra markup needed. */
.row.slide-1.static-slide{
  border-bottom: none !important;
}
.row.slide-1.static-slide::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  background: linear-gradient(to right, #E21C3D, #044BA1);
  z-index: 3;
}


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



/* Top Services */


/* Top Services */
/* Mobile carousel (.top-services.show-for-small-only) keeps the original
   gradient-box hover-reveal look below — untouched. The new flat card grid
   for desktop lives at the bottom of this file, under "Desktop Top Services
   Grid — matches the Claude AI design". */
.top-services{
  position: relative;
  margin-bottom: 24px;
}

/* Side inset for the carousel, so the card doesn't run edge-to-edge and
   the nav buttons below have somewhere to sit - also restated explicitly
   for the same reason. */
.top-services .carousel-inner{
  padding: 0 4%;
}

.top-services a{
  height: auto;
  min-height: 0;
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 30px 22px 26px;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  border-bottom: 1px solid rgba(15,23,42,.08);
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(15,23,42,.08);
  color: #12131a;
  text-align: center;
  text-decoration: none;
  transition: transform .2s ease-in-out, box-shadow .2s ease-in-out;
}

/* The old layout used a 3/9 grid split (icon column + text column) as a
   scaffold for the absolute-positioned overlay above - with everything
   back in normal flow, that split isn't needed, so let both columns run
   full width and stack. */
.top-services .row.align-items-center{
  display: block;
  height: auto;
  width: 100%;
}
.top-services .col-3,
.top-services .col-9{
  width: 100%;
  height: auto;
  display: block;
  flex: none;
}

/*
 * Icon badge: same alternating blue/red gradient + white icon the
 * desktop cards use (odd slides = AC/blue, even slides = Heating/red -
 * same order your 4 services already alternate in, same as the desktop
 * grid's nth-child split).
 */
.top-services .servi-con{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 16px;
  margin: 0 auto;
}
.carousel-item:nth-of-type(odd) .servi-con{
  background: linear-gradient(135deg, #3d7bf0 0%, #1f4f9c 100%);
  box-shadow: 0 8px 20px rgba(31,79,156,.4);
}
.carousel-item:nth-of-type(even) .servi-con{
  background: linear-gradient(135deg, #ff5d7a 0%, #c81636 100%);
  box-shadow: 0 8px 20px rgba(200,22,54,.4);
}
.top-services .servi-con span{
  position: static;
  display: block;
  color: #ffffff;
  font-size: 30px;
  top: auto;
  right: auto;
  width: auto;
}

/* Title + description: dropped the absolute positioning / opacity:0 so
   both sit in normal flow and are always visible - this is the "show
   the description permanently, not on hover" part. */
.top-services .servi-label{
  position: static;
  bottom: auto;
  left: auto;
  width: 100%;
  font-size: 16px;
  color: #12131a;
  text-shadow: none;
  text-transform: none;
  letter-spacing: 0;
}
.top-services p{
  position: static;
  opacity: 1;
  bottom: auto;
  height: auto;
  font-size: 14px;
  line-height: 1.5;
  color: #5b6472;
  margin: 0;
}
/* Neutralizes the old hover-reveal trick (label sliding up to "reveal"
   the paragraph underneath) - harmless to leave in place, but with both
   elements back in normal static flow it no longer does anything, so
   this just keeps things tidy rather than leaving dead motion on tap. */
.top-services a:hover .servi-label,
.top-services a:hover p{
  bottom: auto;
  text-shadow: none;
}

/*
 * "effect wise" - since real :hover doesn't apply on a touchscreen, this
 * adds a tap/press effect instead (:active fires on touch), mirroring
 * the desktop cards' hover lift + colored glow, same blue/red split as
 * the icon badges above.
 */
.top-services a:active{
  transform: translateY(-2px);
}
.carousel-item:nth-of-type(odd) a:active{
  box-shadow: 0 14px 30px rgba(31,79,156,.25);
  border-color: rgba(31,79,156,.35);
}
.carousel-item:nth-of-type(even) a:active{
  box-shadow: 0 14px 30px rgba(200,22,54,.25);
  border-color: rgba(200,22,54,.35);
}

/*
 * "the carousel icons can be better" - checked these live: they're bare
 * icon-font carets (icon-caret-left / icon-caret-right), colored dark
 * navy, sitting directly on the card with no button/background of their
 * own - low contrast and easy to miss, especially against the old navy
 * card.
 *
 * UPDATE: matched these to Section 4's ".usp2-nav-btn" arrows (the ones
 * under the "Family Owned & Operated" etc. cards) instead of a one-off
 * style, so every carousel's arrow buttons look the same across the
 * site - same 38px white circle, same subtle border, same dark icon,
 * same blue hover.
 */
.top-services .carousel-control-prev,
.top-services .carousel-control-next{
  width: 38px;
  height: 38px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  background: #ffffff;
  border: 1.5px solid rgba(20,22,40,.14);
  border-radius: 999px;
  box-shadow: none;
  color: #161824;
  font-size: 14px;
  opacity: 1;
  z-index: 33;
  transition: .3s ease-in-out;
}
.top-services .carousel-control-prev:hover,
.top-services .carousel-control-next:hover{
  background: #1695F3;
  border-color: #1695F3;
  color: #ffffff;
}
.top-services .carousel-control-prev{
  left: 4px;
}
.top-services .carousel-control-next{
  right: 4px;
}





/* ==========================================================================
   Desktop Top Services Grid — matches the Claude AI design
   ========================================================================== */

.top-services-section{
  padding: 4% 4% 3% 4%;
  background-color: #ffffff;
  text-align: center;
}

.top-services-heading{
  font-size: 2em;
  font-weight: 900;
  color: #12131a;
  margin: 0 0 1.4em 0;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 800;
}

.top-services-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5em;
  text-align: left;
}

.service-card{
  position: relative;
}

.service-card a{
  display: block;
  height: 100%;
  background-color: #ffffff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 1em;
  padding: 1.8em 1.6em 1.6em 1.6em;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 .3em 1em rgba(15,23,42,.06);
  transition: all .3s ease-in-out;
}

.service-card a:hover{
  transform: translateY(-.3em);
  box-shadow: 0 .8em 1.8em rgba(15,23,42,.14);
  border-color: rgba(31,79,156,.35);
}

.service-icon{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.4em;
  height: 3.4em;
  border-radius: .8em;
  margin-bottom: 1.1em;
  transition: all .3s ease-in-out;
}

.service-icon svg{
  width: 1.7em;
  height: 1.7em;
}

.service-icon svg path,
.service-icon svg circle,
.service-icon svg rect{
  fill: #ffffff;
}

/* Alternating AC (blue) / Heating (red) accent — matches your existing
   4 services, which already alternate AC/Heating/AC/Heating in that order.
   If you ever reorder them, the color just follows card position. */

.service-card:nth-child(odd) .service-icon{
  background: linear-gradient(135deg, #3d7bf0 0%, #1f4f9c 100%);
  box-shadow: 0 .5em 1.4em rgba(31,79,156,.45);
}

.service-card:nth-child(even) .service-icon{
  background: linear-gradient(135deg, #ff5d7a 0%, #c81636 100%);
  box-shadow: 0 .5em 1.4em rgba(200,22,54,.45);
}

.service-card:nth-child(odd) .service-more{
  color: #2f6fed;
}

.service-card:nth-child(even) .service-more{
  color: #e31c3d;
}

.service-card a:hover .service-icon{
  transform: translateY(-.15em) scale(1.05);
}

.top-services-grid .servi-label{
  position: static;
  bottom: auto;
  left: auto;
  width: auto;
  text-transform: none;
  letter-spacing: 0;
  text-shadow: none;
  font-size: 1.15em;
  font-weight: 800;
  color: #12131a;
  margin-bottom: .5em;
}

.top-services-grid p{
  position: static;
  bottom: auto;
  left: auto;
  width: auto;
  opacity: 1;
  padding: 0;
  font-size: .92em;
  line-height: 1.5;
  color: #5b6472;
  margin: 0 0 1.1em 0;
}

.service-more{
  display: inline-flex;
  align-items: center;
  gap: .45em;
  font-size: .95em;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}

.service-more .arrow{
  transition: transform .3s ease-in-out;
}

.service-card a:hover .service-more .arrow{
  transform: translateX(.3em);
}

@media (max-width: 1100px){
  .top-services-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px){
  .top-services-grid.hide-for-small-only{
    display: none;
  }
}


.service-icon > span{
  color: #ffffff;
  font-size: 1.6em;
}


.service-card:nth-child(odd) a:hover{
  transform: translateY(-.5em);
  box-shadow: 0 1.8em 3.8em rgba(31,79,156,.2);
  border-color: rgba(31,79,156,.35);
}

.service-card:nth-child(even) a:hover{
  transform: translateY(-.5em);
  box-shadow: 0 1.8em 3.8em rgba(200,22,54,.2);
  border-color: rgba(200,22,54,.35);
}


 /* Section-1 CSS — rebuilt from the Claude design's actual source
    markup (All Climate Homepage.dc.html, "SECTION ONE + FORM"),
    values copied exactly: soft gradient background, two-column
    intro/form layout, gradient-header Request Service card, and the
    three white USP cards below it. */


.section-1 {
    position: relative;
    z-index: 0;
    padding: clamp(56px, 6vw, 92px) clamp(20px, 4vw, 44px) clamp(48px, 5vw, 72px);
    background: linear-gradient(160deg, #eaf3fc 0%, #f4f6fb 45%, #fdeef1 100%);
}

.section-1 .wrap1{
  max-width: 1280px;
  margin: 0 auto clamp(48px, 5vw, 72px);
}

/* ---------- Left column: intro heading + copy ---------- */
.sec1-intro h1{
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 20px;
  color: #161824;
}

.sec1-intro p{
  margin: 0 0 24px;
  font-size: 17px;
  line-height: 1.7;
  color: #4c5464;
  font-weight: 400;
}

.sec1-intro p:last-child{
  margin-bottom: 0;
}

/* ---------- Right column: "Request Service" form card ---------- */
.request-form-card{
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 30px 70px rgba(20,40,80,.16);
  border: 1px solid rgba(22,149,243,.14);
  overflow: hidden;
}

.request-form-header{
  background: linear-gradient(105deg, #E21C3D, #1695F3);
  padding: 26px 30px;
  color: #ffffff;
}


.request-form-header{
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 800;
  font-size: 26px;
  margin: 0 0 4px;
  text-align: center;
  color: #ffffff;
}

.request-form-header p{
  margin: 0;
  font-size: 14.5px;
  color: rgba(255,255,255,.9);
  text-align: center;
}

.request-form-body {
    padding: 0px;
    background-color: #f4f9ff;
}

.request-form-body iframe{
  width: 100%;
  border: none;
  border-radius: 8px;
  background: #ffffff;
  display: block;
}

/* ---------- USP cards: shared card look (desktop row + mobile carousel) ----------
   NOTE: deliberately named usp1-card / usp1-row / usp1-icon / usp1-title /
   usp1-copy instead of reusing the original usp-blk / usp-wrap / usp-label
   class names. The theme already has an older, unrelated global CSS block
   using those exact class names (height:29em card, mint background, and a
   ".usp-blk span" rule that forces every span inside to color:#3aa9ff /
   font-size:1.3em plus a decorative icon-mask :after). Reusing those names
   collided with that legacy styling (huge green icons, squared-off cards).
   These fresh, unique class names avoid that collision entirely. */
.usp1-card{
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 12px 34px rgba(20,40,80,.08);
}

.usp1-icon{
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 14px;
  font-size: 23px;
  line-height: 1;
}

.usp1-card-1 .usp1-icon,
.usp1-card-3 .usp1-icon{
  background: rgba(226,28,61,.1);
  color: #E21C3D;
}

.usp1-card-2 .usp1-icon{
  background: rgba(22,149,243,.12);
  color: #1695F3;
}

.usp1-copy{
  min-width: 0;
}

.usp1-title{
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 700;
  font-size: 18px;
  margin: 0 0 5px;
  color: #1b1d29;
}

.usp1-copy p{
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: #5b6270;
}

/* ---------- USP cards: desktop 3-up row ---------- */
/* Selector scoped with .section-1 (not just .usp1-row) so this grid
   display wins over the theme's show/hide-for-small-only utility rule
   on the same element regardless of stylesheet load order — both are
   single/double class selectors so source order would otherwise decide. */
.section-1 .usp1-row{
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
}

.usp1-row .usp1-card{
  height: 100%;
}

/* ---------- USP cards: mobile carousel ---------- */
#mobile-usp1{
  max-width: 1280px;
  margin: 0 auto clamp(48px, 5vw, 72px);
}

#mobile-usp1 .carousel-item{
  padding: 0 4px;
}





#mobile-usp1{
  padding-bottom: 56px;
}

#mobile-usp1 .carousel-control-prev,
#mobile-usp1 .carousel-control-next{
  width: 38px;
  height: 38px;
  top: auto;
  bottom: 0;
  transform: none;
  display: grid;
  place-items: center;
  background: #ffffff;
  border: 1.5px solid rgba(20,22,40,.14);
  border-radius: 999px;
  color: #161824;
  font-size: 14px;
  opacity: 1;
  z-index: 33;
  transition: .3s ease-in-out;
}

#mobile-usp1 .carousel-control-prev:hover,
#mobile-usp1 .carousel-control-prev:focus,
#mobile-usp1 .carousel-control-next:hover,
#mobile-usp1 .carousel-control-next:focus{
  background: #1695F3;
  border-color: #1695F3;
  color: #ffffff;
  opacity: 1;
}

/* Centered as a pair (38px + 16px gap + 38px = 92px total) rather than
   pinned to the card's left/right edges, so they read as one control
   group under the card instead of two separate corner buttons. */
#mobile-usp1 .carousel-control-prev{
  left: calc(50% - 46px);
  right: auto;
}

#mobile-usp1 .carousel-control-next{
  left: calc(50% + 8px);
  right: auto;
}

/* Strip Bootstrap's baked-in-white SVG icon and draw a plain arrow
   character instead, exactly like .usp2-nav-btn does - this is what lets
   the arrow's color actually follow this button's color/hover state. */
#mobile-usp1 .carousel-control-prev-icon,
#mobile-usp1 .carousel-control-next-icon{
  background-image: none;
  width: auto;
  height: auto;
  display: inline-block;
}
#mobile-usp1 .carousel-control-prev-icon::before{
  content: "\2190";
}
#mobile-usp1 .carousel-control-next-icon::before{
  content: "\2192";
}


 /* ---------------------- */
 /* Legacy modal-form styles below — still used by the site-wide
    "Schedule Service" popup modal (#exampleModal), left untouched. */

.form{
  position: relative;
  background: #3aa9ff;
  width: 90%;
  margin: auto;
  padding: 1em;
}

.form .with_frm_style .frm_primary_label{
  color: white;
}

.form iframe{
  margin-top: .5em;
  height: 41em!important;
}

.form-label{
  position: relative;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 1.5em;
  color: white;
}

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



 /* ---------------------- */
/* ==========================================================================
   Coupons Section — rebuilt from the Claude design's actual source
   markup (All Climate Homepage.dc.html), values copied exactly:
   background #0a0e1c, glow blobs, dashed-border ticket cards with a
   separate gradient price block + solid offer block, nav arrows.
   ========================================================================== */

.section-2{
  position: relative;
  overflow: hidden;
  background: #0a0e1c;
  color: #ffffff;
  padding: clamp(56px, 6vw, 92px) clamp(20px, 4vw, 44px);
}

.coupon-glow{
  position: absolute;
  pointer-events: none;
  filter: blur(24px);
  opacity: .75;
}

.coupon-glow-red{
  top: -20%;
  left: -6%;
  width: 46%;
  height: 130%;
  background: radial-gradient(circle at 40% 40%, rgba(226,28,61,.34), transparent 62%);
}

.coupon-glow-blue{
  bottom: -24%;
  right: -6%;
  width: 46%;
  height: 130%;
  background: radial-gradient(circle at 60% 50%, rgba(22,149,243,.32), transparent 62%);
}

.coupon-inner{
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}

.coup-header-row{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: clamp(32px, 4vw, 48px);
}

.coup-header{
  font-weight: 800;
  font-size: clamp(30px, 3.8vw, 50px);
  line-height: 1.04;
  letter-spacing: -.02em;
  text-transform: uppercase;
  color: #ffffff;
  margin: 0;
  max-width: 720px;
}

.coup-header p{
  margin: 0;
}

.coup-header strong{
  color: #df0013;
  font-weight: 800;
}

.coup-header em{
  color: #3aa9ff;
  font-style: normal;
  font-weight: 800;
}

.coupon-actions{
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.coupon-view-all{
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  border: 1.5px solid rgba(255,255,255,.3);
  background: rgba(255,255,255,.06);
  color: #ffffff;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 15px 24px;
  border-radius: 999px;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.coupon-view-all:hover{
  background: #ffffff;
  color: #0a0e1c !important;
}

.coupon-nav{
  display: flex;
  align-items: center;
  gap: 14px;
}

.coupon-dots{
  display: flex;
  align-items: center;
  gap: 8px;
}

.coupon-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.25);
  transition: background .3s ease-in-out, transform .3s ease-in-out;
}

.coupon-dot.is-active{
  background: #e21c3d;
  transform: scale(1.2);
}

.coupon-nav-btn{
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  border: 1.5px solid rgba(255,255,255,.3);
  background: rgba(255,255,255,.06);
  color: #ffffff;
  font-size: 18px;
  cursor: pointer;
  transition: all .3s ease-in-out;
}

.coupon-prev:hover{
  background: #e21c3d;
  border-color: #e21c3d;
}

.coupon-next:hover{
  background: #1695f3;
  border-color: #1695f3;
}

.coupon-track{
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  padding: 8px 2px 12px;
}

.coupon-card{
  flex: 0 0 auto;
  width: min(360px, 82vw);
  border: 2px dashed rgba(255,255,255,.3);
  border-radius: 18px;
  padding: 12px;
  background: #0f1526;
  /* Flex column so every card ends up the same overall height
     regardless of how many lines its offer title wraps to. */
  display: flex;
  flex-direction: column;
}

.coupon-price-block{
  border-radius: 14px;
  padding: 34px 24px;
  text-align: center;
}

.coupon-price{
  font-weight: 800;
  font-style: italic;
  font-size: 48px;
  color: #ffffff;
  line-height: 1;
}

.coupon-price-suffix{
  font-size: 26px;
}

.coupon-offer-block{
  border-radius: 14px;
  margin-top: 12px;
  padding: 24px 22px;
  text-align: center;
  /* Fills the remaining height of the card (which is itself a flex
     column now) so every offer block bottoms out at the same edge. */
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.coupon-offer{
  font-weight: 800;
  font-size: 22px;
  color: #ffffff;
  margin: 0 0 6px 0;
  /* Reserves space for 2 lines regardless of whether this title wraps
     to 1 or 2 lines, so every card is the same height instead of
     shrinking/growing based on title length. Shorter titles just sit
     vertically centered in that reserved space. */
  min-height: 2.3em;
  line-height: 1.15;
  display: flex;
  align-items: center;
  justify-content: center;
}

.coupon-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #ffffff;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 13px 26px;
  border-radius: 999px;
  margin-top: 25px;
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.coupon-btn:hover{
  background: #0a0e1c;
  color: #ffffff !important;
}

.coupon-fine-print{
  margin: 16px 0 0 0;
  font-size: 10.5px;
  line-height: 1.5;
  color: rgba(255,255,255,.72);
}

/* Odd cards: blue gradient price block / red offer block */
.coupon-card:nth-child(odd){
  border-color: #e21c3d;
}

.coupon-card:nth-child(odd) .coupon-price-block{
  background: linear-gradient(135deg, #1695f3, #0c6fca);
}

.coupon-card:nth-child(odd) .coupon-offer-block{
  background: #e21c3d;
}

.coupon-card:nth-child(odd) .coupon-btn{
  color: #e21c3d;
}

/* Even cards: red gradient price block / blue offer block */
.coupon-card:nth-child(even){
  border-color: #1695f3;
}

.coupon-card:nth-child(even) .coupon-price-block{
  background: linear-gradient(135deg, #e21c3d, #b81531);
}

.coupon-card:nth-child(even) .coupon-offer-block{
  background: #1695f3;
}

.coupon-card:nth-child(even) .coupon-btn{
  color: #1695f3;
}

/* Matches the theme's own show-for-small-only/hide-for-small-only
   crossover (55em / 880px) rather than guessing a breakpoint —
   the theme's existing utility classes already handle showing/hiding
   .coupon-track vs .coupon-track-mobile correctly on their own. */
@media (max-width: 55em){
  .coup-header-row{
    align-items: flex-start;
  }
}

.coupon-track-mobile{
  flex-direction: column;
  overflow-x: visible;
}

.coupon-track-mobile .coupon-card{
  width: 100%;
}


@media (max-width: 600px){

  /* Force the real, populated track visible on mobile instead of the
     empty .coupon-track-mobile placeholder. #couponTrack is an ID, so
     this wins outright over the theme's own !important class rules
     without needing to reverse-engineer their breakpoint stack. */
  #couponTrack{
    display: flex !important;
  }

  /* Keep the always-empty mobile track hidden - it has 0 children, so
     showing it would just render a blank gap. Compound selector (all
     three classes) so this stays specific to that one placeholder div. */
  .coupon-track.coupon-track-mobile.show-for-small-only{
    display: none !important;
  }

  /* Of whichever group of 3 the script currently has "visible"
     (display:'' rather than 'none'), only keep the first one showing -
     this is what turns "3 across" into "one coupon at a time" without
     touching the pagination script itself. */
  #couponTrack .coupon-card:nth-child(3n+2),
  #couponTrack .coupon-card:nth-child(3n+3){
    display: none !important;
  }

  /* Let that one remaining card fill the row width instead of sizing
     itself for a 3-up layout, so it reads as a proper single mobile
     card rather than a narrow leftover column. */
  #couponTrack .coupon-card:nth-child(3n+1){
    width: 100%;
  }

  #couponTrack{
    flex-wrap: nowrap;
  }
}



@media (max-width: 1250px){

  /* Force the real, populated track visible instead of the empty
     .coupon-track-mobile placeholder, and keep that placeholder hidden -
     across the ENTIRE mobile-through-tablet range in one unbroken block,
     so it no longer matters where the theme's own show/hide-for-small-only
     breakpoint stack happens to flip. #couponTrack is an ID, so this wins
     outright over the theme's own !important class rules either way. */
  #couponTrack{
    display: flex !important;
    flex-wrap: nowrap !important;
  }
  .coupon-track.coupon-track-mobile.show-for-small-only{
    display: none !important;
  }
}

/* ---- Tier 1: phones - one coupon at a time ---- */
@media (max-width: 880px){

  /* Of whichever group of 3 the script currently has "visible", only
     keep the first one showing. */
  #couponTrack .coupon-card:nth-child(3n+2),
  #couponTrack .coupon-card:nth-child(3n+3){
    display: none !important;
  }

  /* Let that one remaining card fill the row width instead of sizing
     itself for a 3-up layout. */
  #couponTrack .coupon-card:nth-child(3n+1){
    width: 100% !important;
  }
}

/* ---- Tier 2: tablet / narrow desktop - two coupons at a time, no wrap --- */
@media (min-width: 881px) and (max-width: 1250px){

  /* Of whichever group of 3 the script currently has "visible", hide the
     3rd and keep the first two. */
  #couponTrack .coupon-card:nth-child(3n+3){
    display: none !important;
  }

  /* Split the row evenly between the two remaining cards (instead of the
     fixed 360px desktop width) so they always fit side-by-side across
     this whole tier without wrapping, regardless of the exact width. */
  #couponTrack .coupon-card:nth-child(3n+1),
  #couponTrack .coupon-card:nth-child(3n+2){
    width: calc(50% - 12px) !important;
  }
}



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

 /* Section-3 CSS — rebuilt from the Claude design's actual source markup
    (All Climate Homepage.dc.html, "EVERY SEASON / SERVICE LIST"): plain
    light-gray section, header + copy on the left, a dark gradient
    "Complete HVAC Services" checklist card on the right.

    Per discussion, this section no longer renders the old contact_list /
    van_image / "Schedule Service" form block — the new design doesn't
    include that content here and it doesn't appear anywhere else in the
    design source either. Those ACF fields are left untouched, just not
    output from this section anymore (same approach used for sec1_image
    in Section 1). All three service repeaters (Plumbing / HVAC /
    Electrical) are combined into one unified checklist to match the
    design's single "Complete HVAC Services" card without dropping any
    existing content. */


.section-3{
  position: relative;
  z-index: 3;
  background-color: #f6f7fb;
  padding: clamp(56px, 6vw, 92px) clamp(20px, 4vw, 44px);
}

.sec3-wrap{
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(36px, 5vw, 72px);
  align-items: center;
}

/* Plain divs (no Bootstrap row/col classes) on purpose — Bootstrap's
   .col-md-6 sets its own max-width:50% as part of its flex column
   definition, which would double up against this grid's 1fr columns
   if both were on the same element. Keeping this grid self-contained
   avoids that. */
@media (max-width: 55em){
  .sec3-wrap{
    grid-template-columns: 1fr;
  }
}

/* ---------- Left column: heading + copy ---------- */
.sec3-heading{
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(30px, 3.4vw, 44px);
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 22px;
  color: #161824;
}

.sec3-intro p{
  margin: 0 0 16px;
  font-size: 16.5px;
  line-height: 1.7;
  color: #4c5464;
}

.sec3-intro p:last-child{
  margin-bottom: 0;
}

/* ---------- Right column: "Complete HVAC Services" checklist card ---------- */
.sec3-services-card{
  background: linear-gradient(155deg, #0a1730, #0f2f5c);
  border-radius: 20px;
  padding: 34px 32px;
  box-shadow: 0 30px 70px rgba(10,25,55,.35);
}

.sec3-services-title{
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 800;
  font-size: 18px;
  color: #ffffff;
  margin: 0 0 22px;
}

.sec3-services-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 22px;
}

.sec3-service-item{
  display: flex;
  align-items: center;
  gap: 11px;
  color: #ffffff;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 600;
  font-size: 14.5px;
  text-decoration: none;
  transition: color .3s ease-in-out;
}

.sec3-service-item:hover{
  color: #ffffff;
  text-decoration: underline;
}

.sec3-service-icon{
  font-size: 17px;
  flex: 0 0 auto;
}

/* Alternating check-icon colors (blue/red) — the design's own item-by-item
   coloring looks essentially arbitrary rather than a strict pattern, so a
   clean alternation gets the same two-tone effect without hardcoding it
   to a fixed list length that won't hold up as services are added. */
.sec3-service-item:nth-child(odd) .sec3-service-icon{
  color: #3aa9ff;
}

.sec3-service-item:nth-child(even) .sec3-service-icon{
  color: #E21C3D;
}

@media (max-width: 55em){
  .sec3-services-grid{
    grid-template-columns: 1fr;
  }
}


 /* ---------------------- */
 /* Legacy styles below — kept in case any of this markup/CSS is still
    referenced elsewhere on the site; no longer used by this section's
    template. */

.service-list {
    overflow-y: scroll;
    height: 15em;
    margin-top: 3%;
    margin-left: 0rem;
    width: 99%;
    background: #f9f9f900;
    padding: 1% 0% 1% 2%;
    overflow-x: hidden;
    text-align: left;
}

.service-list li {
    font-size: 1em;
    list-style-type: none!important;
    position: relative;
}

.service-list li a span {
    color: #059dcf;
    position: relative;
    left: 0.2em;
    top: 0.14em;
    font-size: 1.2em;
}

.service-list li a {
    display: block;
    padding: 0.4em 0.2em 0.3em 0.5em;
    position: relative;
    transition: all .3s ease-in-out;
    color: white;
    border-left: .0em solid #3aa9ff;
    text-decoration: none;
}

.service-list li a:after {
    content: '';
    position: absolute;
    bottom: 0.1em;
    left: -2.4em;
    height: 1.8em;
    width: 1.8em;
    background-size: 100%;
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
    transition: all .3s ease-in-out;
    background-repeat: no-repeat;
}

.service-list li a:hover {
    background-color: #ececec;
    color: #000000;
    padding: 0.4em 0.2em 0.3em 1.4em;
    border-left: 0.7em solid #3aa9ff;
}

.service-list li a:hover:after {
    left: 0.4em;
}

/*
 *  STYLE 1
 */
.service-list::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgb(0 0 0 / 49%);
    border-radius: 15px;
    background-color: #00000029;
}

.service-list::-webkit-scrollbar {
    width: 5px;
    /* background-color: #F5F5F4; */
}

.service-list::-webkit-scrollbar-thumb {
    border-radius: 15px;
    -webkit-box-shadow: inset 0 0 3px rgb(0 0 0 / 36%);
    background-color: #000000;
}



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

 /* Section-4 CSS — rebuilt from the Claude design's actual source markup
    (All Climate Homepage.dc.html, "WHY CHOOSE US"): image with a
    floating stat badge on the left, heading + copy + a 2x2 USP grid on
    the right.

    Fixed two field-name bugs from the previous version of this section
    (it was referencing sec3_header / sec3_image instead of sec4_header /
    sec4_image). Also removed the "Schedule Service" / phone buttons —
    the design doesn't show any CTA buttons in this section (Section 1
    already carries the primary Request Service form), so they were
    dropped to match, same as the other sections. Columns are swapped to
    match the design's actual order: image left, text right.

    You have 6 usp_group2 items but the design only shows 4 at a time —
    built as a 2x2 grid that pages through all 6, 2 at a time, via the
    prev/next arrows (with dot indicators), rather than a traditional
    Bootstrap carousel, since Bootstrap's carousel swaps one full slide
    at a time and can't easily do a "shift by 2, keep 4 visible" window. */


.section-4{
  position: relative;
  z-index: 3;
  background: linear-gradient(180deg, #ffffff, #eef3fb);
  padding: clamp(56px, 6vw, 92px) clamp(20px, 4vw, 44px);
}

.sec4-wrap{
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(36px, 5vw, 64px);
  align-items: center;
}

@media (max-width: 55em){
  .sec4-wrap{
    grid-template-columns: 1fr;
  }
}

/* ---------- Left column: image + floating stat badge ---------- */
.sec4-image-col{
  position: relative;
}

.sec4-image-frame{
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 30px 70px rgba(20,22,40,.22);
  aspect-ratio: 3 / 4;
}

.sec4-image-frame img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sec4-badge{
  position: absolute;
  bottom: -24px;
  right: -18px;
  background: #ffffff;
  border-radius: 16px;
  padding: 20px 24px;
  box-shadow: 0 20px 46px rgba(20,22,40,.2);
  text-align: center;
}

.sec4-badge-number{
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 800;
  font-size: 36px;
  line-height: 1;
  color: #E21C3D;
}

.sec4-badge-label{
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 600;
  font-size: 12px;
  color: #5b6270;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-top: 4px;
}

/* ---------- Right column: heading + copy ---------- */
.sec4-heading{
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.12;
  letter-spacing: -.02em;
  margin: 0 0 16px;
  color: #161824;
}

.sec4-intro > p{
  margin: 0 0 30px;
  font-size: 16.5px;
  line-height: 1.7;
  color: #4c5464;
}

/* ---------- USP paginated grid ---------- */
.usp2-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.usp2-card{
  background: #ffffff;
  border-radius: 20px;
  padding: 22px;
  box-shadow: 0 10px 30px rgba(20,22,40,.06);
  transition: transform .3s ease-in-out, box-shadow .3s ease-in-out;
}

.usp2-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(20,22,40,.12);
}

.usp2-icon{
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  font-size: 20px;
  margin-bottom: 12px;
}

.usp2-card:nth-child(odd) .usp2-icon{
  background: rgba(226,28,61,.1);
  color: #E21C3D;
}

.usp2-card:nth-child(even) .usp2-icon{
  background: rgba(22,149,243,.12);
  color: #1695F3;
}

.usp2-title{
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 700;
  font-size: 16px;
  margin: 0 0 6px;
  color: #1b1d29;
}

.usp2-card p{
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: #5b6270;
}

@media (max-width: 40em){
  .usp2-grid{
    grid-template-columns: 1fr;
  }
}

/* ---------- Pagination controls ---------- */
.usp2-nav{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 20px;
}

.usp2-nav-btn{
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1.5px solid rgba(20,22,40,.14);
  background: #ffffff;
  color: #161824;
  font-size: 14px;
  cursor: pointer;
  transition: all .3s ease-in-out;
}

.usp2-nav-btn:hover{
  background: #1695F3;
  border-color: #1695F3;
  color: #ffffff;
}

.usp2-dots{
  display: flex;
  align-items: center;
  gap: 8px;
}

.usp2-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(20,22,40,.18);
  transition: background .3s ease-in-out, transform .3s ease-in-out;
}

.usp2-dot.is-active{
  background: #E21C3D;
  transform: scale(1.2);
}


 /* ---------------------- */
 /* Legacy styles below — this section previously rendered its USP boxes
    with the older usp-blk / usp-wrap / usp-label classes (same block
    also found colliding with Section 1's redesign). Left untouched in
    case anything else on the site still uses them; this section's
    template no longer does. */

.usp-wrap{
  width: 80%;
  position: relative;
  margin: 3em auto 2em 0;
}


.usp-wrap .col-lg-4{
  padding: 0 .59%
}

.usp-blk {
  position: relative;
  padding: 2em;
  text-align: center;
  height: 29em;
  font-size: .9em;
  border: 1px solid #0000002e!important;
  transition: all .3s ease-in-out;
  background: #edffff;
}

.usp-blk span{
  color: #3aa9ff;
  font-size: 6em;
  position: relative;
  z-index: 1;
}


.usp-blk span:after{
  content:'';
  position: absolute;
  top: -0.15em;
  left: 0;
  width: 100%;
  height: 1.3em;
  background-repeat: no-repeat;
  z-index: -1;
  background-position: center;
  background-size: 1.1em;
  opacity: 0.2;
}

.usp-label{
  font-size: 1.4em;
}

.usp-blk.box-3{
  border: 1px solid #0000002e!important;
}

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

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


.section-5{
  position: relative;
  background: linear-gradient(180deg, #eef3fb, #ffffff);
  color: #161824;
  padding: clamp(56px, 6vw, 92px) clamp(20px, 4vw, 44px);
}

.sec5-inner{
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}

.sec5-intro{
  text-align: center;
  max-width: 760px;
  margin: 0 auto clamp(36px, 4vw, 52px);
}

.sec5-stars{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 16px;
}

.sec5-stars .icon-star{
  color: #f5a623;
  font-size: 20px;
}

.sec5-heading{
  font-weight: 800;
  font-size: clamp(30px, 3.4vw, 44px);
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 16px;
  color: #161824;
}

.sec5-subheading{
  margin: 0;
  font-size: 16.5px;
  line-height: 1.7;
  color: #4c5464;
}

.sec5-reviews{
  margin: 0 auto;
}

.sec5-cta{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: clamp(32px, 4vw, 48px);
}

.sec5-cta-btn{
  display: inline-flex;
  align-items: center;
  gap: 11px;
  background: #ffffff;
  color: #1b1d29;
  border: 1.5px solid rgba(20,22,40,.14);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 16px 34px;
  border-radius: 999px;
  box-shadow: 0 10px 26px rgba(20,22,40,.08);
  text-decoration: none;
  transition: all .3s ease-in-out;
}

.sec5-cta-btn:hover{
  border-color: #E21C3D;
  color: #E21C3D !important;
  transform: translateY(-2px);
}

.sec5-cta-btn-alt:hover{
  border-color: #1695F3;
  color: #1695F3 !important;
}

@media (max-width: 55em){
  .sec5-cta{
    flex-direction: column;
    align-items: center;
  }
}

.add-box{
  position: relative;
  padding: 0 1em;
  margin-top: 1%;
}

.add-header{
  position: relative;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: white;
  font-size: 1.2em;
  padding-bottom: .5em;
  border-bottom: 1px solid #ffffff1c;
}

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



.section-6{
  position: relative;
  overflow: hidden;
  background: #0a0e1c;
  color: #ffffff;
  padding: clamp(56px, 6vw, 100px) clamp(20px, 4vw, 44px);
}

.sec6-bg{
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: .2;
  pointer-events: none;
}

.sec6-glow{
  position: absolute;
  pointer-events: none;
  filter: blur(24px);
  opacity: .75;
}

.sec6-glow-red{
  top: -20%;
  left: -6%;
  width: 50%;
  height: 120%;
  background: radial-gradient(circle at 40% 40%, rgba(226,28,61,.34), transparent 62%);
}

.sec6-glow-blue{
  bottom: -30%;
  right: -8%;
  width: 50%;
  height: 120%;
  background: radial-gradient(circle at 60% 50%, rgba(22,149,243,.34), transparent 62%);
}

.sec6-inner{
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

.sec6-heading{
  font-weight: 800;
  font-size: clamp(30px, 3.8vw, 48px);
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 24px;
  color: #ffffff;
}

.sec6-heading span{
  color: #3aa9ff;
}

.sec6-copy{
  font-size: 17.5px;
  line-height: 1.7;
  color: rgba(255,255,255,.82);
}

.sec6-copy p{
  margin: 0 auto 14px;
  max-width: 780px;
}

.sec6-copy p:last-child{
  margin-bottom: 36px;
}

.sec6-stats{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 14px 44px;
}

.sec6-stat{
  text-align: center;
}

.sec6-stat-number{
  font-weight: 800;
  font-size: clamp(32px, 3.6vw, 48px);
  color: #3aa9ff;
  line-height: 1;
}

.sec6-stat-label{
  font-size: 13px;
  color: rgba(255,255,255,.7);
  margin-top: 6px;
  letter-spacing: .06em;
}

.sec6-stat-divider{
  width: 1px;
  align-self: stretch;
  background: rgba(255,255,255,.16);
}

@media (max-width: 55em){
  .sec6-stat-divider{
    display: none;
  }
}








.section-7{
  position: relative;
  overflow: hidden;
  background: linear-gradient(115deg, #E21C3D 0%, #E21C3D 34%, #1695F3 66%, #1695F3 100%);
  color: #ffffff;
}

.section-7::before{
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(50% 120% at 15% 0%, rgba(255,255,255,.16), transparent 55%);
  pointer-events: none;
}

.sec7-inner{
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(56px, 6vw, 96px) clamp(20px, 4vw, 44px);
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(36px, 5vw, 64px);
  align-items: center;
}

.sec7-heading{
  font-weight: 800;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.06;
  letter-spacing: -.02em;
  margin: 0 0 20px;
  color: #ffffff;
}

.sec7-copy{
  color: rgba(255,255,255,.92);
  font-size: 17.5px;
  line-height: 1.7;
}

.sec7-copy p{
  margin: 0 0 30px;
  max-width: 580px;
}

.sec7-copy p:last-child{
  margin-bottom: 30px;
}

.sec7-checklist{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  max-width: 580px;
}

.sec7-check-item{
  display: flex;
  align-items: center;
  gap: 11px;
  background: rgba(255,255,255,.14);
  border-radius: 14px;
  padding: 15px 16px;
  font-weight: 600;
  font-size: 14.5px;
  color: #ffffff;
}

.sec7-check-item .icon-check-circle{
  font-size: 18px;
  color: #ffffff;
  flex: 0 0 auto;
}

.sec7-card{
  background: #ffffff;
  border-radius: 20px;
  padding: clamp(28px, 3vw, 40px);
  box-shadow: 0 34px 80px rgba(20,10,40,.4);
  color: #161824;
}

.sec7-card-head{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}

.sec7-card-badge{
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 16px;
  background: linear-gradient(135deg, #E21C3D, #1695F3);
  color: #ffffff;
  flex: 0 0 auto;
}

.sec7-card-badge .icon-mp-shield1{
  font-size: 27px;
}

.sec7-card-title{
  font-weight: 800;
  font-size: 20px;
  color: #161824;
}

.sec7-card-sub{
  font-size: 14px;
  color: #5b6270;
}

.sec7-card-price{
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 20px 0;
  border-top: 1px solid #eceef3;
  border-bottom: 1px solid #eceef3;
}

.sec7-price{
  font-weight: 800;
  font-size: clamp(42px, 5vw, 60px);
  color: #E21C3D;
  line-height: 1;
}

.sec7-price-note{
  font-weight: 600;
  font-size: 16px;
  color: #5b6270;
}

.sec7-tiers{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 22px 0;
}

.sec7-tier{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #f6f7fb;
  border-radius: 14px;
  padding: 15px 18px;
}

.sec7-tier-label{
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 15px;
  color: #1b1d29;
}

.sec7-tier-icon{
  font-size: 17px;
}

.sec7-tier-icon-blue{
  color: #1695F3;
}

.sec7-tier-icon-red{
  color: #E21C3D;
}

.sec7-tier-price{
  font-weight: 800;
  font-size: 17px;
  color: #161824;
}

.sec7-tier-suffix{
  font-weight: 600;
  font-size: 13px;
  color: #8b909e;
}

.sec7-cta-btn{
  /* !important on display/text-align: this site has a global
     a[href^="tel"]{display:block} rule that outranks a lone class
     selector on specificity, which was pushing the label to the left.
     Now that this is a <button> (needed for the data-bs-toggle modal
     trigger anyway) that rule no longer applies, but the !importants
     are kept as a safety net against the button/reset styles that
     browsers and Bootstrap apply to <button> by default. */
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center !important;
  gap: 10px;
  width: 100%;
  background: #E21C3D;
  color: #ffffff;
  font-family: inherit;
  font-weight: 700;
  font-size: 16px;
  padding: 17px;
  border: none;
  border-radius: 999px;
  box-shadow: 0 14px 30px rgba(226,28,61,.32);
  text-decoration: none;
  cursor: pointer;
  transition: all .3s ease-in-out;
}

.sec7-cta-btn:hover{
  background: #b81531;
  color: #ffffff !important;
  transform: translateY(-2px);
}

@media (max-width: 55em){
  .sec7-inner{
    grid-template-columns: 1fr;
  }

  .sec7-copy p,
  .sec7-checklist{
    max-width: 100%;
  }
}

@media (max-width: 30em){
  .sec7-checklist{
    grid-template-columns: 1fr;
  }
}






.section-8{
  position: relative;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.sec8-inner{
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(56px, 6vw, 92px) clamp(20px, 4vw, 44px);
}

.sec8-intro{
  text-align: center;
  max-width: 760px;
  margin: 0 auto clamp(32px, 3.5vw, 48px);
}

.sec8-heading{
  font-weight: 800;
  font-size: clamp(30px, 3.4vw, 44px);
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 16px;
  color: #161824;
}

.sec8-subheading{
  margin: 0;
  font-size: 16.5px;
  line-height: 1.7;
  color: #4c5464;
}

.sec8-panel{
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 26px 64px rgba(20,22,40,.16);
  border: 1px solid rgba(20,22,40,.06);
  background: #ffffff;
}

.sec8-map{
  height: 440px;
  overflow: hidden;
  position: relative;
}

.sec8-map iframe{
  width: 100%;
  height: 502px;
  border: none;
  display: block;
  margin-top: -62px;
}

.sec8-chips{
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 18px;
  scroll-snap-type: x proximity;
}

.sec8-chip{
  flex: 0 0 auto;
  scroll-snap-align: start;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: #f6f7fb;
  border-radius: 999px;
  padding: 11px 20px;
  font-weight: 600;
  font-size: 14.5px;
  color: #22242f;
  text-decoration: none;
  white-space: nowrap;
  transition: background .3s ease-in-out, box-shadow .3s ease-in-out;
}

a.sec8-chip:hover{
  background: #ffffff;
  color: #22242f !important;
}

.sec8-chip:has(.sec8-marker-blue):hover{
  box-shadow: 0 8px 20px rgba(22,149,243,.16);
}

.sec8-chip:has(.sec8-marker-red):hover{
  box-shadow: 0 8px 20px rgba(226,28,61,.16);
}

.sec8-marker{
  font-size: 14px;
  flex: 0 0 auto;
}

.sec8-marker-blue{
  color: #1695F3;
}

.sec8-marker-red{
  color: #E21C3D;
}

.sec8-chip-dual{
  gap: 9px;
}

.sec8-chip-name{
  font-weight: 600;
  color: #22242f;
}

.sec8-chip-sublink{
  display: inline-flex;
  align-items: center;
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  text-decoration: none;
  padding: 5px 10px;
  border-radius: 999px;
}

.sec8-chip-sublink-heating{
  color: #E21C3D;
  background: rgba(226,28,61,.1);
}

.sec8-chip-sublink-heating:hover{
  background: #E21C3D;
  color: #ffffff !important;
}

.sec8-chip-sublink-cooling{
  color: #1695F3;
  background: rgba(22,149,243,.1);
}

.sec8-chip-sublink-cooling:hover{
  background: #1695F3;
  color: #ffffff !important;
}

.sec8-closing{
  max-width: 1021px;
  margin: 0 auto;
  padding: clamp(44px, 5vw, 72px) clamp(20px, 4vw, 44px);
  text-align: center;
}

.sec8-closing p{
  margin: 0;
  font-weight: 700;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.55;
  color: #161824;
}

.sec8-phone-link{
  /* Same sitewide a[href^="tel"]{color:...; display:block;} rule that
     affected Section 7's button is why this wasn't red and was breaking
     onto its own line: that attribute-selector rule outranks a single
     class on specificity, so it was overriding both color and forcing
     block display on this link. !important on both fixes it. */
  display: inline !important;
  color: #E21C3D !important;
  text-decoration: none;
}

.sec8-phone-link:hover{
  color: #b81531 !important;
}

@media (max-width: 55em){
  .sec8-map{
    height: 320px;
  }

  .sec8-map iframe{
    height: 382px;
  }
}

/* --- Prev/Next + dots for the service-area chip strip ---
   The chips are still the same native horizontal scroller as before
   (touch swipe on mobile is untouched) - these just add a visible,
   clickable affordance so it doesn't read as "the list ends here" on
   wider screens where there's no scrollbar hint. */

.sec8-chips-wrap{
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 6px;
}

.sec8-chips-wrap .sec8-chips{
  flex: 1 1 auto;
  padding: 18px 12px;
}

.sec8-chip-nav-btn{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.6em;
  height: 2.6em;
  border-radius: 50%;
  border: 1px solid rgba(20,22,40,.1);
  background: #ffffff;
  color: #22242f;
  font-size: 1em;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(20,22,40,.14);
  transition: background .3s ease-in-out, color .3s ease-in-out, box-shadow .3s ease-in-out, opacity .3s ease-in-out;
  z-index: 2;
}

.sec8-chip-nav-btn:hover{
  background: #1f4f9c;
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(31,79,156,.28);
}

.sec8-chip-nav-btn:disabled{
  opacity: .35;
  cursor: default;
  box-shadow: none;
}

.sec8-chip-nav-btn:disabled:hover{
  background: #ffffff;
  color: #22242f;
}

.sec8-dots{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 0 18px 20px;
}

.sec8-dot{
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(20,22,40,.16);
  cursor: pointer;
  transition: background .3s ease-in-out, transform .3s ease-in-out;
}

.sec8-dot:hover{
  background: rgba(20,22,40,.32);
}

.sec8-dot.is-active{
  background: #1f4f9c;
  transform: scale(1.25);
}

@media (max-width: 40em){
  /* Touch devices already have swipe - the arrow buttons are redundant
     chrome at this width, so drop them and keep just the dots as a
     lightweight "there's more" indicator. */
  .sec8-chip-nav-btn{
    display: none;
  }

  .sec8-chips-wrap{
    padding: 0;
  }
}

.service-areas{
  position: relative;
}


.service-areas-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;
  margin-top: 2em;
}


.service-areas-list {
    overflow-y: scroll;
    height: 13em;
    overflow-x: hidden;
    margin-left: 0rem;
}

#result-message{
  margin-top: .3em;
  display: block;
  font-weight: 900;
}

/*
 *  STYLE 1
 */
.service-areas-list::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgb(0 0 0 / 49%);
    border-radius: 15px;
    background-color: #00000029;
}

.service-areas-list::-webkit-scrollbar {
    width: 5px;
    /* background-color: #F5F5F4; */
}

.service-areas-list::-webkit-scrollbar-thumb {
    border-radius: 15px;
    -webkit-box-shadow: inset 0 0 3px rgb(0 0 0 / 36%);
    background-color: #000000;
}


.service-areas-list li {
    position: relative;
    padding: 0.4em 0.3em 0.4em 0.2em;
    font-size: 1em;
    font-weight: 500;
    width: 48%;
    margin: 0.3em 0.2em;
    background: #172045ba;
    border-radius: 0.5em;
    transform: skew(-8deg, 0deg);
    color: #ffffff;
    text-transform: uppercase;
}

.service-areas-list li strong{
  display: block;
  padding-left: 1.6em;
}

.service-areas-list li a{
  color: black;
  text-decoration: none;
  text-transform: uppercase;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}

.service-areas-list li:after {
    content: "\f041";
    font-family: 'icomoon' !important;
    position: absolute;
    top: 0.2em;
    left: 0.6em;
    color: #3aa9ff;
    font-size: 1.333em;
    border-radius: 50%;
    line-height: 1;
}



#profile-2 .service-areas-list li {
    padding-left: 0em;
}

#profile-2 .service-areas-list li  strong{
  padding-left: 2em;
}

.serv-list{
    width: 100%;
    -webkit-flex-wrap: wrap!important;
    -ms-flex-wrap: wrap!important;
    flex-wrap: wrap!important;
    -webkit-justify-content: space-between!important;
    -ms-flex-pack: justify!important;
    justify-content: space-between!important;
    display: -webkit-flex!important;
    display: -ms-flexbox!important;
    display: flex!important;
    list-style: none;
    padding: 10px;
    border-top: 1px solid #ffffff17;
    margin: auto!important;
}

.serv-list li {
    position: relative;
    padding: 0.2em 0em 0em 0em;
    font-size: 0.6em;
    font-weight: 500;
    width: 45%!important;
    font-style: normal!important;
}

.serv-list li:after {
  display: none;
}

.serv-list li a{
  color: #3aa9ff;
  text-decoration: none;
}

.serv-list li a:hover{
  color: #044ba1;
}


.section-8 .btn{
  max-width: 400px;
  margin: 1em 0 0 0;
}


.zip-check{
  position: relative;
  margin-top: 1em;
  font-size: 0.8em;
}

.search-subtitle{
  position: relative;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.1;
}

#zip-input{
  position: relative;
  background: #00000047;
  color: white;
  border-top-left-radius: 1em;
  border-bottom-left-radius: 1em;
  padding: 0.1em 0.1em 0.5em 1.1em;
}

.zip-check button{
  position: relative;
  padding: .2em 1.4em;
  border-top-right-radius: 1em;
  border-bottom-right-radius: 1em;
  background: #3aa9ff;
  color: #000000;
}

.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:after{
  content:'';
  position: absolute;
  width: 100%;
  height: 3em;
  top: -1.6em;
  left: 0em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}


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

.sched-row {
    position: relative;
    padding: 0;
    max-width: 1700px!important;
    margin: auto;
    box-shadow: 0em 0em 2em #00000000;
}

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


.sched-row a, .sched-row button {
    color: white;
    text-transform: uppercase;
    display: block;
    line-height: 1;
    padding: 2% 2% 3% 2%;
    transition: all .3s ease-in-out;
    border-radius: .7em;
    letter-spacing: .06em;
    text-decoration: none;
    font-size: 0.9em;
    margin: 0;
    border-radius: 0em;
    position: relative;
    z-index: 1;
    background: #044ba1;
    width: 100%;
    border:0;
 }

.sched-row button.pop-button:before{
  transform: scale(1);
  
}

.sched-row button.pop-button{
  position: relative;
  color: #000000;
  background-color: #3aa9ff;
 }

.sched-row button.pop-button:after {
    content: " ";
    position: absolute;
    bottom: 0em;
    height: 100%;
    z-index: -1;
    width: 100%;
    transition: all .3s ease-in-out;
    right: 0%;
} 

.sched-row button.pop-button strong{
  text-shadow: none;
}

.sched-row button.pop-button span{
  color: black;
}

.sched-row a .column,.sched-row a .columns , .sched-row button .column,.sched-row button .columns {
    padding-left: 0rem;
    padding-right: 0rem;
}

.sched-row a strong, .sched-row button strong {
    letter-spacing: 0.03em;
    font-size: 2.2em;
    font-weight: 900;
    display: block;
    text-shadow: -0.1em 0.1em 0em #000000;
    margin-bottom: 0.3em;
 }

.sched-row a span, .sched-row button span {
    display: block;
    text-align: center;
    font-size: 9em;
    position: relative;
    /* top: -.1em; */
    opacity: 1;
    line-height: 0.6;
    left: -0.1em;
}

.sched-row a:hover span, .sched-row button:hover span{
      -webkit-animation: tada 1s;
    animation: tada 1s;
}

.sched-row a:hover, .sched-row button:hover{
  background-color: #464646;
  color: #ffffff;
  cursor: pointer;
}

/* Footer Section CSS  */ 
/* ==========================================================================
   Footer — rebuilt from the Claude design's footer + call/schedule banner
   (All Climate Homepage.dc.html). Covers: the red/blue call-to-action
   banner, the 4-column black footer, the "Methods of Payment" row, and
   the bottom copyright bar.

   Per explicit request, the copyright bar at the very bottom runs full
   width edge-to-edge (its background spans the whole viewport) - this
   differs from the design file, where that bar's background is
   contained to the same 1280px column as the rest of the footer. Its
   text still lines up with everything above it via an inner max-width
   wrapper.
   ========================================================================== */

.foot-cta-row{
  display: grid;
  /* minmax(0,1fr) rather than plain 1fr: a plain 1fr track's minimum width
     defaults to the size of its content (min-width:auto on grid items), so
     once .foot-cta-call became a flex row again (see fix below) its
     icon+text content was wide enough to blow the "Call" column past an
     even 50/50 split and overflow past the row's right edge - which is
     almost certainly the "not 100%" look you flagged. minmax(0,1fr) caps
     each track's minimum at 0 so the two columns always split evenly and
     the text truncates/wraps inside its own half instead of pushing out. */
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  /* FOUND THE REAL "overflows the screen" CAUSE: checked the live page's
     actual layout, and every other section on the site (hero, the stats
     section, the map/service-area section, etc.) sits inside `.site`,
     which is capped at max-width:1700px and centered - that's the
     "uniform, nothing overflows the box" look you're pointing at. This
     row had no max-width at all, so it was rendering at the FULL browser
     window width instead of that same 1700px column - a ~200px-per-side
     mismatch at a 1920px window, and a much bigger, more obvious one at
     the ultra-wide (2711px) width you tested at. Matching `.site`'s own
     max-width here fixes that, at any window size or zoom level - it's
     not a viewport-unit/overflow bug, it's just a missing width cap. */
  max-width: 1700px;
  margin: 0 auto;
}

.foot-cta{
  display: flex;
  align-items: center;
  gap: 22px;
  color: #ffffff;
padding: clamp(20px, 3vw, 36px) clamp(24px, 5vw, 72px);
  text-decoration: none;
  border: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: background .3s ease-in-out;
}

.foot-cta-call{
  background: #E21C3D;
}

.foot-cta-call:hover{
  background: #c4162f;
  color: #ffffff !important;
}

.foot-cta-schedule{
  background: #0090F5;
}

.foot-cta-schedule:hover{
  background: #0c7fda;
}

/*
 * FOUND THE ROOT CAUSE of both symptoms you flagged (icon sitting above the
 * phone number instead of beside it, and the red "Call" block looking
 * shorter than the blue "Schedule Online" block so the row doesn't read as
 * a clean, even 100% split): the same sitewide rule that's broken the
 * tel-link layout twice before elsewhere on this page is doing it again
 * here, because .foot-cta-call is an `<a href="tel:...">`:
 *
 *   a[href^="tel"]{
 *     color: inherit;
 *     text-decoration: none;
 *     margin-bottom: 3%;
 *     display: block;
 *   }
 *
 * That `display:block` is what knocks the icon and text out of the
 * side-by-side flex row and stacks them vertically instead (icon on top,
 * text below) - it's not that the icon moved, it's that the whole flex
 * layout on this element got turned off. And `margin-bottom:3%` (percentage
 * vertical margins resolve against the element's width, ~602px here) adds
 * about 18px of extra space under the red block only, which is exactly the
 * gap that made it look shorter than the blue button and the row look
 * uneven rather than a clean 100%-wide, equal-height split.
 *
 * The blue "Schedule Online" side is a <button>, not a tel link, so this
 * rule never touched it - only the red "Call" side was affected.
 *
 * Fix: this sitewide rule has no !important, so a targeted !important
 * override here wins regardless of selector specificity or load order,
 * without needing to touch the sitewide rule itself.
 */
.foot-cta-call{
  display: flex !important;
  margin-bottom: 0 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  min-width: 0 !important;
}

.foot-cta-icon{
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: clamp(56px, 6vw, 74px);
  height: clamp(56px, 6vw, 74px);
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  font-size: clamp(26px, 3vw, 36px);
}

.foot-cta-text{
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

/* Company name, shown above the phone number in the "Call" block - per
   request. Uses the same `company_name` ACF option-page field the
   copyright bar already pulls from, so it stays in sync with wp-admin. */
.foot-cta-brand{
  font-weight: 700;
  font-size: clamp(12px, 1.3vw, 15px);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.75);
}

.foot-cta-title{
  font-weight: 800;
  font-size: clamp(24px, 3vw, 40px);
  line-height: 1;
  letter-spacing: -.01em;
}

.foot-cta-sub{
  font-weight: 600;
  font-size: clamp(13px, 1.3vw, 16px);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(255,255,255,.9);
}

@media (max-width: 55em){
  .foot-cta-row{
    grid-template-columns: 1fr;
  }
}

/*
 * FOUND THE ROOT CAUSE of the broken-looking render: your existing CSS
 * (the "previous footer css.css" you sent over) has this still active:
 *
 *   .site-footer{
 *     background-color: #ffffff !important;
 *     color: black !important;
 *     max-width: 1700px !important;
 *     ...
 *   }
 *
 * The footer markup keeps the theme's original `site-footer` class (on
 * purpose, in case anything else targets it), so that old !important
 * rule is still forcing a white background and black text over
 * everything below - which is why it rendered white/cramped instead of
 * the black 4-column design. It's not that the new CSS failed to load;
 * it loaded, but lost that specific fight.
 *
 * Fix: target the ID (#colophon is unique to this footer and already
 * on the element) rather than a plain class. An ID selector always
 * outranks a class selector on specificity, so this wins regardless of
 * !important or which stylesheet loads first or last - no need to
 * touch or remove the old rule.
 *
 * UPDATE: the old rule's `max-width:1700px` was actually correct - it
 * matches `.site`, the same container every other section on the page
 * sits inside. The bug was color/background only. But my first fix
 * overrode max-width to `none` too, along with background/color, which
 * made this box render at the full window width instead of that shared
 * 1700px column - same underlying issue as the .foot-cta-row fix above.
 * Restoring max-width:1700px + centering it here fixes that alignment.
 */
#colophon.foot-main{
  background-color: #000000 !important;
  color: #ffffff !important;
  max-width: 1700px !important;
  margin: 0 auto !important;
  box-shadow: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.foot-cols{
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(48px, 5vw, 72px) clamp(20px, 4vw, 44px) 0;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.3fr;
  gap: clamp(28px, 4vw, 52px);
}

@media (max-width: 55em){
  .foot-cols{
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 30em){
  .foot-cols{
    grid-template-columns: 1fr;
  }
}



@media (max-width: 30em){
  .foot-cols{
    grid-template-columns: 1fr;
  }

  .foot-logo{
    margin-left: auto;
    margin-right: auto;
  }
}

.foot-bbb-badge{
  margin: 16px 0 0;
}

.foot-bbb-badge img{
  height: 70px;
  width: auto;
  display: inline-block;
}

.foot-logo {
    height: 150px;
    width: auto;
    display: block;
    margin-bottom: 10px;
}

.foot-about-text {
    margin: 0 0 20px;
    font-size: 14px;
    line-height: 1.7;
    color: rgb(255 255 255);
    max-width: 320px;
}

.foot-socials{
  display: flex;
  gap: 12px;
}

.foot-social-btn {
    width: 35px;
    height: 35px;
    border-radius: 11px;
    background: rgb(255 255 255);
    display: grid;
    place-items: center;
    color: #1e4f9c !important;
    font-size: 21px;
    transition: background .3s ease-in-out;
    text-decoration: none;
}

.foot-social-btn:hover{
  background: #E21C3D;
  color: #ffffff !important;
}

.foot-col-heading{
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #ffffff;
  margin: 0 0 18px;
}

.foot-contact-list{
  display: flex;
  flex-direction: column;
  gap: 14px;
  font-size: 14.5px;
  color: rgba(255,255,255,.68);
}

.foot-contact-phone{
  display: flex;
  align-items: center;
  gap: 11px;
  color: #ffffff;
  font-weight: 700;
  font-size: 17px;
  text-decoration: none;
}

.foot-contact-phone:hover{
  color: #3aa9ff !important;
}

.foot-contact-line{
  display: flex;
  align-items: flex-start;
  gap: 11px;
}

.foot-contact-icon{
  color: #3aa9ff;
  font-size: 16px;
  margin-top: 2px;
  flex: 0 0 auto;
}

.foot-contact-icon-red{
  color: #ff3d5e;
}

.foot-contact-link{
  color: rgba(255,255,255,.68);
  text-decoration: none;
  transition: color .2s ease-in-out;
}

.foot-contact-link:hover{
  color: #3aa9ff !important;
}

.foot-link-list{
  display: flex;
  flex-direction: column;
  gap: 11px;
  font-size: 14.5px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.foot-link-list li{
  list-style: none;
  margin: 0;
  padding: 0;
}

.foot-link-list a,
.foot-link-list-item{
  color: rgba(255,255,255,.68);
  text-decoration: none;
  transition: color .3s ease-in-out;
}

.foot-link-list a:hover,
.foot-link-list-item:hover{
  color: #3aa9ff !important;
}

.foot-payments{
  max-width: 1280px;
  margin: 36px auto 0;
  padding: 22px clamp(20px, 4vw, 44px);
  border-top: 1px solid rgba(255,255,255,.1);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 22px;
}

.foot-payments-label{
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #ffffff;
  flex: 0 0 auto;
}

.foot-payments-list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}


.foot-payments-list > *{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 8px;
  padding: 9px 15px;
  font-weight: 600;
  font-size: 13.5px;
  color: rgba(255,255,255,.9);
}

.foot-payments-list [class*="icon-"]{
  color: #3aa9ff;
  font-size: 15px;
}


.foot-copyright{
  max-width: 1700px;
  margin: 0 auto;
  background-color: #0090F5;
}

/* Kept as a general safety net - harmless now, but cheap insurance
   against any future full-width element introducing horizontal scroll. */
html, body{
  overflow-x: hidden;
}

.foot-copyright-inner{
  max-width: 1280px;
  margin: 0 auto;
  padding: 26px clamp(20px, 4vw, 44px);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  font-size: 13px;
  color: rgba(255,255,255,.85);
}

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

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

/* Global Inner CSS  */ 


.side-label {
    position: relative;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 2em;
    margin-bottom: 0em;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    font-weight: 800;
    margin-top: 1em;
    /* font-style: italic; */
    color: white;
}

.side-form {
    text-align: center;
    padding: 1rem;
    background: #3aa9ff !important;
    /* border-radius: 40px; */
    color: white;
    position: relative;
    height: auto;
}









.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 #df0013;
  background-image: url(/wp-content/uploads/2026/08/welcome-banner.webp);
  background-repeat: no-repeat;
  background-position: 100% -11%;
  background-size: 44%;
  z-index: 12;
}

/* Laptop range: box height starts outgrowing the scaled image
   faster than at full desktop width — pull the anchor up. */
@media (max-width: 1400px) {
  .insideimage {
    background-position: 100% 0%;
    background-size: 50%;
  }
}

/* Small laptop / large tablet: give it more room and anchor
   fully to the top so the head can't get pushed past the edge. */
@media (max-width: 1200px) {
  .insideimage {
    background-position: 100% top;
    background-size: 58%;
    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: #1f4f9c;
  transform: skew(-20deg, 0deg);
  box-shadow: 0.8em 0em #df0013;
}


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

.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 #e6e6e6;
  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 #e6e6e6;
    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: #3aa9ff; /* hero blue */
  border-color: #df0013;
  transform: translateY(-6px) scale(1.04);
  box-shadow:
    0 10px 22px -6px rgba(0,0,0,.35),
    0 0 16px 4px rgba(110,192,229,.45);
}

/* ICON */
.insideimage .slider-usp .usp-box span {
  display: block;
  font-size: 4.5em;
  color: #3aa9ff;
  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: #192b39;
  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: "Plus Jakarta Sans", system-ui, sans-serif;
    font-weight: 800;
}

.banner-head:after{
  content:'';
  position: absolute;
  left: -0.3em;
  top: 0em;
  background: #df0013;
  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: #3aa9ff;
    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: #df0013;
}

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

.inside-section-4 h2{
  color: #192b39;
}

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

.inside-section-3{
  position: relative;
  background-color: #ebebeb;
  padding: 6% 7% 4% 7%;
  color: #192b39000;
  z-index: 9;
}



.inside-section-3 blockquote:before{
}

.inside-section-3 h2{
  color: #024f7e;
}

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

.inside-section-3 .accordion-item, .inside-section-4 .accordion-item{
  background-color: #e9e9e9;
  color: #070707;
}

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

.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: #18134f;
  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: #ebebeb;
    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: #03a8e2;
  color: white;
  border: 0;
  box-shadow: none;
}

.emp-label{
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #383838;
  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: #5b6363;
}

/* Opening CTA Inner CSS  */ 

blockquote {
    font-size: 1.22em!important;
    margin-top: 35px!important;
    width: 95%;
    border-left: aliceblue;
    position: relative;
    padding: 1em 4em 1em 2.5em!important;
    margin: 4% 1% 6% 1%!important;
    z-index: 9;
    color: #192b39000!important;
}

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

blockquote::after {
    content: '';
    position: absolute;
    bottom: -0.5em;
    right: -2em;

    width: 5.7em;
    height: 8.9em;

    background-image: url('/wp-content/uploads/2025/12/mascot-scaled.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    z-index: 1;
    transition: all .3s ease-in-out;
}


blockquote:before {
    content: '';
    position: absolute;
    bottom: 0em;
    left: 0em;
    height: 100%;
    width: 100%;
    transition: all .3s ease-in-out;
    z-index: -01;
    background-color: #df0013;
    border-top-right-radius: 0em;
    border-radius: 0em;
    border-top-left-radius: 0em;
    border-bottom-left-radius: 0em;
    border-left: 0.8em solid #df0013;
    border-top: 1px solid #c4c4c4;
    border-right: 1px solid #c4c4c4;
    border-bottom: 1px solid #c4c4c4;
    transform: skew(-6deg, 0deg);
}
 
blockquote a{color: #3aa9ff;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: #1a2a39;
    z-index: 0;
    position: relative;
    margin-bottom: 0px;
    margin-right: auto;
    margin-top: 1.5em;
}

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

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

.inside-content h1 span{
  display: block;
  font-size: .6em;
   font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: normal;
  color: white;
}

.inside-content h2 em{
  font-size: .8em;
   font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: normal;
  font-style: normal
}

.inside-content h2 {
    color: #024f7e !important;
    font-weight: 900;
    font-size: 1.8em;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}

.inside-content h3 {
    color: #184ba1;
    font-weight: 900;
    font-size: 1.4em;
     font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}

.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;
  background-color: #0a0e1c; /* fallback color while image loads */
}

.rev-sec-in::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(/wp-content/uploads/2026/08/proudly-serving-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
  opacity: .2;
  pointer-events: none;
}

/* 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: "Plus Jakarta Sans", system-ui, sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 2.8em;
    color: #ffffff;
    margin-bottom: 0em;
}



.rev-header{
   font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  text-align: center;
  font-size: 2.6em;
  line-height: 1.2;
  color: #192b39;
  font-weight: 400;
}

.rev-header strong{
   font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  text-align: center;
  font-size: 1.3em;
  line-height: 1;
  color: #192b39;
  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: #192b39;
   font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  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: #192b39;
 font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}

.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: #66bee3;
  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 #df0013;
  gap: 10px;               /* modern browsers */
}

/* Base tab button/link */
#couponsTabs .nav-link {
  color: #3aa9ff;
  background: #ffffff;
  border: 2px solid #df0013;
  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: #df0013;
  color: #3aa9ff;
  transform: translateY(-1px);
  outline: none;
  box-shadow: none;
}

/* Active tab */
#couponsTabs .nav-link.active,
#couponsTabs .nav-link[aria-selected="true"] {
  background: #3aa9ff;
  color: #ffffff;
  border-color: #3aa9ff;
  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;
  }
}




.side-coup{
  position: relative;
  width: 100%;
  margin: 2em auto 2em auto;
  background-color: #df0013;
  background-size: 55%;
  background-position: bottom left;
  background-repeat: no-repeat;
  padding: 5% 10% 7% 10%;
  outline: .3em dashed #192b39;
  outline-offset: -1em;
  text-align: center;
  border-radius: 2em;
}
.side-coup p{
  font-size: 0.8em;
  color: #192b39;
}

.side-price{
  position: relative;
  margin-top: 2%;
  font-weight: 900;
  font-size: 4.2em;
  color: #3f63c9;
}

.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: #3aa9ff;
  border: 2px solid transparent;        /* prevents layout shift */
  transition: all .25s ease;
}

.side-coup .btn-primary:hover,
.side-coup .btn-primary:focus{
  background-color: #3aa9ff;             /* keep background */
  color: #ffffff !important;
  border-color: #ffffff;
}





/* Coupon wrapper in sidebar */
.sidebar .coupon{
  position: relative;
  padding: 1.5em 2em 2em 2em;
  background: #df0013;               /* 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 */
#sidebar1 .price{
  margin: 0 0 .15em;
     font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-size: 3em;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ffffff;
}

/* OFFER text */
#sidebar1 .offer{
  margin: 0 0 1.1em;
  font-size: 1.2em;
  font-weight: bold;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #ffffff;
}

/* Button */
#sidebar1 .coupon .btn{
  display: block;
  width: 80%;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #ffffff;
  background: #df0013;

  border: 2px solid #ffffff;
  margin-top: .2em;

}

/* Button hover */
#sidebar1 .coupon .btn:hover{
  background: #df0013;
  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: #0f1526;
  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(226,28,61,.55);
}

.coup-page [data-equalizer="coup1"] > div:nth-child(even) .coupon.max-coupon{
  outline-color: rgba(58,169,255,.55);
}

/* --- Price ("$50 OFF") --- */

.coup-page .coupon .price{
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  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: #e21c3d;
}

/* --- 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(226,28,61,.55);
}

.coup-page [data-equalizer="coup1"] > div:nth-child(even) .coupon.max-coupon{
  outline-color: rgba(58,169,255,.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: #0f1526;
  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: "Plus Jakarta Sans", system-ui, sans-serif;
  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: #e21c3d;
}

/* --- 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: #14151c !important;
    outline: .18em dashed #14151c !important;
    outline-offset: -.7em;
    box-shadow: none !important;
  }
  .coupon.max-coupon .price,
  .coupon.max-coupon .offer{
    color: #14151c !important;
  }
  .coupon.max-coupon .price .price-accent{
    color: #c21631 !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: #df0013;
    font-size: 1.333em;
    border-radius: 50%;
    line-height: 1;
}

.bullet-list li a{
  color: #3aa9ff;
  text-decoration: none;
}

.bullet-list li a:hover{
  color: #3aa9ff;
}

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

/* 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: #df0013;
    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: #df0013;
}

.check-list li a{
  color: #df0013!important;
}

.check-list li a:hover{
  color: #fb8500!important;
}


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


/* Page creator Template */

.pc-default{
  position: relative;
  padding: 2% 3%;
  background-size: cover;
  background-position: center;
}



.pc-default .accordion-button{
    padding: 1rem 1.25rem;
    font-size: 1rem;
    color: #ffffff;
    background-color: #00488c;
    letter-spacing: .08em;
}

.pc-default .accordion-item{
  background-color: #efefef;
  color: #070707;
}

.pc-default .accordion-button:not(.collapsed){
    color: #ffffff;
    background-color: #000000;
}

.pc-default .accordion{
  margin-bottom: 2em;
}

.pc-default .usp-box{
  position: relative;
  padding: 2em 2em;
  text-align: center;
  border: 1px solid #00000047;
  border-radius: .5em;
  margin: 1em auto;
  background: white;
}

.pc-default h2{
  font-weight: 900;
}

.pc-default .usp-label{
  position: relative;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pc-default .usp-box span{
  display: block;
  text-align: center;
  font-size: 4em;
  color: #0056a6;
}

.center-head{
  text-align: center;
  display: block;
}

.pc-default h1{
  font-weight: 900;
  color: #0056a6;
}

.topsec{
  padding-bottom: 3em;
}

.section-faqsec h2{
  color: #00488c;
  font-weight: 900;
}

.pc-default .accordion-button h3{
  margin: 0;
  color: white;
}

/* Flex Template */

.column-section{
  position: relative;
  padding: 5% 5%;
}

.column-section strong.highlight{
    font-size: 1.36em;
    font-style: italic;
    color: #000000;
    position: relative;
    font-weight: 500!important;
    margin-top: 8px;
    padding-bottom: 3%;
    margin-bottom: 1em;
    line-height: 1.4!important;
    display: block;
}

.column-section strong.highlight:not(.no-line):after {
    content: ' ';
    display: block;
    width: 159%;
    height: 4px;
    background-color: #4fc8e3;
    position: absolute;
    top: 95%;
    right: 20px;
}

.column-section  .btn-primary{
  max-width: 450px;
  margin-left: 0;
  color: white;
}

.column-section no{
  display: none;
}

.text-highlight p{
  margin-bottom: 0;
}

.column-section h1{
  color: #414141;
  font-size: 2.6em;
  margin: 0em 0em -0.5em 0em;
}

.compressed-sec{
  padding: 5% 18%;
  background: #ededed;
}

.content-header{
  font-weight: 900;
  font-size: 1.2em;
  color: #ff601f;
}

.usp-box-section{
  position: relative;
  padding: 5% 5%;
  background: #ff5f1f;
}

.usp-box-section .usp-box{
  height: 23em;
  padding: 4em 1em 1em 1em;
}

.accordion-section{
  position: relative;
  padding: 2% 5%;
}


.accordion-section .accordion-button{
    padding: 1rem 1.25rem;
    font-size: 1rem;
    color: #ffffff;
    background-color: #209ad6;
    letter-spacing: .08em;
}

.accordion-section .accordion-item{
  background-color: #272727;
  color: white;
}

.accordion-section .accordion-button:not(.collapsed){
    color: #ffffff;
    background-color: #000000;
}

.accordion-section .accordion{
  margin-bottom: 2em;
}
 

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

.accordion-section .accordion-button:hover{
  background-color: #333a45;
  color: white!important;
}

.accordion-section .accordion-button:hover h2{
  color: white;
}

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

.galler-section {
  position: relative;
  padding: 3% 5%;
}



/* Opening CTA Inner CSS  */ 

.text-highlight {
    font-size: 1.36em;
    font-style: italic;
    color: #000000;
    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: #184ba2;
    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: #000000;
    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;
    background-image: url(/wp-content/uploads/2026/08/logo-cta.png) !important;
}


 .text-highlight2 a{
   display: unset;
   color: #b00c03;
   transition: all .3s ease-in-out;
   transform: scale(1);
   position: relative;
   bottom: 0em;
 }

  .text-highlight2 a:hover{
    font-size: 1.04em;
    bottom: 0.12em;

 }

.inner-bottom{
  margin-top: 0%;
  color: #000!important;
  z-index: 99;
  padding: 8em 7% 2em 7%;
  position: relative;
  background-color: #3aa9ff;
  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: #1f4f9c;
  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%;
  background-image: url(/wp-content/uploads/2026/01/inner-bottem-bg1.jpg);
  background-size: contain;
  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: #d62232;
}

/* 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;
  }
}


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


/* Closing CTA Inner CSS  */ 


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


.faq-page .accordion-button{
  background-color: #3aa9ff;
  color: white;
  }

.faq-page .accordion-button[aria-expanded=true], .faq-page .accordion-button:hover{
  background-color: #343434;
  color: white;
}

.faq-page .accordion-button::after{
   -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);  
}

/* 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: #3aa9ff;
  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;
  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: #209ad6!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: 5%;
  background: white;
  z-index: 11;
  position: relative;
}

.main-blog{
  position: relative;
}


  .wa-intcode-card strong:first-child{
    display: none;
  }


.main-blog a{
  text-decoration: none;
  color: #3f63c9!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: #3aa9ff;
  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: #3aa9ff;
    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: #3aa9ff;
  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: #3aa9ff;
    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: 27%;
}
   
   .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.6em;
   }
   
   
.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: 22%;
}
   
   .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: 8.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.6em;
   }
   

.quick-nav.adjust {
    font-size: .9em;
    top: 5em;
}

.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: 27%;
}
   
   .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: 7.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;
     bottom: 2em;
   }

.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: 23%;
}
   
   .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: 5.5em;
   }

.logo-image a {
    margin-top: .1em;
    transform: scale(1);
    top: 0em;
}   

    .logo-image img {
    width: 12em;
    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;
  bottom: -1em !important;
}

.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: 19%;
   }


/* 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: 15.5%;
    padding: 10% 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: 23%;
   }

/* 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: 10% 3% 1% 3%;
    margin-top: 19.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: 22%;
}

/* 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: 18%;
}
 
/* 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: 18%;
}
   
   .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)}}