.gallery-grid {
  display: flex;
  gap: 30px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 40px;
}

.gallery-card {
  position: relative;
  overflow: hidden;
  width: 400px;
  height: 300px;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  cursor: pointer;
  transition: transform 0.3s ease;
}

.gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.gallery-card:hover img {
  transform: scale(1.1);
}

.gallery-caption {
  position: absolute;
  bottom: 0;
  background: rgba(0,0,0,0.6);
  width: 100%;
  padding: 10px;
  color: #fff;
  text-align: center;
}

/* Lightbox Container */
/* Lightbox Container */
.lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.9);
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 20px;
  overflow: auto;
}

/* Lightbox Inner Content */
.lightbox-inner {
  position: relative;          /* so nav-arrows are relative to this box */
  max-width: 90%;
  max-height: 90vh;            /* leave room for thumbnails */
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Lightbox Image */
.lightbox-inner img {
  max-height: 70vh;            /* shrink image to leave space below */
  object-fit: contain;
  border-radius: 8px;
  margin-bottom: 10px;
}

/* Close Button */
.close-btn {
    z-index:10001;
    pointer-events:auto;
  color: #fff;
  font-size: 30px;
  position: absolute;
  top: 50px;
  right: 200px;
  cursor: pointer;
}
.close-btn:hover {
  color: #00AEEF;
}

/* Thumbnails */
.thumbnail-strip {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  width: 100%;
  gap: 8px;
  margin-top: 10px;
}

/* Optional: prettier scrollbar for WebKit browsers */
.thumbnail-strip::-webkit-scrollbar {
  height: 8px;
}

.thumbnail-strip::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 4px;
}

.thumbnail-strip img {
  height: 60px;
  border-radius: 4px;
  cursor: pointer;
  opacity: 0.6;
  transition: 0.2s ease;
  flex-shrink: 0; /* Prevent images from shrinking */
}

.thumbnail-strip img.active,
.thumbnail-strip img:hover {
  opacity: 1;
  border: 2px solid #fff;
}


/* arrows just outside the image, not at the viewport edges */
.nav-arrows {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  padding: 0 20px;
  pointer-events: none;
}
.arrow {
  font-size: 40px;
  color: #fff;
  cursor: pointer;
  user-select: none;
  pointer-events: auto;
}

.arrow:hover {
  color: #00bcd4;
}



/*Container styling for flex layout*/
.container2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px; /*Optional: for consistent spacing between cards*/
  margin: 0 auto;

}

/*Individual day cards*/
.day {
    flex-basis: 32%; /*Makes the cards appear side-by-side on larger screens*/
    background-color: white;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    box-sizing: border-box;
    margin-bottom: 20px; /* Fallback spacing for older browsers*/
    min-width: 300px; /* Prevent cards from getting too narrow*/
}

.dayprice {
  flex: 1 1 30%; /*Allows flexible 3-column layout*/
  background-color: white;
  padding: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  box-sizing: border-box;
  margin-bottom: 20px;
  min-width: 260px;
  max-width: 100%; /*Prevent overflow*/
}



/* Session button styling */
.session {
    margin: 20px 40px;
    padding-right: 10px;
    
}
.locations-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px; /* Space between items */
}

.location {
  text-align: center;
}

.separator {
  width: 1px; /* Thickness of the line */
  height: 50px; /* Height of the line */
  background-color: #ccc; /* Color of the line */
}

.button-container {
  display: flex;
  justify-content: center; /* Center the buttons */
  gap: 10px; /* Space between the buttons */
  flex-wrap: wrap; /* Allow wrapping if buttons don't fit on smaller screens */
}


@media (max-width: 768px) { 
  .button {
    max-width: 100%; /*Stack buttons on very small screens*/
    flex: none;
  }
  .close-btn {
  top: 200px;
  right: 30px;
  cursor: pointer;
}
}

.dates h1 {
  font-size: 28px;
}

.dates h2 {
  font-size: 25px;
  color: #00AEEF !important;
}

.dates p, .dates span {
  font-size: 18px;
}
.subtitle{
    font-size:18px;
}

.session-wrapper {
  width:60%;
  margin: 0 auto; /* Centers horizontally */
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  margin-top: 20px;
}


.session button {
    width: 100%;
    padding: 10px;
    background: none;
    color: #333;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 14px;
    border-bottom: 1px solid #ddd;
    position: relative;
}

.session button:after {
    content: '▼'; /* Down arrow icon */
    font-size: 12px;
    position: absolute;
    right: 10px;
    top: 14px;
}

.session button:hover {
    background-color: #f0f0f0;
}

/* Initially hide the session details */
.session-details {
  color: #333;
  max-height: 0;
  margin-top: 10px;   
  margin-left:20px;
  overflow: hidden;
  text-align: left;
  transition: max-height 0.5s ease-in-out; /* Smooth transition for expanding */
}

/* When the session is open, allow it to expand */
.session-details.open {
  max-height: 500px; /* Adjust this value based on the content size */
}


/* Styling the list inside session details */
.session-details ul{
   list-style-type: disc;           /* keep bullets */
  list-style-position: outside;    /* bullets outside the text block */
  margin: 10px 0 10px 1.5em;       /* top/right/bottom/left */
  padding-left: 0;                 /* we’re using margin for indent */
  line-height: 1.6em;
  font-size: 14px;
}
.session-details ul,
.session-details ol {
  margin: 0.75em 0;            /* space before/after the list */
  padding-left: 1.5em;         /* indent the bullets/numbers */
  line-height: 1.5;            /* breathing room vertically */
}
/* Nested ul (if any) shows circles) */
.session-details ul ul {
  list-style-type: circle;
}
/* Ordered lists */
.session-details ol {
  list-style-type: decimal;
}

/* Space out each list item */
.session-details li {
  margin-bottom: 0.5em;
}

/* further indent any nested lists (or your <ol> inside) */
.session-details ul ul,
.session-details ul ol {
  margin-left: 1.5em;
}


/* Mobile Specific Styling for Small Screens */
@media (max-width: 768px) {
    .container2 {
        flex-direction: column;
    align-items: center;
    }
    .dayprice {
    flex-basis: 100%;
    max-width: 100%;
    }
  
    .session-wrapper {
  width:100%;
}

    .day {
        flex-basis: 100%; /* Ensure the cards take up full width on small screens */
        max-width: 100%; /* Ensure they don't exceed the container width */
        padding: 15px; /* Adjust padding for smaller screens */
        margin-bottom: 15px; /* Adjust margin to reduce spacing */
    }

    .session {
        margin: 10px 20px; /* Reduce margin to prevent horizontal scrolling */
    }

    .session button {
        font-size: 16px; /* Slightly larger button text for better tap targets */
        padding: 15px; /* Increase padding for better touch targets */
    }

    .session-details ul {
        font-size: 14px; /* Make text more readable on mobile */
    }
    .title2{
        font-size: 35px;
    }

  /* Position the .before button on the left */
  .before {
    left: 10px; /* Adjust this value to position it better */
  }

  /* Position the .after button on the right */
  .after {
    right: 10px; /* Adjust this value to position it better */
  }

  /* Optional: Change button colors when hovered */
  .before:hover, .after:hover {
    color: #ffffff;
  }

  /* Remove any unwanted margins or paddings for the p tag in mobile */
  .padding {
    font-size: 20px;
  }
 
}
/* Default style for plain-text-button */
.plain-text-button {
  text-decoration: none; /* Removes underline */
  color: paleturquoise; /* Set default text color */
  font-size: 16px; /* Optional font size */
  display: inline-block; /* Optional: makes the link behave like a button */
  transition: background 0.3s ease; /* Optional: smooth transition */
}

.rotated-arrow {
  display: inline-block;
  transform: rotate(-35deg); /* Rotate the arrow 60 degrees */
}

.dropdown-here{
     display: inline-block;
    transform: rotate(90deg);
}

/* Hover effect for plain-text-button */
.plain-text-button:hover {
  color: #00AEEF; /* Text color on hover */
}

a svg {
  display: inline-block; /* Makes the icons align horizontally */
  margin-right: 10px; /* Adds space between the icons */
  width: 24px; /* Adjust the width */
  height: 24px; /* Adjust the height */
  fill: lightgrey; /* Default color */ 
}

blockquote.quote {
  font-style: italic;
  font-size: 1.5rem;
  color: #fff;
  border-left: 4px solid #00AEEF;
  padding-left: 20px;
  margin-bottom: 30px;
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0; /* Remove any default margin */
  padding: 20px 0, 10px; /* Equal top and bottom padding */
  text-align: left;
  height: 100%; /* Ensure it fills the height of the parent */
}

/* Add some spacing for the quote if needed */
.quote p {
  margin: 0;
}
.mySlides{
 
}
.hide {
  display: none;
}

.slideshow-container {
  max-width: 1000px;
  position: relative;
  margin: auto;
  padding: 30px;
  overflow: hidden;
}

.before, .after {
  cursor: pointer;
  position: absolute;
  transform: translateY(-50%); /* Center vertically */
  top: 50%;
  width: auto;
  color: #00AEEF;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 50px 50px 0;
}

.after {
  right: 30px;
  border-radius: 50px 0 0 50px;
}

.before {
  left: 30px; /* Position it on the left side */
}

.before:hover, .after:hover {
  color: #ffffff;
}

.padding{
   padding-left: 40px; padding-right: 40px;
}
.dotty {
  cursor:pointer;
  height: 13px;
  width: 13px;
  margin: 0 2px;
  background-color: #0056b3;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.mySlides.show {
  display: block; /* Show the active slide */
}

.active, .dotty:hover {
  background-color: #0056b3;
}

.slide-1 {
  position: relative;
}
.slide-2 {
  position: relative;
}
.slide-3 {
  position: relative;
}
.slide-4 {
  position: relative;
}
.slide-5 {
  position: relative;
}
.slide-6{
  position: relative;
}
.slide-7 {
  position: relative;
}
.slide-8 {
  position: relative;
}
.title2{
    color:#00AEEF;
}

.slideintoleft {
  position: relative; /* Required for left to work */
  -webkit-animation-name: slideInL;
  -webkit-animation-duration: 0.5s;
  animation-name: slideInL;
  animation-duration: 0.5s;
}

@-webkit-keyframes slideInL {
  from { left: 100%; }
  to { left: 0; }
}

@keyframes slideInL {
  from { left: 100%; }
  to { left: 0; }
}

.slideintoright {
  position: relative; /* Required for left to work */
  -webkit-animation-name: slideInR;
  -webkit-animation-duration: 0.5s;
  animation-name: slideInR;
  animation-duration: 0.5s;
}

@-webkit-keyframes slideInR {
  from { left: -100%; }
  to { left: 0; }
}

@keyframes slideInR {
  from { left: -100%; }
  to { left: 0; }
}

.slideouttoright {
  position: relative; /* Required for left to work */
  -webkit-animation-name: slideOutR;
  -webkit-animation-duration: 0.5s;
  animation-name: slideOutR;
  animation-duration: 0.5s;
}

@-webkit-keyframes slideOutR {
  from { left: 0; }
  to { left: -100%; }
}

@keyframes slideOutR {
  from { left: 0; }
  to { left: -100%; }
}
