@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

hr {
  box-sizing: content-box;
  height: 0; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

b {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button,
select {
  text-transform: none; }

button {
  -webkit-appearance: button; }

button::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring {
  outline: 1px dotted ButtonText; }

details {
  display: block; }

summary {
  display: list-item; }

/*! end normalise.css */
@media (prefers-color-scheme: light) {
  #page {
    --accent: #002642;
    --accent-dark: #00151c;
    --code-foreground: #2c3e50;
    --code-background: #f5f5f5;
    --code-func: #6c3163;
    --code-const: #4e3163;
    --code-regex: #655370;
    --back-white: #fff;
    --back-light: #f0eeed;
    --back-medium: #c8c8c8;
    --text-light: #7b7b7b;
    --text-gray: #444;
    --text-medium: #222;
    --text-dark: #000;
    --switch-icon: "🌚";
    --switch-shadow-color: #373d4e;
    --switch-text: "dark mode?"; }
  #theme-switch:checked ~ #page {
    --accent: #002642;
    --accent-dark: #daf1ff;
    --code-foreground: #a1a8ae;
    --code-background: #222;
    --code-func: #bd56ad;
    --code-const: #8755ab;
    --code-regex: #a184b3;
    --back-white: #000;
    --back-light: #181818;
    --back-medium: #444;
    --text-light: #7b7b7b;
    --text-gray: #c8c8c8;
    --text-medium: #ddd;
    --text-dark: #efefef;
    --switch-icon: "🌝";
    --switch-shadow-color: #fce477;
    --switch-text: "light mode?"; }
    #theme-switch:checked ~ #page img.invertible, #theme-switch:checked ~ #page object[type="image/svg+xml"].invertible, #theme-switch:checked ~ #page img.org-latex {
      filter: invert(90.5%) hue-rotate(180deg) sepia(1%); } }

@media (prefers-color-scheme: dark) {
  #theme-switch:checked ~ #page {
    --accent: #002642;
    --accent-dark: #00151c;
    --code-foreground: #2c3e50;
    --code-background: #f5f5f5;
    --code-func: #6c3163;
    --code-const: #4e3163;
    --code-regex: #655370;
    --back-white: #fff;
    --back-light: #f0eeed;
    --back-medium: #c8c8c8;
    --text-light: #7b7b7b;
    --text-gray: #444;
    --text-medium: #222;
    --text-dark: #000;
    --switch-icon: "🌚";
    --switch-shadow-color: #373d4e;
    --switch-text: "dark mode?"; }
    #theme-switch:checked ~ #page img.invertible, #theme-switch:checked ~ #page object[type="image/svg+xml"].invertible, #theme-switch:checked ~ #page img.org-latex {
      filter: invert(7%) sepia(4%); }
  #page {
    --accent: #002642;
    --accent-dark: #daf1ff;
    --code-foreground: #a1a8ae;
    --code-background: #222;
    --code-func: #bd56ad;
    --code-const: #8755ab;
    --code-regex: #a184b3;
    --back-white: #000;
    --back-light: #181818;
    --back-medium: #444;
    --text-light: #7b7b7b;
    --text-gray: #c8c8c8;
    --text-medium: #ddd;
    --text-dark: #efefef;
    --switch-icon: "🌝";
    --switch-shadow-color: #fce477;
    --switch-text: "light mode?"; }
    #page img.invertible, #page object[type="image/svg+xml"].invertible, #page img.org-latex {
      filter: invert(90.5%) hue-rotate(180deg) sepia(1%); } }

#theme-switch {
  display: none; }

#switch-label {
  position: fixed;
  bottom: 4rem;
  left: 3rem; }

#switch-label::before {
  content: var(--switch-icon);
  font-size: 20px;
  transition: text-shadow .2s; }

#switch-label::after {
  content: var(--switch-text);
  color: var(--switch-shadow-color);
  font-size: 12px;
  visibility: hidden;
  margin-left: 0.5em;
  z-index: 1;
  position: fixed;
  bottom: calc(4rem - 25px);
  left: calc(3rem - 10px); }

@media (max-width: 1000px) {
  #switch-label {
    left: auto;
    bottom: auto;
    right: 1vw;
    top: 1vh; }
    #switch-label::after {
      position: fixed;
      top: calc(1vh + 3px);
      right: calc(1vw + 30px);
      left: auto;
      bottom: auto; } }

#theme-switch:focus ~ #page #switch-label::before,
#switch-label:hover::before {
  text-shadow: 0 0 15px var(--switch-shadow-color); }

#theme-switch:focus ~ #page #switch-label::after,
#switch-label:hover::after {
  visibility: visible; }

*::selection {
  background: var(--back-medium); }

.pace .pace-progress {
  background-color: var(--accent) !important; }

html, body {
  height: 100%; }

body {
  display: flex;
  flex-direction: column;
  font-size: 18px;
  font-family: "ETbb", serif; }

#page {
  color: var(--text-dark);
  background-color: var(--back-light);
  transition-property: color, background-color;
  transition-duration: 100ms; }

#content, header, .page-header {
  margin: 32px;
  flex: 1 0 auto; }

#content {
  margin-top: 4rem;
  min-height: calc(100vh - 4rem - 48px); }

.clearfix::after {
  clear: both; }

.clearfix::before, .clearfix::after {
  content: " ";
  display: table; }

.page-header {
  margin-top: 80px;
  margin-left: 0 !important; }
  .page-header h1 {
    font-size: 40px;
    margin-bottom: 10px;
    margin-top: 10px;
    text-transform: none; }
  .page-header .subtitle {
    font-size: 24px;
    color: var(--text-light);
    margin: 0; }

.page-meta {
  font-family: "Open Sans", sans;
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  line-height: 1.9;
  color: var(--text-light); }

header .site-nav {
  font-family: "Open Sans", sans;
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  line-height: 1.9;
  color: var(--text-light);
  font-weight: bold;
  line-height: 2.0;
  margin-top: 22px; }
  header .site-nav a {
    color: var(--text-light);
    text-decoration: none;
    margin-left: 10px; }
    header .site-nav a:hover {
      color: var(--text-gray); }
    header .site-nav a.active {
      border-bottom: solid;
      border-bottom-width: 2px; }
  header .site-nav a:first-child {
    margin-left: 0; }

header > div {
  display: inherit; }

.site-title {
  font-size: 16px; }
  .site-title span {
    display: none !important; }
  .site-title ul {
    display: block !important;
    list-style: none;
    padding: 0;
    margin: 0; }
    .site-title ul img {
      border-radius: 2px;
      max-width: 32px; }

.site-header nav a {
  color: var(--text-light);
  font-family: "Open Sans", sans;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase; }
  .site-header nav a:hover {
    border: 0;
    color: var(--accent); }

@media (max-width: 1000px) {
  header * {
    display: inline; } }

@media (min-width: 1000px) {
  #content, header, .page-header {
    max-width: 720px;
    margin-left: 164px; }
  header .site-title {
    float: left; }
  header .site-nav {
    float: right;
    margin-top: 0; } }

@media (min-width: 2800px) {
  #content, header, .page-header {
    margin-left: auto;
    margin-right: auto; } }

#content .page-intro {
  font-family: "Open Sans", sans;
  font-weight: normal;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-gray);
  margin-bottom: 40px; }

#content p, #content li, #content dd {
  line-height: 1.4; }

#footer {
  margin-top: 70px;
  height: 10px;
  background: var(--accent-dark); }

.archive-item {
  margin: 50px 0; }
  .archive-item .archive-title {
    font-size: 25px;
    margin: 5px 0;
    background: none;
    text-shadow: none;
    text-decoration: none; }
    .archive-item .archive-title:hover {
      background: none;
      text-shadow: none;
      text-decoration: none; }

#postamble {
  display: none; }

aside {
  background-color: var(--code-background);
  border-radius: 5px;
  font-family: "Open Sans", sans;
  font-weight: normal;
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-gray);
  margin: 20px 0;
  padding: 5px 20px 10px;
  line-height: 1.6 !important; }
  aside p {
    line-height: 1.6 !important; }
  aside pre {
    font-size: 12px;
    border: none;
    padding-left: 0; }
  aside :first-child {
    margin-top: 0.5em; }
  aside :last-child {
    margin-bottom: 0.5em; }

@media (min-width: 1280px) {
  aside {
    float: right;
    clear: right;
    background-color: var(--back-white);
    max-width: 45% !important;
    margin-right: -52%; }
    aside::before {
      content: ''; } }

blockquote {
  border-width: 0;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: var(--back-medium);
  margin: 20px 0;
  padding: 0;
  padding-left: 15px; }
  blockquote p {
    display: inline;
    font-size: 14px; }
  blockquote ol, blockquote ul {
    margin-left: 1em; }
  blockquote footer {
    font-family: "Open Sans", sans;
    font-weight: normal;
    font-style: normal;
    font-size: 12px;
    line-height: 1.9;
    color: var(--text-light);
    text-transform: none; }

div.info {
  background: rgba(58, 129, 195, 0.15);
  border-left: 4px solid rgba(58, 129, 195, 0.45);
  margin: 1.8rem 0 1.25rem 15px;
  padding: 0.8em;
  line-height: 1.4;
  text-align: center;
  position: relative;
  clear: both; }
  div.info p {
    margin: 0; }

div.info::before {
  content: "i";
  color: var(--back-white);
  background: rgba(58, 129, 195, 0.8);
  align-items: flex-end;
  top: -1rem;
  font-weight: 700;
  font-size: 1.4rem;
  -webkit-clip-path: circle(50% at 50% 50%);
  clip-path: circle(50% at 50% 50%);
  width: 30px;
  height: 30px;
  display: inline-flex;
  justify-content: center;
  position: absolute;
  left: -1.2rem;
  line-height: 1.3;
  text-align: center; }

div.success {
  background: rgba(45, 149, 116, 0.15);
  border-left: 4px solid rgba(45, 149, 116, 0.45);
  margin: 1.8rem 0 1.25rem 15px;
  padding: 0.8em;
  line-height: 1.4;
  text-align: center;
  position: relative;
  clear: both; }
  div.success p {
    margin: 0; }

div.success::before {
  content: "✔";
  color: var(--back-white);
  background: rgba(45, 149, 116, 0.8);
  align-items: flex-end;
  top: -1rem;
  font-weight: 700;
  font-size: 1.4rem;
  -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  width: 35px;
  height: 35px;
  display: inline-flex;
  justify-content: center;
  position: absolute;
  left: -1.2rem;
  line-height: 1.5;
  text-align: center; }

div.warning {
  background: rgba(220, 117, 47, 0.15);
  border-left: 4px solid rgba(220, 117, 47, 0.45);
  margin: 1.8rem 0 1.25rem 15px;
  padding: 0.8em;
  line-height: 1.4;
  text-align: center;
  position: relative;
  clear: both; }
  div.warning p {
    margin: 0; }

div.warning::before {
  content: "!";
  color: var(--back-white);
  background: rgba(220, 117, 47, 0.8);
  align-items: flex-end;
  top: -1rem;
  font-weight: 700;
  font-size: 1.4rem;
  -webkit-clip-path: polygon(50% 0, 0 100%, 100% 100%);
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
  width: 35px;
  height: 35px;
  display: inline-flex;
  justify-content: center;
  position: absolute;
  left: -1.2rem;
  line-height: 1.1;
  text-align: center; }

div.error {
  background: rgba(186, 47, 89, 0.15);
  border-left: 4px solid rgba(186, 47, 89, 0.45);
  margin: 1.8rem 0 1.25rem 15px;
  padding: 0.8em;
  line-height: 1.4;
  text-align: center;
  position: relative;
  clear: both; }
  div.error p {
    margin: 0; }

div.error::before {
  content: "!";
  color: var(--back-white);
  background: rgba(186, 47, 89, 0.8);
  align-items: flex-end;
  top: -1rem;
  font-weight: 700;
  font-size: 1.4rem;
  -webkit-clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  width: 35px;
  height: 30px;
  display: inline-flex;
  justify-content: center;
  position: absolute;
  left: -1.2rem;
  line-height: 1.1;
  text-align: center; }

div.notes {
  background: rgba(113, 90, 177, 0.15);
  border-left: 4px solid rgba(113, 90, 177, 0.45);
  margin: 1.8rem 0 1.25rem 15px;
  padding: 0.8em;
  line-height: 1.4;
  text-align: center;
  position: relative;
  clear: both; }
  div.notes p {
    margin: 0; }

div.notes::before {
  content: "✎";
  color: var(--back-white);
  background: rgba(113, 90, 177, 0.8);
  align-items: flex-end;
  top: -1rem;
  font-weight: 700;
  font-size: 1.4rem;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  width: 32px;
  height: 32px;
  display: inline-flex;
  justify-content: center;
  position: absolute;
  left: -1.2rem;
  line-height: 1.3;
  text-align: center; }

.org-ref-bib-h1 {
  margin-top: 70px;
  padding-top: 30px;
  border-width: 0;
  border-top-style: solid;
  border-top-width: 1px;
  border-color: var(--back-light);
  font-family: "Open Sans", sans;
  font-family: "Open Sans", sans;
  font-weight: normal;
  font-size: 20px;
  line-height: 1.6;
  color: var(--text-gray); }

.org-ref-bib {
  font-family: "Open Sans", sans;
  font-weight: normal;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-gray); }
  .org-ref-bib li > a:nth-child(2) {
    background: none;
    text-shadow: none;
    text-decoration: none; }
    .org-ref-bib li > a:nth-child(2):hover {
      background: none;
      text-shadow: none;
      text-decoration: none; }
  .org-ref-bib .bib-link {
    font-family: "Open Sans", sans;
    font-weight: normal;
    font-style: normal;
    font-size: 12px;
    line-height: 1.9;
    color: var(--text-light);
    background: none;
    text-shadow: none;
    text-decoration: none; }

pre.src, pre.example {
  border-width: 0;
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: var(--back-medium);
  margin: 20px 0;
  padding: 0;
  padding-left: 15px;
  font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
  font-size: 14px;
  line-height: 1.9;
  overflow-x: visible;
  box-shadow: none;
  white-space: pre-wrap;
  position: relative; }

pre.example {
  border-left-style: dotted;
  border-left-width: 2px; }

pre.src::before {
  display: inline-block;
  position: absolute;
  background-color: transparent;
  top: unset;
  bottom: -16px;
  left: 20px;
  padding: 0px;
  border: none;
  font-size: 80%;
  font-style: italic;
  color: var(--text-light); }

pre.src:empty {
  display: none; }

code {
  font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
  color: var(--code-foreground);
  font-size: 0.9em;
  padding: 0 2px; }

kbd {
  display: inline-block;
  padding: 0.25em 0.35em;
  font: 80% SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
  font-weight: inherit;
  line-height: normal;
  line-height: 80%;
  color: var(--text-gray);
  vertical-align: middle;
  background-color: var(--back-light);
  border: 1px solid #91959a88;
  border-radius: 0.35em;
  box-shadow: inset 0 -1px 0 #91959a88; }

li code {
  font-size: 14px; }

li p code {
  font-size: 15px; }

details.code {
  position: relative; }
  details.code summary {
    position: relative;
    left: -2.5px;
    padding-left: 10px;
    padding-bottom: 4px;
    margin-left: -10px;
    z-index: 1;
    outline: none;
    font-family: "Open Sans", sans;
    font-weight: normal;
    font-style: normal;
    font-size: 12px;
    line-height: 1.9;
    color: var(--text-light); }
    details.code summary .name {
      font-size: 14px;
      color: var(--text-medium);
      margin-right: 0.7em; }
    details.code summary .lang {
      font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
      font-style: italic; }
  details.code summary::marker {
    color: var(--back-medium); }
  details.code[open] summary {
    margin-bottom: -32px; }
    details.code[open] summary .lang {
      display: none; }
  details.code[open] summary.named {
    margin-bottom: -26px; }
  details.code:not([open]) summary {
    margin-bottom: -5px; }

p + details.code {
  margin-top: -20px; }

li p + details.code {
  margin-top: -5px; }

.example,
.src {
  color: var(--code-foreground); }
  .example .org-keyword,
  .src .org-keyword {
    color: #3a81c3; }
  .example .org-variable-name,
  .src .org-variable-name {
    color: #715ab1; }
  .example .org-rainbow-delimiters-depth-1,
  .example .org-rainbow-delimiters-depth-2,
  .example .org-rainbow-delimiters-depth-3,
  .example .org-rainbow-delimiters-depth-4,
  .example .org-rainbow-delimiters-depth-5,
  .example .org-rainbow-delimiters-depth-6,
  .example .org-rainbow-delimiters-depth-7,
  .example .org-rainbow-delimiters-depth-8,
  .example .org-rainbow-delimiters-depth-9,
  .src .org-rainbow-delimiters-depth-1,
  .src .org-rainbow-delimiters-depth-2,
  .src .org-rainbow-delimiters-depth-3,
  .src .org-rainbow-delimiters-depth-4,
  .src .org-rainbow-delimiters-depth-5,
  .src .org-rainbow-delimiters-depth-6,
  .src .org-rainbow-delimiters-depth-7,
  .src .org-rainbow-delimiters-depth-8,
  .src .org-rainbow-delimiters-depth-9 {
    color: #555555; }
  .example .org-string,
  .src .org-string {
    color: #2d9574; }
  .example .org-comment,
  .example .org-comment-delimiter,
  .src .org-comment,
  .src .org-comment-delimiter {
    color: #555555; }
  .example .org-function-name,
  .src .org-function-name {
    color: var(--code-func); }
  .example .org-constant,
  .example .org-highlight-numbers-number,
  .src .org-constant,
  .src .org-highlight-numbers-number {
    color: var(--code-const); }

.gutter {
  position: absolute;
  top: 0;
  left: -2.5rem;
  width: 2rem;
  padding-right: 0.3rem;
  padding-top: 5px;
  height: calc(100% - 10px);
  z-index: 1;
  transition: opacity 200ms;
  opacity: 0;
  font-size: 15px; }
  .gutter:hover {
    opacity: 1; }
  .gutter * {
    display: block;
    width: 100%;
    text-align: right;
    padding: 0;
    margin: 0;
    color: var(--text-light); }
    .gutter *:hover {
      color: var(--text-gray); }
    .gutter *:active {
      font-weight: bold; }
  .gutter a {
    text-decoration: none;
    font-size: 110%; }
  .gutter button {
    background: none;
    border: none; }

/* Languages per Org manual */
pre.src-asymptote::before {
  content: 'Asymptote'; }

pre.src-authinfo::before {
  content: 'Authinfo'; }

pre.src-awk::before {
  content: 'Awk'; }

pre.src-C::before {
  content: 'C'; }

/* pre.src-C++ doesn't work in CSS */
pre.src-clojure::before {
  content: 'Clojure'; }

pre.src-css::before {
  content: 'CSS'; }

pre.src-D::before {
  content: 'D'; }

pre.src-ditaa::before {
  content: 'ditaa'; }

pre.src-dot::before {
  content: 'Graphviz'; }

pre.src-calc::before {
  content: 'Emacs Calc'; }

pre.src-emacs-lisp::before {
  content: 'Emacs Lisp'; }

pre.src-fortran::before {
  content: 'Fortran'; }

pre.src-gnuplot::before {
  content: 'gnuplot'; }

pre.src-haskell::before {
  content: 'Haskell'; }

pre.src-hledger::before {
  content: 'hledger'; }

pre.src-java::before {
  content: 'Java'; }

pre.src-js::before {
  content: 'Javascript'; }

pre.src-latex::before {
  content: 'LaTeX'; }

pre.src-ledger::before {
  content: 'Ledger'; }

pre.src-lisp::before {
  content: 'Lisp'; }

pre.src-lilypond::before {
  content: 'Lilypond'; }

pre.src-lua::before {
  content: 'Lua'; }

pre.src-matlab::before {
  content: 'MATLAB'; }

pre.src-mscgen::before {
  content: 'Mscgen'; }

pre.src-ocaml::before {
  content: 'Objective Caml'; }

pre.src-octave::before {
  content: 'Octave'; }

pre.src-org::before {
  content: 'Org mode'; }

pre.src-oz::before {
  content: 'OZ'; }

pre.src-plantuml::before {
  content: 'Plantuml'; }

pre.src-processing::before {
  content: 'Processing.js'; }

pre.src-python::before {
  content: 'Python'; }

pre.src-R::before {
  content: 'R'; }

pre.src-ruby::before {
  content: 'Ruby'; }

pre.src-sass::before {
  content: 'Sass'; }

pre.src-scheme::before {
  content: 'Scheme'; }

pre.src-screen::before {
  content: 'Gnu Screen'; }

pre.src-sed::before {
  content: 'Sed'; }

pre.src-sh::before {
  content: 'shell'; }

pre.src-sql::before {
  content: 'SQL'; }

pre.src-sqlite::before {
  content: 'SQLite'; }

/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth::before {
  content: 'Forth'; }

pre.src-io::before {
  content: 'IO'; }

pre.src-J::before {
  content: 'J'; }

pre.src-makefile::before {
  content: 'Makefile'; }

pre.src-maxima::before {
  content: 'Maxima'; }

pre.src-perl::before {
  content: 'Perl'; }

pre.src-picolisp::before {
  content: 'Pico Lisp'; }

pre.src-scala::before {
  content: 'Scala'; }

pre.src-shell::before {
  content: 'Shell Script'; }

pre.src-systemd::before {
  content: 'Systemd'; }

pre.src-ebnf2ps::before {
  content: 'ebfn2ps'; }

/* additional language identifiers per \"defun org-babel-execute\"
      in ob-*.el */
pre.src-cpp::before {
  content: 'C++'; }

pre.src-abc::before {
  content: 'ABC'; }

pre.src-coq::before {
  content: 'Coq'; }

pre.src-groovy::before {
  content: 'Groovy'; }

/* additional language identifiers from org-babel-shell-names in
    ob-shell.el: ob-shell is the only babel language using a lambda to put
    the execution function name together. */
pre.src-bash::before {
  content: 'bash'; }

pre.src-csh::before {
  content: 'csh'; }

pre.src-ash::before {
  content: 'ash'; }

pre.src-dash::before {
  content: 'dash'; }

pre.src-ksh::before {
  content: 'ksh'; }

pre.src-mksh::before {
  content: 'mksh'; }

pre.src-posh::before {
  content: 'posh'; }

/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada::before {
  content: 'Ada'; }

pre.src-asm::before {
  content: 'Assembler'; }

pre.src-caml::before {
  content: 'Caml'; }

pre.src-delphi::before {
  content: 'Delphi'; }

pre.src-html::before {
  content: 'HTML'; }

pre.src-idl::before {
  content: 'IDL'; }

pre.src-mercury::before {
  content: 'Mercury'; }

pre.src-metapost::before {
  content: 'MetaPost'; }

pre.src-modula-2::before {
  content: 'Modula-2'; }

pre.src-pascal::before {
  content: 'Pascal'; }

pre.src-ps::before {
  content: 'PostScript'; }

pre.src-prolog::before {
  content: 'Prolog'; }

pre.src-simula::before {
  content: 'Simula'; }

pre.src-tcl::before {
  content: 'tcl'; }

pre.src-tex::before {
  content: 'LaTeX'; }

pre.src-plain-tex::before {
  content: 'TeX'; }

pre.src-verilog::before {
  content: 'Verilog'; }

pre.src-vhdl::before {
  content: 'VHDL'; }

pre.src-xml::before {
  content: 'XML'; }

pre.src-nxml::before {
  content: 'XML'; }

pre.src-conf::before {
  content: 'Configuration File'; }

.dropcap {
  float: left;
  font-size: 55px;
  font-style: normal;
  line-height: .1;
  margin-right: 0.2em;
  margin-top: 0.5em;
  padding: 0; }

figure {
  text-align: center; }
  figure figcaption {
    margin-top: 10px;
    font-family: "Open Sans", sans;
    font-weight: normal;
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-gray); }
    figure figcaption .figure-number {
      font-family: "Open Sans", sans;
      font-weight: normal;
      font-style: normal;
      font-size: 12px;
      line-height: 1.9;
      color: var(--text-light); }

img.zoomTarget:hover {
  cursor: default !important; }

img, object[type="image/svg+xml"] {
  filter: invert(7%) sepia(4%);
  max-width: 100%; }

.org-svg {
  width: 90%; }

#footnotes {
  margin-top: 70px;
  padding-top: 30px;
  border-width: 0;
  border-top-style: solid;
  border-top-width: 1px;
  border-color: var(--back-light);
  font-family: "Open Sans", sans;
  font-weight: normal;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-gray); }
  #footnotes p, #footnotes li {
    font-family: "Open Sans", sans;
    font-weight: normal;
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-gray); }
  #footnotes h2.footnotes {
    margin-top: 0;
    margin-bottom: 30px;
    font-family: "Open Sans", sans;
    font-size: 18px;
    letter-spacing: 5px;
    display: none; }
  #footnotes .footnum {
    color: var(--text-dark); }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Gorton Digital", sans;
  font-weight: normal;
  margin-bottom: 0;
  margin-top: 60px; }

h1 > a[aria-hidden='true'],
h2 > a[aria-hidden='true'],
h3 > a[aria-hidden='true'],
h4 > a[aria-hidden='true'],
h5 > a[aria-hidden='true'],
h6 > a[aria-hidden='true'] {
  color: var(--back-medium);
  position: relative;
  top: 0.06em;
  line-height: 1;
  font-size: 110%;
  padding-left: 0.2em;
  text-decoration: none;
  visibility: hidden; }

h1 > a[aria-hidden='true']:hover,
h2 > a[aria-hidden='true']:hover,
h3 > a[aria-hidden='true']:hover,
h4 > a[aria-hidden='true']:hover,
h5 > a[aria-hidden='true']:hover,
h6 > a[aria-hidden='true']:hover {
  color: var(--text-light); }

h1:hover > a[aria-hidden='true'],
h2:hover > a[aria-hidden='true'],
h3:hover > a[aria-hidden='true'],
h4:hover > a[aria-hidden='true'],
h5:hover > a[aria-hidden='true'],
h6:hover > a[aria-hidden='true'] {
  visibility: visible; }

h1, h2, h3, h4, h5, h6 {
  padding-left: 30px;
  margin-left: -30px;
  position: relative; }

h1, .section-number-1 {
  font-size: 40px; }

h2, .section-number-2 {
  font-size: 30px; }

h3, .section-number-3 {
  font-size: 24px; }

h4, .section-number-4 {
  font-size: 20px;
  font-style: italic; }

h5 {
  font-size: 20px;
  font-variant: small-caps; }

.section-number-5 {
  font-size: 20px; }

h6 {
  font-size: 18px;
  font-style: italic; }

.section-number-6 {
  font-size: 18px; }

.section-number-1,
.section-number-2,
.section-number-3,
.section-number-4,
.section-number-5,
.section-number-6 {
  font-family: "Open Sans", sans;
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  line-height: 1.9;
  color: var(--text-light);
  font-size: inherit;
  color: var(--text-light);
  line-height: 1; }
  @media (min-width: 1000px) {
    .section-number-1,
    .section-number-2,
    .section-number-3,
    .section-number-4,
    .section-number-5,
    .section-number-6 {
      position: absolute;
      transform: translateX(-100%) translateX(-10px); } }
.outline-text-2:empty + .outline-3 > h3, .outline-text-2:-moz-only-whitespace + .outline-3 > h3 {
  margin-top: 20px; }

.outline-text-3:empty + .outline-4 > h4, .outline-text-3:-moz-only-whitespace + .outline-4 > h4 {
  margin-top: 15px; }

.outline-text-4:empty + .outline-5 > h5, .outline-text-4:-moz-only-whitespace + .outline-5 > h5 {
  margin-top: 15px; }

.outline-text-5:empty + .outline-6 > h6, .outline-text-5:-moz-only-whitespace + .outline-6 > h6 {
  margin-top: 10px; }

hr {
  border: none;
  border-top-style: solid;
  border-top-width: 1px;
  color: var(--back-medium);
  margin-bottom: 30px;
  margin-top: 40px; }

a {
  color: inherit;
  position: relative; }

figcaption a,
p a,
.page-tags a,
table a,
li a,
dl a {
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--text-light);
  text-decoration-thickness: .1em;
  text-underline-offset: 1.5px;
  border-radius: 1px; }
  figcaption a::selection,
  p a::selection,
  .page-tags a::selection,
  table a::selection,
  li a::selection,
  dl a::selection {
    background: var(--back-medium); }
  figcaption a *,
  figcaption a *:after, figcaption a:after,
  figcaption a *:before, figcaption a:before,
  p a *,
  p a *:after,
  p a:after,
  p a *:before,
  p a:before,
  .page-tags a *,
  .page-tags a *:after,
  .page-tags a:after,
  .page-tags a *:before,
  .page-tags a:before,
  table a *,
  table a *:after,
  table a:after,
  table a *:before,
  table a:before,
  li a *,
  li a *:after,
  li a:after,
  li a *:before,
  li a:before,
  dl a *,
  dl a *:after,
  dl a:after,
  dl a *:before,
  dl a:before {
    text-shadow: none; }
  figcaption a:visited,
  p a:visited,
  .page-tags a:visited,
  table a:visited,
  li a:visited,
  dl a:visited {
    color: var(--text-dark); }
  figcaption a:hover,
  p a:hover,
  .page-tags a:hover,
  table a:hover,
  li a:hover,
  dl a:hover {
    opacity: 0.9;
    filter: drop-shadow(1px 1px 1px var(--back-white));
    text-decoration: none; }
    figcaption a:hover::before,
    p a:hover::before,
    .page-tags a:hover::before,
    table a:hover::before,
    li a:hover::before,
    dl a:hover::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg id='squiggle-link' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:ev='http://www.w3.org/2001/xml-events' viewBox='0 0 20 4'%3E%3Cstyle type='text/css'%3E.squiggle{animation:shift .3s linear infinite;}@keyframes shift {from {transform:translateX(0);}to {transform:translateX(-20px);}}%3C/style%3E%3Cpath fill='none' stroke='%23000000' stroke-width='2' class='squiggle' d='M0,3.5 c 5,0,5,-3,10,-3 s 5,3,10,3 c 5,0,5,-3,10,-3 s 5,3,10,3'/%3E%3C/svg%3E") !important;
      mask-position: 0% 100%;
      mask-size: 0.8em auto;
      mask-repeat: repeat-x;
      background: var(--text-light); }
  figcaption a[href^="#"],
  p a[href^="#"],
  .page-tags a[href^="#"],
  table a[href^="#"],
  li a[href^="#"],
  dl a[href^="#"] {
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-decoration-color: var(--text-light);
    text-decoration-thickness: .1em;
    text-underline-offset: 1.5px; }
    figcaption a[href^="#"]::selection,
    p a[href^="#"]::selection,
    .page-tags a[href^="#"]::selection,
    table a[href^="#"]::selection,
    li a[href^="#"]::selection,
    dl a[href^="#"]::selection {
      background: var(--back-white); }
    figcaption a[href^="#"]:hover,
    p a[href^="#"]:hover,
    .page-tags a[href^="#"]:hover,
    table a[href^="#"]:hover,
    li a[href^="#"]:hover,
    dl a[href^="#"]:hover {
      opacity: 0.9;
      filter: drop-shadow(1px 1px 1px var(--back-white));
      text-decoration-line: underline;
      text-decoration-style: dotted;
      text-decoration-color: var(--text-light);
      text-decoration-thickness: .1em;
      text-underline-offset: 1.5px; }
      figcaption a[href^="#"]:hover::selection,
      p a[href^="#"]:hover::selection,
      .page-tags a[href^="#"]:hover::selection,
      table a[href^="#"]:hover::selection,
      li a[href^="#"]:hover::selection,
      dl a[href^="#"]:hover::selection {
        background: var(--back-white); }

#theme-switch:checked ~ #page #breadcrumbs a:hover,
#theme-switch:checked ~ #page figcaption a:hover,
#theme-switch:checked ~ #page p a:hover,
#theme-switch:checked ~ #page .page-tags a:hover,
#theme-switch:checked ~ #page table a:hover,
#theme-switch:checked ~ #page #crosslinks a:not(.highlight):hover,
#theme-switch:checked ~ #page li a:hover,
#theme-switch:checked ~ #page dl a:hover {
  text-decoration: none; }
  #theme-switch:checked ~ #page #breadcrumbs a:hover::before,
  #theme-switch:checked ~ #page figcaption a:hover::before,
  #theme-switch:checked ~ #page p a:hover::before,
  #theme-switch:checked ~ #page .page-tags a:hover::before,
  #theme-switch:checked ~ #page table a:hover::before,
  #theme-switch:checked ~ #page #crosslinks a:not(.highlight):hover::before,
  #theme-switch:checked ~ #page li a:hover::before,
  #theme-switch:checked ~ #page dl a:hover::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg id='squiggle-link' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:ev='http://www.w3.org/2001/xml-events' viewBox='0 0 20 4'%3E%3Cstyle type='text/css'%3E.squiggle{animation:shift .3s linear infinite;}@keyframes shift {from {transform:translateX(0);}to {transform:translateX(-20px);}}%3C/style%3E%3Cpath fill='none' stroke='%23000000' stroke-width='2' class='squiggle' d='M0,3.5 c 5,0,5,-3,10,-3 s 5,3,10,3 c 5,0,5,-3,10,-3 s 5,3,10,3'/%3E%3C/svg%3E") !important;
    mask-position: 0% 100%;
    mask-size: 0.8em auto;
    mask-repeat: repeat-x;
    background: var(--text-light); }

*:target::before {
  content: "🠖";
  position: absolute;
  left: -7rem;
  top: calc(0.5em - 2rem);
  line-height: 1;
  color: #e65353aa;
  font-size: 3rem;
  font-style: normal; }
  @media (max-width: 1000px) {
    *:target::before {
      content: "🠔";
      left: unset;
      right: 0; } }
#content .page-intro p a,
#footnotes a {
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--text-light);
  text-decoration-thickness: .1em;
  text-underline-offset: 1.5px;
  border-radius: 1px; }
  #content .page-intro p a::selection,
  #footnotes a::selection {
    background: var(--back-medium); }
  #content .page-intro p a *,
  #content .page-intro p a *:after, #content .page-intro p a:after,
  #content .page-intro p a *:before, #content .page-intro p a:before,
  #footnotes a *,
  #footnotes a *:after,
  #footnotes a:after,
  #footnotes a *:before,
  #footnotes a:before {
    text-shadow: none; }
  #content .page-intro p a:visited,
  #footnotes a:visited {
    color: var(--text-gray); }
  #content .page-intro p a:hover,
  #footnotes a:hover {
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-decoration-color: var(--text-light);
    text-decoration-thickness: .1em;
    text-underline-offset: 1.5px;
    border-radius: 1px; }
    #content .page-intro p a:hover::selection,
    #footnotes a:hover::selection {
      background: var(--back-medium); }
    #content .page-intro p a:hover *,
    #content .page-intro p a:hover *:after, #content .page-intro p a:hover:after,
    #content .page-intro p a:hover *:before, #content .page-intro p a:hover:before,
    #footnotes a:hover *,
    #footnotes a:hover *:after,
    #footnotes a:hover:after,
    #footnotes a:hover *:before,
    #footnotes a:hover:before {
      text-shadow: none; }
    #content .page-intro p a:hover:visited,
    #footnotes a:hover:visited {
      color: var(--text-gray); }

.btn {
  padding: 7px 14px;
  border-style: solid;
  border-width: 1px;
  border-color: var(--back-light);
  border-radius: 1px;
  font-family: "Open Sans", sans;
  font-variant: all-small-caps;
  font-size: 14px;
  font-style: normal;
  letter-spacing: 2px;
  background-image: none;
  cursor: pointer; }
  .btn:hover {
    background-color: var(--back-light);
    background-image: none; }

.btn.disabled {
  color: var(--text-light); }
  .btn.disabled:hover {
    cursor: default; }

.btn.small {
  padding: 3px 6px;
  border-style: solid;
  border-width: 1px;
  border-color: var(--back-light);
  border-radius: 1px;
  font-family: "Open Sans", sans;
  font-variant: all-small-caps;
  font-size: 12px;
  font-style: normal;
  letter-spacing: 2px;
  background-image: none;
  padding-right: 9px;
  padding-left: 9px; }
  .btn.small:hover {
    background-color: var(--back-light);
    background-image: none; }

.btn.highlight {
  text-shadow: none;
  text-decoration: none;
  color: var(--text-dark);
  background-color: yellow; }

.btn.primary {
  text-shadow: none;
  text-decoration: none;
  color: var(--back-white);
  background-color: var(--accent); }
  .btn.primary:hover {
    background-color: var(--back-light);
    background-image: none;
    color: var(--text-dark); }

.image-link, .image-link:hover {
  background: none;
  text-shadow: none;
  text-decoration: none; }

div.link-preview {
  border: 1px solid var(--back-medium);
  border-radius: 0.5em;
  overflow: hidden;
  position: relative;
  max-height: 5em;
  padding-left: 0.5em; }
  div.link-preview a {
    color: inherit;
    text-decoration: none; }
  div.link-preview img {
    border-right: 1px solid var(--back-medium);
    float: left;
    height: 5em;
    margin-left: -0.5em;
    margin-right: 0.5em; }
  div.link-preview p {
    margin: 0 0.6em 0 0;
    font-size: 10pt; }
    div.link-preview p b {
      font-size: 11pt; }
  div.link-preview small {
    float: right;
    font-family: sans;
    color: var(--text-light);
    margin: 0.45em 0.6em; }

ul, ol, dl {
  list-style: none;
  list-style-position: outside;
  padding: 0; }
  ul li::before, ul dt::before, ol li::before, ol dt::before, dl li::before, dl dt::before {
    display: inline-block;
    width: 1em;
    font-family: "Open Sans", sans;
    font-weight: normal;
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-gray); }
  ul li, ol li, dl li {
    margin: 5px 0;
    font-size: 14px; }
    ul li p, ol li p, dl li p {
      font-size: 15px; }

ul li::before {
  content: "•";
  margin-left: -1em; }

ol {
  counter-reset: li; }
  ol li:not([value]) {
    counter-increment: li; }
  ol li::before {
    content: counter(li);
    margin-left: -1.5em;
    margin-right: 0.5em;
    text-align: right;
    direction: rtl; }
  ol li[value]::before {
    content: attr(value); }

ul ul, ol ol {
  padding-left: 20px; }

ul ul ul, ol ol ol {
  padding-left: 30px; }

li p:first-child {
  display: inline-block;
  margin-bottom: 0; }

dl dt::before {
  content: "•";
  margin-left: -1em; }

dl dt {
  font-weight: normal;
  margin-bottom: 10px; }

dl dd {
  font-style: italic;
  margin-bottom: 20px; }

li .checkbox {
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  border-radius: 3px;
  margin: 3px;
  top: 4px;
  position: relative; }

li.on > .checkbox {
  background: #2d9574;
  box-shadow: 0 0 2px #2d9574; }

li.trans > .checkbox {
  background: #dc752f;
  box-shadow: 0 0 2px #dc752f; }

li.off > .checkbox {
  background: #ba2f59;
  box-shadow: 0 0 2px #ba2f59;
  top: 6px; }

li.on > .checkbox::after {
  content: '';
  height: 0.45em;
  width: 0.225em;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  transform: scaleX(-1) rotate(135deg);
  border-right: 2.8px solid #fff;
  border-top: 2.8px solid #fff;
  opacity: 0.9;
  left: 0.10em;
  top: 0.45em;
  position: absolute; }

li.trans > .checkbox::after {
  content: '';
  font-weight: bold;
  font-size: 1.6em;
  position: absolute;
  top: 0.2em;
  left: 0.11em;
  width: 0.35em;
  height: 0.12em;
  background: #fff;
  opacity: 0.9;
  border-radius: 0.1em; }

li.off > .checkbox::after {
  content: '✖';
  color: #fff;
  opacity: 0.9;
  position: relative;
  top: -0.50rem;
  left: 0.17em;
  font-size: 0.75em; }

#org-div-home-and-up {
  display: none !important; }

.outline-2 h2 {
  font-size: 30px; }

.outline-3 h3 {
  font-size: 24px;
  font-style: normal; }

.outline-2 .section-number-2 {
  font-size: 30px; }

.outline-3 .section-number-3 {
  font-size: 24px; }

.timestamp,
.timestamp-kwd {
  font-family: "Open Sans", sans;
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  line-height: 1.9;
  color: var(--text-light);
  background-color: var(--back-white);
  border-radius: 1px; }

.todo,
.done {
  padding: 0.1em 0.2em;
  border-style: solid;
  border-width: 1px;
  border-color: var(--back-light);
  border-radius: 1px;
  font-family: "Open Sans", sans;
  font-variant: all-small-caps;
  font-size: max(0.4em, 10px);
  font-style: normal;
  letter-spacing: 2px;
  background-image: none;
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
  padding: 0.1em 0.5em;
  background-color: var(--back-white);
  background-color: transparent;
  border: none;
  font-weight: bold; }
  .todo:hover,
  .done:hover {
    background-color: var(--back-light);
    background-image: none; }
  .todo:not(.active),
  .done:not(.active) {
    border-color: var(--back-white); }
  .todo.active,
  .done.active {
    text-shadow: none;
    text-decoration: none;
    color: var(--back-white);
    background-color: var(--code-foreground); }
    .todo.active:hover,
    .done.active:hover {
      background-color: var(--back-light);
      background-image: none;
      color: var(--text-dark); }

.outline-2,
.outline-3,
.outline-4 {
  contain: layout; }
  .outline-2 .todo,
  .outline-2 .done,
  .outline-3 .todo,
  .outline-3 .done,
  .outline-4 .todo,
  .outline-4 .done {
    font-size: 18px; }

.todo {
  color: #ee3333; }

.done {
  color: var(--text-light); }

.tag > span {
  padding: 0.1em 0.2em;
  border-style: solid;
  border-width: 1px;
  border-color: var(--back-light);
  border-radius: 1px;
  font-family: "Open Sans", sans;
  font-variant: all-small-caps;
  font-size: max(0.4em, 10px);
  font-style: normal;
  letter-spacing: 2px;
  background-image: none;
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
  padding: 0.1em 0.5em;
  background-color: var(--back-white);
  border-radius: 100px; }
  .tag > span:hover {
    background-color: var(--back-light);
    background-image: none; }
  .tag > span:not(.active) {
    border-color: var(--back-white); }
  .tag > span.active {
    text-shadow: none;
    text-decoration: none;
    color: var(--back-white);
    background-color: var(--code-foreground); }
    .tag > span.active:hover {
      background-color: var(--back-light);
      background-image: none;
      color: var(--text-dark); }

.priority {
  color: var(--text-light);
  font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace; }

.footref {
  text-shadow: none; }

.footpara {
  display: inline; }

.footdef {
  margin-bottom: 1em; }

th.org-right {
  text-align: center; }

th.org-left {
  text-align: center; }

th.org-center {
  text-align: center; }

td.org-right {
  text-align: right; }

td.org-left {
  text-align: left; }

td.org-center {
  text-align: center; }

div.org-center {
  text-align: center; }

span.acr {
  font-variant-caps: all-small-caps;
  letter-spacing: 0.1em; }

.music-track {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; }
  .music-track img {
    height: 6rem;
    margin-right: 2rem; }
  .music-track a {
    text-decoration: none; }
  .music-track span {
    min-width: 35%; }

div.table {
  position: relative; }
  div.table .gutter {
    left: calc(20px - 2.5rem);
    padding-top: 18px; }
  div.table .tabular {
    max-width: 100%;
    overflow-x: auto; }

table {
  border-color: var(--text-light);
  border-left: transparent;
  border-right: transparent;
  border-style: solid;
  border-width: 2px;
  border-collapse: collapse;
  font-size: 15px;
  font-family: "Open Sans", sans;
  margin: 20px;
  padding: 20px; }
  table thead {
    font-family: "Open Sans", sans;
    font-weight: normal;
    font-style: normal;
    font-size: 12px;
    line-height: 1.9;
    color: var(--text-light);
    font-size: 15px; }
    table thead tr th {
      padding: 4px 10px;
      background-color: #9991; }
    table thead tr:last-of-type th {
      border-bottom: solid 1px var(--text-light); }
  table tr, table th, table td {
    border: none; }
  table tbody tr td {
    border-top: 0;
    padding: 0 10px; }
  table tr {
    line-height: 1.9; }
  table caption {
    margin-bottom: 10px;
    min-width: 20em;
    font-family: "Open Sans", sans;
    font-weight: normal;
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-gray); }
    table caption .table-number {
      font-family: "Open Sans", sans;
      font-weight: normal;
      font-style: normal;
      font-size: 12px;
      line-height: 1.9;
      color: var(--text-light); }

::-webkit-scrollbar {
  width: 10px;
  height: 8px; }

::-webkit-scrollbar-track {
  background: #9992; }

::-webkit-scrollbar-thumb {
  background: #ccc; }

::-webkit-scrollbar-thumb:hover {
  background: #888; }

@media (min-width: 1280px) {
  #table-of-contents {
    position: fixed;
    width: 18rem;
    right: 1rem;
    top: 0;
    padding: 1em;
    line-height: 1.5;
    margin-top: 4rem; }
    #table-of-contents h2 {
      margin-top: 0; }
    #table-of-contents #text-table-of-contents {
      position: relative; }
      #table-of-contents #text-table-of-contents::before, #table-of-contents #text-table-of-contents::after {
        position: absolute;
        content: '';
        width: calc(100% - 10px);
        height: 0.7rem;
        left: 0;
        z-index: 1; }
      #table-of-contents #text-table-of-contents::before {
        top: 0;
        background: linear-gradient(180deg, var(--back-light) 0%, var(--back-light) 35%, rgba(0, 0, 0, 0) 100%); }
      #table-of-contents #text-table-of-contents::after {
        bottom: 0;
        background: linear-gradient(0deg, var(--back-light) 0%, var(--back-light) 35%, rgba(0, 0, 0, 0) 100%); }
      #table-of-contents #text-table-of-contents > ul {
        list-style: none;
        padding: 0;
        margin: 0;
        max-height: calc(100vh - 5rem - 50px);
        overflow-y: auto;
        overflow-x: hidden;
        scrollbar-width: thin; }
        #table-of-contents #text-table-of-contents > ul ul {
          padding-left: 2em; }
        #table-of-contents #text-table-of-contents > ul ul.active {
          display: inline-block; }
        #table-of-contents #text-table-of-contents > ul li.active > ul {
          display: inline-block; }
        #table-of-contents #text-table-of-contents > ul li.active > label a, #table-of-contents #text-table-of-contents > ul li.active > a {
          color: var(--text-dark); }
        #table-of-contents #text-table-of-contents > ul li.active > input:not(:checked) ~ label::after {
          transform: rotate(90deg);
          top: 5px;
          opacity: 0.35; }
        #table-of-contents #text-table-of-contents > ul > li:last-child {
          margin-bottom: 2rem; } }

@media (min-width: 1440px) {
  #table-of-contents {
    width: 20rem;
    right: 2rem; } }

@media (min-width: 1640px) {
  #table-of-contents {
    right: 5rem; } }

@media (min-width: 2000px) {
  #table-of-contents {
    width: 25rem; } }

#table-of-contents #text-table-of-contents ul {
  width: 100%; }

#table-of-contents #text-table-of-contents > ul ul {
  display: none; }

#table-of-contents #text-table-of-contents li input[type=checkbox] {
  display: none; }

#table-of-contents #text-table-of-contents li label {
  display: inline-block;
  width: 100%;
  position: relative; }

#table-of-contents #text-table-of-contents li a {
  display: inline-block;
  color: var(--text-gray);
  text-decoration: none !important;
  text-shadow: none;
  background: none !important; }

#table-of-contents #text-table-of-contents li label::after {
  content: "\25b6";
  color: var(--text-gray);
  margin-left: 0.5em;
  font-size: 10px;
  display: inline-block;
  position: absolute;
  top: 3.4px;
  left: -20px;
  opacity: 0.8; }

#table-of-contents #text-table-of-contents li input:checked ~ ul {
  display: inline-block !important; }

#table-of-contents #text-table-of-contents li input:checked ~ label a {
  font-weight: bold; }

#table-of-contents #text-table-of-contents li input:checked ~ label::after {
  transform: rotate(90deg);
  top: 5px; }

#table-of-contents #text-table-of-contents li::before {
  content: "" !important; }

.page-tags a {
  padding: 0.1em 0.2em;
  border-style: solid;
  border-width: 1px;
  border-color: var(--back-light);
  border-radius: 1px;
  font-family: "Open Sans", sans;
  font-variant: all-small-caps;
  font-size: max(0.4em, 10px);
  font-style: normal;
  letter-spacing: 2px;
  background-image: none;
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
  padding: 0.1em 0.5em;
  background-color: var(--back-white);
  margin-right: 5px;
  line-height: 3em; }
  .page-tags a:hover {
    background-color: var(--back-light);
    background-image: none; }
  .page-tags a:not(.active) {
    border-color: var(--back-white); }
  .page-tags a.active {
    text-shadow: none;
    text-decoration: none;
    color: var(--back-white);
    background-color: var(--code-foreground); }
    .page-tags a.active:hover {
      background-color: var(--back-light);
      background-image: none;
      color: var(--text-dark); }

@media print {
  h2 {
    page-break-before: always; }
  h1, h2, h3, h4, h5 {
    page-break-after: avoid; }
  #switch-label {
    display: none; }
  #content, #page-header {
    margin-top: 0; }
  #table-of-contents #text-table-of-contents > ul ul {
    display: inline-block; }
  #table-of-contents #text-table-of-contents > ul a::after {
    content: leader(".") target-counter(attr(href), page); }
  #table-of-contents #text-table-of-contents li label::after {
    display: none; }
  img {
    filter: none; } }

@page {
  size: auto;
  margin-top: 4mm;
  margin-bottom: 4mm; }
