body {
  font: clamp(16px, 100vw * 0.02, 14pt) bold, sans-serif;
  margin: 0;
  background-color: #eee;
}
.header {
  overflow: hidden;
  position: fixed;
  top: 0;
  background-color: #eee;
  width: 100%;
  z-index: 999999;
  box-shadow: 0 1pt 8pt 0 rgba(0, 0, 0, 0.4);
}
.header h1 {
  margin: 0;
  font: clamp(16px, 100vw * 0.02, 14pt) bold, sans-serif;
}
#home-link {
  position: fixed;
  padding: 1em;
  margin: 0;
  display: none;
  background-color: #555;
  color: #fff;
  transition: background 0.1s;
}
.header-box {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}
.header-box a {
  padding: 1em;
  margin: 0;
}
.header a:link,
.header a:visited {
  text-decoration: none;
  color: #000;
  transition: background 0.1s;
}
#home-link:hover,
.header a:hover {
  background-color: #555;
  color: #fff;
}
.flex-body {
  margin-top: clamp(38pt, 100vw * 0.075, 50pt);
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.flex-item {
  background-size: cover;
  background-position: center;
  position: relative;
  width: 90%;
  height: clamp(200pt, 100vw - 10pt, 400pt);
  margin: 10pt;
  padding: 5pt;
  border-radius: 10pt;
  background-color: #eee;
  box-shadow: 0 1pt 4pt 0 rgba(0, 0, 0, 0.4);
  overflow: hidden;
  transition: transform 250ms;
}
.article {
  background-size: cover;
  background-position: center;
  position: relative;
  max-width: 55ch;
  margin: 10pt;
  padding: 5pt;
  overflow: hidden;
  transition: transform 250ms;
  text-align: center;
  padding-bottom: 10%;
}
.article h5 {
  font-weight: normal;
}
.articleBody {
  text-align: left;
  margin: auto;
  font: clamp(12px, 100vw * 0.02, 14pt) regular, sans-serif;
}
.article img {
  width: calc(100% + 10pt);
  height: auto;
  object-fit: cover;
  overflow: hidden;
  margin: -5pt;
  border-radius: 10pt;
  box-shadow: 0 1pt 4pt 0 rgba(0, 0, 0, 0.4);
}
.card-text {
  padding: 10pt;
  margin: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.75);
  position: absolute;
  left: 0;
  bottom: 0;
  backdrop-filter: blur(5px);
}
.flex-item a:link,
.flex-item a:visited {
  text-decoration: none;
  color: #125d97;
}
.flex-item a:hover {
  color: #2c9bf0;
}
.desc {
  padding-right: 12pt;
  font: clamp(12px, 100vw * 0.01, 12pt) regular, sans-serif;
}
.card-title {
  padding-right: 14pt;
  font: clamp(16px, 100vw * 0.02, 14pt) bold, sans-serif;
}
.card-image {
  width:calc(100% + 10pt);
  height:calc(100% + 10pt);
  object-fit: cover;
  overflow: hidden;
  margin: -5pt;
}
.item-image {
  width:calc(100% + 10pt);
  height:calc(100% + 10pt);
  object-fit:contain;
  overflow: hidden;
  margin: -30pt -5pt -5pt;
  image-rendering: pixelated;
}
.buy-btn {
  border-radius: 8pt;
  float: right;
  padding: 8pt;
  background-color: #f90 !important;
  color: white !important;
  transition: background 0.1s;
  text-decoration: none;
  border: none;
}
.buy-btn:hover {
  background-color: #fb5 !important;
  color: white !important;
}
.buy-input {
  border-radius: 4pt;
  padding: 4pt;
  float: right;
  background-color: #eee !important;
  color: #000 !important;
  transition: background 0.1s;
  text-decoration: none;
  border: none;
  margin-left: 2ch;
  box-shadow: 0 1pt 4pt 0 rgba(0, 0, 0, 0.4);
  outline: none;
}
.buy-input:hover {
  background-color: #fff !important;
}
.pix-img {
  image-rendering: pixelated
}
@media only screen and (min-width: 900px) {
  #home-link {
    display: block;
  }
  .small-card {
    width: clamp(10pt, 100vw * 0.2, 400pt);
    height: clamp(10pt, 100vw * 0.2 * 1.25, 500pt);
    aspect-ratio: 3/4;
  }
  .medium-card {
    width: clamp(10pt, 100vw * 0.433, 800pt);
    height: clamp(10pt, 100vw * 0.2 * 1.25, 500pt);
  }
}
@media (prefers-color-scheme: dark) {
  body {
    background-color: #000;
  }
  .header {
    background-color: #000;
    color: #fff;
  }
  .header a:link,
  .header a:visited {
    color: #fff;
  }
  .flex-item {
    background-color: #000;
  }
  .card-text {
    background-color: #111;
    color: #fff;
  }
  .article {
    color: #fff;
  }
  .flex-item a:link,
  .flex-item a:visited {
    color: #38a8fe;
  }
  .flex-item a:hover {
    color: #7fc7ff;
  }
  #home-link {
    background-color: #222;
  }
  #home-link:hover,
  .header a:hover {
    background-color: #444;
  }
  .buy-btn {
    background-color: #146eb4 !important;
  }
  .buy-btn:hover {
    background-color: #38a8fe !important;
  }
  .purchase-text {
    color: #fff;
  }
}
