/**
Theme Name: Advanced Home Builders
Author: Blue Winds Media
Author URI: https://www.bluewindsmedia.com
Description: A custom theme for Advanced Home Builders, built on the Astra framework.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: advanced-home-builders
Template: astra
*/

p {
    margin: 0px !important;
}

/* =======  Header  ======= */
header#masthead {
    display: none !important;
}

/* ======= hover box  ======= */

.choose-hover.e-con-full:hover .elementor-widget-heading .elementor-heading-title {
    color: white !important;
}

.choose-hover:hover svg path,
.choose-hover.first:hover svg path {
    fill: #FFF !important;
}

.choose-hover.first svg path {
    fill: #2B2B2B !important;
}

/* stickey header css start */

.header-main-section.elementor-sticky--effects {
    background: rgba(30, 30, 29, 0.7) !important;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.30) !important;
    width: 100% !important;
    top: 0 !important;
}

.header-main-section.is-sticky {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    background: rgb(0 0 0 / 80%) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    width: 100% !important;
    padding-bottom: 20px;
    z-index: 112
}

body.elementor-page-785 .header-main-sec.header-main-section.is-sticky {
    padding-top: 20px !important;
}

/* stickey header css end */

/* ======= quote section======= */
.form-button .elementor-field-type-textarea.elementor-field-group.elementor-column.elementor-field-group-message.elementor-col-100 {
    margin-bottom: 40px !important;
}

.form-button span.elementor-button-content-wrapper:after {
    content: '';
    background-image: url(https://wordpress-1014154-5635484.cloudwaysapps.com/wp-content/uploads/2025/05/Vector-2.svg);
    width: 16px;
    height: 5px;
    background-repeat: no-repeat;
}

.form-button span.elementor-button-icon {
    width: 11px !important;
    height: 5px !important;
}

/* ======= underline section======= */
.ast-single-post .entry-content a,
.ast-comment-content a:not(.ast-comment-edit-reply-wrap a) {
    text-decoration: none !important;
}

/* ======= our service section======= */
@media screen and (min-width: 768px) and (max-width: 3000px) {
    .our-service .elementor-element.elementor-element-bd74c50.e-con-full.hover-effect.e-flex.e-con.e-child:before {
        content: '';
        border: 1px solid #9B9B9B;
        top: -24px;
        left: -80px;
        width: 118%;
        height: 931px;
    }
}

.slider-hover.e-child:hover .elementor-heading-title {
    color: white;
}

.slider-hover.e-child:hover p {
    color: white;
}

@media screen and (min-width: 768px) and (max-width: 3000px) {
    .slider-hover:not(:first-child) .hover-image {
        opacity: 0;
    }

    .slider-hover:hover .hover-image {
        opacity: 1;
    }

    .slider-hover .hover-icon {
        opacity: 0;
    }

    .slider-hover:hover .hover-icon {
        opacity: 1;
    }
}

/* ======= banner section======= */

@media screen and (min-width: 1601px) and (max-width: 1780px) {
    .banner-font h2.elementor-heading-title.elementor-size-default {
        font-size: 87px !important;
        line-height: 87px !important;
    }
}

@media screen and (min-width: 1500px) and (max-width: 1583px) {
    .banner-font h2.elementor-heading-title.elementor-size-default {
        font-size: 83px !important;
        line-height: 83px !important;
    }
}

@media screen and (min-width: 1401px) and (max-width: 1499px) {
    .banner-font h2.elementor-heading-title.elementor-size-default {
        font-size: 77px !important;
        line-height: 77px !important;
    }
}

@media screen and (max-width: 1347px) {
    .header-popup-main span.sub-arrow:before {
        width: 25px !important;
        height: 25px !important;
    }
}

@media screen and (min-width: 1201px) and (max-width: 1347px) {
    .banner-font h2.elementor-heading-title.elementor-size-default {
        font-size: 65px !important;
        line-height: 65px !important;
    }

}

@media screen and (min-width: 1025px) and (max-width: 1122px) {
    .banner-font h2.elementor-heading-title.elementor-size-default {
        font-size: 56px !important;
        line-height: 56px !important;
    }
}

@media screen and (min-width: 767) and (max-width: 873) {
    .banner-font h2.elementor-heading-title.elementor-size-default {
        font-size: 40px !important;
        line-height: 40px !important;
    }
}

/* ======= our service section======= */
@media screen and (min-width: 1401px) and (max-width: 1600px) {
    .our-service .elementor-element.elementor-element-bd74c50.e-con-full.hover-effect.e-flex.e-con.e-child:before {
        left: -59px !important;
        width: 116% !important;
        height: 912px !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .our-service .elementor-element.elementor-element-bd74c50.e-con-full.hover-effect.e-flex.e-con.e-child:before {
        content: '';
        border: 1px solid #9B9B9B;
        top: -22px !important;
        left: -45px !important;
        width: 116% !important;
        height: 675px !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .slider-img img.attachment-large.size-large.wp-image-328 {
        height: 437 !important;
    }
}

@media screen and (min-width: 1201px) and (max-width: 1400px) {
    .our-service .elementor-element.elementor-element-bd74c50.e-con-full.hover-effect.e-flex.e-con.e-child:before {
        left: -48px !important;
        width: 116% !important;
        height: 822px !important;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
    .our-service .elementor-element.elementor-element-bd74c50.e-con-full.hover-effect.e-flex.e-con.e-child:before {
        left: -48px !important;
        width: 116% !important;
        height: 785px !important;
    }
}

@media screen and (min-width: 1401px) and (max-width: 1900px) {
    .hover-image img {
        height: 649px !important;
    }
}


@media screen and (min-width: 100px) and (max-width: 767px) {
    .hover-image {
        position: relative;
    }
}


/* ==========================Customize css================================ */

.img-slider img {
    max-width: 100%;
    height: 1000px;
    object-fit: cover;
    opacity: 60%
}

.img-slider .swiper::before {
    content: "";
    position: absolute;
    top: -70px;
    left: -10%;
    width: 120%;
    height: 250px;
    background: #000;
    border-radius: 100%;
    z-index: 100;
}

.img-slider .swiper::after {
    content: "";
    position: absolute;
    bottom: -60px;
    left: -10%;
    width: 120%;
    height: 250px;
    background: #000;
    border-radius: 100%;
    z-index: 1000;
}


/* =============== */
.contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group input,
.contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group textarea {
    padding: 0 0 40px 0 !important;
}

.contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group input::placeholder,
.contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group textarea::placeholder {
    color: hsla(0, 0.00%, 0.00%, 0.50) !important;
    opacity: 1;
}

.contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group input:focus,
.contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group textarea:focus,
.contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group select:focus,
.contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group input,
.contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group textarea,
.contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group select {
    box-shadow: none !important;
    border-style: solid !important;
}


.our-sec .service-main-sec:first-child:before {
    content: "";
    top: 0;
    left: 0;
    border-width: 1px;
    border-style: solid;
    border-color: #B9B9B9;
    border-image: initial;
    width: 49%;
    height: 1185px;
}

.service-left-sec {
    padding: 40px 0px 40px 0px;
    margin: 0 80px;
}


.service-img-sec {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0;
}

.service-main-sec {
    position: unset;
    z-index: 11;
    cursor: pointer;
    width: 49%;
}


.service-main-sec:not(:first-child) .service-img-sec {
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease-in-out;
}

.service-main-sec:hover .service-img-sec {
    opacity: 1 !important;
    visibility: visible !important;
}

.our-sec .service-main-sec:first-child .service-left-sec .elementor-heading-title,
.our-sec .service-main-sec:first-child .service-left-sec .elementor-widget-text-editor {
    color: #fff !important;
}

.service-main-sec:hover .service-left-sec .elementor-heading-title,
.service-main-sec:hover .service-left-sec .elementor-widget-text-editor {
    color: #fff !important;
}

.service-main-sec .service-left-sec .elementor-heading-title,
.service-main-sec .service-left-sec .elementor-widget-text-editor {
    transition: all 0.4s ease-in-out;
}

.our-sec .service-main-sec:not(:first-child) .service-left-sec .hover-icon {
    opacity: 0;
    transition: all 0.4s ease-in-out;
}

.service-main-sec .service-left-sec:hover .hover-icon {
    opacity: 1 !important;
}

.service-img-sec {
    pointer-events: none;
}

.gallery-main-sec .swiper-wrapper:before {
    content: '';
    position: absolute;
    background-image: url(https://wordpress-1014154-5635484.cloudwaysapps.com/wp-content/uploads/2025/05/Gallery.png) center center no-repeat;
    width: 100%;
    height: 200px;
    background-size: contain;
}


.contact-form-main-sec .form-main-sec .elementor-field-type-submit .elementor-size-sm span.elementor-button-icon {
    width: 10px !important;
    height: 6px !important;
}

/* ========================= */

body.elementor-page-785 .header-main-sec {
    padding-top: 70px !important;
    transition: all 0.4s ease-in-out;
}

.header-popup .popup-menu .elementor-nav-menu--main .sub-menu {
    right: 0px !important;
    background: transparent;
    width: 64% !important;
    position: absolute !important;
    box-shadow: none !important;
    margin: 0px !important;
    left: auto !important;
    flex-direction: row;
    flex-wrap: wrap !important;
    gap: 20px;
    bottom: 0;
    top: 150px !important;
    padding-top: 20px;
    border-top: 1px solid rgb(255 255 255 / 40%);
    border-radius: 0;
    z-index: 5;
}
.header-popup .popup-menu .elementor-nav-menu--main .sub-menu li.menu-item{ display: flex;}

.header-popup .popup-menu .elementor-nav-menu--main .sub-menu li.menu-item .menu-link {
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.10);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 30px !important;
}

.header-popup .popup-menu .menu-item-has-children:hover>.sub-menu {
    display: flex !important;
}

.header-popup .popup-menu ul.elementor-nav-menu>li {
    /* max-width: max-content; */
    position: unset;
}

.header-popup .popup-menu ul li a span.sub-arrow {
    font-size: 30px !important;
}

.header-popup .popup-list-sec .popup-list ul {
    display: flex;
    justify-content: space-between;
}

.header-popup .popup-list-sec .popup-list {
    border-top: 1px solid #FFFFFF66 !important;
    padding-top: 40px;
}

.popup-list-sec {
    margin-top: auto !important;
}

.service-sec .service-inner-sec .elementor-widget-theme-post-content {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.services {
    counter-increment: list-counter;
}

.service-sec .service-inner-sec:before {
    content: counter(list-counter, decimal-leading-zero) ". ";
    font-family: "Saol Display", Sans-serif;
    font-size: 30px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1em;
    color: #fff;
    position: relative;
    border: none;
}

.header-popup-main i.eicon-close {
    padding: 20px;
    border: solid 1px rgb(255 255 255 / 20%);
    border-radius: 100%;
}

.header-popup-main span.sub-arrow:before {
    content: '';
    position: absolute;
    width: 32px;
    height: 32px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(/wp-content/uploads/2025/06/sub-arrow-1.svg);
}

.header-popup-main .sub-arrow i.fas.fa-caret-right {
    display: none;
}

.header-popup-main .menu-link.has-submenu:hover .sub-arrow::before {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7484%) hue-rotate(156deg) brightness(106%) contrast(106%);
}


/* ======= Responsive CSS: Start ======= */

/*
    Elementor Breakpoint For Responsive Screen : 
    Mobile Portrait   : 767
    Mobile Landscape  : 1024
    Tablet Portrait   : 1200
    Tablet Landscape  : 1400
    Laptop            : 1600
    */

@media screen and (min-width: 1601px) and (max-width: 1900px) {

    .banner-inner-sec .banner-left-sec h1 {
        font-size: 92px !important;
    }
}

@media screen and (min-width: 1601px) and (max-width: 1780px) {

    .banner-inner-sec .banner-left-sec h1 {
        font-size: 86px !important;
    }

    .banner-btn {
        right: 40px !important;
    }

    .header-popup .popup-list-sec .popup-list ul li a {
        font-size: 26px !important;
    }
}

@media screen and (min-width: 1601px) and (max-width: 1700px) {}

@media screen and (max-width: 1780px) {

    .service-left-sec {
        margin: 0 40px !important;
    }
}

@media screen and (min-width: 1601px) and (max-width: 1680px) {}

@media screen and (max-width: 1680px) {}

@media screen and (max-width: 1600px) {

    .service-img-sec .service-image-inner {
        padding: 100px !important;
    }

    .our-sec .service-main-sec:first-child:before {
        height: 1010px !important;
    }

    .img-slider img {
        height: 900px !important;
    }

    body.elementor-page-785 .header-main-sec {
        padding: 40px 40px 0 !important;
    }

    .header-popup .popup-menu .elementor-nav-menu--main .sub-menu {
        width: 70% !important;
    }

    .header-popup .popup-menu .elementor-nav-menu--main .sub-menu li.menu-item .menu-link{
        padding: 10px 20px !important;
    }

    .header-popup-main i.eicon-close {
        padding: 15px !important;
    }
}


@media screen and (max-width: 1400px) {

    .our-sec .service-main-sec:first-child:before {
        height: 840px !important;
    }

    .hover-img img {
        height: 600px !important;
    }

    .service-left-sec {
        padding: 30px 0px 30px 0px !important;
        margin: 0 30px 0 30px !important;
    }

    .service-img-sec .service-image-inner {
        padding: 80px !important;
    }

    .contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group input,
    .contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group textarea {
        padding: 0 0 30px 0 !important;
    }

    .contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group {
        margin-bottom: 50px !important;
    }

    .header-popup .popup-menu .elementor-nav-menu--main .sub-menu {
        width: 70% !important;
        top: 100px !important;
    }
}

@media screen and (max-width: 1280px) {

    .service-main-sec .service-left-sec .hover-icon .elementor-icon {
        padding: 12px !important;
        font-size: 25px !important;
    }

    .service-main-sec .service-left-sec .hover-icon .elementor-icon svg {
        height: 25px !important;
    }

    .service-sec .service-inner-sec:before {
        font-size: 24px !important;
    }

    .header-popup .popup-menu .elementor-nav-menu--main .sub-menu {
        width: 76% !important;
        top: 100px !important;
    }
}

@media screen and (max-width: 1200px) {

    .our-sec .service-main-sec:first-child:before {
        height: 740px !important;
    }

    .hover-img img {
        height: 500px !important;
    }

    .img-slider .swiper::before,
    .img-slider .swiper::after {
        height: 200px !important;

    }

    .img-slider img {
        height: 800px !important;
    }

    body.elementor-page-785 .header-main-sec {
        padding: 30px 30px 0 !important;
    }

    .header-popup .popup-menu .elementor-nav-menu--main .sub-menu {
        width: 80% !important;
        gap: 10px !important;
        top: 80px !important;
    }

    .header-popup .popup-list-sec .popup-list {
        border-top: 1px solid #FFFFFF66;
        padding-top: 20px !important;
    }
}

@media screen and (max-width: 1024px) {

    .service-main-sec .service-left-sec .hover-icon .elementor-icon {
        padding: 10px !important;
        font-size: 20px !important;
    }

    .service-main-sec .service-left-sec .hover-icon .elementor-icon svg {
        height: 20px !important;
    }

    .service-left-sec {
        padding: 20px 0px 20px 0px !important;
        margin: 0 20px !important;
        display: flex;
    }

    .service-img-sec .service-image-inner {
        padding: 50px !important;
    }

    .hover-img img {
        height: 400px !important;
    }

    .our-sec .service-main-sec:first-child:before {
        height: 580px !important;
    }

    .img-slider .swiper::before,
    .img-slider .swiper::after {
        height: 150px !important;

    }

    .img-slider img {
        height: 700px !important;
    }

    .contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group input,
    .contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group textarea {
        padding: 0 0 20px 0 !important;
    }

    .contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-group {
        margin-bottom: 40px !important;
    }

    .contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-type-submit {
        display: flex;
        justify-content: center;
    }

    .contact-form-main-sec .form-main-sec .elementor-form-fields-wrapper .elementor-field-type-submit button.elementor-button.elementor-size-sm {
        padding: 18px 20px !important;
    }

    .hover-icon.e-flex.e-con.e-child {
        width: 50px !important;
    }

    .service-left-sec .e-con.e-child {
        width: 80% !important;
    }

    .header-popup .popup-menu .elementor-nav-menu--main .sub-menu li.menu-item .menu-link {
        padding: 5px 10px !important;
    }

    .header-popup .popup-menu .elementor-nav-menu--main .sub-menu {
        width: 70% !important;
        gap: 10px !important;
        top: 80px !important;
    }

    .header-popup .popup-list-sec .popup-list-1 {
        border-top: 1px solid #FFFFFF66;
        padding-top: 20px !important;
    }

}

@media screen and (max-width: 850px) {
    .service-img-sec .service-image-inner {
        padding: 30px !important;
    }

    .our-sec .service-main-sec:first-child:before {
        height: 504px !important;
    }

    .service-btn {
        bottom: 20px !important;
        right: calc(50% - 80px) !important;
    }

    .service-left-sec {
        padding: 15px 0px 15px 0px !important;
        margin: 0 15px 0 15px !important;
    }

    .service-img-sec .service-img-main-section,
    .service-img-sec {
        padding: 10px !important;
    }

    .banner-inner-sec .banner-left-sec h1 {
        font-size: 42px !important;
    }

    .banner-btn {
        bottom: 20px !important;
        right: 0 !important;
    }

    .banner-hero-main-sec {
        min-height: 60vh !important;
    }

    .banner-btn a.elementor-button {
        font-size: 12px !important;
        padding: 12px 8px !important;
    }


    .header-popup-main span.sub-arrow:before {
        width: 20px !important;
        height: 20px !important;
    }


}

@media screen and (max-width: 767px) {


    .service-main-sec {
        position: relative !important;
        z-index: 11;
        cursor: pointer;
        width: 100% !important;
    }

    .service-img-sec {
        position: relative !important;
        right: 0;
        top: 0;
        z-index: 0;
    }

    .service-main-sec .service-img-sec {
        opacity: 1 !important;
        visibility: visible !important;
        margin: 0 20px !important;
    }

    .service-left-sec {
        padding: 20px 0px 20px 0px !important;
        margin: 0 20px !important;
        display: flex;
    }

    .service-img-sec .service-image-inner {
        padding: 20px !important;
    }

    .service-btn {
        bottom: -60px !important;
        right: calc(50% - 80px) !important;
    }

    .our-sec .service-main-sec:first-child:before {
        content: none !important;
    }

    .service-main-sec .service-left-sec .hover-icon {
        opacity: 1 !important;
    }

    .service-main-sec .service-left-sec .elementor-heading-title,
    .service-main-sec .service-left-sec .elementor-widget-text-editor {
        color: #fff !important;
    }

    br {
        display: none;
    }

    .img-slider img {
        height: 600px !important;
    }

    body.elementor-page-785 .header-main-sec {
        padding: 20px 20px 0 !important;
    }

    .service-sec .service-inner-sec:before {
        font-size: 22px !important;
        text-align: center;
    }

    .service-sec {
        display: block;
    }

    .header-popup .popup-menu .elementor-nav-menu--main .sub-menu {
        position: relative !important;
        width: 100% !important;
        box-shadow: none !important;
        margin: 0px !important;
        gap: 10px !important;
        /* display: flex !important; */
        top: 0 !important;
    }

    .header-popup .popup-menu ul li a span.sub-arrow {
        font-size: 20px !important;
    }

}

@media screen and (min-width: 575px) and (max-width: 767px) {

    .banner-btn a.elementor-button {
        font-size: 16px !important;
        padding: 12px 12px !important;
    }

    .banner-btn {
        bottom: 20px !important;
        right: 15px !important;
    }

    .hover-img img {
        height: 450px !important;
    }
}

@media screen and (max-width: 480px) {

    .banner-inner-sec .banner-left-sec h1 {
        font-size: 40px !important;
    }

    .hover-img img {
        height: 350px !important;
    }

    .about-center-img img {
        width: 14% !important;
    }

    .img-slider img {
        height: 500px !important;
    }

    .img-slider .swiper::before,
    .img-slider .swiper::after {
        height: 120px !important;
    }
}

/* ======= Responsive CSS: End ======= */