/**
 * @license MIT, https://opensource.org/license/MIT
 */

:root[data-theme=dark] {
    --pico-font-family-sans-serif: ui-sans-serif, sans-serif;
    --pico-block-spacing-vertical: 0;
    --pico-nav-element-spacing-horizontal: 1rem;
    --pico-nav-element-spacing-vertical: 0.75rem;
    --pico-nav-link-spacing-vertical: 0.625rem;
    --pico-nav-link-spacing-horizontal: 0.625rem;
    --pico-color: #FFFFFFD0;
    --pico-background-color: #080040;
    --pico-text-selection-color: #0098e840;
    --pico-muted-color: #FFFFFFA0;
    --pico-muted-border-color: #FFFFFF20;
    --pico-muted-background-color: #00000040;
    --pico-contrast: #FFFFFFE0;
    --pico-contrast-border: #FFFFFF40;
    --pico-contrast-background: #FFFFFF20;
    --pico-contrast-underline: var(--pico-contrast);
    --pico-contrast-hover: #FFFFFF;
    --pico-contrast-hover-border: #FFFFFF60;
    --pico-contrast-hover-background: #00000020;
    --pico-contrast-hover-underline: var(--pico-contrast-hover);
    --pico-contrast-focus: var(--pico-text-selection-color);
    --pico-contrast-inverse: #000000;
    --pico-primary: #0868D0;
    --pico-primary-background: #0868D080;
    --pico-primary-border: var(--pico-primary-background);
    --pico-primary-underline: var(--pico-primary);
    --pico-primary-hover: #1080FF;
    --pico-primary-hover-background: #1080FF80;
    --pico-primary-hover-border: var(--pico-primary-hover-background);
    --pico-primary-hover-underline: var(--pico-primary-hover);
    --pico-primary-focus: var(--pico-text-selection-color);
    --pico-primary-inverse: var(--pico-color);
    --pico-secondary: #B008C8;
    --pico-secondary-background: #B008C880;
    --pico-secondary-border: var(--pico-secondary-background);
    --pico-secondary-underline: var(--pico-secondary);
    --pico-secondary-hover: #E010FF;
    --pico-secondary-hover-background: #E010FF80;
    --pico-secondary-hover-border: var(--pico-secondary-hover-background);
    --pico-secondary-hover-underline: var(--pico-secondary-hover);
    --pico-secondary-focus: var(--pico-text-selection-color);
    --pico-secondary-inverse: var(--pico-color);
    --pico-h1-color: var(--pico-contrast-hover);
    --pico-h2-color: var(--pico-contrast-hover);
    --pico-h3-color: var(--pico-contrast-hover);
    --pico-h4-color: var(--pico-contrast-hover);
    --pico-h5-color: var(--pico-contrast-hover);
    --pico-h6-color: var(--pico-contrast-hover);
    --pico-box-shadow: 0.0145rem 0.029rem 0.174rem #8191B504, 0.0335rem 0.067rem 0.402rem #8191B506, 0.0625rem 0.125rem 0.75rem #8191B508, 0.1125rem 0.225rem 1.35rem #8191B509, 0.2085rem 0.417rem 2.502rem #8191B50B, 0.5rem 1rem 6rem #8191B50F, 0 0 0 0.0625rem #8191B504;
    --pico-dropdown-color: var(--pico-contrast);
    --pico-dropdown-border-color: var(--pico-contrast-border);
    --pico-dropdown-background-color: var(--pico-background-color);
    --pico-dropdown-hover-background-color: var(--pico-background-color);
    --pico-dropdown-box-shadow: var(--pico-box-shadow);
    --pico-modal-overlay-background-color: var(--pico-muted-background-color);
    --pico-code-background-color: var(--pico-contrast-background);
    --pico-code-color: var(--pico-contrast-hover);
    --pico-border-radius: 0;
    --cms-accent-gradient:
        radial-gradient(circle at 90% -50%, var(--pico-primary-background) 0, transparent 100%),
        radial-gradient(circle at 10% 150%, var(--pico-secondary-background) 0, transparent 100%);
    --cms-accent-gradient-tight:
        radial-gradient(circle at 90% -50%, var(--pico-primary-background) 0, transparent 66%),
        radial-gradient(circle at 10% 150%, var(--pico-secondary-background) 0, transparent 66%);
}

* {
  scrollbar-color: var(--pico-primary-background) var(--pico-background-color);
}

body {
    line-height: 1.6;
    scroll-behavior: smooth;
    font-family: var(--pico-font-family-sans-serif);
    background-color: var(--pico-background-color);
    background-image:
        radial-gradient(
            circle at 100% 40rem,
            var(--pico-primary-background) 0,
            transparent 70vw
        ),
        radial-gradient(
            circle at 0 60rem,
            var(--pico-secondary-background) 0,
            transparent 60vw
        ),
        radial-gradient(
            circle at 100% 150rem,
            var(--pico-secondary-background) 0,
            transparent 40rem
        ),
        radial-gradient(
            circle at 0 170rem,
            var(--pico-primary-background) 0,
            transparent 40rem
        ),
        radial-gradient(
            circle at 100% 260rem,
            var(--pico-primary-background) 0,
            transparent 40rem
        ),
        radial-gradient(
            circle at 0 280rem,
            var(--pico-secondary-background) 0,
            transparent 40rem
        );
}

:focus-visible {
    outline: 2px solid var(--pico-contrast);
}

:where(a:not([role=button]):not([role=menuitem])),
:where(a:not([role=button]):not([role=menuitem]):visited) {
    color: var(--pico-primary);
    text-decoration-color: var(--pico-primary);
}

:where(a:not([role=button]):not([role=menuitem]):hover) {
    color: var(--pico-primary-hover);
    text-decoration-color: var(--pico-primary-hover);
}

.skip-link {
    position: absolute;
    top: -100%;
}

nav ol:first-of-type, nav ul:first-of-type,
nav ol:last-of-type, nav ul:last-of-type {
    margin: 0;
}

nav li :where(a,[role=link]) {
    color: var(--pico-color);
    text-decoration: none;
}

body > header {
    max-width: 1200px;
    margin: auto;
}

header nav {
    padding: 0.75rem 0;
}

header nav ol,
header nav ul,
header nav li {
    margin: 0;
}

header nav > ul > li {
    list-style: none;
    padding: 0 0.5rem;
}

header nav > ul:not(.menu) > li {
    padding: 0;
}

header nav > ul > li:last-of-type a {
    background-image: linear-gradient(90deg, var(--pico-primary), var(--pico-secondary));
    padding: 0.5rem 1rem;
    border-radius: 2rem;
    text-wrap: nowrap;
}

nav details {
    margin: 0;
}

header nav a,
header nav details summary {
    display: flex;
    align-items: center;
    list-style: none;
    cursor: pointer;
    margin: 0 0.5rem;
    padding: 0.5rem;
    color: var(--pico-color);
}

header nav details summary::marker,
header nav details summary::-webkit-details-marker {
    display: none;
}

header nav details summary::after {
    display: block;
    width: 1.5rem;
    height: 1.875rem;
    float: inline-end;
    transform: rotate(0) translateX(.2rem);
    background-image: var(--pico-icon-chevron);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 1.5rem auto;
    margin-inline-start: .25rem;
    content: "";
}

header nav details[open] summary::after {
    transform: rotate(0.5turn) translateX(-0.2rem);
}

header nav details > summary + ul.align {
    width: auto;
    left: auto;
    right: auto;
}

header nav .brand {
    flex-grow: 1;
}

header nav .brand a,
header nav .brand img {
    display: flex;
    align-items: center;
    height: 60px;
    padding: 0;
    margin: 0;
}

header nav .menu-open,
header nav .menu-close,
header nav .sidebar-open,
header nav .sidebar-close {
    display: none;
}

header nav .menu-open button,
header nav .menu-close button,
header nav .sidebar-open button,
header nav .sidebar-close button {
    color: var(--pico-contrast);
    padding: 0.75rem;
    background: none;
    border: none;
}

@media (max-width: 991px) {
    header nav .menu-open.show,
    header nav .menu-close.show {
        display: flex;
    }

    header nav.small {
        display: block;
        overflow-y: auto;
        position: fixed;
        padding: 0.5rem 1.5rem;
        background-color: var(--pico-background-color);
        min-height: 100vh;
        z-index: 100;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
    }

    header nav .menu {
        display: none;
    }

    header nav.small .menu {
        flex-direction: column;
        display: flex;
    }

    header nav .menu ul {
        display: block;
    }

    header nav .menu li {
        padding: 0 2rem;
        width: 100%;
    }

    header nav.small .menu details > summary + ul.align {
        position: relative;
        backdrop-filter: none;
        background: none;
        box-shadow: none;
        border: none;
        padding: 0;
    }

    header nav.small .menu details > summary::after {
        content: "";
        display: block;
        float: inline-end;
        margin-inline-start: .25rem;
        height: calc(1rem * var(--pico-line-height, 1.5));
        transform: rotate(0) translateX(.2rem);
        background-image: var(--pico-icon-chevron);
        background-position: right center;
        background-size: 1rem auto;
        background-repeat: no-repeat;
        width: 1rem;
    }
}

nav.breadcrumb {
    border: 1px solid var(--pico-muted-border-color);
    background-color: var(--pico-muted-background-color);
}

nav.breadcrumb > ul {
    text-align: center;
    max-width: 1200px;
    margin: auto;
    width: 100%;
}

nav.breadcrumb ul li {
    justify-content: flex-end;
    align-items: center;
    display: flex;
}

nav.breadcrumb ul li:not(:first-child) {
    margin-inline-start: 0;
}

nav.breadcrumb ul li:not(:last-child)::after {
    color: var(--pico-color);
    width: auto;
}


.container {
    max-width: 1200px !important;
}

details summary {
    line-height: inherit;
}

h1, h2, h3, h4 {
    font-weight: normal;
}

h1, h2 {
    text-align: center;
    margin-bottom: 2.5rem;
}

.btn {
    display: inline-block;
    text-decoration: none;
    vertical-align: sub;
    padding: 0.75rem 1.5rem;
    margin: 0.5rem;
    font-size: var(--pico-font-size);
    line-height: inherit;
    border: none;
    border-radius: 2rem;
    color: var(--pico-contrast);
    background-image: linear-gradient(90deg, var(--pico-primary), var(--pico-secondary));
}

.btn::after {
    mask: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M10 1.875C8.39303 1.875 6.82214 2.35152 5.486 3.24431C4.14985 4.1371 3.10844 5.40605 2.49348 6.8907C1.87852 8.37535 1.71762 10.009 2.03112 11.5851C2.34463 13.1612 3.11846 14.6089 4.25476 15.7452C5.39106 16.8815 6.8388 17.6554 8.4149 17.9689C9.99099 18.2824 11.6247 18.1215 13.1093 17.5065C14.594 16.8916 15.8629 15.8502 16.7557 14.514C17.6485 13.1779 18.125 11.607 18.125 10C18.1227 7.84581 17.266 5.78051 15.7427 4.25727C14.2195 2.73403 12.1542 1.87727 10 1.875ZM10 16.875C8.64026 16.875 7.31105 16.4718 6.18046 15.7164C5.04987 14.9609 4.16868 13.8872 3.64833 12.6309C3.12798 11.3747 2.99183 9.99237 3.2571 8.65875C3.52238 7.32513 4.17716 6.10013 5.13864 5.13864C6.10013 4.17716 7.32514 3.52237 8.65876 3.2571C9.99238 2.99183 11.3747 3.12798 12.631 3.64833C13.8872 4.16868 14.9609 5.04987 15.7164 6.18045C16.4718 7.31104 16.875 8.64025 16.875 10C16.8729 11.8227 16.1479 13.5702 14.8591 14.8591C13.5702 16.1479 11.8227 16.8729 10 16.875ZM13.5672 9.55781C13.6253 9.61586 13.6714 9.68479 13.7029 9.76066C13.7343 9.83654 13.7505 9.91787 13.7505 10C13.7505 10.0821 13.7343 10.1635 13.7029 10.2393C13.6714 10.3152 13.6253 10.3841 13.5672 10.4422L11.0672 12.9422C10.9499 13.0595 10.7909 13.1253 10.625 13.1253C10.4592 13.1253 10.3001 13.0595 10.1828 12.9422C10.0655 12.8249 9.99966 12.6659 9.99966 12.5C9.99966 12.3341 10.0655 12.1751 10.1828 12.0578L11.6164 10.625H6.875C6.70924 10.625 6.55027 10.5592 6.43306 10.4419C6.31585 10.3247 6.25 10.1658 6.25 10C6.25 9.83424 6.31585 9.67527 6.43306 9.55806C6.55027 9.44085 6.70924 9.375 6.875 9.375H11.6164L10.1828 7.94219C10.0655 7.82491 9.99966 7.66585 9.99966 7.5C9.99966 7.33415 10.0655 7.17509 10.1828 7.05781C10.3001 6.94054 10.4592 6.87465 10.625 6.87465C10.7909 6.87465 10.9499 6.94054 11.0672 7.05781L13.5672 9.55781Z"/></svg>') no-repeat center / contain;
    background-color: var(--pico-contrast);
    margin-inline-start: 0.5rem;
    display: inline-block;
    height: 1.15rem;
    width: 1.15rem;
    content: '';
}

.btn:hover,
.btn:hover::after {
    color: var(--pico-contrast-hover);
}

.hidden {
    display: none;
}

.file,
.audio,
.image,
.video {
    max-width: 100%;
    text-align: center;
    display: block;
    margin: auto;
}
