html {
    font-family: 'Open Sans', sans-serif;
    scroll-margin-top: var(--xxl);
}

.icon {
    align-self: center;
    fill: var(--foreground);
}

.active {
    font: 600 1.1em Poppins, sans-serif;
}

.anchor-hidden {
    height: 1px;
    overflow: hidden;
    width: 1px;
}

.accessibility-menu {
    background-color: var(--background-hard) !important;
    border: 2px solid var(--border);
    border-radius: var(--s);
    display: block;
    height: min-content;
    left: -90%;
    padding: var(--s);
    position: absolute;
    top: -90%;
    width: 30%;
    z-index: 999;
}

.accessibility-menu ul {
    list-style-type: disc;
    margin-left: var(--m);
}

.accessibility-menu:focus-within:not(:active) {
    left: var(--s);
    top: var(--s);
}

.heading-no-margin {
    margin-bottom: initial;
}

.page-header {
    align-items: baseline;
    background: var(--gradient) !important;
    box-shadow: var(--shadow);
    display: flex;
    height: var(--xxl);
    padding: var(--s);
    position: fixed;
    top: 0;
    z-index: 1;
}

.header-instance {
    flex: 1;
    text-align: center;
}

.header-instance * {
    margin: unset;
}

.page-content-wrapper {
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    padding: var(--s) var(--s) 0;
    position: relative;
    top: var(--xxl);
}

.page-content {
    display: flex;
    flex-direction: column;
    margin-top: var(--s);
    width: 100%;
}

.markdown-blocks {
    background-color: var(--background-card) !important;
    border-radius: 0 0 var(--s) var(--s);
    padding: var(--s);
}

.markdown-blocks ul {
    list-style: disc;
    margin-left: 1em;
}

.markdown-blocks ul li {
    margin-bottom: .2em;
}

.doc-navigation {
    background-color: var(--background-card) !important;
    border-bottom: 0;
    border-radius: var(--s) var(--s) 0 0;
    padding: var(--s);
}

.doc-navigation ul {
    display: flex;
    justify-content: space-evenly;
}

.section-panel {
    padding: var(--s);
    position: fixed;
    top: var(--xxl);
}

.section-panel-left {
    left: 0;
}

.section-panel-right {
    right: 0;
}

.section-panel .panel-content {
    background: var(--background-hard);
    display: block;
    height: 100vh;
}

@media only screen and (max-width: 1280px) {
    .page-header {
        width: 100%;
    }

    .page-content-wrapper {
        width: 100%;
    }

    .page-content {
        max-width: 100%;
    }

    label[for|="toggle-panel"] {
        cursor: pointer;
    }

    input[id|="toggle-panel"] {
        position: absolute;
        top: -100%;
    }

    #toggle-panel-left:not(:checked) ~ .section-panel-left, #toggle-panel-right:not(:checked) ~ .section-panel-right {
        display: none;
    }

    #toggle-panel-left:checked ~ .section-panel-left, #toggle-panel-right:checked ~ .section-panel-right {
        left: 0;
        overflow-y: auto;
        width: 100vw;
        z-index: 1;
    }
}

@media only screen and (min-width: 1281px) {
    .page-header {
        width: 100%;
    }

    label[for|="toggle-panel"], input[id|="toggle-panel"] {
        display: none !important;
    }

    .section-panel {
        width: 17vw;
    }

    .page-content-wrapper {
        width: 66vw;
    }

    a[id|="anchor"]:target + .accessibility-target {
        animation-duration: 600ms;
        animation-name: highlight;
        animation-timing-function: ease-in-out;
    }
}

@media only screen and (min-width: 1921px) {
    .page-header {
        align-self: center;
        width: 66vw;
    }

    label[for|="toggle-panel"], input[id|="toggle-panel"] {
        display: none !important;
    }

    .section-panel {
        width: 11vw;
    }

    .section-panel-left {
        left: 17vw;
    }

    .section-panel-right {
        right: 17vw;
    }

    .page-content-wrapper {
        width: 44vw;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }
    100% {
        opacity: unset;
        transform: none;
    }
}

@keyframes fadeOut {
    100% {
        opacity: 0;
        transform: translateY(-10px);
    }
    0% {
        opacity: unset;
        transform: none;
    }
}

@keyframes highlight {
    0% {
        border-radius: var(--s);
        box-shadow: initial;
    }
    50% {
        border-radius: var(--s);
        box-shadow: inset 0 20px 40px #FFF;
        transition: box-shadow .3s ease-in-out;
        z-index: 666;
    }
    100% {
        border-radius: var(--s);
        box-shadow: initial;
    }
    0% {
        border-radius: var(--s);
        box-shadow: initial;
    }
    50% {
        border-radius: var(--s);
        box-shadow: inset 0 20px 40px #000;
        transition: box-shadow .3s ease-in-out;
    }
    100% {
        border-radius: var(--s);
        box-shadow: initial;
    }
}
