
.btn-call-icon {
    display: inline-block;
    margin-left: 35px;
    border-bottom: 1px solid;
    position: relative;
    font-size: 20px;
    letter-spacing: 4px;
    font-weight: 400;
}
.btn-call-icon:before {
    content: "";
    position: absolute;
    left: -35px;
    top: 5px;
    background: url(../../images/icon-phone-v.svg) no-repeat left center / 24px 24px;
    width: 25px;
    height: 25px;
}
.btn.btn-sm {
    font-size: 16px;
    padding: 18px 45px;
    letter-spacing: 1px;
}
.text-center {
    text-align: center;
}
.show-for-large {
    display: block;
}
.hide-for-large {
    display: none;
}
@media (max-width:1023px) {
    .show-for-large {display: none;}
    .hide-for-large {display: block;}
}


.hero-section {
    background: url(../../images/bg-hero-plumber.jpg) no-repeat center / cover;
    overflow: hidden;
    padding: 220px 20px 0;
}
.hero-section .container {
    position: relative;
}
.hero-banner-cols {
    display: flex;
    flex-flow: wrap;
}
.hero-banner-wrap {
    width: 50%;
    text-align: left;
    align-self: center;
    display: block;
    padding: 0 0 30px 50px;
}
.hero-banner-wrap .hero-h1 {
    margin-bottom: 60px;
}
.hero-banner-wrap .hero-h1 img {
    margin-bottom: 10px;
}
.hero-banner-wrap .cursive_line {
    display: inline-block;
    position: relative;
}
.hero-banner-wrap .cursive_line:after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 455 27" fill="none"><path d="M2 12.4038C4.34164 21.9092 52.5794 35.2167 226.798 12.4038C401.016 -10.4091 450.19 9.55221 453 22.3845" stroke="white" stroke-width="4"/></svg>');
    position: absolute;
    left: 0;
    bottom: -40%;
    width: 100%;
    max-width: 100%;
    height: auto;
    filter:brightness(0) saturate(100%) invert(80%) sepia(33%) saturate(1059%) hue-rotate(198deg) brightness(100%) contrast(101%);
  }
.hero-banner-wrap .hero-text {
    font-size: 25px;
    font-weight: 400;
    max-width: 550px;
}
.hero-banner-wrap .underline {
    border-bottom: 1px solid;
}
.hero-banner-img-wrap {
    width: 50%;
    align-self: flex-end;
}
.hero-banner-img-wrap figure {
    margin:0 -100px 0 0;
    text-align: right;
}
@media (max-width:1440px) {
    .hero-banner-wrap .hero-h1 img {width: 200px;}
}
@media (max-width:1280px) {
    .hero-banner-wrap .hero-h1 {font-size: 50px;}
    .hero-banner-wrap .hero-h1 img {width: 120px;}
    .hero-banner-img-wrap figure {margin-right: -50px;}
    .hero-banner-wrap .hero-text {font-size: 20px;}
}
@media (max-width:991px) {
    .hero-section {padding-top: 170px;}
    .hero-banner-cols {display: block;}
    .hero-banner-wrap {width: auto;padding:0 0 50px;}
    .hero-banner-wrap .hero-h1 {text-align: center; margin-bottom: 30px;font-size: min(50px, 10vw);}
    .hero-banner-wrap .hero-h1 img {width: min(120px, 26vw);}
    .hero-banner-wrap .hero-text {margin: 0 auto; text-align: center;}
    .hero-banner-img-wrap {width: auto;}
    .hero-banner-img-wrap figure {width:600px; max-width:90%; margin: 0 auto;}
}


.call2ac-section {
    background: #000;
    color: #fff;
    padding: 28px 20px;
    text-align: center;
}
.call2ac-section h4 {
    font-size: 20px;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 4px;
}
.call2ac-section .cta_inflex {
    display: inline-flex;
    align-items: center;
    gap: 20px 30px;
}
.call2ac-section .ctagroup {
    display: inline-flex;
    gap: 20px;
    align-items: center;
    flex-flow: wrap;
    justify-content: center;
}
.call2ac-section .btn-call-icon {
    color: #fff;
}
.call2ac-section .btn {
    border-color: #DCB9FF;
    color: #DCB9FF;
    padding: 18px 50px;
}
@media (max-width:991px) {
    .call2ac-section .cta_inflex {display: block;}
    .call2ac-section h4 {margin-bottom: 20px; letter-spacing: 2px;}
}


.trusted-section {
    position: relative;
    padding: 120px 20px;
    text-align: center;
}
.trusted-section h4 {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 50px;
}
.trusted-section .trusted_list {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    list-style: none;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.trusted-section .trusted_list li {
    flex-grow: 1;
    text-align: center;
}
.trusted-section .trusted_list li img {
    max-height: 75px;
    width: auto;
}
@media (max-width:1023px) {
    .trusted-section {padding: 60px 20px;}
    .trusted-section h4 {letter-spacing: 2px;}
    .trusted-section .trusted_list li {flex:inherit ;}
}
@media (max-width:640px) {
    .trusted-section .trusted_list {justify-content: center;
        flex-flow: wrap; gap: 20px;}
}


.thetool-section .toolh2 {
    margin-bottom: 30px;
}
.thetool-section .toolh2 .with-cursive-line-v1:after {
    bottom: -60%;
}


.thetool-section {
    position: relative;
    padding: 0 20px;
}
.thetool-section .tool_container {
    width: 1770px;
    max-width: 100%;
    padding: 70px;
    margin: 0 auto;
    border-radius: 30px;
    background: linear-gradient(180deg, #E4EBFF 0%, #F5ECFF 100%);
}
.thetool-section .toolh2 {
    font-size: 50px;
    font-weight: 400;
    color: #3662E3;
}
.thetool-section .toolh2 span {
    display: inline-block;
}
.thetool-section .toolh2 i {
    display: inline-block;
    color: #7D01F8;
}
.thetool-section .toolh2 i img {
    vertical-align: baseline;
    margin-right: -5px;
}

.thetool-section .tool_row {
    display: flex;
    flex-flow: wrap;
}
.thetool-section .tool_left {
    width: 50%;
    text-align: center;
}
.thetool-section .tool_left .btn {
    font-size: 16px;
}
.thetool-section .tool_right {
    width: 50%;
}
.thetool-section .tool_item {
    border-radius: 30px;
    border: 1px solid #DCB9FF;
    position: relative;
    padding: 30px 40px 30px 240px;
    font-size: 18px;
    margin:0 0 15px
}
.thetool-section .tool_item h3 {
    color: #3662E3;
    font-size: 30px;
    line-height: 1.2;
    margin-bottom: 10px;
}
.thetool-section .tool_item figure {
    width: 200px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translate(0, -60%);
}
@media (max-width:1680px) {
    .thetool-section .tool_container {padding: 40px;}
    .thetool-section .tool_left {padding-right: 30px;}
    .thetool-section .tool_item {padding: 20px 20px 20px 200px;}
    .thetool-section .tool_item figure {width: 160px;}
}

@media (max-width:1440px) {
    .thetool-section .tool_item {padding-left: 170px;}
    .thetool-section .tool_item figure {width: 140px;}
    .thetool-section .tool_item h3 {font-size: 24px;}
}
@media (max-width:1280px) {
    .thetool-section .toolh2 {font-size: 40px;}
    .thetool-section .tool_item {font-size: 16px;}
}
@media (max-width:1023px) {
    .thetool-section .tool_row {display: block;}
    .thetool-section .tool_left {width: auto;padding:0}
    .thetool-section .tool_right {width: auto;}
}
@media (max-width:640px) {
    .thetool-section .tool_container {padding: 40px 20px;}
    .thetool-section .tool_item {
        font-size: 16px;
        padding: 20px;
        text-align: center;
      }
      .thetool-section .tool_item figure {
        width: 140px;
        position: static;
        transform: none;
        margin: 0 auto;
      }
}



.feature-section {
    padding:110px 20px;
}
.feature-section .heading-10 {
    color: #3662E3;
    margin-bottom: 30px;
}
@media (max-width:1023px) {
    .feature-section {
        padding: 90px 20px;
    }
    .feature-section .heading-10 {
        margin-bottom: 0;
    }
}


.testimonial-section {
    padding: 80px 20px 60px;
}
.testimonial-section h2 {
    font-size: 50px;
    font-size: min(6vw, 50px);
    text-transform: none;
    letter-spacing: normal;
    text-align: center;
    line-height: 1;
}
.testimonial-box {
    position: relative;
    padding: 0 0 0 140px;
    max-width: 1050px;
    margin-bottom: 35px;
}
.testimonial-box figure {
    position: absolute;
    top:35px;
    left: 0;
    padding: 40px 5px 25px 40px;
    z-index: 1;
}
.testimonial-box figure:before{
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: url(../../images/bg-testi-img.svg) no-repeat center / 100% 100%;
}
.testimonial-box blockquote {
    background: #192034 url(../../images/bg-dotted-testi.png) no-repeat center bottom;
    color:#A1ABC8;
    border:0;
    border-radius:30px;
    padding: 60px 60px 50px 180px;
    font-size: 18px;
    min-height: 400px;
    line-height: 1.6;
}
.testimonial-box h5 {
    font-size: 24px;
    font-weight: 400;
    margin-bottom: 15px;
    color: #fff;
    line-height: 1.2;
}
.testimonial-box .str {
    display: block;
    margin:30px 0 15px;
}
.testimonial-box cite {
    font-size: 18px;
    font-style: normal;
    color: #DCB9FF;
}
.testimonial-box cite em {
    font-style: normal;
    color: #fff;
}

.testimonial-box:nth-child(even) {
    margin-left: auto;
    margin-right: auto;
}
.testimonial-box:nth-child(4n+3) {
    margin-left: auto;
}

.testi-bottom{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
}
.testi-bottom .testi-logo{
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 130px;
    background-color: #fff;
    padding:0 10px;
    min-height: 60px;
}
.testi-bottom .testi-logo.no-bg{
    background: none;
    padding:0px;
}
.testi-bottom .testimonial-rating{
    padding-right: 15px;
}

.testi-video{
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    width:100%;
    min-height: 300px;
    background-color: #ff5000;
    cursor: pointer;
    padding:20px;
    position: relative;
    margin-bottom: 16px;
}
.testi-video .icon-play{
    top:50%;
    left:50%;
    position: absolute;
    transform: translate(-50%,-50%) scale(1);
    -webkit-transform: translate(-50%,-50%) scale(1);
    width: 60px;
    height: 60px;
    transition: all 0.3s ease;
    opacity: 0.8;
    
}
.testi-video .icon-play svg{
    fill:#fff;
}
.testi-video:hover .icon-play{
    transform: translate(-50%,-50%) scale(1.2);
    -webkit-transform: translate(-50%,-50%) scale(1.2);
}
.testi-video:hover .icon-play svg{
    opacity: 1;
}
.testi-video img{
    max-width: 150px;
}
.testimonial-list-wrap{
    display: grid;
    grid-template-columns: repeat(3,1fr);
}

@media(max-width:1023px) {
    .testimonial-section {padding: 80px 20px 0;}
    .testimonial-box figure {width: 230px;}
    .testimonial-box blockquote {padding: 40px 30px 30px 120px;}
}
@media(max-width:640px) {
    .testimonial-box {padding: 120px 0 0;}
    .testimonial-box figure {top: 20px;left: 50%;padding: 20px;width: 170px;margin: 0 0 0 -95px;}
    .testimonial-box blockquote{padding: 80px 20px 30px;text-align: center;}
    .testimonial-box h5 {font-size: 20px;}
    .testimonial-box blockquote {font-size: 16px;}
}

@media(max-width:480px) {
    .testimonial-section h2 {
        font-size: min(9vw, 50px);
    }
}


.video-lightbox{
    visibility: hidden;
    position: fixed;
    top:0px;
    left:0px;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 9999;
    padding:30px;
    background: rgba(0, 0, 0,0.8);
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    opacity: 0;
    transform: scale(0.8);
    -webkit-transform: scale(0.8);
}
.video-lightbox.active{
    visibility: visible;
    opacity:1;
    transform: scale(1);
    -webkit-transform: scale(1);
}
.video-lightbox .content{
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    width: 100%;
    max-width: 400px;
    background-color: #000;
}
.video-lightbox .content button{
    width: 30px;
    height: 30px;
    color:#000;
    position: absolute;
    right:-15px;
    top:-15px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0px;
    border-radius: 30px;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
}

.video-lightbox .content button svg{
    max-width: 16px;
}
.video-lightbox .content button:hover{
    background-color: #ccc;
}
.video-lightbox .content video{
    width: 100%;
}
.buttons-bottom{
    display: flex;
    flex-direction: row;
}
.buttons-bottom a{
    margin-right: 15px;
}
.buttons-bottom a:last-child{
    margin-right: 0px;
}
.buttons-top a{
    margin-right: 10px;
    padding:19px 30px!important;
}
.buttons-top a:last-child{
    margin-right: 0px;
}
.menu-wrap, .menu-list {
    grid-column-gap: 68px;
    grid-row-gap: 68px;
}
.error-message{
    color:#ff0000;
}

.subfooter-section {
    background: #111729 url(../../images/bg-curle.svg) no-repeat center top / 100% 136px;
    padding: 200px 0 0;
    color: #fff;
}
.subfooter-section .cursive-line-v3 {
    margin-bottom: 50px;
    position: relative;
}
.subfooter-section .cursive-line-v3:after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 455 27" fill="none"><path d="M2 12.4038C4.34164 21.9092 52.5794 35.2167 226.798 12.4038C401.016 -10.4091 450.19 9.55221 453 22.3845" stroke="white" stroke-width="4"/></svg>');
    position: absolute;
    bottom: -45px;
    width: 70%;
    max-width: 100%;
    height: auto;
    left: 12%;
}
.subfooter-section .cursive-line-v3 img {
    vertical-align: baseline;
    margin-bottom: -5px;
}
.subfooter-section .text-block-14 {
    font-weight: 500;
    max-width: 540px;
    margin: 0 auto -40px;
    position: relative;
    padding: 15px 0 0;
}
.subfooter-wrapper {
    background: none;
    padding: 0;
    gap: 0 20px;
}
.subfooter-content-wrap {
    text-align: center;
    align-items: center;
    padding: 0 20px;
    justify-content: flex-end;
}
.subfooter-form-wrap {
    padding: 0 20px;
}
@media (max-width:1366px) {
    .subfooter-section .cursive-line-v3 {
        font-size: min(3.5vw, 40px);
    }
    .subfooter-section .cursive-line-v3 img {
        width: min(12vw, 150px);
    }
}

@media (max-width:991px) {
    .subfooter-form-wrap {
        background: #24205f;
        padding: 30px 20px;
    }
    .subfooter-section .cursive-line-v3 {
        font-size: min(6vw, 40px);
      }
      .subfooter-section .cursive-line-v3 img {
        width: min(17vw, 150px);
        margin-bottom: -0.5vw;
      }
}

@media (max-width:640px) {
    .subfooter-section .cursive-line-v3 {font-size: min(12vw, 42px);}
    .subfooter-section .cursive-line-v3 img {width: min(30vw, 120px);}
    .subfooter-section .text-block-14 {
        margin-bottom: 0;
    }
}


.foot-logo-wrap {
    text-align: center;
    padding: 40px 0 10px;
}
.footer-menu-wrap {
    border-top: 0;
    border-bottom: 1px solid var(--ultramarine-blue);
}
.copyright-footer {
    display: flex;
    flex-flow: wrap;
    justify-content: center;
    font-size: 18px;
}
.design-by {
    color: #fff;
}


@media screen and (max-width: 1468px){
    .menu-wrap, .menu-list{
        grid-column-gap: 30px;
    }
}
@media screen and (max-width: 1439px){
    .paragraph-2{
        font-size: 18px;
    }
}

@media screen and (max-width: 1370px) {
    .buttons-top a{
        padding:20px 20px!important;
        font-size:16px!important;
    }
}
@media screen and (max-width:1365px) {
    .menu-wrap, .menu-list {
        grid-column-gap: 48px;
        grid-row-gap: 48px;
    }
   
}

@media screen and (max-width: 1279px) {
    .testi-bottom{
        flex-direction: column;
        align-items: flex-start;
    }
    
    .testi-bottom .testimonial-rating{
        padding-right: 0px;
        padding-bottom: 16px;
    }
    .testi-bottom .testi-logo{
        max-width: 150px;
        min-height: 60px;
    }

}
@media screen and (max-width: 1200px){
    .menu-wrap, .menu-list {
        grid-column-gap: 28px;
        grid-row-gap: 28px;
      }
      .buttons-top a{
        letter-spacing: 1px!important;
      }
}

@media screen and (max-width: 1120px){
    .buttons-top a{
        font-size: clamp(14px,1.5vw,1rem);
        padding:19px 20px!important;
    }
    .buttons-top a{
        letter-spacing: 0px!important;
        padding:15px!important;
    }
    .menu-wrap, .menu-list{
        grid-column-gap: 15px;
    }
    
}
@media screen and (max-width: 1023px) {
    .testimonial-list-wrap{
        grid-template-columns: repeat(1,1fr)!important;
    }
    .buttons-top a .phone{
        display: none;
    }
    .buttons-bottom a .phone{
        display: none;
    }

    .copyright-footer {font-size: 12px;}
}
@media screen and (max-width: 639px){

    .video-lightbox .content{
        max-width: 320px;
    }
    .buttons-bottom a{
        margin-right: 10px;
    }

    
    .copyright-footer {display: block;}
    .foot-logo-wrap img {width: 160px;}
}
@media screen and (max-width: 515px){
    .hero-h1{
        font-size: 24px;
    }
    .hero-text.text-xl{
        font-size: 16px;
    }
}
@media screen and (max-width: 439px){
    .buttons-bottom{
        flex-direction: column;
    }
    .buttons-bottom a{
        width: 100%;
        margin-bottom: 10px;
        margin-right: 0px;
    }
}