body {
  margin: 0px;
  border: 0px;
  padding: 0px;
}

.skipLink {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background-color: white;
  padding: 4px;
  transform: translateY(-100%);
}
.skipLink:focus {
  transform: translateY(0);
}

/* Title bar */

.titlebar {
  width: calc(100% - 30px);
  
  margin: 0px;
  border: 0px;
  padding: 15px;
}

#titlebar_main {
  font-family: sans-serif;
  font-size: 36pt;
  /* background-color: #2979ff; */
  background-color: #333;
  color: white;
}
#titlebar_sub {
  font-family: sans-serif;
  font-size: 16pt;
  
  padding-top: 0px;
  padding-bottom: 0px;
  
  background-color: #bbb;
  color: #444;
}
#titlebar_sub ul {
  margin: 0;
  padding: 0;
}
#titlebar_sub li {
  list-style-type: none;
}

.titlebar_button {
  display: inline-block;
  
  padding-top: 7px;
  padding-bottom: 7px;
  
  padding-left: 10px;
  padding-right: 10px;
  margin-left: 3px;
  margin-right: 3px;
}
.titlebar_button.selected {
  background-color: #999;
  color: #222;
}
.titlebar_button a {
  color: inherit !important;
  text-decoration: inherit;
}

@media (prefers-color-scheme: dark) {
  #titlebar_main {
    background-color: #222;
    color: #ccc;
  }
  #titlebar_sub {
    background-color: #202929;
    color: #ccc;
  }
  .titlebar_button.selected {
    background-color: #394545;
    color: #ddd;
  }
}

@media print {
  .titlebar {
    display: none;
  }
}

/* Page content */

#content {
  font-family: serif;
  padding: 10px;
  max-width: 1200px;
  margin: auto;
}

h1, h2, h3, h4, h5, h6 {
  font-family: sans-serif;
}

footer {
  font-size: smaller;
}

img {
  padding: 10px;
  border: 1px solid black;
  
  display: block;
  margin-left: auto;
  margin-right: auto;
  
  max-width: calc(100% - 20px);
  height: auto;
}
figure {
  float: right;
}
figcaption {
  margin-top: 10px;
  font-style: italic;
}
@media screen and (max-width: 580px) {
  figure {
    margin-left: 0;
    margin-right: 0;
  }
}

pre {
  background-color: #e9e9e9;
  
  padding: 10px;
  display: table;
}
pre.inline {
  display: inline-block;
  padding: 5px;
  margin: 0px;
}
pre.wrap {
  white-space: pre-wrap;
  word-break: break-word;
}
pre.collapse {
  white-space: normal;
}
pre p {
  margin: 0;
}
code {
  background-color: #e9e9e9;
  padding: 3px;
  margin: 0px;
}

/* Make a <div> look like a <p> -- used to avoid build-tools/build-page.py parser bug */
.p {
  margin-top: 1em;
  margin-bottom: 1em;
}

.scroll {
  overflow-x: auto;
}

/* Table of contents template */

.tocBox {
  border: 1px solid #bbb;
  padding: 10px;
  width: fit-content;
  width: -moz-fit-content;
}
.tocHeader {
  display: block;
  font-family: sans-serif;
  font-weight: bold;
  margin-bottom: 0.5em;
}
ul.toc {
  list-style-type: none;
  padding-inline-start: 20px;
}
ul.tocRoot {
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 10px;
}
li.toc {
  
}
li.toc::before {
  content: "-";
  padding-right: 8px;
}

/* Auto generated stuff */

.source_info_footer {
  padding: 10px;
  font-family: monospace;
}
.source_info_footer summary {
  color: #595959;
}
.source_info_footer td {
  padding-right: 12px;
}

/* Dark mode and print */

@media (prefers-color-scheme: dark) {
  body {
    background-color: #121212;
    color: #dcdcdc;
  }
  h1, h2, h3, h4, h5, h6 {
    color: #ccc;
  }
  
  a:link {
    color: deepskyblue;
  }
  a:visited {
    color: violet;
  }
  a:hover {
    
  }
  a:active {
    color: tomato;
  }
  
  pre, code {
    background-color: #333;
  }
  
  img {
    opacity: 0.8;
  }
  img:hover {
    opacity: initial;
  }
  
  input, textarea, select {
    background-color: #333;
    color: #dcdcdc;
    border: 1px solid #777;
  }
  button {
    background-color: #3a3a3a;
    color: #efefef;
    
    border: 1px solid #666;
    padding: 5px;
  }
  button:hover {
    background-color: #4a4a4a;
  }
  button:active {
    background-color: #2c2c2c;
  }
  
  .source_info_footer summary {
    color: #9f9f9f;
  }
}

@media print {
  .skipLink {
    display: none;
  }
  body,
  h1, h2, h3, h4, h5, h6,
  a, a:link, a:visited, a:hover, a:active,
  pre, code,
  input, textarea, select, button {
    background-color: revert;
    color: revert;
  }
  
  input, textarea, select, button {
    border: revert;
    padding: revert;
  }
  
  img {
    opacity: initial;
  }
  
  .source_info_footer {
    display: none;
  }
}
