* {
  box-sizing: border-box;
}

/* Position the image container (needed to position the left and right arrows) */
.container {
  margin: auto;
  position: center;
  float: center;
  width: 100%;
  max-width: 1280px;
  height: auto;
  font-weight: bold;
}

/* Hide the images by default */
.mySlides {
  display: none;
}

.mySlides:first-child{                                                                                                                display: block;                                                                                                                   } 

/* Add a pointer when hovering over the thumbnail images */
.cursor {
  cursor: pointer;
}

/* Next & previous buttons */
.prev,
.next {
  cursor: pointer;
  position: center;
  top: 40%;
  width: auto;
  padding: 16px;
  margin-top: -50px;
  color: tan;
  font-weight: bold;
  font-size: 20px;
  border-radius: 0 3px 3px 0;
  user-select: none;
  -webkit-user-select: none;
}

/* 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: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* Container for image text */
.caption-container {
  text-align: center;
  background-color: tan;
  padding: 2px 16px;
  color: black;
  font-weight: bold;
}

.row:after {
  content: "";
  display: table;
  position:center;
  clear: both;
  color: tan;
}

.rows {
  display: flex;
  float: center;
  position: center;
} 


/* Six columns side by side */
.column {
  position: center;
  float: center;
  width: 16.66%;
  padding: 4px 4px;
}

/* Add a transparency effect for thumnbail images */
.demo {
  opacity: 0.6;
}

.active,
.demo:hover {
  opacity: 1;
}






/* TODO: COUNTERS BROKEN */

:root {
  --card-width: 250px;
}

.carousel {
  display: grid;
  gap: 2rem;
  width: 95dvw;
  grid-auto-flow: column;
  scroll-snap-type: x mandatory;
  overflow-x: auto;
  anchor-name: --trip-carousel;
  counter-reset: day;
  
  /*  "break out" of body padding  */
  margin-left: calc(-1 * var(--body-padding));
  
  /*  hide scrollbar  */
  scrollbar-width: none;
  
  /*  smooth scrolling  */
  scroll-behavior: smooth;
  
  /*  add prev/next buttons  */
/*
   &::scroll-button(left) {
    content: "arrow_back_ios" / "Scroll Left";
    position-area: left;
    padding-left: 0.75rem;
    transform: translateX(calc(2 * var(--body-padding)));
  }


  &::scroll-button(right) {
    content: "arrow_forward_ios" / "Scroll Right";
    position-area: right;
    transform: translateX(calc(-2 * var(--body-padding)));
  } 

  &::scroll-button(*) {
    position: absolute;
    position-anchor: --trip-carousel;
    z-index: 1;
    font-size: 1.5rem;
    font-family: "Material Symbols Outlined";
    font-variation-settings: "wght" 100;
    display: grid;
    place-items: center;
    width: 3rem;
    color: white;
    aspect-ratio: 1 / 1;
    border: 2px solid dimgray;
    background: white;
    border-radius: 100%;
    cursor: pointer;
    transition: font-variation-settings 0.25s ease, scale 0.25s ease;
    background: #333;
  } 
  */
  
  &::scroll-button(*):disabled {
    border: 2px solid blackgray;
    color: gray;
  }
  
  &::scroll-button(*):not(:disabled):hover {
    font-variation-settings: "wght" 400;
    scale: 1.05;
  }

  &::scroll-button(*):focus-visible {
    outline-offset: 5px;
  }
  
  /*  scroll markers  */
  scroll-marker-group: after;
  
  &::scroll-marker-group {
    position: fixed;
    position-anchor: --trip-carousel;
    position-area: bottom;
    margin-top: 2rem;
    display: flex;
    gap: 0.25rem;
  }
  
  /*  This doesn't work but it would be cool if it did  -- idea placeholder */
     &::scroll-marker-group::before {
    content: 'Day: ';
    display: block;
  } 
 /* 
  li::scroll-marker {
    content: counter(day-num);
    aspect-ratio: 1 / 1;
    width: 1rem;
    background: #444;
    padding: 0.2rem;
    font-size: 0.8rem;
    color: white;
    border-radius: 100%;
    cursor: pointer;
    display: grid;
    place-content: center;
    text-decoration: none;
    transition: transform 0.2s ease;
  }
  
  li::scroll-marker:target-current {
    anchor-name: --active-target;
    transform: translateY(-0.5rem);
  }
  */
  /*  Move first item over a bit  */
  li:first-child {
    margin-left: 5rem;
  }
}

#litter-2 {
  position: absolute;
  right: calc(-100dvw + var(--card-width));
  visibility: hidden;
}

#males {
  position: absolute;
  right: calc(-100dvw + var(--card-width));
  visibility: hidden;
}


.day-card {
  width: var(--card-width);
  overflow: hidden;
  position: relative;
  counter-increment: day-num;
  scroll-snap-align: center;
  container-type: scroll-state;
  
  img {
    aspect-ratio: 4/5;
    object-fit: cover;
    object-position: bottom;
  }
  
  &:hover,
  &:focus {
    .meta {
      transform: translateY(0);
    }
  }
  
  .meta {
    position: absolute;
    bottom: 0;
    width: calc(100% - 2rem);
    transform: translateY(calc(100% - 3rem));
    background: #333;
    background-color: rgba(0, 0, 0, 0.3);
    color: white;
    font-weight: bold;
    padding: 1rem;
    transition: transform 0.5s ease;
    
    @container scroll-state(snapped: x) {
      transform: translateY(0);
    }
  }
  
  .desc {
    line-height: 1.5;
    font-weight: 300;
  }
  
  h6 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 1rem;
  }
  
  &::before {
    counter-increment: day;
    content: "Pic " counter(day);
    font-size: 0.8rem;
    display: block;
    position: absolute;
    top: 0.5rem;
    left: 0;
    background: #222;
    color: white;
    padding: 0.5rem;
    border-radius: 0 .75rem .75rem 0;
  }
}

.female,
.male,
.litter {
  &::after {
    content: '';
    position: absolute;
    font-family: "Material Symbols Outlined";
    font-size: 1.25rem;
    font-family: "Material Symbols Outlined";
    font-variation-settings: "wght" 100;
    color: white;
    background: #222;
    border-radius: 100% 0 0 100%;
    top: 0.5rem;
    right: 0;
    padding: 0.25rem;
  }
}

.female::after {
  /*content: "female" / "Female";*/
  content: "" / "";
}

.male::after {
  /*content: "male" / "Male";*/
  content: "" / "";
}

.litter::after {
  content: "litter" / "Litter";
}

h5 {
  font-size: 3rem;
  line-height: 2;
}

body {
  font-family: system-ui;
  padding: var(--body-padding) var(--body-padding) 8rem;
  background: black;
  color: white;
}
.action-bar {
  font-size: 1rem;
  margin-bottom: 1rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 1rem;
  display: flex;
  gap: 1rem;
  
  a {
    border-bottom: 3px solid;
    text-decoration: none;
    padding-bottom: 0.25rem;
    border-color: dimgray;
    color: white;
  } 
}

.plane {
  position: fixed;
  width: 1.5rem;
  display: flex;
  justify-content: center;
  position-anchor: --active-target;
  inset: anchor(inside);
  margin-top: anchor-size();
  transition: inset 0.5s linear;
/*
  &::after {
    font-size: 1.25rem;
    font-family: "Material Symbols Outlined";
    content: "navigation";
  }*/
}
