@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&family=Poppins:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');

:root {
  --heading-font: "Cinzel", serif;
  --body-font: "Poppins", sans-serif;
}

/* Body */
body {
  font-family: var(--body-font);
  color: #333;
  line-height: 1.6;
  font-style: normal;
  overflow-x: hidden!important;
}
/* 1️⃣ Prevent scroll jump and layout shifting */
html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden; /* prevent side scroll */
}

/* 2️⃣ Images load hone par layout stable rahe */
img {
  max-width: 100%;
  height: auto;
  display: block; /* Prevent inline gaps */
  object-fit: cover;
}

/* 3️⃣ Section padding fix (avoid extra vertical jump) */
section {
  /* padding: 60px 0; */
  overflow: hidden;
}

/* 4️⃣ Flex & alignment stability */
.row {
  margin-left: 0;
  margin-right: 0;
}
.container {
  padding-left: 15px;
  padding-right: 15px;
}

/* 5️⃣ Prevent button and text jumping when hover */
.btn, a.btn {
  transition: all 0.3s ease-in-out;
}

/* 6️⃣ Divider styling */
.divider {
  width: 60px;
  height: 3px;
  background-color: #007bff;
  margin: 10px auto;
  border-radius: 2px;
}

/* 7️⃣ Custom button styling */
.btn-custom {
  background-color: #fff;
  color: #007bff;
  border: 2px solid #007bff;
  transition: all 0.3s ease;
}
.btn-custom:hover {
  background-color: #007bff;
  color: #fff;
}
li{
   color: #fff;
   font-family: "EB Garamond", serif !important;
}


/* 8️⃣ Smooth animation for fade effects (AOS compatible) */
[data-aos] {
  transition: transform 0.6s ease, opacity 0.6s ease;
}

/* 9️⃣ Prevent layout from jumping due to scrollbar width */
/* :root {
  scrollbar-gutter: stable both-edges;
} */


.fw-bold {
  font-weight: 500 !important;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--heading-font);
  font-weight: 500;
  text-transform: none;
  /* ensure headings are not forced uppercase */
}

/* Apply to paragraphs or any element */
p,
span,
div {
  font-variant: normal;
  text-transform: none;
  font-weight: 400;
  font-size: 16px;
  /* font-family: "EB Garamond", serif; */
    font-family: "poppins", serif;

  font-optical-sizing: auto;


}
@media (max-width:767px) {
  p,
span,
div {
  font-variant: normal;
  text-transform: none;
  font-weight: 400;
  font-size: 16px!IMPORTANT;
  /* font-family: "EB Garamond", serif; */
    font-family: "poppins", serif;

  font-optical-sizing: auto;


}

}
li {
    font-size: 18px;
    /* font-family: var(--heading-font); */
     font-family: "poppins", serif;
}

/* Top header */
.top-header a {
  transition: color 0.3s ease;
  font-size: 0.85rem;
  text-transform: none;
  /* prevent uppercase */
}

/* Social icon hover colors */
.fa-facebook:hover {
  color: #1877f2 !important;
}

.fa-instagram:hover {
  color: #e1306c !important;
}

.fa-youtube:hover {
  color: #ff0000 !important;
}

.fa-linkedin:hover {
  color: #0a66c2 !important;
}

/* Navbar */
.navbar {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.navbar-brand {
  font-size: 1.5rem;
  font-weight: 700;
  color: #20b2aa !important;
}

.navbar-nav .nav-link {
  font-weight: 500;
  transition: color 0.3s ease;
  text-transform: none;
}

.navbar-nav .nav-link:hover {
    color: #20b2aa !important;
}

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: rgb(255 255 255);
  text-decoration: none;
  background: 0 0;
  border: 0;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
}

/* Student portal button */
.btn-primary {
  background: linear-gradient(45deg, #0d6efd, #6610f2);
  border: none;
  transition: transform 0.2s ease;
}

.btn-primary:hover {
    transform: scale(1.05);
    background: linear-gradient(45deg, #20b2aa, #107b75);
}

/* Font Awesome icons fix */
i.fa-solid {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  display: inline-block;
  vertical-align: middle;
}

i.fa-regular {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
}

i.fa-brands {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}


.container-fluid.bg-dark1.py-2.text-white.top-header {
   
    background-color: #20B2AA;
}
/* First-letter capitalization for specific text */
.first-word-cap {
  text-transform: none !important;
}

.first-word-cap::first-letter {
  text-transform: uppercase;
}

.review-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border-radius: 30px;
  padding: 8px 14px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  font-size: 14px;
  font-weight: 600;
}

.review-badge img,
.review-badge i {
  width: 25px;
  height: 22px;
}

.stars {
  color: #20b2aa !important;
  /* Google Yellow */
  font-size: 14px;
  margin-top: 2px;
}

.rating {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.1;
}

.founder-section {
  text-align: center;
  padding: 40px 20px;
  background: #fff;
  position: relative;
}

.founder-section h2 {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 1px;
}

.founder-section h5 {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 20px;
}

.founder-section .divider {
  border-top: 1px solid #ccc;
  margin: 20px auto;
  width: 80%;
}

.stats {
    display: flex;
    justify-content: center;
    gap: 1px;
    flex-wrap: wrap;
}

.stat-item {
  text-align: center;
}

.stat-item h3 {
  font-size: 32px;
  font-weight: bold;
  color: #555;
}

.stat-item p {
  margin: 0;
  font-size: 14px;
  color: #333;
}

@keyframes zoomInOut {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.05);
  }

  /* thoda hi zoom karega */
  100% {
    transform: scale(1);
  }
}

.zoom-text {
  display: inline-block;
  animation: zoomInOut 2s infinite ease-in-out;
}

@media(min-width:767px) {
  .row.bg-white.shadow.rounded-4.overflow-hidden {
    width: 900px;
    margin: auto;
  }

  .navbar {
    box-shadow: 0 2px 10px rgb(0 0 0 / 30%);
  }

  .map-container {
    width: 100%;
    max-width: 2000px;
    /* laptop limit */
    margin: auto;
  }

  .map-container iframe {
    width: 100%;
    height: 450px;
    /* default for laptop */
    border: 0;
  }

  /* img.img-fluid.rounded.shadow {
    HEIGHT: 666PX;
} */
}

.card-bg {
  background-size: cover;
  background-position: center;
  color: white;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
  border-radius: 10px;
}

.card-bg-overlay {
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  padding: 20px;
}

.video-wrapper {
  position: relative;
  display: inline-block;
}

.play-btn {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgb(255 255 255);
    border: none;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    font-size: 30px;
    color: #20b2aa8f;
    cursor: pointer;
    transition: all 0.3s ease;
}

.play-btn:hover {
  background: #fff;
  transform: translate(-50%, -50%) scale(1.1);
}

h2.name {
  font-size: 29px;
  font-weight: 500;
}

.nectar-fancy-box {
  position: relative;
  min-height: 350px;
  overflow: hidden;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.nectar-fancy-box .box-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 85%;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}
.nectar-fancy-box .inner {
  position: relative;
  z-index: 2;
  height: 100%;
}

.nectar-fancy-box .heading-wrap h3 {
  color: #fff;
  position: relative;
  z-index: 2;
  text-align: center;
  padding-top: 20px;
  transition: transform 0.3s ease;
}

/* Hover effect: description */
.nectar-fancy-box .hover-content {
  position: absolute;
  /* bottom: 40px; */
  left: 15px;
  right: 15px;
  opacity: 0;
  color: #fff;
  background: rgba(0, 0, 0, 0.6);
  padding: 12px;
  border-radius: 5px;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transform: translateY(20px);
  text-align: center;
}

.nectar-fancy-box:hover .hover-content {
  opacity: 1;
  transform: translateY(0);
}

/* Zoom background & heading on hover */
.nectar-fancy-box:hover {
  transform: scale(1.03);
}

.nectar-fancy-box:hover .box-bg {
  transform: scale(1.1);
}

/* Individual card color example (optional) */
#card1 .hover-content {
  background-color: rgba(255, 165, 0, 0.7);
}

/* Orange */
#card2 .hover-content {
  background-color: rgba(0, 128, 128, 0.7);
}

/* Teal */
#card3 .hover-content {
  background-color: rgba(128, 0, 128, 0.7);
}

/* Purple */
#card4 .hover-content {
  background-color: rgba(255, 99, 71, 0.7);
}

/* Tomato */
#card5 .hover-content {
  background-color: rgba(0, 0, 128, 0.7);
}

/* Navy */
#card6 .hover-content {
  background-color: rgba(34, 139, 34, 0.7);
}

/* Forest Green */
#card7 .hover-content {
  background-color: rgba(128, 128, 0, 0.7);
}

/* Olive */
/* Left column animation */
.animate-left {
  opacity: 0;
  transform: translateX(-100px);
  animation: slideInLeft 1s ease-out forwards;
}

/* Right column animation */
.animate-right {
  opacity: 0;
  transform: translateX(100px);
  animation: slideInRight 1s ease-out forwards;
  animation-delay: 0.3s;
  /* thoda delay for smooth effect */
}

/* Keyframes */
@keyframes slideInLeft {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.founder-section {
  padding: 60px 0;
}

.founder-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 20px;
}

.founder-subtitle {
  color: #6c757d;
  letter-spacing: 2px;
  font-size: 0.9rem;
}

.stats {
  margin: 10px 0;
}

.stat-item h3 {
  font-size: 2rem;
  font-weight: bold;
}

.stat-item p {
  margin: 0;
  font-size: 0.9rem;
  color: #555;
}

.btn-list .btn {
  width: 100%;
  margin-bottom: 12px;
  background-color: #212529;
  color: #fff;
  font-weight: 600;
  letter-spacing: 1px;
}

.btn-list .btn:hover {
  background-color: #2d4454;
  color: #fff;
}

.book-cover {
  width: 100%;
  max-width: 297px;
  border-radius: 5px;
  box-shadow: 5px 5px 10px rgb(0 0 0 / 78%);
}

.book-row img {
  width: 100%;
  max-width: 150px;
  margin-bottom: 10px;
  border-radius: 5px;
}

.book-title {
  font-size: 0.9rem;
  text-align: center;
}

.main-title {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px;
}

.description p {
  font-size: 1rem;
  text-align: justify;
}

.btn-buy {
  margin-top: 20px;
}

/* Responsive adjustments */
@media(max-width:767px) {
  .container-fluid.bg-dark1.py-2.text-white.top-header {
    display: none;
  }

  .row.bg-white.shadow.rounded-4.overflow-hidden {
    width: 340px;
    margin: auto;
  }

  .map-container iframe {
    width: 100%;
    height: 350px;
    /* square view for mobile */
  }
}

.btn-primary {
    /* background: linear-gradient(45deg, #0d6efd, #6610f2); */
    border: none;
    transition: transform 0.2s ease;
    background-image: linear-gradient(#20B2AA, #20B2AA);
    color: #ffffff;
    font-weight: 700;
}

.btn-custom {
  display: inline-block;
  padding: 0.5rem 1.2rem;
  font-weight: 600;
  border: 2px solid;
  border-image:  linear-gradient(#20B2AA, #20B2AA);
  border-image-slice: 1;
  color: #20B2AA;
  /* Text color matches gradient start */
  background-color: transparent;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn-custom:hover {
  background: linear-gradient(#20B2AA, #20B2AA);
  color: #fff;
  /* Text becomes white on hover */
  border-color: transparent;
}


p.lead {
  font-family: "Cinzel", serif;
}




.bg-main {
  background-image: url(../Images/bg-main.jpg);

  background-position: center;
  /* Centers the image */
}

/* .bg-dark {
    --bs-bg-opacity: 1;
    background-color: rgb(28 27 23) !important;
} */
.bg-dark {
    --bs-bg-opacity: 1;
    background-color: rgb(8 25 28) !important;
}

img.img-fluid.rounded {
  box-shadow: 10px 10px 10px 10px #0000001c;
}

.text-primary {
  --bs-text-opacity: 1;
  color: #20B2AA !important;
}


.rating-box {
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    padding: 15px 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    transition: transform 0.3s;
    flex-wrap: nowrap;
    flex-direction: column;
}
.rating-box:hover {
  transform: translateY(-5px);
}

.rating-box img {
  width: 30px;
  margin-right: 10px;
}

.testimonial-quote {
    font-size: 0.93rem;
    margin-top: 20px;
    line-height: 1.6;
    /* font-style: italic; */
}

.video-box {
  width: 100%;
  max-width: 350px;
  /* Limits video size */
  margin: 0 auto;
  /* Centers horizontally */
  border-radius: 12px;
  overflow: hidden;
}

.ratio-9x16 {
  position: relative;
  width: 100%;
  padding-top: 60.78%;
  /* Portrait 9:16 ratio */
}

.ratio-9x16 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}


.bg-light {
    background-color: #20b2aa0f !important;
    color: #000000 !important;
    padding: 0.5rem 1rem;
    border-radius: 5px;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.052);
}
@media(max-width:767px){
   .bg-light {
    background-color: #20b2aa0f !important;
    color: #000000 !important;
    padding: 0rem;
    border-radius: 5px;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.052);
} 
}
.card-bg {
  position: relative;
  background-size: cover;
  background-position: center;
  border-radius: 12px;
  overflow: hidden;
  min-height: 300px;
  opacity: 0;
  /* start hidden */
  transform: translateX(0);
  /* default */
  transition: transform 0.8s ease, opacity 0.8s ease;
}

.card-bg-overlay {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 20px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  border-radius: 12px;
}

/* Slide-in animations */
.slide-in-left.active {
  opacity: 1;
  transform: translateX(0);
}

.slide-in-left {
  transform: translateX(-100px);
}

.slide-in-right.active {
  opacity: 1;
  transform: translateX(0);
}

.slide-in-right {
  transform: translateX(100px);
}

/* Slide-up animation for conference section */
.conference-slide-up {
  opacity: 0;
  transform: translateY(50px);
  transition: transform 0.8s ease, opacity 0.8s ease;
}

.conference-slide-up.active {
  opacity: 1;
  transform: translateY(0);
}

/* Optional subtle zoom for heading */
.conference-slide-up h4 {
  transition: transform 0.8s ease;
}

.conference-slide-up h4.active {
  transform: scale(1.03);
}
/* Default image height for small devices */
#multiCarousel img {
  border-radius: 8px;
  height: 120px;
  object-fit: cover;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Slight zoom + shadow on hover */
#multiCarousel img:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

/* Laptop (≥992px) — increase image size */
@media (min-width: 992px) {
  #multiCarousel img {
    height: 180px; /* Increased from 120px */
  }
}

/* Desktop large (≥1200px) — slightly bigger */
@media (min-width: 1200px) {
  #multiCarousel img {
    height: 200px;
  }
  .modal-dialog.modal-dialog-centered.modal-lg {
    width: 498px;
}
.stats {
    display: flex;
    justify-content: center;
    gap: 0px;
    flex-wrap: nowrap;
}

}

/* Optional: smooth spacing between images */
#multiCarousel .col-6 {
  padding: 5px;
}
a {
    color: #20B2AA;
    text-decoration: underline;
}
h3.fw-bold.counter {
    color: #20B2AA;
}
.accordion-button:not(.collapsed) {
    color: #1fa099;
    background-color: var(--bs-accordion-active-bg);
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.stat-item h3 {
    font-size: 32px;
    font-weight: bold;
    color: #20b2aa;
}
.nav-link {
    display: block;
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
    font-size: var(--bs-nav-link-font-size);
    font-weight: var(--bs-nav-link-font-weight);
    color: #20B2AA!important;
    text-decoration: none;
    background: 0 0;
    border: 0;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
}
/* Default soft look toggler */
.navbar-toggler {
    border: none;
    outline: none;
    background-color: lab(100 0 0 / 0);
    padding: 8px 10px;
    border-radius: 10px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;

}

.navbar-toggler:hover {
    background-color: #ffffff;
    box-shadow: 0 0 10px rgb(5 122 116 / 12%);
}

.benefit-card {
  background: #fff;
  border-radius: 20px;
  padding: 30px 20px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.benefit-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.benefit-card img {
  display: block;
  margin: 0 auto 15px; /* Centers image horizontally and adds space below */
  width: 120px; /* Adjust size as needed */
  height: 120px;
  object-fit: cover;
}

.benefit-card h5 {
  font-weight: 600;
  margin-bottom: 10px;
}

.benefit-card p {
  font-size: 15px;
  line-height: 1.6;
}


/* 🌿 Navbar Base */
.navbar {
  background: #20B2AA;
  box-shadow: 0 4px 12px rgba(32, 178, 170, 0.1);
  transition: all 0.3s ease;
}

/* 🌿 Links Styling */
.navbar .nav-link {
  color: #20B2AA !important;
  font-weight: 500;
  padding: 10px 18px;
  border-radius: 30px;
  transition: all 0.3s ease-in-out;
  position: relative;
}

.navbar .nav-link:hover, .navbar .nav-link.active {
    color: #20B2AA !important;
    /* background: #20B2AA; */
    /* box-shadow: 0 4px 10px rgba(32, 178, 170, 0.4); */
}
/* ✨ Underline Glow (optional stylish accent) */
.navbar .nav-link::after {
  content: '';
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
  width: 0%;
  height: 2px;
  background: #20B2AA;
  transition: all 0.3s ease;
}

.navbar .nav-link:hover::after,
.navbar .nav-link.active::after {
  width: 50%;
}

/* 🌿 Mobile Menu Styling */
@media (max-width: 991px) {
.navbar-collapse {
    background: rgba(32, 178, 170, 0.08);
    border-radius: 12px;
    margin-top: -5px;
    padding: 0px 0;
    box-shadow: 0 4px 12px rgba(32, 178, 170, 0.15);
}

  .navbar-nav {
    text-align: center;
  }

  .navbar-nav .nav-item {
    margin: 6px 0;
  }
.navbar-nav .nav-link {
    font-size: 1.05rem;
    padding: 3px 0;
    border-radius: 0;
}

  .navbar .nav-link:hover,
  .navbar .nav-link.active {
    background: #20B2AA;
    color: #fff !important;
    border-radius: 10px;
    box-shadow: 0 3px 8px rgba(32, 178, 170, 0.3);
  }
}

/* Smooth Dropdown Animation */
.navbar-collapse.collapsing {
  transition: height 0.3s ease;
}
/* 🌿 Right-Side Sidebar Menu for Mobile */
@media (max-width: 991px) {
.navbar-collapse {
  position: fixed;
  top: 61px;
  right: -280px; /* ✅ Start hidden off-screen */
  width: 258px;
  height: 92vh;
  background: #ffffff;
  box-shadow: -4px 0 12px rgba(0, 0, 0, 0.15);
  border-left: 3px solid #20B2AA;
  padding: 1rem 1.5rem; /* ✅ Better spacing than 0rem 3rem */
  transition: right 0.4s ease;
  z-index: 1050;
  text-align: center;
  border-radius: 10px 0 0 10px; /* ✅ Optional smooth edge */
}

/* ✅ When sidebar is open */
.navbar-collapse.show {
  right: 6px !important; /* Slide in neatly */
}


  /* Hide page scroll when menu open */
  body.nav-open {
    overflow: hidden;
  }

  .navbar-nav {
    flex-direction: column;
    align-items: flex-start;
  }

.navbar-nav .nav-link {
    color: #20B2AA !important;
    text-align: left;
    width: 100%;
    font-size: 1.1rem;
    font-weight: 600;
    padding: 7px 0;
    border-bottom: 1px solid rgba(32, 178, 170, 0.2);
    /* text-align: center; */
}
  .navbar-nav .nav-link:hover {
    color: #fff !important;
    background: #20B2AA;
    border-radius: 8px;
    padding-left: 10px;
    width:100px;
  }

  /* Overlay when sidebar is open */
  .navbar-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    /* background: rgba(0, 0, 0, 0.4); */
    z-index: 1040;
    transition: opacity 0.4s ease;
  }

  .navbar-overlay.active {
    display: block;
  }




