body { 
  padding-top: 75px; 
  margin: 0; /* Ensure no extra margin */
}

.left-aligned { 
  margin-left: auto; 
}

.bg-dark { 
  background-color: #343a40 !important; 
}

.bg-hero {
  background-color: #3E517A;
}

/* CALLOUT */
.bd-callout { 
  padding: 1.25rem; 
  margin-top: 1.25rem; 
  margin-bottom: 1.25rem; 
  border: 1px solid #e9ecef; 
  border-left-width: .25rem; 
  border-radius: .25rem; 
}

.bd-callout h4 { 
  margin-bottom: .25rem; 
}

.bd-callout p:last-child { 
  margin-bottom: 0; 
}

.bd-callout code { 
  border-radius: .25rem; 
}

.bd-callout-info { 
  border-left-color: #5bc0de; 
}

.bd-callout-warning { 
  border-left-color: #f0ad4e; 
}

.bd-callout-danger { 
  border-left-color: #d9534f; 
}

/* Full-width gradient background */
.full-width-gradient {
  background: linear-gradient(to bottom, #3E517A, #ffffff); /* Gradient from dark blue to white */
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding: 0; /* Ensure no extra padding */
  box-sizing: border-box;
}

/* Title Block */
.title-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0; /* Add padding if needed */
  margin: 0; /* Ensure no extra margin */
}

.title-section h1 {
  margin-bottom: 10px; /* Adjust space between title and description */
}

.title-section p {
  margin: 0; /* Remove default margins */
}

/* Story Section */
.story-sections-wrapper {
  width: 100%;
  margin: 0; /* Ensure no extra margin */
  padding: 0; /* Remove any extra padding */
}

.story-section {
  padding: 30px 15px; /* Consistent padding for equal spacing from edges */
  background: transparent; /* Background is handled by the gradient wrapper */
  width: 100%; /* Ensure the section spans the full width */
  box-sizing: border-box; /* Ensure padding is included in the width calculation */
  margin: 0; /* Remove any extra margin */
}

.story-section img {
  max-width: 100%; /* Ensure image does not exceed container width */
  height: auto; /* Maintain aspect ratio */
  display: block; /* Remove any extra space below the image */
  margin: 20px auto; /* Center the image within its container */
}

/* Flexbox for story section alignment */
.story-section .text-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px; /* Add space between image and text */
}

.story-section .text-content img {
  max-width: 100%; /* Ensure image scales down with screen size */
  height: auto; /* Maintain aspect ratio */
  flex: 1; /* Allow image to grow and fill the space */
}

.story-section .text-content .text {
  flex: 1; /* Allow text to grow and fill the space */
  padding: 20px; /* Padding around the text */
}

.order-md-1 {
  order: 1;
}

.order-md-2 {
  order: 2;
}

@media (min-width: 768px) {
  .story-section {
    padding: 80px 15px; /* Increase padding for larger screens */
  }
}

@media (max-width: 767px) {
  .story-section h2 {
    font-size: 1.5rem;
  }
}

/* Boxed Sections */
.boxed-section {
  background-color: #f2f2f2;
  padding: 20px; /* Padding inside the boxes */
  margin: 20px auto; /* Center the box and add space between boxes */
  border-radius: 20px; /* Rounded corners */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Light shadow for a subtle 3D effect */
  width: 90%; /* Set a maximum width for all sections */
  max-height: 3000px;
  box-sizing: border-box; /* Ensure padding is included in the width calculation */
}

.boxed-section.small {
  max-width: 600px; /* Smaller width for the More Information box */
  padding: 15px; /* Reduced padding for tighter fit */
}

/* Button Container */
.button-container {
  display: flex;
  justify-content: center; /* Center the buttons horizontally */
  gap: 10px; /* Space between buttons */
}

/* Info Buttons */
.info-button {
  display: inline-block; /* Make the link behave like a button */
  background-color: #3E517A; /* Dark blue background color */
  color: #ffffff; /* White text color */
  padding: 10px 20px; /* Padding for the buttons */
  border: 2px solid #3E517A; /* Dark blue border matching the background */
  border-radius: 10px; /* Rounded corners */
  text-align: center; /* Center the text */
  text-decoration: none; /* Remove underline */
  transition: background-color 0.3s ease, border-color 0.3s ease; /* Smooth transition for hover effect */
}

.info-button:hover {
  background-color: #2c3e59; /* Darker shade on hover */
  border-color: #2c3e59; /* Change border color on hover */
}

/* Remove top margin for the first section */
.no-top-margin {
  margin-top: 0; /* Remove top margin */
}

/* Keep space between other boxed-sections */
.boxed-section + .boxed-section {
  margin-top: 40px; /* Maintain space between sections */
}

/* Footer Specific Styles */
footer {
  background-color: #343a40; /* Dark background for the footer */
}

footer a {
  color: white;
  font-weight: bold;
  text-decoration: none;
}

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

/* Divider Styling */
hr {
  border: none;
  height: 2px;
  background-color: white; /* White color for divider */
}

/* Sponsor Logos Styling */
.sponsor-logos {
  display: flex;
  justify-content: center; /* Center logos horizontally */
  flex-wrap: nowrap; /* Ensure logos stay on one line */
  gap: 20px; /* Increase space between logos */
}

.sponsor-logos img {
  max-width: 160px; /* Adjust width as needed */
  max-height: 60px; /* Ensure height does not exceed this value */
  transition: transform 0.3s ease; /* Smooth transition for the hover effect */
}

.sponsor-logos a img:hover {
  transform: scale(1.1); /* Enlarge the image by 10% on hover */
}

/* Team page */

#carouselExampleIndicators {
  max-width: 1280px; /* Ensure carousel fits within the container */
  margin: 0 auto;
  border-radius: 20px;
  overflow: hidden;
}

.carousel-item img {
  width: 100%;
  height: 800px; /* Increased height */
  object-fit: cover; /* Ensure images cover the container */
}

/* Team Member Squares */
.team-member-section {
  margin: 40px 0;
  text-align: center;
}

.team-title {
  margin-bottom: 25px;
  text-align: center; /* Center align the title */
  color: black;
  font-size: 36px; /* Font size for the title */
}

.team-member-square {
  position: relative;
  width: 300px;
  height: 350px;
  margin: 10px;
  border-radius: 20px;
  overflow: hidden;
  transition: transform 0.3s ease;
}

.team-member-square img {
  width: 100%;
  height: auto;
  display: block;
}

.name-title-overlay {
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  padding: 10px;
  text-align: center;
  border-radius: 10px;
}

.overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.8);
  color: white;
  opacity: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  text-align: center;
  transition: opacity 0.3s ease;
  border-radius: 20px;
}

.team-member-square:hover .overlay {
  opacity: 1;
}

.team-member-square:hover {
  transform: scale(1.05);
}

/* iframe homepage video */
.iframe-fluid {
  max-width: 100%; /* Ensure iframe does not exceed container width */
  height: auto; /* Maintain aspect ratio */
  display: block; /* Remove any extra space below the iframe */
  margin: 0 auto; /* Center the iframe within its container */
}

.story-section iframe {
  border: 0;
}

.container-fluid {
  box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
}

.text-content {
  padding: 20px;
}
