.page_home {
    overflow-x: hidden;
}

.citySearchPopup {
    display: none !important;
}

.popup-open {
    overflow: hidden !important;

    .citySearchPopup {
        display: block !important;
    }

    .scrollToBtm {
        z-index: 1;
    }

    .btnWrap {
        .btnOne {
            z-index: 1;
        }
    }
}

/* banner */
.bannerSec {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;

    &::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -2px;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #1B1C21 100%);
        width: 100%;
        height: 500px;
        z-index: 1;
    }

    .banImg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;

        img,
        video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        &.mobView {
            display: none;
        }
    }

    .bannerSecCont {
        position: absolute;
        bottom: 130px;
        z-index: 2;
        width: 100%;
        height: auto;
        left: 0;
        padding: 0px 30px 20px;

        .bannerSecContInn {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            padding-bottom: 80px;

            .bannerTxt {
                width: 65%;

                .bannerTxtHead {
                    color: #FFF;
                    font-size: 90px;
                    font-weight: 300;
                    line-height: 97px;
                    text-transform: uppercase;
                }
                
            }

            .bannerTabSec {
                width: 35%;
                padding-left: 15px;

                .banTabWrap {
                    .tabList {
                        margin-bottom: 20px;

                        li {
                            color: #FFF;
                            font-size: 20px;
                            font-weight: 400;
                            position: relative;
                            background: transparent;
                            text-align: left;
                            padding-left: 0;
                            border: none;
                            min-width: 110px;

                            &::after {
                                content: '';
                                position: absolute;
                                width: 0;
                                height: 1px;
                                left: 0;
                                bottom: 0;
                                background-color: #FFF;
                                transition: all 0.5s;
                            }

                            &.active {
                                &::after {
                                    width: 100%;
                                }
                            }
                        }
                    }

                    .banContBox {
                        .srchWrap {
                            .frmWrap {
                                position: relative;
                                display: flex;

                                form {
                                    width: 100%;

                                    .inputTxt {
                                        width: 100%;
                                        min-height: 40px;
                                        margin-bottom: 20px;
                                        border: 1px solid rgba(255, 255, 255, 0.67);
                                        background: rgba(217, 217, 217, 0.25);
                                        backdrop-filter: blur(12px);
                                        padding: 0 48px 0 14px;
                                        text-align: left;
                                        color: #fff;

                                        &::placeholder {
                                            color: #fff;
                                            font-weight: 400;
                                        }
                                    }

                                    .srchBtn {
                                        position: absolute;
                                        width: 55px;
                                        height: 55px;
                                        border: none;
                                        border-radius: 50%;
                                        background: url(../images/common/header-search.png) center center no-repeat;
                                        right: 0;
                                        top: 0;
                                        font-size: 0;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }


    }
}

.scrollToBtm {
    display: flex;
    justify-content: center;
    text-align: center;
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;

    .scrollBtmInn {
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        cursor: pointer;
        gap: 12px;
        position: relative;

        &::before {
            content: '';
            position: absolute;
            top: -75px;
            height: 60px;
            width: 1px;
            background: rgba(255, 255, 255, 0.50);
        }

        .scrollBtmImg {
            position: relative;
            animation: anim 0.5s ease-in-out alternate infinite;

            img {
                width: 32px;
                height: auto;
            }
        }

        p {
            color: #FFF;
            text-align: center;
            font-size: 14px;
            font-weight: 300;
            line-height: 14px;
            letter-spacing: 2.52px;
            text-transform: uppercase;
        }
    }
}

@keyframes anim {
    0% {
        top: -10px;
    }

    100% {
        top: -5px;
    }
}

.commonAbtSec {
    .commonAbtSecInn {
        .abtTxt {
            padding-left: 30px;

            h2 {
                font-size: 70px;
            }
        }

        .abtTxtRes {
            display: none;
        }
    }
}

/* service section */
.serSec {
    width: 100%;
    height: auto;
    position: relative;
    padding-bottom: 100px;
    overflow: hidden;

    .horizontal {
        display: flex;
        height: 100%;
        position: relative;
    }

    .serSecInn {
        flex: 0 0 100vw;
        height: calc(100vh - 100px);
        display: flex;
        justify-content: space-between;
        align-items: center;

        .serSecText {
            width: 50%;
            padding-left: 30px;
            padding-right: 50px;

            p {
                overflow: hidden;
                text-overflow: ellipsis;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 5;
            }
        }

        .serSecImg {
            width: 50%;
            height: 100%;
            position: relative;

            .serImgInn {
                width: 100%;
                height: 100%;

                .serImgBig {
                    height: 100vh;
                    margin-left: auto;
                    padding-left: 200px;
                }

                .serImgSmall {
                    position: absolute;
                    left: 0;
                    bottom: 50px;
                    width: calc(100% - 150px);
                    height: 300px;
                }

                img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            }
        }
    }

    .slider-progress {
        position: absolute;
        bottom: 80px;
        width: 100%;
        height: 1px;
        background: #E0B432;
        cursor: pointer;
        position: relative;
    }

    .progress-button {
        position: relative;
        cursor: pointer;

        &::after {
            content: '';
            position: absolute;
            background-image: url(../images/home/next-arrow.png);
            background-repeat: no-repeat;
            background-size: 100% 100%;
            width: 100px;
            height: 100px;
            top: -50px;
        }
    }
}

/* project section */
.projectSec {
    .commonCardBtm {
        .commonCardWrap {
            .commonCard {
                .commonCardDet {
                    .commonCardDetHead {
                        color: #fff;
                        transition: all 0.5s;
                    }

                    .commonCardDetPrice {
                        color: #fff;
                    }
                }

                &:hover {
                    .commonCardDet {
                        .commonCardDetHead {
                            color: #E0B432;
                        }

                        .commonCardDetPrice {
                            color: #fff;
                        }
                    }
                }
            }
        }
    }
}


/* why choose section */
.whyChooseSec {
    .whyChooseCardWrap {
        position: relative;

        .whyChooseBigHead {
            color: #E3E3E3;
            text-align: center;
            font-size: 130px;
            font-weight: 700;
            line-height: 160px;
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
        }

        .whyChooseCardWrapInn {
            display: flex;
            gap: 20px;

            .whyChooseCard {
                background-color: #4D2762;
                position: relative;
                padding: 25px 20px 90px;
                background-image: linear-gradient(to right, var(--tw-gradient-stops));
                width: 60vw;
                max-width: 700px;
                margin: 0 auto 2rem;

                /* start off-screen right */
                transform: translate3d(100%, 0, 0);
                opacity: 0;
                will-change: transform, opacity;

                .whyChooseIcon {
                    width: 80px;
                    height: 80px;
                    margin-left: auto;

                    img {
                        width: 100%;
                        height: 100%;
                        object-fit: contain;
                        filter: brightness(0) saturate(100%) invert(65%) sepia(1%) saturate(2845%) hue-rotate(315deg) brightness(74%) contrast(59%);
                    }
                }

                .whyChooseTxt {
                    .whyChooseHead {
                        color: #E0B432;
                        font-family: "Work Sans";
                        font-size: 32px;
                        font-weight: 500;
                        line-height: 40px;
                        margin-bottom: 15px;
                        padding-right: 0;
                        margin-top: 10px;
                    }

                    .whyChooseTxtInn {
                        padding-right: 50px;
                        height: 150px;
                        overflow-y: auto;
                        padding-right: 8px;

                        p {
                            color: #fff;
                        }
                    }
                }

                .whyChooseNum {
                    position: absolute;
                    bottom: 0;
                    right: 10px;

                    p {
                        color: #5E2E79;
                        font-family: "Work Sans";
                        font-size: 119px;
                        font-weight: 800;
                        line-height: 85px;
                    }
                }

                &:nth-child(even) {
                    background-color: #F2F2F2;
                    position: relative;
                    top: 50px;

                    .whyChooseTxt {
                        .whyChooseHead {
                            color: #4D2762;
                        }

                        .whyChooseTxtInn {
                            p {
                                color: #000;
                            }
                        }
                    }

                    .whyChooseNum {
                        p {
                            color: #D6D6D6;
                        }
                    }
                }
            }
        }
    }
}


/* client section */
.clientSec {
    .clientSlider {
        .clientImg {
            width: 100%;
            height: 120px;

            img {
                width: 100%;
                height: 100%;
                object-fit: contain;
                filter: brightness(0) saturate(100%);
            }
        }
    }
}

/* global map section */
.globalMapSec {
    padding-left: 30px;
    padding-right: 30px;
    overflow: hidden;

    .globalMapInn {
        width: 100%;
        padding: 80px 0px;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;

        &::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.66);
            z-index: 1;
        }

        .globalMapRow {
            position: relative;
            z-index: 2;

            .globalMapImg {
                position: relative;
                width: 100%;

                figure {
                    width: 100%;
                    height: 600px;

                    img {
                        width: 100%;
                        height: 100%;
                    }
                }

                .mapPin {
                    position: absolute;
                    cursor: pointer;

                    .pinIcon {
                        width: 35px;
                        height: 35px;
                        border-radius: 50%;
                        background-color: #fff;
                        position: relative;
                        transition: 0.5s;

                        &::after {
                            width: 20px;
                            height: 20px;
                            border-radius: 50%;
                            background-color: #E0B432;
                            content: "";
                            position: absolute;
                            left: 50%;
                            top: 50%;
                            transform: translate(-50%, -50%);
                        }
                    }

                    .locationBox {
                        background-color: #fff;
                        width: auto;
                        min-width: 110px;
                        position: absolute;
                        left: 35px;
                        top: 15px;
                        overflow: hidden;
                        opacity: 0;
                        padding: 8px 8px;
                        visibility: hidden;
                        transition: 0.5s;
                        box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
                        z-index: 2;

                        p {
                            font-size: 13px;
                            line-height: 1.2;
                            text-align: center;
                            font-weight: 500;
                        }
                    }

                    &:hover,
                    &:focus {
                        .pinIcon {
                            transform: scale(1.25);
                            z-index: 2;
                        }

                        .locationBox {
                            opacity: 1;
                            visibility: visible;
                            z-index: 1;
                        }
                    }

                    &.pin_1 {
                        left: 50%;
                        top: 18%;
                    }

                    &.pin_2 {
                        right: 4%;
                        top: 35%;
                    }

                    &.pin_3 {
                        right: 24%;
                        bottom: 24%;
                    }

                    &.pin_4 {
                        left: 40%;
                        bottom: 45%;
                    }
                }
            }

            .globalMapTxt {
                padding-left: 80px;

                p {
                    color: #fff;
                }

                .btnWrap {
                    border-color: #fff;

                    .btnOne {
                        color: #fff;
                    }

                    &:hover {
                        border-color: #E0B432;
                    }
                }
            }
        }
    }
}

.mob_575 {
    display: none !important;
}

@media (max-width: 1750px) {
    .bannerSec {
        .bannerSecCont {
            .bannerSecContInn {
                .bannerTxt {
                    .bannerTxtHead {
                        font-size: 74px;
                        line-height: 80px;
                    }
                }
            }
        }
    }
}

@media (max-width: 1600px) {
    .commonAbtSec {
        .commonAbtSecInn {
            .abtTxt {
                h2 {
                    font-size: 52px;
                }
            }
        }
    }
}

@media (max-width: 1440px) {

    .clientSec {
        .clientSlider {
            .clientImg {
                height: 75px;
            }
        }
    }

    .globalMapSec {
        .globalMapInn {
            .globalMapRow {
                .globalMapImg {
                    figure {
                        height: 480px;
                    }
                }
            }
        }
    }

    .commonAbtSec {
        .commonAbtSecInn {
            .abtTxt {
                padding-left: 20px;

                .abtTxtInn {
                    p {
                        font-size: 14px;
                        line-height: 24px;
                    }
                }
            }
        }
    }
}

@media (max-width: 1366px) {

    .bannerSec {
        .bannerSecCont {
            .bannerSecContInn {
                padding-bottom: 50px;

                .bannerTxt {
                    .bannerTxtHead {
                        font-size: 60px;
                        line-height: 75px;
                    }
                }
            }
        }
    }

    .whyChooseSec {
        .whyChooseCardWrap {
            .whyChooseCardWrapInn {
                .whyChooseCard {
                    transform: translate3d(100%, 0, 0);
                    opacity: 0.3;
                    flex: 0 0 calc(40% - 0px);
                }
            }

            .whyChooseBigHead {
                font-size: 100px;
                line-height: 120px;
            }
        }
    }

    .bannerSec {
        .bannerSecCont {
            .bannerSecContInn {
                .bannerTabSec {
                    .banTabWrap {
                        .banContBox {
                            .srchWrap {
                                .frmWrap {
                                    form {
                                        .srchBtn {
                                            height: 50px;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    .serSec {
        .slider-progress {
            bottom: 30px;
        }

        .progress-button {
            &::after {
                width: 85px;
                height: 85px;
                top: -42px;
            }
        }

        .serSecInn {
            .serSecText {
                p {
                    -webkit-line-clamp: 4;
                }
            }

            .serSecImg {
                .serImgInn {
                    .serImgSmall {
                        bottom: -20px;
                    }
                }
            }
        }
    }

}

@media (max-width: 1280px) {
    .serSec {
        .slider-progress {
            bottom: 10px;
        }
    }
}

@media (max-width: 1279px) {
    .bannerSec {
        .bannerSecCont {
            top: 50%;
            transform: translateY(-50%);
            bottom: auto;
            padding-bottom: 0px;

            .bannerSecContInn {
                padding-bottom: 0px;
                flex-wrap: wrap;

                .bannerTxt {
                    width: 100%;
                }

                .bannerTabSec {
                    padding-top: 20px;
                    padding-left: 0px;
                    width: 49%;
                }
            }
        }
    }

    .commonAbtSec {
        .commonAbtSecInn {
            align-items: flex-start !important;
        }

        .abtImg {
            position: sticky;
            top: 50px;
        }
    }

    .commonAbtSec {
        overflow: visible;

        .commonAbtSecInn {
            .abtTxt {
                padding-left: 0px;

                h2 {
                    font-size: 50px;

                    .secH {
                        font-size: 36px;
                    }
                }
            }
        }

        .abtImg {
            .abtImgInn {
                width: 100%;
                height: auto;
                max-width: 100%;
                margin: 0;
                position: sticky;
                top: 50px;
            }
        }
    }

    .whyChooseSec {
        overflow: hidden;

        .whyChooseCardWrap {
            .whyChooseCardWrapInn {
                .whyChooseCard {
                    transform: translate3d(100%, 0, 0);
                    opacity: 0.3;
                    flex: 0 0 calc(50% - 0px);
                }
            }

            .whyChooseBigHead {
                font-size: 100px;
                line-height: 120px;
            }
        }
    }
}

@media (max-width: 1199px) {
    .bannerSec {
        .bannerSecCont {
            .bannerSecContInn {
                .bannerTxt {
                    .bannerTxtHead {
                        font-size: 50px;
                        line-height: 62px;
                    }
                }
            }
        }
    }
}

@media (max-width: 991px) {

    .commonAbtSec {
        .commonAbtSecInn {
            .abtTxt {
                padding-left: 0;

                h2 {
                    font-size: 70px;
                }
            }

            .abtTxtRes {
                display: block;
                margin-bottom: 20px;

                h2 {
                    font-size: 45px;
                }
            }

            .abtTxtDesk {
                h2 {
                    line-height: 0;
                    margin-bottom: 10px;

                    span {
                        &:first-child {
                            display: none;
                        }
                    }
                }
            }
        }
    }

    .abtTxt {
        text-align: center;
    }

    .abtTxtInn {
        text-align: center;

        .btnWrap {
            margin: 0 auto;
        }
    }

    .serSec {
        .serSecInn {
            .serSecText {
                width: 50%;
                padding-left: 30px;
                padding-right: 50px;
            }
        }
    }

    .serSec {
        .serSecInn {
            .serSecText {
                .secH {
                    text-align: left;
                }
            }
        }
    }

    .serSec {
        .serSecInn {
            align-items: flex-start;

            .serSecText {
                padding-top: 50px;
                padding-right: 0px;
            }

            .serSecImg {
                .serImgInn {
                    .serImgBig {
                        padding-left: 100px;
                    }

                    .serImgSmall {
                        position: absolute;
                        left: -190px;
                        bottom: 50px;
                        width: 100%;
                        height: 300px;
                    }
                }
            }
        }
    }

    .whyChooseSec {
        .whyChooseCardWrap {
            .whyChooseCardWrapInn {
                .whyChooseCard {
                    transform: translate3d(100%, 0, 0);
                    opacity: 1;
                    flex: 0 0 calc(70% - 0px);
                }
            }

            .whyChooseBigHead {
                font-size: 100px;
                line-height: 120px;
            }
        }
    }

    .globalMapSec {
        .globalMapInn {
            .globalMapRow {
                .globalMapImg {
                    position: relative;
                    width: 100%;
                    max-width: 420px;
                    margin: 0 auto;
                    margin-bottom: 20px;

                    figure {
                        height: auto;
                    }
                }

                .globalMapTxt {
                    padding-left: 0px;
                    text-align: center;

                    .btnWrap {
                        margin: 0 auto;
                    }
                }
            }
        }
    }
}

@media (max-width: 960px) {
    .bannerSec {
        .bannerSecCont {
            .bannerSecContInn {
                .bannerTxt {
                    .bannerTxtHead {
                        font-size: 60px;
                        line-height: 70px;

                        br {
                            display: none;
                        }
                    }
                }
            }
        }
    }
}

@media (max-width: 767px) {

    .commonAbtSec {
        .abtImg {
            .abtImgInn {
                &::after {
                    width: calc(100% - 100px);
                }
            }
        }

        .commonAbtSecInn {
            .abtTxtRes {
                h2 {
                    font-size: 40px;
                }
            }
        }
    }

    .bannerSec {
        .bannerSecCont {
            .bannerSecContInn {
                .bannerTabSec {
                    width: 100%;
                }
            }
        }
    }

    .globalMapSec {
        .globalMapInn {
            .globalMapRow {
                .globalMapImg {
                    max-width: 230px;
                }
            }
        }
    }

    .bannerSec {
        .bannerSecCont {
            .bannerSecContInn {
                .bannerTabSec {
                    .banTabWrap {
                        .banContBox {
                            .srchWrap {
                                .frmWrap {
                                    form {
                                        .srchBtn {
                                            height: 40px;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

@media (max-width: 650px) {
    .bannerSec {
        .bannerSecCont {
            .bannerSecContInn {
                .bannerTxt {
                    .bannerTxtHead {
                        font-size: 42px;
                        line-height: 50px;
                    }
                }
            }
        }
    }

    .scrollToBtm {
        .scrollBtmInn {
            &::before {
                top: -50px;
                height: 36px;
            }
        }
    }
}

@media (max-width: 620px) {
    .serSec {
        .serSecInn {
            .serSecImg {
                .serImgInn {
                    .serImgBig {
                        padding-left: 85px;
                    }
                }
            }

            .serSecText {
                width: 75%;
                padding-left: 20px;
                padding-right: 20px;
            }

            .serSecImg {
                width: 25%;
                height: 100%;
                position: relative;
            }
        }
    }

    .serSec {
        .serSecInn {
            .serSecImg {
                .serImgInn {
                    .serImgBig {
                        padding-left: 15px;
                    }
                }
            }
        }
    }
}

@media (max-width: 575px) {
    .desk_575 {
        display: none !important;
    }

    .mob_575 {
        display: block !important;
    }

    .serSec {
        .serSecInn {
            .serSecText {
                .serImgSmall {
                    padding-top: 30px;
                    height: 250px;
                    position: relative;
                    margin-right: -100px;
                    z-index: 2;

                    img {
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                        object-position: center center;
                    }
                }
            }
        }
    }

    .whyChooseSec {
        .whyChooseCardWrap {
            .whyChooseCardWrapInn {
                .whyChooseCard {
                    transform: translate3d(100%, 0, 0);
                    opacity: 1;
                    flex: 0 0 calc(100% - 0px);
                }
            }

            .whyChooseBigHead {
                font-size: 75px;
                line-height: 80px;
            }
        }
    }
}

@media (max-width: 480px) {
    .globalMapSec {
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media (max-width: 475px) {
    .whyChooseSec {
        .whyChooseCardWrap {
            .whyChooseCardWrapInn {
                .whyChooseCard {
                    transform: translate3d(100%, 0, 0);
                    opacity: 1;
                    flex: 0 0 calc(80% - 0px);
                }
            }

            .whyChooseBigHead {
                font-size: 64px;
                line-height: 70px;
            }
        }
    }

    .whyChooseSec {
        .whyChooseCardWrap {
            .whyChooseCardWrapInn {
                .whyChooseCard {
                    .whyChooseIcon {
                        width: 50px;
                        height: 50px;
                        margin-left: auto;
                    }

                    .whyChooseTxt {
                        .whyChooseHead {
                            font-size: 26px;
                            line-height: 30px;
                            margin-bottom: 15px;
                            padding-right: 60px;
                        }
                    }

                    &:nth-child(even) {
                        top: 0;
                    }
                }
            }
        }
    }

    .globalMapSec {
        .globalMapInn {
            .globalMapRow {
                .globalMapImg {
                    .mapPin {
                        .locationBox {
                            left: 0;
                            top: 35px;
                        }
                    }
                }
            }
        }
    }

    .commonAbtSec {
        .commonAbtSecInn {
            .abtTxt {
                h2 {
                    font-size: 36px;

                    .secH {
                        font-size: 30px;
                    }
                }
            }
        }
    }
}

@media (max-width: 420px) {
    .bannerSec {
        .bannerSecCont {
            .bannerSecContInn {
                .bannerTxt {
                    .bannerTxtHead {
                        font-size: 32px;
                        line-height: 44px;
                    }
                }
            }
        }
    }

    .secH {
        font-size: 26px;
    }

    .serSec {
        .serSecInn {
            .serSecText {
                .serImgSmall {
                    margin-right: -70px;
                }
            }
        }

        .slider-progress {
            bottom: -25px;
        }
    }
}