/* Theme: Manuscript */
/* Near-white, ink-on-paper — Crimson Text + Source Sans 3 */

@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,700;1,400;1,700&family=Source+Sans+3:wght@300;400;600&display=swap');

/* === Reset === */
*, ::before, ::after { box-sizing: border-box; }
html { font-family: sans-serif; -webkit-text-size-adjust: 100%; }
html, body { font-size: 112.5%; }
div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title,
h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
audio, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
a { background: none; }
a:focus { outline: thin dotted; }
a:active, a:hover { outline: 0; }
hr { height: 0; }
pre { white-space: pre-wrap; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -.5em; }
sub { bottom: -.25em; }
table { border-collapse: collapse; border-spacing: 0; }

/* === Body === */
body {
  background: #fffef9;
  color: #1a1a1a;
  padding: 0; margin: 0;
  font-family: "Crimson Text", "Noto Serif", "DejaVu Serif", serif;
  line-height: 1;
  position: relative;
  cursor: auto;
  -moz-tab-size: 4; tab-size: 4;
  word-wrap: anywhere;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}
a:hover { cursor: pointer; }
img, object, embed { max-width: 100%; height: auto; }
object, embed { height: 100%; }
img, object, svg { display: inline-block; vertical-align: middle; }

/* === Utility === */
.left { float: left !important; }
.right { float: right !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-center { text-align: center !important; }
.text-justify { text-align: justify !important; }
.hide { display: none; }
.center { margin-left: auto; margin-right: auto; }
.stretch { width: 100%; }
.clearfix::before, .clearfix::after, .float-group::before, .float-group::after { content: " "; display: table; }
.clearfix::after, .float-group::after { clear: both; }
:not(pre).nobreak { word-wrap: normal; }
:not(pre).nowrap { white-space: nowrap; }
:not(pre).pre-wrap { white-space: pre-wrap; }

/* === Typography === */
a { color: #2a6464; text-decoration: none; line-height: inherit; }
a:hover, a:focus { color: #1e4a4a; }
a:visited { text-decoration: none; }
a img { border: 0; }

p { line-height: 1.7; margin-bottom: 1.25em; text-rendering: optimizeLegibility; }
p aside { font-size: .875em; line-height: 1.35; font-style: italic; }
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 {
  font-family: "Source Sans 3", "Open Sans", "DejaVu Sans", sans-serif;
  font-weight: 400; font-style: normal;
  color: #2c2c2c;
  text-rendering: optimizeLegibility;
  margin-top: 1em; margin-bottom: .5em; line-height: 1.2;
  word-spacing: -.05em;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-variant: small-caps;
}
h1 { font-size: 1.875em; }
h2 { font-size: 1.5em; }
h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.25em; }
h4, h5 { font-size: 1.0625em; }
h6 { font-size: 1em; }
h1 strong, h2 strong, h3 strong, #toctitle strong, .sidebarblock > .content > .title strong,
h4 strong, h5 strong, h6 strong { font-weight: 400; }
h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small,
h4 small, h5 small, h6 small { font-size: 60%; color: #888; line-height: 0; }
@media screen and (min-width: 768px) {
  h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.2; }
  h1 { font-size: 2.375em; }
  h2 { font-size: 2em; }
  h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.5em; }
  h4 { font-size: 1.25em; }
}
em, i { font-style: italic; line-height: inherit; }
strong, b { font-weight: bold; line-height: inherit; }
small { font-size: 60%; line-height: inherit; }
hr { border: solid #e2e2e2; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; }
b, strong { font-weight: bold; }
abbr { font-size: .9em; }
abbr[title] { cursor: help; border-bottom: 1px dotted #e2e2e2; text-decoration: none; }
dfn { font-style: italic; }
mark { background: #ff0; color: #000; }
code { font-family: "Droid Sans Mono", "DejaVu Sans Mono", monospace; font-weight: 400; color: #1a1a1a; }
code, kbd, pre, samp { font-family: monospace; font-size: 1em; }
q { quotes: "\201C" "\201D" "\2018" "\2019"; }

/* === Layout === */
#header, #content, #footnotes, #footer {
  width: 100%; margin: 0 auto; max-width: 56em;
  position: relative; padding-left: .9375em; padding-right: .9375em;
}
#header::before, #header::after, #content::before, #content::after,
#footnotes::before, #footnotes::after, #footer::before, #footer::after { content: " "; display: table; }
#header::after, #content::after, #footnotes::after, #footer::after { clear: both; }
#content { margin-top: 1.25em; }
#content::before { content: none; }
#content { margin-bottom: .625em; }
@media screen and (min-width: 768px) { #content { margin-bottom: 1.25em; } }

/* === Header === */
#header > h1:first-child { color: #1a1a1a; margin-top: 2.25rem; margin-bottom: 0; }
#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #e2e2e2; }
#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #e2e2e2; padding-bottom: 8px; }
#header .details { border-bottom: 1px solid #e2e2e2; line-height: 1.45; padding-top: .25em; padding-bottom: .25em; padding-left: .25em; color: rgba(26,26,26,.6); display: flex; flex-flow: row wrap; }
#header .details span:first-child { margin-left: -.125em; }
#header .details span.email a { color: #1a1a1a; }
#header .details br { display: none; }
#header .details br + span::before { content: "\00a0\2013\00a0"; }
#header .details br + span.author::before { content: "\00a0\22c5\00a0"; color: #1a1a1a; }
#header .details br + span#revremark::before { content: "\00a0|\00a0"; }
#header #revnumber { text-transform: capitalize; }
#header #revnumber::after { content: "\00a0"; }
#content > h1:first-child:not([class]) { color: #1a1a1a; border-bottom: 1px solid #e2e2e2; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; }

/* === Footer (Asciidoctor generated) === */
#footer { display: none; }

/* === Sections === */
.sect1 { padding-bottom: .625em; }
@media screen and (min-width: 768px) { .sect1 { padding-bottom: 1.25em; } }
.sect1:last-child { padding-bottom: 0; }
.sect1 + .sect1 { border-top: 1px solid #e2e2e2; }

/* === Anchors === */
#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor,
.sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor {
  position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex;
  display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: 400;
}
#content h1 > a.anchor::before, h2 > a.anchor::before, h3 > a.anchor::before, #toctitle > a.anchor::before,
.sidebarblock > .content > .title > a.anchor::before, h4 > a.anchor::before, h5 > a.anchor::before,
h6 > a.anchor::before { content: "\00A7"; font-size: .85em; display: block; padding-top: .1em; }
#content h1:hover > a.anchor, #content h1 > a.anchor:hover,
h2:hover > a.anchor, h2 > a.anchor:hover,
h3:hover > a.anchor, #toctitle:hover > a.anchor,
.sidebarblock > .content > .title:hover > a.anchor,
h3 > a.anchor:hover, #toctitle > a.anchor:hover,
.sidebarblock > .content > .title > a.anchor:hover,
h4:hover > a.anchor, h4 > a.anchor:hover,
h5:hover > a.anchor, h5 > a.anchor:hover,
h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; }
#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link,
.sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: #2c2c2c; text-decoration: none; }
#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover,
.sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover,
h6 > a.link:hover { color: #1a1a1a; }

/* === TOC === */
#toc { border-bottom: 1px solid #e2e2e2; padding-bottom: .5em; }
#toc > ul { margin-left: .125em; }
#toc ul.sectlevel0 > li > a { font-style: italic; }
#toc ul.sectlevel0 ul.sectlevel1 { margin: .5em 0; }
#toc ul { font-family: "Source Sans 3", "Open Sans", sans-serif; list-style-type: none; }
#toc li { line-height: 1.6; margin-top: .5em; }
#toc a { text-decoration: none; color: #6b7280; transition: color .2s ease; }
#toc a:hover { color: #1a1a1a; }
#toc a:active { text-decoration: underline; }
#toctitle { color: #2c2c2c; font-size: 1.2em; }
@media screen and (min-width: 768px) {
  #toctitle { font-size: .85em; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; font-variant: normal; font-family: "Source Sans 3", sans-serif; color: #999; }
  body.toc2 { padding-left: 15em; padding-right: 0; }
  #toc.toc2 {
    margin-top: 0 !important; background: #fffef9;
    position: fixed; width: 15em; left: 0; top: 0;
    border-right: none; border-top-width: 0 !important; border-bottom-width: 0 !important;
    z-index: 1000; padding: 2.5em 1.5em 1.5em; height: 100%; overflow: auto;
    box-shadow: 1px 0 0 #e8e5de;
  }
  #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 1.5rem; border-bottom: none; }
  #toc.toc2 > ul { font-size: .85em; margin-bottom: 0; }
  #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; }
  #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: .5em; margin-bottom: .5em; }
  #toc.toc2 li { padding: .15em 0; }
  #toc.toc2 li a { text-transform: none; letter-spacing: 0; font-variant: normal; }
  body.toc2.toc-right { padding-left: 0; padding-right: 15em; }
  body.toc2.toc-right #toc.toc2 { box-shadow: -1px 0 0 #e8e5de; border-right-width: 0; left: auto; right: 0; }
}
@media screen and (min-width: 1280px) {
  body.toc2 { padding-left: 18em; padding-right: 0; }
  #toc.toc2 { width: 18em; padding: 3em 1.75em 1.5em; }
  #toc.toc2 #toctitle { font-size: .9em; }
  #toc.toc2 > ul { font-size: .88em; }
  #toc.toc2 ul ul { padding-left: 1.25em; }
  body.toc2.toc-right { padding-left: 0; padding-right: 18em; }
}
#content #toc { border: 1px solid #e2e2e2; margin-bottom: 1.25em; padding: 1.25em; background: #f9f8f5; border-radius: 4px; }
#content #toc > :first-child { margin-top: 0; }
#content #toc > :last-child { margin-bottom: 0; }

/* === Block titles === */
.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title,
.imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title,
.openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title,
.verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title,
.qlist > .title, .hdlist > .title {
  line-height: 1.45; color: #555; font-weight: 400; margin-top: 0; margin-bottom: .25em;
  text-rendering: optimizeLegibility; text-align: left;
  font-family: "Crimson Text", "Noto Serif", "DejaVu Serif", serif;
  font-size: 1rem; font-style: italic;
}
.imageblock > .title { text-align: inherit; }

/* === Content blocks === */
details, .audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; }
details { margin-left: 1.25rem; }
details > summary { cursor: pointer; display: block; position: relative; line-height: 1.6; margin-bottom: .625rem; outline: none; }
details > summary::-webkit-details-marker { display: none; }
details > summary::before { content: ""; border: solid transparent; border-left: solid; border-width: .3em 0 .3em .5em; position: absolute; top: .5em; left: -1.25rem; transform: translateX(15%); }
details[open] > summary::before { border: solid transparent; border-top: solid; border-width: .5em .3em 0; transform: translateY(15%); }
details > summary::after { content: ""; width: 1.25rem; height: 1em; position: absolute; top: .3em; left: -1.25rem; }
.paragraph.lead > p, #preamble > .sectionbody > [class=paragraph]:first-of-type p { font-size: 1.21875em; line-height: 1.6; color: rgba(26,26,26,.85); }

/* === Lists === */
ul, ol, dl { line-height: 1.7; margin-bottom: 1.25em; list-style-position: outside; font-family: inherit; }
ul, ol { margin-left: 1.5em; }
ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; }
ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; }
dl dt { margin-bottom: .3125em; font-weight: bold; }
dl dd { margin-bottom: 1.25em; }
ol { margin-left: 1.75em; }
ul li ol { margin-left: 1.5em; }
dl dd { margin-left: 1.125em; }
dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; }
li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: .625em; }
ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; }
ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: .625em; }
ul.unstyled, ol.unstyled { margin-left: 0; }
li > p:empty:only-child::before { content: ""; display: inline-block; }
ul.inline { display: flex; flex-flow: row wrap; list-style: none; margin: 0 0 .625em -1.25em; }
ul.inline > li { margin-left: 1.25em; }
ol.arabic { list-style-type: decimal; }
ol.loweralpha { list-style-type: lower-alpha; }
ol.upperalpha { list-style-type: upper-alpha; }
ol.lowerroman { list-style-type: lower-roman; }
ol.upperroman { list-style-type: upper-roman; }

/* === Blockquote === */
blockquote { margin: 0 0 1.25em; padding: .5625em 1.25em 0 1.1875em; border-left: 1px solid #e2e2e2; }
blockquote, blockquote p { line-height: 1.7; color: rgba(26,26,26,.85); }

/* === Tables === */
table { background: transparent; margin-bottom: 1.25em; border: 1px solid #e2e2e2; word-wrap: normal; }
table thead, table tfoot { background: #f5f4f0; }
table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: .5em .625em .625em; font-size: inherit; color: #1a1a1a; text-align: left; }
table tr th, table tr td { padding: .5625em .625em; font-size: inherit; color: #1a1a1a; }
table tr.even, table tr.alt { background: #f9f8f5; }
table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { line-height: 1.6; }
table thead th, table tfoot th { font-weight: bold; }
tbody tr th { background: #f5f4f0; }
tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #1a1a1a; font-weight: bold; }
p.tableblock:last-child { margin-bottom: 0; }
td.tableblock > .content { margin-bottom: 1.25em; word-wrap: anywhere; }
td.tableblock > .content > :last-child { margin-bottom: -1.25em; }
table.tableblock, th.tableblock, td.tableblock { border: 0 solid #e2e2e2; }
table.grid-all > * > tr > * { border-width: 1px; }
table.grid-cols > * > tr > * { border-width: 0 1px; }
table.grid-rows > * > tr > * { border-width: 1px 0; }
table.frame-all { border-width: 1px; }
table.frame-ends { border-width: 1px 0; }
table.frame-sides { border-width: 0 1px; }
table.frame-none > colgroup + * > :first-child > *, table.frame-sides > colgroup + * > :first-child > * { border-top-width: 0; }
table.frame-none > :last-child > :last-child > *, table.frame-sides > :last-child > :last-child > * { border-bottom-width: 0; }
table.frame-none > * > tr > :first-child, table.frame-ends > * > tr > :first-child { border-left-width: 0; }
table.frame-none > * > tr > :last-child, table.frame-ends > * > tr > :last-child { border-right-width: 0; }
table.stripes-all > * > tr, table.stripes-odd > * > tr:nth-of-type(odd),
table.stripes-even > * > tr:nth-of-type(even), table.stripes-hover > * > tr:hover { background: #f5f4f0; }
th.halign-left, td.halign-left { text-align: left; }
th.halign-right, td.halign-right { text-align: right; }
th.halign-center, td.halign-center { text-align: center; }
th.valign-top, td.valign-top { vertical-align: top; }
th.valign-bottom, td.valign-bottom { vertical-align: bottom; }
th.valign-middle, td.valign-middle { vertical-align: middle; }
p.tableblock { font-size: 1em; }
p.tableblock > code:only-child { background: none; padding: 0; }
table.tableblock.fit-content > caption.title { white-space: nowrap; width: 0; }

/* === Code blocks === */
:not(pre):not([class^=L]) > code { font-size: .9375em; font-style: normal !important; letter-spacing: 0; padding: .1em .5ex; word-spacing: -.15em; background: #f5f4f0; border-radius: 4px; line-height: 1.45; text-rendering: optimizeSpeed; }
pre { color: #1a1a1a; font-family: "Droid Sans Mono", "DejaVu Sans Mono", monospace; line-height: 1.45; text-rendering: optimizeSpeed; }
pre code, pre pre { color: inherit; font-size: inherit; line-height: inherit; }
pre > code { display: block; }
pre.nowrap, pre.nowrap pre { white-space: pre; word-wrap: normal; }
.literalblock pre, .listingblock > .content > pre { border-radius: 4px; overflow-x: auto; padding: 1em; font-size: .8125em; }
@media screen and (min-width: 768px) { .literalblock pre, .listingblock > .content > pre { font-size: .90625em; } }
@media screen and (min-width: 1280px) { .literalblock pre, .listingblock > .content > pre { font-size: 1em; } }
.literalblock pre, .listingblock > .content > pre:not(.highlight),
.listingblock > .content > pre[class=highlight], .listingblock > .content > pre[class^="highlight "] { background: #f5f4f0; }
.literalblock.output pre { color: #f5f4f0; background: rgba(0,0,0,.9); }
.listingblock > .content { position: relative; }
.listingblock code[data-lang]::before { display: none; content: attr(data-lang); position: absolute; font-size: .75em; top: .425rem; right: .5rem; line-height: 1; text-transform: uppercase; color: inherit; opacity: .5; }
.listingblock:hover code[data-lang]::before { display: block; }

/* === Admonition === */
.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; }
.admonitionblock > table td.icon { text-align: center; width: 80px; }
.admonitionblock > table td.icon img { max-width: none; }
.admonitionblock > table td.icon .title { font-weight: bold; font-family: "Source Sans 3", "Open Sans", sans-serif; text-transform: uppercase; }
.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #e2e2e2; color: rgba(26,26,26,.6); word-wrap: anywhere; }
.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; }

/* === Sidebar / Example === */
.exampleblock > .content { border: 1px solid #e2e2e2; margin-bottom: 1.25em; padding: 1.25em; background: #fffef9; border-radius: 4px; box-shadow: 0 1px 4px #e2e2e2; }
.sidebarblock { border: 1px solid #e2e2e2; margin-bottom: 1.25em; padding: 1.25em; background: #f9f8f5; border-radius: 4px; }
.sidebarblock > .content > .title { color: #555; margin-top: 0; text-align: center; }
.exampleblock > .content > :first-child, .sidebarblock > .content > :first-child { margin-top: 0; }
.exampleblock > .content > :last-child, .sidebarblock > .content > :last-child,
.exampleblock > .content > :last-child > :last-child, .sidebarblock > .content > :last-child > :last-child { margin-bottom: 0; }

/* === Quoteblock / Verseblock === */
.quoteblock { margin: 0 1em 1.25em 1.5em; display: table; }
.quoteblock:not(.excerpt) > .title { margin-left: -1.5em; margin-bottom: .75em; }
.quoteblock blockquote, .quoteblock p { color: rgba(26,26,26,.85); font-size: 1.15rem; line-height: 1.75; word-spacing: .1em; letter-spacing: 0; font-style: italic; text-align: justify; }
.quoteblock blockquote { margin: 0; padding: 0; border: 0; }
.quoteblock blockquote::before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: .6em; margin-left: -.6em; color: #555; text-shadow: 0 1px 2px rgba(0,0,0,.1); }
.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; }
.quoteblock .attribution { margin-top: .75em; margin-right: .5ex; text-align: right; }
.verseblock { margin: 0 1em 1.25em; }
.verseblock pre { font-family: "Crimson Text", "Noto Serif", serif; font-size: 1.15rem; color: rgba(26,26,26,.85); font-weight: 400; text-rendering: optimizeLegibility; }
.verseblock pre strong { font-weight: 400; }
.verseblock .attribution { margin-top: 1.25rem; margin-left: .5ex; }
.quoteblock .attribution, .verseblock .attribution { font-size: .9375em; line-height: 1.45; font-style: italic; }
.quoteblock .attribution br, .verseblock .attribution br { display: none; }
.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -.025em; color: rgba(26,26,26,.6); }

/* === Images === */
.imageblock.left { margin: .25em .625em 1.25em 0; }
.imageblock.right { margin: .25em 0 1.25em .625em; }
.imageblock > .title { margin-bottom: 0; }
.imageblock.thumb, .imageblock.th { border-width: 6px; }
.image.left, .image.right { margin-top: .25em; margin-bottom: .25em; display: inline-block; line-height: 0; }
.image.left { margin-right: .625em; }
.image.right { margin-left: .625em; }
a.image { text-decoration: none; display: inline-block; }
a.image object { pointer-events: none; }
.thumb, .th { line-height: 0; display: inline-block; border: 4px solid #fffef9; box-shadow: 0 0 0 1px #e2e2e2; }

/* === hdlist / colist === */
.hdlist > table, .colist > table { border: 0; background: none; }
.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; }
td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 .625em; }
td.hdlist1 { font-weight: bold; padding-bottom: 1.25em; }
td.hdlist2 { word-wrap: anywhere; }

/* === Footnotes === */
sup.footnote, sup.footnoteref { font-size: .875em; position: static; vertical-align: super; }
sup.footnote a, sup.footnoteref a { text-decoration: none; }
sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; }
#footnotes { padding-top: .75em; padding-bottom: .75em; margin-bottom: .625em; }
#footnotes hr { width: 20%; min-width: 6.25em; margin: -.25em 0 .75em; border-width: 1px 0 0; }
#footnotes .footnote { padding: 0 .375em 0 .225em; line-height: 1.3334; font-size: .875em; margin-left: 1.2em; margin-bottom: .2em; }
#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; }
#footnotes .footnote:last-of-type { margin-bottom: 0; }
#content #footnotes { margin-top: -.625em; margin-bottom: 0; padding: .75em 0; }

/* === Font Awesome icons === */
span.icon > .fa { cursor: default; }
a span.icon > .fa { cursor: inherit; }
.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0,0,0,.5); cursor: default; }
.admonitionblock td.icon .icon-note::before { content: "\f05a"; color: #19407c; }
.admonitionblock td.icon .icon-tip::before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155,155,0,.8); color: #111; }
.admonitionblock td.icon .icon-warning::before { content: "\f071"; color: #bf6900; }
.admonitionblock td.icon .icon-caution::before { content: "\f06d"; color: #bf3400; }
.admonitionblock td.icon .icon-important::before { content: "\f06a"; color: #bf0000; }

/* === Misc text === */
dt, th.tableblock, td.content, div.footnote { text-rendering: optimizeLegibility; }
h1, h2, p, td.content, span.alt, summary { letter-spacing: -.01em; }
p strong, td.content strong, div.footnote strong { letter-spacing: -.005em; }
p, blockquote, dt, td.content, td.hdlist1, span.alt, summary { font-size: 1.0625rem; }
p { margin-bottom: 1.25rem; }
.sidebarblock p, .sidebarblock dt, .sidebarblock td.content, p.tableblock { font-size: 1em; }
div.unbreakable { page-break-inside: avoid; }
.big { font-size: larger; }
.small { font-size: smaller; }
.underline { text-decoration: underline; }
.overline { text-decoration: overline; }
.line-through { text-decoration: line-through; }
em em { font-style: normal; }
strong strong { font-weight: 400; }

/* === Axis links (home page) === */
.axis { font-size: 2em; font-weight: 300; letter-spacing: .01em; text-transform: none; font-variant: normal; }
.axis a { color: #2a6464; }
.axis a:hover { color: #1e4a4a; }

/* === Site navigation footer === */
body { padding-bottom: 3.5em; }
.site-nav {
  position: fixed; bottom: 0; left: 0; right: 0;
  z-index: 1000;
  background: #fffef9;
  border-top: 1px solid #e2e2e2;
  text-align: center;
  padding: .6em .9375em .5em;
  font-family: "Source Sans 3", "Open Sans", sans-serif;
  font-size: .85rem; letter-spacing: .02em; line-height: 2;
}
.site-nav a { color: #2a6464; text-decoration: none; white-space: nowrap; }
.site-nav a:hover { color: #1e4a4a; }
.nav-toggle { position: absolute; left: -9999px; width: 0; height: 0; opacity: 0; pointer-events: none; }
.nav-hamburger { display: none; }
body.toc2 .site-nav { left: 0; }
@media screen and (min-width: 768px) {
  body.toc2 .site-nav { margin-left: 15em; }
}
@media screen and (min-width: 1280px) {
  body.toc2 .site-nav { margin-left: 20em; }
}
@media screen and (max-width: 767px) {
  .nav-hamburger {
    display: block; position: fixed; bottom: .5em; right: .75em;
    z-index: 1001; font-size: 1.5rem; cursor: pointer;
    color: #2a6464; background: none; border: none; line-height: 1;
  }
  .site-nav { padding: .4em .5em; }
  .site-nav-inner { display: none; }
  .nav-toggle:checked ~ .site-nav-inner {
    display: block;
    position: fixed; bottom: 2.5em; left: 0; right: 0;
    background: #fffef9;
    padding: 1em;
    border-top: 1px solid #e2e2e2;
  }
}

/* === Print === */
.print-only { display: none !important; }
@page { margin: 1.25cm .75cm; }
@media print {
  * { box-shadow: none !important; text-shadow: none !important; }
  html { font-size: 80%; }
  a { color: inherit !important; text-decoration: underline !important; }
  a.bare, a[href^="#"], a[href^="mailto:"] { text-decoration: none !important; }
  pre, blockquote, tr, img, object, svg { page-break-inside: avoid; }
  thead { display: table-header-group; }
  svg { max-width: 100%; }
  p, blockquote, dt, td.content { font-size: 1em; orphans: 3; widows: 3; }
  h2, h3, #toctitle, .sidebarblock > .content > .title { page-break-after: avoid; }
  #header, #content, #footnotes, #footer { max-width: none; }
  #toc, .sidebarblock, .exampleblock > .content { background: none !important; }
  #toc { border-bottom: 1px solid #e2e2e2 !important; padding-bottom: 0 !important; }
  .site-nav { display: none; }
}
