/*
Theme Name: SPW 2021
Text Domain: spw_2021
Template: twentytwentyone
Version: 0.472
Author: Sascha Schuermann
Author URI: https://schuermann.pw/
Description: SPW 2021 Theme
*/

html {
    overflow-x: hidden;
    overflow-y: scroll;
}

:root {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    -webkit-tap-highlight-color: transparent;

    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    overflow-wrap: anywhere;
    -webkit-hyphenate-limit-before: 3;
    -webkit-hyphenate-limit-after: 3;
    -webkit-hyphenate-limit-chars: 6 3 3;
    -moz-hyphenate-limit-chars: 6 3 3;
    -ms-hyphenate-limit-chars: 6 3 3;
    hyphenate-limit-chars: 6 3 3;
    -webkit-hyphenate-limit-last: always;
    -moz-hyphenate-limit-last: always;
    -ms-hyphenate-limit-last: always;
    hyphenate-limit-last: always;

    --global--font-primary: Urbanist, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    --global--font-secondary: Urbanist, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;

    --global--spacing-unit: 1rem;
    --global--spacing-measure: unset;
    --global--spacing-horizontal: 1rem;
    --global--spacing-vertical: 2rem;

    --responsive--spacing-horizontal: calc(2 * var(--global--spacing-horizontal) * 1);

    --global--font-size-xs: .75rem;
    --global--font-size-sm: .875rem;
    --global--font-size-md: 1rem;
    --global--font-size-base: 1rem;
    --global--font-size-lg: 1.25rem;
    --global--font-size-xl: 1.625rem !important;
    --global--font-size-xxl: 2.25rem !important;
    --global--font-size-xxxl: 3.25rem !important;

    --global--color-black: #1a1a1a;
    --global--color-dark-gray: #0d0d0d;
    --global--color-gray: #dadada;
    --global--color-light-gray: #f3f3f3;
    --global--color-green: #d1e4dd;
    --global--color-blue: #d1dfe4;
    --global--color-purple: #d1d1e4;
    --global--color-red: #e4d1d1;
    --global--color-orange: #e4dad1;
    --global--color-yellow: #eeeadd;
    --global--color-white: #e6e6e6;
    --global--color-white-50: rgba(255, 255, 255, 0.5);
    --global--color-white-90: rgba(255, 255, 255, 0.9);

    --global--color-accent: rgb(256, 64, 0);

    --global--color-background: #e6e6e6;
    --global--color-primary: #101010;
    --global--color-secondary: #101010;
    --button--color-background: #101010;
    --button--color-text-hover: #101010;

    --heading--font-size-h3: var(--global--font-size-lg) !important;
    --heading--font-size-h2: var(--global--font-size-xl) !important;
    --heading--font-size-h1: var(--global--font-size-xxl) !important;

    --entry-header--font-size: var(--heading--font-size-h3);

    --footer--font-size: var(--global--font-size-sm);

    --global--letter-spacing: normal;
    --global--line-height-body: 1.7;
    --global--line-height-heading: 1.3;
    --global--line-height-page-title: 1.1;

    --heading--font-weight: 500;
    --heading--font-weight-page-title: 400;
    --heading--font-weight-strong: 900;

    --widget--font-weight-title: 500;

    --form--border-width: 1px;
    --form--border-radius: calc(.5 * var(--global--spacing-unit));
    --form--label-weight: 500;

    --button--padding-vertical: calc(.5 * var(--global--spacing-unit));
    --button--padding-horizontal: calc(2 * var(--button--padding-vertical));
    --button--border-width: 1px;
    --button--border-radius: calc(.5 * var(--global--spacing-unit));
    --button--font-weight: 500;

    --primary-nav--padding: calc(1 * var(--global--spacing-unit));
    --primary-nav--font-size: var(--global--font-size-md);
    --primary-nav--font-size-sub-menu: var(--global--font-size-xs);
    --primary-nav--font-size-mobile: var(--global--font-size-md);
    --primary-nav--font-size-sub-menu-mobile: var(--global--font-size-md);
    --primary-nav--font-size-button: var(--global--font-size-xs);
    --primary-nav--font-weight: 500;
    --primary-nav--font-weight-button: 500;

    --pagination--font-weight: 300;
    --pagination--font-weight-strong: 500;
}

.is-dark-theme.is-dark-theme {
    --global--color-background: var(--global--color-black);
    --global--color-primary: var(--global--color-white);
    --global--color-secondary: var(--global--color-white);
    --button--color-text: var(--global--color-background);
    --button--color-text-hover: var(--global--color-secondary);
    --button--color-text-active: var(--global--color-secondary);
    --button--color-background: var(--global--color-secondary);
    --button--color-background-active: var(--global--color-background);
    --global--color-border: #9ea1a7;
    --table--stripes-border-color: rgba(240, 240, 240, 0.15);
    --table--stripes-background-color: rgba(240, 240, 240, 0.15);
    --global--color-gray: #272727;

    --global--color-accent: rgb(256, 128, 0);
}

html {
    font-size: 4vw;
}

@media (orientation: landscape) {
    html {
        font-size: 2vw;
    }
}

@media (min-width: 822px) {
    html {
        font-size: min(2vw, calc((var(--responsive--alignwide-width) / 100) * 1.5));
    }
}

@media (min-width: 1280px) {
    html {
        font-size: min(1.5vw, calc((var(--responsive--alignwide-width) / 100) * 1));
    }
}

@media (min-width: 1920px) {
    html {
        font-size: calc((var(--responsive--alignwide-width) / 100) * 1);
    }
}

@media (min-width: 481px) and (max-width: 822px) {
    :root {
        --responsive--aligndefault-width: calc(100vw - var(--responsive--spacing-horizontal));
        --responsive--alignwide-width: calc(100vw - var(--responsive--spacing-horizontal));
        --responsive--alignright-margin: var(--global--spacing-horizontal);
        --responsive--alignleft-margin: var(--global--spacing-horizontal);
    }
}

@media (min-width: 822px) {
    :root {
        --responsive--aligndefault-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), calc(var(--responsive--alignwide-width) - 16 * var(--global--spacing-horizontal)));
        --responsive--alignwide-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), calc(1920px - 8 * var(--global--spacing-horizontal)));
    }
}

@media (min-width: 1280px) {
    :root {
        --responsive--aligndefault-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), calc(var(--responsive--alignwide-width) - 32 * var(--global--spacing-horizontal)));
        --responsive--alignwide-width: min(calc(100vw - 8 * var(--global--spacing-horizontal)), calc(1920px - 8 * var(--global--spacing-horizontal)));
    }
}

@media only screen and (min-width: 1920px) {
    :root {
        --responsive--aligndefault-width: calc(var(--responsive--alignwide-width) - 32 * var(--global--spacing-horizontal));
        --responsive--alignwide-width: calc(1920px - 8 * var(--global--spacing-horizontal));
    }
}

body {
    --wp--preset--font-size--extra-small: var(--global--font-size-xs);
    --wp--preset--font-size--small: var(--global--font-size-sm);
    --wp--preset--font-size--medium: var(--global--font-size-md);
    --wp--preset--font-size--normal: var(--global--font-size-md);
    --wp--preset--font-size--large: var(--global--font-size-lg);
    --wp--preset--font-size--extra-large: var(--global--font-size-xl);
    --wp--preset--font-size--x-large: var(--global--font-size-xl);
    --wp--preset--font-size--huge: var(--global--font-size-xxl);
    --wp--preset--font-size--gigantic: var(--global--font-size-xxxl);

    font-weight: 300;

    transition: background-color 200ms linear;
}

@media only screen {
    #dark-mode-toggler {
        font-size: var(--global--font-size-xs);
        border-width: var(--form--border-width);
        min-height: auto;
        padding: var(--button--padding-vertical);
    }

    #dark-mode-toggler:hover,
    #dark-mode-toggler:focus {
        border-width: 1px;
    }

    #dark-mode-toggler.fixed-bottom {
        right: calc(.5 * var(--global--spacing-unit));
        bottom: calc(.5 * var(--global--spacing-unit));
    }
}

@media (hover: none) {
    #dark-mode-toggler:hover {
        background-color: var(--global--color-background);
        color: var(--global--color-primary);
    }
}

@media only screen {
    .is-dark-theme img {
        filter: brightness(0.85) contrast(1.1);
        transition: filter 200ms linear;
    }
}

@media (max-width: 481px) {

}

@media (min-width: 481px) {

}

@media (min-width: 592px) {

}

@media (min-width: 652px) {

}

@media (max-width: 822px) {

}

@media (min-width: 822px) {

}

@media (min-width: 1024px) {

}

@media screen and (max-width: 822px) {
    #wpadminbar {
        position: fixed;
    }
}

#masthead {
    position: fixed;
    z-index: 2;
    left: 0;
    right: 0;
    top: var(--global--admin-bar--height);
    padding-top: 0;
    padding-bottom: 0;
}

#masthead:before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    left: -100vw;
    right: -100vw;
    top: 0;
    bottom: 0;
    background-color: transparent;
    transition: background-color 200ms linear;
}

body.primary-navigation-open #masthead:before,
body.is-scrolled #masthead:before {
    background-color: var(--global--color-background);
}
/*
#masthead:after {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    left: var(--global--spacing-horizontal);
    right: var(--global--spacing-horizontal);
    left: -100vw;
    right: -100vw;
    bottom: 0;
    border-bottom: 3px solid transparent;
    transition: border-bottom-color 200ms linear;
}

body:not(primary-navigation-open).is-scrolled #masthead:after {
    border-bottom-color: var(--global--color-border);
}
*/

#primary:before {
    content: '';
    display: block;
    position: fixed;
    z-index: 2;
    left: -100vw;
    right: -100vw;
    top: var(--global--admin-bar--height);
    height: calc(var(--global--header-height) - 1px);
    background-color: var(--global--color-background);
    transform: scale(0);
    will-change: transform;
}

body.is-scrolled #primary.fade-appear:before,
body.is-scrolled #primary.fade-appear-active:before,
body.is-scrolled #primary.fade-enter:before,
body.is-scrolled #primary.fade-enter-active:before,
body.was-scrolled #primary.fade-exit:before,
body.was-scrolled #primary.fade-exit-active:before {
    transform: scale(1);
}

.site-logo {
    display: block !important;
    top: 0 !important;
}

.site-logo .custom-logo {
    border-radius: 100%;
}

.primary-navigation-open.admin-bar .primary-navigation {
    top: var(--global--admin-bar--height) !important;
}

.menu-button-container #primary-mobile-menu {
    position: relative !important;
    right: calc(var(--responsive--spacing-horizontal) / 4);
    padding: var(--button--padding-vertical);
    border: 1px solid transparent;
}

@media (hover: hover) {
    .menu-button-container #primary-mobile-menu:hover {
        background-color: var(--global--color-primary);
        border: 1px solid var(--global--color-primary);
        color: var(--global--color-background);
    }
}

.menu-button-container #primary-mobile-menu .svg-icon {
    top: calc(-.0625 * var(--global--spacing-unit));
    width: calc(1.5 * var(--global--spacing-unit));
    height: calc(1.5 * var(--global--spacing-unit));
}

@media (max-width: 822px) {
    .primary-navigation .primary-menu-container {
        transform: scale(0) !important;
        transform-origin: right top;
    }

    .primary-navigation-open .primary-navigation .primary-menu-container {
        transform: scale(1) !important;
    }

    .primary-navigation-open .menu-button-container {
        width: auto;
    }
}

.primary-navigation .primary-menu-container > ul > .menu-item > a {
    border: 1px solid transparent;
    border-radius: var(--form--border-radius);
}

@media (hover: hover) {
    .primary-navigation .primary-menu-container > ul > .menu-item > a:hover {
        border: 1px solid var(--global--color-primary);
        background-color: var(--global--color-primary);
        color: var(--global--color-background);
        text-decoration: none;
        text-decoration-style: solid;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .primary-navigation > .primary-menu-container {
        transition: all 200ms linear;
    }

    .is-resizing .primary-navigation > .primary-menu-container {
        transition: none;
    }
}

@media (max-width: 481px) {
    .primary-navigation > .primary-menu-container {
        top: 0;
        padding-top: calc(var(--global--header-height) + 0 * var(--global--spacing-vertical));
    }

    .primary-navigation > div > .menu-wrapper {
        padding-bottom: calc(0 * var(--global--spacing-vertical));
    }

    .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
        position: static;
    }

    .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo img {
        max-height: calc(var(--button--padding-vertical) + 1.7em);
    }

    .primary-navigation {
        width: 100%;
        position: fixed;
        z-index: 2;
    }

    .primary-menu-container {
        position: absolute !important;
        transform: none !important;
    }

    .primary-navigation .primary-menu-container > ul > .menu-item > a {
        padding-left: var(--primary-nav--padding);
        padding-right: var(--primary-nav--padding);
    }
}

@media (min-width: 481px) and (max-width: 822px) {
    .site-header {
        padding-top: calc(0.75 * var(--global--spacing-vertical));
        padding-bottom: calc(2 * var(--global--spacing-vertical));
    }

    .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
        position: static;
        padding-top: calc(0.5 * var(--global--spacing-vertical));
        margin-top: 0;
        top: var(--global--admin-bar--height);
    }

    .site-logo .custom-logo {
        max-width: var(--branding--logo--max-width-mobile);
        max-height: var(--branding--logo--max-height-mobile);
    }

    .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo img {
        max-height: calc(var(--button--padding-vertical) + 1.7em);
    }

    .primary-navigation {
        position: fixed;
        z-index: 2;
        top: var(--global--admin-bar--height) !important;
        width: 100%;
    }

    .menu-button-container {
        display: flex;
    }

    .primary-navigation > .primary-menu-container {
        position: absolute;
        visibility: hidden;
        opacity: 0;
        margin-left: unset;
        margin-right: unset;
        padding-top: calc(var(--global--header-height) + 0 * var(--global--spacing-vertical));
        padding-left: var(--global--spacing-unit);
        padding-right: var(--global--spacing-unit);
        padding-bottom: var(--global--spacing-horizontal);
        background-color: var(--global--color-background);
        height: calc(100vh - var(--global--admin-bar--height));
        z-index: 499;
        overflow-x: hidden;
        overflow-y: auto;
        border: 2px solid transparent;
    }

    .admin-bar .primary-navigation > .primary-menu-container {
        top: 0;
    }

    .primary-navigation > div > .menu-wrapper {
        padding-bottom: 0;
    }

    .primary-navigation .primary-menu-container > ul > .menu-item {
        display: block;
        width: 100%;
    }
}

@media (min-width: 481px) and (max-width: 822px) and (prefers-reduced-motion: no-preference) {
    .primary-navigation > .primary-menu-container {
        transition: all 200ms linear;
    }
}

.site-branding {
    margin-right: var(--global--spacing-horizontal);
    margin-top: initial;
}

.menu-button-container {
    padding-top: 0;
    padding-bottom: 0;
}
/*
.site-main {
    background-image: linear-gradient(180deg, var(--global--color-background), var(--global--color-gray));
}
*/

.site-main {
    position: relative;
}

.site-main:before {
    content: '';
    position: absolute;
    z-index: -2;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-image: linear-gradient(180deg, #e6e6e6, #dadada);
    opacity: 1;
    transition: opacity 200ms linear;
}

.site-main:after {
    content: '';
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-image: linear-gradient(180deg, #1a1a1a, #272727);
    opacity: 0;
    transition: opacity 200ms linear;
}

.respect-color-scheme-preference.is-dark-theme .site-main:after {
    opacity: 1;
}

.home:not(.archive) .site-main {
    padding-top: 0;
    padding-bottom: 0;
}

.page-header,
.singular .entry-header {
    position: relative;
    /*border-bottom: 3px solid transparent;*/
    padding-bottom: 0;
    border-bottom: 0 none;
}

.archive .entry-header {
    margin-bottom: 0;
}
/*
.page-header:after,
.singular :not(.has-post-thumbnail) > .entry-header:after {
    content: '';
    position: absolute;
    left: var(--global--spacing-horizontal);
    right: var(--global--spacing-horizontal);
    bottom: -3px;
    border-bottom: 3px solid var(--global--color-border);
}
*/
.widget-area,
.pagination,
.comments-pagination,
.post-navigation,
.site-footer,
.site-header,
.alignwide,
.wide-max-width {
    max-width: calc(var(--responsive--alignwide-width) + (2 * var(--global--spacing-horizontal)));
    padding-left: var(--global--spacing-horizontal);
    padding-right: var(--global--spacing-horizontal);
}

.entry-header > *,
.post-thumbnail > *,
.page-content > *,
.comment-content > *,
.widget > * {
    margin-top: calc(.5 * var(--global--spacing-unit));
    margin-bottom: calc(.5 * var(--global--spacing-unit));
}

.post-navigation .nav-links a {
    overflow: hidden;
    border-radius: var(--form--border-radius);
}

.navigation .nav-previous .svg-icon,
.navigation .prev .svg-icon,
.navigation .nav-next .svg-icon,
.navigation .next .svg-icon {
    top: calc(-.0625 * var(--global--spacing-unit));
    width: calc(1.5 * var(--global--spacing-unit));
    height: calc(1.5 * var(--global--spacing-unit));
}

@media only screen and (max-width: 592px) {
    .post-navigation .nav-links {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .navigation .nav-links .nav-next,
    .navigation .nav-links .nav-previous {
        flex: 0 1 auto;
        margin-bottom: inherit;
        margin-top: inherit;
        max-width: calc(50% - 0.5 * var(--global--spacing-unit));
    }

    .navigation .nav-links .nav-next {
        text-align: right;
    }
}

.post-navigation .nav-previous .meta-nav {
    margin: calc(.25 * var(--global--spacing-unit)) calc(.5 * var(--global--spacing-unit)) 0 calc(.25 * var(--global--spacing-unit));
}

.post-navigation .nav-previous .post-title {
    margin: calc(.25 * var(--global--spacing-unit)) calc(.5 * var(--global--spacing-unit)) calc(.25 * var(--global--spacing-unit)) calc(.5 * var(--global--spacing-unit));
}

.post-navigation .nav-next .meta-nav {
    margin: calc(.25 * var(--global--spacing-unit)) calc(.25 * var(--global--spacing-unit)) 0 calc(.5 * var(--global--spacing-unit));
}

.post-navigation .nav-next .post-title {
    margin: calc(.25 * var(--global--spacing-unit)) calc(.5 * var(--global--spacing-unit)) calc(.25 * var(--global--spacing-unit)) calc(.5 * var(--global--spacing-unit));
}

@media only screen and (min-width: 481px) and (max-width: 822px) and (orientation: landscape) {
    .post-navigation .nav-previous .meta-nav {
        margin: calc(.25 * var(--global--spacing-unit)) calc(.5 * var(--global--spacing-unit)) 0 calc(.25 * var(--global--spacing-unit));
    }

    .post-navigation .nav-previous .post-title {
        margin: calc(.25 * var(--global--spacing-unit)) calc(.5 * var(--global--spacing-unit)) calc(.25 * var(--global--spacing-unit)) calc(2 * var(--global--spacing-unit));
    }

    .post-navigation .nav-next .meta-nav {
        margin: calc(.25 * var(--global--spacing-unit)) calc(.25 * var(--global--spacing-unit)) 0 calc(.5 * var(--global--spacing-unit));
    }

    .post-navigation .nav-next .post-title {
        margin: calc(.25 * var(--global--spacing-unit)) calc(2 * var(--global--spacing-unit)) calc(.25 * var(--global--spacing-unit)) calc(.5 * var(--global--spacing-unit));
    }
}

@media only screen and (min-width: 822px) {
    .post-navigation .nav-previous .meta-nav {
        margin: calc(.25 * var(--global--spacing-unit)) calc(.5 * var(--global--spacing-unit)) 0 calc(.25 * var(--global--spacing-unit));
    }

    .post-navigation .nav-previous .post-title {
        margin: calc(.25 * var(--global--spacing-unit)) calc(.5 * var(--global--spacing-unit)) calc(.25 * var(--global--spacing-unit)) calc(2 * var(--global--spacing-unit));
    }

    .post-navigation .nav-next .meta-nav {
        margin: calc(.25 * var(--global--spacing-unit)) calc(.25 * var(--global--spacing-unit)) 0 calc(.5 * var(--global--spacing-unit));
    }

    .post-navigation .nav-next .post-title {
        margin: calc(.25 * var(--global--spacing-unit)) calc(2 * var(--global--spacing-unit)) calc(.25 * var(--global--spacing-unit)) calc(.5 * var(--global--spacing-unit));
    }
}

.navigation .nav-links .nav-next:only-child {
    margin-left: auto;
}

.site-footer {
    padding-bottom: calc(2 * var(--global--spacing-horizontal));
}

@media only screen and (min-width: 481px) and (max-width: 822px) and (orientation: landscape) {
    .site-footer {
        margin-top: calc(-5 * var(--global--spacing-unit));
    }
}

@media only screen and (min-width: 822px) {
    .site-footer {
        margin-top: calc(-5 * var(--global--spacing-unit));
    }
}

.site-footer > .site-info {
    display: flex;
    align-items: center;
    padding-top: 0;
    border-top: 0 none;
}

.site-footer > .site-info .site-name {
    font-size: var(--global--font-size-base);
}

.widget-area {
    margin-top: 0;
}

.widget_search > .search-form .search-field {
    border-right: 0 none;
    border-radius: var(--form--border-radius) 0 0 var(--form--border-radius);
}

.widget_search > .search-form .search-submit {
    border-radius: 0 var(--form--border-radius) var(--form--border-radius) 0;
}

@media only screen and (max-width: 822px) {
    .widget-area {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        column-gap: calc(2 * var(--global--spacing-horizontal));
    }
}

@media only screen and (min-width: 481px) and (max-width: 822px) and (orientation: landscape) {
    .widget-area {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: calc(2 * var(--global--spacing-horizontal));
    }
}

.site-footer > *, .widget-area > * {
    margin-top: calc(0 * var(--global--spacing-vertical));
    margin-bottom: calc(1 * var(--global--spacing-vertical));
}

@media (min-width: 481px) and (max-width: 822px) {}
    .site-footer > *, .widget-area > * {
        margin-top: calc(0 * var(--global--spacing-vertical));
        margin-bottom: calc(1 * var(--global--spacing-vertical));
    }

@media (max-width: 822px) {
    .site-footer .site-logo img {
        max-height: calc(var(--button--padding-vertical) - 0.25 * var(--global--spacing-unit) + 1.7em);
    }
}

@media (max-width: 822px) {
    .site-footer > .site-info .privacy-policy, .site-footer > .site-info .powered-by {
        margin-top: initial;
        margin-left: auto;
    }
}

#content {
    position: relative;
    /*overflow-y: hidden;*/
    width: 100%;
    margin-top: var(--global--header-height);
}

.fade-appear,
.fade-enter {
    opacity: 0;
}

.fade-appear-active,
.fade-enter-active {
    opacity: 1;
    transition: opacity 200ms linear;
}

#primary {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
}

#primary.fade-appear,
#primary.fade-enter {
    margin-top: 0 !important;
    opacity: 0;
}

#primary.fade-appear-active,
#primary.fade-enter-active {
    z-index: 1;
    margin-top: 0 !important;
    opacity: 1;
    transition: opacity 200ms linear;
}

#primary.fade-enter-done {
    margin-top: 0 !important;
}

#primary.fade-exit {
    position: fixed;
    opacity: 1;
}

#primary.fade-exit-active {
    position: fixed;
    opacity: 0;
    transition: opacity 200ms linear;
}

.wp-block-columns .wp-block-column:not(:last-child) {
    margin-bottom: 0;
}

@media (min-width: 481px) and (orientation: landscape) {
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
        flex-basis: 0 !important;
        flex-grow: 1;
    }
}

.site-main > article > *,
.site-main > .not-found > *,
.entry-content > *,
[class*="inner-container"] > *,
.wp-block-template-part > *,
.wp-block-post-template :where(li > *) {
    margin-top: calc(1 * var(--global--spacing-vertical));
    margin-bottom: calc(1 * var(--global--spacing-vertical));
}

.site h1,
.site h2,
.site h3,
.site h4,
.site h5,
.site h6,
.site label {
    font-weight: var(--heading--font-weight);
}

.wp-block-columns + .wp-block-columns,
.wp-block-columns + .wp-block-heading,
.wp-block-group + .wp-block-heading,
.wp-block-group + .wp-block-group {
    margin-top: calc(2 * var(--global--spacing-vertical));
}

@media (max-width: 481px) {
    .wp-block-column + .wp-block-column {
        margin-top: calc(1 * var(--global--spacing-vertical));
    }
}

@media only screen and (min-width: 481px) and (max-width: 822px) and (orientation: portrait) {
    .wp-block-column + .wp-block-column {
        margin-top: calc(1 * var(--global--spacing-vertical));
    }
}

.site .wp-block-group .wp-block-group__inner-container > *:not(:first-child) {
    margin-top: calc(.5 * var(--global--spacing-unit));
}

.site .wp-block-group .wp-block-group__inner-container > *:not(:last-child) {
    margin-bottom: calc(.5 * var(--global--spacing-unit));
}

.site .wp-block-group .wp-block-group__inner-container > p:not(:last-child) {
    margin-bottom: calc(1.3 * var(--global--spacing-unit));
}

.site h1,
.site h2,
.site label {
    color: var(--global--color-accent);
}

.site a {
    text-decoration-style: dotted !important;
}

.site a:hover:not(.wp-block-button__link):not(.wp-block-file__button):not(.custom-logo-link),
.site a:hover:not(.wp-block-button__link):not(.wp-block-file__button) > p {
    text-decoration: none;
    text-decoration-style: solid;
}

@media (hover: hover) {
    .site a:hover:not(.wp-block-button__link):not(.wp-block-file__button):not(.custom-logo-link),
    .site a:hover:not(.wp-block-button__link):not(.wp-block-file__button) > p {
        background-color: var(--global--color-primary) !important;
        border-color: var(--global--color-primary) !important;
        color: var(--global--color-background) !important;
    }
}

.primary-navigation .current-menu-item > a:first-child {
    text-decoration: none;
    text-decoration-style: solid;
    text-decoration-color: currentcolor;
    color: var(--global--color-primary) !important;
    background-color: transparent !important;
    border-color: var(--global--color-primary) !important;
}

.primary-navigation .current-menu-item > a:first-child:hover {
    text-decoration: none;
    text-decoration-style: solid;
}

@media (hover: hover) {
    .primary-navigation .current-menu-item > a:first-child:hover {
        text-decoration-color: currentcolor;
        color: var(--global--color-background) !important;
        background-color: var(--global--color-primary) !important;
        border-color: var(--global--color-primary) !important;
    }
}

.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) img {
    outline: 2px dotted var(--global--color-accent);
    outline-offset: 2px;
}

.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button):not(.custom-logo-link),
.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) > p {
    text-decoration: none;
    text-decoration-style: solid;
    text-decoration-color: currentcolor;
    color: var(--global--color-background) !important;
    background-color: var(--global--color-accent) !important;
    border-color: var(--global--color-accent) !important;
}

#content #primary .footer-navigation-wrapper li a {
    border-radius: var(--form--border-radius);
}

@media (hover: hover) {
    #content #primary .footer-navigation-wrapper li a:hover {
        background-color: var(--global--color-primary) !important;
        color: var(--global--color-background);
    }

    #content #primary .footer-navigation-wrapper li a:hover path {
        fill: var(--global--color-background);
    }
}

#content #primary .footer-navigation-wrapper li a:focus {
    background-color: var(--global--color-accent) !important;
    color: var(--global--color-background);
}

#content #primary .footer-navigation-wrapper li a .svg-icon {
    width: calc(1.5 * var(--global--spacing-unit));
    height: calc(1.5 * var(--global--spacing-unit));
}

#content #primary .footer-navigation-wrapper li a:hover .svg-icon,
#content #primary .footer-navigation-wrapper li a:focus .svg-icon {
    transform: scale(1);
}

#content #primary .footer-navigation-wrapper li a:focus path {
    fill: var(--global--color-background);
}

.site h1 a,
.site h2 a,
.site h3 a,
.site h4 a,
.site h5 a,
.site h6 a {
    color: inherit !important;
}

.primary-navigation .current-menu-item > a:first-child {
    text-decoration-color: var(--global--color-accent) !important;
}

.is-custom-cover.has-content-height {
    min-height: calc(100vh - var(--global--admin-bar--height) - var(--global--header-height));
    min-height: calc(100svh - var(--global--admin-bar--height) - var(--global--header-height));
}

.is-custom-cover.has-full-height {
    margin-top: calc(-1 * var(--global--header-height));
    min-height: calc(100vh - var(--global--admin-bar--height));
    min-height: calc(100svh - var(--global--admin-bar--height));
}

.is-custom-cover.has-no-background {
    background-color: transparent;
}

.home:not(.archive) .is-custom-cover .wp-block-cover__inner-container {
    width: auto;
}

.home:not(.archive) .is-custom-cover figure {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0;
}

.home:not(.archive) .is-custom-cover ul {
    display: table;
    margin-top: 0;
}

.home:not(.archive) .is-custom-cover li {
    margin-top: calc(1 * var(--global--spacing-unit));
    color: var(--global--color-primary);
}

@media (min-width: 481px) and (max-width: 822px) and (orientation: landscape) {
    .home:not(.archive) .is-custom-cover ul {
        display: flex;
        justify-content: center;
        gap: calc(4 * var(--global--spacing-unit));
    }

    .home:not(.archive) .is-custom-cover li {
        margin-top: 0;
    }
}

@media (min-width: 822px) {
    .home:not(.archive) .is-custom-cover ul {
        display: flex;
        justify-content: center;
        gap: calc(4 * var(--global--spacing-unit));
    }

    .home:not(.archive) .is-custom-cover li {
        margin-top: 0;
    }
}

.home:not(.archive) .is-custom-cover li {
    opacity: 0;
}

/* Old test for fullsize page like home */
.pageid-3383 .site-main {
    padding-top: 0;
}

.pageid-3383 .entry-header {
    display: none;
}

.pageid-3383 .entry-content {
    margin-top: 0;
}

.site-main > * {
    margin-top: calc(1 * var(--global--spacing-vertical));
    margin-bottom: 0;
}

.singular .entry-header {
    margin-bottom: calc(1 * var(--global--spacing-vertical));

}

.singular .has-post-thumbnail .entry-header {
    padding-bottom: calc(0 * var(--global--spacing-vertical));
}

.singular .site-main > article > .entry-content:empty {
    display: none;
}

.singular .site-main > article > .entry-footer {
    margin-bottom: calc(1 * var(--global--spacing-vertical));
}

.archive .site-main > article {
    border-radius: var(--form--border-radius);
    background-color: var(--global--color-light-gray);
    transition: background-color 200ms linear;
}

.respect-color-scheme-preference.is-dark-theme .archive .site-main > article {
    background-color: var(--global--color-dark-gray);
}

@media (max-width: 481px) {
    .archive .site-main > article {
        margin-left: var(--global--spacing-unit);
        margin-right: var(--global--spacing-unit);
    }
}

@media (min-width: 481px) and (max-width: 822px) and (orientation: portrait) {
    .archive .site-main > article {
        margin-left: var(--global--spacing-unit);
        margin-right: var(--global--spacing-unit);
    }
}

.archive .site-main > article .entry-title {
    margin-top: 0;
    margin-bottom: 0;
    padding: var(--global--spacing-unit) var(--global--spacing-unit) calc(.5 * var(--global--spacing-unit)) var(--global--spacing-unit);
}

.archive .site-main > article .entry-title a {
    text-decoration: none !important;
}

.archive .site-main > article .post-thumbnail {
    margin-top: 0;
    margin-bottom: 0;
}

.post-thumbnail .wp-post-image {
    margin-top: calc(1 * var(--global--spacing-vertical));
}

.singular .wp-block-image img,
.singular .post-thumbnail .wp-post-image {
    border-radius: var(--form--border-radius);
}

.archive .site-main > article .post-thumbnail .wp-post-image {
    /*margin-top: calc(1 * var(--global--spacing-vertical));*/
    margin-top: 0;
}

.archive .site-main > article > .entry-content {
    margin-top: var(--global--spacing-vertical);
    margin-bottom: 0;
}

.archive .site-main > article > .entry-content {
    margin-top: 0;
    padding-left: var(--global--spacing-unit);
    padding-right: var(--global--spacing-unit);
    padding-bottom: var(--global--spacing-unit);
}

.archive .site-main > article > .entry-content:empty {
    display: none;
}

.archive .site-main > article {
    display: flex;
    flex-direction: column;
}

.archive .site-main > article > * {
    width: 100%;
    max-width: var(--responsive--aligndefault-width);
}

.archive .site-main > article > .entry-footer {
    padding-top: 0;
    flex-grow: 1;
}

.archive .site-main > article > .entry-footer {
    margin-top: 0;
    padding-left: var(--global--spacing-unit);
    padding-right: var(--global--spacing-unit);
    padding-bottom: var(--global--spacing-unit);
    border-bottom: 0 none;
}

@media (orientation: landscape) {
    .home:not(.archive) .is-custom-cover figure img,
    .home:not(.archive) .is-custom-cover figure .svg-container {
        width: 50% !important;
        margin-left: auto;
        margin-right: auto;
    }
}

.home:not(.archive) .is-custom-cover .wp-block-cover__background,
.home:not(.archive) .is-custom-cover .wp-block-cover__image-background {
    transition: filter 200ms linear;
}

.home:not(.archive) .is-custom-cover path {
    fill: transparent;
    transition: fill 0ms linear;
}

.respect-color-scheme-preference.is-dark-theme .home:not(.archive) .is-custom-cover .wp-block-cover__background,
.respect-color-scheme-preference.is-dark-theme .home:not(.archive) .is-custom-cover .wp-block-cover__image-background {
    filter: invert(1);
}

:where(.wp-block-columns.has-background),
h1.has-background,
h2.has-background,
h3.has-background,
h4.has-background,
h5.has-background,
h6.has-background {
    padding: var(--global--spacing-horizontal);
}

a.post-thumbnail-inner {
    padding: 0;
    display: block;
    border-radius: var(--form--border-radius) var(--form--border-radius) 0 0;
}

a.post-thumbnail-inner > * {
    border-radius: var(--form--border-radius) var(--form--border-radius) 0 0;
}
/*
@media (hover: hover) {
    a:hover > img {
        outline: 2px dotted var(--global--color-primary);
        outline-offset: 2px;
    }
}
*/
@media (min-width: 481px) and (max-width: 822px) and (orientation: landscape) {
    .archive .site-main {
        display: grid;
        grid-template-columns: calc(((100% - var(--responsive--alignwide-width)) / 2) - var(--global--spacing-horizontal)) var(--global--spacing-horizontal) 1fr calc(2 * var(--global--spacing-horizontal)) 1fr var(--global--spacing-horizontal) calc(((100% - var(--responsive--alignwide-width)) / 2) - var(--global--spacing-horizontal));
        grid-template-areas:
            ". header header header header header ."
            ". . article-1 . article-2 . ."
    }

    .archive .site-main .page-header,
    .search-result-count,
    .no-results,
    .not-found {
        grid-area: header;
        grid-row: auto;
        width: 100%;
        margin-bottom: 0;
    }

    .archive .site-main article {
        margin-bottom: 0;
    }

    .archive .site-main article:nth-of-type(2n+1) {
        grid-column: article-1-start;
    }

    .archive .site-main article:nth-of-type(2n+2) {
        grid-column: article-2-start;
    }

    .archive .entry-header .post-thumbnail {
        width: auto;
        max-width: none;
    }

    .archive .site-main article:nth-of-type(2n+1):nth-last-of-type(2) .entry-footer {
        border-bottom: var(--separator--height) solid transparent;
    }
}

@media (min-width: 822px) {
    .archive .site-main {
        display: grid;
        grid-template-columns: calc(((100% - var(--responsive--alignwide-width)) / 2) - var(--global--spacing-horizontal)) var(--global--spacing-horizontal) 1fr calc(var(--global--spacing-horizontal) * 2) 1fr calc(var(--global--spacing-horizontal) * 2) 1fr var(--global--spacing-horizontal) calc(((100% - var(--responsive--alignwide-width)) / 2) - var(--global--spacing-horizontal));
        grid-template-areas:
            ". header header header header header header header ."
            ". . article-1 . article-2 . article-3 . ."
    }

    .archive .site-main .page-header,
    .search-result-count,
    .no-results,
    .not-found {
        grid-area: header;
        grid-row: auto;
        width: 100%;
        margin-bottom: 0;
    }

    .search-result-count {
        max-width: var(--responsive--alignwide-width);
    }

    .archive .site-main article {
        margin-bottom: 0;
    }

    .archive .site-main article:nth-of-type(3n+1) {
        grid-column: article-1-start;
    }

    .archive .site-main article:nth-of-type(3n+2) {
        grid-column: article-2-start;
    }

    .archive .site-main article:nth-of-type(3n+3) {
        grid-column: article-3-start;
    }

    .archive .entry-header .post-thumbnail {
        width: auto;
        max-width: none;
    }

    .archive .site-main article:nth-of-type(3n+1):nth-last-of-type(2) .entry-footer,
    .archive .site-main article:nth-of-type(3n+1):nth-last-of-type(3) .entry-footer,
    .archive .site-main article:nth-of-type(3n+2):nth-last-of-type(2) .entry-footer,
    .archive .site-main article:nth-of-type(3n+3):last-of-type .entry-footer {
        border-bottom: var(--separator--height) solid transparent;
    }
}

.single .site-main > article > .entry-footer {
    margin-top: 0;
    padding-top: 0;
    border-top: 0 none;
}

.single .site-main > article > .entry-footer > .post-taxonomies {
    grid-column: 2;
    grid-row-start: 1;
    grid-row-end: 4;
}

.archive .entry-title:only-child a:before {
    content: '';
    display: block;
    margin-left: calc(-1 * var(--global--spacing-unit));
    margin-right: calc(-1 * var(--global--spacing-unit));
    margin-top: calc(-1 * var(--global--spacing-unit));
    margin-bottom: calc(1 * var(--global--spacing-unit));
    padding-bottom: calc((100% + (2 * var(--global--spacing-unit))) * 9 / 16);
    background-color: var(--global--color-gray);
    border-radius: var(--form--border-radius) var(--form--border-radius) 0 0;
    transition: background-color 200ms linear;
}
/*
.archive .entry-title:only-child a:after {
    content: '';
    display: block;
    margin-top: calc(1 * var(--global--spacing-vertical));
    padding-bottom: 56.25%;
    background: var(--global--color-primary);
    opacity: .125;
}
*/

.site-main .entry-content ul li::marker {
    color: var(--global--color-accent);
}

.contact-form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: auto;
    margin-top: auto;
    margin-bottom: auto;
}

.contact-form-element {
    display: flex;
    flex-wrap: wrap;
    width: calc(50% - (var(--responsive--spacing-horizontal) / 4));
    margin: 0;
    max-width: var(--responsive--aligndefault-width);
}

.contact-form-element:nth-last-child(1),
.contact-form-element:nth-last-child(2),
.contact-form-element:nth-last-child(3) {
    width: 100%;
}

.contact-form label {
    width: 100%;
    margin-bottom: 0;
    font-weight: var(--form--label-weight);
}

.contact-form input,
.contact-form textarea {
    flex-grow: 1;
    width: inherit;
    margin-top: calc(.5 * var(--global--spacing-unit));
    margin-bottom: calc(var(--global--spacing-vertical));
}

.site .button,
button,
input[type="submit"],
input[type="reset"],
.wp-block-search .wp-block-search__button,
.wp-block-button .wp-block-button__link,
.wp-block-file a.wp-block-file__button {
    border: var(--button--border-width) solid var(--global--color-primary);
}

.site .button:not(:hover):not(:active):not(.has-background),
button:not(:hover):not(:active):not(.has-background),
input[type="submit"]:not(:hover):not(:active):not(.has-background),
input[type="reset"]:not(:hover):not(:active):not(.has-background),
.wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-background),
.wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background),
.wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-background) {
    background-color: var(--global--color-background);
}

.site .button:not(:hover):not(:active):not(.has-text-color),
button:not(:hover):not(:active):not(.has-text-color),
input[type="submit"]:not(:hover):not(:active):not(.has-text-color),
input[type="reset"]:not(:hover):not(:active):not(.has-text-color),
.wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-text-color),
.wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-text-color),
.wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-text-color) {
    color: var(--global--color-primary);
}

@media (hover: hover) {
    .site .button:hover,
    .site .button:active,
    button:hover,
    button:active,
    input[type="submit"]:hover,
    input[type="submit"]:active,
    input[type="reset"]:hover,
    input[type="reset"]:active,
    .wp-block-search .wp-block-search__button:hover,
    .wp-block-search .wp-block-search__button:active,
    .wp-block-button .wp-block-button__link:hover,
    .wp-block-button .wp-block-button__link:active,
    .wp-block-file a.wp-block-file__button:hover,
    .wp-block-file a.wp-block-file__button:active {
        background-color: var(--global--color-primary);
        border-color: var(--global--color-primary);
        color: var(--global--color-background);
    }
}

.site .button:focus,
.site .button:focus-visible,
button:focus,
button:focus-visible,
input[type="submit"]:focus,
input[type="reset"]:focus,
.wp-block-search .wp-block-search__button:focus,
.wp-block-button .wp-block-button__link:focus,
.wp-block-file a.wp-block-file__button:focus {
    background-color: var(--global--color-accent) !important;
    border-color: var(--global--color-accent) !important;
    color: var(--global--color-background) !important;
    outline: 0 none !important;
}

.svg-container {
    display: block;
    position: relative;
}

svg.svg-inline {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100% !important;
    height: 100%;
}