/* Import extra javascript css */

@import url('./font-faces.css');
@import url('../libraries/plyr.css');

/* Root */

    :root {
        --md-text-font: inter, sans-serif;
        --md-code-font: "JetBrains Mono", monospace;
        font-variant-alternates: styleset(ss02);
        letter-spacing: 0;

        --plyr-color-main: #526cfe;

        --md-border-radius: 0.1rem;
    }

/* Font faces */

    .font-gi { font-family: "Glacial Indifference", var(--md-text-font); }
    .font-rb { font-family: roboto, var(--md-text-font); }
    .font-rbm { font-family: "Roboto Mono", var(--md-text-font); }

    /* Chat */

    .chat {

        --md-chat-color: #FFF;
        --md-chat-username: #ffd000;
        --md-chat-outline: #181425;

        color: var(--md-chat-color);

        /* Text outline that is supported on all browsers before
        Baseline 2024 */

        text-shadow:
        2px 2px 0 var(--md-chat-outline),
        2px 1px 0 var(--md-chat-outline),
        2px 0 0 var(--md-chat-outline),
        2px -1px 0 var(--md-chat-outline),
        2px -2px 0 var(--md-chat-outline),
        1px 2px 0 var(--md-chat-outline),
        1px 1px 0 var(--md-chat-outline),
        1px 0 0 var(--md-chat-outline),
        1px -1px 0 var(--md-chat-outline),
        1px -2px 0 var(--md-chat-outline),
        0 2px 0 var(--md-chat-outline),
        0 1px 0 var(--md-chat-outline),
        0 -1px 0 var(--md-chat-outline),
        0 -2px 0 var(--md-chat-outline),
        -1px 2px 0 var(--md-chat-outline),
        -1px 1px 0 var(--md-chat-outline),
        -1px 0 0 var(--md-chat-outline),
        -1px -1px 0 var(--md-chat-outline),
        -1px -2px 0 var(--md-chat-outline),
        -2px 2px 0 var(--md-chat-outline),
        -2px 1px 0 var(--md-chat-outline),
        -2px 0 0 var(--md-chat-outline),
        -2px -1px 0 var(--md-chat-outline),
        -2px -2px 0 var(--md-chat-outline);

    }
    
    /* For browsers with Baseline 2024 support and later, use the
    much more efficient text outline method */

    @supports (paint-order: stroke fill) {
        .chat {
            text-shadow: unset;
            -webkit-text-stroke: 4px var(--md-chat-outline);
            paint-order: stroke fill;
        }

        .chat > u {
            text-decoration: none;
            position: relative;
            display: inline-block;
        }

        .chat > u::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: 5px;
            width: 100%;
            height: 1px;
            background-color: var(--md-chat-color);
            box-shadow: 0 0 0 2px var(--md-chat-outline);
        }
    }

    .chat.username { color: var(--md-chat-username) }

/* Font configuration */

    .md-typeset { letter-spacing: 0; }

    .md-typeset h1,
    .md-typeset h2,
    .md-typeset h3,
    .md-typeset h4,
    .md-typeset h5,
    .md-typeset h6 { letter-spacing: 0; }

    .md-header__ellipsis { letter-spacing: 0; }
/* Announcement */

    .md-banner { color: #fff; background-color: #0e90c4; }

/* Dialog */

    .md-dialog {
        border-radius: var(--md-border-radius);
        box-shadow: var(--md-shadow-z2);
        color: var(--md-default-fg-color);
        background-color: var(--md-default-bg-color);
        border: .05rem solid var(--md-default-fg-color);
    }

    .md-dialog__inner { color: unset; }

/* Content */

    /* Stock elements */

        /* Tables */

            table {
                border: 0.075rem solid var(--md-default-fg-color--light) !important;
                font-variant-numeric: tabular-nums;
                width: max-content !important;
            }

            th {
                border-left: .025rem solid var(--md-typeset-table-color);
                border-right: .025rem solid var(--md-typeset-table-color);
            }

            td {
                border-left: .025rem solid var(--md-typeset-table-color);
                border-right: .025rem solid var(--md-typeset-table-color);
            }

            td:hover::after {
                border: .025rem solid var(--md-typeset-table-color);
                display: inline-block;
                width: 1em;
                height: 1em;
                position: relative;
            }

            table th:first-of-type,
            table td:first-of-type {
            border-left: none;
            }

            table th:last-of-type,
            table td:last-of-type {
            border-right: none;
            }

        /* Images */

            /* Image corner radius */

                .md-content img {
                    border-radius: var(--md-border-radius);
                }

            /* Image border class */

                img.bordered {
                    border: .075rem solid var(--md-default-fg-color--lightest);
                }
            
            /* Catalog item image class */

                img.catalog-item {
                    background-color: #455a7e;
                    border-radius: 0.3rem;
                }

            /* Rounded image */

                img.rounded {
                    border-radius: 1rem;
                }

                img.rounded.half {
                    border-radius: .5rem;
                }

        /* Content tabs */

            @media screen {

                .js .md-typeset .tabbed-labels::before { height: 0.1rem; }

                .md-typeset .tabbed-set >
                input:first-child:checked ~.tabbed-labels >
                :first-child, .md-typeset .tabbed-set >
                input:nth-child(10):checked ~ .tabbed-labels >
                :nth-child(10), .md-typeset .tabbed-set >
                input:nth-child(11):checked ~ .tabbed-labels >
                :nth-child(11), .md-typeset .tabbed-set >
                input:nth-child(12):checked ~ .tabbed-labels >
                :nth-child(12), .md-typeset .tabbed-set >
                input:nth-child(13):checked ~ .tabbed-labels >
                :nth-child(13), .md-typeset .tabbed-set >
                input:nth-child(14):checked ~ .tabbed-labels >
                :nth-child(14), .md-typeset .tabbed-set >
                input:nth-child(15):checked ~ .tabbed-labels >
                :nth-child(15), .md-typeset .tabbed-set >
                input:nth-child(16):checked ~ .tabbed-labels >
                :nth-child(16), .md-typeset .tabbed-set >
                input:nth-child(17):checked ~ .tabbed-labels >
                :nth-child(17), .md-typeset .tabbed-set >
                input:nth-child(18):checked ~ .tabbed-labels >
                :nth-child(18), .md-typeset .tabbed-set >
                input:nth-child(19):checked ~ .tabbed-labels >
                :nth-child(19), .md-typeset .tabbed-set >
                input:nth-child(2):checked ~ .tabbed-labels >
                :nth-child(2), .md-typeset .tabbed-set >
                input:nth-child(20):checked ~ .tabbed-labels >
                :nth-child(20), .md-typeset .tabbed-set >
                input:nth-child(3):checked ~ .tabbed-labels >
                :nth-child(3), .md-typeset .tabbed-set >
                input:nth-child(4):checked ~ .tabbed-labels >
                :nth-child(4), .md-typeset .tabbed-set >
                input:nth-child(5):checked ~ .tabbed-labels >
                :nth-child(5), .md-typeset .tabbed-set >
                input:nth-child(6):checked ~ .tabbed-labels >
                :nth-child(6), .md-typeset .tabbed-set >
                input:nth-child(7):checked ~ .tabbed-labels >
                :nth-child(7), .md-typeset .tabbed-set >
                input:nth-child(8):checked ~ .tabbed-labels >
                :nth-child(8), .md-typeset .tabbed-set >
                input:nth-child(9):checked ~ .tabbed-labels >
                :nth-child(9) {
                    font-weight: 600;
                }
            }

        /* Big buttons */

            .md-button.md-button--primary {
                border-radius: var(--md-border-radius);
            }

            .md-typeset .md-button {
                border-radius: var(--md-border-radius);
            }
   
        /* Grid cards */

            .md-typeset .grid.cards > ol > li,
            .md-typeset .grid.cards > ul > li,
            .md-typeset .grid > .card {
                border-radius: var(--md-border-radius);
            }

            .md-typeset .grid.cards > ol > li:focus-within,
            .md-typeset .grid.cards > ol > li:hover,
            .md-typeset .grid.cards > ul > li:focus-within,
            .md-typeset .grid.cards > ul > li:hover,
            .md-typeset .grid > .card:focus-within,
            .md-typeset .grid > .card:hover {
                border-color: var(--md-default-fg-color);
                transition: unset;
            }

        /* Keys */

            .md-typeset kbd {
                border-radius: var(--md-border-radius);
                border: .05rem solid var(--md-default-fg-color--light);
                box-shadow: 0 0.1rem 0 0 var(--md-default-fg-color--light);
                background-color: var(--md-default-fg-color--lightest);
                margin-bottom: -0.2rem;
            }

        /* Code blocks */
            
            .md-typeset code {
                border-radius: var(--md-border-radius);
            }

            .md-code__content { border-radius: var(--md-border-radius); }

            .highlight span.filename { border-radius: var(--md-border-radius) var(--md-border-radius) 0 0; }

            .md-typeset pre > code { border-radius: var(--md-border-radius); }

        /* Admonition */
            
        .md-typeset .admonition, .md-typeset details {

            --md-admonition-border-color-note: #4489ff;
            --md-admonition-border-color-abstract: #00b0ff;
            --md-admonition-border-color-info: #00b8d4;
            --md-admonition-border-color-tip: #00bfa5;
            --md-admonition-border-color-success: #00C853;
            --md-admonition-border-color-question: #64DD17;
            --md-admonition-border-color-warning: #FF9100;
            --md-admonition-border-color-failure: #FF5252;
            --md-admonition-border-color-danger: #FF1744;
            --md-admonition-border-color-bug: #F50057;
            --md-admonition-border-color-example: #7C4DFF;
            --md-admonition-border-color-quote: #9E9E9E;

            --md-admonition-border-thickness: .075rem;
            --md-admonition-left-border-thickness: .2rem;
            
            border-radius: var(--md-border-radius);

            border-style: solid;
            border-width: var(--md-admonition-border-thickness);
            border-left-width: var(--md-admonition-left-border-thickness);
            
        }

            /* Admonition colors */

                .md-typeset .admonition.note { border-color: var(--md-admonition-border-color-note); }
                .md-typeset .admonition.abstract { border-color: var(--md-admonition-border-color-abstract); }
                .md-typeset .admonition.info { border-color: var(--md-admonition-border-color-info); }
                .md-typeset .admonition.tip { border-color: var(--md-admonition-border-color-tip); }
                .md-typeset .admonition.success { border-color: var(--md-admonition-border-color-success); }
                .md-typeset .admonition.question { border-color: var(--md-admonition-border-color-question); }
                .md-typeset .admonition.warning { border-color: var(--md-admonition-border-color-warning); }
                .md-typeset .admonition.failure { border-color: var(--md-admonition-border-color-failure); }
                .md-typeset .admonition.danger { border-color: var(--md-admonition-border-color-danger); }
                .md-typeset .admonition.bug { border-color: var(--md-admonition-border-color-bug); }
                .md-typeset .admonition.example { border-color: var(--md-admonition-border-color-example); }
                .md-typeset .admonition.quote { border-color: var(--md-admonition-border-color-quote); }

             /* Expandable admonition colors */

                .md-typeset details.note { border-color: var(--md-admonition-border-color-note); }
                .md-typeset details.abstract { border-color: var(--md-admonition-border-color-abstract); }
                .md-typeset details.info { border-color: var(--md-admonition-border-color-info); }
                .md-typeset details.tip { border-color: var(--md-admonition-border-color-tip); }
                .md-typeset details.success { border-color: var(--md-admonition-border-color-success); }
                .md-typeset details.question { border-color: var(--md-admonition-border-color-question); }
                .md-typeset details.warning { border-color: var(--md-admonition-border-color-warning); }
                .md-typeset details.failure { border-color: var(--md-admonition-border-color-failure); }
                .md-typeset details.danger { border-color: var(--md-admonition-border-color-danger); }
                .md-typeset details.bug { border-color: var(--md-admonition-border-color-bug); }
                .md-typeset details.example { border-color: var(--md-admonition-border-color-example); }
                .md-typeset details.quote { border-color: var(--md-admonition-border-color-quote); }

    /* Custom elements */

        /* Transparent class */

            .trans { opacity: 0.75; }

        /* Info blocks */

            .info-mini {
                background-color: #9e9e9e1a;
                text-decoration: none !important;
                padding: 0.2rem 0.3rem;
                border-radius: var(--md-border-radius);
                font-size: min(.95em, .8rem);
                white-space: nowrap;
            }

            .info-mini.link {
                background-color: var(--md-accent-fg-color--transparent);
                border-color: var(--md-accent-fg-color);
            }

            .info-mini.red { background-color: #ff17441a; }
            .info-mini.orange { background-color: #ff91001a; }
            .info-mini.yellow { background-color: #ffee001a; }
            .info-mini.green { background-color: #00c8531a; }
            .info-mini.lime { background-color: #3fc8001a; }
            .info-mini.teal { background-color: #00bfa51a; }
            .info-mini.cyan { background-color: #00d9ff1a; }
            .info-mini.sky-blue { background-color: #6fa9ff1a; }
            .info-mini.blue { background-color: #4451ff1a; }
            .info-mini.lilac { background-color: #ca44ff1a; }
            .info-mini.pink { background-color: #ff00951a; }

            .info-mini.var-ref {
                border: 0.075rem var(--md-type-text-blue) solid;
            }

            .info-mini.array-ref {
                border: 0.075rem var(--md-type-text-blue) solid;
                border-right-width: 0.2rem;
            }

            .info-mini.map-ref.key-integer {
                border: 0.075rem var(--md-type-text-blue) solid;
                border-right: 0.2rem var(--md-type-text-teal) solid;
            }

            .info-mini.map-ref.key-string {
                border: 0.075rem var(--md-type-text-blue) solid;
                border-right: 0.2rem var(--md-type-text-orange) solid;
            }

            .info-mini.map-ref.key-object {
                border: 0.075rem var(--md-type-text-blue) solid;
                border-right: 0.2rem var(--md-type-text-cyan) solid;
            }

        /* Axis representation in vector-like data types */

            .array {
                border-width: 0.075rem;
                border-style: solid;
                border-radius: var(--md-border-radius);
                padding: 0 6px;
                color: inherit;
                white-space: nowrap;
            }

            .array.x {
                border-color: var(--md-type-text-red);
                color: var(--md-type-text-red);
            }

            .array.y {
                border-color: var(--md-type-text-green);
                color: var(--md-type-text-green);
            }

            .array.z {
                border-color: var(--md-type-text-blue);
                color: var(--md-type-text-blue);
            }

            .array.w {
                border-color: var(--md-default-fg-color);
                color: var(--md-default-fg-color);
            }

        /* In-game buttons */

            .button {
                
                --md-game-button-normal-bg-color: #455a7e;
                --md-game-button-large-bg-color: #162741;
                --md-game-button-red-bg-color: #e02d2d;
                --md-game-button-orange-bg-color: #ff5300;
                --md-game-button-yellow-bg-color: #ffb727;
                --md-game-button-dark-yellow-bg-color: #D69209;
                --md-game-button-green-bg-color: #5da93d;
                --md-game-button-dark-green-bg-color: #2e914c;
                --md-game-button-blue-bg-color: #009bee;
                --md-game-button-dark-blue-bg-color: #005693;
                --md-game-button-purple-bg-color: #b727ff;
                --md-game-button-gray-bg-color: #92A3BB;

                --md-game-button-normal-fg-color: #a7bbce;
                --md-game-button-large-fg-color: #fff;
                --md-game-button-colored-fg-color: #fff;

                background-color: var(--md-game-button-normal-bg-color);
                color: var(--md-game-button-normal-fg-color);
                text-decoration: none !important;
                border: 0.075rem solid var(--md-default-fg-color--light);
                padding: 0.2rem 0.4rem;
                border-radius: 0.3rem;
                text-transform: uppercase;
                font-family:  'Glacial Indifference', var(--md-text-font);
                letter-spacing: 0.025em;
                white-space: nowrap;

            }

            .button.red { background-color: var(--md-game-button-red-bg-color); color: var(--md-game-button-colored-fg-color); }
            .button.yellow { background-color: var(--md-game-button-yellow-bg-color); color: var(--md-game-button-colored-fg-color); }
            .button.green { background-color: var(--md-game-button-green-bg-color); color: var(--md-game-button-colored-fg-color); }
            .button.blue { background-color: var(--md-game-button-blue-bg-color); color: var(--md-game-button-colored-fg-color); }

            .button.large {
                background-color: var(--md-game-button-large-bg-color);
                color: var(--md-game-button-large-fg-color);
                padding: 0.3rem 0.2rem;
                top: .4rem;
                line-height: 1.8rem;
            }

            .button.tiny {
                padding: 0.3rem 0.3rem 0.2rem;
                top: .4rem;
            }

            .button.lcase { text-transform: none; }

            .button.item {
                padding: 0 .15rem;
                color: var(--md-game-button-large-fg-color);
                border: none !important;
                box-shadow: none;
                height: 1.5em;
                position: relative;
                top: -0.1rem;
                border-radius: .2rem;
            }

            .button.item.red { background-color: var(--md-game-button-red-bg-color); }
            .button.item.orange { background-color: var(--md-game-button-orange-bg-color); }
            .button.item.yellow { background-color: var(--md-game-button-yellow-bg-color); }
            .button.item.dark-yellow { background-color: var(--md-game-button-dark-yellow-bg-color); }
            .button.item.green { background-color: var(--md-game-button-green-bg-color); }
            .button.item.dark-green { background-color: var(--md-game-button-dark-green-bg-color); }
            .button.item.blue { background-color: var(--md-game-button-blue-bg-color); }
            .button.item.dark-blue { background-color: var(--md-game-button-dark-blue-bg-color); }
            .button.item.purple { background-color: var(--md-game-button-purple-bg-color); }
            .button.item.gray { background-color: var(--md-game-button-gray-bg-color); }
        
        /* Wire display */

            .wire {
                position: relative;
                z-index: 2;
                padding: 4px 0 4px 4px;
                width: max-content;
                background: #BDB9B3;
                border: 0.075rem solid var(--md-default-fg-color--light);
                font-size: 0.5rem;
                letter-spacing: 0.7em;
                user-select: none;
            }

            .wire.var-ref::before {
                content: "";
                position: absolute;
                z-index: 0;
                inset: 0;
                padding: 4px 0 4px 4px;
                background: repeating-linear-gradient(
                    -45deg,
                    #0000,
                    #0000 24px,
                    #0000AF 24px,
                    #0000AF 30px,
                    #0000 30px,
                    #0000 48px
                );
            }

            .wire.array-ref::before {
                content: "";
                position: absolute;
                z-index: 0;
                inset: 0;
                padding: 4px 0 4px 4px;
                background: repeating-linear-gradient(
                    -45deg,
                    #0000,
                    #0000 19px,
                    #0000AF 19px,
                    #0000AF 23px,
                    #0000 23px,
                    #0000 25px,
                    #0000AF 25px,
                    #0000AF 29px,
                    #0000 29px,
                    #0000 48px
                );
            }

            .wire.map-ref.key-integer::before {
                content: "";
                position: absolute;
                z-index: 0;
                inset: 0;
                padding: 4px 0 4px 4px;
                background: repeating-linear-gradient(
                    -45deg,
                    #0000AF,
                    #0000AF 6px,
                    #0000 6px,
                    #0000 48px,
                    #0000AF 48px,
                    #0000AF 54px,
                    #1BB8A1 54px,
                    #1BB8A1 96px
                );
            }

            .wire.map-ref.key-string::before {
                content: "";
                position: absolute;
                z-index: 0;
                inset: 0;
                padding: 4px 0 4px 4px;
                background: repeating-linear-gradient(
                    -45deg,
                    #0000AF,
                    #0000AF 6px,
                    #0000 6px,
                    #0000 48px,
                    #0000AF 48px,
                    #0000AF 54px,
                    #d38c20 54px,
                    #d38c20 96px
                );
            }

            .wire.map-ref.key-object::before {
                content: "";
                position: absolute;
                z-index: 0;
                inset: 0;
                padding: 4px 0 4px 4px;
                background: repeating-linear-gradient(
                    -45deg,
                    #0000AF,
                    #0000AF 6px,
                    #0000 6px,
                    #0000 48px,
                    #0000AF 48px,
                    #0000AF 54px,
                    #0098B5 54px,
                    #0098B5 96px
                );
            }

            .wire::after {
                content: "";
                position: absolute;
                z-index: 1;
                inset: 0;
                padding: 4px 0 4px 4px;
                background: linear-gradient(
                    0deg,
                    rgb(0 0 0 / 20%) 0%,
                    rgb(0 0 0 / 0%) 50%,
                    rgb(0 0 0 / 20%) 100%
                );
                mix-blend-mode: hard-light;
            }

            .wire-arrows {
                position: relative;
                z-index: 3;
                color: #ffffff7e;
                padding: 4px 0 4px 4px;
                mix-blend-mode: overlay;
            }

            .wire.boolean.false { background: #540002; }
            .wire.boolean.true { background: #C8001C; }
            .wire.integer.zero { background: #00503E; }
            .wire.integer.one { background: #00A48C; }
            .wire.integer.two { background: #1BB8A1; }
            .wire.float.zero { background: #003B05; }
            .wire.float.half { background: #017F18; }
            .wire.float.one { background: #06A428; }
            .wire.string { background: #d38c20; }
            .wire.vector { background: #ceb200; }
            .wire.rotation { background: #81c87f; }
            .wire.quaternion { background: #6ebfbe; }
            .wire.object { background: #0098B5; }
            .wire.color { background: #df51b5; }
            .wire.enum { background: #bf93c8; }
            .wire.exec.off { background: #726C63; }
            .wire.exec.on { background: #D5D2CE; }
            .wire.blue { background: #0000AF; }

    /* GLightbox */

        .glightbox-clean .gslide-title { font-family: var(--md-text-font) !important; }

        .md-typeset figcaption { color: var(--md-default-fg-color--light)}

/* Header */

    .md-header {
        color: var(--md-header-fg-color);
        background: var(--md-header-bg-color);
        backdrop-filter: none;
    }

    .md-header--shadow {
        background: var(--md-header-bg-color);
        box-shadow: var(--md-shadow-z3);
    }

    /* Search */

        .md-search__button {
            color: var(--md-search-button-fg-color);
            background-color: var(--md-search-button-bg-color);
            border-radius: var(--md-border-radius);
        }

        .md-search__button::before{ background: var(--md-search-button-fg-color); }

        .md-search__button::after{
            color: var(--md-search-button-fg-color);
            background: none;
            border-width: 0.075rem;
            border-style: solid;
            border-radius: var(--md-border-radius);
            border-color: var(--md-search-button-fg-color);
            top: .3rem;
        }

        @media screen and (min-width: 45em) {
            .md-search__button:focus, .md-search__button:hover {
                background-color: var(--md-search-button-bg-hover-color)
            }
        }

    /* Tabs */

        .md-tabs {
            color: var(--md-header-fg-color);
            background: var(--md-header-bg-color);
            backdrop-filter: none;
            box-shadow: var(--md-shadow-z3);
        }

        .md-tabs__item--active {
            border-color: #FFF;
            border-width: var(--md-border-radius);
            font-weight: 600;
        }

    /* Back to top */

        .md-top {
            color: var(--md-default-fg-color);
            background-color: var(--md-default-bg-color);
            backdrop-filter: none;
            border: .075rem solid var(--md-default-fg-color--lighter);
        }

    /* Sidebars */

        @media screen and (max-width: 76.2344em) {
            .md-sidebar--primary {
                background: var(--md-default-bg-color);
                border: .075rem solid var(--md-default-fg-color--lightest);
                border-radius: var(--md-border-radius);
                backdrop-filter: none;
            }
        }

        .md-nav__link { border-radius: var(--md-border-radius); }

        .md-nav--primary .md-nav__item .md-nav__link--active {
            background: linear-gradient(
                90deg,
                #526cfe27 0%,
                #526cfe00 100%
            );
            background-repeat: no-repeat;
            font-weight: 600;
            border-left: .1rem solid #526cfe;
            padding-left: .7rem;
        }

        .md-nav--primary .md-nav__item label.md-nav__link--active {
            background: none;
            border-left: none;
        }

        .md-nav__link.md-nav__link--passed.md-nav__link--active {
            color: var(--md-accent-fg-color);
            background: linear-gradient(
                90deg,
                #526cfe27 0%,
                #526cfe00 100%);
            background-repeat: no-repeat;
            font-weight: 600;
        }

        .md-nav--primary .md-nav__link[for]:focus:not(.md-nav__link--active),
        .md-nav--primary .md-nav__link[for]:hover:not(.md-nav__link--active),
        .md-nav--primary .md-nav__link[href]:focus:not(.md-nav__link--active),
        .md-nav--primary .md-nav__link[href]:hover:not(.md-nav__link--active)
        { border-radius: var(--md-border-radius); }

        .md-nav__link > svg { opacity: 1; }
        .md-nav__source { border-radius: var(--md-border-radius); }

        @media screen and (max-width: 59.9844em) {
            .md-sidebar--secondary .md-sidebar__inner {
                background-color: var(--md-default-bg-color);
                border: .075rem solid var(--md-default-fg-color--lighter);
                border-radius: var(--md-border-radius);
                backdrop-filter: none;
            }

            .md-nav--secondary .md-nav__title { background-color: var(--md-default-bg-color); }

            .md-sidebar--secondary .md-sidebar-button {
                border: .075rem solid var(--md-default-fg-color--lighter);
                backdrop-filter: none;
                background-color: var(--md-default-bg-color);
            }
        }

/* Footer */

    .md-footer {
        background-image: var(--md-footer-bg);
        background-repeat: repeat-x;
        background-position: left top;
        background-size: 40px auto;
        color: var(--md-footer-fg-color);
        border: none;
    }

    .md-footer__direction {
        opacity: 1;
        color: var(--md-footer-fg-color);
    }

    .md-footer-meta { background-color: var(--md-footer-inner-bg-color); }
    .md-footer-meta__inner.md-grid { background-color: var(--md-footer-inner-bg-color); }

    /* Copyright */

        html .md-footer-meta.md-typeset a:not(:focus, :hover) {
            color: var(--md-footer-inner-fg-color);
        }

        .md-copyright, .md-copyright__highlight {
            color: var(--md-footer-inner-fg-color);
        }

        html .md-footer-met.md-typeset a:not(:focus) {
            color: var(--md-accent-fg-color);
        }

        html .md-footer-met.md-typeset a:not(:hover) {
            color: var(--md-footer-inner-fg-color);
        }

    /* Social */

        .md-social__link svg {
            color: var(--md-footer-inner-fg-color);
        }

        .md-social__link:hover svg {
            color: var(--md-accent-fg-color);
        }

/* Labels */

    /* Tooltips */

        .md-tooltip.md-tooltip--active {
            border: .075rem solid var(--md-default-fg-color--lighter);
            border-radius: var(--md-border-radius);
        }

        .md-tooltip2__inner {
            border: .075rem solid var(--md-default-fg-color--lighter);
            border-radius: var(--md-border-radius);
        }

    /* Tags */

        .md-typeset .md-tag {
            border: .075rem solid var(--default-fg-color--lighter);
            border-radius: 2.4rem;
        }

        .md-typeset .md-tag-icon::before {
            background-color: var(--md-default-fg-color);
        }

/* Variable type coloring */

.text.red { color: var(--md-type-text-red); }
.text.orange { color: var(--md-type-text-orange); }
.text.yellow { color: var(--md-type-text-yellow); }
.text.lime { color: var(--md-type-text-lime); }
.text.green { color: var(--md-type-text-green); }
.text.teal { color: var(--md-type-text-teal); }
.text.cyan { color: var(--md-type-text-cyan); }
.text.blue { color: var(--md-type-text-blue); }
.text.sky-blue { color: var(--md-type-text-sky-blue); }
.text.pink { color: var(--md-type-text-pink); }
.text.lilac { color: var(--md-type-text-lilac); }

/* Theme Data */

[data-md-color-scheme="default"] {

    /* Colors */

    --md-header-fg-color: #fff;
    --md-header-bg-color: #3b4475;
    --md-search-button-fg-color: #111a2b;
    --md-search-button-bg-color: #fff;
    --md-search-button-bg-hover-color: #ffffff88;
    --md-footer-fg-color: #fff;
    --md-footer-bg: url("elements/footer-background-light.svg");
    --md-footer-inner-fg-color: #A7BBCE;
    --md-footer-inner-bg-color: #091022;

    --md-type-text-red: #af2732;
    --md-type-text-orange: #af4727;
    --md-type-text-yellow: #b47c13;
    --md-type-text-lime: #56792e;
    --md-type-text-green: #1d8722;
    --md-type-text-teal: #1b8360;
    --md-type-text-cyan: #0f7d8b;
    --md-type-text-sky-blue: #2b6391;
    --md-type-text-blue: #323cc5;
    --md-type-text-lilac: #742294;
    --md-type-text-pink: #a33f9e;

    /* Footer */

    .md-footer {
        background-color: #b4b4b4;
        box-shadow:
        0 -0.4rem 1rem #0003,
        0 0 0.1rem #00000059;
    }

}

[data-md-color-scheme="slate"] {

    /* Colors */

    --md-default-fg-color: hsl(var(--md-hue) 15% 90% / 100%);
    --md-default-bg-color: #111525;

    --md-header-fg-color: #fff;
    --md-header-bg-color: #070c14;
    --md-search-button-fg-color: #fff;
    --md-search-button-bg-color: #13182b;
    --md-search-button-bg-hover-color: #3c425b;
    --md-footer-fg-color: #fff;
    --md-footer-bg: url("elements/footer-background-dark.svg");
    --md-footer-inner-fg-color: #A7BBCE;
    --md-footer-inner-bg-color: #000;

    --md-code-bg-color: #070c14;
    --md-code-bg-color--light: #070c14c5;
    --md-code-bg-color--lighter: #070c1486;

    --md-type-text-red: #e66772;
    --md-type-text-orange: #e6714e;
    --md-type-text-yellow: #f8c15b;
    --md-type-text-lime: #b1e49a;
    --md-type-text-green: #75f875;
    --md-type-text-teal: #3cdaa5;
    --md-type-text-cyan: #51d7e9;
    --md-type-text-sky-blue: #9fc7fc;
    --md-type-text-blue: #959cfd;
    --md-type-text-lilac: #dd9bf1;
    --md-type-text-pink: #f377ce;

    /* Header */

    .md-header.md-header--shadow { box-shadow: none;}

    /* Tabs */

    .md-tabs { box-shadow: none; }

}