:root {
    --documentation-side-nav-width: 400px;
}

.documentation-side-nav {
    padding: 48px 8px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    color: var(--color-text);
    display: block;
    transition: 0.3s;
    height: 100vh;
    width: var(--documentation-side-nav-width);
    background-color: var(--color-black-alpha25);
    box-shadow: 0 5px 5px black;
    float: left;
    top: 0;
    margin-right: 16px;
    position: fixed;
    overflow-y: scroll;
    backdrop-filter: blur(8px);
    z-index: 1;
}

.documentation-side-nav ul {
    margin-top: 24px;
    padding-left: 0;
}

.documentation-side-nav ul li {
    font-size: 15px;
    margin-bottom: 8px;
    font-family: monospace;
}

.documentation-main {
    width: 100%;
    height: 100%;
    background-color: var(--color-black-alpha60);
    backdrop-filter: blur(8px);
    box-sizing: unset;
}

.documentation-content {
    display: block;
    color: var(--color-text);
    margin-left: calc(var(--documentation-side-nav-width) + 58px);
    max-width: 1000px;
    background-color: rgba(0, 0, 0, 0);
}

footer {
    margin-left: calc(var(--documentation-side-nav-width) + 32px);
    position: relative;
    z-index: 100;
}

.documentation-content p {
    font-size: 14px;
}

ul {
    font-size: 14px;
    display: inline-block;
    margin-top: 0;
    list-style-type: none;
}

ul li {
    text-indent: -5px;
}

ul li::before {
    content: "- ";
    text-indent: -5px;
}

nav ul li {
    content: "" !important;
    text-indent: initial !important;
}

nav ul li::before  {
    content: "";
}

h1, h2, h3, h4 {
    scroll-margin-top: 60px;
}

/* Headings in navigation */
.side-nav-subheading {
    padding-left: 32px;
    margin: 4px;
    text-decoration: none;
    display: block;
    color: white;
}

.side-nav-subheading:hover {
    text-decoration: underline;
}

.side-nav-subheading-h1 {
    padding-left: 32px;
}

.side-nav-subheading-h2 {
    padding-left: 40px;
}

.side-nav-subheading-h3 {
    padding-left: 48px;
}

.side-nav-subheading-h4 {
    padding-left: 56px;
}

.side-nav-subheading-h2::before {
    content: counter(a) ".";
    color: var(--color-text);
}

.side-nav-subheading-h3::before {
    content: counter(a) "." counter(b) ".";
    color: var(--color-text);
}

.side-nav-subheading-h4::before {
    content: counter(a) "." counter(b) "." counter(c) ".";
    color: var(--color-text);
}

/* In article headings */
.header-counter-reset {
    counter-reset: a;
}

h2, .side-nav-subheading-h2 {
    counter-increment: a;
    counter-reset: b;
}

h3, .side-nav-subheading-h3 {
    counter-reset: c;
    counter-increment: b;
}

h4, .side-nav-subheading-h4 {
    counter-increment: c;
}

h2::before {
    content: counter(a) ".\0000a0\0000a0";
}

h3::before {
    content: counter(a) "." counter(b) ".\0000a0\0000a0";
}

h4::before {
    content: counter(a) "." counter(b) "." counter(c) ".\0000a0\0000a0";
}

.code, .code-inline {
    margin-left: 16px;
    background-color: var(--color-black-alpha25);
    padding: 4px 8px;
    border-radius: 4px;
    width: fit-content;
    line-height: 1.4;
    font-family: monospace;
    font-size: 12px !important;
}

.code {
    max-width: 90%;
    white-space: pre-wrap;
}

.code-inline {
    margin-left: 0;
    display: inline-block;
}

.underline {
    text-decoration: underline;
}

.screenshot {
    max-width: 50%;
    margin-left: 16px;
}

.downloads-table {
    background-color: var(--color-black-alpha25);
    border-collapse: collapse;
}

.downloads-table th {
    text-align: left;
}

.downloads-table .row-darker {
    background-color: var(--color-black-alpha60);
}

.downloads-table th, .downloads-table td {
    padding: 4px 12px;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

@media only screen and (max-width: 1000px) {
    .documentation-side-nav {
        background-color: rgba(0, 0, 0, 0.80);
        height: fit-content;
        float: none;
        position: initial;
        display: block;
        box-sizing: border-box;
        width: 100%;
        padding-top: 0;
    }

    .documentation-content {
        display: block;
        color: var(--color-text);
        margin-left: 16px;
        margin-right: 16px;
    }

    footer {
        margin-left: 0;
    }
}