:root {
    --text-color: #111;
    --controls-text: #444;
    --gray: #666;
    --gray-dark: #535353;
    --background-color: #fff;
    --background-tint-light: hsl(var(--hue), 98%, 95%);
    --background-tint-dark: #e2e2e2;
    --card-background: var(--background-color);
    --alpha: rgb(255 255 255 / .6);
    --border-color: #ddd;
    --box-shadow: 0 0 1rem rgb(0 0 0 / .1);
    --box-shadow-hover: 0 0 1.5rem rgb(0 0 0 / .25);
    --secondary-color: var(--gray);
    --secondary-color-dark: var(--gray-dark);
}
* {
  font-kerning: auto;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: oldstyle-nums;
  text-rendering: geometricPrecision;
}
.theme-dark {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    --text-color: #e5e5e5;
    --controls-text: #ddd;
    --background-color: #121212;
    --background-tint-light: #232323;
    --background-tint-dark: #353535;
    --card-background: #000;
    --alpha: rgb(0 0 0 / .6);
    --border-color: #444;
    --box-shadow: 0 0 1rem rgb(0 0 0 / .25);
    --box-shadow-hover: 0 0 1.5rem rgb(0 0 0 / .75);
    --box-glow: 0 0 3rem rgb(255 255 255 / .15);
}
.color-blue {
    --primary-color: hsl(220, 80%, 45.5%);
    --primary-color-light: hsl(220, 40%, 90%);
    --primary-color-dark: hsl(220, 80%, 35.5%);
    --button-color: var(--primary-color);
}
.theme-dark .color-blue {
    --primary-color: hsl(220, 80%, 78.5%);
    --primary-color-light: hsl(220, 50%, 20%);
    --text-decoration-color: var(--primary-color);
    --button-color: hsl(220, 75%, 45.5%);
}
.color-green {
    --primary-color: hsl(160, 80%, 27%);
    --primary-color-light: hsl(160, 28%, 86%);
    --primary-color-dark: hsl(160, 80%, 18%);
    --button-color: var(--primary-color);
}
.theme-dark .color-green {
    --primary-color: hsl(160, 40%, 65%);
    --primary-color-light: hsl(160, 50%, 16%);
    --text-decoration-color: var(--primary-color);
    --button-color: hsl(160, 75%, 23%);
}
.color-red {
    --primary-color: hsl(355, 80%, 38.5%);
    --primary-color-light: hsl(355, 35%, 90%);
    --primary-color-dark: hsl(355, 80%, 32.5%);
    --button-color: var(--primary-color);
}
.theme-dark .color-red {
    --primary-color: hsl(355, 70%, 80%);
    --primary-color-light: hsl(355, 31%, 21%);
    --text-decoration-color: var(--primary-color);
    --button-color: hsl(355, 75%, 39%);
}
.color-purple {
    --primary-color: hsl(265, 60%, 52.5%);
    --primary-color-light: hsl(265, 30%, 91%);
    --primary-color-dark: hsl(265, 70%, 42.5%);
    --button-color: var(--primary-color);
}
.theme-dark .color-purple {
    --primary-color: hsl(265, 55%, 81%);
    --primary-color-light: hsl(265, 30%, 20%);
    --text-decoration-color: var(--primary-color);
    --button-color: hsl(265, 52%, 51%);
}
.custom-color {
    --primary-color: hsl(var(--hue), 20%, 20%);
    --primary-color-light: hsl(var(--hue), 40%, 91%);
    --primary-color-dark: hsl(var(--hue), 80%, 33%);
    --button-color: var(--primary-color);
}
.theme-dark .custom-color {
    --primary-color: hsl(var(--hue), 60%, 78.5%);
    --primary-color-light: hsl(var(--hue), 50%, 19%);
    --text-decoration-color: var(--primary-color);
    --button-color: hsl(var(--hue), 60%, 45.5%);
}
@font-face {
    font-display: swap;
    font-family: "Termoli";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/maria.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "Termoli";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/maria.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "Termoli";
    font-style: normal;
    font-weight: 600;
    src: url("../fonts/maria.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "Source Sans 3";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/source-sans-3-v15-latin_latin-ext-regular.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "Source Sans 3";
    font-style: italic;
    font-weight: 400;
    src: url("../fonts/source-sans-3-v15-latin_latin-ext-italic.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "Source Sans 3";
    font-style: normal;
    font-weight: 600;
    src: url("../fonts/source-sans-3-v15-latin_latin-ext-600.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "Lato";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/lato-v24-latin_latin-ext-regular.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "Lato";
    font-style: italic;
    font-weight: 400;
    src: url("../fonts/lato-v24-latin_latin-ext-italic.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "Lato";
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/lato-v24-latin_latin-ext-700.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "PT Sans";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/pt-sans-v17-latin_latin-ext-regular.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "PT Sans";
    font-style: italic;
    font-weight: 400;
    src: url("../fonts/pt-sans-v17-latin_latin-ext-italic.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "PT Sans";
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/pt-sans-v17-latin_latin-ext-700.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "Ubuntu";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/ubuntu-v20-latin_latin-ext-regular.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "Ubuntu";
    font-style: italic;
    font-weight: 400;
    src: url("../fonts/ubuntu-v20-latin_latin-ext-italic.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "Ubuntu";
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/ubuntu-v20-latin_latin-ext-500.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "Lexend";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/lexend-v19-latin-regular.woff2") format("woff2");
}
@font-face {
    font-display: swap;
    font-family: "Lexend";
    font-style: normal;
    font-weight: 600;
    src: url("../fonts/lexend-v19-latin-600.woff2") format("woff2");
}
.source-font-family {
    font-family: "Source Sans 3",sans-serif;
}
.plex-font-family {
    font-family: "Termoli",serif;
}
.lato-font-family {
    font-family: "Lato",sans-serif;
    letter-spacing: 0.01em;
}
.pt_sans-font-family {
    font-family: "PT Sans",sans-serif;
}
.ubuntu-font-family {
    font-family: "Ubuntu",sans-serif;
}
.system-font-family {
    font-family: system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}
.lexend-font-family {
    font-family: "Lexend",sans-serif;
}
html {
    box-sizing: border-box;
    color: var(--text-color);
    font-size: 1em;
    font-weight: 400;
    line-height: 1.65;
    scroll-behavior: smooth;
}
*,
*::after,
*::before {
    box-sizing: inherit;
}
body {
    background: var(--background-color);
    margin-block: 0;
    margin-inline: 0;
}
@media(min-width: 48em) {
    html {
        font-size: 1.0625rem;
    }
}
@media(min-width: 56em) {
    html {
        font-size: 1.125rem;
    }
}
@media(min-width: 62em) {
    html {
        font-size: 1.1875rem;
    }
}
main img {
    filter:brightness(1)
}
.theme-dark main img {
    filter:brightness(0.95)
}
.deco a,
a {
    background: rgba(0,0,0,0);
    color: var(--primary-color);
    text-decoration: underline;
    text-decoration-color: var(--primary-color);
    text-decoration-thickness: 0.12rem;
    text-underline-offset: 0.2em;
    transition: text-decoration-color 0.2s;
}
.deco a:focus,
.deco a:hover,
a:focus,
a:hover {
    text-decoration-color: red;
}
.deco a:active,
a:active {
    text-decoration-color: var(--secondary-color);
}
.deco a,
nav a {
    color: var(--text-color);
    text-decoration-color:#fff;
}
.no-deco {
    color: var(--text-color);
    text-decoration: none;
}
.deco a {
    color: var(--text-color);
    text-decoration-color: rgba(0,0,0,0);
}
.deco a:focus,
.deco a:hover {
    text-decoration-color: var(--primary-color);
}
.deco a:active {
    text-decoration-color: rgba(0,0,0,0);
}
.page {
    margin-inline: auto;
    max-inline-size: 95%;
    padding-inline: 1rem;
}
main {
    background: var(--background-color);
    padding-block: 1.65rem;
}
.search-content {
    padding-block-start: 1.65rem;
    inline-size: 100%;
}
.grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1rem;
    row-gap: 1rem;
    margin-block-end: 1.65rem;
}
.grid .grid-column:last-child {
    margin-block-end: 0;
}
.grid-auto {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    column-gap: 3%;
    row-gap: 1rem;
    margin-block-end: 1.65rem;
}
.grid-auto .grid-column {
    grid-column: unset;
}
.grid-auto .grid-column:last-child {
    margin-block-end: 0;
}
.content-column,
.multi-cols {
    container-type: inline-size;
}
@media(min-width: 48em) {
    .grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .base-grid {
        display: grid;
        grid-template-columns: repeat(var(--column-repeat, 12), minmax(0, 1fr));
        column-gap: var(--column-gap, 2rem);
        row-gap: var(--row-gap, 0);
    }
    .about-template .main .base-grid,
    .article .main .base-grid,
    .article-doc-template .main .base-grid,
    .article-template .main .base-grid,
    .contact-template .main .base-grid,
    .faq-template .main .base-grid,
    .lefty .main .base-grid,
    .privacy-policy-template .main .base-grid {
        grid-template-rows: 0;
    }
    .about-template .crumbs-column,
    .article .crumbs-column,
    .article-doc-template .crumbs-column,
    .article-template .crumbs-column,
    .contact-template .crumbs-column,
    .faq-template .crumbs-column,
    .lefty .crumbs-column,
    .privacy-policy-template .crumbs-column {
        z-index: 10;
    }
    .base-grid-column,
    .grid-column {
        grid-column: var(--column);
    }
    .base-grid-column {
        grid-row: var(--row);
    }
}
@media(min-width: 56em) {
    .grid {
        gap: 1.5rem;
    }
}
@media(min-width: 76rem) {
    .page {
        padding-inline: 0;
    }
}
.multi-cols > * {
  font-size: 0.8125rem;
  line-height: 1.85;
}
.multi-cols h2 {
    font-size: 1.125rem;
}
.multi-cols h3 {
    font-size: 1rem;
}
.multi-cols p {
    hyphens: auto;
}
@media(min-width: 56em) {
    .home .multi-cols.colspan-3 > * {
        font-size: unset;
        line-height: unset;
        hyphens: none;
    }
    .home .multi-cols.colspan-3 h2 {
        font-size: 1.3125rem;
    }
    .home .multi-cols.colspan-3 h3 {
        font-size: 1.125rem;
    }
}
.bg-image h2:first-of-type,
.multi-cols h2:first-of-type,
.panel h2:first-of-type {
    margin-block-start: 0 !important;
}
.bg-image,
.panel,
.panels > div {
    border-radius: 0em;
    margin-block-end: 1.65rem;
    padding-inline: 1rem;
    padding-block: 1rem;
}
.panels .multi-cols {
    margin-block-end: 0;
}
.panel,
.panels > div {
    background-color: var(--background-color);
}
.panel div:last-child > :last-child,
.panel:last-child,
.panels div > :last-child {
    margin-block-end: 0;
}
@media(min-width: 48em) {
    .panel div:last-child > :last-child {
        margin-block-end: 0;
    }
}
.bg-image {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
    margin-block: 0 1.65rem;
    margin-inline: -1rem;
}
.bg-image > * {
    position: relative;
    z-index: 10;
}
.bg-image::before {
    background-color: rgba(255, 255, 255, var(--overlay, 0.5));
    content: "";
    display: block;
    position: absolute;
    inset-block: 0;
    inset-inline: 0;
}
.bg-image.blur::before {
    backdrop-filter:blur(4px)
}
.theme-dark .bg-image::before {
    background-color: rgba(0, 0, 0, var(--overlay, 0.5));
}
@media(min-width: 48em) {
    .bg-image {
        margin-inline: 0;
    }
}
.name {
    border-block: 0.2em solid var(--text-color);
    border-inline: 0.2em solid var(--text-color);
    aspect-ratio: 1/3;
    font-size: 0.875rem;
    font-weight: normal;
    text-align: left;
    padding-block: 0.75rem;
    padding-inline: 0.75rem;
    max-inline-size: max-content;
    max-block-size: max-content;
}
.name a {
    display: block;
}
.name.circle {
    border-radius: 50%;
}
.name.rounded {
    border-radius: 0.5rem;
}
.name.none {
    aspect-ratio: auto;
    border: 0;
    font-size: 1rem;
    padding-block: 0;
    padding-inline: 0;
}
.name,
.name-inner {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: center;
}
.name-inner {
    line-height: 1.2;
}
.logo img {
    display: block;
}
.logo-dark {
    display: none;
}
.theme-dark .logo {
    display: none;
}
.theme-dark .logo-dark {
    display: unset;
}
.site-footer .name {
    font-size: 0.75em;
    margin-block-end: 1.5rem;
}

    .brand {
        justify-self: left;

    }

.h1,
h1 {
    font-size: 2rem;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.2857142857;
    margin-block: 3.3rem 1.65rem;
}
.section-heading,
.section-heading h1 {
    font-size: 2.25rem;
    font-weight: normal;
    color: var(--primary-color);
}
.home-template h1 {
    color: var(--primary-color);
    font-size: 2.25rem;
}
.home-template h1 small {
    color: var(--text-color);
}
.h2,
h2 {
    color: var(--primary-color);
    font-size: 1.3125rem;
    font-weight: 600;
    line-height: 1.333333;
    margin-block: 2.475rem 1rem;
}
figcaption h2 {
    margin-block-start: 0;
}
.h3,
h3 {
    color: var(--primary-color);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.5556;
    margin-block: 0 0.25rem;
}
.h4,
h4 {
    font-weight: 600;
}
.h4,
h4,
h5,
h6 {
    font-size: 1rem;
    margin-block: 0;
}
h6 {
    font-weight: normal;
}
h5,
h6 {
    font-style: italic;
}
.h1 small,
.h2 small,
.h3 small,
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
    color: inherit;
    display: block;
    font-weight: normal;
    line-height: 3;
}
.chapeau {
    color: var(--primary-color);
    margin-block-start: 1.65rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.chapeau+h1 {
    margin-block-start: 1.65rem;
}
@media(min-width: 56em) {
    .chapeau {
        margin-block-start: 3.3rem;
    }
}
.group-heading {
    font-size: 1.75rem;
    margin-block: 0 1rem;
}
.intro p,
.subheading {
    font-size: 1.125rem;
    line-height: 1.5555555556;
}
.subheading {
    font-size: 1rem;
    opacity: 0.5;
}
.marbs-1 {
    margin-block-start: -1.65rem;
}
.marbs0 {
    margin-block-start: 0;
}
.marbs1 {
    margin-block-start: 1.65rem;
}
.marbs2 {
    margin-block-start: 3.3rem;
}
.marbs3 {
    margin-block-start: 4.95rem;
}
.marbe0 {
    margin-block-end: 0;
}
.marbe05 {
    margin-block-end: 0.825rem;
}
.marbe1 {
    margin-block-end: 1.65rem;
}
.marbe2 {
    margin-block-end: 3.3rem;
}
.marbe3 {
    margin-block-end: 4.95rem;
}
details,
dl,
form,
ol,
p,
pre,
ul {
    margin-inline: 0;
    margin-block: 0 1.65rem;
}
ol,
ul {
    padding-inline-start: 2rem;
}
ol::marker,
ul ::marker {
    color: var(--primary-color);
}
ol::marker {
    font-weight: bold;
}
ul ul {
    list-style: disc;
}
ol ol,
ul ul {
    margin-block-end: 0;
}
.block-type-list p {
    margin-bottom: 0;
}
.unstyled,
nav ol,
nav ul {
    list-style: none;
    padding-inline-start: 0;
}
.align-center ul,
td ul {
    list-style-type: none;
    list-style-position: inside;
    padding-inline-start: 0;
}
.align-center ul li::before,
td ul li::before {
    content: "▪︎";
    margin-inline-end: 0.25rem;
    padding-inline-start: 0;
}
.align-center ul li,
td ul li {
    padding-inline-start: 0;
}
.align-center ul ol,
td ul ol {
    padding-inline-start: 0;
    list-style-position: inside;
}
.align-right,
.right,
.text-align-end {
    text-align: end;
}
.align-center,
.center,
.text-align-center {
    text-align: center;
}
.text-align-start {
    text-align: start;
}
.small,
small {
    font-size: 13px;
}
.em,
.italic,
em {
    font-style: italic;
}
.strong,
strong {
    font-weight: bold;
}
.upper {
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.border-top {
    border-block-start: 0.125em solid var(--primary-color);
    padding-block-start: 0.25em;
}
.border,
figure.border img {
    border: 2px solid var(--border-color);
}
figure.border {
    border: 0;
}
.shadow {
    box-shadow: 0 0 1em rgba(0,0,0,.1);
}
.rounded,
.rounded img {
    border-radius: 0.25em;
}
.footnotes {
    font-size: 0.875rem;
    margin-block: 3.3rem 3.3rem;
}
.footnotes hr {
    margin-block-end: 0.5em;
    border-top: 1px solid var(--border-color);
}
.footnotes p {
    margin-block-end: 0;
}
.footnotes li:target {
    animation: highlight 5s ease-out;
}
@keyframes highlight {
    0% {
        background-color: var(--background-color);
    }
    100% {
        background-color: rgba(0,0,0,0);
    }
}
.footnote-ref {
    text-decoration: none;
}
.footnote-ref:hover {
    text-decoration: underline;
}
.footnote-ref::after {
    content: ")";
    font-size: 0.9rem;
    padding-inline-start: 0.1em;
    position: relative;
    inset-block-start: 0.1em;
}
.footnote-backref {
    text-decoration: none;
    font-family: snas-serif;
}
dl {
    font-size: 0.875rem;
}
dt {
    border-block-start: 1px solid var(--primary-color-light);
    color: var(--primary-color);
    font-weight: bold;
    padding-block-start: 0.25rem;
}
dd {
    margin-block: 0 0.825rem;
    margin-inline: 2rem 0;
}
dd ol,
dd ul {
    margin-block-end: 0;
}
details {
    border-block-start: 3px solid var(--primary-color);
    padding-block-start: 0.25rem;
}
details::marker {
    color: var(--primary-color);
}
summary {
    cursor: pointer;
}
abbr[title] {
    cursor: help;
    background: rgba(0,0,0,0);
    text-decoration: underline;
    text-decoration-style: dotted;
    text-decoration-thickness: 0.1em;
    text-decoration-color: var(--text-decoration-color);
    text-underline-offset: 0.15em;
    transition: text-decoration-color 0.2s;
}
q {
    font-style: italic;
    quotes: "“" "”" "‘" "’";
}
sub,
sup {
    font-size: 70%;
    line-height: 1;
    padding-inline-start: 0.15em;
    position: relative;
    vertical-align: baseline;
}
sup {
    inset-block-start: -0.5em;
}
sub {
    inset-block-end: -0.4em;
}
hr {
    display: block;
    block-size: 1px;
    border: 0;
    border-block-start: 4px solid var(--border-color);
    margin-block: 3.3rem;
    padding-block: 0;
    padding-inline: 0;
}
code,
kbd,
pre,
samp {
    font-family: Monaco,SFMono-Regular,Consolas,"Liberation Mono",Menlo,"Ubuntu Mono",monospace;
    font-size: 0.75rem;
}
code,
kbd {
    background-color: var(--background-color);
    border: 1px solid var(--border-color-light);
    border-radius: 0.25em;
    padding-block: 0.1em;
    padding-inline: 0.25em;
    white-space: nowrap;
}
pre {
    background-color: #353535;
    color: #fff;
    border-radius: 0.25em;
    hyphens: none;
    overflow: auto;
    line-height: 1.8;
    padding-block: 1rem;
    padding-inline: 1rem;
    tab-size: 2;
    text-align: left;
    white-space: pre;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
pre code {
    background-color: rgba(0,0,0,0);
    border: none;
    padding-block: 0;
    padding-inline: 0;
    white-space: pre !important;
}
.logged-in-content {
    background: var(--primary-color-light);
    padding-block: 1.65rem 2.475rem;
}
.logged-in-content .columns {
    columns: 3;
    column-gap: 2rem;
}
.btn,
button {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    line-height: inherit;
    user-select: none;
    white-space: nowrap;
}
.btn {
    background: var(--button-color);
    border-radius: 2rem;
    color: #fff;
    display: inline-block;
    font-size: 0.9375rem;
    text-align: center;
    transition: background-color 0.25s;
    text-decoration: none;
    margin-block: 0 1.65rem;
    padding-block: 0.35em 0.35em;
    padding-inline: 1em;
    padding:0.7rem 1.2rem;
}
.btn.btn-current,
.btn:focus,
.btn:hover {
    background: var(--primary-color-dark);
}
.btn.btn-current {
    cursor: default;
}
.btn svg {
    fill: #fff;
    margin-inline: 0.35em;
    block-size: 1em;
    inline-size: 1em;
    position: relative;
    inset-block-start: -0.1em;
}
.btn-secondary {
    background: #fff;
    border:3px solid var(--button-color);
    color: var(--button-color);
}
.btn-secondary:focus,
.btn-secondary:hover {
    background: #efefef;
}
.btn-gray {
    background-color: var(--gray);
}
.btn-gray:focus,
.btn-gray:hover {
    background: var(--gray-dark);
}
.site-footer .btn {
    font-size: 0.875rem;
}
.btn-unstyled {
    background: var(--background-color);
    color: var(--text-color);
}
.btn svg:last-child {
    margin-inline-end: -0.35em;
}
.btn svg:first-child {
    margin-inline-start: -0.35em;
}
.btn.btn-tooltip {
    background: #555;
    margin-block-end: 0;
    padding-block: 0 0.1em;
    padding-inline: 0.75em;
}
.btn.btn-tooltip:focus,
.btn.btn-tooltip:hover,
.btn.btn-tooltip[aria-expanded=true] {
    background: #444;
}
.btn-tooltip.block {
    display: block;
    margin-block-end: 1.65rem;
}
td .btn.btn-tooltip {
    font-size: 1em;
}
a.btn,
a.btn:active {
    text-decoration: none;
}
.btn-block.download {
    padding-inline-end: 0.75em;
}
.btn-block .download-size {
    opacity: 0.8;
}
.btn a {
    color: #fff;
    text-decoration: none;
}
.btn a svg:last-child {
    margin-inline-end: 0;
}
.btn a svg:first-child {
    margin-inline-start: 0;
}
.btn-copy {
    margin-block-end: 0;
    transition: background-color 0.3s ease-in-out;
}
.btn-copy:focus,
.btn-copy:hover {
    background: var(--background-tint-dark);
}
.btn-copy.is-active,
.btn-copy:active {
    background: var(--primary-color);
    color: #fff;
}
.btn-copy.is-active svg,
.btn-copy:active svg {
    fill: #fff;
}
form {
    font-family: inherit !important;
}
.form-field {
    margin-block-end: 1rem;
    min-inline-size: 13rem;
}
.form-field label {
    color: var(--primary-color);
    display: block;
    font-size: 0.8125rem;
}
.form-field input {
    background: var(--background-color);
    border: 1px solid var(--border-color);
    border-radius: 0.25em;
    color: var(--text-color);
    font-family: inherit !important;
    font-size: 16px;
    letter-spacing: 0.02em;
    min-inline-size: 100%;
    padding-inline: 0.35rem;
    padding-block: 0.35rem;
}
.login-template main {
    block-size: 100vh;
}
.login-template .login-container {
    background: var(--background-color);
    border-radius: 0.25em;
    display: inline-block;
    margin-block-start: 4rem;
    margin-inline: auto;
    padding-inline: 1rem;
    padding-block: 1rem;
}
.login-template .login-container .btn {
    font-size: 0.8125rem;
    margin-block-end: 0;
}
@media(max-width: 48em) {
    .login-template .base-grid-column {
        display: flex;
        justify-content: center;
        align-items: flex-start;
    }
}
dialog {
    background: var(--background-color);
    border: 0;
    border-radius: 0.25em;
    box-shadow: 0 0 3rem rgba(0,0,0,.25);
    color: inherit;
    max-inline-size: 30em;
    padding-inline: 1rem;
    padding-block-start: 2rem;
}
dialog[open] {
    animation: fade-in 0.3s ease-in;
}
dialog::backdrop {
    background: var(--alpha);
    -webkit-backdrop-filter:blur(4px);
    backdrop-filter:blur(4px);
}
.dialog-content {
    overflow-y: scroll;
}
.dialog-content:first-child {
    margin-block-start: 0;
}
.close-wrapper {
    background: var(--background-tint-light);
    position: sticky;
    inset-block-end: -1rem;
    margin-inline: -1rem;
    margin-block-end: -1rem;
    padding-inline-end: 1rem;
    align-items: center;
    display: flex;
    justify-content: flex-end;
}
.btn-modal-close {
    background: var(--gray);
    margin-block: 1rem;
}
.btn-modal-close:focus,
.btn-modal-close:hover {
    background: #555;
}
.modal-active {
    overflow: hidden;
}
@keyframes fade-in {
    0% {
        opacity: 0;
        transform: scale(0.75);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}
.theme-dark dialog {
    border: 1px solid var(--border-color);
    box-shadow: 0 0 4rem rgba(255,255,255,.25);
}
.site-footer {
    padding-block-start: 1rem;
    position: relative;
    border-top:3px solid var(--primary-color);
}
.site-footer .logo {
    margin-block-end: 1.65rem;
}
.footer-nav,
.footer-nav-heading {
    font-size: 0.875rem;
}
.footer-nav-heading {
    margin-block: 0 0.5rem;
    line-height: 1.3;
}
.footer-nav-heading a {
    color: var(--primary-color);
}
.footer-nav {
    flex: 1 1 50%;
    display: flex;
    justify-content: space-between;
    padding-block-start: 0.25em;
    margin-block-end: 1.65rem;
    gap: 1.5rem;
}
.footer-nav-item {
    flex: 1 1 33%;
}
.footer-nav-item ul {
    line-height: 1.3;
}
.footer-nav-item li {
    margin-block-end: 0.825rem;
}
.copyrights {
    font-size: 13px;
}
@media(min-width: 56em) {
    .site-footer .content {
        display: flex;
        gap: 2rem;
    }
    .site-footer .text {
        flex: 1 1 50%;
        font-size: 0.875rem;
    }
    .footer-nav ul,
    .footer-nav-heading {
        font-size: 0.8rem;
    }
    .site-footer-nav {
        flex: 1 1 50%;
    }
}
.stop-transition-on-resize {
    transition: none;
}
.site-header {
    padding-block: 1rem 1.65rem;

}
.menu-wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}
.utilities {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-inline-start: auto;
}
.languages ul {
    display: flex;
    align-items: center;
    font-size: 13px;
    letter-spacing: 0.08rem;
    text-transform: uppercase;
}
.languages li {
    margin-inline-end: 1em;
}
.languages a {
    padding-block: 0.5em;
}
.languages abbr[title] {
    border: 0;
    cursor: pointer;
    text-decoration: none;
}
.theme {
    margin-inline-end: 3rem;
}
.icon-theme-light {
    display: none;
}
.theme-dark .icon-theme-light {
    display: unset;
}
.theme-dark .icon-theme-dark {
    display: none;
}
.theme-btn svg:first-child,
.theme-btn svg:last-child {
    margin-inline: 0;
}
.login-btn,
.logout-btn,
.menu-btn,
.theme-btn {
    display: flex;
    padding-block: 0.5em;
    background: rgba(0,0,0,0);
    margin-block: 0;
}
.login-btn:focus,
.login-btn:hover,
.logout-btn:focus,
.logout-btn:hover,
.menu-btn:focus,
.menu-btn:hover,
.theme-btn:focus,
.theme-btn:hover {
    background: rgba(0,0,0,0);
}
.login-btn svg,
.logout-btn svg,
.menu-btn svg,
.theme-btn svg {
    fill: var(--text-color);
    margin-inline: 0;
    align-self: center;
    inline-size: 20px;
    block-size: 20px;
}
.theme-btn:focus svg,
.theme-btn:hover svg {
    fill: var(--primary-color);
}
.theme-btn:active svg {
    fill: var(--text-color);
}
.menu-btn {
    position: absolute;
    z-index: 150;
}
.menu-btn .icon-close {
    display: none;
}
.menu-btn.is-active .icon-close {
    display: unset;
}
.menu-btn.is-active .icon-menu {
    display: none;
}


    .menu-wrapper {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        column-gap: 1rem;
        align-items: center;
    }
    .brand {
        grid-column: 1/4;
    }
    .utilities {
        grid-column: 5/13;
    }
    .theme {
        margin-inline-end: 0;
    }
    .menu-btn {
        display: none;
    }
    #menu {
        grid-column: 2/10;
        grid-row: 1;
        padding-block: 0;
        padding-inline: 0;
    }
    #menu ul {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        margin-block-end: 0;
    }
    #menu li {
        margin-block-end: 0;
        margin-inline-end: 1.5rem;
    }
    #menu li:last-child {
        margin-inline-end: 0;
    }

.submenu-heading {
    font-size: 0.875rem;
    margin-block: 0 0.5rem;
}
.submenu-heading a {
    text-decoration-color: rgba(0,0,0,0);
}
.submenu-heading a:focus,
.submenu-heading a:hover {
    text-decoration-color: var(--primary-color);
}
.submenu {
    font-size: 0.8125rem;
}
.submenu ul {
    border: solid var(--border-color);
    border-start-start-radius: 0.25em;
    border-width: 1px 0 0 1px;
}
.submenu ul ul {
    border: 0;
}
.submenu ul a {
    display: inline-block;
    line-height: 1.3;
    padding-block: 0.5em;
    padding-inline: 1em 0.5em;
    text-decoration: none;
    position: relative;
}
.submenu ul a:focus,
.submenu ul a:hover {
    background-color: var(--background-color);
}
.submenu ul a:active {
    background-color: var(--background-tint-light);
}
.submenu ul .current {
    background-color: var(--background-color);
    font-weight: bold;
}
.submenu .depth-2:first-of-type a {
    border-start-start-radius: 0.25em;
}
.submenu .depth-3 a {
    padding-inline-start: 1.5em;
}
.submenu .depth-4 a {
    padding-inline-start: 2em;
}
.submenu .depth-5 a {
    padding-inline-start: 2.5em;
}
.submenu .depth-6 a {
    padding-inline-start: 3em;
}
.submenu .depth-7 a {
    padding-inline-start: 3.5em;
}
.submenu .depth-8 a {
    padding-inline-start: 4em;
}
.submenu-triangle {
    position: relative;
    inset-block-start: 0.25em;
}
@media(min-width: 48em) {
    .submenu ul a {
        display: block;
    }
}
.breadcrumbs ol {
    display: flex;
    flex-wrap: nowrap;
    font-size: 0.6rem;
    margin-block-end: 3.3rem;
    overflow-x: scroll;
    white-space: nowrap;
}
.breadcrumbs li::after {
    color: var(--primary-color);
    content: "|";
    margin-inline: 0.35em 0.5em;
}
.breadcrumbs li:last-child::after {
    content: "";
}
.prev-next-page {
    margin-block-start: 3.3rem;
}
.prev-next-page ul {
    font-size: 0.875rem;
    display: grid;
    grid-template-columns: 1fr 2rem 1fr;
    column-gap: 1rem;
    margin-block-end: 0;
}
.prev-next-page a {
    display: flex;
    align-items: flex-start;
}
.prev-next-page .icon {
    fill: var(--primary-color);
    align-self: flex-start;
    padding-block-start: 0.25em;
}
.prev-page {
    grid-column: 1/2;
    inline-size: 100%;
}
.prev-page .icon {
    margin-inline-end: 0.25rem;
}
.top-page {
    grid-column: 2/3;
    align-self: center;
}
.next-page {
    grid-column: 3/4;
    text-align: end;
}
.next-page a {
    justify-content: flex-end;
}
.next-page .icon {
    margin-inline-start: 0.25rem;
}
.top a {
    border-radius: 50%;
    color: var(--text-color);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    text-decoration: none;
    position: relative;
    inset-block-start: -1rem;
}
.pagination {
    margin-block: 1.65rem;
}
.pagination ol {
    display: flex;
    gap: 0.5rem;
}
.tags ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.tags .btn {
    margin-block-end: 0.5rem;
}
.toc {
    font-size: 0.875rem;
}
.toc ol {
    border-block-start: 1px solid var(--border-color);
    columns: auto 2;
    list-style-type: decimal;
    list-style-position: inside;
    padding-block-start: 0.5em;
}
.toc li {
    margin-block-end: 0.5em;
}
.toc::marker {
    color: var(--text-color);
    font-weight: normal;
}
.toc-heading {
    color: var(--text-color);
    font-size: 1em;
    margin-block: 0 0.5em;
}
.toc-has-cover {
    aspect-ratio: 3/2;
    background-image: var(--bg-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 0.25em;
}
.toc-has-cover .toc {
    background: var(--alpha);
    -webkit-backdrop-filter:blur(4px);
    backdrop-filter:blur(4px);
    min-block-size: 100%;
    border-end-start-radius: 0.25em;
    border-start-start-radius: 0.25em;
    max-inline-size: 50%;
    padding-block: 1rem;
    padding-inline: 1rem 2rem;
}
.toc-has-cover ol {
    columns: unset;
}
audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}
figure {
    border-radius: 0.25em;
    margin-block: 0 1.65rem;
    margin-inline: 0;
}
figure img {
    display: block;
}
figure audio,
figure video,
img {
    border: 0;
    border-style: none;
    block-size: auto;
    max-inline-size: 100%;
    aspect-ratio: var(--ar, auto);
    object-fit: var(--fit, contain);
}
.video-block {
    position: relative;
}
.video-block video {
    display: block;
    aspect-ratio: 16/9;
    max-inline-size: 100%;
}
.video-block iframe {
    aspect-ratio: 16/9;
    border: 0;
    border-radius: 0.25em;
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
}
video[poster] {
    object-fit: cover;
}
figcaption {
    font-size: 0.4rem;
    padding-block-start: 0.05rem;
}
.neg-margin {
    margin-inline: -1rem;
}
.neg-margin figcaption {
    padding-inline: 1rem;
}
@media(min-width: 48em) {
    .neg-margin {
        margin-inline: 0;
    }
    .neg-margin figcaption {
        padding-inline: 0;
    }
}
.clearfix::after,
.clearfix::before {
    content: " ";
    display: table;
}
.clear,
.clearfix::after {
    clear: both;
}
.sr-only,
.visually-hidden {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}
.sr-only.focusable:active,
.sr-only.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    white-space: inherit;
    width: auto;
}
.invisible {
    visibility: hidden;
}
.hidden {
    display: none !important;
}
.meta {
    font-size: 0.8125rem;
    margin-block-end: 1rem;
}
.meta li {
    display: inline-block;
}
.meta li::before {
    color: var(--primary-color);
    content: "•";
    margin-inline: 0.2em;
}
.meta li:first-child::before {
    content: "";
    margin-inline: 0;
}
.meta .marker svg {
    fill: var(--primary-color);
    inline-size: 1.1rem;
    block-size: 1.1rem;
}
.meta .tag a {
    margin-inline: 0.2em;
}
.meta .meta-author span::after {
    content: ",";
}
.meta .meta-author span:last-of-type::after {
    content: "";
}
.meta .edited::before {
    content: "| ";
}
@media(min-width: 48em) {
    .page-meta {
        position: relative;
        text-align: center;
    }
    .page-meta li {
        display: block;
    }
    .page-meta li::before {
        content: "";
        margin-inline: 0;
    }
    .page-meta .marker {
        margin-block-end: 0.5rem;
    }
    .page-meta::before {
        color: var(--primary-color);
        content: "•";
        display: block;
        margin-inline-start: -10px;
        position: absolute;
        inset-block-start: -1.25rem;
        inset-inline-start: 50%;
        inline-size: 20px;
    }
    .page-meta .edited {
        display: block;
    }
    .page-meta .edited::before {
        content: "";
    }
    .page-meta.marked::before {
        content: "";
    }
}
.cards {
    display: grid;
    column-gap: 1rem;
}
.marker svg {
    fill: var(--primary-color);
    position: relative;
    inset-block-start: -0.1em;
    inline-size: 1em;
    block-size: 1em;
}
@media(min-width: 23em) {
    .cards {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }
}
@media(min-width: 37em) {
    .cards {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
        column-gap: 1.5rem;
    }
}
.card {
    background-color: var(--card-background);
    box-shadow: var(--box-shadow);
    border-radius: 0.25em;
    max-width: 400px;
    overflow: hidden;
    padding-block: 0 1rem;
    padding-inline: 0.75rem 0.5rem;
    transition: box-shadow 0.2s ease-out 0.4s,transform 0.2s ease-out 0.3s;
}
.card:active,
.card:focus,
.card:hover {
    box-shadow: var(--box-shadow-hover);
    transform: translateY(-3%);
}
.card .link {
    display: flex;
    flex-direction: column;
    block-size: 100%;
    cursor: pointer;
}
.card .cover {
    margin-inline: -0.75rem -0.5rem;
}
.card .heading {
    color: var(--text-color);
    font-size: 1.125rem;
    line-height: 1.315;
    margin-block: 1rem 0.5rem;
}
.card .description {
    font-size: 0.875rem;
    margin-block-end: 0.825rem;
}
.card footer {
    margin-block: auto 0;
}
.card .meta {
    margin-block: 0.5rem 0;
}
.card.cover-end {
    padding-block: 0;
}
.card.cover-end .cover {
    margin-block-start: auto;
    order: 3;
}
.card.cover-end footer {
    order: -3;
    margin-block: 0 0.5rem;
}
.card.cover-under {
    min-block-size: 12rem;
    padding-block: 1rem 2rem;
    padding-inline: 1.75rem 1.5rem;
    position: relative;
}
.card.cover-under .cover {
    position: absolute;
    z-index: 0;
    inset-block: 0 0;
    inset-inline: 0 0;
}
.card.cover-under .cover img {
    object-fit: cover;
    inline-size: 100%;
    block-size: 100%;
}
.card.cover-under .text,
.card.cover-under footer {
    position: relative;
    z-index: 10;
}
.card.cover-under::before {
    background: var(--alpha);
    -webkit-backdrop-filter:blur(4px);
    backdrop-filter:blur(4px);
    border-radius: 0.25em;
    content: "";
    display: block;
    inset-block: 1rem;
    inset-inline: 1rem;
    position: absolute;
    z-index: 1;
}
.article-template .cards {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    column-gap: 1rem;
    margin-block-start: 1.65rem;
}
.article-template .cards .heading {
    margin-block: 0.5rem;
}
.article-template .cards .heading,
.article-template .cards .text {
    font-size: 0.875rem;
    line-height: 1.4;
}
.article-template .cards .meta {
    font-size: 0.8125rem;
    margin-block-start: 0;
}
.splide .card {
    box-shadow: none;
    transition: none;
}
.splide .card:active,
.splide .card:focus,
.splide .card:hover {
    box-shadow: none;
    transform: none;
}
.splide a img {
    box-shadow: none;
    transform: scale(1);
    transform-origin: bottom center;
    transition: transform 0.2s ease-in 0.2s;
}
.splide a:active img,
.splide a:focus img,
.splide a:hover img {
    box-shadow: none;
    transform: scale(1.1);
}
.splide .heading {
    font-size: 0.875rem;
    margin-block: 0.5rem;
}
.article-list-item {
    margin-block-end: 3.3rem;
}
.article-list-item a {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: background-image 0.3s ease-in-out 0.2s;
}
.article-list-item a:active .heading-text,
.article-list-item a:focus .heading-text,
.article-list-item a:hover .heading-text {
    color: var(--primary-color);
    text-decoration: underline;
    text-decoration-color: var(--text-decoration-color);
    text-decoration-thickness: 0.07em;
    text-underline-offset: 0.15em;
    transition: text-decoration 0.2s;
}
.article-list-item .cover img {
    border-radius: 0.25em;
}
.article-list-item .heading {
    font-size: 1.4375rem;
    color: var(--text-color);
    line-height: 1.23;
    margin-block: 1rem 0.5rem;
}
.article-list-item .text,
.article-list-item footer {
    padding-inline: 0.25rem;
}
.article-list-item.cover-end {
    border-block-start: 2px solid var(--border-color);
    padding-block-start: 0.5rem;
}
.article-list-item.cover-end .cover {
    order: 4;
}
.article-list-item.cover-end .heading {
    margin-block-start: 0;
}
.article-list-item.cover-end footer {
    order: -1;
}
@media(min-width: 30em) {
    .article-list-item .link {
        display: grid;
        grid-template-columns: 1fr 2fr;
        grid-template-rows: min-content 1fr;
        column-gap: 1.65rem;
    }
    .article-list-item .cover {
        grid-row: 1/3;
    }
    .article-list-item .cover img {
        object-fit: cover;
        inline-size: 100%;
        block-size: 100%;
    }
    .article-list-item.cover-start {
        border-block-start: 2px solid var(--border-color);
        padding-block-start: 0.5rem;
    }
    .article-list-item.cover-end .link {
        display: grid;
        grid-template-columns: 2fr 1fr;
        column-gap: 1.65rem;
        grid-auto-flow: row;
    }
    .article-list-item.cover-end .cover {
        grid-column: 2/3;
        margin-block-end: 0;
    }
}
.icon-list {
    margin-block: 3.3rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 16px;
    gap: 0.825rem;
}
.icon-list li {
    align-self: center;
}
.icon-list a {
    background-color: var(--background-color);
    border-radius: 50%;
    block-size: 2.5rem;
    inline-size: 2.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.25s;
}
.icon-list a:focus,
.icon-list a:hover {
    background-color: var(--background-tint-dark);
}
.icon-list a:active {
    background-color: var(--background-color);
}
.icon-list svg {
    fill: var(--text-color);
    width: 16px;
    height: 16px;
}
.follow-list a {
    background-color: var(--background-tint-light);
}
.follow-list a:focus,
.follow-list a:hover {
    background-color: var(--background-tint-dark);
}
.follow-list a:active {
    background-color: var(--background-tint-light);
}
.author {
    margin-block: 1.65rem;
    padding-block: 1rem;
    padding-inline: 1rem;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: start;
    background: var(--background-color);
    border-radius: 0.25em;
    font-size: var(--font-size-small);
}
.author-content {
    font-size: 0.875rem;
    padding-inline-start: 1rem;
}
.author-content > :last-child {
    margin-block-end: 0;
}
.author-heading {
    margin-block: 0 0.5em;
    font-size: 1rem;
}
.author-image {
    flex: none;
}
.author-image img {
    block-size: 60px;
    inline-size: 60px;
    border-radius: 50%;
}
.search-content {
    min-height: 100vw;
}
.search-term {
    background-color: var(--background-color);
    border: 1px solid var(--border-color);
    border-radius: 0.25em;
    color: var(--text-color);
    font-size: 1rem;
    font-family: "Source Sans 3",sans-serif;
    padding-inline: 0.75rem;
    padding-block: 0.75rem;
    inline-size: 100%;
}
.search-term:focus,
.search-term:hover {
    background-color: var(--background-color);
}
.search-results .result {
    border-block-start: 4px solid var(--border-color);
    padding-block-start: 0.35em;
}
.search-results a {
    color: var(--text-color);
    text-decoration: none;
}
.search-results h3 {
    margin-block: 0 0.75rem;
}
.search-results p {
    font-size: 0.875rem;
    margin-bottom: 0.825rem;
}
.search-results .cover {
    border-radius: 0.25em;
    float: right;
    inline-size: 100px;
    margin-inline-start: 1em;
}
.search-results .cover img {
    border-radius: 0.25em;
}
.search-results .meta {
    margin-block-end: 0;
}
.search-results .meta li::before {
    margin-inline: 0.2em 0.5em;
}
.search-results .meta li:first-child::before {
    content: "";
    margin-inline: 0;
}
@media(min-width: 30em) {
    .search-results .cover {
        inline-size: 125px;
    }
}
@media(min-width: 50em) {
    .search-results .cover {
        inline-size: 150px;
    }
}
.error-main {
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    height: 100vh;
    justify-content: center;
}
.error-content {
    backdrop-filter:blur(4px);
    background-color: var(--alpha);
    border-radius: 0.25em;
    box-shadow: var(--box-shadow);
    padding-block: 1rem;
    padding-inline: 1rem;
}
.error-content h1 {
    margin-block-start: 0;
}
.cookie-modal {
    position: fixed;
    z-index: 200;
    inset-block-end: 1rem;
    inset-inline-start: 1rem;
    pointer-events: none;
}
.cookie-modal--hidden {
    display: none;
}
.cookie-modal__content {
    border: 1px solid rgba(0,0,0,0);
    border-radius: 0.25em;
    max-width: 25rem;
    padding-inline: 1.65rem;
    padding-block: 1.65rem 2rem;
    box-shadow: var(--box-shadow);
    background-color: var(--background-color);
    pointer-events: auto;
}
.cookie-modal__title {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.333333;
    margin-block: 0 0.75rem;
}
.cookie-modal__title span {
    margin-inline-end: 0.5rem;
}
.cookie-modal__text {
    font-size: 0.875rem;
    line-height: 1.4;
}
.cookie-modal__options {
    margin-bottom: 1.65rem;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.cookie-modal__option {
    font-size: 0.875rem;
    line-height: 1.4;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    cursor: pointer;
    margin-inline-end: 1rem;
    margin-block-end: 1rem;
}
.cookie-modal__option.disabled {
    opacity: 0.5;
}
.cookie-modal__option.disabled svg {
    stroke: var(--background-color);
}
.cookie-modal__checkbox {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    block-size: 1rem;
    border: 2px solid var(--text-color);
    border-radius: 0.25em;
    display: block;
    flex-shrink: 0;
    inline-size: 1rem;
    margin-inline: 0 0.5rem;
    margin-block: 0;
}
.cookie-modal__checkbox:checked {
    background-color: var(--text-color);
}
.cookie-modal__checkbox:checked svg {
    stroke: var(--background-color);
}
.cookie-modal__check {
    position: absolute;
    inset-inline-start: 0;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    inline-size: 1rem;
    block-size: 1rem;
    flex-shrink: 0;
}
.cookie-modal__check svg {
    stroke: var(--background-color);
}
.cookie-modal__buttons {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
}
.cookie-modal__button {
    background: var(--button-color);
    display: block;
    font-size: 0.875rem;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 2rem;
    color: #fff;
    cursor: pointer;
    margin-inline-end: 0.5rem;
    padding-block: 0.35em 0.35em;
    padding-inline: 1em;
    text-decoration: none;
    transition: background-color 0.25s;
}
.cookie-modal__button.primary {
    background: var(--secondary-color);
}
.cookie-modal__button.primary:focus,
.cookie-modal__button.primary:hover {
    background: var(--secondary-color-dark);
}
.cookie-modal__button:focus,
.cookie-modal__button:hover {
    background: var(--primary-color-dark);
    outline: none;
}
.cookie-modal__button.hide {
    display: none;
}
.theme-dark .cookie-modal__content {
    box-sizing: border-box;
    border: 1px solid var(--border-color);
}
.no-cookie-consent {
    background-color: var(--background-tint-dark);
    border-radius: 0.25em;
    margin-block-end: 1.65rem;
    padding-block: 1rem;
    padding-inline: 1rem;
}
.no-cookie-consent .btn {
    margin-block-end: 1rem;
}
.privacy-cookies .edit-cookie,
.privacy-cookies a {
    font-size: 0.8125rem;
}
.privacy-cookies .edit-cookie {
    color: var(--primary-color);
    margin-block: 0;
    margin-inline-start: 0.5rem;
    padding-inline: 0;
    text-decoration: underline;
    text-decoration-color: var(--primary-color);
    text-decoration-thickness: 0.07em;
    text-underline-offset: 0.15em;
    transition: text-decoration-color 0.2s;
}
.privacy-cookies .edit-cookie:focus,
.privacy-cookies .edit-cookie:hover {
    background: none;
    text-decoration-color: rgba(0,0,0,0);
}
.privacy-cookies .edit-cookie:active {
    text-decoration-color: var(--primary-color);
}
.tippy-box[data-animation=fade][data-state=hidden] {
    opacity: 0;
}
[data-tippy-root] {
    max-width: calc(100vw - 20px);
}
.tippy-box {
    position: relative;
    background-color: #fff;
    color: #fff;
    border-radius: 0.25em;
    font-size: 14px;
    line-height: 1.4;
    outline: 0;
    transition-property: transform,visibility,opacity;
}
.tippy-box table {
    font-size: 14px;
    margin-block-start: 0;
}
.tippy-box code {
    font-size: 12px;
    line-height: 1.4;
    box-sizing: border-box;
    padding-block: 0;
    padding-inline: 0.25em;
}
.tippy-box figure {
    margin-block-end: 0.5em;
}
.tippy-box figcaption {
    font-size: 13px;
}
.tippy-box iframe {
    aspect-ratio: 1/1;
    border: 0;
    display: block;
    inline-size: 100%;
    block-size: auto;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.tippy-box[data-placement^=top] > .tippy-arrow {
    inset-block-end: 0;
}
.tippy-box[data-placement^=top] > .tippy-arrow::before {
    inset-block-end: -7px;
    inset-inline-start: 0;
    border-width: 8px 8px 0;
    border-top-color: initial;
    transform-origin: center top;
}
.tippy-box[data-placement^=bottom] > .tippy-arrow {
    inset-block-start: 0;
}
.tippy-box[data-placement^=bottom] > .tippy-arrow::before {
    inset-block-start: -7px;
    inset-inline-start: 0;
    border-width: 0 8px 8px;
    border-bottom-color: initial;
    transform-origin: center bottom;
}
.tippy-box[data-placement^=left] > .tippy-arrow {
    inset-inline-end: 0;
}
.tippy-box[data-placement^=left] > .tippy-arrow::before {
    border-width: 8px 0 8px 8px;
    border-left-color: initial;
    inset-inline-end: -7px;
    transform-origin: center left;
}
.tippy-box[data-placement^=right] > .tippy-arrow {
    inset-inline-start: 0;
}
.tippy-box[data-placement^=right] > .tippy-arrow::before {
    inset-inline-start: -7px;
    border-width: 8px 8px 8px 0;
    border-right-color: initial;
    transform-origin: center right;
}
.tippy-box[data-inertia][data-state=visible] {
    transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
}
.tippy-arrow {
    inline-size: 16px;
    block-size: 16px;
    color: #333;
}
.tippy-arrow::before {
    content: "";
    position: absolute;
    border-color: rgba(0,0,0,0);
    border-style: solid;
}
.tippy-content {
    position: relative;
    padding-block: 10px 14px;
    padding-inline: 10px;
    z-index: 1;
}
.tippy-content ol,
.tippy-content ul {
    padding-inline-start: 1em;
}
.tippy-content ol,
.tippy-content p,
.tippy-content ul,
.tippy-content ul p {
    margin-block-end: 0;
}
.tippy-content p+ul {
    margin-block-start: 0;
}
.tippy-box[data-animation=scale][data-placement^=top] {
    transform-origin: bottom;
}
.tippy-box[data-animation=scale][data-placement^=bottom] {
    transform-origin: top;
}
.tippy-box[data-animation=scale][data-placement^=left] {
    transform-origin: right;
}
.tippy-box[data-animation=scale][data-placement^=right] {
    transform-origin: left;
}
.tippy-box[data-animation=scale][data-state=hidden] {
    transform: scale(0.8);
    opacity: 0;
}
.tippy-box[data-animation=out][data-state=hidden] {
    opacity: 0;
}
.tippy-box[data-animation=out][data-state=hidden][data-placement^=top] {
    transform: translateY(5px);
}
.tippy-box[data-animation=out][data-state=hidden][data-placement^=bottom] {
    transform: translateY(-5px);
}
.tippy-box[data-animation=out][data-state=hidden][data-placement^=left] {
    transform: translateX(5px);
}
.tippy-box[data-animation=out][data-state=hidden][data-placement^=right] {
    transform: translateX(-5px);
}
.tippy-box[data-animation=in][data-state=hidden] {
    opacity: 0;
}
.tippy-box[data-animation=in][data-state=hidden][data-placement^=top][data-state=hidden] {
    transform: translateY(-5px);
}
.tippy-box[data-animation=in][data-state=hidden][data-placement^=bottom][data-state=hidden] {
    transform: translateY(5px);
}
.tippy-box[data-animation=in][data-state=hidden][data-placement^=left][data-state=hidden] {
    transform: translateX(-5px);
}
.tippy-box[data-animation=in][data-state=hidden][data-placement^=right][data-state=hidden] {
    transform: translateX(5px);
}
.tippy-box[data-theme=light] {
    color: var(--text-color);
    box-shadow: 0 0 2em rgba(0,0,0,.25);
    background-color: var(--background-color);
}
.tippy-box[data-theme=light][data-placement^=top] > .tippy-arrow::before {
    border-top-color: var(--background-color);
}
.tippy-box[data-theme=light][data-placement^=bottom] > .tippy-arrow::before {
    border-bottom-color: var(--background-color);
}
.tippy-box[data-theme=light][data-placement^=left] > .tippy-arrow::before {
    border-left-color: var(--background-color);
}
.tippy-box[data-theme=light][data-placement^=right] > .tippy-arrow::before {
    border-right-color: var(--background-color);
}
.tippy-box[data-theme=light] > .tippy-backdrop {
    background-color: var(--background-color);
}
.tippy-box[data-theme=light] > .tippy-svg-arrow {
    fill: var(--background-color);
}
.theme-dark .tippy-box[data-theme=light] {
    background-color: var(--background-color);
    box-shadow: 0 0 2.5rem rgba(255,255,255,.2);
}
.table-wrapper {
    margin-block: 1.65rem;
    overflow-x: auto;
}
.table-inner {
    border: 1px solid var(--border-color);
    border-radius: 0.25em;
    display: inline-block;
    overflow: hidden;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 0.875rem;
    line-height: 1.3;
    table-layout: auto;
    text-align: right;
}
table ol,
table ul {
    margin-block-end: 0;
}
.align-right table {
    text-align: unset;
}
caption {
    font-weight: bold;
    font-size: 1rem;
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
    text-align: left;
}
th {
    word-wrap: break-word;
}
td,
th {
    padding-inline: 0.5rem;
    padding-block: 0.5rem;
    vertical-align: top;
}
td figure {
    display: inline-block;
    margin-block-end: 0;
}
[scope=row],
thead th:first-child {
    text-align: left;
}
[scope=row] {
    padding-inline-end: 1rem;
}
tr {
    border-block-start: 1px solid;
    border-color: var(--border-color);
}
tbody > tr:last-child > * {
    padding-block-end: 1rem;
}
thead tr {
    border-color: var(--border-color);
}
.fz-small table {
    font-size: 0.8125rem;
}
.no-wrap td,
.no-wrap th {
    white-space: nowrap;
}
.align-left tbody,
.align-left thead {
    text-align: left;
}
.align-center tbody,
.align-center thead {
    text-align: center;
}
.zebra-columns col:nth-child(even),
.zebra-rows tbody tr:nth-child(odd) {
    background-color: var(--background-color);
}
.table-bg-image {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    margin-inline: -1rem;
    overflow-x: auto;
}
.table-bg-image .table-inner {
    background-color: var(--alpha);
    backdrop-filter:blur(4px);
    border: 0;
    border-radius: 0;
    margin-block: 3.3rem;
    margin-inline: 1.65rem;
}
.table-bg-image caption {
    background-color: var(--alpha);
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}
.table-bg-image td,
.table-bg-image th {
    border-color: var(--border-color);
}
.table-bg-image.zebra-columns col:nth-child(even),
.table-bg-image.zebra-rows tbody tr:nth-child(odd) {
    background-color: var(--alpha);
}
@media(min-width: 48em) {
    .table-bg-image {
        border-radius: 0.25em;
        margin-inline: 0;
    }
}
blockquote {
    background: var(--background-color);
    box-shadow: 0 0 0.5em rgba(0,0,0,.025);
    margin-block: 1.65rem;
    margin-inline: 0;
    padding-block: 2.25rem 1.65rem;
    padding-inline: 2rem 0.5rem;
    position: relative;
}
blockquote p {
    font-size: 1.15rem;
}
blockquote footer {
    font-size: 0.8125rem;
}
.quote-inner::before,
blockquote::before {
    color: var(--text-color);
    content: "“ ";
    font-size: 3rem;
    font-weight: normal;
    line-height: 1;
    position: absolute;
    inset-block-start: 0.25em;
    inset-inline-start: 0.3em;
    z-index: 1;
}
.quote-inner:last-child {
    margin-block-end: 0;
}
.blockquote-column {
    clear: both;
}
.blockquote-left,
.blockquote-right {
    border-radius: unset;
    padding-inline-start: 1rem;
    width: 45%;
}
.blockquote-left p,
.blockquote-right p {
    font-size: 1rem;
}
.blockquote-right {
    border-start-start-radius: 0.25em;
    border-end-start-radius: 0.25em;
    border-width: 1px 0 0 1px;
    float: right;
    margin-block: 0 1rem;
    margin-inline: 1rem -1rem;
}
.blockquote-left {
    border-start-end-radius: 0.25em;
    border-end-end-radius: 0.25em;
    border-width: 1px 1px 0 0;
    float: left;
    margin-block: 0 1rem;
    margin-inline: -1rem 1rem;
}
.blockquote-column.has-bg-image {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    margin-inline: -1rem;
    margin-block-end: 1.65rem;
    padding-inline: 2rem;
    padding-block: 2rem;
    position: relative;
}
.blockquote-column.has-bg-image::before {
    content: "";
}
.blockquote-column.has-bg-image .quote-inner {
    background: var(--alpha);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    border-radius: 0.25em;
    padding-block: 2.25rem 1.65rem;
    padding-inline: 2rem 0.5rem;
    position: relative;
    z-index: 10;
}
.blockquote-column.has-bg-image .quote-inner::before {
    position: absolute;
    inset-block-start: 0.25em;
    inset-inline-start: 0.3em;
    z-index: 11;
}
@media(min-width: 48em) {
    blockquote {
        border-radius: 0.25em;
    }
    .blockquote-left {
        border-start-start-radius: 0.25em;
        border-end-start-radius: 0.25em;
        margin-inline-start: 0;
    }
    .blockquote-right {
        border-start-end-radius: 0.25em;
        border-end-end-radius: 0.25em;
        margin-inline-end: 0;
    }
    .blockquote-column.has-bg-image {
        margin-inline: 0;
    }
}
aside {
    background-color: var(--background-color);
    box-shadow: 0 0 0.5em rgba(0,0,0,.025);
    border-start-start-radius: 0.25em;
    border-start-end-radius: 0.25em;
    border-end-start-radius: 0.25em;
    border-end-end-radius: 0.25em;
    clear: both;
    font-size: 0.875rem;
    margin-block: 1.65rem;
    padding-inline: 1rem;
    padding-block: 1rem;
}
aside figure,
aside p {
    margin-block-end: 0.825rem;
}
aside h2 {
    margin-block-start: 0;
}
aside figcaption {
    font-size: 0.8125rem;
}
aside:last-child {
    margin-block-end: 0;
}
.aside-left,
.aside-right {
    margin-block: 0 0.5rem;
    width: 45%;
    padding-inline: 0.5rem;
    padding-block: 0.5rem;
}
.aside-left {
    border-start-start-radius: 0;
    border-end-start-radius: 0;
    float: left;
    margin-inline: -1rem 1rem;
}
.aside-right {
    border-start-end-radius: 0;
    border-end-end-radius: 0;
    float: right;
    margin-inline: 1rem -1rem;
}
@media(min-width: 48em) {
    .aside-left {
        border-start-start-radius: 0.25em;
        border-end-start-radius: 0.25em;
        margin-inline-start: 0;
    }
    .aside-right {
        border-start-end-radius: 0.25em;
        border-end-end-radius: 0.25em;
        margin-inline-end: 0;
    }
}
.accordion {
    border-block-end: 1px solid var(--border-color);
}
.accordion details {
    margin-block-end: 0;
    padding-block-start: 0;
}
.accordion summary {
    cursor: pointer;
    position: relative;
}
.accordion details > summary {
    list-style: none;
}
.accordion details > summary::-webkit-details-marker,
.accordion details > summary::marker {
    display: none;
}
.accordion .content {
    padding: 1rem;
}
.accordion-header {
    background: var(--background-color);
    color: var(--text-color);
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    margin-block: 0;
    padding-block: 0.5rem;
    padding-inline: 0;
}
.accordion-icon {
    fill: var(--primary-color);
    inset-block-start: 0.5rem;
    inset-inline: auto 0.5rem;
    position: absolute;
    transform-origin: center;
    transition: transform 0.2s ease-in;
}
details[open] .accordion-icon {
    transform: rotate(180deg);
}
.ck-audio figcaption,
.ck-video figcaption {
    background-color: var(--alpha);
    backdrop-filter:blur(10px);
    border-start-start-radius: 0.25em;
    border-start-end-radius: 0.25em;
    line-height: 1.4;
    margin-block-end: 2rem;
    padding-block: 1rem;
    padding-inline: 0.5rem;
    text-align: center;
}
.ck-audio figcaption p,
.ck-video figcaption p {
    margin-block-end: 0;
}
.ck-audio .title,
.ck-video .title {
    color: var(--text-color);
    font-size: 1rem;
    margin-block-end: 0;
}
.ck-video {
    display: grid;
    grid-template-rows: repeat(3, auto);
    grid-row: 3;
    aspect-ratio: var(--ar, auto);
    object-fit: var(--fit, cover);
    overflow: hidden;
    position: relative;
}
.ck-video video {
    grid-column: 1/3;
    grid-row: 1/4;
    border: 0;
    block-size: 100%;
    inline-size: 100%;
    object-fit: cover;
}
.ck-video figcaption {
    grid-column: 1/3;
    grid-row: 1/2;
    opacity: 1;
    transition: opacity 0.25s linear 0.3s,transform 0.35s ease-in 0.3s;
    z-index: 10;
}
.ck-audio {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    aspect-ratio: var(--ar, auto);
    display: flex;
    flex-direction: column;
}
.ck-audio-controls,
.ck-video-controls {
    background-color: var(--background-tint-light);
    backdrop-filter:blur(10px);
    color: var(--controls-text);
    border-radius: 0.25em;
    display: grid;
    align-items: center;
    gap: 0.5rem;
    margin-block: auto 0.75rem !important;
    margin-inline: 0.5rem;
    padding-inline: 0.5rem;
    padding-block: 0.35rem;
}
.ck-audio-controls .ck-timer,
.ck-video-controls .ck-timer {
    font-size: 13px;
    white-space: nowrap;
}
.ck-audio-controls .divider,
.ck-audio-controls .time,
.ck-video-controls .divider,
.ck-video-controls .time {
    display: none;
}
.ck-audio-controls .ck-volume,
.ck-video-controls .ck-volume {
    display: none;
}
.ck-video-controls {
    grid-row: 3/4;
    grid-column: 1/3;
    grid-template-columns: min-content 4fr min-content min-content min-content;
    transition: opacity 0.25s linear 0.3s,transform 0.35s ease-in 0.3s;
    z-index: 10;
}
video[poster] {
    grid-column: 1/3;
    grid-row: 1/4;
    object-fit: cover;
}
.ck-audio-controls {
    grid-template-columns: min-content 2.5fr min-content min-content;
    margin-block-start: auto;
}
@container (min-width: 25em) {
    .ck-audio-controls .divider,
    .ck-audio-controls .time,
    .ck-video-controls .divider,
    .ck-video-controls .time {
        display: unset;
    }
    .ck-audio-controls .ck-volume,
    .ck-video-controls .ck-volume {
        display: flex;
    }
    .ck-video-controls {
        grid-template-columns: min-content 4fr min-content min-content 1.5fr min-content;
    }
    .ck-audio-controls {
        grid-template-columns: min-content 2.5fr min-content min-content 1fr;
    }
}
.ck-video-is-playing .ck-video-controls {
    transform: translateY(100%);
    opacity: 0;
}
.ck-video-is-playing figcaption {
    transform: translateY(-100%);
    opacity: 0;
}
.ck-video-is-playing:active .ck-video-controls,
.ck-video-is-playing:active .ck-video-controls.show-me,
.ck-video-is-playing:hover .ck-video-controls,
.ck-video-is-playing:hover .ck-video-controls.show-me {
    transform: translateY(0);
    opacity: 1;
}
:fullscreen video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ck-audio-btn,
.ck-media-btn {
    background-color: var(--background-color);
    display: flex;
    justify-content: center;
    align-items: center;
    inline-size: 1.5rem;
    block-size: 1.5rem;
    border-radius: 1.5rem;
    padding-inline: 0;
    padding-block: 0;
}
.ck-audio-btn svg,
.ck-media-btn svg {
    flex: 0 0 1.125rem;
    fill: var(--controls-text);
}
.ck-audio-btn:hover svg,
.ck-media-btn:hover svg {
    fill: var(--primary-color);
}
.theme-dark .ck-media-btn {
    background-color: #111;
}
.ck-btn-play-pause.is-active .icon-play,
.ck-btn-play-pause:not(.is-active) .icon-pause {
    display: none;
}
.ck-btn-mute.is-active .icon-volume-on,
.ck-btn-mute:not(.is-active) .icon-volume-off {
    display: none;
}
.ck-audio-is-playing .ck-btn-mute.is-active svg,
.ck-video-is-playing .ck-btn-mute.is-active svg {
    animation: pulsate-background 2.5s infinite;
}
@keyframes pulsate-background {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.6;
    }
    100% {
        opacity: 1;
    }
}
.ck-progress {
    block-size: 5px;
    cursor: pointer;
    position: relative;
}
.ck-progress-bar {
    background-color: var(--background-tint-dark);
    block-size: inherit;
    border-radius: 5px;
}
.ck-progress-bar::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 auto 0 0;
    background-color: var(--primary-color);
    border-radius: inherit;
    inline-size: var(--progress-width, 0);
    transition: inline-size 0.1s linear;
    z-index: 1;
}
.ck-volume-slider {
    background-color: rgba(0,0,0,0);
    cursor: pointer;
    inline-size: 100%;
    appearance: none;
    -webkit-appearance: none;
}
.ck-volume-slider:focus {
    outline: none;
}
.ck-volume-slider::-moz-range-thumb {
    background-color: var(--background-color);
    border: 2px solid var(--primary-color);
    border-radius: 10px;
    block-size: 10px;
    inline-size: 10px;
}
.ck-volume-slider::-moz-range-progress,
.ck-volume-slider::-moz-range-track {
    background-color: var(--primary-color);
    border: none;
    block-size: 5px;
    border-radius: 5px;
}
.ck-volume-slider::-moz-range-track {
    background-color: var(--background-tint-dark);
}
.ck-volume-slider:active::-moz-range-thumb,
.ck-volume-slider:focus::-moz-range-thumb,
.ck-volume-slider:hover::-moz-range-thumb {
    background-color: var(--primary-color-light);
}
.ck-volume-slider::-webkit-slider-thumb {
    background-color: var(--background-color);
    border: 2px solid var(--primary-color);
    border-radius: 14px;
    block-size: 16px;
    inline-size: 16px;
    margin-block-start: -5px;
    -webkit-appearance: none;
}
.ck-volume-slider::-webkit-slider-runnable-track {
    background-color: var(--primary-color);
    border: none;
    block-size: 5px;
    border-radius: 5px;
}
.ck-volume-slider:active::-webkit-slider-thumb,
.ck-volume-slider:focus::-webkit-slider-thumb,
.ck-volume-slider:hover::-webkit-slider-thumb {
    background-color: var(--primary-color-light);
}
.icon-block {
    aspect-ratio: var(--ar, auto);
    background: var(--primary-color-light);
    border-radius: 0em;
    display: flex;
    justify-content: space-between;
    margin-block: 3.3rem;
    max-inline-size: 100%;
    padding-inline: 1rem;
    padding-block: 1.65rem;
    position: relative;
}
.icon-block .icon svg {
    fill: var(--primary-color);
    block-size: 1.5rem;
    inline-size: 1.5rem;
}
.icon-block .icon-inner {
    align-items: center;
    background: var(--background-tint-light);
    -webkit-backdrop-filter:blur(4px);
    backdrop-filter:blur(4px);
    block-size: 2.75rem;
    border-radius: 50%;
    display: flex;
    inline-size: 2.75rem;
    justify-content: center;
}
.icon-block .content:last-child {
    margin-block-end: 0;
}
.icon-block h2:first-of-type {
    margin-block-start: 0;
}
.multi-cols .icon-block {
    aspect-ratio: auto !important;
}
.icon-blocks-secondary .icon svg {
    fill: var(--secondary-color);
}
.ib-content-wrapper {
    display: flex;
    flex-direction: column;
    inline-size: 100%;
}
.ib-content-wrapper.icon-center {
    align-items: center;
    text-align: center;
}
.ib-content-wrapper.icon-center .content {
    margin-block-start: 1rem;
}
.ib-content-wrapper.icon-left .content {
    margin-block-start: 1rem;
}
.ib-content-wrapper.icon-right {
    align-items: flex-end;
}
.content-center .ib-content-wrapper {
    margin-block: auto;
}
.content-start .ib-content-wrapper {
    margin-block-end: auto;
}
.content-end .ib-content-wrapper {
    margin-block-start: auto;
}
.icon-block.has-bg-image img {
    border-radius: 0.25em;
    position: absolute;
    inset: 0;
    object-fit: cover;
    block-size: 100%;
    inline-size: 100%;
}
.icon-block.has-bg-image .content {
    background: var(--alpha);
    -webkit-backdrop-filter:blur(4px);
    backdrop-filter:blur(4px);
    border-radius: 0.25em;
    margin-block-start: 1rem;
    padding-inline: 1rem;
    padding-block: 1rem;
}
.theme-dark .icon-block.has-bg-image img {
    filter:brightness(0.9)
}
.grid-column .icon-block {
    block-size: 100%;
    margin-block: 0;
}
.kt-icon {
    display: inline-block;
}
.kt-icon a {
    text-decoration: none;
}
.kt-icon svg {
    fill: var(--primary-color);
    margin-inline: 0.15em;
    position: relative;
    top: -0.125em;
}
.kt-icon.btn svg {
    fill: #fff;
}
.kt-icon.btn:active svg,
.kt-icon.btn:focus svg,
.kt-icon.btn:hover svg {
    fill: #fff;
}
.icon-s svg {
    block-size: 0.875rem;
    inline-size: 0.875rem;
}
.icon-m svg {
    block-size: 1.25rem;
    inline-size: 1.25rem;
}
.icon-l svg {
    block-size: 1.5rem;
    inline-size: 1.5rem;
}
.icon-xl svg {
    block-size: 2rem;
    inline-size: 2rem;
}
.icon-xxl svg {
    block-size: 2.5rem;
    inline-size: 2.5rem;
}
.list.has-mark ul::marker {
    content: var(--mark);
    font-family: system-ui;
    font-weight: 500;
}
.list.has-mark ul li {
    padding-inline-start: 0.5rem;
}
.list.no_marbs ol,
.list.no_marbs ul {
    margin-block-start: -1.65rem;
}
.list.no_marbs ol ol,
.list.no_marbs ol ul,
.list.no_marbs ul ol,
.list.no_marbs ul ul {
    margin-block: 0;
}
.list.spacing li {
    margin-block-end: 0.5rem;
}
.list.spacing ol ol,
.list.spacing ol ul,
.list.spacing ul ol,
.list.spacing ul ul {
    margin-block-start: 0.5rem;
}
.list.spacing > ul {
    margin-block-end: 2.475rem;
}
.list.spacing.no_marbs > ol,
.list.spacing.no_marbs > ul {
    margin-block-start: -1rem;
}
.list.small ol,
.list.small ul {
    font-size: 0.875rem;
}
.gallery {
    display: grid;
    gap: 0.4rem;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    margin-block: 1.65rem;
    text-align: center;
}
.gallery a {
    cursor: zoom-in;
    display: block;
    text-decoration: none;
    opacity: 1;
    position: relative;
    transition: opacity 0.25s;
}
.gallery a:focus img,
.gallery a:hover img {
    transform: scale(1.1);
}
.gallery a:active img {
    transform: scale(1);
}
.gallery figure {
    overflow: hidden;
}
.gallery img {
    transition: transform 0.25s ease-in 0.25s;
    transform-origin: center bottom;
}
.gallery figcaption {
    font-size: 0.8125rem;
    line-height: 1.4;
    padding-inline: 0.5em;
    padding-block-end: 0.5em;
}
.gallery p {
    margin-block-end: 0;
}
.lightbox-img > a,
.spotlight a {
    cursor: zoom-in;
    display: block;
    position: relative;
}
.lightbox-img.expand-icon::after,
.spotlight.expand-icon::after {
    background: #fff;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0cHgiIGZpbGw9IiMwMDAwMDAiPjxyZWN0IGZpbGw9Im5vbmUiIGhlaWdodD0iMjQiIHdpZHRoPSIyNCIvPjxwb2x5Z29uIHBvaW50cz0iMjEsMTEgMjEsMyAxMywzIDE2LjI5LDYuMjkgNi4yOSwxNi4yOSAzLDEzIDMsMjEgMTEsMjEgNy43MSwxNy43MSAxNy43MSw3LjcxIi8+PC9zdmc+");
    background-repeat: no-repeat;
    background-size: 0.75em;
    background-position: center;
    border-radius: 0.2em;
    block-size: 1em;
    content: "";
    inline-size: 1em;
    inset-block-end: 0.25em;
    inset-inline-end: 0.25em;
    transition: opacity 0.25s ease-in;
    opacity: 0.75;
    position: absolute;
    z-index: 1;
}
.expand-icon:hover::after {
    opacity: 1;
}
.gallery-panel {
    background-color: var(--background-color);
    box-shadow: 0 0 0.5em rgba(0,0,0,.05);
    border-radius: 0.25em;
    margin-inline: -0.5rem;
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
}
@media(min-width: 56em) {
    .gallery-panel {
        margin-inline: 0;
    }
}
@keyframes splide-loading {
    0% {
        transform: rotate(0);
    }
    to {
        transform: rotate(1turn);
    }
}
.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.splide__track--fade > .splide__list > .splide__slide {
    margin: 0 !important;
    opacity: 0;
    z-index: 0;
}
.splide__track--fade > .splide__list > .splide__slide.is-active {
    opacity: 1;
    z-index: 1;
}
.splide--rtl {
    direction: rtl;
}
.splide__track--ttb > .splide__list {
    display: block;
}
.splide__container {
    box-sizing: border-box;
    position: relative;
}
.splide__list {
    backface-visibility: hidden;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
}
.splide.is-initialized:not(.is-active) .splide__list {
    display: block;
}
.splide__pagination {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    pointer-events: none;
}
.splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto;
}
.splide:not(.is-overflow) .splide__pagination {
    display: none;
}
.splide__progress__bar {
    width: 0;
}
.splide {
    position: relative;
    visibility: hidden;
}
.splide.is-initialized,
.splide.is-rendered {
    visibility: visible;
}
.splide__slide {
    backface-visibility: hidden;
    box-sizing: border-box;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    list-style-type: none !important;
    margin: 0;
    position: relative;
}
.splide__slide img {
    vertical-align: bottom;
}
.splide__spinner {
    animation: splide-loading 1s linear infinite;
    border: 2px solid #999;
    border-left-color: rgba(0,0,0,0);
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
}
.splide__sr {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
    display: none;
}
.splide__toggle.is-active .splide__toggle__pause {
    display: inline;
}
.splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0;
}
.splide {
    --splide-progress-bar: var(--primary-color);
    --splide-pagination: #999;
    --splide-pagination-active: #333;
    --splide-slide-active: #000;
}
.theme-dark .splide {
    --splide-pagination: #828282;
    --splide-pagination-active: #eee;
    --splide-slide-active: #fff;
}
.splide__container {
    box-sizing: border-box;
    position: relative;
}
.splide__list {
    backface-visibility: hidden;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
}
.splide.is-initialized:not(.is-active) .splide__list {
    display: block;
}
.splide__pagination {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    pointer-events: none;
}
.splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto;
}
.splide:not(.is-overflow) .splide__pagination {
    display: none;
}
.splide__progress__bar {
    width: 0;
}
.splide {
    position: relative;
    visibility: hidden;
}
.splide.is-initialized,
.splide.is-rendered {
    visibility: visible;
}
.splide__slide {
    backface-visibility: hidden;
    box-sizing: border-box;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    list-style-type: none !important;
    margin: 0;
    position: relative;
}
.splide__slide img {
    vertical-align: bottom;
}
.splide__spinner {
    animation: splide-loading 1s linear infinite;
    border: 2px solid #999;
    border-left-color: rgba(0,0,0,0);
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
}
.splide__sr {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
    display: none;
}
.splide__toggle.is-active .splide__toggle__pause {
    display: inline;
}
.splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0;
}
@keyframes splide-loading {
    0% {
        transform: rotate(0);
    }
    to {
        transform: rotate(1turn);
    }
}
.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.splide__track--fade > .splide__list > .splide__slide {
    margin: 0 !important;
    opacity: 0;
    z-index: 0;
}
.splide__track--fade > .splide__list > .splide__slide.is-active {
    opacity: 1;
    z-index: 1;
}
.splide--rtl {
    direction: rtl;
}
.splide__track--ttb > .splide__list {
    display: block;
}
.splide__arrow {
    -ms-flex-align: center;
    align-items: center;
    background: #fff;
    border: 0;
    border-radius: 1.75rem;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    height: 1.75rem;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 0.7;
    padding: 0;
    position: absolute;
    top: 1.375rem;
    transform: translateY(-50%);
    transition: opacity 0.25s;
    width: 1.75rem;
    z-index: 1;
}
.splide__arrow svg {
    fill: #000;
    height: 1rem;
    width: 1rem;
}
.splide__arrow:hover:not(:disabled) {
    opacity: 0.8;
}
.splide__arrow:disabled {
    opacity: 0.3;
}
.splide__arrow--prev {
    left: 0.5em;
}
.splide__arrow--prev svg {
    transform: scaleX(-1);
}
.splide__arrow--next {
    right: 0.5rem;
}
.theme-dark .splide__arrow {
    opacity: 0.6;
}
.splide__pagination {
    padding: 0 1em;
    z-index: 1;
}
.splide__pagination__page {
    background: var(--splide-pagination);
    border: 0;
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    margin: 4px;
    opacity: 0.7;
    padding: 0;
    position: relative;
    transition: transform 0.2s linear;
    width: 8px;
}
.splide__pagination__page.is-active {
    background: var(--splide-pagination-active);
    transform: scale(1.3);
    z-index: 1;
}
.splide__pagination__page:hover {
    cursor: pointer;
    opacity: 0.9;
}
.splide__progress__bar {
    background: var(--splide-progress-bar);
    border-radius: 0.25em;
    height: 3px;
    position: absolute;
    top: -5px;
}
.splide__slide {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
.splide__toggle-wrapper {
    display: flex;
    justify-content: center;
    margin-block-start: 0.5rem;
}
.splide__toggle {
    background: var(--background-color);
    block-size: 2rem;
    border-radius: 2rem;
    border: none;
    box-shadow: 0 0 0.5em rgba(0,0,0,.05);
    cursor: pointer;
    inline-size: 2rem;
    text-align: center;
    transition: box-shadow 0.25s ease-in;
}
.splide__toggle svg {
    fill: var(--text-color);
    position: relative;
}
.splide__toggle:focus,
.splide__toggle:hover {
    background: var(--background-color);
    box-shadow: 0 0 0.75em rgba(0,0,0,.2);
}
.splide__track--nav > .splide__list > .splide__slide {
    border: 3px solid rgba(0,0,0,0);
    cursor: pointer;
    opacity: 0.666;
    transition: opacity 0.25s;
}
.splide__track--nav > .splide__list > .splide__slide:focus,
.splide__track--nav > .splide__list > .splide__slide:hover {
    opacity: 1;
}
.theme-dark .splide__track--nav > .splide__list > .splide__slide {
    opacity: 0.555;
}
.theme-dark .splide__track--nav > .splide__list > .splide__slide:focus,
.theme-dark .splide__track--nav > .splide__list > .splide__slide:hover {
    opacity: 1;
}
.splide__track--nav > .splide__list > .splide__slide.is-active {
    border: 3px solid var(--splide-slide-active);
    opacity: 1;
}
.splide__arrows--rtl .splide__arrow--prev {
    left: auto;
    right: 1em;
}
.splide__arrows--rtl .splide__arrow--prev svg {
    transform: scaleX(1);
}
.splide__arrows--rtl .splide__arrow--next {
    left: 1em;
    right: auto;
}
.splide__arrows--rtl .splide__arrow--next svg {
    transform: scaleX(-1);
}
.splide__arrows--ttb .splide__arrow {
    left: 50%;
    transform: translate(-50%);
}
.splide__arrows--ttb .splide__arrow--prev {
    top: 1em;
}
.splide__arrows--ttb .splide__arrow--prev svg {
    transform: rotate(-90deg);
}
.splide__arrows--ttb .splide__arrow--next {
    bottom: 1em;
    top: auto;
}
.splide__arrows--ttb .splide__arrow--next svg {
    transform: rotate(90deg);
}
.splide__pagination--ttb {
    bottom: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    left: auto;
    padding: 1em 0;
    right: 0.5em;
    top: 0;
}
.navigation-slider figure {
    margin-block-end: 0.5rem;
}
.navigation-nav-slider .splide__slider {
    margin-block-end: 1.65rem;
}
.navigation-nav-slider img,
.navigation-slider img {
    border-radius: 0.25em;
}
.splide figcaption {
    text-align: center;
}
.caption-slider figure,
.carousel-slider figure {
    margin-block-end: 0;
    overflow: hidden;
}
.caption-slider img,
.carousel-slider img {
    border-radius: 0.25em;
}
.caption-slider figure {
    overflow: hidden;
    position: relative;
}
.caption-slider figcaption {
    background-color: var(--alpha);
    backdrop-filter:blur(4px);
    line-height: 1.4;
    padding-inline: 1rem;
    padding-block: 1rem;
    position: absolute;
    z-index: 10;
    transition: transform 0.35s ease-in;
}
.caption-slider figcaption .caption-inner {
    opacity: 0;
    transition: opacity 0.3s ease-in 0.3s;
}
.caption-slider figcaption h2,
.caption-slider figcaption h3 {
    color: var(--text-color);
    font-size: 1rem;
    margin-block: 0 0.5rem;
}
.caption-slider figcaption .caption-text {
    font-size: 0.875rem;
    opacity: 0;
    transition: opacity 0.3s ease-in 0.6s;
}
.caption-slider figcaption .caption-text p:last-child {
    margin-block-end: 1rem;
}
.caption-slider .is-active .caption-inner,
.caption-slider .is-active .caption-text {
    opacity: 1;
}
.caption-block-start figcaption {
    inset-inline: 0;
    inset-block-start: 0;
    transform: translateY(-100%);
    border-start-start-radius: 0.25em;
    border-start-end-radius: 0.25em;
}
.caption-block-start .is-active figcaption {
    transform: translateY(0);
}
.caption-block-end figcaption {
    inset-inline: 0;
    inset-block-end: 0;
    transform: translateY(100%);
    border-end-start-radius: 0.25em;
    border-end-end-radius: 0.25em;
}
.caption-block-end .is-active figcaption {
    transform: translateY(0);
}
.caption-inline-start figcaption {
    inset-inline-start: 0;
    inset-block: 0;
    transform: translateX(-100%);
    max-inline-size: 50%;
    border-start-start-radius: 0.25em;
    border-end-start-radius: 0.25em;
}
.caption-inline-start .is-active figcaption {
    transform: translateX(0);
}
.caption-inline-end figcaption {
    inset-inline-end: 0;
    inset-block: 0;
    transform: translateX(100%);
    max-inline-size: 50%;
    border-start-end-radius: 0.25em;
    border-end-end-radius: 0.25em;
}
.caption-inline-end .is-active figcaption {
    transform: translateX(0);
}
@media(min-width: 30em) {
    .caption-slider figcaption h2,
    .caption-slider figcaption h3 {
        font-size: 1.125rem;
    }
    .caption-slider figcaption .caption-text {
        font-size: 1rem;
    }
    .caption-inline-end figcaption,
    .caption-inline-start figcaption {
        padding-block-start: 1.65rem;
        max-inline-size: 33%;
    }
}
.gmap,
.gmap-custom,
.no-apiKey {
    border: 1px solid var(--border-color);
    border-radius: 0.25em;
    display: block;
    margin-block: 1.65rem;
    max-width: 100%;
    aspect-ratio: var(--aspect-ratio, 3/2);
}
.gmap iframe {
    border: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.no-apiKey {
    color: var(--primary-color);
    display: flex;
    font-size: 0.875rem;
    font-style: italic;
    justify-content: center;
    align-items: center;
}
.theme-dark .gm-style-iw-d {
    --text-color: #111;
    color: var(--text-color) !important;
}
.theme-dark .gm-style-iw-d a {
    --primary-color: hsl(220, 80%, 45%);
    color: var(--primary-color);
    text-decoration-color: var(--primary-color);
}

.current {
  text-decoration: underline;
    text-decoration-thickness: auto;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 3px;}

.imprint {
  font-size: 13px;
  margin-top: 2.25rem;
  line-height:1.8;
}
