@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');
:root{
    --primarycolor:#004CB2;
    --primaryopacitycolor:#004CB2B2;
    --secondary-color:#116EEA33;
    --light-green:#FFD0B2;
    --dark-gray:#eaeaea;
    --lato:"Lato", serif;
    --ss:sans-serif;
}
h1,h2,h3{font-weight: 800 !important;}
*{padding: 0;margin: 0;box-sizing: border-box;text-decoration: none;}
p{margin-bottom: 0;}
/* body{min-height: 150dvh;} */
ul{list-style: none;margin: 0;padding: 0;}
input:focus:not(input[type=checkbox]),
textarea:focus
{
    box-shadow: 0 0 1px 3px var(--primaryopacitycolor) !important;
    border-color: var(--primarycolor) !important;
}
input:user-invalid,
textarea:user-invalid
{
    box-shadow: 0 0 1px 3px #f005 !important;
    border-color: #f00 !important;
}
.sans-serif{
    font-family: var(--ss);
}
.ff-lato{
    font-family: var(--lato);
}
.fixed-btns .fixed-btn
{
    position: fixed;
    bottom: 1rem;
    left: 1rem;
    width: 45px;
    font-size: 1.75rem;
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999;
    background: var(--primarycolor);
    border: 1px solid #fff;
    color: #fff;
    border-radius: 50%;
    cursor: pointer;
}
.fixed-btns .fixed-btn a{
    color: inherit;
}
.fixed-btns .fixed-btn.bottomtotop
{
    left: auto;
    right: 1rem;
    transition: 0.5s;
    opacity: 0;
    pointer-events: none;
}
.fixed-btns .fixed-btn.bottomtotop.active{
    opacity: 1;
    pointer-events: all;
}

.grid-5{
    gap: 0.5rem;
    display: grid;
    grid-template-columns: repeat(5,1fr);
}
@media(max-width:540px){
    .grid-5{grid-template-columns: repeat(3,1fr);}
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.playfair{
    font-family: var(--playfair);
}
a{color: #fff;text-decoration: none !important;}
a:hover{color: #fff;text-decoration: none !important;}
.btn{position: relative;overflow: hidden;z-index: 1;font-weight: 700;display: inline-block;color: #fff;border: 1px solid #fff;}
.btn:has(i) i{transition: 0.75s;}
.btn:is(:hover,:active,:focus) i{transform: translateX(10px);}
.btn:after{content: '';position: absolute;inset: 0;background: #0004;z-index: -1;transform: scaleX(0);transform-origin: left;transition: 1.3s;}
.btn:is(:hover,:active,:focus,.active){background: var(--primarycolor) !important;color: #fff;border-color: #fff !important;}
.btn:is(:focus){box-shadow: 0 0 1px 3px var(--primaryopacitycolor);}
.btn:is(:hover,:active,:focus,.active):after{transform: scaleX(1);}

/* Nav Styles */
nav .nav-list-wrapper{
    --gap:1rem;
    position: relative;display: flex;justify-content: end;align-items: center;gap: var(--gap);}
nav .nav-list-wrapper .nav-list
{
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    /* justify-content: e; */
}
nav .nav-list-wrapper .nav-list li{position: relative;}
nav .nav-list-wrapper .nav-list a
{
    position: relative;
    display: inline-block;
    padding: 0.25rem 0.5rem;
    color: #000;
    text-transform: capitalize;
    font-weight: 600;
    transition: 0.4s;
}
nav .nav-list-wrapper .nav-list li:last-child a
{
    border-radius: 4px;
    padding: 0.5rem 1.75rem;
}
nav .nav-list-wrapper .nav-list a::before
{
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: 0;
    transition: 0.4s;
    border-radius: 3px;
    background: var(--primaryopacitycolor);
}
nav .nav-list-wrapper .nav-list li.has-children ul li a:hover::before{
    width: 100%;
}
nav .nav-list-wrapper .nav-list li.has-children ul
{
    position: absolute;
    opacity: 0;
    visibility: hidden;
    width: 140px;
    top: 2.5rem;
    background: #fff;
    box-shadow:0 0 3px 1px rgba(0, 0, 0, 0.25);
    transition: 0.5s;
    z-index: 1000;
}
nav .nav-list-wrapper .nav-list li.has-children:hover ul{opacity: 1;visibility: visible;}
nav .nav-list-wrapper .nav-list li.has-children ul li{padding: 0.25rem;}
nav .nav-list-wrapper .nav-list a:is(:hover,.active,:active,:focus)::before{
    opacity: 1;
}
nav .nav-list-wrapper .nav-list a:is(:hover,.active,:active,:focus){
    color: #fff;
}
.icon{
    min-width: 45px;
    width: 45px;
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--primarycolor);
    border: none;
    outline: none;
    color: #fff;
    border-radius: 50%;
    font-size: 1.5rem;
}
#sidebarmenu .offcanvas-body .top{flex-grow: 1;}
#sidebarmenu .offcanvas-body .bottom{justify-self: end;}
#sidemenu .nav-list a
{
    color: #000;
}
#sidemenu .nav-list li
{
    position: relative;
    padding: 0.25rem;
    margin-bottom: 0.15rem;
    border-radius: 5px;
}
#sidemenu .nav-list li:has(a.active){background: var(--primarycolor);}
#sidemenu .nav-list li:has(a.active) a{color: #fff;}
#sidemenu .nav-list li:hover{background: #eee;cursor: pointer;}
#sidemenu .nav-list li.has-children ul{height: 0;overflow: hidden;}
#sidemenu .nav-list li.has-children::before{position: absolute;content: '';right: 0.15rem;width: 10px;aspect-ratio: 1;border: 3px solid var(--primarycolor);top: 50%;transform: translateY(-50%)rotate(45deg);border-left-color: transparent;border-bottom-color: transparent;}
#sidemenu .nav-list li.has-children:is(:hover,:active,:focus)::before{transform: translateY(-50%)rotate(135deg);top: 7px;right: 7px;}
#sidemenu .nav-list li.has-children > a{pointer-events: none;user-select: none;}
#sidemenu .nav-list li.has-children:is(:hover,:active,:focus) ul{height: auto;overflow: hidden;padding-left: 1rem;}
#sidemenu .nav-list li.has-children:is(:hover,:active,:focus) ul li:hover{background: var(--secondary-color);}


/* HERO SECTION */
.hero-section{position: relative;}
.hero-section .home-banner .item{
    position: relative;
    aspect-ratio: 1440/600;
    background: url(../img/banner.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
}
.hero-section .home-banner .item
{
    position: relative;
    aspect-ratio: 1440/600;
    background: url(../img/banner/waterproofing.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
}
.hero-section .home-banner .item.housekeeping{background: url(../img/banner.png);background-size: cover;
    background-position: center;
    background-repeat: no-repeat;}
.hero-section .home-banner .item.pestcontrol{background: url(../img/banner/pestcontrol.jpg);background-size: cover;
    background-position: center;
    background-repeat: no-repeat;}
.hero-section .home-banner .item.maintanance{background: url(../img/banner/maintanance.jpeg);background-size: cover;
    background-position: center;
    background-repeat: no-repeat;}
.hero-section .home-banner .item .content{
    text-shadow: 1px 1px #000;
}
.hero-section .home-banner .item .content h1
{
    color: #fff;
    font-size: 30px;
    font-weight: 800;
}
.hero-section .home-banner .item .content h1 span
{
    color: var(--primarycolor);
    font-size: 40px;
}
.hero-section .home-banner .item .content p
{
    max-width: 500px;
}

@media(max-width:540px){
    .hero-section form{background: #fff9;}
    .hero-section h1{font-size: 32px;}
}

.section-heading
{
    position: relative;
    font-family: var(--lato);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
}


.button_menu{
    min-width: 45px;
    height: 45px;
    border-radius: 50%;
    border: 2px solid var(--secondary-color);
    background: transparent;
}

/* About Us Section */
.aboutus-section
{
    background: #004CB20D;
}

/* Highlight Service */
.highlight-service
{
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0.5rem;
    gap: .7rem;
    aspect-ratio: 433/350;
    overflow: hidden;
    color: #fff;
    text-shadow: 1px 1px #000;
}
.highlight-service > *{z-index: 2;position: relative;}
.highlight-service p{
    max-width: 300px;
}
.highlight-service img
{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: contain;
    z-index: 1;
    transition: 0.5s;
}
.highlight-service:hover img
{
    transform: scale(1.1);
}
 
/* Service Area */
.service-card
{
    position: relative;
    border: 1px dotted #fff;
    border-radius: 15px;
    padding-bottom: 5.5rem;
}
.service-card .px-2
{
    position: absolute;
    bottom: 10px;
    z-index: 1;
}

/* How it work */

.how-it-work
{
    position: relative;
}
.how-it-work .dots
{
    position: relative;
    display: flex;
    z-index: 1;
    justify-content: space-between;
}
.how-it-work .dots::after,
.how-it-work .dots::before
{
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 3px;
    background: var(--dark-gray);
    z-index: -2;
}
.how-it-work .dots::before{background: var(--primarycolor);z-index: -1;width: 0;}
.how-it-work .dots .dot
{
    position: relative;
    min-width: 38px;
    aspect-ratio: 1;
    background: var(--dark-gray);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.how-it-work .dots .dot:nth-child(1)::before{
    content: '\f00c';
    position: absolute;
    font-family: 'fontAwesome';
    width: 100%;
    aspect-ratio: 1;
    background: var(--primarycolor);
    color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.how-it-work .dots .dot:last-child{margin-right: -1px;}

.imgdot{position: relative;}
.imgdot::before{
    content: attr(count);
    position: absolute;
    left: 38px;
    top: 16px;
    font-size: 25px;
    font-weight: 900;
}
.counter-box img
{
    max-width: 100px;
    width: 88px;
    aspect-ratio: 1;
    object-fit: contain;
}
.counter-box h1{
    font-weight: 800;
}

/* TESTIMONIAL */
.testimonial .container h1{
    font-weight: bolder;
}
.testmonials.owl-carousel .item
{
    position: relative;
    background: var(--secondary-color);
}
.testmonials.owl-carousel .item::before
{
    content: '\f10e';
    position: absolute;
    background: url(../img/svg-testimonial\ \(1\).svg);
    width: 95px;
    height: 69px;
    font-family: 'fontAwesome';
    color: #fff;
    right: 0;
    top: 0;
    display: flex;
    font-size: 50px;
    justify-content: center;
    align-items: center;
    z-index: -1;
}
/* Gallery Slider */
.gallery-slider .owl-nav
{
    margin: 1rem 0;
    display: flex;
    justify-content: center;
    gap: 1rem;
    font-size: 2rem;
    color: var(--primarycolor);
}
/* Footer Style */
footer
{
    position: relative;
    background: var(--secondary-color);
    font-family: var(--lato);border-top: 1px solid var(--dark-gray);
}
footer::before{
    content: '';
    position: absolute;
    width: 140px;
    right: 0;
    height: 203px;
    background: url(../img/footer-image\ 1.svg);
    top: 0;
}
footer::after{
    content: '';
    position: absolute;
    width: 172px;
    left: 0;
    height: 203px;
    background: url(../img/footer-image\ 2.svg);
    bottom: 0;
}
.footer-paragraph{font-size: 20px;font-weight: 400;padding: 0.5rem 0;}
footer .design-links{font-size: 18px;font-weight: 400;padding: 0.5rem 0;}
footer .design-links a{color: #000;}
.footer-social-link{gap: 1rem;}
.footer-social-link a{position: relative;width: 38px;aspect-ratio: 1;display: flex;justify-content: center;align-items: center;border: 1px solid var(--primarycolor);border-radius: 50%;color: var(--primarycolor);text-decoration: none;transition: 0.8s;}
.footer-social-link a:hover{background: var(--primarycolor);color: #fff;}

.footer-links h6{position: relative;font-size: 20px;font-weight: 600;padding: 0.25rem 0;}
.footer-links h6::before{position: absolute;bottom: 0;left: 0;width: 0;height: 5px;background: var(--primarycolor);content: '';border-radius: 3px;opacity: 0;transition: 0.5s;}
.footer-links h6:hover:before{width: 70px;opacity: 1;}
.footer-links ul li{margin-bottom: 0.25rem;}
.footer-links ul li a{font-size: 18px;font-weight: 400;color: #000;text-decoration: none;transition: 0.4s;}
.footer-links ul li a .fa-arrow-up-right-from-square{font-size: 12px;color: var(--primarycolor);position: relative;top: -2px;right: 1rem;opacity: 0;transition: 0.4s;}
.footer-links ul li a:hover:not(:has(.text-primary)){padding-left: 0.25rem;}
.footer-links ul li a:hover .fa-arrow-up-right-from-square{opacity: 1;right: 0;}

.upi-icn {
    position: relative;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}.upi-icn img, .upi-icn button, .upi-icn span, .upi-icn a {
    width: 100px;
    aspect-ratio: 2 / 1;
    object-fit: contain;
    border-radius: 10px;
    border: 1px solid #6666;
    padding: 5px;
    background: #fff;
}
@media (max-width:540px) {
    .footer-links ul li a{font-size: 12px;}
    .footer-links ul li a .fa-arrow-up-right-from-square {top: 0;}
}


/* Estimate Form */
.estimate-form-header
{
    box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.25);
}
.estimate-form form .form-steps
{
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}
.estimate-form form .form-steps .d-flex
{
    position: relative;
    justify-content: space-between;
}
.estimate-form form .form-steps .d-flex::before{
    content: '';
    position: absolute;
    top: 50%;
    height: 2px;
    width: 100%;
    background: #000;
    z-index: -1;
}
.estimate-form form .form-steps .d-flex .icon
{
    background: #d6d6d6;
    color: #000;
    transition: 0.5s;
    border: 2px solid #fff;
}
.estimate-form form .form-steps .d-flex .icon.active
{
    background: var(--primarycolor);
    color: #fff;
}
.estimate-form form .form-group label
{
    display: flex;
    align-items: center;
    font-size: 22px;
    gap: 0.5rem;
    padding: 0.5rem 1rem !important;
}
.estimate-form form .form-group label input[type=radio]
{
    width: 38px;
    height: 38px;
}
.estimate-form form .form-group label input[type=radio]:focus{
    box-shadow: none !important;
}
.estimate-form form .form-group.rooms-quantity label
{
    border-bottom: 1px solid #000;
}
.estimate-form form .form-group.rooms-quantity label .pd-pro-qty > *
{
    width: 25px;
    height: 25px;
    font-size: 15px;
    user-select: none;
}
.estimate-form form .form-group.rooms-quantity label .pd-pro-qty input
{
    border: none;
    outline: none;
    font-size: 20px;
}
.estimate-form form .form-group.rooms-quantity label .pd-pro-qty input:focus{box-shadow: none !important;}


/* Portfolio Page */
.page-hero-section
{
    aspect-ratio: 1440/500;
    background: url(../img/portfolio.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.75rem;
}
.page-hero-section.service-page{
    
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.page-hero-section.no-bg
{
    background: var(--light-green);
    aspect-ratio: auto;
    padding: 0;
}
.page-hero-section .content,
.hero-section.city-page h2
{
    position: relative;
    width: 100%;
    max-width: 600px;
    background: rgba(0, 0, 0, 0.35);
    padding: 1rem 1.5rem;
    border-radius: 20px;
}
.page-hero-section h1 {font-size: 50px;}
.page-hero-section.no-bg .content{background: transparent;color: #000;}
.page-hero-section .content p{font-size: 20px;}
.page-hero-section.no-bg .content p a{color: #000 !important;}
.porfolio-wrapper .porfolio-card .bg-primary{
    font-size: 14px;
}
.porfolio-wrapper .porfolio-card 
{
    position: relative;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
    cursor: pointer;
}
.porfolio-wrapper .porfolio-card .zoomBx
{
    position: absolute;
    width: 80%;
    aspect-ratio: 1;
    left: 50%;
    top: 9%;
    transform: translateX(-50%)scale(0);
    /* background: #0005; */
    color: #fff;
    border: 1px dashed var(--primarycolor);
    transform-origin: left top;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    transition: 0.5s;
}
.porfolio-wrapper .porfolio-card:hover .zoomBx{
    transform: translateX(-50%)scale(1);
}
.porfolio-wrapper .porfolio-card .zoomBx::before{
    content: '';
    position: absolute;
    inset: -15%;
    background: #0003;
    z-index: -1;
}
.porfolio-wrapper .porfolio-card img
{
    aspect-ratio: 1;
    object-fit: cover;
}
.porfolio-wrapper .porfolio-card .bg-primary{
    position: relative;
    z-index:2;
}

/* Contact Page */
.contact-details
{
    position: relative;
    width: 100%;
    height: 100%;
    background: url(../img/contact-details.png);
    border-radius: 5px;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
}
.contact-details .details-box
{
    background: #fff9;
    width: 100%;
    max-width: 500px;
    border-radius: 10px;
    padding: 0.5rem;
    font-weight: 600;
}
.contact-details .details-box h4{color: var(--primarycolor);}

/* Review Get Started */
.review-get-started
{
    position: relative;
    background: linear-gradient(#ff731cb5,#ff731cb5),url(../img/svg-review-gs.svg);
    background-size: contain;
    background-attachment: fixed;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.25rem;
}
.review-get-started a{    
    background: #fff;
    height: 74px;
    font-size: 25px;
    border-radius: 50px;
    color: #000;
    padding: 0 20px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 72px;
    box-shadow: 0 4px 4px 0px #000000;
}

/* BLOG PAGE */
.blog-box .blog-img img
{
    aspect-ratio: 622/282;
    object-fit: cover;
    border-radius: 10px;
}
.blog-box :is(.blog-description,h5)
{
    position: relative;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 4;
}
.blog-box :is(h5){
    -webkit-line-clamp: 1 !important;
}

/* Gallery Page */
.gallery-page
{
    background-color:#116EEA66;
}
.gallery-page h1,
.all-service h2
{
    position: relative;
    text-transform: capitalize;
}
.gallery-page h1::before,
.all-service h2::before
{
    position: absolute;
    content: '';
    width: 92px;
    height: 10px;
    border-radius: 5px;
    bottom: -20px;
    background-color: var(--primarycolor);
}
.gallery-form input,
.gallery-form textarea
{
    color: #fff !important;
    min-height: 60px;
}
.gallery-form input::placeholder,
.gallery-form textarea::placeholder
{
    color: #fff !important;
    min-height: 60px;
}
/* Contact page */
.contact-page-section{
    background: url(../img/contact-page-svg.svg);
}

.contact-page-form input{min-height: 60px;font-size: 15px;}
.contact-card .icon{
    min-width: 102px;
    font-size: 3rem;
}


/* Service Page */
.all-service-card
{
    position: relative;
}
.all-service-card > img
{
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}
 .all-service-card > .px-3
{
    position: absolute;
    width: 100%;
    bottom: -30px;
    text-transform: capitalize;
}
.all-service-card > .px-3 > .p-2{
    border: 2px solid var(--primarycolor);
}