@charset "UTF-8";/***** Countrywide Font Styles *****/

/* inter-100 - latin */

/* inter-regular - latin */

/* inter-500 - latin */

/* inter-700 - latin */

/* martel-regular - latin */

/* martel-700 - latin */


h1, .h1,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: 500;
}

h2,
.h2,
.cta h2 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
  font-weight: 700 !important;
}

/***** Countrywide Site Styles *****/

body {
    color: #003e65;
}
h1{
    font-size: 2.5rem;
    font-weight: 600;
    margin-bottom: 2rem;
}
.homeIntro h1, .homeIntro h2{
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 2.5rem !important;
    font-weight: 600 !important;
    margin-bottom: 2rem !important;
    color: #003e65;
}
h2 a{
    font-weight: 700 !important;
}
a, a:not([class]){
    text-decoration: underline;
    color: #003e65;
    font-weight: 500;
}
a:hover{
    color: #27daa0 !important;
}
.container-header{
    z-index: 100;
}
.container-header .navbar-toggler {
    color: #003e65;
    border: none;
}
.center{
    text-align: center;
}
.container-header{
    box-shadow: 0 0 6px 0 rgb(0 0 0 / 20%);
}
.intro p{
    font-size: 1.2rem;
}
.keyFeat h4{
    margin-bottom: 20px;
}
/***** Countrywide Topbar Styles *****/

.container-topbar{
    color: #fff !important;
    background-color: #003e65;
    padding: 0.3rem 0;
}
.container-topbar p{
    margin: 3px 0 0;
    font-size: 0.9rem;
    font-weight: 500;
}
.container-topbar a{
    text-decoration: none;
    color: #fff !important;
}
.container-topbar a:hover{
    color: #fff !important;
    text-decoration: none !important;
}
.socials p{
    font-size: 1.1rem;
}
.container-header{
    background-color: #fff;
    background-image: none;
}
.container-header .mod-menu{
    color: #003e65;
    font-weight: 500;
}
.cw-logo img{
    min-width: 190px;
}

.highlight {
  display: inline;
  font-size: 1.6rem;
  text-transform: uppercase;
  font-weight: 500;
  padding: 1rem 1rem;
  background: #27daa0;
  color: #ffffff;
  /*box-shadow: .5em 0 0 #27daa0, -.5em 0 0 #27daa0;*/
}
/*@media (min-width: 992px) {
    .dj-megamenu-countrywide li a.dj-up_a {
    padding: 0px 10px !important;
    }
}*/
.container-rating{
    padding-top: 10px;
}

/***** Countrywide Banner Styles *****/

.banner p{
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 2.5rem;
    line-height: 3rem;
    font-weight: 500;
    text-align: center;
    padding: 100px 0 30px;
    color: #fff;
    text-shadow: 2px 2px 6px rgba(0,0,0,0.8);
}
.testimonials-text p{
    font-size: 1.2rem;
    line-height: 1rem;
}

/***** Countrywide Hero Styles *****/

.hero{
    color: #fff;
}
.hero h1{
    font-size: 2.8rem;
    line-height: 3.6rem;
    font-family: "Martel", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    color: #27daa0;
    font-weight: 400;
}
.hero h2{
    font-family: "Martel", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    color: #27daa0;
    font-weight: 400;
}
.hero p{
    font-size: 2rem;
    font-weight: 500;
    margin-top: 1.8rem;
    margin-bottom: 0.4rem;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.hero span, .container-lower-banner span{
    color: #27daa0;
}
.hero h3{
    font-size: 3.2rem;
    font-weight: 700;
    margin: 0;
}
.hero h3 a{    
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-weight: 900;
    color: #fff;
    text-decoration: none;
}
.hero h3 a:hover{
        color: #27daa0;
}
.form-wrapper{
    background-color: #27daa0;
    padding: 40px;
}
.form-wrapper h4{
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-weight: 500;
    color: #003e65;
    font-size: 2.2rem;
}

.container-banner{
    margin: 0;
}

#mod-custom110 {
    background-position: center;
    background-size: cover;
}

/***** Countrywide Lower Banner Styles *****/

.container-lower-banner{
    background-color: #003e65;
    color: #fff;
    text-align: center;
    margin: 0;
}
.container-lower-banner p{
    font-size: 1.6rem;
    margin: 0;
}
/***** Slider section *****/
.uk-card-body h3{
    display: none;
}

/***** Countrywide Tiled Area Styles *****/

.cwBlue, .cwGreen{
    padding: 2.4rem;
    text-align: center;
    min-height: 382px;
}
.cwBlue, .cwGreen p{
    font-size: 1.1rem;
}
.cwBlue, .cwBlue2{
    background-color: #003e65;
    color: #fff !important;
}
.cwGreen, .cwGreen2{
    background-color: #27daa0;
    color: #003e65 !important;
}
.cwBlue h2, .cwGreen h2{
    font-size: 2rem !important;
}
.zoom {
  transition: transform .2s; /* Animation */
}

.zoom:hover {
  transform: scale(1.02); /* (150% zoom - Note: if the zoom is too large, it will go outside of the viewport) */
}

.cta{
    padding: 40px 0;
}
.formHeading{
    color: #003E64 !important;
    margin: 0;
}

/***** Countrywide Footer Styles *****/

.footer {
    background-image:none;
    margin-top: 0;
    background-color: #003e65;
}
.footer .grid-child{
    display: table;
    width: 100%;
}
/*.footer .grid-child .footerLeft,
.footer .grid-child .footerMiddle,
.footer .grid-child .footerRight{
    display: table-cell;
    width: 33.33333333333%;
}*/
.footer .grid-child .footerLeft{
    display: table-cell;
    width: 40%;
}
.footer .grid-child .footerMiddle{
    display: table-cell;
    width: 60%;
}
.footer .grid-child .footerLeft .logos{
    margin-top: 50px;
}
.footer .grid-child .footerLeft .logos a{
    display: inline-block;
    vertical-align: bottom;
    margin-right: 30px;
}
.footer .grid-child .footerLeft .logos a:last-child{
    margin-right: 0;    
}
.footer .grid-child .footerLeft .logos a img, .footer .grid-child .footerLeft .logos img{
    max-width: 80px;
}
.footer .grid-child .footerBottom{
    text-align: center;
    border-top: 1px solid #6890a6;
}
.footer .grid-child .footerBottom a{
    display: inline-block;
    vertical-align: middle;
    margin: 0 20px;
}
.footer p{
    margin: 0;
}
.footer h2, .footer h2 a{
    color: #27daa0;
    font-size: 1.8rem;
    font-weight: 700;
    margin-top: 30px;
}
.footer h2 a:hover{
    color: #fff;
}
.footer h3{
    color: #27daa0;
    font-size: 1rem;
    line-height: 1.2rem;
    font-weight: 500;
    margin-bottom: 20px;
}
.footer p,.footer h2, .footer h3{   
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.footer i{
    margin-top: 1.2rem;
}
.footer a{
    color: #fff;
    text-decoration: none;
    line-height: 1.2rem;
}
.footer a:hover, .lower-footer a:hover{
    color: #27daa0;
    text-decoration: none;
}
.lower-footer a{
    color: #003e65;
    text-decoration: none;
}
.cwFooterLeft p{
    font-size: 1.2rem;
}
.cwFooterLeft i{
    font-size: 2rem;
    margin-right: 10px;
    color: #27daa0;
}
.cwFooterLeft i:hover{
    color: #fff;
}
.cwFooterMid p{
    margin-bottom: 0.4rem;
    font-size: 0.9rem;
}
.cwFooterRight{
    text-align: center;
}
.cwFooterRight img{
    margin: 0 1rem;
}

/***** Floating Phone Button *****/

#nkfloat {
    background: rgb(255, 255, 255, 0) !important;
}

.phoneContainer {
  width: 50px;
  height: 100%;
  margin: 0 auto 0;
}
.pulse-button i{
  font-size:1.5rem;
  margin-left: -12px;
  margin-top: -2px;
}
.pulse-button {

  color: #fff;
  position: relative;
  width: 50px;
  height: 50px;
  border: 1px solid #fff;
  box-shadow: 0 0 0 0 rgba(39, 218, 160, 0.7);
  border-radius: 50%;
  background-color: #27daa0;
  background-size:cover;
  background-repeat: no-repeat;
  cursor: pointer;
  -webkit-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
  -moz-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
  -ms-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
  animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
}
.pulse-button:hover {
  background-color: #27daa0;
  -webkit-animation: none;-moz-animation: none;-ms-animation: none;animation: none;
}








/***** Countrywide Contact Styles *****/


.contact h1{
    font-size: 3.5rem;
    font-weight: 700;
}
.contact h2{
    font-size: 1.6rem;
}
.offices{
    min-height: 45vh;
}
.cwBlue2, .cwGreen2{
    padding: 2rem 2rem 0rem;;
    min-height: 255px;
}
.cwBlue2 h2, .cwGreen2 h2{
    font-size: 1.8rem;
}
.cwContact i{
    font-size: 2rem;
    margin-right: 10px;
    color: #003e65;
}
.cwContact i:hover{
    color: #27daa0;
}
.cwContact a{
    color: #003e65;
    text-decoration: none;
}
.cwContact a:hover{
    color: #27daa0;
}
.cwSocials{
    padding-top: 2rem;
}
.cwContact h2 i{
    color: #27daa0;
}
.cwBlue2 a:hover, .cwGreen2 a:hover{
    color: #fff;
}
.cwBlue2 a{
    color: #27daa0;
    text-decoration: none;
}
.cwGreen2 a{
    color: #003e65;
    text-decoration: none;
}
.offices i{
    margin-right: 10px;
}

/***** About us Styles *****/

.about .member h2 {
    font-size: 1.4rem;
    margin-bottom: 0.2rem;
    margin-top: 2rem;
    line-height: 1.4rem;
}
.about .member span {
    font-size: 1rem;
    color: #27daa0;
}

/***** Side Grey Area  *****/

.sideGrey{
    background-color:#f0f0f0;
    padding: 40px;
}

/***** Countrywide Section Styles *****/

.card{
    border: 0;
    border-radius: 0;
}
.card-body{
    padding: 0;
}
.benefits h2, .productBenefits{
    text-align: center;
    padding-top: 2rem;
    color: #fff;
}
.productBenefits{
    text-align: center;
    padding-top: 2rem;
    color: #003e65;
}
.products{
    text-align: center;
    padding-top: 2rem;
    color: #003e65;
}
.products h2{
    color: #003e65 !important
}
.products p{
    font-size: 1.2rem;
}

.bottom-a{
    background-color: #003e65;
    color: #fff;
}
.benefits ul{
    list-style: none;
    padding: 0;
}
.benefits li{
    font-size: 1.2rem;
    padding-left: 1.3em;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
}
.benefits li:before{
    content: "\f058"; /* FontAwesome Unicode */
    font-family: FontAwesome;
    font-size: 3rem;
    display: inline-block;
    margin-left: -1.3em; /* same as padding-left set on li */
    width: 1.3em; /* same as padding-left set on li */
    color: #27daa0;
    padding-right: 1rem;
}

.bottom-c{
    background-color: #f0f0f0;
    color: #003e65;
}

.bottom-f{
    background-color: #27daa0;
    color: #003e65;
}
.container-main-scroller {
  grid-area: m-slide;
}
.container-bottom-c {
  grid-area: bot-c;
}
.container-bottom-d {
  grid-area: bot-d;
}
.container-bottom-f {
  grid-area: bot-f;
}
.container-bottom-e {
  grid-area: bot-e;
}

.container-bottom-c,
.container-bottom-d,
.container-bottom-f,
.container-bottom-e
 {
  position: relative;
}

.container-bottom-c > *,
.container-bottom-d > *, 
.container-bottom-f > *,
.container-bottom-e > * {
  flex: 1;
}

@media (max-width: 991.98px) {
  .container-bottom-c,
.container-bottom-d,
.container-bottom-f,
.container-bottom-e {
    flex-direction: column;
  }
  .container-bottom-c > *,
.container-bottom-d > *,
.container-bottom-f > *,
.container-bottom-e > * {
    flex: 0 1 auto;
  }
}

.container-bottom-a>*, .container-bottom-b>*, .container-top-a>*, .container-top-b>* {
    margin: 0;
}

@supports (display: grid) {
  .site-grid {
    display: grid;
    grid-template-areas:  ". banner banner banner banner ." ". top-a top-a top-a top-a ." ". top-b top-b top-b top-b ." ". comp comp comp comp ." ". side-r side-r side-r side-r ." ". side-l side-l side-l side-l ." ". m-slide m-slide m-slide m-slide ." ". bot-a bot-a bot-a bot-a ." ". bot-b bot-b bot-b bot-b ."". bot-c bot-c bot-c bot-c ." ". bot-d bot-d bot-d bot-d ." ". bot-e bot-e bot-e bot-e .";
    grid-template-columns: [full-start] minmax(0, 1fr) [main-start] repeat(4, minmax(0, 19.875rem)) [main-end] minmax(0, 1fr) [full-end];
    grid-gap: 0 1em;
  }
  .site-grid > [class^=container-],
.site-grid > [class*=" container-"] {
    width: 100%;
    max-width: none;
    -webkit-column-gap: 1em;
       -moz-column-gap: 1em;
            column-gap: 1em;
  }
  .site-grid > .full-width {
    grid-column: full-start/full-end;
  }
  @media (min-width: 992px) {
    .site-grid {
      grid-template-areas: ". banner banner banner banner ." ". top-a top-a top-a top-a ." ". top-b top-b top-b top-b ." ". side-l comp comp side-r ." ". m-slide m-slide m-slide m-slide ." ". bot-a bot-a bot-a bot-a ." ". bot-b bot-b bot-b bot-b ." ". bot-c bot-c bot-c bot-c ." ". bot-d bot-d bot-d bot-d ." ". bot-e bot-e bot-e bot-e .";
    }
  }
}
.who h1{
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 2.5rem !important;
    font-weight: 600 !important;
    margin-bottom: 2rem !important;
    color: #003e65;
}
.who h2{
    color: #003e65;
    margin-top: 0;
}
.who h4{
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.6rem;
    color: #003e65;
    margin: 0;
}
.who hr{
    width: 50%;
    height: 2px;
    color: #27daa0;
    opacity: 1;
}
#titleTag{
    text-transform: uppercase;
    font-weight: 700;
    color: #27daa0;
}

/***** Countrywide Lower Footer Styles *****/

.container-lower-footer{
    display:none!important;
}
.container-lower-footer p{
    font-size: 0.8rem;
    margin: 0;
}
.servicesBox{
    padding: 40px;
    background-color: #f1f1f1;
    border: #fff solid 40px;
    border-right: 0px;
    border-top: 0px;
}

/***** Countrywide Button Styles *****/

.cwBlue .btn, .cwGreen .btn, .products .btn, .products2 .btn, .who .btn, .cwBanner .btn{
    border-radius: 0rem;
    font-size: 1.2rem;
    color: #fff;
    border: 1px solid transparent;
    padding: 0.5rem 1rem 0.6rem;
}
.smart .btn, .smartButton{
    border-radius: 0rem;
    font-size: 1.2rem;
    color: #003e65;
    border: 1px solid transparent;
    padding: 0.5rem 1rem 0.6rem;
}
.cwBlue .btn, .cwBanner .btn, .smart .btn, .smartButton{
    background-color: #27daa0;
}
.cwGreen .btn, .products .btn, .products2 .btn, .who .btn{
    background-color: #003e65;
}
.cwBlue .btn:hover, .cwGreen .btn:hover, .cwBanner .btn:hover{
    border: 1px solid #fff;
    background-color: transparent;
    text-decoration: none;
}
.cwBlue a:hover, .cwGreen a:hover, .cwBanner a:hover{
    color: #fff !important;
}
.products .btn:hover, .products2 .btn:hover, .who .btn:hover, .smart .btn:hover, .smartButton:hover{
    border: 1px solid #003e65;
    background-color: transparent;
    color: #003e65;
    text-decoration: none;
}
.productForm{
    background-color: #27daa0;
    padding: 1rem;
}

.smartForm{
    background-color: #003e65;
    padding: 1rem;
}

/***** Countrywide Popup Form Styles *****/

.ba-forms-lightbox-row{
    padding-right: 20px;
}

/***** Countrywide Banner Button Styles *****/

.cwBanner{
    text-align: center;
    margin-bottom: 50px;
}

/***** Careers *****/

.category-module.mod-list li{
    padding: 30px 0;
    border-top:  1px solid #f1f1f1;
}
.mod-articles-category-title {
    font-size: 1.25rem;
}


/***** Countrywide Padding Styles *****/

.ptb100{
    padding: 100px 0;
}
.ptb80{
    padding: 80px 0;
}
.ptb60{
    padding: 60px 0;
}
.ptb40{
    padding: 40px 0;
}
.pb40{
    padding: 0 0 40px;
}
.ptb20{
    padding: 20px 0;
}
.ptb10{
    padding: 10px 0;
}
.ps40{
    padding: 20px 40px;
}
.pb30{
    padding-bottom: 30px;
}
.pt60{
    padding-top: 60px;
}
.ptb30{
    padding: 30px 0;
}
.pt30{
    padding-top: 30px;
}
.p80{
    padding: 80px;
}
.p40{
    padding: 40px;
}
.p30{
    padding: 30px;
}
.p20{
    padding: 20px;
}
.pl40{
    padding-left: 40px;
}
.pr40{
    padding-right: 40px;
}
.mb15{
    margin-bottom: 15px;
}
.p2p5r{
    padding: 2rem;
}
.pt10{
    padding-top: 10px;
}
.gallery p{
    display: none;
}

/***** Countrywide FAQ Styles *****/

#nx-extension-152, #nx-extension-154 {
    background-color: #f1f1f1;
    padding: 20px 10px 5px;
    max-width: 1300px;
}
.uk-accordion-content{
    padding: 0px 30px 0 15px;
}
.faq a{
    font-weight: 500;
}
.faq a:hover, .faq .uk-first-column:hover{
    color: #27daa0;
    text-decoration: none;
}
.faq h1, .faq h2, .faq .uk-first-column, .cta h2{
    color: #003e65 !important;
}
.faq h2{
    padding-left: 5px;
    margin-bottom: 2rem;
}
.container-component{
    padding: 2rem 0;
}

/***** Countrywide News Styles *****/

.card-header {
    background-color: rgba(0,0,0,0);
    border-bottom: none;
    margin-bottom: 0;
    padding: 1rem 0 1rem 0.5rem;
}
.newsSidebar{
    padding: 60px 0 0 20px;
}
.newsSidebar #eb{
    margin-bottom: 30px;
}
.newsSidebar hr {
    height: 2px;
    color: #27daa0;
    opacity: 1;
    margin: .5rem 0;
}

.grecaptcha-badge{
    /*display: none;*/
    z-index: 100;
}
.homeMainSub{
    font-size: 1.65rem;
    line-height: 2.2rem;
}
.mainSub{
    font-size: 1.25rem;
    line-height: 1.5rem;
}
.bottomBlog .card-header {
    text-align: center;
    font-weight: 700;
}
.bottomBlog .date{
    color: #888;
    font-size: 90%;
    line-height: 20px;
}
.bottomBlog .title {
    padding: 10px 0;
    font-size: 16px;
    font-weight: bold;
}
.bottomBlog .text {
    padding-top: 10px;
    font-size: 16px;
}
/* Added to EasyBlog > Themes > Custom Css

#eb .btn-default {
    color: #ffffff !important;
    background-color: #003e65 !important;
    border-color: rgba(var(--fd-gray-300),1) !important;
}
#eb .btn {
    border-radius: 0rem;
    font-size: 1rem;
    font-weight: 400;
    color: #fff;
    border: 1px solid transparent;
}
#eb{
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
#eb .btn-default:hover, #eb .btn-default:focus, #eb .btn-default:active, #eb .btn-default.active, .open .dropdown-toggle_#eb .btn-default {
    border: 1px solid #003e65 !important;
    background-color: transparent !important;
    color: #003e65 !important;
}
#eb, .select2-container--si, .com_easyblog {
    --si-root-font-size: 40px;
}
#eb .form-control {
  border-radius: 0px;
}
#eb.eb-mod * {
    line-height: 20px;
}
*/

.review a{
    font-weight: 500;
}
.review a:hover {
    color: #27daa0;
    text-decoration: none;
}

/***** Countrywide Cookie Consent Styles *****/

#sp-cookie-consent.position-bottom_left, #sp-cookie-consent.position-bottom_right {
    border-radius: 0px !important;
}

/***** Countrywide Twitter Styles *****/

.twitterFooter, .twitterFooter .sp-tweet-even {
    background-color: #003e65;
    color: #fff;
}

.twitterFooter h3{
    color: #27daa0;
    font-size: 1rem;
    line-height: 1.2rem;
    font-weight: 500;
}

.twitterFooter a{
    color: #fff;
    text-decoration: none;
    line-height: 1.2rem;
}
.twitterFooter a:hover{
    color: #27daa0;
    text-decoration: none;
}
.sp-tweet-item:last-child{
        border-bottom: none;
    }
/***** Countrywide Form Styles *****/

input[type="text"],
input[type="email"],
input[type="phone"],
select,
textarea{
    padding: 15px;
    background-color: #f5f8f9;
    width: 100%;
    color: #003e65;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 2px solid #003e65;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="phone"]:focus,
textarea:focus{
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 2px solid #66dab5;
    outline: 0 !important;
}
.fieldError{
    background-color: #ffecec !important;
    border-bottom: 2px solid red !important;
    outline: 0 !important;
}
.radioLabel,
.checkboxLabel{
    margin-right: 15px;
}
.checkbox-group .control-label,
.checkbox-group .controls{
    display: inline-block;
}
.checkbox-group .control-label{
    /*width: 50%;*/
    text-align: left;
    padding-right: 30px;
    font-weight: 500;
}
input[type="submit"],
button{
    font-size: 18px;
    background: rgba(0, 62, 101, 1);
    padding: 13px 25px;
    color: rgba(255, 255, 255, 1);
    border: 1px solid  rgba(0, 62, 101, 1);
    -webkit-transition: all 300ms linear;
    -ms-transition: all 300ms linear;
    transition: all 300ms linear;
}
input[type="submit"]:hover,
button:hover{
    background: rgba(0, 62, 101, 0);
    color: rgba(0, 62, 101, 1);
}
.formHorizontal form{
    display: table;
    width: 100%;
}
.formHorizontal .control-group{
    display: table-cell;
    padding: 20px;
    vertical-align: middle;
}
.formHorizontal .control-group:first-child{
    padding-left: 0;
}
.formHorizontal .control-group:last-child{
    padding-right: 0;
}
.formHorizontal form#crmForm256{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.formHorizontal form#crmForm256 .control-group{
    display: block;
    padding: 20px;
    margin: 0;
    vertical-align: middle;
    flex: 1 1 auto;
}
.formHorizontal form#crmForm256 .checkbox-group{
    order: 6;
    margin: 0;
    text-align: right;
    padding-top: 0;
}
.formHorizontal form#crmForm256 .submitControls button{
        width: 100%;
}
.contactForm {
    float: left;
    width: 50%;
    padding: 20px;
}
.greenForm{
    background: #27daa0;
}
.greenForm input[type="submit"]:hover,
.greenForm button:hover{
    color: rgba(255, 255, 255, 1);
    border: 1px solid  rgba(255, 255, 255, 1);
}
.footerForm{
    padding: 70px 20px;
}
.footerForm h2{
    text-align: center;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 30px;
    margin-top: 0px;
    font-size: 2rem;
    color: #003e65;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.footerForm form{
    max-width: 1320px;
    margin: 0 auto;
    padding: 0.5em;
}
.formPopUpWrapper{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: 100000;
}
.formPopUpTable{
    display: table;
    width: 100%;
}
.formPopUpInner{
    display: table-cell;
    width: 100%;
    height: 100vh;
    vertical-align: middle;
}
.formPopUpBackground{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 62, 101, 0.9);
}
.formPopUpContent{
    position: relative;
    z-index: 1000;
    margin: 0 auto;
    max-width: 600px;
    max-height: 90vh;
    overflow: auto;
    text-align: center;
}
.submitFormSpinnerText{
    color: #ffffff;
}
.popupForm{
    display: none;
    padding: 40px;
    position: relative;
}
.closeFormPopUp{
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 20px;
    cursor: pointer;
}
.popupForm .control-group{
    display: block;
    padding: 0px;
}
.noScroll{
    overflow: hidden;
}
/***** Countrywide Loading Icon Styles *****/

.lds-roller {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-roller div {
  animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  transform-origin: 40px 40px;
}
.lds-roller div:after {
  content: " ";
  display: block;
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
  margin: -4px 0 0 -4px;
}
.lds-roller div:nth-child(1) {
  animation-delay: -0.036s;
}
.lds-roller div:nth-child(1):after {
  top: 63px;
  left: 63px;
}
.lds-roller div:nth-child(2) {
  animation-delay: -0.072s;
}
.lds-roller div:nth-child(2):after {
  top: 68px;
  left: 56px;
}
.lds-roller div:nth-child(3) {
  animation-delay: -0.108s;
}
.lds-roller div:nth-child(3):after {
  top: 71px;
  left: 48px;
}
.lds-roller div:nth-child(4) {
  animation-delay: -0.144s;
}
.lds-roller div:nth-child(4):after {
  top: 72px;
  left: 40px;
}
.lds-roller div:nth-child(5) {
  animation-delay: -0.18s;
}
.lds-roller div:nth-child(5):after {
  top: 71px;
  left: 32px;
}
.lds-roller div:nth-child(6) {
  animation-delay: -0.216s;
}
.lds-roller div:nth-child(6):after {
  top: 68px;
  left: 24px;
}
.lds-roller div:nth-child(7) {
  animation-delay: -0.252s;
}
.lds-roller div:nth-child(7):after {
  top: 63px;
  left: 17px;
}
.lds-roller div:nth-child(8) {
  animation-delay: -0.288s;
}
.lds-roller div:nth-child(8):after {
  top: 56px;
  left: 12px;
}

/***** Countrywide Media Queries *****/

/* Small devices (landscape phones, 576px and up)*/
@media (max-width: 576px) {
    .cwBanner .btn {
        margin: 0 20px 20px !important;
    }
    #mod-custom272, #mod-custom251 {
        background-position: center;
    }
    .smartEstBadge img {
        max-width: 100px;
    }
}



/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {
    .mtp{
        float: left;
    }
}

/* Large devices (desktops, 992px and up)*/


/* X-Large devices (large desktops, 1200px and up)*/
@media (max-width: 1200px) {
    .cwBlue, .cwGreen{
        min-height: 412px;
    }
}

/* XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1150px) {
    .mtp{
        display: none;
    }
}

@media screen and (max-width: 1024px) {
    .container-nav{
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .form-wrapper h4 {
        font-size: 1.8rem;
    }
    .hero a{
        color: #fff !important;
    }
    .cwBlue, .cwGreen{
        min-height: 450px;
    }
    .footer .grid-child .footerLeft,
    .footer .grid-child .footerMiddle,
    .footer .grid-child .footerRight{
        display: block;
        width: 100%;
    }   
    .footer .grid-child .footerLeft,
    .footer .grid-child .footerMiddle{
        text-align: center;
    }   
    .footer .grid-child .footerLeft .logos{
        margin: 50px 0;
    }
}

@media screen and (max-width: 768px) {
    .container-topbar {
        visibility: hidden;
        display: none !important;
    }
    /* container-rating kept visible to show burger button on mobile */
    .container-rating #mod-custom126 > *:not(.cw-nav-right) {
        display: none !important;
    }
    #mod-custom111 {
        padding-left: 10px;
    }
    .position-sticky {
        position: sticky !important;
    }
    .hero, .benefits, .p80{
        padding: 30px;
    }
    .form-wrapper {
        padding: 0px;
    }
    #mod-custom110{
        background-position: center top;
        background-size: revert;
    }
    /*hero image center*/
    #mod-custom125, #mod-custom128, #mod-custom132, #mod-custom133, #mod-custom134, #mod-custom135, #mod-custom136, #mod-custom137, #mod-custom138, #mod-custom159, #mod-custom195, #mod-custom201, #mod-custom204, #mod-custom209, #mod-custom210, #mod-custom218, #mod-custom222, #mod-custom226, #mod-custom231, #mod-custom238, #mod-custom278, #mod-custom288, #mod-custom289, #mod-custom301, #mod-custom317, #mod-custom324, #mod-custom326, #mod-custom333, #mod-custom340, #mod-custom356 {
        background-position: center top;
        background-size: cover;
    }
    .banner p{
        font-size: 2rem;
        line-height: 2.5rem;
        padding: 50px 0;
    }
    .hero h1 {
        padding-top: 30px;
        font-size: 2.1rem;
        line-height: 2.8rem;
        text-align: center;
    }
    .hero h2 {
        text-align: center;
    }
    .hero p {
        text-align: center;
        font-size: 1.2rem;
    }
    .hero h3 {
        font-size: 2.2rem;
    }
    .hero a{
        color: #fff;
    }
    .form-wrapper h4 {
        font-size: 1.6rem;
        padding: 40px 0 0;
    }
    .crmFormWrapper{
        padding: 0 20px;
    }
    .contact h1{
        font-size: 3rem;
    }
    .contact h2{
        font-size: 1rem;
    }
    .cwContact i{
        font-size: 1.5rem;
    }
    .mp30{
        padding: 30px 30px 0;
    }
    .mpb30{
        padding-bottom: 30px;
    }
    .mpImage30{
        padding: 0 30px 0;
    }
    .cta, .pt30 {
        padding: 0;
    }
    .cwFooterLeft, .cwFooterMid{
        padding-bottom: 30px;
        text-align: center;
    }
    .lower-footer{
        text-align: center;
    }
    .cwVid{
        max-width: 320px;
        max-height: 180px;
    }
    /* container-rating visible for burger btn */
    .float-end{
        float: none !important;
    }
    .guarantee {
        text-align: center;
    }
    .ba-form-page {
        padding: 0px !important;
    }
    .ps40{
        padding: 0 40px;
    }
    .pl40 {
        padding-left: 0px;
    }
    .container-nav{
        padding-top: 20px !important;
    }
    .mtp{
        display: block !important;
        float: none !important;
    }
    #module_buaxua_floating_right{
        /*display: none !important;*/
        margin-top: 70px !important;
        margin-right: 0px !important;
        width: 100px !important;
        height: 100px !important;
    }
    .cwBlue, .cwGreen{
        min-height: 360px;
    }
    .mHide{
        display: none;
    }

    .formHorizontal .control-group{
        display: block;
        padding: 0;
    }
 
}

@media screen and (max-width: 1150px) {
    /* container-rating kept visible to show burger button */
    .container-rating #mod-custom126 > *:not(.cw-nav-right) {
        display: none !important;
    }
}

/* iDeal 4 Finance Banner - Full Width */
.ideal4finance-banner {
      position: relative;
      left: 50%;
      right: 50%;
      margin-left: -50vw !important;
      margin-right: -50vw !important;
      width: 100vw !important;
      max-width: 100vw !important;
      background-color: #003e65 !important;
      text-align: center;
      padding: 0 !important;
      overflow: hidden;
  }
.ideal4finance-banner img {
      width: 100% !important;
      max-width: 1080px !important;
      height: auto;
      display: inline-block;
  }



/* Fix: Gallery filter active button text colour - prevents green text on green background on hover */
.ba-gallery .category-filter a.ba-filter-active,
.ba-gallery .category-filter a.ba-filter-active:hover {
      color: #ffffff !important;
  }


/* ========================================
   HOMEPAGE OVERHAUL STYLES
   ======================================== */

/* --- Intro Section --- */
.homeIntro {
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 20px;
  text-align: center;
}
.homeIntro h2 {
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: #003e65 !important;
  margin-bottom: 1rem !important;
  line-height: 1.3;
}
.homeIntro p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #4a5568;
  margin-bottom: 1rem;
}
.homeIntro a {
  color: #27daa0;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: border-color 0.3s;
}
.homeIntro a:hover {
  border-bottom-color: #27daa0;
}

/* --- Video Section --- */
.cw-video-section {
  max-width: 900px;
  margin: 0 auto 40px;
  padding: 0 20px;
}
.cw-video-section h3 {
  text-align: center;
  color: #003e65;
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.cw-video-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}
.cw-video-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* --- Trust Promise Section --- */
.cw-trust-section {
  background: linear-gradient(135deg, #003e65 0%, #00557a 100%);
  padding: 50px 20px;
  text-align: center;
  margin: 40px 0;
  border-radius: 16px;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.cw-trust-section h3 {
  color: #fff !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  margin-bottom: 0.5rem !important;
}
.cw-trust-section h3 strong {
  color: #27daa0;
}

/* --- Trustpilot Widget Wrapper --- */
.cw-trustpilot-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 30px 20px;
  text-align: center;
}

/* --- Finance Banner --- */
.ideal4finance-banner {
  margin: 40px auto !important;
  max-width: 1100px !important;
  border-radius: 12px !important;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
}

/* --- Service Cards Scroller Section --- */
.container-main-scroller {
  background: #f8fafb;
  padding: 60px 0;
}
.container-main-scroller h2 {
  text-align: center;
  color: #003e65;
  font-size: 2rem !important;
  font-weight: 700 !important;
  margin-bottom: 2rem;
}

/* --- CTA Buttons in intro --- */
.cw-cta-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 2rem;
}
.cw-cta-buttons a {
  display: inline-flex;
  align-items: center;
  padding: 14px 32px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: all 0.3s ease;
}
.cw-cta-buttons a.cw-btn-primary {
  background: #27daa0;
  color: #003e65 !important;
}
.cw-cta-buttons a.cw-btn-primary:hover {
  background: #1fc08c;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(39,218,160,0.3);
}
.cw-cta-buttons a.cw-btn-secondary {
  background: #003e65;
  color: #fff !important;
}
.cw-cta-buttons a.cw-btn-secondary:hover {
  background: #00557a;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0,62,101,0.3);
}

/* --- Stats Row --- */
.cw-stats-row {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
  padding: 40px 20px;
  max-width: 1100px;
  margin: 0 auto;
}
.cw-stat-item {
  text-align: center;
  min-width: 160px;
}
.cw-stat-number {
  font-size: 2.5rem;
  font-weight: 700;
  color: #27daa0;
  line-height: 1.2;
}
.cw-stat-label {
  font-size: 0.9rem;
  color: #4a5568;
  margin-top: 4px;
  font-weight: 500;
}

/* --- Section Divider --- */
.cw-section-divider {
  width: 80px;
  height: 4px;
  background: #27daa0;
  margin: 0 auto 2rem;
  border-radius: 2px;
}

/* --- Benefits Section Override --- */
.container-bottom-a {
  background: #fff;
  padding: 60px 0;
}
.container-bottom-a h2 {
  text-align: center;
  color: #003e65 !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
}

/* --- Partners Section Override --- */
.container-bottom-b {
  background: transparent;
  padding: 0;
}
.container-bottom-b h2 {
  text-align: center;
  color: #003e65 !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
}

/* --- About Section Override --- */
.container-bottom-c {
  padding: 60px 0;
}

/* --- Contact Form Section --- */
.container-bottom-d {
  background: linear-gradient(135deg, #003e65 0%, #00557a 100%);
  padding: 60px 0;
}

/* --- Testimonials Section --- */
.container-bottom-e {
  background: #f8fafb;
  padding: 60px 0;
}

/* --- Article component wrapper --- */
.container-component {
  padding: 0 !important;
}
.com-content-article__body {
  padding: 0;
}

/* --- Mobile Responsive --- */
@media screen and (max-width: 768px) {
  .homeIntro {
    padding: 40px 16px;
  }
  .homeIntro h2 {
    font-size: 1.6rem !important;
  }
  .cw-stats-row {
    gap: 20px;
  }
  .cw-stat-item {
    min-width: 120px;
  }
  .cw-stat-number {
    font-size: 2rem;
  }
  .cw-trust-section {
    padding: 30px 16px;
    border-radius: 0;
    margin: 20px 0;
  }
  .cw-trust-section h3 {
    font-size: 1.4rem !important;
  }
  .cw-video-section h3 {
    font-size: 1.3rem;
  }
  .cw-cta-buttons a {
    padding: 12px 24px;
    font-size: 0.95rem;
    width: 100%;
    justify-content: center;
  }
}


/* ========================================
   MODULE SECTIONS OVERHAUL
   ======================================== */

/* --- Service Cards Carousel (main-scroller) --- */
.container-main-scroller {
  background: #f8fafb !important;
  padding: 70px 20px !important;
}
.container-main-scroller .owl-carousel .owl-item .item,
.container-main-scroller .card,
.container-main-scroller .serviceCard {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  transition: transform 0.3s, box-shadow 0.3s;
  border: none;
}
.container-main-scroller .owl-carousel .owl-item .item:hover,
.container-main-scroller .card:hover,
.container-main-scroller .serviceCard:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 35px rgba(0,0,0,0.1);
}
.container-main-scroller h2 {
  text-align: center !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: #003e65 !important;
  padding: 16px;
  margin: 0 !important;
}
.container-main-scroller img {
  border-radius: 12px 12px 0 0;
}

/* --- Benefits Section (bottom-a) --- */
.container-bottom-a {
  background: #fff !important;
  padding: 70px 20px !important;
}
#mod-custom117 h2 {
  text-align: center !important;
  color: #003e65 !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  margin-bottom: 2rem !important;
}
#mod-custom117 ul {
  list-style: none !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 16px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
#mod-custom117 ul li {
  background: #f8fafb;
  padding: 20px 24px !important;
  border-radius: 10px;
  font-size: 1rem;
  color: #003e65;
  font-weight: 500;
  flex: 1 1 300px;
  max-width: 350px;
  border-left: 4px solid #27daa0;
  transition: transform 0.2s;
}
#mod-custom117 ul li:hover {
  transform: translateX(4px);
}

/* --- Partners Section (bottom-b) --- */
.container-bottom-b {
  background: transparent !important;
  padding: 0 !important;
  overflow: visible !important;
}
/* Fix: make the Working With section span full width and center properly */
.container-bottom-b .card:has(#mod-custom116) {
  flex: 0 0 100%;
  max-width: 100%;
}

#mod-custom116 {
  max-width: 1100px;
  margin: 0 auto;
}
#mod-custom116 h2 {
  text-align: center !important;
  color: #003e65 !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  margin-bottom: 2rem !important;
}
#mod-custom116 .partnerGrid,
#mod-custom116 .partner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 30px;
}
#mod-custom116 .partnerItem,
#mod-custom116 .partner-item {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05);
  transition: transform 0.3s;
}
#mod-custom116 .partnerItem:hover,
#mod-custom116 .partner-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}

/* --- About/We are Countrywide Section (bottom-c) --- */
.container-bottom-c {
  background: #fff !important;
  padding: 70px 20px !important;
}
#mod-custom118 {
  max-width: 1100px;
  margin: 0 auto;
}
#mod-custom118 h2 {
  color: #003e65 !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  margin-bottom: 1rem !important;
}
#mod-custom118 p,
#mod-custom118 h3 {
  color: #4a5568;
  line-height: 1.7;
}
#mod-custom118 a {
  color: #27daa0;
  font-weight: 600;
  text-decoration: none;
}
#mod-custom118 a:hover {
  text-decoration: underline;
}

/* --- Contact Form Section (bottom-f) --- */
.container-bottom-f {
  background: linear-gradient(135deg, #003e65 0%, #00557a 100%) !important;
  padding: 60px 20px !important;
  color: #fff !important;
}
.container-bottom-f h2,
.container-bottom-f h3 {
  color: #fff !important;
  text-align: center !important;
}
.container-bottom-f .formVertical {
  max-width: 600px;
  margin: 0 auto;
  background: rgba(255,255,255,0.1);
  border-radius: 12px;
  padding: 30px;
}
.container-bottom-f input,
.container-bottom-f textarea {
  border-radius: 8px !important;
}
.container-bottom-f .btn,
.container-bottom-f button[type="submit"] {
  background: #27daa0 !important;
  color: #003e65 !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  padding: 12px 32px !important;
}

/* --- Bournemouth Shop Section (bottom-d) --- */
.container-bottom-d {
  background: #f8fafb !important;
  padding: 60px 20px !important;
}
#mod-custom354 h2 {
  color: #003e65 !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  text-align: center !important;
}

/* --- Testimonials Section (bottom-e) --- */
.container-bottom-e {
  background: #fff !important;
  padding: 60px 20px !important;
}
.container-bottom-e .testimonial,
.container-bottom-e .owl-carousel .item {
  background: #f8fafb;
  border-radius: 12px;
  padding: 30px;
  margin: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}
.container-bottom-e .testimonial-author,
.container-bottom-e .author-name {
  font-weight: 600;
  color: #003e65;
}
.container-bottom-e .testimonial-service {
  color: #27daa0;
  font-weight: 500;
}

/* --- Smart Estimator Badge --- */
.smartEstimatorBadge,
a[href*="smart-estimator"],
.container-banner .smartEstimator {
  border-radius: 50% !important;
  transition: transform 0.3s !important;
}
.smartEstimatorBadge:hover {
  transform: scale(1.05) !important;
}

/* --- General Section Improvements --- */
.container-bottom-a h2,
.container-bottom-b h2,
.container-bottom-c h2,
.container-bottom-d h2,
.container-bottom-e h2,
.container-bottom-f h2 {
  position: relative;
}

/* --- Lower Banner / Service Ticker --- */
.container-lower-banner {
  background: #003e65 !important;
}

/* --- Footer Improvements --- */
.footer h2 {
  color: #27daa0 !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  margin-bottom: 1rem !important;
}
.footer a {
  transition: color 0.2s !important;
}
.footer a:hover {
  color: #27daa0 !important;
}

/* --- Mobile Responsive for Module Sections --- */
@media screen and (max-width: 768px) {
  .container-main-scroller,
  .container-bottom-a,
  .container-bottom-b,
  .container-bottom-c,
  .container-bottom-d,
  .container-bottom-e,
  .container-bottom-f {
    padding: 40px 16px !important;
  }
  #mod-custom117 ul li {
    flex: 1 1 100%;
    max-width: 100%;
  }
  #mod-custom117 h2,
  #mod-custom116 h2,
  #mod-custom118 h2 {
    font-size: 1.6rem !important;
  }
}


/* --- Service Card UIkit Overrides --- */
.container-main-scroller .uk-card {
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
  transition: transform 0.3s, box-shadow 0.3s !important;
  border: none !important;
}
.container-main-scroller .uk-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 35px rgba(0,0,0,0.1) !important;
}
.container-main-scroller .uk-card-media img {
  border-radius: 12px 12px 0 0 !important;
  width: 100%;
  height: auto;
}
.container-main-scroller .uk-card-body h3 {
  color: #003e65 !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
}
.container-main-scroller .uk-card-body a {
  color: #27daa0 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.container-main-scroller .uk-card-body a:hover {
  text-decoration: underline !important;
}
.container-main-scroller .uk-dotnav > * > * {
  background: #ccc !important;
}
.container-main-scroller .uk-dotnav > .uk-active > * {
  background: #27daa0 !important;
}
.container-main-scroller .main-scroller {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
.container-main-scroller .main-scroller .card-body {
  padding: 0 !important;
}

/* --- Fix sticky header height on homepage --- */
.header.container-header {
  background: #fff;
}


/* --- Finance Banner Fix --- */
.ideal4finance-banner {
  text-align: center !important;
  padding: 0 !important;
  margin: 40px auto !important;
  max-width: 1080px !important;
  background-color: #003e65 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
}
.ideal4finance-banner img {
  width: 100% !important;
  max-width: 1080px !important;
  height: auto !important;
  display: block !important;
}




/* ===== Benefits section spacing fix ===== */
.container-bottom-a {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.container-bottom-a h2 {
    padding-top: 10px !important;
    margin-bottom: 20px !important;
}

/* ===== Remove logos from testimonials background ===== */
.nobosstestimonials {
  background-image: none !important;
  background-color: #003e65 !important;
}

/* ===== Fix broken service card images ===== */
.container-main-scroller .uk-card-media img[src*="404-error"] , .jchoptimize-responsive-images__loaded{
  content: ;
  object-fit: cover;
  width: 100%;
  height: 390px;@media (max-width: 576px) {&{background-image: url("https://countrywideinsulation.co.uk/images/jch-optimize/rs/480/images_Spray__Foam__Removal__1.avif")}}@media (min-width: 577px) and (max-width: 768px) {&{background-image: url("https://countrywideinsulation.co.uk/images/jch-optimize/rs/768/images_Spray__Foam__Removal__1.avif")}}@media (min-width: 769px) {&{background-image: url("https://countrywideinsulation.co.uk/images/Spray_Foam_Removal_1.webp")}}}


/* ===== Fix gap below marquee banner ===== */
.container-lower-banner {
    padding-bottom: 3px !important;
    margin-bottom: -3px !important;
    position: relative;
    z-index: 1;
    box-shadow: 0 3px 0 0 rgb(0, 62, 101);
}

/* ===== Fix Smart Estimator popup backdrop on homepage ===== */
.hero-form-panel .formPopUpWrapper .formPopUpBackground,
body .formPopUpWrapper .formPopUpBackground {
    display: block !important;
}
.hero-form-panel .formPopUpWrapper .formPopUpContent .popUpForm346,
.hero-form-panel .formPopUpWrapper .formPopUpContent .popupForm,
.formPopUpWrapper .formPopUpContent .popUpForm346,
.formPopUpWrapper .formPopUpContent .popupForm {
    background: #fff !important;
    padding: 30px !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.3) !important;
    max-width: 600px !important;
    margin: 0 auto !important;
}

/* ===== Popup Form Colour Fix ===== */
/* Make close button (X) dark and visible */
.formPopUpWrapper .closeFormPopUp {
    color: #003e64 !important;
}
/* Make popup form text dark/readable on white background */
.formPopUpWrapper .moduletable {
    color: #003e64 !important;
}
.formPopUpWrapper h2,
.formPopUpWrapper .formHeading {
    color: #003e64 !important;
}
.formPopUpWrapper p {
    color: #003e64 !important;
}
.formPopUpWrapper label {
    color: #003e64 !important;
}
/* ===== End Popup Form Colour Fix ===== */


/* Footer columns - flex layout */
#mod-custom312 > div {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
}
#mod-custom312 > div > div {
  flex: 1;
  min-width: 110px;
}


/* ============================================================
   SPRAY FOAM REMOVAL PAGE — Design System v1.0
   Scoped to .cw-sfr
   ============================================================ */
.cw-sfr{--paper:#EEF1F4;--paper-2:#E4E9EE;--ink:#003e65;--ink-2:#0a4d7a;--ink-3:#5A6970;--rule:rgba(0,62,101,0.12);--rule-2:rgba(0,62,101,0.2);--moss:#003e65;--moss-2:#002a47;--clay:#E85D44;--clay-2:#27daa0;--mint:#27daa0;--mint-2:#1eaa7c;--card:#E4E9EE;font-family:"Inter Tight",system-ui,sans-serif;color:#0a4d7a;line-height:1.5;-webkit-font-smoothing:antialiased;}
.cw-sfr *,.cw-sfr *::before,.cw-sfr *::after{box-sizing:border-box;}
.cw-sfr img{max-width:100%;display:block;}
.cw-sfr a{color:inherit;text-decoration:none;}
.cw-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:500;font-size:15px;transition:transform .15s,background .15s;text-decoration:none;cursor:pointer;font-family:inherit;line-height:1;}
.cw-btn-primary{background:#003e65;color:#EEF1F4 !important;}
.cw-btn-primary:hover{background:#002a47;transform:translateY(-1px);}
.cw-btn-ghost{border:1px solid #27daa0;background:#27daa0 !important;color:#003e65 !important;}
.cw-btn-ghost:hover{background:#E4E9EE;}
.cw-section{padding:80px 0;position:relative;}
.cw-section-paper{background:#EEF1F4;}
.cw-section-paper-2{background:#E4E9EE;}
.cw-section-dark{background:#003e65;color:#EEF1F4;}
.cw-section-dark h2{color:#EEF1F4;}
.cw-wrap{max-width:1280px;margin:0 auto;padding:0 32px;}
.cw-section-head{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;margin-bottom:56px;align-items:end;}
.cw-num{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.14em;color:#5A6970;margin:0 0 0 0;}
.cw-h2{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:clamp(32px,3.8vw,52px);line-height:1;letter-spacing:-0.022em;margin-top:14px;margin-bottom:0;}
.cw-h2 em{font-style:italic;color:#003e65;}
.cw-h2-light em{color:#27daa0;}
.cw-section-dark .cw-h2{color:#EEF1F4;}
.cw-lede{font-size:17px;line-height:1.6;color:#0a4d7a;max-width:540px;margin:0;}
.cw-section-dark .cw-lede{color:rgba(243,239,231,.7);}
.cw-section-dark .cw-num{color:rgba(243,239,231,.5);}
.cw-hero{padding:56px 0 64px;background:#EEF1F4;overflow:hidden;}
.cw-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:end;}
.cw-hero-tag{display:inline-flex;align-items:center;gap:10px;padding:7px 13px;border-radius:999px;background:#E4E9EE;border:1px solid rgba(0,62,101,0.12);font-size:12.5px;color:#0a4d7a;margin-bottom:28px;}
.cw-hero-pulse{width:7px;height:7px;border-radius:50%;background:#E85D44;display:inline-block;flex-shrink:0;}
.cw-h1{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:clamp(40px,5.2vw,76px);line-height:0.98;letter-spacing:-0.025em;color:#003e65;margin-bottom:26px;margin-top:0;}
.cw-h1 em{font-style:italic;color:#003e65;font-weight:400;}
.cw-strike{position:relative;display:inline-block;}
.cw-strike::after{content:"";position:absolute;left:-2%;right:-2%;top:55%;height:2px;background:#E85D44;transform:rotate(-2deg);}
.cw-hero-sub{font-size:18px;line-height:1.55;color:#0a4d7a;max-width:540px;margin:0;}
.cw-hero-cta{margin-top:34px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.cw-hero-meta{margin-top:36px;padding-top:24px;border-top:1px solid rgba(0,62,101,0.12);display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:560px;}
.cw-meta-v{font-family:"Fraunces",Georgia,serif;font-size:30px;letter-spacing:-0.02em;line-height:1;margin:0;}
.cw-meta-v em{font-style:italic;color:#003e65;}
.cw-meta-v small{font-size:14px;color:#5A6970;}
.cw-meta-l{font-size:12px;color:#5A6970;margin-top:6px;line-height:1.3;}
.cw-hero-card{position:relative;}
.cw-hero-img{position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#2c2a26;box-shadow:0 30px 60px -25px rgba(0,0,0,.45);}
.cw-hero-img img{width:100%;height:100%;object-fit:cover;display:block;}
.cw-img-label{position:absolute;top:18px;left:18px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:8px;}
.cw-img-label::before{content:"";width:8px;height:8px;background:#E85D44;border-radius:50%;display:inline-block;}
.cw-float-stat{position:absolute;top:14%;right:-20px;background:#003e65;color:#EEF1F4;border-radius:14px;padding:16px 20px;box-shadow:0 20px 40px -20px rgba(0,62,101,.5);}
.cw-float-stat-n{font-family:"Fraunces",Georgia,serif;font-size:34px;line-height:1;letter-spacing:-0.02em;}
.cw-float-stat-l{font-size:11px;opacity:.75;margin-top:6px;letter-spacing:.06em;text-transform:uppercase;}
.cw-cert{margin-top:-40px;margin-left:24px;width:248px;background:#E4E9EE;border:1px solid rgba(0,62,101,0.12);border-radius:14px;padding:18px;box-shadow:0 20px 40px -20px rgba(0,0,0,.25);}
.cw-cert-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.cw-cert-num{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#5A6970;margin:0;}
.cw-cert-id{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;color:#003e65;margin-top:2px;margin-bottom:0;}
.cw-cert-stamp{width:46px;height:46px;border-radius:50%;border:1.5px dashed #003e65;display:grid;place-items:center;color:#003e65;transform:rotate(-8deg);font-size:18px;flex-shrink:0;}
.cw-cert h4{font-family:"Fraunces",Georgia,serif;font-size:17px;line-height:1.2;margin-bottom:6px;margin-top:0;}
.cw-cert p{font-size:12px;color:#5A6970;line-height:1.5;margin:0;}
.cw-cert-meta{display:flex;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px dashed rgba(0,62,101,0.2);font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;color:#5A6970;letter-spacing:.1em;text-transform:uppercase;}
.cw-marquee{border-top:1px solid rgba(0,62,101,0.12);border-bottom:1px solid rgba(0,62,101,0.12);background:#003e65;color:#EEF1F4;overflow:hidden;}
.cw-marquee-track{display:flex;gap:48px;padding:18px 0;white-space:nowrap;animation:cw-scroll 38s linear infinite;font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:20px;letter-spacing:-0.01em;}
.cw-marquee-track span{display:inline-flex;align-items:center;gap:48px;}
.cw-sep{color:#27daa0;font-style:normal;}

.cw-problem-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start;}
.cw-pp{display:grid;grid-template-columns:36px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid rgba(0,62,101,0.2);align-items:start;}
.cw-pp:last-child{border-bottom:0;}
.cw-pp-num{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;color:#E85D44;padding-top:4px;}
.cw-pp h3{font-family:"Fraunces",Georgia,serif;font-size:22px;font-weight:400;letter-spacing:-0.012em;margin-bottom:8px;margin-top:0;}
.cw-pp p{color:#0a4d7a;font-size:15px;line-height:1.6;margin:0;}
.cw-vis{position:relative;aspect-ratio:1/1.05;border-radius:18px;overflow:hidden;background:#2a2722;}
.cw-vis img{width:100%;height:100%;object-fit:cover;opacity:.85;}
.cw-lender-card{background:#E4E9EE;border:1px solid rgba(0,62,101,0.12);border-radius:18px;overflow:hidden;}
.cw-lender-row{display:grid;grid-template-columns:1.2fr 2fr 1.4fr 90px;gap:24px;padding:22px 28px;border-top:1px solid rgba(0,62,101,0.12);align-items:center;}
.cw-lender-head{background:#EEF1F4;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#5A6970;padding:14px 28px;border-top:0;}
.cw-lender-name{font-family:"Fraunces",Georgia,serif;font-size:20px;font-weight:500;letter-spacing:-0.01em;display:block;}
.cw-lender-name small{font-family:"Inter Tight",system-ui,sans-serif;font-size:12px;font-weight:400;color:#5A6970;margin-top:2px;letter-spacing:0;display:block;}
.cw-lender-policy{font-size:14.5px;color:#0a4d7a;line-height:1.55;}
.cw-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:11.5px;font-weight:500;letter-spacing:.02em;}
.cw-pill-bad{background:#f5e2dc;color:#7a2515;}
.cw-pill-warn{background:#f6ebd5;color:#6b4d12;}
.cw-status{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-align:right;}
.cw-status-bad{display:inline-block;padding:3px 10px;border-radius:999px;background:#ffe4e0;color:#7a2515;font-weight:600;}
.cw-status-warn{display:inline-block;padding:3px 10px;border-radius:999px;background:#fff3cd;color:#6b4d12;font-weight:600;}
.cw-lender-note{margin-top:24px;font-size:13px;color:#5A6970;max-width:760px;}
.cw-tabs{display:inline-flex;gap:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:5px;margin-bottom:36px;}
.cw-tab{padding:10px 22px;border-radius:999px;font-size:14px;color:rgba(243,239,231,.7);border:none;cursor:pointer;font-family:inherit;background:transparent;transition:all .2s;}
.cw-tab.cw-active{background:#EEF1F4;color:#003e65;}
.cw-panel{display:none;}
.cw-panel.cw-active{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:start;}
.cw-foam-h3{font-family:"Fraunces",Georgia,serif;font-size:38px;font-weight:300;line-height:1;margin-bottom:18px;letter-spacing:-0.02em;margin-top:0;}
.cw-foam-h3 em{font-style:italic;color:#27daa0;}
.cw-foam-lede{font-size:18px;color:rgba(243,239,231,.8);line-height:1.55;margin-bottom:32px;max-width:560px;}
.cw-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;}
.cw-spec{background:#1b1d20;padding:22px;}
.cw-spec-l{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,239,231,.5);margin-bottom:8px;}
.cw-spec-v{font-family:"Fraunces",Georgia,serif;font-size:28px;letter-spacing:-0.01em;line-height:1.1;}
.cw-spec-v small{font-size:13px;color:rgba(243,239,231,.5);font-family:"Inter Tight",system-ui,sans-serif;margin-left:4px;}
.cw-foam-img{position:relative;aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:#2a2722;border:1px solid rgba(255,255,255,.08);}
.cw-foam-img img{width:100%;height:100%;object-fit:cover;opacity:.8;}
.cw-foam-tag{position:absolute;top:14px;left:14px;padding:5px 10px;border-radius:6px;background:rgba(0,0,0,.5);font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(243,239,231,.8);}
.cw-process-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(0,62,101,0.2);border-bottom:1px solid rgba(0,62,101,0.2);}
.cw-step{padding:32px 28px 36px;border-right:1px solid rgba(0,62,101,0.2);}
.cw-step:last-child{border-right:0;}
.cw-step-n{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11.5px;letter-spacing:.14em;color:#E85D44;margin-bottom:36px;display:flex;justify-content:space-between;}
.cw-step-dur{color:#5A6970;}
.cw-step h3{font-family:"Fraunces",Georgia,serif;font-size:24px;font-weight:400;letter-spacing:-0.014em;line-height:1.1;margin-bottom:12px;min-height:56px;margin-top:0;}
.cw-step p{font-size:14px;line-height:1.6;color:#0a4d7a;margin:0;}
.cw-cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.cw-cost-card{background:#E4E9EE;border:1px solid rgba(0,62,101,0.12);border-radius:20px;padding:36px;position:relative;overflow:hidden;}
.cw-cost-tag{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#5A6970;margin-bottom:20px;margin-top:0;}
.cw-cost-card h3{font-family:"Fraunces",Georgia,serif;font-size:26px;font-weight:400;letter-spacing:-0.016em;line-height:1.1;margin-bottom:8px;margin-top:0;}
.cw-price{font-family:"Fraunces",Georgia,serif;font-size:56px;font-weight:300;letter-spacing:-0.03em;line-height:1;margin:28px 0 6px;color:#003e65;}
.cw-price small{font-size:18px;color:#5A6970;font-weight:400;letter-spacing:0;margin-left:2px;}
.cw-range{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;color:#5A6970;letter-spacing:.04em;margin-bottom:24px;margin-top:0;}
.cw-cost-card ul{list-style:none;padding:0;margin-top:16px;padding-top:20px;border-top:1px solid rgba(0,62,101,0.12);}
.cw-cost-card li{display:grid;grid-template-columns:18px 1fr;gap:12px;padding:7px 0;font-size:14px;color:#0a4d7a;align-items:start;}
.cw-check{color:#003e65;margin-top:2px;}
.cw-why-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(0,62,101,0.2);}
.cw-why{padding:32px 28px 32px 0;border-bottom:1px solid rgba(0,62,101,0.2);border-right:1px solid rgba(0,62,101,0.2);}
.cw-why:nth-child(3n){border-right:0;padding-right:0;}
.cw-why:nth-child(3n+1){padding-left:0;}
.cw-why:nth-child(n+4){border-bottom:0;}
.cw-why:nth-child(3n+2){padding-left:28px;}
.cw-why-v{font-family:"Fraunces",Georgia,serif;font-size:50px;font-weight:300;letter-spacing:-0.025em;line-height:1;color:#003e65;margin:0;}
.cw-why-v em{font-style:italic;color:#003e65;}
.cw-why-l{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#5A6970;margin-top:14px;margin-bottom:10px;}
.cw-why p{font-size:14px;line-height:1.55;color:#0a4d7a;max-width:280px;margin:0;}
.cw-city-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px;}
.cw-city{padding:9px 16px;border:1px solid rgba(243,239,231,.2);border-radius:999px;font-size:14px;color:#EEF1F4;text-decoration:none;transition:all .2s;display:inline-block;}
.cw-city:hover{background:#EEF1F4;color:#003e65 !important;border-color:#EEF1F4;}
.cw-cta{padding:100px 0;text-align:center;background:#EEF1F4;}
.cw-cta-eyebrow{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#5A6970;margin-bottom:24px;}
.cw-cta h2{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:clamp(40px,5.5vw,80px);line-height:0.98;letter-spacing:-0.025em;max-width:920px;margin:0 auto;}
.cw-cta h2 em{font-style:italic;color:#003e65;}
.cw-cta-sub{font-size:18px;color:#0a4d7a;margin:28px auto 36px;max-width:520px;line-height:1.55;}
.cw-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:48px;}
.cw-cta-meta{display:flex;gap:48px;justify-content:center;flex-wrap:wrap;padding-top:36px;border-top:1px solid rgba(0,62,101,0.12);max-width:760px;margin:0 auto;}
.cw-cta-item{text-align:left;display:flex;gap:14px;align-items:center;}
.cw-cta-item b{font-weight:500;display:block;font-size:14px;}
.cw-cta-item small{color:#5A6970;font-size:12.5px;}
@media (max-width:980px) {.cw-hero-grid,.cw-problem-grid,.cw-section-head,.cw-cost-grid{grid-template-columns:1fr !important;gap:36px;}.cw-panel.cw-active{grid-template-columns:1fr !important;}.cw-float-stat{position:relative;top:auto;right:auto;display:inline-block;margin-top:18px;}.cw-process-list{grid-template-columns:1fr 1fr;}.cw-step:nth-child(2){border-right:0;}.cw-why-grid{grid-template-columns:1fr 1fr;}.cw-lender-row{grid-template-columns:1fr;gap:8px;padding:18px 20px;}.cw-lender-head{display:none;}.cw-wrap{padding:0 16px;}.cw-section{padding:56px 0;}}
@media (max-width:600px) {.cw-process-list,.cw-why-grid,.cw-cost-grid{grid-template-columns:1fr;}.cw-step{border-right:0 !important;}}


/* === SPRAY FOAM REMOVAL PAGE (itemid-305): hide lower-banner ticker === */
.itemid-305 .container-lower-banner { display: none !important; }


/* === TOP BAR: green availability dot === */
.topbar-status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: #22c55e;
  border-radius: 50%;
  margin-right: 4px;
  vertical-align: middle;
  animation: topbar-pulse 2s infinite;
}



/* ===== TOP BAR (UTILITY BAR) — new layout ===== */

/* The topbar template position already has its own wrapper with background.
   Override it to match the cream design from the mockup. */
.container-topbar,
.container-topbar > .topbar-wrap,
.topbar-wrap {
  background-color: #003e65 !important;
  border-bottom: none;
  padding: 0 !important;
  width: 100% !important;
}
.topbar-inner {
  padding: 7px 24px;
  max-width: 100%;
  margin: 0;
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px;
  color: rgba(255,255,255,0.9);
}
.topbar-left {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  color: rgba(255,255,255,0.9);
  font-size: 13px;
}
.topbar-left-text {
  font-size: 13px;
  color: rgba(255,255,255,0.9);
}
.topbar-right {
  display: flex;
  align-items: center;
  gap: 14px;
  white-space: nowrap;
  flex-shrink: 0;
  color: rgba(255,255,255,0.9);
}
.topbar-right-links {
  font-size: 13px;
  white-space: nowrap;
  color: rgba(255,255,255,0.9);
}
.topbar-right-links a {
  color: rgba(255,255,255,0.9);
  text-decoration: none;
}
.topbar-right-links a:hover {
  text-decoration: underline;
}
.topbar-socials {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.topbar-socials a {
  color: rgba(255,255,255,0.9);
  text-decoration: none;
  font-size: 14px;
  line-height: 1;
}
.topbar-socials a:hover {
  opacity: 0.65;
}

/* Green status dot */
.topbar-status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #22c55e;
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.4);
  animation: topbar-dot-pulse 2s infinite;
  flex-shrink: 0;
}

/* ===== END TOP BAR ===== */


/* ============================================================
   HEADER — UTILITY BAR + MAIN NAV
   Design tokens used throughout; no hardcoded hexes.
   ============================================================ */

/* ── Design tokens (canonical source) ── */
:root {
  --paper:   #EEF1F4;
  --paper-2: #E4E9EE;
  --ink:     #003e65;
  --ink-2:   #0a4d7a;
  --ink-3:   #5A6970;
  --moss:    #003e65;
  --moss-2:  #002a47;
  --mint:    #27daa0;
  --mint-2:  #1eaa7c;
  --rule:    rgba(0,62,101,0.12);
  --rule-2:  rgba(0,62,101,0.20);
}

/* ── Overall sticky header wrapper ── */
.container-header,
header.header {
  background-color: var(--paper) !important;
  border-bottom: 1px solid var(--rule);
  position: sticky !important;
  top: 0 !important;
  z-index: 50;
  backdrop-filter: saturate(140%) blur(6px);
  -webkit-backdrop-filter: saturate(140%) blur(6px);
}

/* ── UTILITY BAR (topbar) ── */
.container-topbar {
  background-color: var(--paper) !important;
  border-bottom: 1px solid var(--rule);
}
.topbar-wrap {
  background-color: var(--paper) !important;
  padding: 0 !important;
}
.topbar-inner {
  padding: 6px 28px;
  max-width: 100%;
  margin: 0;
  color: var(--ink-2);
}
.topbar-left {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: var(--ink-2);
  white-space: nowrap;
}
.topbar-left-text {
  font-size: 13px;
  color: var(--ink-2);
}
.topbar-right {
  display: flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
}
.topbar-right-links {
  font-size: 13px;
  color: var(--ink-3);
  white-space: nowrap;
}
.topbar-right-links a {
  color: var(--ink-3);
  text-decoration: none;
}
.topbar-right-links a:hover {
  color: var(--ink-2);
  text-decoration: underline;
}

/* Green pulse dot */
.topbar-status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #22c55e;
  box-shadow: 0 0 0 0 rgba(34,197,94,0.4);
  animation: topbar-dot-pulse 2s infinite;
  flex-shrink: 0;
}


/* ── MAIN NAV ── */
/* container-nav = the row: Logo | Menu | Phone+CTA */
.container-nav {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  padding: 10px 28px !important;
  gap: 20px !important;
  background-color: var(--paper) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Logo — left, fixed width */
.container-nav #mod-custom111 {
  flex: 0 0 auto !important;
}
.container-nav #mod-custom111 img {
  height: 44px !important;
  width: auto !important;
  display: block !important;
}
.container-nav #mod-custom111 .ptb10 {
  padding: 0 !important;
}

/* Menu — centre, stretch to fill available space */
.container-search {
  flex: 1 1 auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-width: 0 !important;
}

/* Phone + CTA — right, fixed width */
.container-rating {
  flex: 0 0 auto !important;
  margin-left: auto !important;
}
.container-rating .p20 {
  padding: 0 !important;
}
/* Hide any leftover trustpilot widget content in nav (now in topbar) */
.container-rating .trustpilot-widget {
  display: none !important;
}

/* ── DJ MegaMenu nav links ── */
.dj-megamenu-countrywide {
  background: transparent !important;
  border: none !important;
  display: flex !important;
  gap: 0 !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.dj-megamenu-countrywide > li > a.dj-up_a,
.dj-megamenu-countrywide > li > a {
  color: var(--ink-2) !important;
  background: transparent !important;
  font-family: "Inter Tight", system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 8px 13px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  transition: background 0.15s, color 0.15s !important;
  border: none !important;
  white-space: nowrap !important;
}
.dj-megamenu-countrywide > li > a:hover,
.dj-megamenu-countrywide > li:hover > a.dj-up_a {
  color: var(--ink) !important;
  background: var(--paper-2) !important;
}
/* Active page — mint */
.dj-megamenu-countrywide > li.active > a,
.dj-megamenu-countrywide > li.active > a.dj-up_a {
  color: var(--mint) !important;
  background: transparent !important;
  font-weight: 500 !important;
}
/* Dropdown panel */
.dj-megamenu-countrywide .dj-megamenu-sub-open,
.dj-megamenu-countrywide .dj-submenu {
  background: var(--paper) !important;
  border: 1px solid var(--rule) !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(0,62,101,0.12) !important;
  min-width: 200px !important;
}
.dj-megamenu-countrywide .dj-submenu li a {
  color: var(--ink-2) !important;
  font-size: 14px !important;
  padding: 8px 16px !important;
  display: block !important;
}
.dj-megamenu-countrywide .dj-submenu li a:hover {
  color: var(--ink) !important;
  background: var(--paper-2) !important;
}

/* ── Phone link ── */
.cw-nav-right {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  white-space: nowrap !important;
}
.cw-phone-mini {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: var(--ink-2) !important;
  text-decoration: none !important;
  font-family: "Inter Tight", system-ui, sans-serif !important;
  font-size: 14px !important;
  white-space: nowrap !important;
}
.cw-phone-label {
  color: var(--ink-3);
  font-weight: 400;
}
.cw-phone-number {
  color: var(--ink);
  font-weight: 600;
  font-size: 15px;
}
.cw-phone-mini:hover .cw-phone-number {
  color: var(--ink-2);
}

/* ── Free survey CTA pill ── */
.cw-btn-quote {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 11px 20px !important;
  border-radius: 999px !important;
  background: #27daa0 !important;
  color: #003e65 !important;
  font-family: "Inter Tight", system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background 0.15s, transform 0.15s !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}
.cw-btn-quote:hover {
  background: var(--moss-2) !important;
  color: var(--paper) !important;
  transform: translateY(-1px) !important;
}

/* ── Burger — hidden desktop, shown mobile ── */
.cw-burger-btn {
  width: 40px !important;
  height: 40px !important;
  display: none !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 5px !important;
  background: none !important;
  border: none !important;
  padding: 8px !important;
  cursor: pointer !important;
  color: var(--ink) !important;
  border-radius: 6px !important;
}
.cw-burger-btn svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
}
.cw-burger-btn:hover {
  background: var(--paper-2) !important;
}

/* ── Mobile breakpoint ── */
@media (max-width: 1100px) {
  .container-search { display: none !important; }
  .cw-phone-mini    { display: none !important; }
  .cw-burger-btn    { display: inline-flex !important; }
}

/* ── Mobile drawer overlay ── */
.cw-mobile-drawer-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,62,101,0.4);
  z-index: 200;
}
.cw-mobile-drawer-overlay.open { display: block; }

/* ── Mobile drawer panel ── */
.cw-mobile-drawer {
  position: fixed;
  top: 0; right: 0;
  width: min(360px,90vw);
  height: 100%;
  background: var(--paper);
  z-index: 201;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.28s cubic-bezier(0.4,0,0.2,1);
  padding: 24px 20px 80px;
  box-shadow: -4px 0 24px rgba(0,62,101,0.18);
}
.cw-mobile-drawer.open { transform: translateX(0); }
.cw-drawer-close {
  background: none; border: none;
  font-size: 24px; cursor: pointer;
  color: var(--ink); align-self: flex-end;
  padding: 4px 8px; margin-bottom: 16px;
  border-radius: 6px;
}
.cw-drawer-close:hover { background: var(--paper-2); }
.cw-drawer-section-label {
  font-size: 10px; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--ink-3);
  margin: 20px 0 6px; display: block;
  font-family: ui-monospace, monospace;
}
a.cw-drawer-link {
  display: block; padding: 11px 0;
  font-size: 16px; color: var(--ink-2);
  text-decoration: none;
  border-bottom: 1px solid var(--rule);
  font-family: "Inter Tight", system-ui, sans-serif;
}
a.cw-drawer-link:hover { color: var(--ink); }
a.cw-drawer-link.active { color: var(--mint); font-weight: 500; }
.cw-drawer-cta {
  position: sticky; bottom: 0;
  margin-top: auto; padding-top: 16px;
  background: var(--paper);
}
.cw-drawer-cta a {
  display: block; text-align: center;
  background: var(--moss); color: var(--paper) !important;
  padding: 14px 20px; border-radius: 999px;
  font-size: 15px; font-weight: 500;
  text-decoration: none !important;
  font-family: "Inter Tight", system-ui, sans-serif;
}
.cw-drawer-cta a:hover { background: var(--moss-2); }

/* ============================================================
   END HEADER STYLES
   ============================================================ */


/* ── NAV ITEM ORDER FIX (logo=1, menu=2, phone+CTA=3) ── */
.container-nav #mod-custom111  { order: 1 !important; }
.container-nav .container-search { order: 2 !important; }
.container-nav .container-rating  { order: 3 !important; margin-left: 0 !important; }


/* ============================================================
   FULL-BLEED PAGE SECTIONS
   The template wraps the article body in .grid-child which has
   max-width:1320px. Override that for the SFR article so every
   .cw-section goes edge-to-edge; inner .cw-wrap stays 1280px.
   ============================================================ */

/* Break the article body out of the 1320px grid-child constraint */
.container-component .cw-sfr,
.com-content-article__body .cw-sfr,
.com-content-article .cw-sfr {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  box-sizing: border-box !important;
}

/* Every top-level section / block inside cw-sfr = full bleed */
.cw-sfr > .cw-hero,
.cw-sfr > .cw-marquee,
.cw-sfr > .cw-section,
.cw-sfr > section {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Inner content wrapper stays centred at 1280px */
.cw-sfr .cw-wrap {
  max-width: 1280px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Hero specifically: full bleed, padding top/bottom only */
.cw-sfr > .cw-hero {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ============================================================
   END FULL-BLEED
   ============================================================ */


/* ============================================================
   FOOTER — cw-footer
   All colours via design tokens; no hardcoded hexes.
   ============================================================ */

footer.cw-footer {
  background: var(--moss);
  color: var(--paper);
  padding: 80px 0 32px;
  font-family: "Inter Tight", system-ui, sans-serif;
  /* Full bleed — break out of grid-child 1320px constraint */
  width: 100%;
  box-sizing: border-box;
}

/* The Joomla footer position wraps in .grid-child — override */
.container-footer .grid-child {
  max-width: 100% !important;
  padding: 0 !important;
}
.container-footer {
  background: var(--moss) !important;
}

footer.cw-footer .cw-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

/* 4-column grid */
footer.cw-footer .cw-foot-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.1fr;
  gap: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(0,62,101,0.25);
}

/* Brand column */
footer.cw-footer .cw-foot-brand .cw-brand {
  display: inline-block;
}
footer.cw-footer .cw-foot-brand .cw-brand-logo {
  height: 48px;
  width: auto;
  background: var(--paper);
  padding: 8px 12px;
  border-radius: 8px;
  display: block;
}
footer.cw-footer .cw-foot-brand p {
  margin-top: 18px;
  font-size: 13.5px;
  line-height: 1.6;
  max-width: 340px;
  color: rgba(238,241,244,0.7);
}

/* Column headings */
footer.cw-footer h5 {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(238,241,244,0.55);
  margin-bottom: 18px;
}

/* Footer links */
footer.cw-footer a {
  display: block;
  padding: 5px 0;
  font-size: 14px;
  color: rgba(238,241,244,0.7);
  text-decoration: none;
  transition: color .15s;
}
footer.cw-footer a:hover {
  color: var(--paper);
}

/* Phone number in contact column */
footer.cw-footer .cw-phone {
  font-family: "Fraunces", Georgia, serif !important;
  font-size: 22px !important;
  letter-spacing: -0.01em !important;
  color: var(--paper) !important;
  padding: 0 0 8px !important;
}

/* Social icons */
footer.cw-footer .cw-socials {
  display: flex;
  gap: 10px;
  margin-top: 22px;
}
footer.cw-footer .cw-socials a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(238,241,244,0.18);
  border-radius: 50%;
  color: rgba(238,241,244,0.75);
  padding: 0;
  transition: all .15s;
}
footer.cw-footer .cw-socials a:hover {
  border-color: var(--mint);
  color: var(--mint);
  transform: translateY(-1px);
}
footer.cw-footer .cw-socials svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

/* Trust badge row */
footer.cw-footer .cw-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 40px;
  align-items: center;
  padding: 32px 0;
  border-bottom: 1px solid rgba(0,62,101,0.18);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  color: rgba(238,241,244,0.5);
  text-transform: uppercase;
}
footer.cw-footer .cw-trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
footer.cw-footer .cw-trust span::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--mint);
  border-radius: 50%;
  opacity: .6;
}

/* Bottom bar */
footer.cw-footer .cw-foot-bot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 24px;
  font-size: 12.5px;
  color: rgba(238,241,244,0.45);
  flex-wrap: wrap;
  gap: 16px;
}
footer.cw-footer .cw-foot-bot .cw-lr {
  display: flex;
  gap: 24px;
}
footer.cw-footer .cw-foot-bot .cw-lr a {
  display: inline;
  padding: 0;
  color: rgba(238,241,244,0.45);
  font-size: 12.5px;
}
footer.cw-footer .cw-foot-bot .cw-lr a:hover {
  color: var(--paper);
}

/* Responsive */
@media (max-width: 960px) {
  footer.cw-footer .cw-foot-grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px 32px;
  }
  footer.cw-footer .cw-foot-brand {
    grid-column: 1 / -1;
  }
}
@media (max-width: 560px) {
  footer.cw-footer {
    padding: 56px 0 24px;
  }
  footer.cw-footer .cw-foot-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  footer.cw-footer .cw-foot-bot {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ============================================================
   END FOOTER STYLES
   ============================================================ */


/* ── Social icon SVGs via background-image (JCE strips inline SVG) ── */
.cw-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-size: 18px 18px;
  background-position: center;
  background-repeat: no-repeat;
}
.cw-socials a[aria-label="Facebook"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ECE4D6'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E");
}
.cw-socials a[aria-label="Instagram"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ECE4D6'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E");
}
.cw-socials a[aria-label="LinkedIn"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ECE4D6'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E");
}
.cw-socials a[aria-label="X (Twitter)"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ECE4D6'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.736-8.847L1.254 2.25H8.08l4.263 5.634 5.901-5.634zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");
}
.cw-socials a[aria-label="YouTube"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ECE4D6'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");
}
.cw-socials a[aria-label="Facebook"]:hover { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2327daa0'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E"); }
.cw-socials a[aria-label="Instagram"]:hover { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2327daa0'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E"); }
.cw-socials a[aria-label="LinkedIn"]:hover { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2327daa0'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E"); }
.cw-socials a[aria-label="X (Twitter)"]:hover { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2327daa0'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.736-8.847L1.254 2.25H8.08l4.263 5.634 5.901-5.634zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E"); }
.cw-socials a[aria-label="YouTube"]:hover { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2327daa0'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'%2F%3E%3C%2Fsvg%3E"); }

/* ── Service Areas Map ── */
.cw-map-wrap {
  position: relative;
  aspect-ratio: 4/5;
  max-width: 440px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}
/* ── Smart Estimator floating badge — small circle ── */
.popUpFormButtonHolderFloating {
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.popUpFormButtonHolderFloating .popUpFormButton {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  width: auto !important;
  height: auto !important;
}
.popUpFormButtonHolderFloating .popUpFormButton p {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}
.popUpFormButtonHolderFloating .popUpFormButton p:has(img) {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}
.popUpFormButtonHolderFloating .popUpFormButton img {
  display: block !important;
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  box-shadow: 0 2px 12px rgba(0,62,101,0.25) !important;
  transition: transform 0.3s ease !important;
}
.popUpFormButtonHolderFloating .popUpFormButton img:hover {
  transform: scale(1.08) !important;
}
@media (max-width: 768px) {
  .popUpFormButtonHolderFloating .popUpFormButton img {
    width: 64px !important;
    height: 64px !important;
  }
}


/* --- Where We Work section: 2-column layout with map on right --- */
.cw-areas-grid {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 3rem;
}

.cw-areas-content {
  flex: 0 0 55%;
  max-width: 55%;
}

.cw-areas-map {
  flex: 0 0 calc(45% - 3rem);
  max-width: calc(45% - 3rem);
  align-self: flex-start;
}

.cw-map-wrap {
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 768px) {
  .cw-areas-grid {
    flex-direction: column;
  }
  .cw-areas-content {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .cw-areas-map {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
}


/* --- Map pulse animation (for inline SVG) --- */

.map-pin .pulse {
  animation: pulse 2.6s ease-out infinite;
  transform-box: fill-box;
  transform-origin: center;
}
.cw-map-wrap svg {
  width: 100%;
  height: auto;
  display: block;
}



/* ===== Before/After Slider & Hero Overrides ===== */

/* Label: absolute, centred on the slider, dark blue text */
.cw-hero-card > .cw-img-label:first-child {
  position: absolute !important;
  top: 14px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  margin-bottom: 0 !important;
  z-index: 20 !important;
  color: #003e65 !important;
  background: rgba(255,255,255,0.85) !important;
  padding: 6px 14px !important;
  border-radius: 99px !important;
  white-space: nowrap !important;
}

/* Override the label pseudo-element dot color to match */
.cw-hero-card > .cw-img-label:first-child::before {
  background: #E85D44 !important;
}

/* Hero buttons: primary = green #27daa0 with dark blue text */
.cw-btn-primary {
  background: #27daa0 !important;
  color: #003e65 !important;
}
.cw-btn-primary:hover {
  background: #1fc490 !important;
  color: #003e65 !important;
}

/* Ghost button: solid green fill */
.cw-btn-ghost {
  background: #27daa0 !important;
  border-color: #27daa0 !important;
  color: #003e65 !important;
}
.cw-btn-ghost:hover {
  background: rgba(39,218,160,0.1) !important;
}

/* Cert card: heading and text to dark blue */
.cw-cert h4 {
  color: #003e65 !important;
}
.cw-cert p {
  color: #003e65 !important;
}
.cw-cert-meta {
  color: #003e65 !important;
}
.cw-cert-num {
  color: #003e65 !important;
}


/* ===== Certificate card: absolute centre overlay on slider ===== */
.cw-ba-wrap .cw-cert {
  position: absolute !important;
  bottom: 20px !important;
  top: auto !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 15 !important;
  pointer-events: none !important;
  width: 280px !important;
  max-width: 85% !important;
}


/* FAQ section */
.cw-faq-list { display: flex; flex-direction: column; gap: 0; max-width: 800px; }
.cw-faq-item { border-bottom: 1px solid rgba(0,62,101,0.15); }
.cw-faq-item:first-child { border-top: 1px solid rgba(0,62,101,0.15); }
.cw-faq-q { list-style: none; padding: 20px 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 16px; color: #003e65; }
.cw-faq-q::-webkit-details-marker { display: none; }
.cw-faq-q::after { content: '+'; font-size: 22px; font-weight: 300; color: #27daa0; transition: transform 0.2s; flex-shrink: 0; margin-left: 16px; }
.cw-faq-item[open] .cw-faq-q::after { content: '−'; }
.cw-faq-a { padding-bottom: 20px; color: #444; line-height: 1.6; }
.cw-faq-a p { margin: 0; }


/* Reviews section */
.cw-tp-score { display: flex; flex-direction: column; gap: 6px; }
.cw-tp-stars { color: #00b67a; font-size: 28px; letter-spacing: 2px; }
.cw-tp-meta { font-size: 15px; color: #003e65; }
.cw-tp-meta a { color: #003e65; text-decoration: underline; }
.cw-reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; margin-top: 40px; }
.cw-review-card { background: #fff; border: 1px solid rgba(0,62,101,0.1); border-radius: 12px; padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.cw-review-stars { color: #00b67a; font-size: 20px; letter-spacing: 1px; }
.cw-review-text { font-size: 15px; line-height: 1.65; color: #2a3d4e; margin: 0; flex: 1; }
.cw-review-author { font-size: 13px; color: #5A6970; }
.cw-review-author strong { color: #003e65; }


/* ===== BEFORE/AFTER GALLERY (#cw-gallery) ===== */
#cw-gallery { background:#fff; }
#cw-gallery .cw-section-intro {
  color:#4a5568; font-size:1.05rem; margin-bottom:2.5rem; max-width:600px;
}
.cw-ba-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  align-items:start;
}
@media (max-width:768px) { .cw-ba-grid { grid-template-columns:1fr; } }

/* Before/After slider */
.cw-ba-pair { display:flex; flex-direction:column; gap:0.75rem; }
.cw-ba-slider {
  position:relative; overflow:hidden; border-radius:12px;
  cursor:ew-resize; user-select:none; -webkit-user-select:none;
  box-shadow:0 4px 20px rgba(0,0,0,.12);
  aspect-ratio:3/2;
}
.cw-ba-after, .cw-ba-before {
  position:absolute; top:0; left:0; width:100%; height:100%;
}
.cw-ba-after img, .cw-ba-before img {
  width:100%; height:100%; object-fit:cover; display:block;
}
.cw-ba-before {
  width:50%; overflow:hidden;
  border-right:3px solid #fff;
}
.cw-ba-handle {
  position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:44px; height:100%; display:flex; align-items:center; justify-content:center;
  cursor:ew-resize; z-index:5;
}
.cw-ba-arrows {
  display:flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%;
  background:#27daa0; color:#fff; font-size:1.1rem; font-weight:700;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
  pointer-events:none;
}
.cw-ba-labels {
  position:absolute; bottom:10px; left:0; right:0;
  display:flex; justify-content:space-between; padding:0 12px;
  pointer-events:none; z-index:4;
}
.cw-ba-label {
  background:rgba(0,0,0,.55); color:#fff; font-size:.72rem; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; padding:3px 9px; border-radius:4px;
}
.cw-ba-caption {
  font-size:.85rem; color:#64748b; text-align:center; margin:0;
}

/* Side photo grid */
.cw-ba-photos {
  display:grid; grid-template-columns:1fr 1fr; gap:1rem;
}
@media (max-width:480px) { .cw-ba-photos { grid-template-columns:1fr; } }
.cw-ba-photo-item {
  position:relative; border-radius:10px; overflow:hidden;
  box-shadow:0 3px 14px rgba(0,0,0,.1);
  aspect-ratio:4/3;
}
.cw-ba-photo-item img {
  width:100%; height:100%; object-fit:cover; display:block;
}
.cw-ba-photo-tag {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(transparent,rgba(0,0,0,.6));
  color:#fff; font-size:.75rem; font-weight:600;
  padding:18px 10px 8px; text-align:center;
}


/* ===== PROOF STATS (#cw-stats) ===== */
#cw-stats { background:#0b1f2a; }
.cw-stats-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:2rem;
  text-align:center;
  padding:1rem 0;
}
@media (max-width:900px) {
  .cw-stats-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:580px) {
  .cw-stats-grid { grid-template-columns:repeat(2,1fr); }
}
.cw-stat-item {}
.cw-stat-v {
  font-size:2.6rem; font-weight:800; color:#27daa0; line-height:1;
  font-family:'Inter Tight',system-ui,sans-serif;
}
.cw-stat-v em { font-style:normal; font-size:1.6rem; }
.cw-stat-l {
  margin-top:.4rem; font-size:.8rem; color:rgba(243,239,231,.7);
  line-height:1.35; text-transform:uppercase; letter-spacing:.04em;
}

/* ===== HERO FORM 1 (#cw-form1) ===== */
.cw-hero-form {
  margin-top:1.5rem;
  padding:1.25rem 1.5rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  backdrop-filter:blur(6px);
}
.cw-section-dark .cw-hero-form,
.cw-hero .cw-hero-form {
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.14);
}
.cw-form-label {
  font-size:.78rem; text-transform:uppercase; letter-spacing:.07em;
  color:rgba(243,239,231,.65); margin-bottom:.75rem; font-weight:600;
}
.cw-section-dark .cw-form-label { color:rgba(243,239,231,.65); }
.cw-form-row {
  display:flex; gap:.6rem; flex-wrap:wrap; align-items:center;
}
.cw-form-row .cw-input {
  flex:1 1 140px; min-width:120px;
}
.cw-form-row .cw-btn { flex-shrink:0; white-space:nowrap; }
.cw-input {
  padding:.65rem 1rem; border-radius:8px;
  border:1.5px solid #dde2e8;
  font-size:.95rem; color:#1a2733;
  background:#fff;
  outline:none; transition:border-color .2s;
  width:100%;
}
.cw-input:focus { border-color:#27daa0; }
.cw-textarea { resize:vertical; min-height:80px; }

/* ===== SMART ESTIMATOR (#cw-estimator) ===== */
#cw-estimator { background:#0b1f2a; }
.cw-estimator-inner {
  display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center;
}
@media (max-width:768px) { .cw-estimator-inner { grid-template-columns:1fr; gap:2rem; } }
.cw-estimator-head .cw-lede-light { color:rgba(243,239,231,.75); }
.cw-estimator-head .cw-h2-light em { color:#27daa0; }
.cw-btn-estimator {
  display:flex; align-items:center; gap:1rem;
  padding:1.2rem 1.8rem; border-radius:14px;
  background:linear-gradient(135deg,#27daa0,#1db88c);
  color:#0b1f2a; text-decoration:none;
  font-weight:700; transition:transform .15s, box-shadow .15s;
  box-shadow:0 4px 20px rgba(39,218,160,.3);
}
.cw-btn-estimator:hover { transform:translateY(-2px); box-shadow:0 6px 28px rgba(39,218,160,.4); color:#0b1f2a; }
.cw-estimator-icon { font-size:1.8rem; }
.cw-btn-estimator strong { display:block; font-size:1.05rem; }
.cw-btn-estimator small { display:block; font-size:.8rem; font-weight:400; opacity:.75; }
.cw-estimator-reassurance {
  display:flex; gap:1rem; flex-wrap:wrap; margin-top:1rem;
}
.cw-estimator-reassurance span {
  font-size:.82rem; color:rgba(243,239,231,.6);
}

/* ===== FINAL CTA FORM (#cw-final-cta) ===== */
#cw-final-cta { background:#0b1f2a; }
.cw-final-cta-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start;
}
@media (max-width:900px) { .cw-final-cta-grid { grid-template-columns:1fr; gap:2rem; } }
.cw-final-cta-copy .cw-h2-light { font-size:clamp(1.8rem,3.5vw,2.8rem); }
.cw-final-cta-copy .cw-h2-light em { color:#27daa0; font-style:italic; }
.cw-cta-sub { color:rgba(243,239,231,.72); margin:1rem 0 1.5rem; line-height:1.6; }
.cw-cta-trust {
  display:flex; flex-direction:column; gap:.4rem;
}
.cw-cta-trust span { font-size:.85rem; color:rgba(243,239,231,.65); }
.cw-form-card {
  background:#fff; border-radius:16px; padding:2rem;
  box-shadow:0 8px 40px rgba(0,0,0,.25);
}
.cw-form-field { margin-bottom:1rem; }
.cw-form-field label {
  display:block; font-size:.82rem; font-weight:600;
  color:#2d3748; margin-bottom:.35rem;
}
.cw-btn-full { width:100%; justify-content:center; margin-top:.5rem; }
.cw-form-disclaimer {
  font-size:.75rem; color:#94a3b8; text-align:center; margin:.75rem 0 0;
}
.cw-form-disclaimer a { color:#27daa0; }
.cw-section-label.cw-label-light { color:rgba(243,239,231,.55); }


/* ===== FINAL CTA V2 (#cw-final-cta) ===== */
.cw-final-cta-v2 {
  background: #0e2233;
  padding: 100px 0 80px;
}
.cw-cta-v2-wrap {
  text-align: center;
  max-width: 780px;
  margin: 0 auto;
}
.cw-cta-v2-eyebrow {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(243,239,231,.45);
  margin-bottom: 1.8rem;
}
.cw-cta-v2-h2 {
  font-size: clamp(2.6rem, 5.5vw, 4.2rem);
  font-weight: 800;
  line-height: 1.05;
  color: #f3efe7;
  margin-bottom: 1.5rem;
  font-family: 'Inter Tight', Georgia, serif;
  letter-spacing: -.02em;
}
.cw-cta-v2-h2 em {
  font-style: italic;
  color: #27daa0;
}
.cw-cta-v2-sub {
  font-size: 1rem;
  color: rgba(243,239,231,.6);
  line-height: 1.65;
  margin-bottom: 2.5rem;
}
.cw-cta-v2-btns {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 3.5rem;
}
.cw-cta-v2-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .85rem 1.8rem;
  border-radius: 999px;
  font-size: .95rem;
  font-weight: 600;
  text-decoration: none;
  transition: transform .15s, box-shadow .15s;
  cursor: pointer;
}
.cw-cta-v2-btn:hover { transform: translateY(-2px); }
.cw-cta-v2-btn-primary {
  background: #27daa0;
  color: #0b1f2a;
  box-shadow: 0 4px 18px rgba(39,218,160,.3);
}
.cw-cta-v2-btn-primary:hover {
  box-shadow: 0 6px 24px rgba(39,218,160,.45);
  color: #0b1f2a;
}
.cw-cta-v2-btn-outline {
  background: transparent;
  color: #f3efe7;
  border: 1.5px solid rgba(243,239,231,.3);
}
.cw-cta-v2-btn-outline:hover {
  border-color: rgba(243,239,231,.65);
  color: #f3efe7;
}
.cw-cta-v2-phone-icon {
  font-size: 1rem;
}
/* 4-card 2x2 grid */
.cw-cta-v2-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  text-align: left;
}
@media (max-width: 640px) {
  .cw-cta-v2-cards { grid-template-columns: 1fr; }
}
.cw-cta-v2-card {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  padding: 1.1rem 1.3rem;
}
.cw-cta-v2-card-label {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(243,239,231,.5);
  margin-bottom: .4rem;
}
.cw-cta-v2-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #27daa0;
  flex-shrink: 0;
  display: inline-block;
}
.cw-cta-v2-card-body {
  font-size: .88rem;
  color: rgba(243,239,231,.8);
  line-height: 1.4;
}


/* ── Mobile fixes: popup form scroll & Smart Estimator badge ── */
@media (max-width: 1100px) {
    /* Ensure the popup form is scrollable on mobile */
    .formPopUpContent {
          overflow-y: auto !important;
          max-height: 85vh !important;
          -webkit-overflow-scrolling: touch;
        }

    /* Push Smart Estimator badge below the sticky header so it does not cover the hamburger menu */
    #popUpButtonHolder346,
    .popUpFormButtonHolderFloating {
          top: 130px !important;
        }
  }

@media (max-width: 768px) {
    /* Allow the popup overlay to scroll on very small screens */
    .formPopUpWrapper {
          overflow-y: auto;
        }
    .formPopUpInner {
          vertical-align: top;
          padding-top: 10px;
        }
  }

/* ── Mobile nav z-index fixes: ensure drawer appears above Smart Estimator badge ── */
@media (max-width: 1100px) {
  /* Lower the Smart Estimator badge z-index so it doesn't block the mobile nav drawer */
  #popUpButtonHolder346,
  .popUpFormButtonHolderFloating {
    z-index: 150 !important;
  }
  /* Raise the mobile drawer and overlay above the badge */
  .cw-mobile-drawer {
    z-index: 100001 !important;
  }
  .cw-mobile-drawer-overlay {
    z-index: 100000 !important;
  }
}

/* ── Hamburger icon for mobile burger button (SVG stripped by TinyMCE) ── */
.cw-burger-btn::before {
  content: "";
  display: block;
  width: 22px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='16' viewBox='0 0 22 16'%3E%3Crect y='0' width='22' height='2.5' rx='1.25' fill='%23003e65'/%3E%3Crect y='6.75' width='22' height='2.5' rx='1.25' fill='%23003e65'/%3E%3Crect y='13.5' width='22' height='2.5' rx='1.25' fill='%23003e65'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
}

/* === Floating Mobile Phone Bar === */
#cw-float-phone {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: #00c27c;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-size: 17px;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
  padding: 14px 20px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  letter-spacing: 0.3px;
  box-shadow: 0 -2px 12px rgba(0,0,0,0.18);
  -webkit-tap-highlight-color: rgba(0,0,0,0.1);
}
#cw-float-phone svg {
  flex-shrink: 0;
}

/* Hide duplicate forms rendered in bottom-f position (forms already shown in article via loadmoduleid) */
.container-bottom-f #crmFormWrapper399,
.container-bottom-f #crmFormWrapper400,
.container-bottom-f .popUpForm399,
.container-bottom-f .popUpForm400 {
    display: none !important;
}

@media screen and (max-width: 1150px) {
  #cw-float-phone {
    display: flex;
  }
  /* Add bottom padding to body so content isn't hidden behind bar */
  body {
    padding-bottom: 52px;
  }


  /* === Fix: Smart Estimator close button === */
  .formPopUpContent {
        overflow: visible !important;
    }
  .closeFormPopUp {
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
    }
  }
  



/* ===== Center footer content block ===== */
.container-footer .grid-child{display:block !important;width:100% !important;}
.container-footer .footer.no-card.footerLeft{display:block !important;width:100% !important;}
.container-footer .footer.no-card.footerLeft .cw-wrap{margin-left:auto !important;margin-right:auto !important;}
.container-footer .footerLeft ~ .mod-custom,
.container-footer .footerLeft ~ .moduletable{display:block !important;width:100% !important;}

/* === CW full-width fix: start (added 2026-10-13) === */
/* Spray foam removal page (menu item 305) */
body.itemid-305 .site-grid > .container-component { grid-column: full-start / full-end; }
html body.itemid-305 .com-content-article__body .cw-sfr,
html body.itemid-305 #cw-final-cta {
  width: 100% !important; max-width: 100% !important; left: 0 !important;
  margin-left: 0 !important; margin-right: 0 !important;
}
body.itemid-305 .com-content-article__body > #cw-faq {
  max-width: min(82.5rem, 100% - 2em); margin-left: auto; margin-right: auto;
}
/* Roof replacement page (menu item 977) */
body.itemid-977 .site-grid > .container-component { grid-column: full-start / full-end; }
html body.itemid-977 .rr-wrap .rr-section-dark,
html body.itemid-977 .rr-wrap .rr-section-cream,
html body.itemid-977 .com-content-article__body > .cw-marquee {
  width: 100% !important; max-width: 100% !important; left: 0 !important;
  margin-left: 0 !important; margin-right: 0 !important;
}
body.itemid-977 .rr-wrap > .rr-section {
  max-width: min(82.5rem, 100% - 2em); margin-left: auto; margin-right: auto;
}
/* === CW full-width fix: end === */

/* === CW estimator mobile fix: start (added 2026-10-14) === */
/* Spray foam removal page (menu item 305): the Smart Estimator grid carries an inline
   "grid-template-columns: 1fr 1fr" that beats the existing 768px stack rule, leaving a
   3px horizontal overflow on phones. Stack it to one column on small screens only. */
@media (max-width: 768px) {
  body.itemid-305 .cw-estimator-inner { grid-template-columns: 1fr !important; }
}
/* === CW estimator mobile fix: end === */

/* ---- Click-to-play YouTube facade (home page video, added 2026-10-20) ---- */
.cw-video-facade { background: #0b1f2e; cursor: pointer; }
.cw-video-facade .cw-video-poster { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
.cw-video-facade .cw-video-play { position: absolute; top: 50%; left: 50%; width: 76px; height: 54px; margin: -27px 0 0 -38px; padding: 0; border: 0; border-radius: 14px; background: rgba(0, 62, 101, 0.92); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s ease, transform .2s ease; }
.cw-video-facade .cw-video-play::before { content: ""; display: block; width: 0; height: 0; border-style: solid; border-width: 12px 0 12px 22px; border-color: transparent transparent transparent #fff; margin-left: 4px; }
.cw-video-facade:hover .cw-video-play,
.cw-video-facade .cw-video-play:focus-visible { background: #27daa0; transform: scale(1.06); }
.cw-video-facade .cw-video-play:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

