/* Team image smaller and rounded */
.Team-img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 50%;
  margin: 24px auto 0 auto;
  display: block;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

html,
body {
  height: 100%;


}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: Arial, Helvetica, sans-serif;

}


h1 {
  font-family: 'Century Gothic', CenturyGothic, sans-serif !important;
}

main {
  flex: 1 0 auto;
}

body {
  scroll-behavior: smooth;
}

.navbar {
  transition: background .3s;
}

.navbar-brand {
  font-size: 1.60rem;
}

.logo {
  height: 80px;

}

.navbar.scrolled {
  background: rgba(0, 0, 50, 0.75);
  background-image: url('../img/Header/scrolled.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-blend-mode: overlay;
}

.dropdown-menu {
  background: rgba(0, 0, 50, 0.75);
}

/* Custom hover color for dropdown items */
.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
  background: rgba(0, 0, 50, 0.45);
  color: rgb(89, 93, 93);
}

.navbar-toggler {

  color: rgb(243 16 16 / 0%);
  background-color: #ffffff2a;
  border: var(--bs-border-width) solid rgb(255 255 255);
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

.hero {
  background: url('../img/Header/Ocean.jpg') center/cover fixed; 
  color: white;
  position: relative;
}

.hero.not-index {
  background: url('../img/Header/Ocean.jpg') center/cover fixed;
  height: 40vh;
  color: white;
  position: relative;
}

.hero .overlay {
  position: absolute !important;
  inset: 0;
  background: rgba(71, 135, 196, 0.4);
}

.hero .content {
  position: relative;
  top: 25%;
  transform: translateY(-50%);
}

.hero .overlay {
  z-index: 1;
}

.hero .content,
.carousel-bg .container {
  position: relative;
  z-index: 2;
}

.carousel-indicators [data-bs-target] {
  background-color: white;
  opacity: 0.6;
  margin: 0 4px;
  transition: opacity 0.3s;
}

.carousel-indicators .active {
  opacity: 1;
  background-color: #0d6efd;
}


.section {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.6s ease;
  scroll-margin-top: 80px;
  /* O ajusta según el alto real del navbar */
}

.section1 {
  scroll-margin-top: 55px;
  /* O ajusta según el alto real del navbar */
}

.section.visible {
  opacity: 1;
  transform: translateY(0);
}

.lead {
  font-size: 1.1rem;
  font-weight: 500;
  text-shadow: 1px 1px 2px rgb(7, 7, 7);
}

.leadSubtitle {
  font-size: 1.1rem;
  font-weight: 500;

}

.img-wheelchair {
  width: 360px;
  height: auto;
  align-items: center;
}

.iframe-google {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  height: 4800px;
}


.card-body {
  height: 360px;
}


.card-body.team {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  height: 200px !important;
  min-height: 200px !important;
  max-height: 200px !important;
  padding-bottom: 0;
}

.card-body.team .card-title,
.card-body.team .text-muted {
  width: 100%;
  text-align: center;
}

.card-body.team .card-text {
  flex-grow: 1;
  width: 100%;
}

.card-body.team .mt-auto {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.card-body.team .btn {
  margin: 0 4px;
}

.card-body.team .mt-2 {
  margin-top: auto;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.view-more {
  margin-bottom: 44.42px;
}

.list-group-item {
  border: 0;
}


.scholarshipMainImage {
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  border: 4px solid #0d6efd;
}

@media (min-width: 1200px) {
  .display-4 {
    font-size: calc(1.2rem + 1.0vw);
  }
  .hero {
    height: calc( 50vh + 12rem);
  }

}


@media (max-width: 1300px) {
  .hero {
   height: calc( 90vh + 2.5rem);
  }

  .carousel .display-4,
  .carousel h1.display-4 {
    font-size: calc(1.2rem + 2.0vw);
  }

  .hero.not-index {
    padding-top: 100px;
    padding-bottom: 50px;

  }


}


@media (max-width: 765px) {
  .navbar-brand {
    font-size: 1.25rem;
  }

  .hero {
    height: 110vh;

  }

  .carousel .display-4,
  .carousel h1.display-4 {
    font-size: 1.8rem;
  }

}




/* Responsive design */
@media (max-width: 600px) {


  .navbar-brand {
    font-size: 1.25rem;
  }

  .logo {
    height: 40px;

  }

  .lead {
    font-size: 0.8 rem;
    font-weight: 300;
    text-shadow: 1px 1px 2px rgb(7, 7, 7);
  }

  .display-4 {
    font-size: calc(1.2rem + 2.0vw);
    font-weight: 300;
    line-height: 1.2;
  }

  .hero .content {
    position: relative;
    transform: translateY(-25%);
  }

  .iframe-google {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    height: 6600px;
  }

  .hero {
    height: 80vh;

  }

  .hero.not-index {
    padding-top: 80px;
    height: auto;

  }


}



/* Responsive design */
@media (max-width: 395px) {
  .navbar-brand {
    font-size: 1.1rem;
  }

  #navbarButton {
    width: 46px;

  }

  .navbar-toggler-icon {
    width: 19px;

  }
}

.responsive-calendar {
  position: relative;
  width: 100%;
  padding-bottom: 75%;
  /* Esto mantiene una proporción 4:3, ajustable */
  height: 0;
  overflow: hidden;
}

.responsive-calendar iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* DAN side banners — sticky inside <main> so they don't overlap header/footer */
.dan-side {
  position: fixed;

  /* distance from top of viewport (adjust if navbar taller) */
  width: 120px;
  z-index: 1025;
  /* below the navbar (Bootstrap fixed-top usually 1030) */
  line-height: 0;
  /* initially keep in flow hidden on small screens using utility classes; JS will set precise left positions on large screens */
  transition: top 0.22s ease;
}

.dan-side.left {
  left: 40px;
}

.dan-side.right {
  /* right will be set by JS to align to main container */
}

/* Ensure the image keeps its native width */
.dan-side img {
  width: 120px;
  height: auto;
  display: block;
}

/* Mobile banner styling */
.dan-mobile img {
  max-width: 100%;
  height: auto;
}

.dan-mobile {
  display: none !important;
}

/* Responsive safety: hide side banners at smaller breakpoints */
@media (max-width: 1440px) {
  .dan-side {
    display: none !important;
  }

  .img-insurance {
    content: url("../img/dan/dan-travel-insurance-rewards-970x90px.jpg") !important;
  }

  .img-membership {
    content: url("../img/dan/dan-membership-referral-rewards-1-970x90px.jpg") !important;
  }

  .dan-mobile {
    display: block !important;
  }
}


@media (max-width: 975px) {
  .dan-side {
    display: none !important;
  }

  .img-insurance {
    content: url("../img/dan/dan-travel-insurance-rewards-728x90px.jpg") !important;
  }

  .img-membership {
    content: url("../img/dan/dan-membership-referral-rewards-1-728x90px.jpg") !important;
  }

  .dan-mobile {
    display: block !important;
  }
}

@media (max-width: 735px) {
  .dan-side {
    display: none !important;
  }

  .img-insurance {
    content: url("../img/dan/dan-travel-insurance-rewards-468x60px.jpg") !important;
  }

  .img-membership {
    content: url("../img/dan/dan-membership-referral-rewards-1-468x60px.jpg") !important;
  }

  .dan-mobile {
    display: block !important;
  }
}

@media (max-width: 475px) {
  .dan-side {
    display: none !important;
  }

  .img-insurance {
    content: url("../img/dan/dan-travel-insurance-rewards-234x60px.jpg") !important;
  }

  .img-membership {
    content: url("../img/dan/dan-membership-referral-rewards-1-234x60px.jpg") !important;
  }

  .dan-mobile {
    display: block !important;
  }
}




/* Section responsive adjustments: make horizontal spacing and key elements adapt fluidly */
.section.container {
  box-sizing: border-box;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  width: 100%;
}

.section {
  /* allow sections to use an adjustable horizontal padding value */
  --section-h-pad: 1rem;
  padding-left: var(--section-h-pad);
  padding-right: var(--section-h-pad);
}

/* Make images and card bodies scale smoothly across breakpoints */
.img-wheelchair {
  width: clamp(220px, 30vw, 360px);
  height: auto;
}

.card-body {
  height: auto;
  /* override fixed height to let content flow */
  min-height: 280px;
}

@media (min-width: 576px) {
  .section {
    --section-h-pad: 1.5rem;
  }

  .card-body {
    min-height: 300px;
  }

  .img-wheelchair {
    width: clamp(240px, 26vw, 360px);
  }
}

@media (min-width: 768px) {
  .section {
    --section-h-pad: 2rem;
  }

  .card-body {
    min-height: 320px;
  }
}

@media (min-width: 992px) {
  .section {
    --section-h-pad: 3rem;
  }

  .section.container {
    max-width: 1100px;
  }

  .card-body {
    min-height: 360px;
  }
}

@media (min-width: 1200px) {
  .section {
    --section-h-pad: 4rem;
  }

  .section.container {
    max-width: 1200px;
  }
}

@media (max-width: 575.98px) {
  .card-body {
    min-height: auto;
  }

  .img-wheelchair {
    width: clamp(180px, 40vw, 300px);
  }

  .lead {
    font-size: 0.95rem;
  }
}