@charset "utf-8";
/* CSS Document */

h1, h2, h3, h4, h5, h6 {
	color: var(--navy);
}

p {
	color: #000;
	line-height: 1.5;
}

.main-content, .container-b {
	padding-top: 30px;
	max-width: 1200px;
	margin: 40px auto;
	padding-left: 20px;
	padding-right: 20px;
}

/*
.school-tours {
  margin-top: 40px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
}

.school-tours h2 {
  font-size: 2.8em;
  margin-bottom: 20px;
  color: var(--navy);
}

.school-tours h3 {
  font-size: 1.8em;
  margin-top: 20px;
  margin-bottom: 15px;
  color: var(--navy);
}

.school-tours h4 {
  font-size: 1.4em;
  margin-top: 15px;
  margin-bottom: 10px;
  color: var(--navy);
}

 Grid Layout - Mobile First 
.tours-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}

.tours-intro {
  grid-column: 1 / -1;
}

.tour-types {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}

.tour-type {
  background-color: #f9f9f9;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.tour-details ul {
  margin-left: 20px;
  padding-left: 0;
}

.tour-details li {
  margin-top: 8px;
}

.tour-image {
	position: relative;
	object-fit: contain;
	max-width: 300px;
	margin: 1rem auto;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1)
}

.tour-image img {
	position:relative;
	object-fit: contain;
	width:100%;
	height:100%;
}*/

/* School Tours Section */
.school-tours {
  max-width: 1200px;
  margin: 40px auto;
  padding: 0 20px;
}

.school-tours h2 {
  font-size: 2.8em;
  margin-bottom: 20px;
  color: var(--navy);
}

.school-tours h3 {
  font-size: 2.5em;
  margin-bottom: 5px;
  color: var(--navy);
}

.school-tours h4 {
  font-size: 1.8em;
  margin-bottom: 10px;
  color: var(--navy);
}

.school-tours-intro-text {
  margin-bottom: 30px;
  font-size: 1.1em;
}


/* School Programs Section */
.school-programs {
  max-width: 1200px;
  margin: 40px auto;
  padding: 0 20px;
}

.school-programs h2 {
  font-size: 2.8em;
  margin-bottom: 20px;
  color: var(--navy);
}

.school-programs h3 {
  font-size: 2.5em;
  margin-bottom: 5px;
  color: var(--navy);
}

.school-programs h4 {
  font-size: 1.8em;
  margin-bottom: 10px;
  color: var(--navy);
}

.schools-intro-text {
  margin-bottom: 30px;
  font-size: 1.1em;
}

.section-header {
  margin-bottom: 20px;color: var(--navy);
}

/* Program Cards */
.tour-grid, .program-grid, .workshop-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  margin-bottom: 40px;
}

.tour-card, .program-card, .workshop-card {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tour-card:hover, .program-card:hover, .workshop-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}

.tour-image, .program-image, .workshop-image {
  height: 200px;
  overflow: hidden;
}

.tour-image img, .program-image img, .workshop-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.tour-card:hover .tour-iamge img, .program-card:hover .program-image img, 
.workshop-card:hover .workshop-image img {
  transform: scale(1.05);
}

.tour-content, .program-content, .workshop-content {
  padding: 20px;
}

.tour-note, .program-note {
  margin-top: 10px;
  font-size: 0.9em;
  color: #666;
}

/* Lists */
.tour-content ul, .program-content ul {
  margin: 15px 0 0 20px;
  padding-left: 0;
}

.tour-content li, .program-content li {
  margin-top: 5px;
}

/* Section Divider */
.section-divider {
  height: 3px;
  background: linear-gradient(to right, #f0f0f0, #ddd, #f0f0f0);
  margin: 50px 0;
}

/* Workshops Section */
.workshops-section {
  margin-top: 50px;
}

/* Responsive Layouts */
@media (min-width: 768px) {
  /* Tablet Layout */
  .tour-grid, .program-grid, .workshop-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Make the documentary card span full width */
  .tour-grid, .program-grid .program-card:last-child {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  
  .program-grid .program-card:last-child .program-image {
    height: 100%;
  }
}

@media (min-width: 992px) {
  /* Desktop Layout */
  .tour-grid {
    grid-template-columns: repeat(3, 1fr);
  }	

  .program-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  
  .workshop-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  
  /* Reset the documentary card to normal width */
  .program-grid .program-card:last-child {
    grid-column: auto;
    display: block;
  }
  
  .program-grid .program-card:last-child .program-image {
    height: 200px;
  }
  
  /* Make the documentary card span 2 columns */
  .program-grid .program-card:nth-child(5) {
    grid-column: span 2;
    display: grid;
    grid-template-columns: 1fr 2fr;
    align-items: center;
  }
}

@media (min-width: 1200px) {
  /* Large Desktop Layout */
  .tour-grid, .program-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  
  /* Adjust image heights for better proportions */
  .program-image, .workshop-image {
    height: 220px;
  }
}

/* Special handling for WV Documentaries cardFor screens 992px and above */
@media (min-width: 992px) {
  /* Target the documentaries card specifically */
  .documentaries-card,
  .program-card:nth-child(5) {
    display: grid !important; /* Use !important to override any conflicting styles */
    grid-template-columns: 1fr 2fr !important;
    grid-column: span 2 !important;
  }
  
  /* Ensure the image container is full height */
  .documentaries-card .program-image,
  .program-card:nth-child(5) .program-image {
    height: 100% !important;
    min-height: 250px; /* Set a minimum height */
  }
  
  /* Make sure the image fills the container */
  .documentaries-card .program-image img,
  .program-card:nth-child(5) .program-image img {
    height: 100% !important;
    object-position: 25% 30%;
  }
  
  /* Adjust content spacing */
  .documentaries-card .program-content,
  .program-card:nth-child(5) .program-content {
    padding-top: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  
  /* Adjust heading spacing */
  .documentaries-card .program-content h4,
  .program-card:nth-child(5) .program-content h4 {
    margin-top: 0;
    margin-bottom: 10px;
  }
}

/* Ensure styles are maintained at larger breakpoints */
@media (min-width: 1200px) {
  /* Reinforce the same styles to prevent any overrides */
  .documentaries-card,
  .program-card:nth-child(5) {
    display: grid !important;
    grid-template-columns: 1fr 2fr !important;
    grid-column: span 2 !important;
  }
  
  .documentaries-card .program-image,
  .program-card:nth-child(5) .program-image {
    height: 100% !important;
    min-height: 250px;
  }
}
	
	