/* Slideshow container */
.slideshow-container {
  position: relative;
  width: 100%;
  /*max-width: 800px;      /* or whatever max width you want */
  aspect-ratio: 16 / 9;  /* always keep slideshow box 16:9 */
  margin: auto;
  background-color: #303030; /* letterbox color */
  overflow: hidden;
  border-radius: 8px;        /* Optional: rounded corners */
}

/* Hide the images by default */
.mySlides {
  display: none;
  position: relative;
  width: 100%;
  height: 100%;
}

.mySlides img {
  width: 100%;
  height: 100%;
  object-fit: contain;       /* scale down to fit inside */
  object-position: center;   /* center both horizontal + vertical */
  background-color: #303030;    /* fill behind transparent images */
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
}

/* Position the "previous button" to the left */
.prev {
  left: 0;
  border-radius: 0 3px 3px 0; 
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

/* Number text (1/3 etc) */
.numbertext {
  color: #f2f2f2;
  font-size: 16px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* The dots/bullets/indicators */
.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 5px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.slideshow-dots {
  text-align: center;
  /* margin-top: 8px; */
  padding: 10px 0;              /* spacing around dots */
  background-color: #303030;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 100%; /* full width under slideshow */
}

.dotActive, .dot:hover {
  background-color: #5c5c5c;
}

.row {
  display: flex;
  /*align-items: center; /* centers both columns vertically */
  align-items: stretch; /* cross-axis: make columns equal height */
  justify-content: center;
  gap: 20px;
  /* margin: 10px 0px; */
}

.row.reverse {
  flex-direction: row-reverse;
}

.column {
  flex: 50%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  /* margin: 0px 0px; */
  /* background-color: #ff0000; */
} 

/* This works for modern browsers (browser requires :has()) */
/* default for text boxes 
.column > .text-colored-box {
  flex: 1;            /* default equal share if not overridden 
  width: 100%;
}

/* If a .column has at least two direct .text-colored-box children,
   give the first box 3 parts and the second 1 part (3:1 = 75%/25%) 
.column:has(> .text-colored-box:nth-child(2)) > .text-colored-box:first-of-type {
  flex: 3;
}

.column:has(> .text-colored-box:nth-child(2)) > .text-colored-box:nth-of-type(2) {
  flex: 1;
}*/

/* Works every time as it uses JS */
/* --- Only applied when the parent column has exactly two text-colored-box children --- */
.column.two-text-boxes > .text-colored-box:first-child {
  flex: 1;  /* 3 parts */
}

.column.two-text-boxes > .text-colored-box:nth-child(2) {
  flex: 5;  /* 1 part = 25% */
}

/* Three colored text box children */
.column.three-text-boxes > .text-colored-box:first-child {
  flex: 1;  /* 1 part = 25% */
}

.column.three-text-boxes > .text-colored-box:nth-child(2) {
  flex: 4;  /* 2 parts = 50% */
}

.column.three-text-boxes > .text-colored-box:nth-child(3) {
  flex: 1;  /* 1 part = 25% */
}

.text-colored-box {
  flex: 1;             /* fill available space vertically */
  width: 100%;         /* fill horizontally */
  background-color: #303030;
  /* border: 2px solid white; */
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  display: flex;
  flex-direction: column;  /* <-- stack items vertically */
  justify-content: center; /* optional: center vertically within box */
  align-items: center;     /* optional: center horizontally */
  text-align: center;
  /* overflow: auto; */ /* maybe useful if text overflows */
}

.link:link {
  color: #00d9ff;
  background-color: transparent;
  text-decoration: none;
}

.link:visited {
  color: #00d9ff;
  background-color: transparent;
  text-decoration: none;
}

.link:hover {
  color: #00d9ff;
  background-color: transparent;
  text-decoration: underline;
}

.link:active {
  color: #00d9ff;
  background-color: transparent;
  text-decoration: underline;
}

@media (max-width: 768px) {
  .row,
  .row.reverse {
    flex-direction: column;
  }
}