@-webkit-keyframes opacity {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-moz-keyframes opacity {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes opacity {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes revealfrombottom {
  from {
    top: 50px;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}

@-moz-keyframes revealfrombottom {
  from {
    top: 50px;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}

@keyframes revealfrombottom {
  from {
    top: 50px;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}

.page-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--small-margin);
  background-color: var(--sand);
  padding: var(--small-margin) var(--padding);
  margin-left: var(--padding);
  margin-right: var(--padding);
  border-radius: var(--radius);
  border: 1px solid currentColor;
  transform: translateY(50%);
}

.page-nav a {
  display: inline-block;
  background-color: var(--cream);
  font-size: var(--base-font-size);
  padding-top: 0.1875rem;
  padding-left: 0.725rem;
  /* color: var(--maroon); */
  padding-right: 0.725rem;
  padding-bottom: 0.3125rem;
  outline: 1px solid currentColor;
  border-radius: 0.1em;
  transition: border-color 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.page-nav a:hover {
  outline: 1px solid currentColor;
  transform: scale(102%);
  background-color: var(--base100);
}

.main {
  padding-top: 0;
}

.main > section {
  padding-top: 4.25rem;
}

.main > section#story {
  background-color: var(--maroon);
  color: var(--cream);
  padding: 11.25rem var(--padding) 6.25rem;
  margin-top: 0;
}

.main > section#story > p {
  font-size: var(--subtitle);
}

.main > section#products > ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2.25rem;
}

.main > section#products > ul > li {
  height: 40vw;
  display: flex;
  width: 100%;
  flex-basis: 100%;
  margin-bottom: 1rem;
  border: 1px solid var(--kaki);
  list-style: none;
}

.main > section#products > ul > li > a {
  position: relative;
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.main > section#products > ul > li > a:hover {
  background-color: var(--maroon);
}

.main > section#products > ul > li > a:hover > h2 {
  transform: scale(102%);
}

.main > section#products > ul > li > a > figure {
  position: absolute;
  top: 1rem;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  background-color: var(--ocre);
}

.main > section#products > ul > li > a > figure > img {
  mix-blend-mode: normal;
}

.main > section#products > ul > li > a > h2 {
  color: var(--maroon);
  background-color: var(--cream);
  text-align: center;
  padding-top: 0.1875rem;
  padding-left: 1.125rem;
  padding-right: 1.125rem;
  padding-bottom: 0.3125rem;
  border-bottom-width: 0;
  border-radius: 0.1em;
  transition: transform 0.3s ease-in-out;
  z-index: 100;
}

.main > section#where > article > ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--small-margin);
  list-style: none;
  padding: 0;
}

.main > section#where > article > ul > li {
  width: 100%;
  /* width: calc(50% - var(--padding)); */
  background-color: var(--base100);
  font-size: var(--tiny-font-size);
  padding: var(--small-margin);
  border-radius: var(--radius);
  border-bottom: 4px solid var(--maroon);
}

.main > section#where > article > ul > li > h2 {
  color: var(--ocre);
  font-size: var(--base-font-size);
  margin-top: 0;
}

/***************** 

  RESPONSIVE
  
******************/
@media screen and (min-width: 580px) {
  .main > section#where > article > ul > li {
    width: calc(50% - var(--padding));
  }
}

@media screen and (min-width: 768px) {
  .main > section#products > ul > li:nth-child(2),
  .main > section#products > ul > li:nth-child(3) {
    width: 50%;
    flex-basis: 50%;
  }
  .main > section#products > ul > li:nth-child(2) {
    border-right-width: 0;
  }
}

@media screen and (min-width: 1024px) {
  .page-nav {
    justify-content: space-around;
    margin-left: var(--med-content-margin);
    margin-right: var(--med-content-margin);
  }

  .page-nav a {
    font-size: var(--small-font-size);
  }

  .main > section#story {
    padding-left: var(--med-content-margin);
    padding-right: var(--med-content-margin);
  }

  .main > section#products > ul,
  .main > section#where > article {
    padding-left: var(--med-content-margin);
    padding-right: var(--med-content-margin);
  }

  .main > section#products > ul > li {
    height: 35vw;
  }
}
