/* Setup */
:root{
    --primary: #d22238;
    --secondary: #0F110C;
    --tertary:#ffffff;
    --card-btn-color:#d22238;
    --bs-bg-opacity: 0;
    --orange: #f26d1e;
    --light: #f99d1b;
}
body {
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}
.btn-outline-primary{
    background-color: var(--primary);
    color: var(--tertary);
    border: none;
}

.btn-outline-primary:hover{
    border: #d22238 solid 1px;
    color:var(--primary);
    background-color:  transparent;
}

.btn-primary-card{
    background-color: var(--card-btn-color);
    color: var(--tertary);
    border: none;
}

.btn-primary-card:hover{
    background-color: var(--tertary);
    color: var(--secondary);
}

.page{
    margin: 0;
    padding:0;
    box-sizing: border-box;
    color: var(--secondary);
    overflow-x: hidden;
}

.navbar{
    padding:  1rem;
}

@media screen and (max-width:350px){
    .navbar img{
        width:150px;
    }
}

.btn{
    border-radius: 0 !important;
}

.card{
    border-radius: 0;
}

.modal .modal-footer{
    justify-content: center;
}

.card:hover{
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    transform: scale(1.05);
    transition: all 0.3s ease-in-out;
    cursor: pointer;
}

/* Hero Section */
.hero{
    display: flex;
    align-items: center;
    justify-content: space-around;
    background: url(../img/outdoor-imag.jpg);

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: rgb(196, 54, 54);
    height: 80vh;
    width: 100%;
}



.hero .content .loc{
    display: flex;
    justify-content: center;
    margin-top: -10px;
}
.hero .content .loc h4{
    margin: 10px;
}

.hero .form{
    text-align: center;
    width: 400px;
    border-radius: 10px;
    background-color: var(--tertary);
    padding: 30px 30px;
    margin: 80px 0 !important;
}

form .form-group{
    margin: 1em 0;
}

@media screen and (max-width:840px){
    .hero{
        display: block;
        text-align: center;
        padding: 80px 0 !important;
        height: 100%;
    }
    .hero .content .loc{

    }
    .hero .form{
        margin:20px auto !important;
    }
    
}

@media screen and (max-width:450px){
    .hero {
    
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        height: 100vh;
    }
}

@media screen and (max-width:350px){
    .hero .form{
        width: 300px;
    }
}


/* Short Description */
.description{
    margin: 80px auto 10px;
    /* background-image: url(../images/umbrela.png); */
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size:15em;
}

.description hr{
    text-align: center;
    margin:20px auto;
    width: 85%;
}

.description .overviewcontent{
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width:600px){
    #overview .overviewcontent{
        display: block;
        margin: 40px auto 80px;
        text-align: center;
        padding: 0 10px;
        
    }  
}




/* about */
.about{
    display: flex;
    /* background: url(../images/111.webp) no-repeat; */
    background-size: 100% 100%;
    justify-content:center;
    padding: 80px 0;
    /* background-color: rgb(77, 77, 77); */
    background-size: cover;
    background-position: center;
    background-blend-mode: multiply;
    color: #fff;
    justify-content: space-around;
}

.about .aboutimage{
    /* margin-right: 8em; */
    width: -moz-fit-content; /* Firefox bug fix */
    width: fit-content;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.about .aboutimage img{
    width: 600px;
}

.about .aboutcontent{
    
    color: black;
}



@media  screen and (max-width:770px) {
    .about .aboutimage{
        margin-right: 3em;
        width: -moz-fit-content; /* Firefox bug fix */
        width: fit-content;
        margin:0 auto 20px;
    }

    .about{
        display: block;
        padding-left: 10px;
        padding-right: 10px;      
    }

    .about .aboutcontent{
        margin: 20px;
        text-align: center;
        margin: auto;
        width: 100%;
   
    }

    .about .aboutcontent ul{
        padding-left:0;
    }

    .about .aboutcontent hr, .about .aboutcontent .overline{
        margin:auto;
    }
    
    .about .aboutcontent ul{
        list-style: none;
    }
    
}

@media screen and (max-width:550px) {
    .about .aboutimage img{
        width: 400px;
    }
    
    .about .aboutcontent{
        width: 90%;
    }
}

@media screen and (max-width:380px) {
    .about .aboutimage img{
        width: 285px;
    }
    
}



/* residencesociety */
.residencesociety{
    margin-top: 80px;
    text-align: center;
}

.residencesociety .gallery{
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.residencesociety .gallery .s{
    width: 30em;
    height: 15em;
    text-align: center;
    align-content: center;
    background-color: rgb(178, 178, 179);
    background-size: cover;
    background-position: center;
    background-blend-mode: multiply;
    color: #fff;

}

.residencesociety .gallery .s:hover{
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    transform: scale(1.05);
    transition: all 0.3s ease-in-out;
    cursor: pointer;
}

@media screen and (max-width:770px){
    .residencesociety .gallery{
        display: block;
    }

    .residencesociety .gallery .s{
        width: auto;
        margin: auto;
    }
}


/* brochure */
.brochure{
    display: flex;
    padding: 80px 0.8em;
    justify-content: space-evenly;
    align-items: center;
    background-color: var(--secondary);
    color: var(--tertary);
}

.brochure .brocontent{
    margin: 15px;
}

.brochure img, .brochure1 img{
    width: 30%;
    padding-right: 1em;
}


/* video */
.brochure1{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    background-color: var(--secondary);
    color: var(--tertary);
}

@media screen and (max-width:1030px){
    .brochure1{
        padding: 40px 0.8em 80px;
    }    
}

@media screen and (max-width:600px){
    .brochure1, .brochure{
        display: block;
        text-align: center;
        
    }
    .brochure img, .brochure1 img{
        width:80%;
    }   
}



/* Price plan */
.priceplan {
    padding: 80px 80px ;
    text-align: center;
    background-color: #ffdcc8;
    /* background-image: linear-gradient(240deg, #B3936329 47%, #FFFFFF 36%); */
}
.priceplan .pricecards .row .card{
    background-color: #774703;
    box-shadow: 0px 0px 2px 0px #774703;
    border-radius: 10px;
    padding: 25px;
    border: 2px solid #f26d1e;
    /* border-color:#2c82d8; */
    /* border-radius: 0; */
    background: transparent;
    margin: auto 10px;
}

@media screen and (max-width:430px){
    .priceplan{
        padding: 80px 10px;
        text-align: center;
    }
}    

@media screen and (max-width:430px){
    .priceplan{
        padding: 80px 10px;
        text-align: center;
    }

    .priceplan .pricecards{
        margin-left: auto;
        margin-right: auto;
    }    
    .priceplan .line{
        margin: auto;
    }
}


/* Amenities */
.amenities{
    margin:10px auto;
    text-align: center;
}

.amenities .amenity-card img {
    width: 100%;
    object-fit: contain;
    border-radius: 0;
}

.amenities .amenity-card .card-body {
    padding: 20px;
}

.amenities h2{
    font-size: 36px;
    margin: 1em 0;
    padding-top: 2em;
    color: white;
}
#grid-1{
    display: flex;
    margin: 1em;
    justify-content: center;
}
.card{
    margin-right: 1em;    
    border: none;
}
#grid-1 .card img{
    width: 100%;
    height: 70%;
}

@media screen and (max-width:768px) {
    #grid-1{
        display: block;
    }

    #grid-1 .card{
        margin: auto;
    }
}




/* floor-plan */
.floorplan{
    margin:30px auto;
    padding-bottom: 60px;    
    text-align: center;
}

.floorplan .floorcard{
    border:none;
    background: transparent;
}


.floorplan .floorcard:hover{
    box-shadow: none;
    transform: scale(1);
    transition: 0;
    cursor:auto;
} 

@media screen and (max-width:768px) {
    .floorplan{
        margin:70px auto 40px;
    }    

}


/* highlights */
.highlights{
    padding: 80px;
    background-position: center;
    background-size: cover;
    text-align: center;
    background-color:#ffdcc8;
    background-size: cover;
    background-position: center;
    background-blend-mode: multiply;
    color: #fff;
  
    color: var(--tertary);
}

.points {
    display: flex !important;
    margin-bottom: 20px;
}
.highlights .highlightsrow .item h3{
    background-color: var(--tertary);
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    color: var(--secondary);
}


.highlights .highlightpoints{
    display: flex;
    align-items: center;
    justify-content: space-around;
}
.items{
    display: flex !important;
    margin-bottom: 10px;
}

@media screen and (max-width:768px){
    .highlights .highlightpoints{
        display: block;
    }

    .highlights {
        padding: 80px 10px 20px;
    }
    .highlights .highlightpoints .highlightscontent{
        margin: 50px 100px 0;
    }
    
    .highlightsrow{
        margin: 50px 20px 0;
        
        /* width: -moz-fit-content;
        width: fit-content; */
    }

    .highlights .highlightsrow .item{
        display: block;
        text-align: center;
    }
    
}

@media screen and (max-width:425px){
    .highlights .highlightpoints{
        display: block;
        text-align: left;
    }
    .highlightsrow{
        display: block;
        text-align: left;
    }
    .p-3 {
        padding: 0 10px !important;
    }
    
    .highlights .highlightsrow .items{
        padding: 1px;
    }
    .highlights .highlightpoints .highlightsimage img{
        width: 100%;
        height: 100%;
    }
    .highlights .highlightpoints .highlightscontent{
        margin: 50px auto 0;
    }

}


/* testimonials */
.testimonials{
    padding: 80px;
    text-align: center;
    /* background-image: url(../images/umbrela.png); */
    background-position: right top;
    background-repeat: no-repeat;
    background-size:15em;
}

.testimonials .test-img-top{
    width: 50%;
    margin: auto;
    text-align: center;
}

.testimonials .row .col{
    align-items: center;
}

@media screen and (max-width: 768px){
    .testimonials{
        padding: 80px 0 40px;
    }
}


/* location */
.location{
    padding: 80px;
    text-align: center;
    background-color:#ffdcc8;
}

.location .content{
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.location .content .highlightsrow .item{
    display: flex;
    align-items: center;
    margin: 20px auto;
}

.location .content .limg img{
    padding: 12px;
    background-color: var(--tertary);
}

.location .content .limg .locationimg{
    width: 100%;
    height: 35%;
}


.location .content .highlightsrow .item h3{
    background-color: var(--tertary);
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

@media screen and (max-width: 1030px){
    .location .content{
        display:block;
        text-align: center;
    }

    .location{
        padding: 80px 10px;
    }

    .location .content .highlightsrow .item h3{
        margin: auto;
        width: -moz-fit-content;
        width: fit-content;
    }
    
    .location .content .highlightsrow .item {
        display: block;
        text-align: center;
    }
}

@media screen and (max-width:430px) {
    .location .content .limg .locationimg{
        width: 100%;
        height: 100%;
    }

    .location .content .limg .locationicon{
        width:18%;
        height: 18%;
        margin-top: -3em;
    }
}

/* ending */
.ending{
    padding: 80px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    color: var(--tertary);
    background: url(../img/oo.webp) no-repeat fixed;
    background-position:bottom;
    background-size: cover;
    background-color:rgba(0, 0, 0, 0.541);
    background-position: center;
    background-blend-mode: multiply;
    
}

@media screen and (max-width:430px) {
    .ending{
        display: block;
        text-align: center;
        margin: auto;
    }

    .ending h2{
        padding-bottom: 20px;
    }
    
}

/* Call */
#call {
    position: fixed;
    bottom: 100px;
    right: 20px;
    z-index: 99;
    font-size: 1.2rem;
    border: none;
    outline: none;
    background-color: #4187ce;
    color: white;
    cursor: pointer;
    padding: 0.8em;
    transition: background-color 0.3s ease;
  }
  
#call:hover {
  background-color: var(--tertary);
  color: var(--secondary);
  border: 2px solid #4187ce;
}


/* Scroll Top */
#scrollToTopBtn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99;
    font-size: 1.2rem;
    border: none;
    outline: none;
    background-color: var(--primary);
    color: white;
    cursor: pointer;
    padding: 0.8em;
    transition: background-color 0.3s ease;
  }
  
#scrollToTopBtn:hover {
  background-color: var(--tertary);
  color: var(--secondary);
}


/* footer */
.footer {
    color: var(--secondary);
    padding: 20px 0;
}

.footer-logo {
  margin-bottom: 20px;
}

.footer-nav {
  list-style: none;
  padding-left: 0;
}

.footer-nav li {
  display: inline-block;
  margin-right: 20px;
}

.footer-nav li:last-child {
  margin-right: 0;
}

.footer-nav li a {
  color: var(--secondary);
  text-decoration: none;
}

.footer-nav li a:hover{
    color: var(--primary);
}
  

/* Mobile Banner */
/* #scrollToTopBtn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99;
    font-size: 1.2rem;
    border: none;
    outline: none;
    background-color: var(--primary);
    color: white;
    cursor: pointer;
    padding: 0.8em;
    transition: background-color 0.3s ease;
  }
  
#scrollToTopBtn:hover {
  background-color: var(--tertary);
  color: var(--secondary);
} */

.fixed-bottom{
    display: none;
}

@media screen and (max-width:430px){
    .fixed-bottom{
        display: block;
    }
}


.spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid #f3f3f3; /* Light gray */
    border-top: 2px solid #3498db; /* Blue */
    border-radius: 50%;
    animation: spin 1s linear infinite;
    vertical-align: middle;
    margin-right: 8px;
  }

  @keyframes spin {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }

.loading-spinner {
  border: 3px solid #f3f3f3; /* Light gray */
  border-top: 3px solid #3498db; /* Blue */
  border-radius: 50%;
  width: 12px;
  height: 12px;
  animation: spin 1s linear infinite;
  display: inline-block;
  vertical-align: middle;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


.box-1:hover {
    background: #ffffff1a !important;
    padding: 20px;
    border: 1px solid #d2223824;
    color: #fff !important;
}

.box-1 {
    background: #d222381a !important;
    padding: 20px;
    border: 1px solid #9f9f9f24;
    color: #fff !important;
    transition: all .5s ease;
}

.floorcard {
    position: relative;
    height: 300px;
    background: linear-gradient(135deg, #f5f5f5, #e0e0e0);
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s ease;
  }

  .floorcard:hover {
    transform: translateY(-5px);
  }

  .floorcard::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-image: repeating-linear-gradient(
      45deg,
      #ccc,
      #ccc 1px,
      #e0e0e0 1px,
      #e0e0e0 20px
    );
    opacity: 0.4;
    filter: blur(4px);
    z-index: 1;
  }

  .floorcard-content {
    position: relative;
    z-index: 2;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
  }

  .bhk-title {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 15px;
    color: #000;
  }

  .enquire-btn {
    background-color: #e50914;
    color: white;
    border: none;
    padding: 10px 20px;
    font-weight: bold;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background 0.3s;
  }

  .enquire-btn:hover {
    background-color: #c40811;
  }

  .enquire-btn {
    background-color: #e50914;
    color: white;
    border: none;
    padding: 10px 20px;
    font-weight: bold;
    border-radius: 4px;
    text-transform: uppercase;
    margin-top: 15px;
    transition: background-color 0.3s ease;
  }
  
  .enquire-btn:hover {
    background-color: #c40811;
  }

  .card-bodys  {
    z-index: 1;
    position: absolute;
    top: 34px;
    left: 26px;
}

.aboutsection ul li {
    font-size: 24px;
    margin-bottom: 10px;
    line-height: 1.6;
  }

  .content {
    padding: 37px;
    background: #ffffff2e;
    filter: drop-shadow(2px 4px 6px black);
}

.banner-offers li .arrow {
    filter: invert(1);
    max-width: 10px;
}