/* stylelint-disable color-named */
/**
 * Use a print-friendly font size.
 */
html {
  font-size: 8pt;
  line-height: 1.5;
}

/**
 * Use a print-friendly font family.
 */
body {
  margin: 0.5cm;
  padding: 2em 5em;
  color: black;
  font-family: "Helvetica Neue", sans-serif;
}

/**
 * Hide unnecessary content from print.
 */
nav,
audio,
video,
form,
.complementary-content,
.site-header,
.site-footer,
.search-form,
.paginator,
.a--skip-link {
  display: none;
}

/**
 * Make sure links are not underlined.
 */
a {
  text-decoration: none;
}

/**
 * Harmonize size, style and vertical margin of headings.
 */
h1 {
  margin: 16pt 0;
  clear: both;
  font-size: 32pt;
  line-height: 36pt;
}

h2,
h3,
h4,
h5,
h6 {
  clear: both;
  orphans: 2;
  widows: 2;
  page-break-after: avoid;
}

h2 {
  margin: 14pt 0;
  font-size: 24pt;
  line-height: 28pt;
}

h3 {
  margin: 12pt 0;
  font-size: 18pt;
  line-height: 22pt;
}

h4 {
  margin: 11pt 0;
  font-size: 14pt;
  line-height: 18pt;
}

h5 {
  margin: 10pt 0;
  font-size: 12pt;
  line-height: 16pt;
}

h6 {
  margin: 9pt 0;
  font-size: 10pt;
  line-height: 14pt;
}

/**
 * Prevent widows (single final paragraph line on next page) and orphans (single
 * first paragraph line on previous page).
 */
p {
  orphans: 2;
  widows: 2;
}

/**
 * Harmonize size and style of small text.
 */
figcaption,
tfoot,
small,
.footnote,
.footnotes {
  font-size: 6pt;
}

/**
 * Simple blockquote styling.
 *
 * 1. Avoid blockquotes breaking across multiple pages.
 */
blockquote {
  padding: 0 0 0 8pt;
  border-left: 3pt solid black;
  font-size: 16pt;
  page-break-inside: avoid; /* 1 */
}

/**
 * Simple preformatted text styling.
 *
 * 1. Ensure pre blocks are wrapped when printed.
 */
pre {
  margin-bottom: 8pt;
  padding: 8pt;
  border: 1pt solid black;
  white-space: pre-wrap; /* 1 */
}

/**
 * Use a print-friendly monospaced font and size.
 */
pre,
code,
kbd,
samp,
var {
  font-family: "Courier New", Courier, monospace;
}

/**
 * Images.
 *
 * 1. Avoid images breaking across multiple pages.
 *
 * Image alignment (compatible with Textile markup syntax).
 *
 * Example HTML:
 *
 * <img class="align-left">
 * <img class="align-right">
 * <img class="align-center">
 */
img {
  page-break-inside: avoid; /* 1 */
}
img.align-left {
  margin: 1em 1em 1em 0;
  float: left;
}
img.align-right {
  margin: 1em 0 1em 1em;
  float: right;
}
img.align-center {
  display: block;
  margin: 1em auto;
}

/**
 * Ensure margin below `figure`.
 */
figure {
  margin-bottom: 8pt;
}

/**
 * Ensure margin above `figcaption`.
 */
figcaption {
  margin-top: 4pt;
}

/**
 * Remove margins from nested lists.
 */
li > ul,
li > ol {
  margin: 0;
}

/**
 * Have a list with no bullets/numerals.
 *
 * Example HTML:
 *
 * <ul class="list--no-bullets">
 * <ol class="list--no-bullets">
 */
.list--no-bullets {
  padding: 0;
  list-style: none;
}

/**
 * 1. Make `table` span entire page width.
 * 2. Ensure margin below `table`.
 */
table {
  width: 100%; /* 1 */
  margin-bottom: 8pt; /* 2 */
}

/**
 * Display table head across multi-page tables.
 */
thead {
  display: table-header-group;
}
thead th {
  border-top: 1pt solid black;
}

/**
 * Avoid table rows breaking across multiple pages.
 */
tr {
  page-break-inside: avoid;
}

/**
 * Simple styling for table cells.
 */
th,
td {
  padding: 4pt 8pt;
  border-bottom: 1pt solid black;
}
