body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
dd,
dt,
blockquote,
samp {
  line-height: 1.6em;
  line-height: calc(1.6em * var(--archetype-correction, 1));
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 1em 0 0.2em 0;
  margin-top: calc(1em * var(--archetype-correction, 1));
  margin-bottom: calc(0.2em * var(--archetype-correction, 1));
}

h1 + p,
h2 + p,
h3 + p,
h4 + p,
h5 + p,
h6 + p,
h1 + ol,
h2 + ol,
h3 + ol,
h4 + ol,
h5 + ol,
h6 + ol,
h1 + ul,
h2 + ul,
h3 + ul,
h4 + ul,
h5 + ul,
h6 + ul,
h1 + dl,
h2 + dl,
h3 + dl,
h4 + dl,
h5 + dl,
h6 + dl {
  margin-top: 0;
}

hr + h1,
hr + h2,
hr + h3,
hr + h4,
hr + h5,
hr + h6,
hr + p,
hr + ul,
hr + ol,
hr + dl {
  margin-top: 0;
}

h1 {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 0.8em;
  margin-bottom: calc(0.8em * var(--archetype-correction, 1));
}

h2 {
  font-size: 2.0rem;
  font-weight: 400;
  margin-bottom: 0.4em;
  margin-bottom: calc(0.4em * var(--archetype-correction, 1));
}

h3 {
  font-size: 1.6rem;
  font-weight: 600;
}

h4 {
  font-size: 1.2rem;
  font-weight: 500;
}

h5 {
  font-size: 1.0rem;
  font-weight: 600;
}

h6 {
  font-size: 0.8rem;
  font-weight: 600;
}

p,
ul,
ol,
dl {
  font-size: 1rem;
  margin: 1em 0;
  margin-top: calc(1em * var(--archetype-correction, 1));
  margin-bottom: calc(1em * var(--archetype-correction, 1));
  padding: 0;
  font-weight: 400;
}

li {
  margin: 0.6em 0 0.6em 1.2em;
  margin-top: calc(0.6em * var(--archetype-correction, 1));
  margin-bottom: calc(0.6em * var(--archetype-correction, 1));
  margin-left: calc(1.2em * var(--archetype-correction, 1));
  padding: 0 0 0 0.6em;
  padding-left: calc(0.6em * var(--archetype-correction, 1));
}

dt {
  font-weight: 600;
  margin: 1em 0 0.4em 0;
  margin-top: calc(1em * var(--archetype-correction, 1));
  margin-bottom: calc(0.4em * var(--archetype-correction, 1));
  padding: 0;
}

dd {
  margin: 0 0 0.6em 1.2em;
  margin-bottom: calc(0.6em * var(--archetype-correction, 1));
  margin-left: calc(1.2em * var(--archetype-correction, 1));
}

samp,
blockquote {
  margin: 1.8em 0 1.8em -1px;
  margin-top: calc(1.8em * var(--archetype-correction, 1));
  margin-bottom: calc(1.8em * var(--archetype-correction, 1));
  padding: 0 0 0 1.2em;
  padding-left: calc(1.2em * var(--archetype-correction, 1));
  font-size: 1rem;
  border-left: 1px solid #ccc;
}

samp {
  font-family: monospace;
}

small,
small p,
figcaption,
figcaption p {
  font-size: 0.8rem;
  line-height: 1.8em;
  line-height: calc(1.8em * var(--archetype-correction, 1));
}

hr {
  border: none;
  border-bottom: 1px solid #ccc;
  margin: 2em 0;
  margin-top: calc(2em * var(--archetype-correction, 1));
  margin-bottom: calc(2em * var(--archetype-correction, 1));
  padding: 0;
}
