// CSS Reset based on https://hankchizljaw.com/wrote/a-modern-css-reset/
// Some modifications made for our specific needs.

// Box sizing rules
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

// Setting font family and default px value (to be used by our rem units downstream)
body {
  text-rendering: optimizespeed;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell,
    'Open Sans', 'Helvetica Neue', sans-serif;
  font-size: 16px;
  scroll-behavior: smooth;
}

// Standardize list styles on ul, ol elements
ul,
ol {
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-inline-start: 40px;
}

// Remove default margin
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
label,
form,
pre,
table,
td,
th,
thead,
tr,
a,
select,
option,
textarea,
input,
fieldset,
div,
button,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

// Sensible line-height for text
p {
  line-height: 1.5;
}

// A elements that do not have a class get default styles
a:not([class]) {
  text-decoration-skip-ink: auto;
}

// Make images easier to work with
img {
  max-width: 100%;
}

// Natural flow and rhythm in articles by default
article > * + * {
  margin-top: 1em;
}

// Inherit fonts for inputs and buttons
input,
button,
textarea,
select {
  font: inherit;
}

// Remove all animations and transitions for people that prefer not to see them
@media (prefers-reduced-motion: reduce) {
  * {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
