@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
   font-family: "Open Sans", sans-serif;
    overflow-x:hidden !important;
    background:#fff;
}
.about-company,.offcanvas{
    overflow-x:hidden !important;
}

a{
    text-decoration:none;
}

/*================ NAVBAR ================*/

#nav{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:999;
}

.navbar{
    background:transparent;
    padding:20px 0;
    transition:.4s ease;
}

.navbar.scrolled{
    background:#fff;
    padding:12px 0;
    box-shadow:0 4px 15px rgba(0,0,0,.15);
}

.logo{
    height:80px;
}

.nav-link{
    color:#222;
    font-weight:500;
}

.nav-link:hover{
    color:#cba652;
}

.property-btn{
    background:#d2b06c;
    color:#fff;
    padding:14px 28px;
    font-weight:600;
}

/*================ HERO ================*/

.hero{
    background-image: url(./images/GH+\ Banner-01.webp);
    width: 100%;
    height: 100vh;
    background-size: cover;
    position:relative;
    /* min-height:100vh; */
    display:flex;
    align-items:center;
    overflow:hidden;
}

.hero .container-fluid{
    padding:0;
}

.hero-row{
    min-height:100vh;
    margin:0;
}

.hero-left{
    position:relative;
    padding-left:6rem;
}
.hero-image{
    position: absolute;
    top: 0;
   
}
.hero-image img{
    
    height: 100vh;
}
.subtitle{
    text-transform:uppercase;
    font-weight:700;
    letter-spacing:2px;
    color:#20344a;
}

.hero h1{
     font-family: "Poppins", sans-serif;
    font-size:40px;
    line-height:1.4;
    font-weight:600;
    margin:20px 0;
}

.hero p{
    font-size:18px;
    line-height:32px;
    max-width:520px;
    color:#777;
    margin-bottom:40px;
}

.view-btn{
    background:#d2b06c;
    color:#fff;
    padding:18px 40px;
}



.play-btn{
    position:absolute;
    left:53%;
    top:50%;
    transform:translate(-50%,-50%);
    width:80px;
    height:80px;
    border-radius:50%;
    background:#d2b06c;
    border:8px solid #fff;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    font-size:24px;
}

.social{
    position:absolute;
    left:-70px;
    top:50%;
    transform:translateY(-50%);
    display:flex;
    flex-direction:column;
    gap:25px;
}

.social a{
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    color:#777;
}

.offcanvas{
    width:280px;
}

.offcanvas-body .nav-link{
    padding:15px 0;
    font-size:18px;
}

/*================ RESPONSIVE ================*/

@media(max-width:991px){

.hero{
     background-image: url(./images/GH+\ Banner-02.webp);
    width: 100%;
    height: 100vh;
    background-size: cover;
    padding-top:110px;
}

.hero-row{
    min-height:auto;
}

.hero-left{
    text-align:center;
    padding:0 20px;
}

.hero-right{
    margin-top:50px;
}

.hero-right img{
    height:auto;
}
.hero-image {
    position: relative; 
}
.play-btn{
    left:50%;
    top: 80%;
    transform:translate(-50%,-50%);
}

.social{
    display:none;
}

}

@media(max-width:767px){
h2{
    font-size: 30px !important;
}
.hero h1{
    font-size:42px;
}

.hero p{
    font-size:16px;
    line-height:28px;
}

.property-btn{
    width:100%;
}

}

@media(max-width:576px){

.hero h1{
    font-size:34px;
}

.play-btn{
    width:70px;
    height:70px;
    font-size:18px;
}

}
/* ====================== key member ================ */

.key-distance{
    padding:100px 0 0;
    position:relative;
}

.member img{
    width:100%;
    height:auto;
    display:block;
}

.pattern img{
   height:90px ;
   width:70%;
}

.team-content{
    background-color: #F7F7F7;
    padding:40px;
    position:relative;
    z-index:2;
}

.sub-title{
    display:block;
    width:60px;
    height:3px;
    background:#d4af5b;
    margin-bottom:25px;
}

.team-content h2,.about-content2 h2,.property-title{
    font-size:44px;
    font-weight:700;
    line-height:1.2;
    color:#10233d;
    margin-bottom:25px;
}

.team-content p{
    color:#777;
    line-height:30px;
    margin-bottom:20px;
}

.team-content ul{
    padding:0;
    margin:0 0 35px;
    list-style-type:disc;
}

.team-content li{
    margin-bottom:8px;
    color:#666;
    font-size: 14px;
}

.team-content i{
    color:#d4af5b;
    margin-right:10px;
}

.btn-gold{
    background:#d4af5b;
    color:#fff;
    padding:15px 40px;
    border-radius:0;
}

/* ====================== Service Section ================= */

.service-section{
    background:url("./images/passion_bg.png") center center/cover no-repeat;
    width:100%;
    min-height:60vh;
    margin-top:-13%;
    padding:180px 0 80px;
    position:relative;
}

/* ====================== Responsive ================= */

@media (max-width:1199px){

.team-content{
    padding:35px;
}

.service-section{
    margin-top:-10%;
}

}

@media (max-width:991px){

.key-distance{
    padding-top:70px;
}

.team-content{
    margin-top:30px;
    padding:35px;
}

.pattern{
    text-align:center !important;
}

.service-section{
    margin-top:0;
    min-height:auto;
    padding:80px 0;
}

}

@media (max-width:767px){

.key-distance{
    padding-top:50px;
}

.pattern{
    display:none;
}

.team-content{
    padding:25px;
}

.team-content h2{
    font-size:32px;
}

.team-content p{
    line-height:28px;
}

.team-content li{
    font-size:15px;
}

.btn-gold{
    width:100%;
}

.service-section{
    padding:70px 0;
}

}

@media (max-width:575px){

.team-content{
    padding:20px;
}

.team-content h2{
    font-size:28px;
}

.team-content p{
    font-size:15px;
    line-height:26px;
}

}
.distance-list{
     list-style-type: disc;
    padding: 0;
    margin: 0;
}

.distance-list li{
   
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
}

.distance-list span{
    flex: 1;
    color: #555;
    font-size: 12px;
}

.distance-list strong{
    min-width: 90px;
    text-align: right;
    font-size: 12px;
    font-weight: 700;
    color: #444;
}

/* Responsive */

@media (max-width: 991px){

    .distance-list{
        margin-bottom: 20px;
    }

    .distance-list span,
    .distance-list strong{
        font-size: 12px;
    }
}

@media (max-width: 767px){

    .distance-list span,
    .distance-list strong{
        font-size: 12px;
    }

    .distance-list strong{
        min-width: 70px;
    }
}

.service-section .overlay{
    position:absolute;
    inset:0;
    background:rgba(8,23,40,.75);
}

.service-section .container{
    position:relative;
    z-index:2;
}

.heading h2{
    color:#fff;
    font-size:46px;
    font-weight:700;
}

.service-card{
   background-image: url(./images/patten_bg2.png);
    padding:40px 10px;
    transition:.3s;
}

.icon-box{
    width:60px;
    height:60px;
    margin:0 auto 20px;
    border:1px solid rgba(255,255,255,.4);
    border-radius:8px;

    display:flex;
    align-items:center;
    justify-content:center;

    position:relative;
    z-index:2;
}

.icon-box i{
    font-size:40px;
    color:#fff;
}


/* Paragraph */

.service-card p{
    color:#fff;
    font-size:12px;
    line-height:2;
    /* margin-bottom:30px; */
    position:relative;
    z-index:2;
}

/* Read More */

.read-more{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:15px;

    color:#fff;
    text-decoration:none;
    font-size:15px;
    font-weight:600;

    z-index:2;
}

.circle{
    position:absolute;
    left:-18px;
    width:44px;
    height:44px;
    background:#d6b15d;
    border-radius:50%;
    z-index:-1;
}

.read-more i{
    font-size:15px;
}

/* Hover */

.service-card:hover{
    transform:translateY(-10px);
}

.service-card:hover .icon-box{
    border-color:#d6b15d;
}

.service-card:hover .circle{
    width:120%;
    border-radius:40px;
    transition:.4s;
}
@media(max-width:991px){

.service-card{
    padding:45px 25px;
}

/* .icon-box{
    width:100px;
    height:100px;
} */

.icon-box i{
    font-size:45px;
}

.service-card h3{
    font-size:34px;
}

.service-card p{
    font-size:14px;
}

.read-more{
    font-size:22px;
}

}

@media(max-width:767px){

.service-card h3{
    font-size:28px;
}

.service-card p{
    font-size:12px;
    line-height:1.8;
}

.read-more{
    font-size:18px;
}

}
/*============================
        ABOUT
=============================*/

.about-company{
    /* padding:120px 0; */
    background:#fff;
}

.about-wrapper{
    position:relative;
    min-height:650px;
}

/* Image */

.about-image{
    width:24%;
    margin-right:auto;
}

.about-image img{
    width:100%;
    height:650px;
    object-fit:cover;
    display:block;
}

/* Content */

.about-content{
    position:absolute;
    left:15%;
    top:50%;
    transform:translateY(-50%);
    width:500px;
    background:#fff;
    padding:50px 50px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    z-index:10;
}

.subtitle{
    display:block;
    font-size:13px;
    letter-spacing:3px;
    color:#888;
    margin-bottom:20px;
}

/* 
.about-content2 h2{
    font-size:58px;
    font-weight:300;
    line-height:1.15;
    color:#222;
    margin-bottom:25px;
} */

.line{
    width:45px;
    height:2px;
    background:#d5b15d;
    margin-bottom:30px;
}

.about-content2 p{
    color:#777;
    line-height:30px;
    margin-bottom:35px;
}

.about-btn{
    display:inline-flex;
    align-items:center;
    gap:12px;
    border:1px solid #ddd;
    padding:15px 35px;
    color:#222;
    text-decoration:none;
    transition:.3s;
}

.about-btn:hover{
    background:#0d4ea6;
    color:#fff;
}
@media(max-width:991px){
.about-company{
    padding:80px 0;
}

.about-wrapper{
    min-height:auto;
}

.about-image{
    width:100%;
}

.about-image img{
    height:auto;
}

.about-content{
    position:relative;
    width:90%;
    left:0;
    top:auto;
    transform:none;
    margin:-80px auto 0;
    padding:45px;
}

.about-content h2,.property-title{
    font-size:42px;
}

}
@media(max-width:767px){

.about-company{
    padding:0px 0;
}

.about-content{

    width:100%;

    margin:25px 0 0;

    padding:30px 25px;
}

.about-content h2,.property-title{

    font-size:32px;
}

.about-content2 p{

    font-size:15px;

    line-height:28px;
}

.about-btn{

    width:100%;

    justify-content:center;
}

}
.about-content{
    /* position:relative; */
    width:100%;
    /* height:500px; */
    overflow:hidden;
   
}

.slider-box{
    inset:0;
    display:none;
}

.slider-box.active-slider{
    display:block;
}

.owl-carousel,
.owl-stage-outer,
.owl-stage,
.owl-item,
.item{
    height:100%;
}

.item img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:20px;
}

.plan-tabs{
    display:flex;
    gap:20px;
    margin:30px 0;
    padding:0;
    list-style:none;
}

.plan-tabs li{
    cursor:pointer;
    padding:8px 15px;
    border:1px solid #ddd;
    border-radius:30px;
    transition:.3s;
    font-weight:600;
    font-size: 14px;
}

.plan-tabs li.active{
    background:#000;
    color:#fff;
}

.plan-tabs li:hover{
    background:#000;
    color:#fff;
}
@media (min-width:991px){
    .about-content{
    width:80%;
   
}

/* Previous */
.construction-update .owl-nav .owl-prev{
    left:45% !important;
}

/* Next */
.construction-update .owl-nav .owl-next{
    right:45% !important;
}
}
@media(max-width:991px){

.about-content{
    height:400px;
}

.item img{
    height:400px;
}

}

@media(max-width:576px){

.about-content{
    height:280px;
}

.item img{
    height:280px;
}

.plan-tabs{
    flex-wrap:wrap;
}

.plan-tabs li{
    /* width:100%; */
    text-align:center;
}

}
/* Navigation Container */
.about-content .owl-nav{
    margin:0 !important;
}

/* Common Button Style */
.about-content .owl-nav button{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:40px;
    height:40px;
    border-radius:50% !important;
    background:rgba(113, 113, 113, 0.6) !important;
    color:#fff !important;
    font-size:18px !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    transition:.3s;
    z-index:100;
}

/* Previous */
.about-content .owl-nav .owl-prev{
    left:10px;
}

/* Next */
.about-content .owl-nav .owl-next{
    right:10px;
}

/* Hover Effect */
.about-content .owl-nav button:hover{
    background:#C89B3C !important;
}

/* Remove outline */
.about-content .owl-nav button:focus{
    outline:none;
}
.construction-update{
   background:
    linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)),
    url("./images/passion_bg.png") center center/cover no-repeat;
    width:100%;
    min-height:60vh;
    padding:100px 0 80px;
    position:relative;
}

/* ====================== footer ======================= */
.footer-section{
    background:#1e2432;
    padding:90px 0 35px;
    color:#8d9098;
}

.footer-section h4{
    color:#fff;
    font-size:18px;
    font-weight:700;
    margin-bottom:45px;
}

.footer-section p{
    line-height:1.5;
    font-size:14px;
    margin-bottom:20px;
}

.footer-logo{
    width:100px;
}

.footer-contact,
.footer-links{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-contact li{
    margin-bottom:22px;
    font-size:14px;
    line-height:1.5;
}

.footer-contact strong{
    color:#fff;
    font-weight:500;
}

.footer-links li{
    margin-bottom:10px;
}

.footer-links a{
    text-decoration:none;
    color:#8d9098;
    font-size:14px;
    transition:.3s;
}

.footer-links a:hover{
    color:#d2b46d;
    padding-left:6px;
}

.newsletter{
    display:flex;
    background:#fff;
    border-radius:50px;
    overflow:hidden;
    margin-top:35px;
}

.newsletter input{
    flex:1;
    border:none;
    outline:none;
    padding:18px 28px;
    font-size:18px;
}

.newsletter button{
    width:90px;
    border:none;
    background:#d2b46d;
    color:#fff;
    font-size:22px;
    cursor:pointer;
    transition:.3s;
}

.newsletter button:hover{
    background:#bf9d4c;
}

.footer-section hr{
    border-color:rgba(255,255,255,.12);
    margin:50px 0 35px;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.footer-bottom p{
    margin:0;
    font-size:18px;
}

.footer-bottom span{
    color:#d2b46d;
}

.footer-bottom i.fa-heart{
    color:#8d9098;
}

.footer-social{
    display:flex;
    gap:35px;
}

.footer-social a{
    color:#fff;
    font-size:24px;
    transition:.3s;
}

.footer-social a:hover{
    color:#d2b46d;
    transform:translateY(-4px);
}

/* Tablet */

@media(max-width:991px){

.footer-section{
    text-align:center;
}

.footer-logo{
    margin:auto;
}

.newsletter{
    max-width:450px;
    margin:30px auto 0;
}

.footer-bottom{
    flex-direction:column;
    gap:25px;
}

}

/* Mobile */

@media(max-width:767px){

.footer-section{
    padding:60px 0 25px;
}

.footer-section h4{
    font-size:18px;
    margin-bottom:25px;
}

.footer-section p,
.footer-contact li,
.footer-links a{
    /* font-size:16px; */
}

.footer-logo{
    width:180px;
}

.newsletter input{
    padding:15px 20px;
    font-size:16px;
}

.newsletter button{
    width:70px;
    font-size:18px;
}

.footer-social{
    justify-content:center;
    gap:25px;
}

.footer-bottom p{
    font-size:15px;
    text-align:center;
    line-height:1.8;
}

}
.construction-update .owl-nav button{
    position:absolute;
    top:100%;
    transform:translateY(70%);
    width:40px;
    height:40px;
    border-radius:50% !important;
    background:rgba(113, 113, 113, 0.6) !important;
    color:#fff !important;
    font-size:18px !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    transition:.3s;
    z-index:100;
    /* margin-top: 80px; */
}

/* Previous */
.construction-update .owl-nav .owl-prev{
    left:35%;
}

/* Next */
.construction-update .owl-nav .owl-next{
    right:35%;
}

/* Hover Effect */
.construction-update .owl-nav button:hover{
    background:#C89B3C !important;
}

/* Remove outline */
.construction-update .owl-nav button:focus{
    outline:none;
}
/* =============================================== testimonial ==================== */
.testimonial-section{
    position:relative;
    padding:100px 0;
    background:#fff;
    overflow:hidden;
}

/* ================= Decorative Shapes ================= */
.testimonial-section::before{
    content: "";
    position: absolute;
    top: 0;
    left: 40px;

    width: 140px;
    height: 80px;

    background: repeating-linear-gradient(
        -45deg,
        #ececec 0px,
        #ececec 2px,
        transparent 2px,
        transparent 6px
    );

    border-bottom-left-radius: 80px;
    border-bottom-right-radius: 80px;
}
.testimonial-section::after{
    content:"";
    position:absolute;
    right:0;
    top:60px;
    width:140px;
    height:370px;

    background:repeating-linear-gradient(
        -45deg,
        #ececec 0px,
        #ececec 2px,
        transparent 2px,
        transparent 6px
    );
}

/* ================= Heading ================= */

.section-heading{
    margin-bottom:70px;
}

.section-heading h2{

    font-size:48px;
    font-weight:700;
    line-height:1.2;
    color:#0d2d4d;

}

.section-heading span{

    display:block;
    width:70px;
    height:2px;
    background:#cda45e;
    margin-top:20px;

}

/* ================= Testimonial ================= */

.testimonial-box{

    padding-right:25px;

}

.client-info{

    display:flex;
    align-items:center;
    gap:20px;
    margin-bottom:30px;

}

.client-info img{

    width:50px !important;
    height:50px;
    border-radius:50%;
    object-fit:cover;

}

.client-info h4{

    font-size:20px;
    margin-bottom:5px;
    color:#17324b;
    font-weight:600;

}

.client-info span{

    color:#888;

}

.testimonial-box p{

    color:#777;
    font-style:italic;
    line-height:2;
    font-size:15px;

}

/* ================= Owl ================= */

.testimonial-slider .owl-nav{

    display:none;

}

.testimonial-slider .owl-dots{

    margin-top:50px;
    text-align:center;

}

.testimonial-slider .owl-dot span{

    width:30px !important;
    height:5px !important;
    background:#dfe6eb !important;
    border-radius:20px;

}

.testimonial-slider .owl-dot.active span{

    background:#cda45e !important;

}

/* ================= Responsive ================= */

@media(max-width:991px){

.section-heading{

    text-align:center;

}

.section-heading span{

    margin:20px auto;

}

.section-heading h2{

    font-size:36px;

}

.testimonial-box{

    padding:0;
    margin-bottom:40px;

}

.testimonial-section::after{

    display:none;

}
}

@media(max-width:767px){

.testimonial-section{

    padding:70px 0;

}

.section-heading h2{

    font-size:30px;

}

.client-info{

    flex-direction:column;
    text-align:center;

}

.client-info h4{

    font-size:20px;

}

.testimonial-box p{

    text-align:center;

}

.testimonial-section::before{

    width:110px;
    height:70px;

}

}
/* Property Card */
.property-card {
    position: relative;
}

/* Image Container */
.property-image {
    position: relative;
    overflow: hidden;
}

.property-image img {
    width: 100%;
    display: block;
}

/* Overlay */
.property-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(20, 48, 58, 0.45);

    transform: scale(0);
    transform-origin: center;

    opacity: 0;
    transition: all 0.45s ease;
    z-index: 1;
}

/* Hover Effect */
.property-card:hover .property-image::after {
    transform: scale(1);
    opacity: 1;
}

/* Overlay Text */
.property-overlay-content {
    position: absolute;
    left: 20px;
    bottom: 15px;
    z-index: 2;

    opacity: 0;
    visibility: hidden;
    transition: all 0.45s ease;
}

.property-card .property-overlay-content {
    opacity: 1;
    visibility: visible;
    bottom: 25px;
}

.property-overlay-content h3,
.property-overlay-content p {
    color: #fff;
    margin: 0;
}

.amenities{
    margin-top: 80px;
}

.counter-box{
position:relative;
padding:30px 20px;
}

/* vertical divider */

.counter-box:not(:last-child)::after{
content:"";
position:absolute;
right:0;
top:50%;
transform:translateY(-50%);
width:2px;
height:70px;

background:linear-gradient(
to bottom,
transparent,
#d2a74e,
transparent
);
}
@media(max-width:768px){

.counter-box{
padding:20px 10px;
}

/* vertical divider between 2 columns */

.counter-box:nth-child(odd)::after{
content:"";
position:absolute;
right:0;
top:50%;
transform:translateY(-50%);
height:60px;
width:1px;

background:linear-gradient(
to bottom,
transparent,
#d2a74e,
transparent)
}

/* remove line on right side items */

.counter-box:nth-child(even)::after{
display:none;
}

}

/* call */
.popup-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.6);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:99999;
}

.popup-overlay.active{
    display:flex;
}

.popup-box{
    position:relative;
    width:500px;
    max-width:95%;
    background:#fff;
    border-radius:10px;
    padding:30px;
}

.popup-close{
    position:absolute;
    top:10px;
    right:15px;
    font-size:28px;
    cursor:pointer;
}