:root {
  --bg: #fef3c7;
  --fg: #92400e;
}

* {
  box-sizing: border-box;
}

body {
  background-color: var(--bg);
  color: var(--fg);
  font-family: 'Format_1452', 'Grotesk', 'Grotesk_notvariable'; /* 'Avara', 'Format_1452', 'Grotesk', 'Grotesk_notvariable', 'terminal_grotesque'; */
  max-width: 50em;
  margin: 0 auto;
  padding: 0 10px; 
  background-image: 
      radial-gradient(1px 1px at 23px 47px, var(--fg), transparent 2px),
      radial-gradient(1px 1px at 67px 123px, var(--fg), transparent 2px),
      radial-gradient(3px 3px at 156px 89px, var(--fg), transparent 2px),
      radial-gradient(1px 1px at 234px 145px, var(--fg), transparent 2px);
    background-size: 200px 200px;
  background-repeat: repeat;
}
article {
  max-width: 50em;
  margin: 0 auto;
  font-size: 1rem;
}
article > img {
  width: 50em;
  max-width: 100%;
  vertical-align: middle; 
}
iframe {
  width: 100%;
  min-height: 85vmin;
}
header, footer {
  margin: 0 10px; 
}
p {
  font-size: 12pt;
  opacity: 1;
}
h1 {
  font-size: 48pt; 
}
a {
  text-decoration: none;
  border-radius: 0.3rem;
  color: var(--fg);
}
a:hover {
  cursor: grab;
}
.link {
  text-decoration: underline;
  text-decoration-color: blue;
}
button {
  background-color: var(--fg);
  color: var(--bg);
  border-radius: 10px;
}
.grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 10px;
  max-width: 50em; 
  margin: auto; 
}
.grid-container > a {
  border: 1px solid var(--fg);
}
.grid-container > a > div {
  padding: 15px;
  margin: 0;
  width: 100%;
  height: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 0.65;
}
.grid-container > a > div > h2 {
  text-align: center;
  margin: 10px 0;
}
.grid-container > a > div > p {
  text-align: center;
  margin-top: auto;
  margin-bottom: 0;
  align-self: stretch;
}
.grid-container > a > div > img {
  width: 100%;
  max-width: 200px;
  height: 200px;
  object-fit: cover;
  filter: grayscale(100%) sepia(100%) hue-rotate(200deg);
}
.grid-container > a > div:hover > img {
  filter: grayscale(0%) sepia(0%) hue-rotate(0deg);
}
.grid-container > a > div:hover {
  font-style: bold;
  opacity: 1;
}

/* responsive */
@media (max-width:1025px) { 
  h1 {
    font-size: 8vw;  /* Scales with viewport width */
    line-height: 1.2;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .grid-container {
    grid-template-columns: 1fr;  /* Single column */
    gap: 10px;
    padding: 10px;
    max-width: 100%;
   }
.grid-container > a > div > h2 {
  height: auto;
}
.grid-container > a > div {
    width: 100%;
    margin: 10px 0;
    height: auto;
    min-height: 450px;
  }
.grid-container > a > div > img {
    width: 60vw;
    max-width: 300px;
    height: auto;
  }
.grid-container > a > div > p {
    font-size: 11pt;  
    line-height: 1.4;
  }
}




.carousel {
  width: 60vw;
  height: auto;
  padding: 20px;
  display: flex;
  /* gap: 4vw; */
}
.carouselItem {
  list-style-type: none;
  background-color: #eeeeee;
  border: 1px solid #dddddd;
  padding: 20px;

  flex: 0 0 100%;
}

.carouselItem:nth-child(even) {
  background-color: cyan;
}
.carousel {
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
}
.carouselItem {
  scroll-snap-align: center;
}
.carousel::scroll-button(*) {
  border: 0;
  font-size: 2rem;
  background: none;
  color: black;
  opacity: 0.7;
  cursor: pointer;
}

.carousel::scroll-button(*):hover,
.carousel::scroll-button(*):focus {
  opacity: 1;
}

.carousel::scroll-button(*):active {
  translate: 1px 1px;
}

.carousel::scroll-button(*):disabled {
  opacity: 0.2;
  cursor: unset;
}
.carousel::scroll-button(left) {
  content: "◄" / "Previous";
}

.carousel::scroll-button(right) {
  content: "►" / "Next";
}
.carousel {
  anchor-name: --my-carousel;
}

.carousel::scroll-button(*) {
  position: absolute;
  position-anchor: --my-carousel;
}
.carousel::scroll-button(left) {
  right: calc(anchor(left) - 70px);
  bottom: calc(anchor(top) + 13px);
}

.carousel::scroll-button(right) {
  left: calc(anchor(right) - 70px);
  bottom: calc(anchor(top) + 13px);
}
.carousel {
  scroll-marker-group: after;
}
.carousel::scroll-marker-group {
  position: absolute;
  position-anchor: --my-carousel;
  top: calc(anchor(bottom) - 70px);
  justify-self: anchor-center;

  display: flex;
  justify-content: center;
  gap: 20px;
}
.carouselItem::scroll-marker {
  width: 16px;
  height: 16px;
  background-color: transparent;
  border: 2px solid black;
  border-radius: 50%;
  overflow: hidden;
  text-indent: 16px;
}
.carouselItem::scroll-marker:target-current {
  background-color: black;
}
