*,
*::before,
*::after {
  box-sizing: border-box;
  font-feature-settings: "kern";
  font-kerning: normal;
  -moz-osx-font-smoothing: grayscale !important;
  -webkit-font-smoothing: antialiased !important;
}

html {
  font-size: 100%;
  hanging-punctuation: first last;
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  overflow-anchor: none;
  interpolate-size: allow-keywords;
}

body {
  min-height: 100vh;
  line-height: var(--base-line-height);
  margin: 0;
  font-family: var(--font-family-base);
  color: var(--base-font-color);
  text-rendering: geometricPrecision;
}

*:focus {
  outline: none;
}

*:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.2em #fff, 0 0 0 0.4em #2982e1;
}

*::selection {
  background: var(--color-primary);
  color: var(--white);
}

h1, h2, h3, h4,
button, input {
  line-height: 1.1;
}

input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
}

:where(a) {
  color: inherit;
  text-decoration-color: currentColor;
  text-decoration-line: underline;
  text-decoration-thickness: 0.07em;
  text-underline-offset: 0.1em;
  text-decoration-skip-ink: auto;
}

:where(a):hover {
  text-decoration-color: currentColor;
  text-decoration-line: inherit;
}

:where(a):focus {
  text-decoration-style: none;
}

img,
svg,
video,
picture {
  display: block;
  height: auto;
  max-width: 100%;
}

math,
table,
time[datetime*=":"] {
  font-variant-numeric: tabular-nums lining-nums;
}

:target {
  scroll-margin-block: 50px;
  scroll-margin-block: 10ex;
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: no-preference) {
  :has(:target) {
    scroll-behavior: smooth;
    scroll-padding-top: 3rem;
  }
}
h1, h2, h3,
h4, h5, h6 {
  text-wrap: balance;
  font-family: var(--font-family-heading);
  line-height: var(--line-height-heading);
}

* {
  margin: 0;
  padding: 0;
}

article, aside, details, figcaption, figure,
footer, header, menu, nav, section, main {
  display: block;
}

:where(ul, ol) {
  list-style: "";
}

:where(sup, sub) {
  line-height: 1;
}

p, li, dl, tr,
figcaption {
  text-wrap: pretty;
}

code,
pre,
kbd,
tt {
  font-family: var(--font-family-code);
  vertical-align: bottom;
}

pre {
  background: rgba(0, 0, 0, 0.1);
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
  white-space: pre;
}

blockquote {
  margin-inline: 0;
}

/*# sourceMappingURL=/assets/application/base/reset-2286b4f9.css.map */
