/* To format the Event List in the right rail appropriately */
.eventlist {
  font-family: 'Ubuntu', 'Arial', sans-serif;
  font-size: 16px;
  text-align: center;
 }
.subform {
  font-family: 'Ubuntu', 'Arial', sans-serif;
  font-size: 26px;
  color: orange
}

/* These make the youtube videos on various pages responsive */

.youtube-video-container {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.youtube-video-container::after {
  display: block;
  content: "";
  padding-top: 56.25%;
}

.youtube-video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* --- LAYOUT CSS (CRITICAL FOR 100% / 2/3 / 1/3 SPLIT) --- */

/* Gold Row Container (100% width) */
.all-sponsors-combined-row-container {
  display: flex;
  width: 100%;
  margin-bottom: 20px;
}
.gold-group-column {
  width: 100%;
}

/* Silver and Bronze Row Container (Enables the 2/3 and 1/3 split) */
.sponsors-second-row {
  display: flex;
  width: 100%;
}

/* Silver takes 2/3 width */
.sponsors-second-row .silver-group-column {
  flex: 2;
  min-width: 0; /* Ensures proper shrinking in a flex container */
  border-right: 1px solid #ccc; 
  padding-right: 10px;
}

/* Bronze takes 1/3 width */
.sponsors-second-row .bronze-group-column {
  flex: 1;
  min-width: 0; /* Ensures proper shrinking in a flex container */
  padding-left: 10px;
}


/* --- BOX & CONTAINER STYLING (BORDER/SHADOW/ALIGNMENT) --- */

/* Base style for all sponsor columns (border and shadow) */
.sponsor-group-column {
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 10px;
  margin: 10px; /* Adjust margin to 10px on all sides for spacing */
  text-align: center;
}

/* Inner Flex Container for Logo alignment and wrapping */
.sponsor-group-inner-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 15px;
}

/* Individual logo container */
.sponsor-item {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 10px;
  max-height: 100px; 
}


/* --- IMAGE SIZING (HEIGHT-BASED) --- */

.gold-group-column .sponsor-item img {
  max-height: 100px; 
  width: auto;
  max-width: 100%;
}

.silver-group-column .sponsor-item img {
  max-height: 70px; 
  width: auto;
  max-width: 100%;
}

.bronze-group-column .sponsor-item img {
  max-height: 50px; 
  width: auto;
  max-width: 100%;
}


/* --- TIER HEADER STYLING (COLOR/BOLD) --- */

.sponsor-group-column h3 {
  font-weight: bold;
  padding: 5px 10px;
  display: inline-block;
  margin-top: 0;
  margin-bottom: 15px;
  border-radius: 4px;
  text-transform: uppercase;
  font-size: 1.2em;
}

.gold-group-column h3 {
  background-color: #FFFACD; /* Light Gold/Yellow */
  color: #333;
  border: 1px solid #FFD700;
}

.silver-group-column h3 {
  background-color: #E6E8EA; /* Light Silver/Gray */
  color: #333;
  border: 1px solid #C0C0C0;
}

.bronze-group-column h3 {
  background-color: #FAF4E8; /* Light Bronze/Brown */
  color: #333;
  border: 1px solid #CD7F32;
}

/* --- RESPONSIVE STYLING FOR TABLETS AND MOBILE DEVICES --- */

@media (max-width: 768px) {
  
  /* 1. Stack Silver and Bronze columns */
  .sponsors-second-row {
    flex-direction: column; 
    padding: 0 10px; /* Add slight horizontal padding to the main wrapper */
  }

  /* 2. Reset margins and widths on the column containers */
  .sponsors-second-row .silver-group-column,
  .sponsors-second-row .bronze-group-column {
    flex: none; 
    width: auto; /* Use 'auto' instead of 100% to account for parent padding */
    margin: 10px 0; /* Only vertical margin needed now */
    border-right: none; 
    padding-left: 10px; /* Reset padding used for the 2/3, 1/3 split */
    padding-right: 10px;
  }
  
  /* 3. Reset the general sponsor box margin to ensure full width use */
  .sponsor-group-column {
    /* Remove horizontal margins that cause overflow */
    margin-left: 0; 
    margin-right: 0;
  }

  /* 4. Ensure images don't stretch too wide */
  .sponsor-group-column .sponsor-item img {
    max-height: 80px; 
  }
}