@font-face {
  font-display: swap;
  font-family: 'Luculent';
  src: url('/res/f/luculentb.woff2') format('woff2'),
       url('/res/f/luculentb.woff') format('woff'),
       url('/res/f/luculentb.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-display: swap;
  font-family: 'Luculent';
  src: url('/res/f/luculentbi.woff2') format('woff2'),
       url('/res/f/luculentbi.woff') format('woff'),
       url('/res/f/luculentbi.ttf') format('truetype');
  font-weight: bold;
  font-style: italic;
}

@font-face {
  font-display: swap;
  font-family: 'Luculent';
  src: url('/res/f/luculenti.woff2') format('woff2'),
       url('/res/f/luculenti.woff') format('woff'),
       url('/res/f/luculenti.ttf') format('truetype');
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-display: swap;
  font-family: 'Luculent';
  src: url('/res/f/luculent.woff2') format('woff2'),
       url('/res/f/luculent.woff') format('woff'),
       url('/res/f/luculent.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

* {
  font-family: Luculent, monospace;
  background-color: #dedede;
  color: #222222;
}

a, a * {
  color: blue;
  text-decoration: none;
}

a:hover {
  color: darkblue;
}

html, body {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

#main {
  margin-left: 25%;
  margin-right: 25%;
  margin-bottom: 5%;
  padding: 20px;
  padding-top: 5%;
}

#links {
  margin-top: 40px;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  height: 30px;
}

#links .icon {
  flex: 0 1 0;
  align-self: auto;
  width: 100%;
  height: 100%;
  margin: 3px;
}

#links .icon * *, #links .icon * {
  height: 100%;
}

table {
  width: 100%;
}

table, tr, th, td {
  border-collapse: collapse;
  border: 1px black solid;
}

th, td {
  font-size: medium;
  padding-top: 3px;
  padding-bottom: 3px;
  padding-left: 10px;
  padding-right: 10px;
}

pre {
  padding: 10px;
  overflow-x: scroll;
}

pre, pre * {
  font-family: monospace;
  font-size: medium;
  background-color: #333;
  color: #dedede;
}

code {
  /* font-family: monospace; */
}

a#dot {
  text-decoration: none;
  color: red;
}

img.center {
  display: block;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 25px;
}

@media only screen and (max-width: 768px) {
  #main {
    margin-left: 10%;
    margin-right: 10%;
    margin-top: 2%;
    margin-bottom: 2%;
    padding: 10px;
  }
}

#buttons {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  height: 31px;
}

#buttons * {
  /* image-rendering: crisp-edges; */
}

#buttons a, #buttons * a {
  flex: 0 1 0;
  align-self: auto;
  width: 100%;
  height: 100%;
  flex-wrap: wrap;

  margin-right: 5px;
}

#buttons * *, #buttons *, #buttons * * * {
  height: inherit;
}

.footnote {
  font-size: small;
}

summary {
  user-select: none;
  cursor: pointer;
  margin-left: 1.5em;
}

#AD {

}

code {
  color: #555;
  background-color: #eee;
}

#xxiivv-light {
  display: inline;
}
#xxiivv-dark {
  display: none;
}

@media (prefers-color-scheme: dark) {
  * {
    background-color: #222222;
    color: #dedede;
  }
  a, a * {
    color: yellow;
    text-decoration: none;
  }

  a:hover {
    color: gold;
  }

  .icon img {
    filter:  invert(.8);
    background-color: transparent;
  }
  table, tr, th, td {
    border: 1px #dedede solid;
  }

  pre, pre * {
    background-color: #333333;
    color: #dedede;
  }
  code {
    color: #dedede;
    background-color: #333;
  }
  #xxiivv-light {
    display: none;
  }
  #xxiivv-dark {
    display: inline;
  }
}

/* https://gist.github.com/dorianmariecom/4699725a1386e9ca993cce07fb72c28a */

.sourceCode {
  background-color: #333;
}

/* div.sourceCode
   { color: #cfcfc2; background-color: #222222; } */

code.sourceCode { color: #dedede }
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
  { counter-reset: source-line 0; }
pre.numberSource code > span
  { position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
  { content: counter(source-line);
    position: relative; left: -1em; text-align: right; vertical-align: baseline;
    border: none; display: inline-block;
    -webkit-touch-callout: none; -webkit-user-select: none;
    -khtml-user-select: none; -moz-user-select: none;
    -ms-user-select: none; user-select: none;
    padding: 0 4px; width: 4em;
    background-color: #222222;
    color: #7a7c7d;
  }
pre.numberSource { margin-left: 3em; border-left: 1px solid #7a7c7d;  padding-left: 4px; }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span { color: #cfcfc2; } /* Normal */
code span.al { color: #95da4c; background-color: #4d1f24; font-weight: bold; } /* Alert */
code span.an { color: #3f8058; } /* Annotation */
code span.at { color: #2980b9; } /* Attribute */
code span.bn { color: #f67400; } /* BaseN */
code span.bu { color: #7f8c8d; } /* BuiltIn */
code span.cf { color: #fdbc4b; font-weight: bold; } /* ControlFlow */
code span.ch { color: #3daee9; } /* Char */
code span.cn { color: #27aeae; font-weight: bold; } /* Constant */
code span.co { color: #7a7c7d; } /* Comment */
code span.cv { color: #7f8c8d; } /* CommentVar */
code span.do { color: #a43340; } /* Documentation */
code span.dt { color: #2980b9; } /* DataType */
code span.dv { color: #f67400; } /* DecVal */
code span.er { color: #da4453; text-decoration: underline; } /* Error */
code span.ex { color: #0099ff; font-weight: bold; } /* Extension */
code span.fl { color: #f67400; } /* Float */
code span.fu { color: #8e44ad; } /* Function */
code span.im { color: #27ae60; } /* Import */
code span.in { color: #c45b00; } /* Information */
code span.kw { color: #cfcfc2; font-weight: bold; } /* Keyword */
code span.op { color: #cfcfc2; } /* Operator */
code span.ot { color: #27ae60; } /* Other */
code span.pp { color: #27ae60; } /* Preprocessor */
code span.re { color: #2980b9; background-color: #153042; } /* RegionMarker */
code span.sc { color: #3daee9; } /* SpecialChar */
code span.ss { color: #da4453; } /* SpecialString */
code span.st { color: #f44f4f; } /* String */
code span.va { color: #27aeae; } /* Variable */
code span.vs { color: #da4453; } /* VerbatimString */
code span.wa { color: #da4453; } /* Warning */
