html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}

body {
    margin: 0px;
}

div.document {
  margin-left: auto;
  margin-right: auto;

  min-width: 800px;
  max-width: 1440px;

  position: relative;

  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
  gap: 1em;
}

div.sphinxsidebar {
  position: sticky;
  top: 0;

  width: 300px;

  padding-top: 1em;
  padding-bottom: 1em;
}

div.sphinxsidebarwrapper {
  border: 1px solid black;
  padding: 1em;
  width: 100%;
  max-height: calc(100vh - 2*1em);

  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 1em;
}

div.sidebar-section {
    width: 100%;
}

span.sidebar-title {
    font-weight: bold;
}

#searchbox > form > input {
    width: 100%;
}

.sphinxsidebar a {
    color: darkred;
    text-decoration: none;
}

.sphinxsidebar a:hover,
.sphinxsidebar a:active {
    text-decoration: underline;
}

.sphinxsidebar a:visited {
    text-decoration: none;
}

.sphinxsidebar a.current {
    font-weight: bold;
}

.sphinxsidebar .contact {
    padding-left: 1px;
}

.sphinxsidebar .contact-icon {
    height: 1.1em;
    vertical-align: middle;
}

.sphinxsidebar .contact-details {
    color: darkred;
    line-height: 1.1em;
    vertical-align: middle;
}

.sphinxsidebar div.local-toc,
.sphinxsidebar div.global-toc {
    flex-shrink: 1;
    overflow-y: auto;
}

div.body {
    min-height: 100%;
    width: calc(100% - 300px - 1em);
    
    padding-top: 1em;
    padding-bottom: 1em;
}

div.bodywrapper {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    min-height: calc(100vh - 2*1em);

    border: 1px solid black;
    padding: 1em;
}

div.copyright {
    flex: 1;
    position: relative;
    height: 100%;
    width: 100%;
    padding-top: 4em;
}
div.copyrightwrapper {
    position: absolute;
    bottom: 0px;
    width: 100%;

    display: flex;
    flex-direction: row;
    gap: 1em;
    flex-wrap: nowrap;
}

div.copyright .c,
div.copyright .cc {
    flex: 1;
}

div.copyright .cc {
    text-align: right;
}

#cc-logo {
    height: 30px;
}

a.headerlink {
    display: none;
}

h1:hover > a.headerlink,
h2:hover > a.headerlink,
h3:hover > a.headerlink,
h4:hover > a.headerlink,
h5:hover > a.headerlink,
h6:hover > a.headerlink {
    display: inline;
    font-size: 90%;
    padding: 1px;
    text-decoration: none;
}

div.sidebar-section ul {
    padding-left: 1em;
    margin-top: 0px;
    margin-bottom: 0px;
}

div.local-toc > ul > li > a {
    display: none;
}

div.local-toc > ul {
    list-style: none;
    padding: 0px;
}

div.body ul,
div.global-toc ul,
div.local-toc > ul ul {
    list-style-type: square;
}

.body h1 {
    margin-top: 0px;
}

.body section > *:not(:first-child),
.body blockquote > div > *:not(:first-child) {
    margin-top: 1em;
}

.body section > *:first-child,
.body blockquote > div > *:first-child {
    margin-top: 0em;
}

.body section > *,
.body blockquote > div > * {
    margin-bottom: 0em;
}

.body a {
    color: darkred;
    text-decoration: none;
}

.body a:hover,
.body a:active {
    text-decoration: underline;
}

.body a:visited {
    text-decoration: none;
}

.body dl {
    width: 100%;
    display: grid;
    grid-template-columns: max-content auto;
}

.body dl dt {
    grid-column-start: 1;
}

.body dl dd {
    grid-column-start: 2;
}

.body p {
    margin-top: 0px;
}

.body p:last-child{
    margin-bottom: 0px;
}

div.three-column-flow {
    column-count:3;
}

div.two-column-flow {
    column-count:2;
}

div.columns {
    display: flex;
    flex-direction: row;
    gap: 1em;
}

div.column {
    flex: 1;
    display: block;
}

blockquote {
    margin-left: 0px;
    margin-right: 0px;
    padding: 0.5em 1em ;
    border-top: 1px solid darkred;
    border-bottom: 1px solid darkred;
}

div.body ul.contains-task-list {
    list-style-type: none;
    padding-left: 0px;
}

div.body li.task-list-item > p {
    display: flex;
    flex-direction: row;
    gap: 1em;
    vertical-align: text-top;
}

div.body li > p {
    margin-top: 0px;
    margin-bottom: 0px;
}

div.body li.task-list-item > p > input {
    height: 1em;
    width: 1em;

    outline: 1px solid black;
}

div.body li.task-list-item > p > input:checked {
    outline: 1px solid black;
}

.grayed-out {
    color: darkslategrey;
}

.max-30perc {
    max-width: 30%;
}

.img-right {
    float: right;
}

table.im-stat-table {
    table-layout: fixed;
    width: 100%;
    margin: 10px auto;
    border-collapse: collapse;

    border-collapse: collapse;
    border: 2px solid darkred;
}

table.im-stat-table th,
table.im-stat-table td {
  padding: 3px;

  border: 1px solid black;
  text-align: center;
}

.body div.im:not(.nodent):not(.par):not(.act)::before,
.body div.im.par > p::before,
.body div.im.act > p::before {
  display: block;
  width: 25px;
  position: absolute;
  left: 0px;
  top: 0px;
  bottom: 0px;
  overflow: hidden;
  unicode-bidi: embed;
  font-family: monospace;
  background-color: white;
}

.body div.im.par > p::before {
    content: '///\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...';
}

.body div.im.act > p::before {
    content: '+++\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...\A...';
}

.body div.im.sec::before {
    content: '+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++\A+++';
}

.body div.im.apx::before {
    content: '|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||\A|||';
}

.body div.im.sep::before {
    content: '---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---\A---';
}

.body div.im.log::before,
.body div.im.map::before {
    content: '>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>\A>>>';
}

.body div.im.sep hr {
    border-top: 1 solid black;
}

.body div.im:not(.par):not(.act),
.body div.im.par > p,
.body div.im.act > p {
    display: block;
    position: relative;
    unicode-bidi: embed;
    font-family: monospace;
}

.body div.im.red {
    color: darkred;
}

.body div.im.map,
.body div.im.pre {
    white-space: pre;
}

.body .im.map pre,
.body div.im.map {
    background-color: hsl(0, 30%, 70%);
}

.body div.im:not(.nodent):not(.par):not(.act),
.body div.im.par > p,
.body div.im.act > p {
    padding-left: 35px;
}

.body .im + .im {
    margin-top: 0px;
}

.body div.im.par > p,
.body div.im.act > p,
.body .im.map pre {
    margin-top: 0px;
    margin-bottom: 0px;
}

.body div.im.apx hr {
    height: 1px;
    background-color: black;
    border: none;
    margin-top: calc(14px - 1px);
    margin-bottom: 0px;
}

.body div.im strong {
    font-weight: 100;
    background-color: black;
    color: white;
}