:root {
  --space-xxs: 0.15em;
  --space-xs: 0.3em;
  --space-sm: 0.6em;
  --space-md: 1.2em;
  --space-lg: 2.4em;
  --space-xl: 4.8em;
  --space-xxl: 9.6em;
}

body {
  background-color: #231e2d;
  color: white;
  font-family: 'Nunito-Regular';
  line-height: 1.4em;
  padding: var(--space-lg);
}

a {
  color: #1ac386;
  text-decoration: none;
}

a:hover {
  color: #1ac386;
  text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Nunito-Bold';
  text-align: left;
}

h1, h2, h3, h4, h5, h6, a {
  word-break: break-all;
  hyphens: auto;
}

h1 { font-size: 3.0rem; }
h2 { font-size: 2.5rem; }
h3 { font-size: 1.8rem; }
h4 { font-size: 1.4rem; }
h5 { font-size: 1.2rem; }
h6 { font-size: 0.8rem; }
a { font-size: 1.0rem; word-break: break-all; }
p { font-size: 1.1rem; line-height: 1.5; font-weight: 400; }
span, span a { font-size: 0.9rem; line-height: 1.5; color: grey; }
input, textarea { font-size: 0.9rem; }

p:not(:last-child) {
  margin-bottom: var(--space-sm);
}

h1:not(:first-child),
h2:not(:first-child),
h3:not(:first-child),
h4:not(:first-child),
h5:not(:first-child),
h6:not(:first-child) {
  margin-top: var(--space-md);
}

h1:not(:last-child),
h2:not(:last-child),
h3:not(:last-child),
h4:not(:last-child),
h5:not(:last-child),
h6:not(:last-child) {
  margin-bottom: var(--space-xs);
}

ol p,
ul p {
  margin-bottom: var(--space-sm);
}

ol li:not(:last-child),
ul li:not(:last-child) {
  margin-bottom: var(--space-sm);
}

ol li,
ul li {
  margin-left: var(--space-lg);
  font-size: 1.1rem;
  font-weight: bold;
}

span,
span a {
  font-size: 0.9rem;
  line-height: 1.5;
  color: grey;
}

.footnote {
  margin-top: var(--space-lg);
}
