/* Reset and Base Styles */
body {
  position: relative;
  min-width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column; /* Stack children vertically */
  justify-content: flex-start; /* Align children to the top */
  align-items: center; /* Center horizontally */
  background: rgb(29, 29, 29);
  color: white; /* Optional: Makes text white for better visibility */
  margin: 0; /* Removes default margin */
  padding-top: 20px; /* Adds space at the top */
}

/* Heading - Top Center */
h1 {
  text-align: center;
  margin: 20px 0;
  width: 100%;
  position: static; /* Ensures it stays in normal flow */
}

/* Centered Content */
.centered-content {
  text-align: center;
  margin-top: auto; /* Pushes content to the middle */
  margin-bottom: auto;
  color: white;
}

a {
  color: white !important;
}

a:link {
  color: white;
}

a:visited {
  color: green;
}


/* Slider Container - Takes Available Space */
.slider_container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 20px 0;
}

/* Footer Link - Bottom Center */
.footer-link {
  text-align: center;
  margin: 20px 0;
  color: white;
  text-decoration: none;
  display: block;
  width: 100%;
}

.footer-link:hover {
  text-decoration: underline;
  color: white;
}

/* CSS-only Slider with Animation */
.slider {
  position: relative;
  width: 80%;
  max-width: 800px;
  height: 400px; /* Fixed height for consistency */
  overflow: hidden;
}

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: slideAnimation 16s infinite;
  display: flex;
  justify-content: center;
  align-items: center;
}


.caption {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,0.5);
  padding: 5px 10px;
  border-radius: 4px;
  color: white;
}

/* Individual slide timings */
.slide:nth-child(1) { animation-delay: 0s; }
.slide:nth-child(2) { animation-delay: 4s; }
.slide:nth-child(3) { animation-delay: 8s; }
.slide:nth-child(4) { animation-delay: 12s; }


/* Keyframe animation */
@keyframes slideAnimation {
  0% { opacity: 0; }
  10% { opacity: 1; }
  25% { opacity: 1; }
  35% { opacity: 0; }
  100% { opacity: 0; }
}

/* Slide images */
.slide img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 8px;
}

/* IE11 specific fixes */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .slider {
    display: block;
  }
  .slide {
    position: relative;
    float: left;
    width: 100%;
    display: none;
  }
  .slide:first-child {
    display: block;
  }
}