/*home page styling*/
*{
    margin: 0%; 
    padding: 0%;
    box-sizing: border-box;
}

body{
   
    font-family: poppins;
    
}
/* header styling */
header {
    border-bottom: 2px solid brown;
    background-color: white;
}

.navbar-brand img {
    width: 100px;
}

.navbar-nav .nav-link {
    color: #000;
    font-weight: 500;
}

/* Remove default Bootstrap dropdown hover behavior for desktop */
.navbar .dropdown-menu {
    transition: all 0.3s ease;
    visibility: hidden;
    opacity: 0;
    display: none;

}

/* Remove hover-based dropdown opening, JS will handle it */


/* Mega dropdown positioning */
.dropdown-mega {
    position: static;
}

/* --- Mega menu fix: keep gap and allow selection --- */


/* Show mega menu when parent has .show or menu has .show */
.nav-item.dropdown.show .dropdown-menu.megamenu,
.dropdown-menu.megamenu.show {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: block !important;
}

/* Also ensure all dropdown-menus are selectable when .show is present */
.dropdown-menu.show {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.megamenu .col-md-3 {
    margin-bottom: 1rem;
}

.megamenu .icon {
    font-size: 1.5rem;
    margin-right: 0.5rem;
    color: #b00;
}

.nav-link {
    font-weight: 500;
}

.dropdown-item.active, .dropdown-item:active {
    color:#722525 !important;
}

.dropdown-item:focus, .dropdown-item:hover {
    color:#722525 !important;
    background: transparent !important;
}

.megamenu a:hover {
  color: #b71c1c !important; 
}


.dropdown-mega:hover > .dropdown-menu {
  display: block;
  margin-top: 0; /* removes gap so it doesn’t disappear */
}

/* Make sure mega menu aligns properly */
.dropdown-menu.megamenu {
  left: 0;
  right: 0;
  top: 100%;
  border-radius: 0;
   background: #ddd;
 background: #ddd;
    border: 1px solid #ddd;
    box-shadow: none;
    z-index: 1500;

}

.newbutton {
    /* background-color: #722525; */
    border: none;
    color: white;
    border-radius: 7px;
    padding: 10px 20px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1px;
    background: linear-gradient(5deg, #722525, #9B3232, #E58383);
}

.enquirenow .text {
    line-height: 1.2;
}

@media (max-width: 991.98px) {
    #mainNavbar {
        display: none !important;
    }
}

@media (min-width: 992px) {
    .dropdown-menu.dropdown-row {
        white-space: nowrap;
        padding: 10px 15px;
    }

    .dropdown-menu.dropdown-row li {
        display: inline-block;
        margin-right: 10px;
    }

    .dropdown-menu.dropdown-row .dropdown-item {
        display: inline-block;
        padding: 10px 15px;
        text-align: center;
    }
}

/* Remove hover-based dropdown for desktop, JS will handle it */
@media (min-width: 992px) {
    

    .navbar .dropdown-menu {
        display: none;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease;
    }
}


.first-sticky {
  position: sticky;
  top: 0;
  z-index: 900;
}

/* Second sticky – top will be set dynamically via JS */
.second-sticky {
  position: sticky;
  top: 0;           /* this will be overridden by JS */
  z-index: 890;
  background: #fff;
}

/* Header + navbar z-index already ok */
header {
  position: relative;
  z-index: 2000;
}

.navbar {
  position: relative;
  z-index: 2001;
}





/* Breadcrumb arrow */
.breadcrumb-item + .breadcrumb-item::before {
  content: " > ";
  color: #fff;
}

/* Title text */
.top h1 {
  font-size: 36px;
  color: #fff;
  font-weight: bold;
  letter-spacing: 4px;
}

/* Availability text */
.top p {
  color: #fff;
}

/* Image styling */
.top img {
  max-height: 141px;
  max-width: 242px;
  object-fit: contain;
}






/* Tablet view */
@media (max-width: 991.98px) {
  .top h1 {
    font-size: 32px;
    letter-spacing: 2px;
  }
}

/* Mobile view */
@media (max-width: 576px) {
  .top h1 {
    font-size: 24px;
    text-align: center;
  }

  .top p {
    text-align: center;
    font-size: 14px;
  }

  .top img {
    max-height: 100px;
    max-width: 180px;
    margin-top: 10px;
  }
}

/* topics styling */
.topics {
  background-color: rgb(202, 200, 200);
  /* margin-top: 15px; */
  position: sticky;
}

.scroll-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  width: 100%;
}

.topic-item {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 7px;
  padding-top: 10px;

}

.topic-item a {
  display: block;
  color: white;
  text-decoration: none;
  border-radius: 5px;
  
}


.topic-item a:hover {
  color: #8b0000; /* Hover color */
}

.topic-item a.active {
  color: #8b0000; /* Active section color */
  font-weight: bold;
}


/* Medium and Large Screens */
@media (min-width: 768px) {
  .topic-item {
    flex: 1 1 auto;
    max-width: unset;
  }
}

.title {
  border-bottom: 1px solid rgb(59, 57, 57);
  padding-bottom: 30px;
}

.paragraph {
  border-bottom: 1px solid rgb(82, 81, 81);
  padding-bottom: 30px;
}

.brochure-btn {
  background-color: #8D9EAE;
  color: #fff;
  border: none;
  border-radius: 13px;
  padding: 10px 20px;
  cursor: pointer;
  box-shadow: 0px 5px 5px rgba(44, 44, 44,0.3);
  font-size: 14px;
  

}

.responsive-img {
  max-width: 100%;
  height: auto;
}
/* DOWMLOAD BROCHURE MODAL STYLING */

  .captcha-container {
    display: flex;
    align-items: center;
  }
  .captcha-box {
    background-color: #e2e2e2;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 3px;
    padding: 10px 15px;
    border-radius: 5px;
    user-select: none;
  }
  .refresh-icon {
    font-size: 24px;
    margin-left: 10px;
    cursor: pointer;
    color: #555;
  }
  .refresh-icon:hover {
    color: #000;
  }


/* AVAILABILITY SECTION */

.table-body-scroll {
  max-height: 200px;  /* <--- reduce/increase as needed */
  overflow-y: auto;
  border: 1px solid #ccc;
}

.table-body-scroll table {
  width: 100%;
  border-collapse: collapse;
}
/* AVAILABILITY */

.AVAILABILITY h3 {
  background-color: #EFEFEF;
  border-radius: 5px;
  font-family: 'aboreto';
  letter-spacing: 1px;
  text-align: center;
  box-shadow: 0px 4px 5px rgba(44, 44, 44,0.2);
  letter-spacing: 1px;
}

/* Main scroll wrapper (vertical) */
.table-wrap {
  max-height: 450px;      /* adjust vertical scroll height */
  overflow-y: auto;       /* enables vertical scroll */
  overflow-x: auto;       /* enables horizontal scroll if needed */
  border-radius: 8px;
  box-shadow: 0 4px px rgba(0,0,0,0.2);
}

/* Table */
.availability-table {
  min-width: 500px;       /* ensures body can scroll horizontally on mobile */
  width: 100%;
      border: 1px solid #eee;

  border-collapse: separate;
  border-spacing: 0;
  font-family: 'Poppins', sans-serif;
}

/* Header styling + sticky */
.availability-table thead {
  background: #EFEFEF;

  position: sticky;
  top: 0;
  z-index: 10;
  box-shadow: 0px 4px 5px rgba(44, 44, 44,0.2);

}
.availability-table thead th {
  padding: 15px 20px;
  font-weight: 600;
  color: #333;
}

/* Body */
.availability-table tbody td {
  padding: 14px 20px;
  font-size: 15px;
  color: #333;
}



/* AMENITIES , PLANS , APPROVALS , LOCATION STYLING */
.AMENITIES h3,.PLANS h3,.APPROVALS h3,.LOCATION h3,.PROGRESS h3{
    background-color: #EFEFEF;
    display: block;
    padding: 8px 20px;
    border-radius: 5px;
    font-family: 'aboreto';
    font-weight: 500;
    letter-spacing: 1px;
    color: #000;
    margin-bottom: 30px;
    text-align: center;
  box-shadow: 0px 4px 5px rgba(44, 44, 44,0.2);
  letter-spacing: 1px;
}
/* plans section */
.plan-card {
    position: relative;
    display: inline-block;
    
  }

  .zoom-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(0,0,0,0.3);
    color: #fff;
    border-radius: 50%;
    padding: 8px;
    font-size: 1.2rem;
    cursor: pointer;
    transition: background 0.3s;
  }

  .zoom-icon:hover {
    background: rgba(0,0,0,0.8);
  }

  /* Make modal nav buttons overlay */
  #prevBtn, #nextBtn {
    background: rgba(0,0,0,0.5);
    border: none;
    color: white;
    font-size: 2rem;
    padding: 8px 12px;
    border-radius: 50%;
    transition: background 0.3s;
  }

  #prevBtn:hover, #nextBtn:hover {
    background: rgba(0,0,0,0.8);
  }

  /* approval-modal-styling */
 .approval-img-wrapper-2 {
    position: relative;
    display: inline-block;
    padding-left: 15px;
  }
  
  .approval-img-2 {
    max-width: 120px;
    height: auto;
    border: 1px solid #ccc;
    border-radius: 4px;
    transition: transform 0.2s;
    cursor: pointer;
  }
  .approval-img-2:hover {
    transform: scale(1.05);
  }
  .zoom-icon-2 {
    position: absolute;
    top: 50%;
    left: 60%;
    transform: translate(-50%, -50%);
    background: rgba(0,0,0,0.5);
    color: white;
    border-radius: 50%;
    padding: 6px;
    opacity: 0;
    transition: opacity 0.2s ease;
    font-size: 12px;
  }
  .approval-img-wrapper-2:hover .zoom-icon-2 {
    opacity: 1;
  }
  /* Modal image styles */
  #modalImage2 {
    max-height: 98vh;
    max-width: 98vw;
    width: 100%;
    height: auto;
    object-fit: contain;
    margin: auto;
  }
  .modal-content-2 {
    background: transparent !important;
    border: none !important;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    width: 100vw;
    position: relative;
  }



.ENQUIRE p{
  font-family: aboreto;
  margin-top: 30px;
  text-align: center;
}

.ENQUIRE {
  padding: 40px 20px;
}

.ENQUIRE img {
  border-radius: 8px;
}

.ENQUIRE form .form-control {
  padding: 12px;
  font-size: 16px;
}

.ENQUIRE button {
  background-color: #6b1f1f; /* dark red/maroon like your site */
  border: none;
  font-weight: bold;
  justify-content: center;
  font-family: poppins;
}

.ENQUIRE button:hover {
  background-color: #4a1414;
}



/* PROGRESS STYLING */

 /* Timeline Buttons */
    .progress-btn-unique {
      border: none;
      color: black;
      border-radius: 18px;
      font-weight: 400;
      font-family: 'inter';
      background-color: #fff;
      height: 45px;
      transition: all 0.3s ease;
      width: 90%;
      text-align: left;
      padding: 10px 15px;
      letter-spacing: 1px;
      text-align: center;
    }
    .progress-btn-unique.active {
      background: linear-gradient(to right, #722525, #D84545);
      color: #fff;
      border-color: transparent;
      height: 55px;
    }
    
    /* Carousel wrapper */
    .carousel-wrapper-unique {
      position: relative;
      overflow: hidden;
      width: 100%;
    }
    .carousel-track-unique {
      display: flex;
      transition: transform 0.5s ease;
    }
    .carousel-card-unique {
      flex: 0 0 50%;
      padding: 10px;
    }
    .carousel-card-unique p{
      margin-top: 10px;
    }
    @media (max-width: 768px) {
      .carousel-card-unique {
        flex: 0 0 100%; /* 1 image per slide on small/medium */
      }
    }
    .carousel-card-unique img {
      border-radius: 12px;
      height: 300px;
      object-fit: cover;
      width: 100%;
    }

    /* Carousel Controls */
    .carousel-btn-unique {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0,0,0,0.6);
      border: none;
      color: #fff;
      font-size: 24px;
      padding: 8px 12px;
      border-radius: 50%;
      cursor: pointer;
      z-index: 10;
    }
    .carousel-btn-left-unique { left: 13px; color: black;background-color: rgba(208, 208, 208,0.6);font-size: 15px; }
    .carousel-btn-right-unique { right: 13px;color: black;background-color: rgba(208, 208, 208,0.6);font-size: 15px; }

    /* Hide inactive carousel in lg view */
    .carousel-container-unique { display: none; }
    .carousel-container-unique.active { display: block; }
    
    
    
    /* ===== MOBILE CAROUSEL FIX ===== */
@media (max-width: 991px) {

  .carousel-wrapper-unique {
    position: relative;
    overflow: hidden;
    width: 100%;
  }

  .carousel-track-unique {
    display: flex;
    transition: transform 0.4s ease;
    width: 100%;
  }

  .carousel-card-unique {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 10px;
    box-sizing: border-box;
  }

  .carousel-card-unique img {
    width: 100%;
    height: auto;
    border-radius: 12px;
  }

  /* Arrow buttons */
  .carousel-btn-unique {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.6);
    color: #fff;
    border: none;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .carousel-btn-left-unique {
    left: 10px;
  }

  .carousel-btn-right-unique {
    right: 10px;
  }
}



/* footer styling */
footer {
    padding: 10px;
    border-top: solid 1px white;
    /* font-weight: 300; */
    font-size: 14px;
    background-color: #722525;
}



@media (max-width: 800px) {
    .Footer-elements {
        margin-top: 10px;
    }
}



.social-circle {
  width: 38px;
  height: 38px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: 0.3s ease;
}

.social-circle i {
  color: #ffffff;
  font-size: 18px;
  transition: 0.3s ease;
}

.Footer-elements {
  
  gap: 14px;
}

/* Hover Effect */
.social-circle:hover {
  border-color: #722525;
}






@media (min-width:100px) and (max-width:768px) {
  
  .social-circle{
  width: 38px;
  height: 38px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: 0.3s ease;
}
.location-circle {
  width: 45px;
  height: 45px;
  
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: 0.3s ease;
}

.social-circle i,
.location-circle i {
  color: #ffffff;
  font-size: 18px;
  transition: 0.3s ease;
}

/* Hover */
.social-circle:hover,
.location-circle:hover {
  border-color: #722525;
}

.social-circle:hover i,
.location-circle:hover i {
  color: #722525;
}

/* Small alignment fix for location icon */
.location-circle i {
  font-size: 20px;
  margin-top: 2px; 
}

}




/* OVERVIEW IMAGE ZOOM ICON STYLING */

.zoom-wrapper {
  position: relative;       /* anchors absolute icon inside */
  display: inline-block;    /* avoids breaking flex/grid layout */
}

.zoom-badge {
  position: absolute;
  top: 10px;          /* distance from top of image */
  right: 15px;        /* distance from right of image */
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;        /* stay above the image */
}



.zoomable-thumb {
  cursor: zoom-in;
}



@media (min-width:1024px){
  .SADHASIVAM-Text{

  position: absolute;
  right: 20%;
  bottom: -11px;
  letter-spacing: 6px !important;
  
}
}
@media (min-width:1440px){
  .SADHASIVAM-Text{

  position: absolute;
  right: 20%;
  bottom: 0px;
  letter-spacing: 5px !important;
  font-size: 38px !important;
  
}
}

header {
  transition: transform 0.3s ease;
  will-change: transform;
}

header.hide-header {
  transform: translateY(-100%);
}


.map-responsive {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%; /* 16:9 ratio */
  border-radius: 20px;
}

.map-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 90%;
  border:0;
  border-radius: 10px;
}

#scrollToggle {
  position: fixed;
  bottom: 30px;
  right: 30px;

  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: none;

  background: #ffffff;
  box-shadow: 0 10px 28px rgba(0,0,0,0.25);
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  z-index: 9999;
  transition: opacity 0.3s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

#scrollToggle:hover {
  transform: scale(1.12);
  box-shadow: 0 14px 34px rgba(0,0,0,0.35);
}

/* Arrow only animates */
.arrow {
  animation: arrowBounce 1.8s ease-in-out infinite;
}

/* Elegant arrow bounce */
@keyframes arrowBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}


/* ===== Layout Zoom Modal Fix ===== */

.layout-modal-content {
  background: #fff;
  position: relative;
}

/* Close button – always visible */
.layout-modal-close {
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 1056; /* higher than image */
  background-color: #fff;
  border-radius: 50%;
  padding: 8px;
  opacity: 1;
}

/* Modal body */
.layout-modal-body {
  padding: 10px;
  text-align: center;
  overflow: auto;
}

/* Image scaling */
.layout-modal-image {
  max-width: 100%;
  max-height: 85vh;
  object-fit: contain;
}

/* Mobile specific fixes */
@media (max-width: 576px) {
  .layout-modal-image {
    max-height: 80vh;
  }

  .layout-modal-close {
    top: 8px;
    right: 8px;
  }
}



/* Thumbnail column fade first, then remove space */
.scroll-hide-thumb {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.28s ease,
    transform 0.28s ease;
  will-change: opacity, transform;
}

/* Smooth fade */
.scroll-hide-thumb.is-fading {
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}

/* Remove space only after fade completes */
.scroll-hide-thumb.is-removed {
  display: none !important;
}

/* Keep second sticky stable. Do not animate top */
.second-sticky {
  top: var(--secondStickyTop, 0px);
  transition: none !important;
}



.layout-modal-content {
  position: relative;
  border-radius: 8px;
  border: 8px solid #ffffff;
  background: #f4f0ec;
  overflow: hidden;
}

.layout-modal-close {
  position: absolute;
  top: -58px;
  right: -58px;
  z-index: 10000;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: #ffffff;
  opacity: 1;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
}

.layout-modal-body {
  position: relative;
  padding: 0;
  background: #f4f0ec;
  overflow: hidden;
}

.layout-image-scroll {
  position: relative;
  width: 100%;
  max-height: 82vh;
  overflow: auto;
  background: #f4f0ec;
}

.layout-zoom-stage {
  position: relative;
  width: 100%;
  height: auto;
  overflow: visible;
}

.layout-modal-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  margin: 0;
  cursor: zoom-in;
  user-select: none;
  -webkit-user-drag: none;
  transform-origin: top left;
  transition: transform 0.2s ease;
}

.layout-zoom-controls {
  position: absolute;
  right: 18px;
  bottom: 24px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.layout-zoom-btn {
  width: 46px;
  height: 46px;
  border: none;
  outline: none;
  border-radius: 50%;
  background: #ffffff;
  color: #4b120f;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.layout-zoom-btn:hover {
  background: #4b120f;
  color: #ffffff;
}

.layout-zoom-btn:active {
  transform: scale(0.94);
}

#layoutZoomModal .modal-dialog {
  max-width: 900px;
}

.layout-image-scroll::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.layout-image-scroll::-webkit-scrollbar-track {
  background: #eee5dc;
}

.layout-image-scroll::-webkit-scrollbar-thumb {
  background: #9b7b63;
  border-radius: 10px;
}

.layout-image-scroll::-webkit-scrollbar-thumb:hover {
  background: #4b120f;
}

@media (max-width: 991px) {
  #layoutZoomModal .modal-dialog {
    max-width: 92%;
  }

  .layout-image-scroll {
    max-height: 84vh;
  }

  .layout-zoom-controls {
    right: 16px;
    bottom: 20px;
  }

  .layout-zoom-btn {
    width: 42px;
    height: 42px;
    font-size: 26px;
  }

  .layout-modal-close {
    top: -52px;
    right: 0;
  }
}

@media (max-width: 575px) {
  .layout-modal-content {
    border: 5px solid #ffffff;
    border-radius: 0;
  }

  .layout-image-scroll {
    max-height: 90vh;
  }

  .layout-zoom-controls {
    right: 12px;
    bottom: 18px;
    gap: 8px;
  }

  .layout-zoom-btn {
    width: 40px;
    height: 40px;
    font-size: 24px;
  }

  .layout-modal-close {
    top: 12px;
    right: 12px;
    z-index: 100000;
    width: 38px;
    height: 38px;
  }
}




/* ===============================
   PLAN GALLERY MODAL
================================ */

#planGalleryModal .modal-body {
  background: #000000;
  overflow: hidden !important;
}

/* Scroll area */
.plan-image-scroll {
  width: 100%;
  height: 100vh;
  overflow: auto;
  background: #000000;
  position: relative;
}

/* Stage creates scrollable space */
.plan-zoom-stage {
  width: 100vw;
  height: 100vh;
  position: relative;
  overflow: visible;
}

/* Actual image */
.plan-modal-image {
  display: block;
  width: 100vw;
  height: 100vh;
  max-width: none;
  object-fit: contain;
  background: #000000;
  transform-origin: top left;
  transform: scale(1);
  cursor: zoom-in;
  user-select: none;
  -webkit-user-drag: none;
}

/* Close button */
.plan-close-btn {
  z-index: 999999 !important;
}

/* Navigation buttons */
.plan-nav-btn {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99999;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #111111;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.plan-prev-btn {
  left: 14px;
}

.plan-next-btn {
  right: 14px;
}

.plan-nav-btn:hover {
  background: #ffffff;
}

/* Zoom buttons fixed left bottom */
.plan-zoom-controls {
  position: fixed;
  left: 28px;
  bottom: 36px;
  z-index: 999999;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.plan-zoom-btn {
  width: 48px;
  height: 48px;
  border: none;
  outline: none;
  border-radius: 50%;
  background: #ffffff;
  color: #000000;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35);
  transition: all 0.2s ease;
}

.plan-zoom-btn:hover {
  background: #111111;
  color: #ffffff;
}

.plan-zoom-btn:active {
  transform: scale(0.94);
}

/* Scrollbar */
.plan-image-scroll::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.plan-image-scroll::-webkit-scrollbar-track {
  background: #111111;
}

.plan-image-scroll::-webkit-scrollbar-thumb {
  background: #777777;
  border-radius: 10px;
}

.plan-image-scroll::-webkit-scrollbar-thumb:hover {
  background: #ffffff;
}

/* Mobile */
@media (max-width: 575px) {
  .plan-zoom-controls {
    left: 18px;
    bottom: 24px;
  }

  .plan-zoom-btn {
    width: 42px;
    height: 42px;
    font-size: 26px;
  }

  .plan-nav-btn {
    width: 40px;
    height: 40px;
    font-size: 20px;
  }

  .plan-prev-btn {
    left: 10px;
  }

  .plan-next-btn {
    right: 10px;
  }
}

.content-section{
    display:none;
}

.content-section.active{
    display:block;
}

.sort-icon{
    cursor:pointer;
    margin-left:6px;
    font-size:12px;
    color:#722525;
    user-select:none;
    font-weight:bold;
}

.topics .nav-link {
    background: transparent;
    border: 0;
    color: #333;
    font-size: 14px;
    padding: 10px 20px;
}

.topics .nav-link.active {
    color: #722525;
    font-weight: 600;
    border-bottom: 2px solid #722525;
}

.topic-item {
    flex-shrink: 0;
}

/* Default Accordion */
#projectAccordion .accordion-button {
    background-color: #EFEFEF;
    color: #000;
    box-shadow: none;
    transition: all 0.3s ease;
}

/* Hover */
#projectAccordion .accordion-button:hover {
    background-color: #ddd;
}

/* Active / Open Accordion */
#projectAccordion .accordion-button:not(.collapsed) {
    background-color: #722525;
    color: #fff;
    font-weight: 600;
    box-shadow: none;
}

/* Active / Open Accordion Hover */
#projectAccordion .accordion-button:not(.collapsed):hover {
    background-color: #5e1d1d;
    color: #fff;
}

/* Remove Bootstrap Focus Shadow */
#projectAccordion .accordion-button:focus {
    box-shadow: none;
    border-color: transparent;
}

/* Active Accordion Arrow */
#projectAccordion .accordion-button:not(.collapsed)::after {
    filter: brightness(0) invert(1);
}