@charset "UTF-8";
:root {
  --background-color: #FAEFFA;
  --neutral: #333;
  --faint: #eee;
  --primary-color: #FAEFFA;
  --accent-color: #c6262e;
  --secondary-accent-color: var(--primary-color);
  --secondary-accent-contrast: var(--background-color);
}

@media print {
  :root {
    --background-color: white; } }

html {
  font-family: "Inter", sans-serif;
  font-size: 4vw;
  font-weight: 400; }
  @media (min-width: 320px) {
    html {
      font-size: 14px; } }
  @media (min-width: 600px) {
    html {
      font-size: 16px; } }
  @media print {
    html {
      font-size: 12px; } }
a {
  color: var(--accent-color);
  text-decoration: none;
  transition: opacity 250ms ease; }
  a:hover, a:focus {
    outline: none;
    text-decoration-skip: ink;
    text-decoration: underline; }

.rainbow-text {
    background-image: repeating-linear-gradient(45deg, violet, indigo, blue, green, yellow, orange, red, violet);
    background-size: 800% 800%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: rainbow 8s ease infinite;
}

@keyframes rainbow {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 25%
    }

    100% {
        background-position: 0% 50%
    }
}

@keyframes rainbow {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 25%
    }

    100% {
        background-position: 0% 50%
    }
}

h1 {
  color: var(--accent-color);
  font-family: "Inter", sans-serif;
  font-size: 5rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 0.9em;
  margin: 0 0 1em; }
  @media (min-width: 505px) {
    h1 {
      max-width: 10000px; } }
  h1 i {
    display: inline-block;
    font-size: 0.5em;
    font-style: inherit;
    padding: 0 0.25em;
    vertical-align: middle; }
  h1 + p {
    font-size: 1.25em;
    line-height: 1.25; }

hr {
  border: 0.125em solid var(--faint);
  margin: 3em auto; }




.card {
    background-color: #fafafa;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 1.6em;
    box-shadow:inset 0 1px rgba(255, 255, 255, 0.9), inset 1px 0 rgba(255, 255, 255, 0.5), inset -1px 0 rgba(255, 255, 255, 0.5), 0 0.125em 1em rgba(0, 0, 0, 0.125)
}

.card > img, .products .product > img {
    border-radius:0.4em
}

.button {
  background-color: rgb(175, 240, 255);
  border-radius: 0.125em;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
  color: rgb(159, 237, 255);
  display: inline-block;
  font-size: 1.125em;
  margin: 1em 0.5em;
  opacity: 0.9;
  padding: 0.5em 1em;
  text-align: center;
  transition: all 250ms ease; }
  .button:focus, .button:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    opacity: 1;
    text-decoration: none;
    transform: translateY(-1px); }



footer {
  background-color: var(--secondary-accent-color);
  color: var(--secondary-accent-contrast);
  flex: 0 0 auto;
  line-height: 4em;
  padding: 1rem 1rem 0;
  text-align: center;
  text-shadow: 0 0.0625em 0.125em rgba(var(--black), 0.5);
  width: 100%; }
  @media print {
    footer {
      display: none; } }
  footer a {
    font-weight: bold;
    opacity: 1; }
  footer ul.social {
    color: var(--white);
    display: inline;
    font-size: 0;
    list-style: none;
    margin: 0;
    padding: 0; }
    footer ul.social li {
      display: inline;
      list-style: none;
      margin: 0;
      padding: 0; }
    footer ul.social a {
      border-radius: 50%;
      color: inherit;
      display: inline-block;
      font-size: 1.5rem;
      font-weight: normal;
      height: 1.5em;
      line-height: 1.45em;
      margin: 0.25em;
      padding: 0.125em;
      transition: all 200ms ease;
      width: 1.5em; }
      footer ul.social a:hover, footer ul.social a:focus {
        background-color: var(--accent-color);
        background-image: linear-gradient(rgba(var(--white), 0.125), rgba(var(--black), 0.25));
        box-shadow: inset 0 1px 0 rgba(var(--white), 0.25), inset 0 -1px 0 rgba(var(--black), 0.25), 0 0.0625em 0.125em rgba(var(--black), 0.5);
        text-decoration: none;
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5); }
    footer ul.social .github a:hover,
    footer ul.social .github a:focus {
      background-color: #444; }
    footer ul.social .medium a:hover,
    footer ul.social .medium a:focus {
      background-color: var(--medium); }
    footer ul.social .mastodon a:hover,
    footer ul.social .mastodon a:focus {
      background-color: var(--mastodon); }
    footer ul.social .twitter a:hover,
    footer ul.social .twitter a:focus {
      background-color: var(--twitter); }
    footer ul.social .unsplash a:hover,
    footer ul.social .unsplash a:focus {
      background-color: white;
      color: black;
      text-shadow: none; }
    footer ul.social .pixelfed a:hover,
    footer ul.social .pixelfed a:focus {
      background-color: var(--pixelfed); }
    footer ul.social .instagram a:hover,
    footer ul.social .instagram a:focus {
      background-color: white;
      color: black;
      text-shadow: none; }
    footer ul.social .square a:hover,
    footer ul.social .square a:focus {
      background-color: #3cd428; }
    footer ul.social .email a:hover,
    footer ul.social .email a:focus {
      background-color: #FFB300; }

section.grid {
  margin: 0 auto;
  max-width: 32em; }
  section.grid > * {
    margin: 1em;
    padding-bottom: 4em;
    padding-top: 2em; }

.grid.main {
  flex: 1 0 auto;
  max-width: 40em; }
  @media print {
    .grid.main {
      max-width: 90%; } }
:root {
  background: var(--secondary-accent-color);
  color-scheme: light dark; }

* {
  box-sizing: border-box; }

body,
html {
  background-color: var(--background-color);
  color: var(--primary-color);
  margin: 0; }

body {
  display: flex;
  flex-direction: column; }

img {
  display: block;
  max-width: 100%; }

.animated {
  transition: all 250ms; }

.home .fa-ul {
  font-size: 0.875em;
  margin-left: 1.5em; }

.home .card {
  margin: 2em 0;
  padding: 0.5em 1em; }
  .home .card h2 {
    margin-top: 0; }

.fa-ul > li {
  padding-bottom: 0.5em; }

.fa-li {
  color: var(--accent-color);
  opacity: 0.75;
  width: 0.875em; }

  .rainbow-text {
    background-image: repeating-linear-gradient(45deg, #ff69b4, rgb(186, 105, 244), rgb(175, 240, 255), #ff69b4, rgb(175, 240, 255));
    background-size: 800% 800%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: rainbow 8s ease infinite;
}

@keyframes rainbow {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 25%
    }

    100% {
        background-position: 0% 50%
    }
}

@keyframes rainbow {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 25%
    }

    100% {
        background-position: 0% 50%
    }
}