/* Print-friendly, US Letter, 1-inch margins */

@page {
  size: Letter;
  margin: 1in;
}

:root {
  --text: #000;
  --muted: #444;
  --rule: #bbb;
}

* {
  box-sizing: border-box;
}

html, body {
  padding: 0;
  margin: 0;
  color: var(--text);
  background: #fff;
  font-family: "Times New Roman", Times, serif;
  font-size: 11pt;
  line-height: 1.25;
}

/* Constrain printable elements within margins */
.doc-header, .content, .doc-footer {
  max-width: 6.5in; /* 8.5in - 2in margins */
  margin: 0 auto;
}

.doc-header {
  padding-top: 0.25in;
  padding-bottom: 0.15in;
  border-bottom: 1px solid var(--rule);
  margin-bottom: 0.2in;
}

h1 {
  font-size: 16pt;
  margin: 0 0 6pt 0;
}

.meta {
  margin: 0;
  color: var(--muted);
}

.topic {
  page-break-inside: avoid;
  margin: 0 0 0.25in 0;
}

h2 {
  font-size: 12.5pt;
  margin: 0.18in 0 0.08in 0;
  padding-top: 0.05in;
  border-top: 1px solid var(--rule);
}

.entries {
  margin: 0;
  padding-left: 0.25in;
}

.entry {
  margin: 0 0 10pt 0;
}

/* MLA-style hanging indent for citations */
.citation {
  padding-left: 0.25in;
  text-indent: -0.25in;
  overflow-wrap: anywhere;
}

.annotation {
  margin-top: 4pt;
  padding-left: 0.25in;
  color: var(--text);
}

a {
  color: #000;
  text-decoration: underline;
}

a:visited {
  color: #000;
}

.doc-footer {
  border-top: 1px solid var(--rule);
  margin-top: 0.25in;
  padding-top: 0.1in;
  padding-bottom: 0.25in;
  color: var(--muted);
  font-size: 10.5pt;
}

/* Screen tweaks */
@media screen {
  body {
    padding: 24px;
  }
  .doc-header {
    padding-top: 0;
  }
}

/* Print tweaks */
@media print {
  body {
    padding: 0;
  }
  .topic {
    page-break-inside: avoid;
  }
  a {
    text-decoration: underline;
  }
}
