/* Fonts */
@font-face {
    font-family: 'Computer Modern Sans';
    src: url('/static/fonts/cm-sans/cmunss.eot');
    src: url('/static/fonts/cm-sans/cmunss.eot?#iefix') format('embedded-opentype'),
         url('/static/fonts/cm-sans/cmunss.woff') format('woff'),
         url('/static/fonts/cm-sans/cmunss.ttf') format('truetype'),
         url('/static/fonts/cm-sans/cmunss.svg#cmunss') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Computer Modern Sans';
    src: url('/static/fonts/cm-sans/cmunsx.eot');
    src: url('/static/fonts/cm-sans/cmunsx.eot?#iefix') format('embedded-opentype'),
         url('/static/fonts/cm-sans/cmunsx.woff') format('woff'),
         url('/static/fonts/cm-sans/cmunsx.ttf') format('truetype'),
         url('/static/fonts/cm-sans/cmunsx.svg#cmunsx') format('svg');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: 'Computer Modern Sans';
    src: url('/static/fonts/cm-sans/cmunsi.eot');
    src: url('/static/fonts/cm-sans/cmunsi.eot?#iefix') format('embedded-opentype'),
         url('/static/fonts/cm-sans/cmunsi.woff') format('woff'),
         url('/static/fonts/cm-sans/cmunsi.ttf') format('truetype'),
         url('/static/fonts/cm-sans/cmunsi.svg#cmunsi') format('svg');
    font-weight: normal;
    font-style: italic;
}
@font-face {
    font-family: 'Computer Modern Sans';
    src: url('/static/fonts/cm-sans/cmunso.eot');
    src: url('/static/fonts/cm-sans/cmunso.eot?#iefix') format('embedded-opentype'),
         url('/static/fonts/cm-sans/cmunso.woff') format('woff'),
         url('/static/fonts/cm-sans/cmunso.ttf') format('truetype'),
         url('/static/fonts/cm-sans/cmunso.svg#cmunso') format('svg');
    font-weight: bold;
    font-style: italic;
}

/* General */
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
@keyframes background-fade-light {
    0% {
        background: #e0f5ff;
    }
    100% {
        background: white;
    }
}
@keyframes background-fade-dark {
    0% {
        background: grey;
    }
    100% {
        background: black;
    }
}
:target {
    animation: background-fade-light 7s;
}
@media (prefers-color-scheme: dark) {
    :target {
        animation: background-fade-dark 7s;
    }
}
a {
    color: #0066cc;
}
@media (prefers-color-scheme: dark) {
    a {
        color: #0080ff;
    }
}
a:visited {
    color: #551a8b;
}
@media (prefers-color-scheme: dark) {
    a:visited {
        color: #a440ff;
    }
}

/* Top-level */
@media screen and (min-width: 47em) and (min-height: 23em) {
}
html, body {
    line-height: 1.4;
    margin: 0;
    padding: 0;
    height: 100%;
}
body {
    background-color: white;
    /* background-image: url("/static/paper.jpg");
    background-repeat: repeat; */
    color: black;
    font-family: "Computer Modern Sans", sans-serif;
    font-size: 105%;
    margin: 0;
}
@media (prefers-color-scheme: dark) {
    body {
        background-color: black;
        color: white;
    }
}
body div#header {
    background-color: #eee;
    border-bottom: 2px solid #e0f5ff;
    overflow: hidden;
    position: relative;
}
@media (prefers-color-scheme: dark) {
    body div#header {
        background-color: black;
    }
}
body div#body {
    margin: 0 auto;
    max-width: 65em;
    overflow: auto;
    overflow-wrap: break-word;
    word-break: break-word;
    padding: 10px 0 0 0;
    box-shadow: 0 0 10px #d7d7d7, 0 10px 1000px #e0f5ff;
}
body div#body div#meta,
body div#body div#content,
body div#body div#post {
    margin: 0 4%;
}
body div#body div#meta {
    border-bottom: 1px solid black;
    box-shadow: 0 2px 0 0 #e0f5ff;
}
body div#body div#post {
    border-top: 1px solid black;
    box-shadow: 0 -2px 0 0 #e0f5ff;
    text-align: center;
}
body div#footer {
    background-color: #eee;
    border-top: 2px solid #e0f5ff;
    box-shadow: 0 200px 0 200px #eee;
    overflow: hidden;
    padding: 5px;
    text-align: center;
}
@media (prefers-color-scheme: dark) {
    body div#footer {
        background-color: black;
    }
}

/* Header/footer elements */
#header div.menu,
#footer div.menu {
    margin: 5px;
    text-align: center;
}
#footer div.menu {
    margin: 10px;
}
#header div.menu a,
#footer div.menu a {
    word-wrap: anywhere;
    text-decoration: none;
}
#header #breadcrumbs .pipe,
#header div.menu .pipe,
#footer div.menu .pipe {
    color: grey;
}
@media (prefers-color-scheme: dark) {
    #header #breadcrumbs .pipe,
    #header div.menu .pipe,
    #footer div.menu .pipe {
        color: #a8a8a8;
    }
}

/* Header elements */
#header #lhead {
    margin: 10px 10px 5px 10px;
    text-align: center;
}
#header div.menu {
    float: right;
    margin-top: 5px;
    margin-bottom: 2px;
    margin-left: 5px;
    margin-right: 8px;
}
#header div.menu a.current {
    text-decoration: underline;
}
#header #breadcrumbs {
    float: left;
    margin-top: 5px;
    margin-bottom: 2px;
    margin-left: 8px;
    margin-right: 5px;
}
#header #breadcrumbs a,
#header #breadcrumbs .current {
    text-decoration: none;
    word-wrap: anywhere;
}
#header img {
    float: left;
    padding: 20px 20px 0 20px;
}
#header h1,
#header h2 {
    font-weight: normal;
}
#header h1 {
    margin: 0 0 6px 0;
}
#header h2 {
    margin: 6px 0 0 0;
    font-size: 140%;
}
#header td {
    border: none;
    padding: 0;
}

/* Messages elements */
div#messagelist ul {
    margin: 0;
    padding: 0;
}
div#messagelist ul li {
    font-weight: 400;
    padding: 10px 10px 10px 65px;
    margin: 0;
    background: #e0f5ff url(/static/admin/img/icon-yes.svg) 40px 10px no-repeat;
    background-size: 16px auto;
}
div#messagelist ul li.warning {
    background: #e0f5ff url(/static/admin/img/icon-alert.svg) 40px 12px no-repeat;
    background-size: 14px auto;
}
div#messagelist ul li.error {
    background: #e0f5ff url(/static/admin/img/icon-no.svg) 40px 10px no-repeat;
    background-size: 16px auto;
}
@media (prefers-color-scheme: dark) {
    div#messagelist ul li {
        background: black url(/static/admin/img/icon-yes.svg) 40px 10px no-repeat;
    }
    div#messagelist ul li.warning {
        background: black url(/static/admin/img/icon-alert.svg) 40px 12px no-repeat;
    }
    div#messagelist ul li.error {
        background: black url(/static/admin/img/icon-no.svg) 40px 10px no-repeat;
    }
}
/* Meta elements */
#meta #metalist {
    text-align: center;
    overflow-x: auto;
    overflow-y: hidden;
}
#meta #metalist div {
    display: inline;
    margin: 0 8px 0 8px;
    white-space: nowrap;
}
#meta .title {
    text-align: center;
}

/* Content elements */
#content * {
    line-height: 1.4;
}
#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6 {
    line-height: 1.2;
}
#content aside.admonition,
/* following line is for docutils 0.16 */
#content div.admonition
{
    border: 2px solid #800;
    box-shadow: 3px 3px 1px #e0f5ff;
    margin: 1em 10%;
    padding-left: 1em;
    padding-right: 1em;
}
#content aside.admonition .first,
/* following line is for docutils 0.16 */
#content div.admonition .first
{
    margin-top: 0;
}
#content aside.admonition .last,
/* following line is for docutils 0.16 */
#content div.admonition .last
{
    margin-bottom: 0;
}
#content aside.admonition p.admonition-title,
/* following line is for docutils 0.16 */
#content div.admonition p.admonition-title,
#content .code .error {
    color: black;
    font-weight: bold;
}
@media (prefers-color-scheme: dark) {
    #content aside.admonition p.admonition-title,
/* following line is for docutils 0.16 */
    #content div.admonition p.admonition-title,
    #content .code .error {
        color: white;
    }
}
#content blockquote.pull-quote {
    float: right;
    font-size: 140%;
    clear: right;
    border-left: 2px solid lightgray;
    padding: 8px 6px 4px 6px;
    max-width: 50%;
    margin: 10px 20px;
}
#content blockquote.pull-quote p:first-child {
    margin-top: 0;
}
#content blockquote.pull-quote p:last-child {
    margin-bottom: 0;
}
#content .bolditalic {
    font-weight: bold;
    font-style: italic;
}
#content .caption {
    font-style: italic;
    margin-left: 0.5em;
    margin-top: 0px;
}
#content figure {
    display: table;
    margin: 14px auto;
    padding: 0;
    border: 1px solid lightgray;
    box-shadow: 3px 3px 1px #e0f5ff;
}
#content figure a.image-reference > img {
    display: block;
    margin-top: 14px;
    margin-bottom: 14px;
    margin-left: auto;
    margin-right: auto;
    margin: 0 auto;
    max-width: 100%;
}
#content figure figcaption {
}
#content figure figcaption p {
    font-style: italic;
    margin: 2px 4px;
    text-align: center;
}
#content img.screenshot {
    border: 1px solid black;
}
#content div.container.example {
    margin: 14px 0;
}
#content div.container.example > p.title {
    margin-bottom: 2px;
    font-style: italic;
    font-weight: bold;
}
#content div.container.example > div {
    border: 1px solid lightgray;
    box-shadow: 3px 3px 1px #e0f5ff;
    padding: 0 12px;
}
#content div.container.example .figure {
    border: none;
    box-shadow: none;
}
#content div.container.example pre {
}
#content .float {
    float: right;
}
#content .g {
    color: green;
}
#content .r {
    color: red;
}
#content dt {
    font-weight: bold;
}
#content dd {
    margin-bottom: 0.5em;
}
#content ol, ul {
    padding-left: 1.5em;
}
#content .pre, #content .literal {
    background-color: #f7f7f7;
    padding: 1px;
    font-family: monospace;
}
#content pre,
#content pre.code,
#content code {
    background-color: #f7f7f7;
    overflow-x: auto;
}
@media (prefers-color-scheme: dark) {
    .pre, pre, .literal {
        color: black;
    }
}
#content pre.literal-block {
    margin-left: 0;
    margin-right: 0;
    box-shadow: 0 0 3px gray inset;
    padding: 4px;
    border-radius: 2px;
}
#content pre.literal-block.wrap {
    white-space: pre-wrap;
}
#content pre.literal-block.vscroll {
    max-height: 20em;
}
#content span.pre {
    overflow-wrap: break-word;
    white-space: pre-wrap;
}
#content table {
    border-collapse: collapse;
}
#content table, #content table tr, #content table th, #content table td {
    border: 1px solid black;
}
#content table thead p {
    text-align: center;
}
#content table p {
    margin: 6px 6px 3px 6px;
}
#content table.docutils.footnote {
    font-size: 98%;
    margin: 4px 0;
}
#content table.docutils.footnote p {
    margin: 0;
}
#content p, #content ol, #content ul, #content dl, #content li,
#content div.line-block, #content .footnote, #content .citation,
#content div> maith, #content table {
    margin-top: 1em;
    margin-bottom: 1em;
}
#content ul.simple li,
#content ul.simple ul,
#content ol.simple li,
#content ol.simple ul {
    margin-top: 1px;
    margin-bottom: 1px;
}
#content :not(li) > ol > li:first-child > :first-child,
#content :not(li) > ul > li:first-child > :first-child {
    margin-top: 0px;
}
#content :not(li) > ol > li:last-child > :last-child,
#content :not(li) > ul > li:last-child > :last-child {
    margin-bottom: 0px;
}
#content ol.simple ol p,
#content ol.simple ul p,
#content ul.simple ol p,
#content ul.simple ul p {
    margin-top: 0;
}
#content ol.simple > li:not(:first-child) > p,
#content ul.simple > li:not(:first-child) > p {
    margin-top: 0;
}
#content ol.simple p,
#content ul.simple p {
    margin-bottom: 0;
}

/* rST custom elements */
#content div.container.center,
#content p.center {
    text-align: center;
}
/* columns container
@media only screen and (min-width: 35em) {
    #content div.container.columns {
        columns: 2;
    }
    #content div.container.columns ul:first-child {
        margin-bottom: 0;
        margin-top: 0;
    }
} */
#content div.container.big {
    font-size: 160%;
    margin: auto;
    max-width: 20em;
}
#content div.container.big p {
    margin: 30px 0;
}
#content div.container.blocklist ul {
    font-size: 135%;
    padding: 0;
}
#content div.container.blocklist ul > li {
    list-style-position: inside;
    list-style-type: square;
    margin: 8px;
}
@media only screen and (min-width: 35em) {
    #content div.container.blocklist ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}
@media only screen and (min-width: 52em) {
    #content div.container.blocklist ul {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }
}
@media only screen and (min-width: 38em) {
    #content div.container.boxes {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}
#content div.container.box {
    border: 1px solid gray;
    border-radius: 3px;
    box-shadow: 4px 4px 2px #d0d0d0;
    margin: 12px;
}
#content div.container.box img {
    float: left;
    clear: left;
    margin: 15px;
    max-width: 32px;
}
@media (prefers-color-scheme: dark) {
    #content div.container.box img {
        background-color: white;
        box-shadow: 0 0 5px 5px white;
    }
}
#content div.container.box p {
    overflow: auto;
    font-size: 120%;
    margin: 15px;
}
#content div.container.sitelead {
    font-style: italic;
}
@media only screen and (max-width: 20em) {
    #content p {
        hyphens: auto;
    }
}

/* Special elements */
a.button {
    background-color: #f6f6f6;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: black;
    cursor: pointer;
    display: inline-block;
    margin: 0 3px;
    padding: 5px 5px 1px 5px;
    text-align: center;
    text-decoration: none;
}
@media (prefers-color-scheme: dark) {
    a.button {
        color: white;
    }
}
a.button img {
    margin: 0 5px 3px 0;
    vertical-align: middle;
}
@media (prefers-color-scheme: dark) {
    a.button img {
        background-color: white;
        box-shadow: 0 0 2px 2px white;
    }
}
form#contact table {
    margin: 0 auto;
}
form#contact table input,
form#contact table textarea {
    width: 100%;
}
@media (prefers-color-scheme: dark) {
    form#contact table input,
    form#contact table textarea {
        background-color: grey;
    }
    ::placeholder {
        color: #dbdbdb;
    }
}
form#contact table,
form#contact th,
form#contact td,
form#contact tr {
    border: none;
    padding: 4px;
}
form#contact ul.errorlist {
    color: #ba2121;
    list-style: none;
    margin: 0 0 2px 4px;
    padding: 0;
}
form#contact input.btn {
    display: block;
    margin: 0 auto;
}
input.btn {
    padding-top: 0.1em;
}

/* Modifications for printing */
@media print {
    #meta {
        border-bottom: 4px solid black;
    }
    a {
        color: black;
    }
}
