html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

div {
  box-sizing: border-box;
}

:root {
  /* Color variables */
  --color-black-tint: #1d1d1b;
  --color-blue: #0098da;
  --color-gray: #9d9d9c;
  --color-gray-dark-1: #888;
  --color-gray-dark-2: #676767;
  --color-gray-light-1: #f7f6f5;
  --color-gray-light-2: #dedede;
  --color-off-white: #fbf2ec;

  /* Semantic color variables */
  --color-background: #fff;
  --color-background-dark: var(--color-gray-light-1);
  --color-border: var(--color-gray-light-2);
  --color-link: #00568a;
  --color-link-hover: #053f6c;
  --color-button-text: #fff;
  --color-button: #00568a;
  --color-button-hover: #004671;
  --color-meta-text: var(--color-gray-dark-2);
  --color-error: #d51a25;

  /* Spacing variables */
  --space-sixteenth: 2px;
  --space-eighth: 4px;
  --space-quarter: 8px;
  --space-half: 16px;
  --space-three-quarters: 24px;
  --space-normal: 32px;
  --space-one-and-a-half: 48px;
  --space-double: 64px;

  /* Typography */
  --font-family-headline: 'SuecaWeb Hd', georgia, serif;
  --font-family-serif: 'Sueca Text', georgia, serif;
  --font-family-sans-serif: 'Ester Blenda', Arial, sans-serif;
  --font-family-forsberg: 'Forsberg', georgia, serif;
}

/* Dark mode color overrides */
.darkmode {
  --color-black-tint: #ffffff;
  --color-gray-dark-2: #dedede;
  --color-gray-light-1: #111523;
  --color-gray-light-2: #676767;
  --color-off-white: #111523;

  --color-background: #242d41;
  --color-border: #242d41;
  --color-link: #41c0f0;
  --color-link-hover: #73d8ff;
  --color-button-text: #1d1d1b;
  --color-button: #41c0f0;
  --color-button-hover: #59c8f2;
  --color-error: #ea515a;
}

/* Global resets */
body {
  margin: 0;
  color: var(--color-black-tint);
}

html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

a {
  text-decoration: none;
  color: var(--color-link);
}

a:hover {
  color: var(--color-link-hover);
}

p {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}
