@import "../node_modules/bootstrap/scss/functions";

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500&display=swap');


@font-face {
    font-family: SourceSansPro-Black;
    src: url("../fonts/SourceSansPro-Black.ttf");

}

@font-face {
    font-family: SourceSansPro-Bold;
    src: url("../fonts/SourceSansPro-Bold.ttf");
    font-weight: 600;
}

@font-face {
    font-family: SourceSansPro-Regular;
    src: url("../fonts/SourceSansPro-Regular.ttf");
}

@font-face {
    font-family: SourceSansPro-SemiBold;
    src: url("../fonts/SourceSansPro-SemiBold.ttf");
    font-weight: 400;
}

html{
    scroll-behavior: smooth;
}

body{
    padding: 0;
    margin: 0;
    font-family: SourceSansPro-Regular, Arial, Helvetica, sans-serif;
    color: #37322e;
    width: 100%;
    max-width: 100%;
    min-height: 100vh;
}
.quote{
    font-family: 'Poppins', sans-serif;
    font-size: 100px;
    color: #fff;
    font-style: italic;
    line-height: 0;
    padding-top: 50px;
    margin-bottom: 0;
    position: relative;
    left: -18px;
}

p{
    font-family: SourceSansPro-Regular, Arial, Helvetica, sans-serif;
    color:#37322e;
}

strong{
    font-family: SourceSansPro-SemiBold, Arial, Helvetica, sans-serif;
}

h1{
    font-size: 3.8em;
    font-family: SourceSansPro-SemiBold, Arial, Helvetica, sans-serif;
    text-align: center;
    margin-bottom: 40px;
    color: #37322D;
}

h1.title{
    font-size: 4.5em;
    font-family: SourceSansPro-SemiBold, Arial, Helvetica, sans-serif;
    text-align: center;
    margin-bottom: 40px;
    color: #fff;
    text-shadow: 2px 2px 5px grey;
    text-transform: uppercase;
}

h2{
    font-size: 2em;
    font-family: SourceSansPro-SemiBold, Arial, Helvetica, sans-serif;
    color: #37322D;
}

h3{
    font-size: 1em;
    font-family: SourceSansPro-Bold, Arial, Helvetica, sans-serif;
    color: #37322D;
}

h4{
    font-family: SourceSansPro-SemiBold, Arial, Helvetica, sans-serif;
    margin: 15px 0;
    color: #37322D;
}



.thin{
    font-size: 1.25em;
    font-family: SourceSansPro-Regular, Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    color: #255699;
}

.semi-bold{
    font-family: SourceSansPro-SemiBold, Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    color: #255699;
}

.navbar{
    background: #423f3a;
}

/* .navbar .navbar-nav .nav-item{
    
} */
.navbar-expand-lg .navbar-nav .nav-link{
    padding: 50px 40px;
    text-transform: uppercase;
    font-size: 14px;
    color: #fff;
    font-family: SourceSansPro-Bold, Arial, Helvetica, sans-serif;
    text-wrap: nowrap;
    letter-spacing: 1.5px;
}

.navbar-expand-lg .navbar-nav .nav-item .bi:before{color: #fff;}

.navbar-expand-lg .navbar-nav .nav-item .nav-link:hover{
    /* color: #423f3a; */
}

.navbar .navbar-nav .nav-item:nth-child(4) .nav-link{padding: 0;}

.navbar .navbar-nav .nav-item:first-child .nav-link{
    background: #4d4742;
    border-right: 0.5px solid #E1E0DF;
}

.navbar .navbar-nav .nav-item:last-child .nav-link{
    background: #4d4742;
    border-left: 0.5px solid #E1E0DF;
}

.carousel-item{
    height: 680px;
    overflow: hidden;
}

.switch-dbrown{color: #484139 !important;}
.switch-lgrey{color: #f1f1f1 !important;}
.switch-white{color: #ffffff !important;}
.switch-brown{color: #958d83 !important;}
.switch-khaki{color: #cda278!important;}
.switch-bg-lbrown{background-color: #cda278 !important;}
.switch-bg-brown{background-color: #ded9d3 !important;}
.switch-bg-dbrown{background-color: #37322e !important;}
.switch-bg-grey{background-color: #d1d0ce !important;}
.switch-bg-lgrey{background-color: #f3f3f3 !important;}
.switch-bg-dgrey{background-color: #d9dad5 !important;}
.switch-bg-white{background-color: #ffffff !important;}
.switch-bg-khaki{background-color: #f1e9e6 !important;}
.switch-bg-sold{background-color: #b07d82 !important;}
.switch-bg-lblue{background-color: #e3eaf3 !important;}

.switch-border-white{border-color: #ffffff !important;}
.navbar-expand-lg .navbar-nav .dropdown-menu{
    background: #e9eef5;
    border: none;
    border-radius: 0;
    margin-top: 0;
}

.dropdown .show{
    background: #e9eef5;
    position: relative;
}
/* 
.dropdown .dropdown-toggle.show::before{
    content: "";
    position: absolute;
    right: -10px;
    top: 0;
    height: 100%;
    width: 10px;
    background: #e9eef5;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;
} */

.btn{
    border-radius: 25px;
    border: 0;
    font-family: SourceSansPro-Regular;
    padding: 15px 40px;
    text-transform: uppercase;
    background: #fff;
    font-size: 14px;
    border: 1px solid #fff;
    transition: 0.5s ease-in-out all;
    letter-spacing: 1.5px;
}

.btn:hover{
    background: transparent;
    border: 1px solid #fff;
    color: #fff;
    transition: 0.5s ease-in-out all;
}

.cta-btn{
    background: #cda278;
    color: #fff;
    border-radius: 0;
    border: 1px solid #cda278;
    /* transition: 0.3s ease-in-out all; */
    box-shadow: 1px 1px 5px grey;
    font-family: SourceSansPro-SemiBold;
}

.cta-btn:hover{
    background: transparent;
    transition: 0.3s ease-in-out all;
    color: #cda278;
    border: 1px solid #cda278;
}

.seamless-bg{
    background: url("../images/seamless-img.jpg") no-repeat;
    background-size: cover;
    background-position: center;
    height: 100%;
}


.carousel-caption{
    bottom: 50%;
    transform: translateY(50%);
}

.home-banner .mx-auto{
    position: absolute;
    left: 50%;
    top: 60%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.accordion{
    --bs-accordion-btn-focus-box-shadow: none;
}

.accordion-button::after{
    left: 50px;
    position: absolute;
}

.accordion-button{
    display: block;
    text-align: center;
    background: #fff !important;
    padding: 35px;
    color: #37322D !important;
    border-radius: 0 !important;
}

.accordion-header:focus-visible, .accordion-button:focus-visible{outline: none;}

.accordion-header .accordion-button, .accordion-body h5{
    font-size: 21px;
    font-family: SourceSansPro-SemiBold, Arial, Helvetica, sans-serif;
}

.accordion-body h5{
    margin-bottom: 40px;
}

.accordion-body{
    text-align: center;
    background: #d9dad5;
    padding: 30px 200px;
}

.accordion-body p{
    color: #8E8782;
}

.about-block {
    padding-left: 60px;
    padding-right: 60px;
    border-right: 1px solid #9a9998;
}

.col-md-4:nth-child(3) .about-block{
    border-right: none;
}

.search-filter{
    position: relative;
    top: 40px;
    width: 90%;
    margin: 0 auto;
}

.search-filter input, .search-filter .dropdown{
    border: 0;
    padding: 10px 40px;
    background: #fff;
    text-align: left;
}

.search-filter input:focus-visible{
    outline: none;
}

.search-filter .dropdown a{
    color: #9a999e;
    text-decoration: none;
    text-align: left;
}

.search-filter .dropdown .dropdown-toggle::before{
    display: none;
}

.dropdown .show{
    transform: translate3d(0px, 44px, 0px) !important;
    border-radius: 0;
    border: 0;
}

.property-block{
    border: 2px solid #acbac5;
    background: #d1d0ce;
    padding: 15px;
    box-shadow: 1px 1px 5px grey;
}

.img-block{
    position: relative;
    border: 2px solid #fff;
    margin-bottom: 20px;
}

.img-block .virtual-txt{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    display: none;
}

.virtual-txt .bi-caret-right-fill{
    border: 2px solid #fff;
    border-radius: 50%;
    padding: 10px 12px;
    background: #acbac5;
    opacity: 0.6;
    margin-bottom: 20px;
    color: #fff;
}

.virtual-txt p{
    text-transform: uppercase;
    color: #fff;
    margin-top: 15px;
    font-weight: 600;
}

.inner-description{
    border: 1px solid #fff;
    background: rgba(236, 236, 234, 0.6);
    /* opacity: 0.6; */
    position: absolute;
    bottom: 15px;
    width: 90%;
    transform: translateX(-50%);
    left: 50%;
    padding: 10px;
}

.inner-description p{
    margin: 0;
    font-family: SourceSansPro-SemiBold;
    font-size: 13px;
}

.inner-description .avail-block{
    color: #fff;
    text-transform: uppercase;
    padding: 5px;
    background: #567391;
    text-align: center;
    font-family: SourceSansPro-Bold, Arial, Helvetica, sans-serif;
    font-size: 10px;
}

.info-block{
    text-align: center;
}

.info-block h6{
    font-size: 20px;
    font-family: SourceSansPro-Bold;
    margin: 0;
    text-transform: uppercase;
}

.info-block .cta-btn{
    border: none;
    background: none;
    color:#37322e;
    font-family: SourceSansPro-SemiBold;
    box-shadow: none;
    /* transition: 0.3s ease-in-out all; */
}

.info-block .cta-btn i{
    color: #37322e;
    /* transition: 0.3s ease-in-out all; */
}

.large-txt{
    font-size: 2.5em;
    font-family: SourceSansPro-Bold;
    color: #484139;
    margin-bottom: 0;
}

.insight-block{
    padding: 20px;
    text-align: center;
    background: #ded9d3 !important;
}

.insight-block i{
    font-size: 2em;
}

.insight-block p, .insight-block i{
    color: #484139;
}

.description-block{
    border: 2px solid #567391;
    background: #fff;
    opacity: 0.7;
    margin-top: 15px;
    padding: 10px 15px;
}

.description-block span{
    color: #999;
    font-family: SourceSansPro-SemiBold;
}

.blog-block{
    padding-right: 35px;
}

.blog-title{
    font-family: SourceSansPro-SemiBold;
    font-size: 20px;
    margin-bottom: 25px;
}

.blog-date{
    font-size: 14px;
    color: #9a999e;
    margin-bottom: 5px;
}

.sub-head{
    font-family: SourceSansPro-SemiBold;
    border-bottom: 2px solid #000;
    padding-bottom: 5px;
    margin-bottom: 5px;
    text-decoration: none;
    color: inherit;
    display: block;
}

.sub-head .bi-arrow-right-short{
    float: right;
}

.sub-head .bi-arrow-right-short:before{
    font-family: SourceSansPro-SemiBold;
    font-size: 20px;
}

.form input, .form select, form textarea{
    border-radius: 3px;
    border: 1px solid #bfccd9;
    font-family: SourceSansPro-SemiBold;
    letter-spacing: 1.5px;
    font-size: 14px;
}

.form input:focus, textarea:focus{
    background: #bfccd9;
}

.form #floatingMessage{
    height: 120px;
}

.form-floating>.form-control:focus~label::after{
    background: none;
}

.form-floating>.form-control:focus~label{
    color: #fff;
}

.form-control:focus{
    border-color: transparent;
    outline: none;
    box-shadow: none;
    background: #bfccd9;
}

.form label{
    font-family: SourceSansPro-SemiBold;
    letter-spacing: 1.5px;
    font-size: 13px;
}

.form .btn{
    border-radius: 3px;
    background: #bfccd9;
    color: #FFF;
    border: none;
    font-family: SourceSansPro-SemiBold;
    letter-spacing: 1.5px;
    border: 1px solid #bfccd9;
}

.form .btn:hover{
    background: #fff;
    border: 1px solid #bfccd9;
    color: #bfccd9;
}

.form-img{
    background: url("../images/faq-form-img.jpg") no-repeat;
    background-position: center;
    background-size: cover; 
    min-height: 100%;
}

.text-light, .text-light a{color: #a5a7a8 !important; letter-spacing: normal;}

.form-check-input[type=radio]{background: #000;}
.form-check-input:checked[type=radio]{
    background: #567391;
    border-color: #fff;
}


.footer-banner{
    position: relative;
}

.footer-banner .banner-caption{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
}

.navbar-nav .dropdown .show{
    transform: none !important;
    background: transparent;
}

.footer-banner{
    background: url("../images/harmony-img.jpg") no-repeat;
    background-position: center;
    background-size: cover; 
    min-height: 500px;
    background-attachment: fixed;
}

.faq-banner{
    background: url("../images/faq-harmony.jpg") no-repeat;
    background-position: center;
    background-size: cover; 
    min-height: 500px;
    background-attachment: fixed;
}

.sectionThree{
    background: url("../images/textures/vineyard-texture.png") no-repeat;
    background-position: center;
    background-size: cover; 
    min-height: 500px;
}

.sectionSeven{
    background: url("../images/textures/ig-texture.png") no-repeat;
    background-position: center bottom;
    background-size: cover; 
}

footer .white-bg{
    border-top: 3px solid #cda278;
    border-bottom: 3px solid #cda278;
    padding: 30px;
}

footer .brown-bg{
    background-color: #37322d;
    background-image: url("../images/textures/footer-texture.png");
    background-position: left center;
    background-size: cover; 
    padding: 40px;
    border-bottom: 5px solid #cda278;
}

footer .brown-bg ul{
    padding-left: 0;
}
footer .brown-bg ul li{
    list-style-type: none;
}

footer .brown-bg li a{
    color: #939598;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 13px;
    font-family: SourceSansPro-SemiBold;
}
footer .brown-bg p a, footer .brown-bg p{
    color: #fff;
    text-decoration: none;
}

.txt-small{
    color: #939598 !important;
    font-size: 13px;
}

.home-banner{
    box-shadow: 2px 2px 10px grey;
}

.luxury-living-block{
    box-shadow: 2px 13px 12px -12px grey;
}

.luxury-living-block .tab-content{
    padding: 40px 60px;
    color: #fff;
    background: #8e8782;
    background-image: url("../images/textures/luxury-living-texture.png");
    background-position: bottom;
    background-size: cover;
    background-repeat: no-repeat;
    width: 50%;
}

.luxury-living-block .tab-content h3{
    font-size: 22px;
    color: #fff;
}

.luxury-living-block .tab-content p{
    color: #fff;
}

.luxury-living-img{
    margin-top: 40px;
}

.luxury-living-block .nav{
    background: #e7e3de;
    width: 50%;
}

.luxury-living-block .nav h3{
    font-size: 22px;
}

.luxury-living-block .nav-pills .nav-link{
    background: transparent;
    padding: 20px 60px;
    border-radius: 0;
    text-align: left;
    opacity: 0.4;
    border-color: transparent;
}

.luxury-living-block .nav-pills .nav-link p{
    margin-bottom: 0;
}

.luxury-living-block .nav-pills .nav-link:first-child, .luxury-living-block .nav-pills .nav-link:last-child{
    border-top: 0 !important;
    padding-top: 40px;
    padding-bottom: 40px;
}

.luxury-living-block .nav-pills .nav-link.active, .luxury-living-block .nav-pills .show>.nav-link{
    background: #d7d1c8;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    color: #37322d;
    opacity: 1;
}

.explore-mountains-img img{
    box-shadow: 2px 2px 2px #8E8782;
}

.explore-mount-carousel .carousel-item{
    height: auto;
}

.explore-mount-carousel .carousel-indicators [data-bs-target]{
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid #acbac6;
}

.mountains-bg{
    background-image: url("../images/textures/mountains-texture.png");
    background-position: bottom;
    background-size: cover;
    background-repeat: no-repeat;
    padding-bottom: 50px;
}

.section-bg{
    background-image: url("../images/lifestyle-bg.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    padding: 50px 0;
    box-shadow: 2px -2px 8px grey;
    min-height: 650px;
    margin-bottom: 80px;
}

.explore-mount-carousel .carousel-indicators .active{
    background: #acbac6;
}

.explore-mount-carousel .carousel-indicators{
    bottom: -60px;
}

.gallery-section .nav{
    background: #8e8782;
}

.gallery-section .nav-tabs .nav-link{
    padding: 15px 0px;
    background: transparent;
    text-transform: uppercase;
    color: #fff;
    font-size: 13px;
    text-align: center;
    border-radius: 0;
    border: none;
    font-family: SourceSansPro-SemiBold;
    letter-spacing: 1.5px;
    margin: 0 50px;
}

.gallery-section .nav-tabs .nav-item.show .nav-link, .gallery-section .nav-tabs .nav-link.active{
    border-bottom: 6px solid #fdd29b !important;
}

.gallery-section .tab-content{
    padding: 60px;
}

.gallery-section .tab-content .tab-pane img{
    border: 2px solid #fff;
}

.discover-block{
    background: #8e8782;
    background-image: url("../images/textures/discover-texture.png");
    background-repeat: no-repeat;
    background-position: left;
    background-size: contain;
    color: #fff !important;
}

.discover-block h1, .discover-block p{color: #fff;}

.lifestyle-form{
    background-image: url("../images/get-in-touch.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.cape-block{
    background: #e3dedc;
    background-image: url("../images/textures/about-texture1.png");
    background-repeat: no-repeat;
    background-position: right;
    background-size: contain;
    padding: 100px;
}

.cape-block h3, .sustainability-block h3, .luxury-block h3, .community-block h3, .experience-block h3, .join-block h3, .news-block  h3{
    font-size: 20px;
}

.about-bg{
    background-image: url("../images/about-bg.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    padding: 50px 0;
    box-shadow: 2px -2px 8px grey;
    min-height: 650px;
    margin-bottom: 80px;
}

.about-footer-banner{
    background: url("../images/about-harmony.jpg") no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 500px;
    background-attachment: fixed;
}

.our-story-img{
    background: url("../images/oasis-in-paarl.jpg") no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 100%;
}

.sustainability-block{
    background: url("../images/sustainability-img.png") no-repeat;
    /* background-position: 0 -400px; */
    background-size: cover;
    min-height: 100%;
    padding: 100px;
    text-align: right;
    /* padding-left: 300px; */
}

.sustainability-block p, .sustainability-block h3{
    color: #fff;
}

.luxury-block{
    background-image: url("../images/textures/luxury-texture.png");
    padding: 100px;
}

.community-block, .experience-block{
    padding: 100px;
}

.community-img{
    background: url("../images/community-new.jpg") no-repeat;
    background-position: right 100%;
    background-size: 110%;
    min-height: 100%;
}

.experience-img{
    background: url("../images/experience-img.jpg") no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 100%;
}

.experience-block{
    background: #f0e9e6;
    background-image: url("../images//textures/experience-texture.png");
    background-repeat: no-repeat;
    background-size: 185%;
    background-position: 100% 70%;
    padding: 100px;
}

.join-block{
    background-image: url("../images/textures/join-texture.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left center;
    padding: 100px;
}

.join-img{
    background: url("../images/join-us-img.jpg") no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 100%;
}

.accordion-flush .accordion-button{
    background: #d1d0ce !important;
    padding: 20px;
    font-size: initial;
    text-align: left;
    box-shadow: 2px 2px 5px grey;
}

.accordion-flush .accordion-button:after{
    left: auto;
    right: 50px;
}

.accordion-flush .accordion-item{
    margin-bottom: 30px;
}

.accordion-flush .accordion-body{
    padding: 20px;
    background: #fff;
    text-align: left;
}

.accordion-flush .accordion-body p{
    border-bottom: 1px solid #d1d0ce;
    text-align: left;
}

.accordion-flush .accordion-body ul{
    padding-left: 0;
    list-style: none;
}

.accordion-flush .accordion-body ul li a{
    color: #38332e;
}

.accredtion-block{
    border: 2px solid #d1d0ce;
    padding: 50px;
    text-align: center;
}


.accredtion-block .bi:before{
    font-size: 50px;
}

.accredtion-block h2{
    font-family: SourceSansPro-Bold;
}

.accredtion-block p{
    margin-bottom: 0;
}

.safety-text{
    background: #d1d0ce;
    background-image: url("../images/textures/safety-texture.png");
}

.safety-text ul, .safety-text ul li, .off-grid ul, .off-grid ul li, .join-block ul, .join-block ul li{
    padding-left: 15px;
}

.off-grid{
    background: #e3dedc;
    background-image: url("../images/textures/off-grid-texture.png");
}

.off-grid-img{
    background: url("../images/off-grid-living-goal.jpg") no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 100%;
}

.amenities-block{
    background: #e3dedc;
    background-image: url("../images/textures/off-grid-texture.png");
}

.estate-bg{
    background: url("../images/marketing-bg.png") no-repeat;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    padding: 50px 0;
    box-shadow: 2px -2px 8px grey;
    min-height: 350px;
    margin-bottom: 80px;
}

.estate-form{
    background: url("../images/estate-form.jpg") no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 100%;
}

.estate-footer-banner{
    background: url("../images/estate-harmony.png") no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 500px;
    background-attachment: fixed;
}

.footer-banner h1{
    text-shadow: 2px 2px 5px grey;
    text-transform: uppercase;
}

.safety-block{
    background: url("../images/safety-and-security.jpg") no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 100%;
}

.vibrant-img{
    background: url("../images/vibrant-community.jpg") no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 100%;
}

.direct-access-img{
    background: url("../images/padel-courts.jpeg") no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 100%;
}

.fitness-img{
    background: url("../images/fitness-oasis.jpg");
    background-repeat:  no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 410px;
}

.estate-slider  .carousel-item{height: 410px;}

.estate-carousel h2, .estate-carousel p{
    color: #fff;
}

.estate-carousel{
    position: relative;
    background: #8e8782;
}

.estate-carousel .carousel-indicators [data-bs-target]{
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 3px solid #c0bdbb;
    margin-bottom: 2rem;
}

.estate-carousel .carousel-indicators .active{
    background: #fdd29b;
}

.estate-carousel .carousel-control-next-icon, .estate-carousel .carousel-control-prev-icon{background-image: none;}
.estate-carousel .carousel-control-next-icon:before{
    content: "\F138";
    position: absolute;
    font-family: "Bootstrap-icons";
    font-size: 25px;
    bottom: 40px;
}

.estate-carousel .carousel-control-prev-icon:before{
    content: " \F12F";
    position: absolute;
    font-family: "Bootstrap-icons";
    font-size: 25px;
    bottom: 40px;
}

.estate-carousel .carousel-control-next {
    right: 20%;
}
.estate-carousel .carousel-control-prev {
    left: 15%;
}

.prime-img{
    background-image: url("../images/prime-neutral-beauty.jpg");
}

.active-img{
    background-image: url("../images/active-living.jpg");
}

.haven-img{
    background-image: url("../images/rejuvenating-haven.jpg");
}

.fynbos-img{
    background-image: url("../images/fynbos-reserve.jpg");
    background-position: bottom;
}

.sport-img{
    background-image: url("../images/pearl-valley.jpeg");
    background-position: bottom;
    min-height: 550px;
}

.bi-telephone-fill::before, .bi-envelope::before{
    border-color: #fff;
    font-size: 15px;
    padding: 6px;
    border-radius: 50%;
}

.contact-footer-banner{
    background-image: url("../images/contact-img.jpg");
}

.splash-bg{
    background: url("../images/banners/splash-banner.jpg") no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 500px;
    background-attachment: fixed;
    position: relative;
}

.avec-logo{
    width: 30%;
}


.splash-bg .home-banner{position: relative;}
.splash .home-banner .carousel-item{height: 660px;}

.selling{
    background: #963821;
    padding: 20px;
    color: #fff;
    position: absolute;
    top: -40%;
    left: -55%;
    width: 100%;
    text-align: center;
    font-family: SourceSansPro-Black;
    transform: rotate(-45deg);
    font-size: 3em;
}

.splash-bg .footer-contact{
    background: #983821;
    padding: 40px;
    opacity: 0.9;
}

.splash-bg h2{ 
    text-shadow: 2px 2px 5px grey;
}

.footer-contact .bi::before{
    border: 2px solid #fff;
}

.splash-bg footer{
    position: absolute;
    width: 100%;
    bottom: -100%;
}

.splash .navbar .navbar-nav .nav-item:first-child .nav-link, .splash .navbar .navbar-nav .nav-item:last-child .nav-link{
    background: transparent;
    border: none;
}

.splash .navbar{
    background: #fff;
}

.splash .home-banner{position: relative;}

.splash .home-banner .white-bg h2{
    font-size: 3em;
    font-family: SourceSansPro-Black !important;
}

.splash .home-banner .white-bg{
    background: #4f8c40;
    padding: 20px;
    border: 0;
}   

.logo-mobile{display: none;}
.footer-logo{
    background-color: #255699; 
    padding: 0 0 15px 10px;
}

.brown-bg hr{
    border: 2px solid #fff;
}

.contact-bg{
    background-color: #e8e7e7;
    background-image: url("../images/textures/contact-texture.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
}

.news-img{
    background: url("../images/blogs/luxury-and-nature.jpg") no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 390px;
    padding: 100px;
    text-align: right;
}

.news-topic, .news-date, .news-author, .news-duration{
    font-size: 12px;
    color: #939598;
    font-family: SourceSansPro-SemiBold;
}

.news-topic{text-transform: uppercase;}
.news-author{
    position: relative;
    padding-left: 35px;
}
.news-author:before{
    content: "";
    position: absolute;
    height: 25px;
    width: 25px;
    border-radius: 50%;
    background: #939598;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.news-bg{
    background-image: url("../images/textures/news-texture.png");
    background-position: left;
}

.news-block{
    padding: 20px;
}

.modal-backdrop{position: relative;}
.article-bg{background: #ede9e6;}
blockquote{
    border-left: 4px solid #a79393;
    padding-left: 15px;
    font-style: italic;
}
.news-article .carousel-item{height: 500px;}

.propert-block img{box-shadow: 2px 2px 6px grey;}
.property-id h2{
    font-family: SourceSansPro-Bold, Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.property-id .property-block .inner-description{    
    border: 0;
}

.property-id .property-block {
    border: 0;
    background: transparent;
    padding: 0;
}

.property-id .nav-link{
    color: #000;
    border-radius: 0;
    font-family: SourceSansPro-Bold, Arial, Helvetica, sans-serif;
    background-color: transparent !important;
    font-size: 14px;
    font-family: SourceSansPro-Bold, Arial, Helvetica, sans-serif;
    letter-spacing: 1.5px;
}

.property-id .nav-pills .nav-link.active, .property-id .nav-pills .show>.nav-link{
    border-bottom: 5px solid #cea178;
    color: #000;
    border-radius: 0;
}

.expansive-text{
    background: url("../images/textures/expansive-texture.png") no-repeat;
    background-size: cover;
    background-position: right bottom;
}

.transport-text{
    background: url("../images/textures/transport-texture.png") no-repeat;
    background-size: cover;
    background-position: left bottom;
}

.download-texture{
    background: url("../images/textures/download-texture.png") no-repeat;
    background-size: cover;
    background-position: left bottom;
}

.thin-grey{
    border-bottom: 2px solid #d1d0ce;
    padding: 10px;
}

.download-btn{
    text-decoration: none;
    color: #000;
    transition: 0.3s ease-in-out;
}

.switch-bg-white .thin-grey:first-child{border-top: 2px solid #d1d0ce;}
.property-footer-banner{
    background: url("../images/property-footer-banner.jpg") no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 500px;
    background-attachment: fixed;
}

.property-footer-banner .cta-btn:hover{background: #fff;}
.navbar-expand-lg .navbar-nav .dropdown-menu{padding: 0;}
.navbar-expand-lg .navbar-nav .dropdown-menu .dropdown-item{
    border-bottom: 1px solid grey;
    padding: 10px 5px;
    text-align: center;
    text-transform: uppercase;
    font-family: SourceSansPro-Bold, Arial, Helvetica, sans-serif;
    font-size: 12px;
    letter-spacing: 1.5px;
    transition: 0.3s ease-in-out;
    background: #e9eef5;
}

.navbar-expand-lg .navbar-nav .dropdown-menu .dropdown-item:hover{
    background: #cda278;
    color: #fff;
    border: 0;
}

/* .navbar-expand-lg .navbar-nav .dropdown-menu .dropdown-item:last-child{
    border: 0;
} */

.property-banner .carousel-item{
    height: auto;
    overflow: auto;
}

.property-banner .tab-content{position: relative;}
.property-banner .nav-pills{
    background: #5d6f89;
    opacity: 0.7;
    position: absolute;
    top: 67%;
    width: 100%;
    z-index: 999;
    /* padding: 20px; */
}

.property-banner  .nav-link{
    padding: 20px 0;
    margin: auto 30px;
    color: #fff;
    text-transform: uppercase;
}

.property-banner .nav-pills .nav-link:focus-visible{box-shadow: none;}

.property-banner .nav-pills .nav-link.active, .property-banner .nav-pills .show>.nav-link{
    color: #fff;
}

.property-banner .property-block {
    border: 2px solid #9a9998;
    background: #d1d0ce;
    padding: 15px;
}

.property-banner .description-block{border: 2px solid #9a9998;}
.property-tabs{
    position: unset !important;
    background: transparent !important;
}

.property-banner .property-tabs .nav-link.active, .property-banner .property-tabs .show>.nav-link{
    border: none !important;
}

.property-banner .property-tabs .nav-link{
    margin: 0 !important;
    padding: 0 !important;
}

.property-banner .selected-property-block .nav-pills{
    background: #a2a09d;
    opacity: 1;
    position: unset;
}

.selected-property-img{
    /* height: 680px;
    overflow: hidden; */   
}

.home-plan{box-shadow: 2px 2px 4px grey;}

.selected-property-block{position: relative;}
.unit-details{
    position: absolute;
    top: 0;
    left: 10%;
    background: #423f3a;
    opacity: 0.8;
    /* height: 80%;
    width: 30%; */
    color: #fff;
    padding: 35px;
}

.unit-details span{
    background: #fff;
    padding: 5px;
    text-transform: uppercase;
    color: #37322D;
    letter-spacing: 1.5px;
    font-family: SourceSansPro-Bold, Arial, Helvetica, sans-serif;
    font-size: 10px;
    display: inline-block;
    margin-bottom: 15px;
}

.unit-details .unit-number{
    font-size: 2.5em;
    font-family: SourceSansPro-SemiBold, Arial, Helvetica, sans-serif;
}

.unit-details .unit-info{
    border-bottom: 1px solid #fff;
    border-top: 1px solid #fff;
    padding: 10px 0;
    margin-bottom: 15px;
}

.unit-details .unit-features{
    font-size: 1.5em;
    font-family: SourceSansPro-Bold, Arial, Helvetica, sans-serif;
    margin-bottom: 10px;
}

.unit-details .bi-arrow-right-short::before{
    font-size: 20px;
}

.download-strip{
    position: fixed;
    bottom: 0;
    width: 100%;
    background: rgba(55, 50, 45, 0.8);
    padding: 15px;
    z-index: 999;
}

.download-strip h3{
    font-size: 1.5em;
    font-family: SourceSansPro-SemiBold, Arial, Helvetica, sans-serif;
    margin-bottom: 0;
}

.download-modal .modal-content{
    background: #5c6d87;
}

.bi-tags-fill::before{
    color: #fff;
    font-size: 35px;
}

.home-prop-scroll .carousel-item{
    display: block;
    height: 500px;
}

.social-links li a .bi{
    font-size: 20px;
}
.social-links li a .bi:before{transition: 0.3s ease-in-out}
.social-links li a:hover .bi:before{
    color: #cda278;
    transition: 0.3s ease-in-out
}

.about-bg .switch-bg-grey, .about-footer-banner .switch-bg-grey{
    box-shadow: 2px 2px 4px grey;
    opacity: 0.9;
}

.sectionFive #carouselExampleIndicators .carousel-item{height: 480px;}
.quick-links a{
    text-transform: uppercase;
    font-family: SourceSansPro-SemiBold, Arial, Helvetica, sans-serif;
    font-size: 14px;
    letter-spacing: 1.5px;
    transition: 0.3s ease-in-out;
}

.quick-links a:hover{
    transition: 0.3s ease-in-out;
    color: #cda278;
}

.privacy-banner{min-height: auto; background: none;}
.privacy-banner .switch-bg-grey{
    background-color: rgba(209, 208, 206, 0.8) !important
}

.privacy-banner .accordion-flush .accordion-body p{border-bottom: none;}
.privacy-banner .accordion-flush .accordion-body a{color: #cda278;}
.privacy-banner .accordion-flush .accordion-item .accordion-button{
    text-transform: uppercase;
    letter-spacing: 1.5px;
}
.privacy-banner .accordion-flush .accordion-body ul{
    list-style: disc;
    margin-left: 30px;
    color: #8E8782;
}

.close-btn{
    color: #fff;
    position: absolute;
    top: 10px;
    right: 10px;
    border: 1px solid #fff;
    line-height: 0.6;
    padding: 3px 4px;
    border-radius: 3px;
    text-decoration: none;
    cursor: pointer;
}

.invalid-feedback{
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 10px;
    font-family: SourceSansPro-Bold;
}

#successMessage, .leadSuccessMessage{color: #4f8c40}
.discover-bg{
    background: url("../images/winelands.png") no-repeat;
    background-size: cover;
    background-position: center;
    height: 100%;
}

.not-found{
    font-size: 9em !important;
}

.sectionThree video{height: 400px}


#viewModel .modal-content, #viewModel2 .modal-content{
    width: 1000px;
}

#viewModel iframe, #viewModel2 iframe{
    width: 100%;
    height: 500px;
}

#viewModel.show .modal-dialog, #viewModel2.show .modal-dialog {
    transform: translateX(-50%);
    background: #ded9d3;
}

#virtual-btn{position: relative;}

#virtual-btn .virtual-txt{
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    width: 100%;
}

.tabs_with_accordion_wrapper .accordion-button{
    border-bottom: 2px solid #cda278;
    text-transform: uppercase;
    font-size: 16px;
}
.download-btn:hover{color: #cda278; transition: 0.3s ease-in-out;}
.estate-bg img{display: none;}
.news-article .carousel-item img{
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.youtube-container {
    position: relative;
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
}

.youtube-player {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    background-size: cover;
    background-position: center;
    cursor: pointer;
}

.youtube-player iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: none;
}

.play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 68px;
    height: 68px;
    background: url('../images/icons/yt-play-icon.svg') no-repeat center;
    background-size: 100%;
    pointer-events: none;
}

/* Popup overlay styling */
.popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 1000;
}

/* Popup image styling */
.popup-overlay img {
    position: absolute;
    max-width: 90%;
    max-height: 90%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 5px solid #fff;
    border-radius: 8px;
}

/* Close button styling */
.popup-overlay .close-popup {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 24px;
    color: #fff;
    cursor: pointer;
}

.popup-image:hover{
    cursor: pointer;
}

@media screen and (min-width: 1440px){.br-tag{display: block;}}


@media screen and (min-width: 1200px){
    .container, .container-lg, .container-md, .container-sm, .container-xl {max-width: 1140px;}
    .sectionFive #carouselExampleIndicators .carousel-item {height: 550px;}
    .sectionThree video{height: 600px}
    .estate-banner img, .prop-banner img{
        position: relative;
        top: 50%;
        transform: translateY(-50%);
    }
    /* .br-tag{display: none;} */

}
@media screen and (min-width: 768px){
    .container, .container-md, .container-sm {max-width: 950px;}
    .tabs_with_accordion_wrapper .tab-content .accordion-item {
      border: 0;
      border-radius: 0;
    }
  }

  /* @media screen and (max-width: 1440px){
    .news-article .carousel-item img{
        position: unset;
        top: 0%;
    }
} */

@media screen and (max-width: 1199px){
    .about-block{
        padding-left: 40px;
        padding-right: 40px;
    }

}

@media screen and (max-width: 1024px){
    .splash .home-banner .carousel-item{height: auto;}
    .splash h1.title {font-size: 3.5em;}    
    .splash h2{font-size: 1.2em;}
    .splash .selling{
        top: -30%;
        left: -52%;
        font-size: 2em;
    }
    .home-banner .carousel-item{height: auto;}
    .navbar-expand-lg .navbar-nav .nav-link{
        padding: 45px 15px;
        font-size: 12px;
    }
    h1.title{font-size: 3.5em;}
    h1 {font-size: 2.8em;}
    .footer-banner{min-height: 350px;}
    .cape-block, 
    .luxury-block, 
    .sustainability-block, 
    .community-block, 
    .experience-block, 
    .join-block{padding: 40px;}
    .about-footer-banner{min-height: 400px;}
    h2 {font-size: 1em;}
    .sub-txt{font-size: 2em;}
    .section-bg{min-height: 400px;}
    .luxury-living-block .nav-pills .nav-link, .luxury-living-block .nav-pills .nav-link:first-child, .luxury-living-block .nav-pills .nav-link:last-child{padding: 13px 20px;}
    .luxury-living-block .nav-pills .nav-link h3{
        font-family: 'SourceSansPro-Bold';
        font-size: 1.2em;
    }
    .community-img{background-size: cover;}
    /* .estate-banner img{
        position: unset;
        top: 0;
        transform: unset;
    } */
}

@media screen and (max-width: 991px){
    .logo-mobile{display: block;}
    h1.title {font-size: 3em;}
    h1 {font-size: 2em;}
    .about-block {
        padding-left: 30px;
        padding-right: 30px;
        border: none;
        padding-top: 30px
    }
    .about-block h2{
        border-top: 1px solid #9a9998;
        padding-top: 30px;
    }

    .sectionTwo .col-md-4:first-child .about-block h2{
        border: 0;
        padding-top: 0;
    }
    
    .blog-block{margin-bottom: 50px;}
    .footer-banner{min-height: 350px;}
    .navbar{
        background: #fff;
        padding: 20px;
        border-bottom: 3px solid #cda278;
    }
    .navbar .navbar-nav .nav-item:first-child .nav-link, .navbar .navbar-nav .nav-item:last-child .nav-link{
        background: #fff;
        border-right: 0;
        border-left: 0;
    }
    .navbar-expand-lg .navbar-nav .nav-link{
        color:#4d4742;
        padding: 0;
    }
    .navbar-expand-lg .navbar-nav .nav-item .bi:before {color: #4d4742;}
    .navbar-expand-lg .navbar-nav .nav-item{
        margin-bottom: 5px;
        border-bottom: 1px solid;
        padding-bottom: 5px;
    }
    .navbar-toggler{border-color: #cda278}
    .section-bg {min-height: 350px;}
    .about-bg img{width: 300px}
    .about-footer-banner {min-height: 400px;}
    .property-block{
        /* position: relative; */
        height: auto !important
    }
    /* .info-block{
        position: absolute;
        top: 30%;
        background: rgba(255, 255, 255, 0.7);
        display: block;
        width: 93%;
        padding-top: 15px;
    } */
    .info-block .cta-btn{padding-top: 0;}
    .sectionFive #carouselExampleIndicators .carousel-item {height: 400px; }
    .br-tag{display: none;}
    .tabs_with_accordion_wrapper .tab-content > .tab-pane {
        display: block;
        opacity: 1;
    }
    .property-banner .selected-property-block .nav-pills{display: none;}
    .news-article .carousel-item img{transform: translateY(0);}

    .carousel-item{
        height: auto;
    }

    #carouselMobile .carousel-indicators{bottom: -50px;}
}

@media screen and (max-width: 768px){
    .splash h1.title {font-size: 2.5em;}
    .splash .home-banner .white-bg h2{font-size: 2em;}
    .btn{padding: 10px 25px;}
    h1.title {font-size: 2em;}
    h1 {font-size: 1.5em}
    h2{font-size: 1.5em;}
    .gallery-section .nav-tabs .nav-link{margin: 0 30px;}
    .estate-bg{background-size: contain;}
  }

@media screen and (max-width: 688px){
    .footer-banner {min-height: 200px;}
    .gallery-section .nav-tabs .nav-link {
        margin: 0 10px;
        font-size: 12px;
    }
    .estate-bg, .section-bg {min-height: 200px;}
    .about-block {
        padding-left: 0;
        padding-right: 0;
    }
    .estate-bg{display: block;background: none;}
    .estate-bg img{display: block;}
}


@media screen and (max-width: 425px){
    .logo-mobile, .footer-logo{width: 50%;}
    .splash h1.title {
        font-size: 1.5em;
        margin-bottom: 0;
    }
    .splash h2 {
        font-size: 1em;
        margin-bottom: 0;
    }
    .splash .home-banner .white-bg{padding: 10px;}
    .splash .selling {
        top: -15%;
        left: -52%;
        font-size: 1em;
        padding: 10px;
    }
    .splash .home-banner .white-bg h2 {
        font-size: 1em;
    }
    .brown-bg h4.switch-white{font-size: 1em;}
    h1.title, h1 {font-size: 1.2em;}
    .sectionFive .carousel-control-prev, .sectionFive .carousel-control-next{display: none;}
    .download-strip h3 {font-size: 1em;}
    .download-strip .cta-btn {font-size: 10px;}
    .our-story-img, .community-img, .experience-img, .join-img, .safety-block, .fitness-img, .vibrant-img, .direct-access-img{
        min-height: 100px;
        background-position: center;
    }
    .discover-bg{min-height: 250px;}
    .vibrant-img, .sport-img{background-position: top}
    h2, .sub-txt{font-size: 1.2em; }
    .cape-block, .luxury-block, .sustainability-block, .community-block, .experience-block{padding: 20px}
    .prime-copy ul{padding-left: 10px;}
    .gallery-section .nav{padding: 20px; padding-top: 0;}
    .gallery-section .tab-content {padding: 25px;}
    .form-img{min-height: 200px;}
}

@media screen and (max-width: 375px){
    .splash h1.title {margin-bottom: 0;}
    .splash .home-banner .white-bg{position: unset;}
}