/* Global Styles */
body {
  font-size: 1.3rem;
}

/* Main Section */
.main {
  margin-top: 3.125rem !important;
}

/* Meeting Section */
.meeting {
  margin-top: 1.2rem !important;
  margin-bottom: 1.25rem !important;
}

/* Meeting Link */
#meeting-link {
  font-size: 1.35rem;
  display: block;
  margin-bottom: 0.625rem;
}

/* Section Heading */
.section-heading {
  margin: 0 auto;
  margin-top: 1.875rem;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

/* Line Break */
.line-break {
  margin-top: 1.875rem;
}

/* Go-to-Top Link */
.go-to-top {
  margin-top: 20px;
  font-size: 1.1rem;
  margin-bottom: 20px;
}

/* Blue Link */
.blue-link,
.blue-link:visited {
  color: navy;
}

/* Item */
.item {
  font-size: 1.5rem;
  font-weight: 550;
  line-height: 200%;
}

/* Merged Item */
.merged-item {
  font-style: italic;
  font-size: 1.85rem;
  margin: 0 auto;
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}

/* Image Center */
.imgcenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Second Hour Meeting */
.second-hour-meeting {
  font-size: 1.5rem;
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}

/* Room Assignment */
.room-assignment {
  font-size: 1.25rem;
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}

/* Value */
.value {
  font-size: 1.5rem;
  text-align: right;
  line-height: 200%;
}

/* Primary Category */
.primary-category {
  font-weight: 700;
  margin-top: 1.25rem;
}

/* Classroom */
.classroom {
  font-size: 1.2rem;
  font-weight: 700;
}

/* Teacher */
.teacher {
  font-size: 1.3rem;
}

/* Student */
.student {
  font-size: 1.3rem;
  margin-left: 1.25rem;
  width: 15rem;
}

/* Background Colors */
.bg-light-gray {
  background-color: #f8f3e5;
}

.bg-light-blue {
  background-color: #e5e5f8;
}

.bg-light-green {
  background-color: #f2f8e5;
}

/*Announcement */
 .announcement {
  font-size: 1.125rem;
  margin: 1.125rem 0;
  margin-bottom: 20px;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #f9f9f9;
}

/* .announcement {
  margin-bottom: 20px;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #f9f9f9;
} */
/* .announcement {
  font-size: 1.125rem;
  margin: 1.125rem 0;
  margin-bottom: 20px;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #f9f9f9;
  display: flex;
  align-items: flex-start;
} */

.announcement img {
  max-width: 100%;
  height: auto;
}

.quote {
  flex: 1;
  margin-right: 20px;
}

.content {
  flex: 2;
  text-align: center;
}

.content img {
  max-width: 100%;
  height: auto;
}

.content div {
  margin-top: 10px;
}

/* Announcement Heading */
.announcement-heading {
  font-size: 1.5rem;
  font-weight: 700;
  background-color: #d6dbff4b;
  text-align: center;
  padding: 10px; /* Added padding for better spacing */
}

/* Iframe Container Styles */
.iframe-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; /* Aspect ratio of 16:9 */
  margin: 0 auto;
}

.iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* Responsive Adjustments */

@media (max-width: 768px) {
  .modal-content {
      width: 95%;
      margin: 2vh auto; /* Less margin on mobile */
      height: auto; /* Let content define the height */
      min-height: 90vh; /* Ensure it's tall enough on mobile */
  }

  .modal-content iframe {
      height: 80vh; /* Adjust iframe height for better fit on mobile */
  }
}

@media (min-width: 768px) {
  .iframe-container {
    padding-bottom: 75%; /* Adjust this value as needed for desktop */
  }
}

@media (max-width: 767px) {
  .iframe-container {
    padding-bottom: 150%; /* Adjust this value as needed for mobile */
  }
}
@media (max-width: 768px) {
  .media-container {
      padding-bottom: 100%; /* This makes the container square on mobile, adjust if needed */
  }
  
  .drive-iframe {
      max-width: 100%; /* Allow the iframe to take full width on mobile */
      height: auto; /* Let the content determine the height */
  }
}

/* Modal (if needed) */
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.4);
}

.modal-content {
  background-color: #fefefe;
  margin: 5vh auto; /* Changed from 15% to 5vh for better vertical spacing */
  padding: 20px;
  border: 1px solid #888;
  width: 90%; /* Increased width to allow more space inside */
  height: 80vh; /* Set a height that uses most of the viewport height */
  max-height: 90vh;
  overflow-y: auto; /* Add scroll if content is taller than the modal */
}
.modal-content iframe {
  width: 100%;
  height: 100%; /* This will make the iframe fill the modal content area */
  border: none; /* Removes the iframe border if there */
}

.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/* added from GROK */
.media-container {
  position: relative;
  padding-bottom: 75%; /* Adjust this percentage to change the aspect ratio */
  height: 0;
  overflow: hidden;
}

.media-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: 640px; /* This should match your desired max width */
  margin: 0 auto; /* Center the iframe if it's smaller than the container */
}
.drive-iframe {
  width: 100%;
  max-width: 640px;
  height: 480px;
  border: none;
  overflow: hidden;
  display: block; /* Ensures the iframe behaves like a block element */
}

.event-details {
  list-style-type: none;
  padding-left: 0;
}

.event-details li {
  margin: 5px 0;
}

.image-container {
  text-align: center; /* Center images */
  margin: 20px 0;
}

.image-container img {
  max-width: 100%; /* Responsive scaling */
  height: auto;
  border: 1px solid #ddd; /* Optional light border for polish */
  border-radius: 8px; /* Rounded corners */
  box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Subtle shadow for embedding feel */
}

.scrollable-gallery {
  display: flex;
  overflow-x: auto; /* Horizontal scroll if multiple images */
  gap: 10px; /* Space between images */
  padding: 10px;
  scrollbar-width: thin; /* Slimmer scrollbar for modern look */
}

.scrollable-gallery img {
  flex: 0 0 auto; /* Don't shrink images */
  width: 300px; /* Fixed width for gallery items; adjust as needed */
}