/*!
 * LaTeX.css (https://latex.now.sh/)
 *
 * Source: https://github.com/vincentdoerig/latex-css
 * Licensed under MIT (https://github.com/vincentdoerig/latex-css/blob/master/LICENSE)
*/
@font-face {
    font-family: 'Latin Modern';
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src: url('../../font/post/LM-regular.woff2') format('woff2'), url('../../font/post/LM-regular.woff') format('woff'), url('../../font/post/LM-regular.ttf') format('truetype')
}

@font-face {
    font-family: 'Latin Modern';
    font-style: italic;
    font-weight: normal;
    font-display: swap;
    src: url('../../font/post/LM-italic.woff2') format('woff2'), url('../../font/post/LM-italic.woff') format('woff'), url('../../font/post/LM-italic.ttf') format('truetype')
}

@font-face {
    font-family: 'Latin Modern';
    font-style: normal;
    font-weight: bold;
    font-display: swap;
    src: url('../../font/post/LM-bold.woff2') format('woff2'), url('../../font/post/LM-bold.woff') format('woff'), url('../../font/post/LM-bold.ttf') format('truetype')
}

@font-face {
    font-family: 'Latin Modern';
    font-style: italic;
    font-weight: bold;
    font-display: swap;
    src: url('../../font/post/LM-bold-italic.woff2') format('woff2'), url('../../font/post/LM-bold-italic.woff') format('woff'), url('../../font/post/LM-bold-italic.ttf') format('truetype')
}

@font-face {
    font-family: 'Libertinus';
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src: url('../../font/post/Libertinus-regular.woff2') format('woff2')
}

@font-face {
    font-family: 'Libertinus';
    font-style: italic;
    font-weight: normal;
    font-display: swap;
    src: url('../../font/post/Libertinus-italic.woff2') format('woff2')
}

@font-face {
    font-family: 'Libertinus';
    font-style: normal;
    font-weight: bold;
    font-display: swap;
    src: url('../../font/post/Libertinus-bold.woff2') format('woff2')
}

@font-face {
    font-family: 'Libertinus';
    font-style: italic;
    font-weight: bold;
    font-display: swap;
    src: url('../../font/post/Libertinus-bold-italic.woff2') format('woff2')
}

@font-face {
    font-family: 'Libertinus';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../../font/post/Libertinus-semibold.woff2') format('woff2')
}

@font-face {
    font-family: 'Libertinus';
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url('../../font/post/Libertinus-semibold-italic.woff2') format('woff2')
}

*, *::before, *::after {
    box-sizing: border-box
}

h1{
    font-size: 18pt;
}

body, h1, h2, h3, h4, p, ul[class], ol[class], li, figure, figcaption, dl, dd {
    margin: 0
}

html {
    font-size: 1rem;
    scroll-behavior: smooth
}

body.libertinus {
    font-family: 'Libertinus', Georgia, Cambria, 'Times New Roman', Times, serif
}

body {
    font-family: 'Latin Modern', Georgia, Cambria, 'Times New Roman', Times, serif;
    line-height: 1.8;
    /*max-width: 80ch;*/
    min-height: 100vh;
    overflow-x: hidden;
    margin: 0 auto;
    padding: 2rem 1.25rem;
    counter-reset: theorem;
    counter-reset: definition;
    counter-reset: sidenote-counter;
    color: hsl(0, 5%, 10%);
    background-color: hsl(210, 20%, 98%);
    text-rendering: optimizeLegibility
}

p {
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    margin-top: 1rem
}

a:not([class]) {
    text-decoration-skip-ink: auto
}

a, a:visited {
    color: #a00
}

a:focus {
    outline-offset: 2px;
    outline: 2px solid hsl(220, 90%, 52%)
}

img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto
}

input, button, textarea, select {
    font: inherit
}

textarea {
    width: 100%
}

article > * + * {
    margin-top: 1em
}

code, pre, kbd {
    font-family: Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
    font-size: 85%
}

pre {
    padding: 1rem 1.4rem;
    max-width: 100%;
    overflow: auto;
    border-radius: 4px;
    background: hsl(210, 28%, 93%)
}

pre code {
    font-size: 95%;
    position: relative
}

kbd {
    background: hsl(210, 5%, 100%);
    border: 1px solid hsl(210, 5%, 70%);
    border-radius: 2px;
    padding: 2px 4px;
    font-size: 75%
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    /*max-width: 100%;*/
    border-top: 2.27px solid black;
    border-bottom: 2.27px solid black;
    overflow-x: auto;
    counter-increment: caption;
    margin:0 auto
}

table tr > th[scope='col'] {
    border-bottom: 1.36px solid black
}

table tr > th[scope='row'] {
    border-right: 1.36px solid black
}

table > tbody > tr:first-child > td, table > tbody > tr:first-child > th {
    border-top: 1.36px solid black
}

table > tbody > tr:last-child > td, table > tbody > tr:last-child > th {
    border-bottom: 1.36px solid black
}

th, td {
    text-align: left;
    padding: .5rem;
    line-height: 1.1
}

caption {
    text-align: center;
    font-size: .923em;
    padding: 0 .25em .25em;
    width: 100%;
    margin-left: 0
}

caption::before {
    content: 'Table ' counter(caption) '. ';
    font-weight: bold
}

.scroll-wrapper {
    overflow-x: auto
}

.scroll-wrapper > table td {
    white-space: nowrap
}

h1:first-child {
    /*text-align: justify;*/
    font-size: 24pt;
    /*min-width: 125%;*/
    text-align: left
}

nav ol {
    counter-reset: item;
    padding-left: 2rem
}

nav li {
    display: block
}

nav li:before {
    content: counters(item, '.') ' ';
    counter-increment: item;
    padding-right: .85rem
}

dl dd {
    text-align: center
}

.theorem {
    counter-increment: theorem;
    display: block;
    margin: 12px 0;
    font-style: italic
}

.theorem::before {
    content: 'Theorem ' counter(theorem) '. ';
    font-weight: bold;
    font-style: normal
}

.lemma {
    counter-increment: theorem;
    display: block;
    margin: 12px 0;
    font-style: italic
}

.lemma::before {
    content: 'Lemma ' counter(theorem) '. ';
    font-weight: bold;
    font-style: normal
}

.proof {
    display: block;
    margin: 12px 0;
    font-style: normal;
    position: relative
}

.proof::before {
    content: 'Proof. ' attr(title);
    font-style: italic
}

.proof:after {
    content: '◾️';
    position: absolute;
    right: -12px;
    bottom: -2px
}

.definition {
    counter-increment: definition;
    display: block;
    margin: 12px 0;
    font-style: normal
}

.definition::before {
    content: 'Definition ' counter(definition) '. ';
    font-weight: bold;
    font-style: normal
}

.author {
    margin: .85rem 0;
    /*font-variant-caps: small-caps;*/
    text-align: left
}

.sidenote {
    font-size: .8rem;
    float: right;
    clear: right;
    /*width: 18vw;*/
    width: 22.5%;
    margin-right: -14.5vw;
    margin-bottom: 1em
}

.sidenote.left {
    float: left;
    margin-left: -20vw;
    margin-bottom: 1em
}

.sidenote:target {
    border: hsl(55, 55%, 70%) 1.5px solid;
    padding: 0 .5rem;
    scroll-margin-block-start: 10rem
}

.sidenote-number {
    counter-increment: sidenote-counter
}

.sidenote-number::after, .sidenote::before {
    position: relative;
    vertical-align: baseline
}

.sidenote-number::after {
    content: counter(sidenote-counter);
    font-size: .7rem;
    top: -0.5rem;
    left: .1rem
}

.sidenote-number ~ .sidenote::before {
    content: counter(sidenote-counter) ' ';
    font-size: .7rem;
    top: -0.5rem
}

label.sidenote-toggle:not(.sidenote-number) {
    display: none
}

blockquote .sidenote {
    margin-right: -24vw;
    width: 18vw
}

label.sidenote-toggle {
    display: inline;
    cursor: pointer
}

input.sidenote-toggle {
    display: none
}

@media (max-width: 1050px) {
    label.sidenote-toggle:not(.sidenote-number) {
        display: inline
    }

    .sidenote {
        display: none
    }

    .sidenote-toggle:checked + .sidenote {
        display: block;
        margin: .5rem 1.25rem 1rem .5rem;
        float: left;
        left: 1rem;
        clear: both;
        width: 95%
    }

    blockquote .sidenote {
        margin-right: -25vw;
        width: 16vw
    }
}

.footnotes p {
    text-align: left;
    line-height: 1.5;
    font-size: 85%;
    margin-bottom: .4rem
}

.footnotes {
    border-top: 1px solid hsl(0, 0%, 39%)
}

.abstract, .abstract p {
    text-align: justify;
    margin-top: 0
}

.abstract {
    margin: 2.25rem 0
}


.abstract > h2 {
    font-size: 1rem;
    margin-bottom: -0.2rem;
    /*text-align: center;*/
    font-weight: bolder;
}

.latex span:nth-child(1) {
    text-transform: uppercase;
    font-size: .75em;
    vertical-align: .28em;
    margin-left: -0.48em;
    margin-right: -0.15em;
    line-height: 1ex
}

.latex span:nth-child(2) {
    text-transform: uppercase;
    vertical-align: -0.5ex;
    margin-left: -0.1667em;
    margin-right: -0.125em;
    line-height: 1ex
}

h1 {
    font-size: 2.5rem;
    line-height: 3.25rem;
    margin-bottom: 1.625rem
}

h2 {
    font-size: 1.7rem;
    line-height: 2rem;
    margin-top: 1.5rem
}

h3 {
    font-size: 1.4rem;
    margin-top: 1.5rem
}

h4 {
    font-size: 1.2rem;
    margin-top: 2rem
}

h5 {
    font-size: 1rem;
    margin-top: 1.8rem
}

h6 {
    font-size: 1rem;
    font-style: italic;
    font-weight: normal;
    margin-top: 2.5rem
}

h3, h4, h5, h6 {
    line-height: 1.625rem
}

h1 + h2 {
    margin-top: 1.625rem
}

h2 + h3, h3 + h4, h4 + h5 {
    margin-top: .8rem
}

h5 + h6 {
    margin-top: -0.8rem
}

h2, h3, h4, h5, h6 {
    margin-bottom: .8rem
}

figure {
    margin: 0 auto
}

figcaption {
    margin-top: 1.5rem;
    text-align: justify;
    color: rgba(0, 0, 0, .45);
}
