/* Start of CSS Resetter */
*,
*::before,
*::after {
  box-sizing: border-box;
}
* {
  margin: 0;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}
input,
button,
textarea,
select {
  font: inherit;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}
p {
  text-wrap: pretty;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}
#root,
#__next {
  isolation: isolate;
}
/* End of CSS Resetter */

:root {
  --color-dark-grayish-blue: hsl(217, 19%, 35%);
  --color-desaturated-dark-blue: hsl(214, 17%, 51%);
  --color-grayish-blue: hsl(212, 23%, 69%);
  --color-light-grayish-blue: hsl(210, 46%, 95%);

  --font-manrope: 300 1rem "Manrope", Arial;
}

html,
body {
  position: relative;
  min-height: calc(100dvh + 8dvh);
  background-color: var(--color-light-grayish-blue);
  font: var(--font-manrope);
  font-size: 13px;
  padding: 0px 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

footer {
  position: absolute;
  bottom: calc(80vh / 100vh * 20px);
  padding: 0px 1rem;
}

.attribution {
  font-size: 11px;
  text-align: center;
}
.attribution a {
  color: hsl(228, 45%, 44%);
}
