/* Banner Styles */
.banner-container {
  position: relative;
  text-align: center;
  color: white;
  height: 50vh; /* Set the height to 50% of the viewport height */
  overflow: hidden; /* Hide any overflow */
}

.banner-image {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensure the image covers the entire container */
}

.banner-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%; /* Set the width to 80% */
  font-size: 3em;
  font-weight: bold;
  background-color: rgba(0, 0, 0, 0.6);
  padding: 20px;
  border-radius: 10px;
  white-space: pre-line; /* Allow line breaks */
  text-align: center; /* Center the text */
}

/* Custom Navbar Styles */
.custom-navbar {
  display: flex;
  align-items: center;
}

.navbar-logo {
  max-height: 50px; /* Set a reasonable maximum height for the logo */
  height: auto;
  display: block;
  margin-right: 10px; /* Add some space between the logo and the text */
}

.navbar-brand {
  display: flex;
  align-items: center;
  min-height: 50px; /* Minimum height of the navbar */
  padding-top: 0;
  padding-bottom: 0;
}

.navbar-text {
  white-space: nowrap; /* Prevent the text from wrapping to the next line */
  font-size: 1.1rem; /* Increase the font size slightly */
  color: inherit; /* Inherit the color from the parent */
  line-height: 1.5; /* Set line height for proper alignment */
}

/* Right-align the navigation menu items on mobile */
@media (max-width: 992px) {
  .navbar-nav {
    text-align: right; /* Right-align the menu items */
    width: 100%; /* Ensure it takes full width */
  }

  .navbar-nav .nav-item {
    width: 100%; /* Ensure each item is full-width */
  }
}

/* Container Styles */
.container-custom {
  padding-left: 10px; /* Reduce left padding */
  padding-right: 10px; /* Reduce right padding */
  margin-top: 1rem; /* Bootstrap's mt-3 class equivalent */
}

/* Header Styles */
h1 {
  margin-top: 2rem; /* Add more vertical space before h1 */
}

h2 {
  margin-top: 1.5rem; /* Add more vertical space before h2 */
}

/* Smaller text class */
.footnote {
  font-size: 0.9rem; /* Set the font size to one size smaller than the default */
  font-color: darkgray;
}

/* Table Styles for Schedule Page */
.table-title {
  font-weight: bold;
  font-size: 1.15rem; /* Increase the font size slightly */
  background-color: white;
  color: #C41230;
}

.group-title {
  font-weight: bold;
  text-align: center;
  background-color: #6D6E71;
  color: white;
}

.group-white {
  background-color: white;
}

.group-gray {
  background-color: #f2f2f2;
}

/* Alternate Row Table Styles */
.alternate-row-table {
  width: 100%; /* Cover full screen width */
  border-collapse: collapse; /* Remove border lines */
  margin-left: 0; /* Left align the table */
}

.alternate-row-table th,
.alternate-row-table td {
  padding: 4px 2px; /* Minimal left and right padding */
  text-align: left; /* Left align text */
}

.alternate-row-table tr:nth-child(even) {
  background-color: #f2f2f2;
}

.alternate-row-table tr:nth-child(odd) {
  background-color: white;
}

.alternate-row-table td:first-child {
  font-weight: bold; /* First column in bold */
  width: auto; /* Adjust column width to text */
}

.pdf-thumbnail {
    width: 100%;
    height: auto;
    max-width: 35px; 
    max-height: 35px; 
}

