@charset "UTF-8";

body.superfluo-open-dyslexic:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.fad),
body.superfluo-open-dyslexic *:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.fad),
body.superfluo-open-dyslexic main:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.fad),
body.superfluo-open-dyslexic main *:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.fad) {
    font-family: 'OpenDyslexic', sans-serif !important;
    font-weight: normal !important;
    font-style: normal !important;
}

body {
    font-family: var(--font-text);
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    background: var(--color-page-bg);
    color: var(--color-text);
}

button,
input,
optgroup,
select,
textarea,
.button,
.menu {
    font-family: var(--font-text);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--color-title);
    font-style: normal;
    font-weight: 700;
    line-height: 1.1;
    font-family: var(--font-title);
    font-optical-sizing: auto;
    letter-spacing: -0.025em;
}

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    display: block;
    margin-top: 0.5rem;
    color: var(--color-link);
    font-size: 0.625em;
    font-weight: 400;
    font-style: italic;
    line-height: 1.4;
    letter-spacing: 0;
}
h1 {
    font-size: 2.25em;
    margin-top: 0.5em;
    margin-bottom: 1em;
    line-height: 1;
}
h2 {
    font-size: 2em;
    margin-bottom: 0.5em;
    line-height: 1;
}
h3 {
    font-size: 1.75em;
    margin-bottom: 0.5em;
    line-height: 1;
}
h4 {
    font-weight: 600;
    font-size: 1.5em;
    margin-bottom: 0.25em;
}
h5 {
    font-weight: 600;
    font-size: 1.25em;
}
h6 {
    font-weight: 600;
    font-size: 1.125em;
}

@media print, screen and (min-width: 40em) {
    h1 {
        font-size: 3.75em;
    }
    h2 {
        font-size: 3em;
    }
    h3 {
        font-size: 2.25em;
    }
    h4 {
        font-size: 2em;
    }
    h5 {
        font-size: 1.5em;
    }
    h6 {
        font-size: 1.25em;
    }

    h1 small {
        font-size: 0.5em;
    }
}

h1.line-dashed,
h2.line-dashed,
h3.line-dashed,
h4.line-dashed,
h5.line-dashed,
h6.line-dashed {
    display: flex;
    align-items: center;
    white-space: nowrap;
}
h1.line-dashed::after,
h2.line-dashed::after,
h3.line-dashed::after,
h4.line-dashed::after,
h5.line-dashed::after,
h6.line-dashed::after {
    content: "";
    border-bottom: var(--border-width-thick) dashed var(--color-border-strong);
    flex: 1;
    margin-left: 1em;
    height: 0;
}

img {
    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
}

.reveal h1 {
    position: relative;
    margin: 0 0 2rem 0 !important;
    color: var(--color-title);
    padding: 0;
    font-size: 3em !important;
}

.reveal h2 {
    position: relative;
    margin: 0 0 1.5rem 0 !important;
    color: var(--color-title);
    padding: 0;
    font-size: 2em !important;
}

big {
    font-style: normal;
    font-weight: 700;
    line-height: 1.1;
    font-family: var(--font-title);
    font-optical-sizing: auto;
    letter-spacing: -0.025em;
}

li::marker {
    color: var(--color-primary);
}

.bolder {
    font-weight: bolder !important;
}
.uppercase {
    text-transform: uppercase !important;
}
.underline {
    text-decoration: underline !important;
}

:root {
    --header-top-height:             2.75rem;
    --header-main-height:            5.75rem;
    --header-main-height-compact:    4.5rem;
    --header-total-height:           calc(var(--header-top-height) + var(--header-main-height));
    --header-background:             var(--color-black);
    --header-background-secondary:   #151B1F;
    --header-border-color:           color-mix(in srgb, var(--color-primary) 58%, transparent);
}

#app-header {
    width: 100%;
    max-width: 100%;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    color: var(--color-white);
    background: var(--header-background);
    border-bottom: 1px solid var(--header-border-color);
    box-shadow: none;
    overflow: visible;
    z-index: 20;
    transition: box-shadow var(--transition);
}

#app-header.header-shadow {
    color: var(--color-white);
    background: var(--header-background);
    box-shadow: var(--box-shadow-small);
}

#app-header .grid-container.fluid {
    width: 100%;
    padding-right: clamp(1rem, 2.25vw, 2.5rem);
    padding-left: clamp(1rem, 2.25vw, 2.5rem);
}

#app-main {
    padding-top: var(--header-total-height);
}

.superfluo-header-top {
    max-height: var(--header-top-height);
    color: var(--color-white);
    background: var(--header-background-secondary);
    border-bottom: 1px solid color-mix(in srgb, var(--color-white) 10%, transparent);
    opacity: 1;
    overflow: hidden;
    transform: translateY(0);
    transition:
        max-height 0.35s cubic-bezier(.4, 0, .2, 1),
        opacity var(--transition),
        transform 0.35s cubic-bezier(.4, 0, .2, 1),
        border-color var(--transition);
}

.superfluo-header-top > .grid-container > .grid-x {
    min-height: var(--header-top-height);
}

#app-header.superfluo-header-compact .superfluo-header-top {
    max-height: 0;
    border-bottom-color: transparent;
    opacity: 0;
    transform: translateY(-0.5rem);
}

#app-header .superfluo-header-top-menu {
    margin: 0;
    background: transparent;
    flex-wrap: nowrap;
}

#app-header .superfluo-header-top-menu > li > a {
    color: color-mix(in srgb, var(--color-white) 82%, transparent);
    background: transparent;
    padding: 0.75rem clamp(0.5rem, 0.85vw, 0.875rem);
    font-family: var(--font-text);
    font-size: 0.75em;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    white-space: nowrap;
}

#app-header .superfluo-header-top-menu:first-child > li > a {
    border-right: 1px solid color-mix(in srgb, var(--color-primary) 34%, transparent);
}
#app-header .superfluo-header-top-menu:first-child > li:last-child > a {
    border-right: 0;
}

#app-header .superfluo-header-top-menu:first-child > li:first-child > a {
    padding-left: 0;
}

#app-header .superfluo-header-top-menu > li > a:hover,
#app-header .superfluo-header-top-menu > li > a:focus {
    color: var(--color-white);
    background: transparent;
}

#app-header .superfluo-header-top-menu > li > a.superfluo-header-support {
    color: var(--color-primary);
    padding-right: 1rem;
    padding-left: 1rem;
    font-weight: 700;
}

#app-header .superfluo-header-top-menu > li > a.superfluo-header-support:hover,
#app-header .superfluo-header-top-menu > li > a.superfluo-header-support:focus {
    color: color-mix(in srgb, var(--color-primary) 78%, var(--color-white));
}

.superfluo-header-main {
    background: var(--header-background);
}

.superfluo-header-main-row {
    min-height: var(--header-main-height);
    flex-wrap: nowrap;
    transition: min-height 0.35s cubic-bezier(.4, 0, .2, 1);
}

#app-header.superfluo-header-compact .superfluo-header-main-row {
    min-height: var(--header-main-height-compact);
}

.superfluo-header-main-side {
    min-width: 0;
    flex-basis: 0;
}

.superfluo-header-brand {
    padding-right: clamp(1rem, 2.5vw, 2.75rem);
    padding-left: clamp(1rem, 2.5vw, 2.75rem);
}

.superfluo-header-brand a {
    display: block;
}

#header-logo {
    width: auto;
    height: auto;
    max-width: none;
    margin: -1rem 0 0 0;
    display: inline-block;
    transform: none;
    transform-origin: center;
    transition: width 0.35s cubic-bezier(.4, 0, .2, 1);
}

#header-logo {
    width: clamp(7rem, 15vw, 9rem);
}

#app-header.superfluo-header-compact #header-logo {
    width: 8.25rem;
    max-width: none;
    margin: -1rem 0 0 0;
}

#app-header .superfluo-header-menu-trigger {
    min-height: 2.75rem;
    margin: 0;
    padding: 0.5rem 1rem 0.5rem 0;
    color: var(--color-white);
    border: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    white-space: nowrap;
}

#app-header .superfluo-header-menu-trigger:hover,
#app-header .superfluo-header-menu-trigger:focus {
    color: var(--color-primary);
    opacity: 1;
}

#app-header .superfluo-header-menu-trigger img {
    width: 2.25rem;
    height: 2.25rem;
    margin: 0;
    border: 0;
    flex: 0 0 2.25rem;
}

#app-header .superfluo-header-menu-trigger span {
    font-family: var(--font-text);
    font-size: 0.875em;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.025em;
}

.superfluo-header-search {
    position: relative;
    display: inline-block;
}

.superfluo-header-action {
    width: 2.75rem;
    height: 2.75rem;
    color: var(--color-white);
    font-size: 1.375rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.superfluo-header-action:hover,
.superfluo-header-action:focus {
    color: var(--color-primary);
}

#main-search-container {
    width: 0;
    position: absolute;
    top: 50%;
    right: 0;
    margin: 0;
    padding: 0;
    color: var(--color-white);
    background: var(--header-background);
    border: 1px solid transparent;
    border-radius: var(--border-radius-pill);
    box-shadow: none;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transform: translateY(-50%);
    z-index: 5;
    transition:
        width var(--transition),
        opacity var(--transition),
        border-color var(--transition),
        box-shadow var(--transition);
}

#main-search-container.active-search {
    width: min(28rem, calc(100vw - 4rem));
    padding: 0.25rem 0.375rem 0.25rem 1rem;
    border-color: var(--header-border-color);
    box-shadow: var(--box-shadow-small);
    opacity: 1;
    pointer-events: auto;
}

#main-search-form,
#main-search-form .input-group,
#main-search-form .input-group-button {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

#main-search-input {
    height: 2.5rem;
    margin: 0;
    padding: 0.25rem 0.5rem;
    color: var(--color-white);
    background: transparent;
    border: 0;
    box-shadow: none;
    font-size: 1rem;
}

#main-search-input::placeholder {
    color: color-mix(in srgb, var(--color-white) 62%, transparent);
}

#main-search-input:focus {
    color: var(--color-white);
    background: transparent;
    border: 0;
    box-shadow: none;
}

#main-search-container #main-search-submit {
    width: 2.5rem;
    height: 2.5rem;
    color: var(--color-primary);
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#main-search-container #main-search-submit:hover,
#main-search-container #main-search-submit:focus {
    color: var(--color-white);
}

.superfluo-main-menu-shortcuts {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
}

.superfluo-main-menu-shortcuts .menu a {
    color: var(--color-title);
    padding: 0.375rem 0;
    font-family: var(--font-title);
    font-size: 1rem;
    font-weight: 700;
}

.superfluo-main-menu-shortcuts .menu a:hover,
.superfluo-main-menu-shortcuts .menu a:focus,
.superfluo-main-menu-shortcuts .menu a.superfluo-header-support {
    color: var(--color-primary);
}

#jump-to-top {
    display: none;
    position: absolute;
    bottom: 0.5rem;
    right: 0.5rem;
    z-index: 10;
    font-size: 1.25em;
}

#jump-to-top a {
    opacity: 0.25;
}

#jump-to-top a:hover {
    opacity: 1;
}

/* Invert colors */
body.superfluo-invert-colors #app-header {
    --header-background:           #080B0D;
    --header-background-secondary: #12171B;
    --header-border-color:         color-mix(in srgb, var(--color-primary) 72%, transparent);
}

body.superfluo-invert-colors #app-header .superfluo-header-top-menu > li > a:not(.button),
body.superfluo-invert-colors #app-header .superfluo-header-menu-trigger:not(.button),
body.superfluo-invert-colors #app-header .superfluo-header-action:not(.button) {
    color: var(--color-white) !important;
}

body.superfluo-invert-colors #app-header .superfluo-header-top-menu > li > a.superfluo-header-support:not(.button),
body.superfluo-invert-colors #app-header .superfluo-header-top-menu > li > a:hover:not(.button),
body.superfluo-invert-colors #app-header .superfluo-header-top-menu > li > a:focus:not(.button),
body.superfluo-invert-colors #app-header .superfluo-header-menu-trigger:hover:not(.button),
body.superfluo-invert-colors #app-header .superfluo-header-menu-trigger:focus:not(.button),
body.superfluo-invert-colors #app-header .superfluo-header-action:hover:not(.button),
body.superfluo-invert-colors #app-header .superfluo-header-action:focus:not(.button) {
    color: var(--color-primary) !important;
}

body.superfluo-invert-colors #main-search-input {
    color: var(--color-white) !important;
    background: transparent !important;
    border: 0 !important;
}

body.superfluo-invert-colors .superfluo-main-menu-shortcuts {
    border-top-color: var(--color-gray);
}

body.superfluo-invert-colors .superfluo-main-menu-shortcuts .menu a:not(.button) {
    color: var(--color-white) !important;
}

body.superfluo-invert-colors .superfluo-main-menu-shortcuts .menu a:hover:not(.button),
body.superfluo-invert-colors .superfluo-main-menu-shortcuts .menu a:focus:not(.button),
body.superfluo-invert-colors .superfluo-main-menu-shortcuts .menu a.superfluo-header-support:not(.button) {
    color: var(--color-primary) !important;
}

@media screen and (max-width: 63.9375em) {
    :root {
        --header-top-height:          0rem;
        --header-main-height:         5.25rem;
        --header-main-height-compact: 4.5rem;
        --header-total-height:        var(--header-main-height);
    }

    #app-header .grid-container.fluid {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    #header-logo {
        width: 9rem;
    }

    #app-header.superfluo-header-compact #header-logo {
        width: 7rem;
    }
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    :root {
        --header-main-height:         4.25rem;
        --header-main-height-compact: 4.25rem;
    }

    #app-header .grid-container.fluid {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    .superfluo-header-brand {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }

    #app-header .superfluo-header-menu-trigger {
        width: 2.5rem;
        min-height: 2.5rem;
        padding: 0;
        justify-content: flex-start;
    }

    #app-header .superfluo-header-menu-trigger img {
        width: 2rem;
        height: 2rem;
        flex-basis: 2rem;
    }

    #header-logo {
        margin-top: -1rem;
        width: 6rem;
    }
    #app-header.superfluo-header-compact #header-logo {
        margin-top: -1.5rem;
        width: 5.25rem;
    }

    .superfluo-header-action {
        width: 2.5rem;
        height: 2.5rem;
        font-size: 1.25rem;
    }

    #main-search-container {
        position: fixed;
        top: calc(var(--header-main-height) + 0.5rem);
        right: 0.75rem;
        left: 0.75rem;
        transform: none;
    }

    #main-search-container.active-search {
        width: auto;
        padding: 0.25rem 0.375rem 0.25rem 0.75rem;
        box-shadow: var(--box-shadow);
    }

    .superfluo-main-menu-shortcuts .menu a {
        font-size: 0.9375rem;
    }

    #jump-to-top {
        bottom: 0.375rem;
        right: 0.25rem;
        font-size: 1em;
    }
}

@media (prefers-reduced-motion: reduce) {
    .superfluo-header-top,
    .superfluo-header-main-row,
    #header-logo,
    #main-search-container {
        transition: none;
    }
}
#cookies {
    width: 100%;
    position: fixed;
    bottom: -1px;
    left: 0px;
    background-color: var(--color-overlay-strong);
    z-index: 100;
    padding: 1em;
}
#cookies p {
    color: var(--color-light-gray);
    font-size: 0.75em;
    margin-bottom: 0;
}
#cookies a {
    color: var(--color-light-gray);
}
#cookies a:hover {
    color: var(--color-white);
}

main {
    position: relative;
    background: var(--color-page-bg);
    color: var(--color-text);
    /*padding-bottom: 3rem;*/
    overflow-x: hidden;
}


footer {
    --footer-background: #091117;
    --footer-background-bottom: #070D11;
    --footer-border: color-mix(in srgb, var(--color-light-blue) 38%, transparent);
    --footer-text-muted: color-mix(in srgb, var(--color-white) 72%, transparent);
    position: relative;
    color: var(--color-white);
    background: var(--footer-background);
    padding: 0;
    overflow-x: hidden;
}

footer .superfluo-footer-main {
    padding-right: clamp(1rem, 2.25vw, 2.5rem);
    padding-left: clamp(1rem, 2.25vw, 2.5rem);
    background-image: linear-gradient(135deg, color-mix(in srgb, var(--color-black) 94%, transparent), color-mix(in srgb, var(--color-dark-blue) 38%, var(--color-black)));
}

footer .superfluo-footer-container {
    width: 100%;
    max-width: var(--layout-max-width);
    padding-right: clamp(1rem, 2.25vw, 2.5rem);
    padding-left: clamp(1rem, 2.25vw, 2.5rem);
}

footer .superfluo-footer-intro {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    border-bottom: 1px solid var(--footer-border);
}

footer .superfluo-footer-logo-link {
    display: inline-block;
}

footer img.footer-logo {
    width: 100%;
    max-width: 21rem;
    margin-top: -5rem;
}

footer .superfluo-footer-description {
    max-width: 29rem;
    margin: 0;
    color: var(--footer-text-muted);
    font-size: 1.125em;
    line-height: 1.6;
}

footer .superfluo-footer-action-card {
    display: flex;
    align-items: center;
    min-height: 9.5rem;
    height: 100%;
    padding: 1.5rem;
    color: var(--color-white);
    border: 1px solid var(--color-primary);
    border-radius: var(--border-radius-small);
    background: color-mix(in srgb, var(--color-black) 42%, transparent);
    text-decoration: none;
    transition: color var(--transition), background-color var(--transition), transform var(--transition);
}

footer .superfluo-footer-action-card:hover,
footer .superfluo-footer-action-card:focus {
    color: var(--color-on-primary);
    background: var(--color-primary);
    text-decoration: none;
    transform: translateY(-0.125rem);
}

footer .superfluo-footer-action-icon {
    flex: 0 0 auto;
    margin-right: 1rem;
    color: var(--color-primary);
    font-size: 1.75em;
}

footer .superfluo-footer-action-card:hover .superfluo-footer-action-icon,
footer .superfluo-footer-action-card:focus .superfluo-footer-action-icon {
    color: var(--color-on-primary);
}

footer .superfluo-footer-action-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

footer .superfluo-footer-action-content strong {
    color: inherit;
    font-family: var(--font-title);
    font-size: 1.0625em;
    line-height: 1.35;
}

footer .superfluo-footer-action-content > span {
    margin-top: 0.75rem;
    color: var(--color-primary);
    font-size: 1em;
}

footer .superfluo-footer-action-card:hover .superfluo-footer-action-content > span,
footer .superfluo-footer-action-card:focus .superfluo-footer-action-content > span {
    color: var(--color-on-primary);
}

footer .superfluo-footer-action-arrow {
    flex: 0 0 auto;
    margin-left: 0.75rem;
    color: var(--color-primary);
    font-size: 1.375em;
}

footer .superfluo-footer-action-card:hover .superfluo-footer-action-arrow,
footer .superfluo-footer-action-card:focus .superfluo-footer-action-arrow {
    color: var(--color-on-primary);
}

footer .superfluo-footer-navigation {
    padding-top: 2.75rem;
    padding-bottom: 1.75rem;
}

footer .superfluo-footer-accordion {
    margin-bottom: 1.5rem;
}

footer .superfluo-footer-accordion h4 {
    position: relative;
    margin: 0 0 0.75rem 0;
    padding: 0 0 0.75rem 0;
    color: var(--color-white);
    border-bottom: 0.125rem solid var(--color-light-blue);
    font-size: 1.25em;
    font-weight: 700;
    letter-spacing: -0.015em;
}

footer .superfluo-footer-accordion .menu a {
    display: block;
    position: relative;
    margin: 0;
    padding: 0.375rem 0;
    color: var(--footer-text-muted);
    font-family: var(--font-text);
    font-size: 1em;
    font-weight: 400;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

footer .superfluo-footer-accordion .menu a:hover,
footer .superfluo-footer-accordion .menu a:focus,
footer .superfluo-footer-accordion .menu a.superfluo-footer-link-accent {
    color: var(--color-primary);
    text-decoration: none;
}

footer .superfluo-footer-accordion .menu a.superfluo-footer-link-accent:hover,
footer .superfluo-footer-accordion .menu a.superfluo-footer-link-accent:focus {
    color: var(--color-white);
}

footer .superfluo-footer-accordion .menu .fa-external-link-alt {
    margin-left: 0.25rem;
    font-size: 0.75em;
}

footer .superfluo-footer-contact-list .fa-fw {
    margin-right: 0.375rem;
    color: var(--color-light-blue);
}

footer .superfluo-footer-social {
    display: flex;
    align-items: center;
    padding: 0.75rem 0 2.5rem 0;
}

footer .superfluo-footer-social > span {
    margin-right: 1.5rem;
    color: var(--color-white);
    font-family: var(--font-title);
    font-size: 1.125em;
    font-weight: 700;
}

.superfluo-social-links {
    margin-top: 1.5rem;
}

.superfluo-social-links,
footer .superfluo-footer-social-links {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.superfluo-social-links a,
footer .superfluo-footer-social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5em;
    height: 2.5em;
    color: var(--color-light-blue);
    border: 1px solid color-mix(in srgb, var(--color-light-blue) 44%, transparent);
    border-radius: var(--border-radius-small);
    font-size: 1.125em;
    text-decoration: none;
    transition: color var(--transition), border-color var(--transition), background-color var(--transition);
}

.superfluo-social-links a {
    color: var(--color-blue);
    border: 1px solid color-mix(in srgb, var(--color-blue) 44%, transparent);
}

.superfluo-social-links a:hover,
.superfluo-social-links a:focus,
footer .superfluo-footer-social-links a:hover,
footer .superfluo-footer-social-links a:focus {
    color: var(--color-on-primary);
    border-color: var(--color-primary);
    background: var(--color-primary);
    text-decoration: none;
}

footer .footer-copyright {
    margin: 0;
    padding: 1.5rem 0;
    color: var(--footer-text-muted);
    border-top: 1px solid var(--color-light-blue);
    background: var(--footer-background-bottom);
    font-size: 0.875em;
    font-weight: 400;
}

footer .footer-copyright p {
    margin: 0;
    font-size: 1em;
    line-height: 1.5;
}

footer .footer-copyright p + p {
    margin-top: 0.25rem;
}

footer .superfluo-footer-legal {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    margin: 0;
}

footer .superfluo-footer-legal li {
    margin: 0;
}

footer .superfluo-footer-legal a,
footer .superfluo-footer-credits a {
    color: var(--footer-text-muted);
    font-size: 1em;
}

footer .superfluo-footer-legal a:hover,
footer .superfluo-footer-legal a:focus,
footer .superfluo-footer-credits a:hover,
footer .superfluo-footer-credits a:focus {
    color: var(--color-primary);
}

footer .superfluo-footer-accessibility {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

footer .superfluo-footer-accessibility a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25em;
    height: 2.25em;
    color: var(--color-light-blue);
    border: 1px solid color-mix(in srgb, var(--color-light-blue) 42%, transparent);
    border-radius: var(--border-radius-small);
    font-size: 1em;
    text-decoration: none;
}

footer .superfluo-footer-accessibility a:hover,
footer .superfluo-footer-accessibility a:focus {
    color: var(--color-on-primary);
    border-color: var(--color-primary);
    background: var(--color-primary);
    text-decoration: none;
}

footer .superfluo-footer-accessibility-divider {
    width: 1px;
    height: 2em;
    margin: 0 0.25rem;
    background: var(--footer-border);
}

footer .superfluo-footer-credits {
    text-align: right;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    footer .superfluo-footer-main {
        padding-right: 0;
        padding-left: 0;
    }

    footer .superfluo-footer-intro {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
    footer img.footer-logo {
        max-width: 18rem;
        margin-top: -1rem;
    }
    footer .superfluo-footer-description {
        margin-right: auto;
        margin-left: auto;
        font-size: 1em;
        text-align: center;
    }
    footer .superfluo-footer-action-card {
        min-height: 0;
        padding: 1.25rem;
    }
    footer .superfluo-footer-navigation {
        padding-top: 1.5rem;
        padding-bottom: 0.5rem;
    }
    footer .superfluo-footer-accordion {
        margin: 0;
        padding: 0;
        border-bottom: 1px solid var(--footer-border);
    }
    footer .superfluo-footer-accordion h4 {
        margin: 0;
        padding: 1rem 2rem 1rem 0;
        border-bottom: 0;
        font-size: 1.125em;
        cursor: pointer;
    }
    footer .superfluo-footer-accordion h4:focus-visible {
        outline: 0.125rem solid var(--color-primary);
        outline-offset: 0.25rem;
    }
    footer .superfluo-footer-accordion h4::after {
        position: absolute;
        top: 50%;
        right: 0;
        color: var(--color-light-blue);
        font-family: 'Font Awesome 5 Pro';
        font-size: 1em;
        content: "\f107";
        transform: translateY(-50%);
    }
    footer .superfluo-footer-accordion h4.close-icon::after {
        content: "\f106";
    }
    footer .superfluo-footer-accordion ul {
        margin: 0;
        padding: 0 0 1rem 0;
    }
    footer .superfluo-footer-accordion .menu a {
        padding: 0.375rem 0;
        font-size: 1em;
    }
    footer .superfluo-footer-social {
        justify-content: center;
        padding: 1.75rem 0 2.25rem 0;
    }
    footer .superfluo-footer-social > span {
        margin-right: 1rem;
    }
    footer .footer-copyright {
        padding: 1.5rem 0;
        font-size: 0.8125em;
    }
    footer .superfluo-footer-legal {
        justify-content: center;
    }
    footer .superfluo-footer-credits {
        text-align: center;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    footer img.footer-logo {
        margin-top: -3rem;
    }
    footer .superfluo-footer-description {
        font-size: 1em;
    }
    footer .superfluo-footer-accordion {
        margin-bottom: 2rem;
    }
    footer .superfluo-footer-legal {
        justify-content: center;
    }
    footer .superfluo-footer-credits {
        text-align: center;
    }
}

#system-messages {
    margin: 0 auto;
    padding: 0;
    position: fixed;
    width: 40rem;
    top: 10rem;
    left: 2rem;
    right: 2rem;
    z-index: 2000;
    height: 0;
}
/* Small only */
@media screen and (max-width: 39.9375em) {
    #system-messages {
        width: 90vw;
        top: 4rem;
        left: 1rem;
        right: 1rem;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    #system-messages {
        top: 6rem;
    }
}

div#info-message,
div#error-message {
    margin: 0 0 1rem 0;
    border: 0;
    padding: 1rem;
    position: relative;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow-small);
}
div#info-message {
    border-top: 0.5rem solid var(--color-success);
}
div#error-message {
    border-top: 0.5rem solid var(--color-alert);
}
div#info-message p,
div#error-message p {
    font-weight: 650;
    font-size: 1em;
    margin-bottom:0;
    margin-right: 0;
    padding: 1.5rem 1rem;
}
div#info-message.callout.success {
    background-color: var(--color-surface);
    color: var(--color-success);
}
div#error-message.callout.alert {
    background-color: var(--color-surface);
    color: var(--color-alert);
}

.renew-container {
    color: var(--color-white);
    background: var(--color-dark-gray);
    padding: 1rem 0;
}

label {
    font-weight: 700;
    line-height: 1.5;
    font-size: 1em;
    display: inline-block;
    margin-bottom: 0.25em;
}
/* Small only */
@media screen and (max-width: 39.9375em) {
    label {
        font-size: 0.875em;
    }
}


.load-more-container {
    position: relative;
    overflow: hidden;
    text-align: center;
    margin-top: 2rem;
}

#load-more-button {
    position: relative;
}
#load-more-button::before,
#load-more-button::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2000px;
  height: 1px;
  background-color: var(--color-primary);
}
#load-more-button::before {
  right: 100%;
  margin-right: 1rem;
}
#load-more-button::after {
  left: 100%;
  margin-left: 1rem;
}

hr.hr-gray {
    border-bottom: var(--border-strong);
}
hr.hr-gray-dashed {
    border-bottom: var(--border-width) dashed var(--color-border-strong);
}
.menu hr {
    border-bottom: var(--border);
}

.image-border {
    border: 5px solid var(--color-primary);
}

.off-canvas-content {
    background-color: var(--color-black);
    min-height: 100vh !important;
}
.off-canvas {
    height: 100%;
    min-height: 100%;
    background-color: var(--color-light-gray);
    bottom: 0;
    font-size: 0.875em;
}
.off-canvas.is-transition-overlap {
    z-index: 21;
}
.off-canvas h5 {
    padding: 1.75rem 1rem;
    margin: 0 0 1rem 0;
    color: var(--color-white);
    background-color: var(--color-black);
    font-size: 0.875rem;
}
.off-canvas ul.menu li a {
    padding: 0.75rem 0.75rem;
    background-color: var(--color-light-gray) !important;
    color: var(--color-black) !important;
}
.off-canvas .menu li a:hover,
.off-canvas .menu li a.active {
    background-color: var(--color-primary-hover) !important;
    color: var(--color-white) !important;
}
.off-canvas ul.menu li a i {
    color: var(--color-primary-hover) !important;
}
.off-canvas .menu li a:hover i {
    color: var(--color-white) !important;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .off-canvas h5 {
        padding: 1rem 1rem;
    }
    .off-canvas .close-button {
        top: 0.5rem;
        right: 0.5rem;
    }
}

/**
 * Superfluo classes
 */

#superfluo-main-menu-modal {
    width: 100%;
    max-width: none;
    padding: 0;
    overflow: hidden;
    border: 0;
    height: 100vh;
    height: 100dvh;
    min-height: auto;
}

#superfluo-main-menu-modal .superfluo-main-menu-frame {
    min-height: 100vh;
    min-height: 100dvh;
    flex-wrap: nowrap;
}

#superfluo-main-menu-modal .header-icon {
    width: 2.5rem;
    height: 2.5rem;
    margin: 1.25rem auto 0;
    border: 0;
    display: block;
    transition: opacity var(--transition), transform var(--transition);
}

#superfluo-main-menu-modal .header-icon:hover {
    opacity: 0.75;
    transform: rotate(3deg);
}

#superfluo-main-menu-modal .header-icon img {
    display: block;
    width: 100%;
    margin: 0;
    border: 0;
}

.superfluo-main-menu-icons {
    position: sticky;
    top: 0;
    z-index: 2;
    min-width: 4rem;
    background-color: var(--color-black);
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
}

.superfluo-main-menu-container {
    background-color: var(--color-page-bg);
    height: 100vh;
    height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.superfluo-main-menu-shell {
    display: flex;
    width: min(100%, 160rem);
    min-height: 100%;
    margin: 0 auto;
    padding: clamp(2.5rem, 5vw, 3rem) clamp(2rem, 5vw, 3rem) clamp(2rem, 5vw, 3rem);
    flex-direction: column;
}

.superfluo-main-menu-topbar {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 2rem;
}

.superfluo-main-menu-topbar-actions {
    display: flex;
    min-height: 0;
    justify-content: flex-end;
}

.superfluo-main-menu-topbar-actions .button {
    margin: 0 0 1.5rem !important;
}

.superfluo-main-menu-layout {
    display: grid;
    grid-template-columns: minmax(16rem, 26rem) minmax(0, 62rem);
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: start;
}

.superfluo-main-menu-navigation {
    min-width: 0;
}

.superfluo-main-menu-content {
    min-width: 0;
}

.superfluo-main-menu-container .tabs,
.superfluo-main-menu-container .tabs-content {
    background: transparent;
    border: none;
}

.superfluo-main-menu-container .tabs-content {
    margin: 0;
}

.superfluo-main-menu-container .tabs-panel {
    padding: 0;
}

.superfluo-main-menu-container .tabs-title {
    width: 100%;
}

.superfluo-main-menu-container .tabs-title > a {
    position: relative;
    margin: 0 0 0.35rem;
    padding: 0.75rem 3rem 0.75rem 1.25rem;
    border-left: 0.1875rem solid transparent;
    color: var(--color-title);
    background: transparent;
    font-size: clamp(1.5em, 2.1vw, 1.75em);
    font-weight: 700;
    line-height: 1.08;
    font-family: var(--font-title);
    font-optical-sizing: auto;
    letter-spacing: -0.025em;
    transition: color var(--transition), background-color var(--transition), border-color var(--transition);
}

.superfluo-main-menu-container .tabs-title > a:hover,
.superfluo-main-menu-container .tabs-title > a:focus,
.superfluo-main-menu-container .tabs-title.is-active > a,
#superfluo-main-menu-modal .tabs-title > a[aria-selected="true"] {
    color: var(--color-link-hover);
    border-left-color: var(--color-primary);
    background: color-mix(in srgb, var(--color-primary) 7%, transparent);
}

.superfluo-main-menu-container .tabs-title > a::after {
    position: absolute;
    top: 50%;
    right: 1rem;
    color: var(--color-primary);
    font-family: 'Font Awesome 5 Pro';
    content: "\f054";
    font-size: 0.75em;
    font-weight: 600;
    transform: translateY(-50%);
}

#superfluo-main-menu-modal a.main-menu-link,
#superfluo-main-menu-modal a.main-menu-link1x,
#superfluo-main-menu-modal a.main-menu-link2x,
#superfluo-main-menu-modal a.main-menu-link3x {
    display: block;
    margin: 0 0 0.5rem;
    padding: 0.25rem 1rem 0.25rem 0;
    color: var(--color-title);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.15;
    font-family: var(--font-title);
    font-optical-sizing: auto;
    letter-spacing: -0.02em;
}

#superfluo-main-menu-modal a.main-menu-link1x {
    font-weight: 400;
    font-size: 1rem;
    letter-spacing: 1px;
}

#superfluo-main-menu-modal a.main-menu-link2x {
    margin-bottom: 0.625rem;
    font-size: clamp(1.1rem, 1.4vw, 1.35rem);
    font-weight: 600;
}

#superfluo-main-menu-modal a.main-menu-link3x {
    margin-bottom: 1rem;
    padding: 0;
    font-size: clamp(1.75rem, 4vw, 2rem);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -0.04em;
}

#superfluo-main-menu-modal a.main-menu-link:hover,
#superfluo-main-menu-modal a.main-menu-link:focus,
#superfluo-main-menu-modal a.main-menu-link1x:hover,
#superfluo-main-menu-modal a.main-menu-link1x:focus,
#superfluo-main-menu-modal a.main-menu-link2x:hover,
#superfluo-main-menu-modal a.main-menu-link2x:focus,
#superfluo-main-menu-modal a.main-menu-link3x:hover,
#superfluo-main-menu-modal a.main-menu-link3x:focus {
    color: var(--color-link-hover);
}

.superfluo-main-menu-account {
    margin-top: 1.75rem;
    padding: 1.5rem 1.25rem 0;
    border-top: 1px solid var(--color-border);
}

#superfluo-main-menu-modal .superfluo-main-menu-account .main-menu-link {
    margin: 0;
    padding: 0;
    font-size: 1.2rem;
}

.superfluo-main-menu-panel {
    min-width: 0;
}

.superfluo-main-menu-intro {
    max-width: 46rem;
}

.superfluo-main-menu-intro .superfluo-text-container {
    max-width: 43rem;
}

#superfluo-main-menu-modal a.superfluo-main-menu-panel-title {
    position: relative;
    display: inline-block;
    padding-right: 2.5rem;
}

#superfluo-main-menu-modal a.superfluo-main-menu-panel-title::after {
    position: absolute;
    top: 0.16em;
    right: 0;
    color: var(--color-primary);
    font-family: 'Font Awesome 5 Pro';
    content: '\f061';
    font-size: 0.75em;
    font-weight: 400;
    letter-spacing: 0;
}

.superfluo-main-menu-socials {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 18rem));
    gap: 1rem;
    margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

#superfluo-main-menu-modal .superfluo-main-menu-social,
#superfluo-main-menu-modal .superfluo-main-menu-tag {
    margin: 0;
    padding: 1.125rem 1.25rem;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-small);
    background: var(--color-surface);
    transition: border-color var(--transition), background-color var(--transition), transform var(--transition);
}

#superfluo-main-menu-modal .superfluo-main-menu-social:hover,
#superfluo-main-menu-modal .superfluo-main-menu-social:focus,
#superfluo-main-menu-modal .superfluo-main-menu-tag:hover,
#superfluo-main-menu-modal .superfluo-main-menu-tag:focus {
    border-color: var(--color-primary);
    background: color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));
    transform: translateY(-0.125rem);
}

#superfluo-main-menu-modal .superfluo-main-menu-social span,
#superfluo-main-menu-modal .superfluo-main-menu-tag span {
    padding: 0 2rem 0 0;
    font-size: 1.15rem;
}

.superfluo-main-menu-panel-events,
.superfluo-main-menu-panel-contact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(2.5rem, 5vw, 5rem);
    row-gap: 2.5rem;
}

.superfluo-main-menu-section {
    min-width: 0;
}

.superfluo-main-menu-section-events,
.superfluo-main-menu-legal {
    padding-left: clamp(2rem, 4vw, 4rem);
    border-left: 1px solid var(--color-border);
}

.superfluo-main-menu-tags {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 0.5rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-border);
}

.superfluo-main-menu-brand {
    display: flex;
    justify-content: flex-end;
    margin-top: clamp(3rem, 6vw, 5.5rem);
    padding-top: 2rem;
    border-top: 1px solid var(--color-border);
}

.superfluo-main-menu-brand a,
.superfluo-main-menu-brand img {
    display: block;
}

.superfluo-main-menu-brand img {
    width: clamp(10rem, 14vw, 14rem);
    height: auto;
    margin: 0;
}

body.superfluo-invert-colors #superfluo-main-menu-modal .tabs-title > a:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal a.main-menu-link:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal a.main-menu-link1x:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal a.main-menu-link2x:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal a.main-menu-link3x:not(.button) {
    color: var(--color-white) !important;
}

body.superfluo-invert-colors #superfluo-main-menu-modal .tabs-title > a:hover:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal .tabs-title > a:focus:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal .tabs-title.is-active > a:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal .tabs-title > a[aria-selected="true"]:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal a.main-menu-link:hover:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal a.main-menu-link:focus:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal a.main-menu-link1x:hover:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal a.main-menu-link1x:focus:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal a.main-menu-link2x:hover:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal a.main-menu-link2x:focus:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal a.main-menu-link3x:hover:not(.button),
body.superfluo-invert-colors #superfluo-main-menu-modal a.main-menu-link3x:focus:not(.button) {
    color: var(--color-primary) !important;
}

body.superfluo-invert-colors .superfluo-main-menu-brand img {
    /*filter: brightness(0) invert(1);*/
}

body.superfluo-invert-colors .slick-prev::before,
body.superfluo-invert-colors .slick-next::before {
    color: var(--color-primary);
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-main-menu-icons {
        min-width: 3rem;
    }

    #superfluo-main-menu-modal .header-icon {
        width: 1.75rem;
        height: 1.75rem;
        margin-top: 0.75rem;
    }

    .superfluo-main-menu-shell {
        padding: 1.25rem 1rem 2rem;
    }

    .superfluo-main-menu-topbar {
        display: block;
    }

    .superfluo-main-menu-shortcuts {
        margin: 0 0 1.5rem;
        padding: 0 0 1.25rem;
        border-top: 0;
        border-bottom: 1px solid var(--color-border);
    }

    .superfluo-main-menu-shortcuts .menu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1rem;
    }

    .superfluo-main-menu-shortcuts .menu a {
        font-size: 0.8125rem;
    }

    .superfluo-main-menu-topbar-actions {
        justify-content: flex-start;
    }

    .superfluo-main-menu-layout {
        display: block;
    }

    .superfluo-main-menu-navigation {
        margin-bottom: 2rem;
    }

    .superfluo-main-menu-container .tabs-title > a {
        margin-bottom: 0.25rem;
        padding: 0.625rem 2.5rem 0.625rem 0.875rem;
        font-size: 1.375em;
    }

    .superfluo-main-menu-container .tabs-title > a::after {
        right: 0.875rem;
    }

    .superfluo-main-menu-container .tabs-title.is-active > a::after,
    #superfluo-main-menu-modal .tabs-title > a[aria-selected="true"]::after {
        content: "\f078";
    }

    .superfluo-main-menu-account {
        margin-top: 1rem;
        padding: 1rem 0.875rem 0;
    }

    #superfluo-main-menu-modal a.main-menu-link3x {
        font-size: clamp(1.75rem, 4vw, 2rem);
    }

    .superfluo-main-menu-socials {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 2rem;
    }

    #superfluo-main-menu-modal .superfluo-main-menu-social,
    #superfluo-main-menu-modal .superfluo-main-menu-tag {
        padding: 0.875rem;
    }

    #superfluo-main-menu-modal .superfluo-main-menu-social span,
    #superfluo-main-menu-modal .superfluo-main-menu-tag span {
        font-size: 1rem;
    }

    .superfluo-main-menu-panel-events,
    .superfluo-main-menu-panel-contact {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 2rem;
    }

    .superfluo-main-menu-section-events,
    .superfluo-main-menu-legal {
        padding: 2rem 0 0;
        border-top: 1px solid var(--color-border);
        border-left: 0;
    }

    .superfluo-main-menu-tags {
        grid-template-columns: minmax(0, 1fr);
        padding-top: 1.5rem;
    }

    .superfluo-main-menu-brand {
        justify-content: flex-start;
        margin-top: 3rem;
        padding-top: 1.5rem;
    }

    .superfluo-main-menu-brand img {
        width: 10rem;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .superfluo-main-menu-icons {
        min-width: 3.5rem;
    }

    #superfluo-main-menu-modal .header-icon {
        width: 2rem;
        height: 2rem;
        margin-top: 1rem;
    }

    .superfluo-main-menu-shell {
        padding: 2.5rem 2rem 2rem;
    }

    .superfluo-main-menu-layout {
        grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr);
        gap: 2.5rem;
    }

    .superfluo-main-menu-container .tabs-title > a {
        padding-right: 2.5rem;
        font-size: 1.5em;
    }

    .superfluo-main-menu-panel-events,
    .superfluo-main-menu-panel-contact {
        column-gap: 2rem;
    }

    .superfluo-main-menu-section-events,
    .superfluo-main-menu-legal {
        padding-left: 2rem;
    }

    .superfluo-main-menu-tags {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.superfluo-icon {
    display: block;
    margin: 0;
    padding: 1em;
    line-height: 1.25em;
    text-transform: uppercase;
}
.superfluo-icon img {
    width: 65%;
    min-width: 3rem;
    max-width: 4rem;
    padding-bottom: 0.5rem;
}
.superfluo-icon strong {
    font-size: 2.5em;
    display: inline-block;
    padding-bottom: 0.5em;
}
.superfluo-icon span {
    font-size: 0.75em;
    line-height: 1em;
    padding-top: 1em;
    display: block;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-icon img {
        width: 90%;
    }
    .superfluo-icon strong {
        font-size: 1.5em;
    }
    .superfluo-icon span {
        font-size: 0.625em;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .superfluo-icon img {
        width: 80%;
    }
    .superfluo-icon strong {
        font-size: 2em;
    }
}

.superfluo-callout {
    margin-top: 1rem;
    margin-bottom: 2rem;
    border: var(--border);
    background-color: var(--color-primary-soft);
    color: var(--color-black);
    border-radius: var(--border-radius);
    font-size: 1em;
    overflow: hidden;
}
.superfluo-callout p {
    border: 0;
    margin: 0;
    padding: 1rem;
    font-size: 1em;
}
.superfluo-callout p+p {
    padding: 0 1rem 1rem 1rem;
    margin-top: -0.5rem;
}
.superfluo-callout .superfluo-icon-block {
    background: var(--color-primary);
    color: var(--color-black);
    padding: 0.75rem;
    border-top-left-radius: var(--border-radius);
    border-bottom-left-radius: var(--border-radius);
    font-size: 1.5em;
}
.superfluo-callout .superfluo-text-block {
    color: var(--color-black);
}
.superfluo-callout.alert {
    color: var(--color-black);
    background: var(--color-alert-soft);
}
.superfluo-callout.alert .superfluo-icon-block {
    background: var(--color-alert);
    color: var(--color-on-alert);
}
.superfluo-callout.info {
    color: var(--color-black);
    background: var(--color-info-soft);
}
.superfluo-callout.info .superfluo-icon-block {
    background: var(--color-info);
    color: var(--color-on-info);
}
.superfluo-callout.important {
    color: var(--color-black);
    background: var(--color-success-soft);
}
.superfluo-callout.important .superfluo-icon-block {
    background: var(--color-success);
    color: var(--color-on-success);
}

a.superfluo-link {
    font-size: 1.125em;
    display: block;
}
a.superfluo-link-underline {
    text-decoration: underline;
    font-size: 1.375em;
    font-weight: 700;
    display: inline-block;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    line-height: 1.1;
    font-family: var(--font-title);
    font-optical-sizing: auto;
    letter-spacing: -0.025em;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    a.superfluo-link {
        font-size: 0.875em;
    }
    a.superfluo-link-underline {
        text-decoration: underline;
        font-size: 1.25em;
    }
}

a.superfluo-link span {
    font-size: 1.5em;
    font-weight: 700;
    color: var(--color-title);
    display: block;
    position: relative;
    padding-right: 2rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    line-height: 1.1;
    font-family: var(--font-title);
    font-optical-sizing: auto;
    letter-spacing: -0.025em;
}
a.superfluo-link small {
    font-size: 0.875em;
    font-weight: 500;
    color: var(--color-link);
    display: block;
    margin-top: 0.75rem;
    position: relative;
}
a.superfluo-link span::after {
    color: var(--color-primary-hover);
    font-family: 'Font Awesome 5 Pro';
    content: '\f061';
    font-size: 0.75em;
    text-align: right;
    font-weight: 400;
    position: absolute;
    right: 0;
    top: 0.25em;

}
a.superfluo-link:hover span {
    text-decoration: underline;
}
a.superfluo-link:hover span::after {
    font-weight: 900;
}

/* Content previous / next navigation */
.superfluo-content-navigation {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-light-gray);
}

.superfluo-content-navigation-item {
    position: relative;
    display: block;
    height: 100%;
    min-height: 8.5rem;
    padding: 1.5rem 1.75rem;
    border: 1px solid var(--color-light-gray);
    border-radius: 0.35rem;
    background-color: var(--color-white);
    text-decoration: none;
    transition:
        border-color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

.superfluo-content-navigation-item:hover,
.superfluo-content-navigation-item:focus {
    border-color: var(--color-link);
    background-color: var(--color-page-bg);
    transform: translateY(-2px);
}

.superfluo-content-navigation-label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.75rem;
    color: var(--color-link);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.superfluo-content-navigation-item strong {
    display: block;
    color: var(--color-title);
    font-family: var(--font-title);
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.45;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.superfluo-content-navigation-item:hover strong,
.superfluo-content-navigation-item:focus strong {
    color: var(--color-link-hover);
}

.superfluo-content-navigation-next {
    text-align: right;
}
.superfluo-content-navigation .cell:only-child > .superfluo-content-navigation-next {
    border-left: 0;
}

.superfluo-content-navigation-next .superfluo-content-navigation-label {
    justify-content: flex-end;
}


/* Dark mode */
body.superfluo-invert-colors .superfluo-content-navigation {
    border-top-color: rgba(255, 255, 255, 0.12);
}

body.superfluo-invert-colors .superfluo-content-navigation-item {
    border-color: rgba(255, 255, 255, 0.12);
    background-color: rgba(255, 255, 255, 0.035);
}

body.superfluo-invert-colors .superfluo-content-navigation-item:hover,
body.superfluo-invert-colors .superfluo-content-navigation-item:focus {
    border-color: var(--color-link);
    background-color: rgba(255, 255, 255, 0.07);
}

body.superfluo-invert-colors .superfluo-content-navigation-item strong {
    color: var(--color-white);
}

body.superfluo-invert-colors .superfluo-content-navigation-item:hover strong,
body.superfluo-invert-colors .superfluo-content-navigation-item:focus strong {
    color: var(--color-link);
}


/* Mobile */
@media screen and (max-width: 39.9375em) {

    .superfluo-content-navigation {
        margin-top: 2.5rem;
        padding-top: 1.5rem;
    }

    .superfluo-content-navigation-item {
        min-height: 0;
        padding: 1.25rem;
    }

    .superfluo-content-navigation-item strong {
        font-size: 1rem;
    }

    .superfluo-content-navigation-next {
        text-align: left;
    }

    .superfluo-content-navigation-next .superfluo-content-navigation-label {
        justify-content: flex-start;
    }
}


.superfluo-admin-header,
.superfluo-page-header {
    background: var(--color-black);
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    position: relative;
    overflow: hidden;
    padding-left: 2rem;
    padding-right: 0;
}
.superfluo-admin-header {
    background-size: cover, cover;
    min-height: 12rem !important;
    height: auto !important;
    margin-bottom: 1rem;
    padding-bottom: 2rem;
}
.superfluo-group-header {
    background: var(--color-dark-gray);
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 40rem;
    position: relative;
    overflow: hidden;
    padding-top: 4rem;
    margin-right: -1rem;
}

.superfluo-group-header,
.superfluo-group-header h2,
.superfluo-group-header p {
    color: var(--color-white);
}

.superfluo-group-header .superfluo-group-logo {
    width: 100%;
    max-width: 20rem;
    margin-bottom: 4rem;
}
.superfluo-group-header .superfluo-group-image {
    position: relative;
    /*overflow: hidden;*/
    width: 100%;
    height: 100%;
}
.superfluo-group-header .superfluo-group-image img {
    position: absolute;
    width: 40rem;
    max-width: 40rem;
    height: 40rem;
    border: none;
    border-radius: var(--border-radius-round);
    bottom: -4rem;
    left: 1rem;
}
.superfluo-group-header .superfluo-group-image div {
    position: absolute;
    width: 40rem;
    height: 40rem;
    border: 4px solid var(--color-white);
    border-radius: var(--border-radius-round);
    bottom: -5rem;
    left: 0rem;
}

.superfluo-orbit {
    background-color: var(--color-overlay);
    height: 50rem;
}


/* Multimedia hero */
.multimedia-hero {
    position: relative;
    width: 100%;
    height: 30rem;
    overflow: hidden;
    background-color: var(--color-black);
}

.multimedia-hero .orbit,
.multimedia-hero .orbit-wrapper {
    height: 100%;
}

.multimedia-hero .orbit-container,
.multimedia-hero .orbit-slide {
    height: 100% !important;
    max-height: none !important;
}

.multimedia-hero-slide {
    position: relative;
}

.multimedia-hero-image {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.multimedia-hero-overlay {
    position: absolute;
    z-index: 1;
    inset: 0;
    margin: 0;
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--color-black) 40%, transparent) 0%,
        color-mix(in srgb, var(--color-black) 55%, transparent) 50%,
        color-mix(in srgb, var(--color-black) 92%, transparent) 100%
    );
}

.multimedia-hero-caption {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding: 2rem 2rem 2.5rem;
}

.multimedia-hero-content {
    width: 100%;
    max-width: 44rem;
}

.multimedia-hero-overline {
    margin: 0 0 0.5rem;
    color: var(--color-primary);
    font-size: 0.75em;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.multimedia-hero h2 {
    margin: 0;
    color: var(--color-white);
    font-size: 2.25em;
    line-height: 1.08;
    text-shadow: 0 2px 12px var(--color-black);
}

.multimedia-hero h2 a {
    color: inherit;
}

.multimedia-hero h2 a:hover {
    color: var(--color-primary);
}

.multimedia-hero-description {
    max-width: 38rem;
    margin: 1rem 0 0;
    color: var(--color-white);
    font-size: 1em;
    line-height: 1.5;
}

.multimedia-hero-action {
    margin: 1.25rem 0 0;
}

.multimedia-hero-action .button {
    margin: 0;
    font-size: 0.875em;
}

.multimedia-hero .orbit-bullets {
    top: 1rem;
    right: 1rem;
    bottom: auto;
    left: auto;
    z-index: 3;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .multimedia-hero {
        height: clamp(30rem, 125vw, 34rem);
    }

    .multimedia-hero-caption {
        padding: 3.5rem 1.25rem 1.25rem;
    }

    .multimedia-hero h2 {
        display: -webkit-box;
        overflow: hidden;
        font-size: 1.875em;
        line-height: 1.08;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .multimedia-hero-description {
        display: -webkit-box;
        overflow: hidden;
        margin-top: 0.75rem;
        font-size: 0.9375em;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .multimedia-hero-action {
        margin-top: 1rem;
    }

    .multimedia-hero-action .button {
        padding: 0.75rem 1rem;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .multimedia-hero {
        height: 30rem;
    }

    .multimedia-hero h2 {
        font-size: 2.75em;
    }
}

/* Large and up */
@media screen and (min-width: 64em) {
    .multimedia-hero {
        height: 28rem;
    }

    .multimedia-hero-homepage {
        height: 32rem;
    }

    .multimedia-hero h2 {
        font-size: 3em;
    }
}

/* Multimedia hero 3D cube animation */
.multimedia-hero .orbit-container {
    perspective: 1400px;
    perspective-origin: center;
    transform-style: preserve-3d;
}

.multimedia-hero .orbit-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
    max-height: none !important;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

body.superfluo-invert-colors .multimedia-hero .multimedia-hero-overline {
    color: var(--color-primary) !important;
}

body.superfluo-invert-colors .multimedia-hero h2 a:not(.button) {
    color: var(--color-white) !important;
}

body.superfluo-invert-colors .multimedia-hero h2 a:hover:not(.button),
body.superfluo-invert-colors .multimedia-hero h2 a:focus:not(.button) {
    color: var(--color-primary) !important;
}

/* Shared cube animation */
.multimedia-cube-in-left.mui-enter,
.multimedia-cube-in-right.mui-enter,
.multimedia-cube-out-left.mui-leave,
.multimedia-cube-out-right.mui-leave {
    transition-duration: 850ms;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
    will-change: transform;
}

/* New slide enters from right */
.multimedia-cube-in-right.mui-enter {
    z-index: 2;
    transform: translateX(100%) rotateY(90deg);
    transform-origin: left center;
}

.multimedia-cube-in-right.mui-enter.mui-enter-active {
    transform: translateX(0) rotateY(0deg);
}

/* Current slide exits to left */
.multimedia-cube-out-left.mui-leave {
    z-index: 1;
    transform: translateX(0) rotateY(0deg);
    transform-origin: right center;
}

.multimedia-cube-out-left.mui-leave.mui-leave-active {
    transform: translateX(-100%) rotateY(-90deg);
}

/* New slide enters from left */
.multimedia-cube-in-left.mui-enter {
    z-index: 2;
    transform: translateX(-100%) rotateY(-90deg);
    transform-origin: right center;
}

.multimedia-cube-in-left.mui-enter.mui-enter-active {
    transform: translateX(0) rotateY(0deg);
}

/* Current slide exits to right */
.multimedia-cube-out-right.mui-leave {
    z-index: 1;
    transform: translateX(0) rotateY(0deg);
    transform-origin: left center;
}

.multimedia-cube-out-right.mui-leave.mui-leave-active {
    transform: translateX(100%) rotateY(90deg);
}

/* Reduce motion accessibility */
@media (prefers-reduced-motion: reduce) {
    .multimedia-cube-in-left.mui-enter,
    .multimedia-cube-in-right.mui-enter,
    .multimedia-cube-out-left.mui-leave,
    .multimedia-cube-out-right.mui-leave {
        transition-duration: 1ms;
    }
}



/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-admin-header,
    .superfluo-page-header {
        padding-left: 0;
        padding-right: 0;
    }
}

.superfluo-gradient-dashboard {
    background: var(--color-dark-gray);
    background-repeat: no-repeat;
    background-size: cover, 200% 200%;
    background-position: right bottom, center;

    min-height: 30rem;
    height: auto;
    padding-top: 0em;
    padding-bottom: 2rem;
}
.superfluo-gradient-dashboard h1,
.superfluo-gradient-dashboard h5,
.superfluo-gradient-dashboard p {
    color: var(--color-white) !important;
    margin: 0.5rem 0;
    padding: 0;
}
.superfluo-gradient-dashboard h1 {
    letter-spacing: 1px;
    font-weight: 600;
    font-size: 3em;
}
.superfluo-gradient-dashboard h5 {
    letter-spacing: 1px;
    font-weight: 400;
    font-size: 1.25em;
}
/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .superfluo-gradient-dashboard h1 {
        font-size: 2.25em;
    }
}
/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-gradient-dashboard h1 {
        font-size: 1.75em;
    }
    .superfluo-gradient-dashboard h5 {
        font-size: 1em;
    }
}

.superfluo-gradient-highlight { /* Carousel highlight */
    background: var(--color-dark-blue);
    background-repeat: no-repeat;
    background-size: contain, cover;
    background-position: right bottom, center;
}
.superfluo-group-header h2,
.superfluo-admin-header h2,
.superfluo-page-header h2,
.superfluo-group-header .superfluo-text-container h2,
.superfluo-admin-header .superfluo-text-container h2,
.superfluo-page-header .superfluo-text-container h2
{
    color: var(--color-white);
    font-size: 1.75em;
}
.superfluo-group-header p,
.superfluo-admin-header p,
.superfluo-page-header p,
.superfluo-group-header .superfluo-text-container p,
.superfluo-admin-header .superfluo-text-container p,
.superfluo-page-header .superfluo-text-container p {
    color: var(--color-white);
    font-weight: 500;
    font-size: 0.75em;
    padding-right: 1rem;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-admin-header {
        min-height: 15rem;
        height: 15rem;
        background-position: right bottom, center, center;
        background-size: 8rem, cover, cover;
    }
    .superfluo-page-header,
    .superfluo-group-header {
        min-height: 13rem;
        height: auto;
        padding: 3rem 0 3rem 0;
    }
    .superfluo-group-header .superfluo-group-logo {
        width: 100%;
        max-width: 15rem;
        margin-bottom: 2rem;
    }
    .superfluo-orbit {
        height: 30rem;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .superfluo-admin-header {
        min-height: 10rem !important;
    }
    .superfluo-page-header {
        min-height: 15rem;
    }
    .superfluo-group-header h2,
    .superfluo-admin-header h2,
    .superfluo-page-header h2,
    .superfluo-group-header .superfluo-text-container h2,
    .superfluo-admin-header .superfluo-text-container h2,
    .superfluo-page-header .superfluo-text-container h2 {
        font-size: 2.25em;
    }
    .superfluo-group-header p,
    .superfluo-admin-header p,
    .superfluo-page-header p,
    .superfluo-group-header .superfluo-text-container p,
    .superfluo-admin-header .superfluo-text-container p,
    .superfluo-page-header .superfluo-text-container p {
        font-size: 0.875em;
    }
    .superfluo-group-header .superfluo-group-logo {
        width: 100%;
        max-width: 20rem;
        margin-bottom: 3rem;
    }
    .superfluo-orbit {
        background-size: 110%, cover, 200% 200%;
        height: 40rem;
    }
}

/* Large and up */
@media screen and (min-width: 64em) {
    .superfluo-page-header {
        min-height: 18rem;
    }
    .superfluo-group-header h2,
    .superfluo-admin-header h2,
    .superfluo-page-header h2,
    .superfluo-group-header .superfluo-text-container h2,
    .superfluo-admin-header .superfluo-text-container h2,
    .superfluo-page-header .superfluo-text-container h2 {
        font-size: 3em;
    }
    .superfluo-group-header p,
    .superfluo-admin-header p,
    .superfluo-page-header p,
    .superfluo-group-header .superfluo-text-container p,
    .superfluo-admin-header .superfluo-text-container p,
    .superfluo-page-header .superfluo-text-container p {
        font-size: 1em;
    }
    .superfluo-orbit {
        height: 50rem;
    }
}

.superfluo-admin-header .grid-container,
.superfluo-page-header .grid-container {
    height: 100%;
}
.superfluo-admin-header .grid-container .grid-x,
.superfluo-page-header .grid-container .grid-x {
    height: 100%;
}


.superfluo-block-text {
    padding: 1rem 3rem;
    height: 100%;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-block-text {
        padding: 1rem 2rem;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .superfluo-block-text {
        padding: 1rem 3rem;
    }
}

/* Large and up */
@media screen and (min-width: 64em) {
    .superfluo-block-text {
        padding: 1rem 6rem;
    }
}

.superfluo-dashboard-top {
    margin-top: 1rem !important;
}

.superfluo-margin-top {
    margin-top: 2rem !important;
}
.superfluo-margin-right {
    margin-right: 2rem !important;
}
.superfluo-margin-bottom {
    margin-bottom: 2rem !important;
}
.superfluo-margin-left {
    margin-left: 2rem !important;
}
.superfluo-padding-top {
    padding-top: 2rem !important;
}
.superfluo-padding-right {
    padding-right: 2rem !important;
}
.superfluo-padding-bottom {
    padding-bottom: 2rem !important;
}
.superfluo-padding-left {
    padding-left: 2rem !important;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-margin-top-small {
        margin-top: 2rem !important;
    }
    .superfluo-margin-right-small {
        margin-right: 2rem !important;
    }
    .superfluo-margin-bottom-small {
        margin-bottom: 2rem !important;
    }
    .superfluo-margin-left-small {
        margin-left: 2rem !important;
    }

    .superfluo-text-left-small {
        text-align: left  !important;
    }
    .superfluo-text-center-small {
        text-align: center  !important;
    }
    .superfluo-text-right-small {
        text-align: right  !important;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .superfluo-margin-top {
        margin-top: 2.5rem !important;
    }
    .superfluo-margin-right {
        margin-right: 2.5rem !important;
    }
    .superfluo-margin-bottom {
        margin-bottom: 2.5rem !important;
    }
    .superfluo-margin-left {
        margin-left: 2.5rem !important;
    }
    .superfluo-padding-top {
        padding-top: 2.5rem !important;
    }
    .superfluo-padding-right {
        padding-right: 2.5rem !important;
    }
    .superfluo-padding-bottom {
        padding-bottom: 2.5rem !important;
    }
    .superfluo-padding-left {
        padding-left: 2.5rem !important;
    }

    .superfluo-margin-top-medium {
        margin-top: 2.5rem !important;
    }
    .superfluo-margin-right-medium {
        margin-right: 2.5rem !important;
    }
    .superfluo-margin-bottom-medium {
        margin-bottom: 2.5rem !important;
    }
    .superfluo-margin-left-medium {
        margin-left: 2.5rem !important;
    }

    .superfluo-text-left-medium {
        text-align: left  !important;
    }
    .superfluo-text-center-medium {
        text-align: center  !important;
    }
    .superfluo-text-right-medium {
        text-align: right  !important;
    }
}

/* Large and up */
@media screen and (min-width: 64em) {
    .superfluo-margin-top {
        margin-top: 3rem !important;
    }
    .superfluo-margin-right {
        margin-right: 3rem !important;
    }
    .superfluo-margin-bottom {
        margin-bottom: 3rem !important;
    }
    .superfluo-margin-left {
        margin-left: 3rem !important;
    }
    .superfluo-padding-top {
        padding-top: 3rem !important;
    }
    .superfluo-padding-right {
        padding-right: 3rem !important;
    }
    .superfluo-padding-bottom {
        padding-bottom: 3rem !important;
    }
    .superfluo-padding-left {
        padding-left: 3rem !important;
    }

    .superfluo-margin-top-large {
        margin-top: 3rem;
    }
    .superfluo-margin-right-large {
        margin-right: 3rem !important;
    }
    .superfluo-margin-bottom-large {
        margin-bottom: 3rem !important;
    }
    .superfluo-margin-left-large {
        margin-left: 3rem !important;
    }

    .superfluo-text-left-large {
        text-align: left  !important;
    }
    .superfluo-text-center-large {
        text-align: center  !important;
    }
    .superfluo-text-right-large {
        text-align: right  !important;
    }
}

#user-portrait-image-container {
    width: 11rem;
    height: 11rem;
    display: block;
    position: relative;
    justify-content: center;
    overflow: hidden;
    margin: 0 auto 1rem auto;
}
#user-portrait-image-container a {
    position: absolute;
    top: calc(50% - 2rem);
    left: calc(50% - 2rem);
    display: none;
    z-index: 2;
    font-size: 3rem;
}
#user-portrait-image-container:hover a {
    display: inline-block;
}
#user-portrait-image-container:hover img {
    opacity: 0.9;
}
#user-portrait-image-container img {
    width: 100%;
    display: inline-block;
    border-radius: var(--border-radius-round);
    border: 3px solid var(--color-primary);
    z-index: 1;
}

.profile-photo-edit-container {
    border: 2px dashed var(--color-primary-hover);
    background: var(--color-light-gray);
    border-radius: var(--border-radius-large);
    padding: 0;
    min-height: 20rem;
    min-width: 20rem;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.profile-photo-edit-container img.superfluo-thumbnail {
    width: 15rem;
    height: 15rem;
    display: inline-block;
    border-radius: var(--border-radius-round);
    border: 3px solid var(--color-white);
}
.profile-photo-edit-container img.superfluo-picture {
    width: 100%;
    height: auto;
    display: block;
    border: none;
}

img.user-portrait-image {
    width: 80%;
    min-width: 15rem;
    display: inline-block;
    border-radius: var(--border-radius-round);
    border: 3px solid var(--color-white);
    margin-bottom: 2rem;
}

a img.user-portrait-image {
    filter: grayscale(100%);
    transition: filter 0.3s;
    overflow: hidden;
}
a:hover img.user-portrait-image {
    filter:  none;
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .profile-photo-edit-container {
        min-width: 15rem;
    }
    .profile-photo-edit-container img.superfluo-thumbnail {
        width: 10rem;
        height: 10rem;
    }
    img.user-portrait-image {
        min-width: 10rem;
    }
}

.superfluo-slick.slick-slider h3 {
    color: var(--color-title);
    margin: 1.5rem 0 1rem 0;
    font-size: 1.75em;
}
.superfluo-slick.slick-slider h4 {
    color: var(--color-link);
    text-transform: uppercase;
    margin: 1rem 0 1rem 0;
    font-size: 1em;
}
.superfluo-slick.slick-slider p {
    color: var(--color-text);
    font-size: 1em;
}
.superfluo-slick.slick-slider .slick-slide:hover h3 {
    text-decoration: underline;
}


.slick-slider h3 {
    color: var(--color-black);
    padding: 0;
    margin: 2rem 0 0 0;
    font-size: 1.375em;
}

.slick-slide a img  {
    width: 100%;
   -webkit-transition: .2s ease-in-out;
           transition: .2s ease-in-out;
}
.slick-slide a:hover img  {
    width: 100%;
    -webkit-transform: scale(1.05, 1.05);
        -ms-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05);
   -webkit-transition: .2s ease-in-out;
           transition: .2s ease-in-out;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .slick-slider h3 {
        margin: 1rem 0 0 0;
        font-size: 0.875em;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .slick-slider h3 {
        margin: 1.5rem 0 0 0;
        font-size: 1.25em;
    }
}

/* News/Event block */
.homepage-hero-section > .grid-x {
    align-items: stretch;
}

.homepage-hero-sidebar {
    display: flex;
    flex-direction: column;
}

.homepage-content-tabs {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-top: 0.25rem solid var(--color-primary);
    background: var(--color-surface);
    box-shadow: var(--box-shadow);
}

.homepage-content-tabs .tabs {
    display: flex;
    margin: 0;
    border: 0;
    border-bottom: var(--border);
    border-radius: 0;
    background: transparent;
}

.homepage-content-tabs .tabs-title {
    width: 50%;
}

.homepage-content-tabs .tabs-title > a {
    position: relative;
    padding: 1.125rem 1rem;
    color: var(--color-gray);
    background: transparent;
    font-family: var(--font-text);
    font-size: 0.75em;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.homepage-content-tabs .tabs-title > a::after {
    position: absolute;
    right: 1rem;
    bottom: -1px;
    left: 1rem;
    height: 0.1875rem;
    background: transparent;
    content: "";
}

.homepage-content-tabs .tabs-title > a:hover,
.homepage-content-tabs .tabs-title > a:focus,
.homepage-content-tabs .tabs-title > a[aria-selected="true"] {
    color: var(--color-title);
    background: transparent;
}

.homepage-content-tabs .tabs-title > a[aria-selected="true"]::after {
    background: var(--color-primary);
}

.homepage-content-tabs .tabs-content {
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.homepage-content-tabs .tabs-panel {
    min-height: 0;
    padding: 0;
}

.homepage-content-tabs .tabs-panel.is-active {
    display: flex;
    flex-direction: column;
}

.homepage-content-list-scroll {
    min-height: 0;
}

.homepage-content-list-item {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: 0.875rem;
    margin: 0 1.25rem;
    padding: 1.25rem 0;
    border-bottom: var(--border);
}

.homepage-content-list-number {
    color: var(--color-primary);
    font-family: var(--font-title);
    font-size: 1.375em;
    font-weight: 700;
    line-height: 1;
}

.homepage-content-list-body {
    min-width: 0;
}

.homepage-content-list-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem 0.75rem;
    margin: 0 0 0.4rem;
    color: var(--color-gray);
    font-size: 0.6875em;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-transform: uppercase;
}

.homepage-content-list-meta span {
    color: var(--color-primary-hover);
}

.homepage-content-list-meta time {
    color: inherit;
}

.homepage-content-list-item h3 {
    margin: 0;
    font-size: 1.1875em;
    line-height: 1.18;
    letter-spacing: -0.015em;
}

.homepage-content-list-item h3 a {
    color: var(--color-title);
}

.homepage-content-list-item h3 a:hover,
.homepage-content-list-item h3 a:focus {
    color: var(--color-link-hover);
}

.homepage-content-list-empty {
    margin: 0;
    padding: 2rem 1.25rem;
    color: var(--color-gray);
    text-align: center;
}

.homepage-content-list-footer {
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-end;
    gap: 1rem;
    margin: 0;
    padding: 1rem 1.25rem 1.125rem;
    background: var(--color-surface);
}

.homepage-content-list-footer a {
    color: var(--color-link);
    font-size: 0.75em;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.homepage-content-list-footer span {
    display: inline-block;
    margin-left: 0.375rem;
    transition: transform 180ms ease;
}

.homepage-content-list-footer a:hover span,
.homepage-content-list-footer a:focus span {
    transform: translateX(0.25rem);
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .homepage-content-list-scroll {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .homepage-content-list-scroll .homepage-content-list-item {
        margin: 0;
        padding: 1.25rem;
    }

    .homepage-content-list-scroll > .homepage-content-list-item:nth-child(odd):not(:last-child) {
        border-right: var(--border);
    }

    .homepage-content-list-scroll > .homepage-content-list-item:last-child:nth-child(odd),
    .homepage-content-list-scroll > .homepage-content-list-empty {
        grid-column: 1 / -1;
        border-right: 0;
    }
}

/* Large and up */
@media screen and (min-width: 64em) {
    .homepage-hero-section .multimedia-hero,
    .homepage-hero-sidebar {
        height: 32rem;
    }

    .homepage-hero-sidebar {
        min-height: 0;
        overflow: hidden;
    }

    .homepage-hero-sidebar .homepage-content-tabs {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        width: 100%;
        height: 100%;
        min-height: 0;
    }

    .homepage-hero-sidebar .tabs {
        flex: 0 0 auto;
    }

    .homepage-hero-sidebar .tabs-content {
        display: flex;
        flex: 1 1 0;
        flex-direction: column;
        min-height: 0;
        overflow: hidden;
    }

    .homepage-hero-sidebar .tabs-panel.is-active {
        display: flex;
        flex: 1 1 0;
        flex-direction: column;
        min-height: 0;
        overflow: hidden;
    }

    .homepage-hero-sidebar .homepage-content-list-scroll {
        flex: 1 1 0;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
    }

    .homepage-hero-sidebar .homepage-content-list-item {
        grid-template-columns: 1.75rem minmax(0, 1fr);
        gap: 0.75rem;
        margin: 0 1rem;
        padding: 0.875rem 0;
    }

    .homepage-hero-sidebar .homepage-content-list-number {
        font-size: 1.25em;
    }

    .homepage-hero-sidebar .homepage-content-list-meta {
        margin-bottom: 0.25rem;
        font-size: 0.625em;
    }

    .homepage-hero-sidebar .homepage-content-list-item h3 {
        display: -webkit-box;
        overflow: hidden;
        font-size: 1.0625em;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .homepage-hero-sidebar .homepage-content-list-footer {
        padding: 0.75rem 1rem 0.875rem;
    }
}

body.superfluo-invert-colors .homepage-content-tabs {
    background: var(--color-surface);
}

body.superfluo-invert-colors .homepage-content-tabs .tabs {
    border-color: var(--color-border);
}

body.superfluo-invert-colors .homepage-content-tabs .tabs-title > a:not(.button) {
    color: var(--color-light-gray) !important;
}

body.superfluo-invert-colors .homepage-content-tabs .tabs-title > a:hover:not(.button),
body.superfluo-invert-colors .homepage-content-tabs .tabs-title > a:focus:not(.button),
body.superfluo-invert-colors .homepage-content-tabs .tabs-title > a[aria-selected="true"]:not(.button),
body.superfluo-invert-colors .homepage-content-list-item h3 a:not(.button) {
    color: var(--color-white) !important;
}

body.superfluo-invert-colors .homepage-content-list-item h3 a:hover:not(.button),
body.superfluo-invert-colors .homepage-content-list-item h3 a:focus:not(.button),
body.superfluo-invert-colors .homepage-content-list-footer a:not(.button),
body.superfluo-invert-colors .homepage-content-list-meta span {
    color: var(--color-primary) !important;
}

/* Homepage scripture */
.homepage-scripture {
    margin: clamp(2rem, 4vw, 4rem) 0 clamp(1.75rem, 3vw, 3rem);
}

.homepage-scripture-quote {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1rem, 2.5vw, 2rem);
    margin: 0;
}

.homepage-scripture-quote::before,
.homepage-scripture-quote::after {
    width: 100%;
    max-width: 8rem;
    height: 1px;
    flex: 1 1 4rem;
    background: var(--color-primary);
    content: "";
}

.homepage-scripture-quote blockquote {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.homepage-scripture-quote p {
    margin: 0;
    color: var(--color-title);
    font-family: var(--font-title);
    font-size: clamp(1.5em, 2.3vw, 2.25em);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.015em;
    text-align: center;
}

.homepage-scripture-quote figcaption {
    flex: 0 0 auto;
    color: var(--color-primary-hover);
    font-family: var(--font-text);
    font-size: 0.6875em;
    font-weight: 800;
    letter-spacing: 0.09em;
    line-height: 1.3;
    text-transform: uppercase;
    white-space: nowrap;
}

.homepage-scripture + .homepage-portal {
    margin-top: 0;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .homepage-scripture {
        margin: 2rem 0;
    }

    .homepage-scripture-quote {
        flex-direction: column;
        gap: 0.75rem;
        padding: 0 1.25rem;
    }

    .homepage-scripture-quote::before {
        width: 3rem;
        flex: 0 0 1px;
    }

    .homepage-scripture-quote::after {
        display: none;
    }
}

/* Homepage portal */
.homepage-portal {
    margin-top: clamp(2rem, 5vw, 5rem);
    margin-bottom: clamp(2rem, 5vw, 5rem);
}

.homepage-stage {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    border-top: var(--border);
    background: var(--color-surface);
}

.homepage-stage:last-child {
    border-bottom: var(--border);
}

.homepage-stage-rail {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 1rem;
    padding: 2.5rem 1rem;
    border-right: var(--border);
}

.homepage-stage-number,
.homepage-stage-name,
.homepage-portal-eyebrow,
.homepage-editorial-story-meta,
.homepage-event-row-date,
.homepage-daily-cta {
    font-family: var(--font-text);
    font-size: 0.6875em;
    font-weight: 800;
    letter-spacing: 0.09em;
    line-height: 1.3;
    text-transform: uppercase;
}

.homepage-stage-number,
.homepage-portal-eyebrow {
    color: var(--color-primary-hover);
}

.homepage-stage-name {
    color: var(--color-gray);
    font-family: var(--font-title);
    font-size: 0.875em;
    letter-spacing: 0.06em;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.homepage-stage-body {
    min-width: 0;
    padding: clamp(2rem, 4vw, 4rem);
}

.homepage-stage h1,
.homepage-stage h2,
.homepage-stage h3,
.homepage-stage p {
    max-width: none;
}

.homepage-stage h1 {
    margin-bottom: 1.5rem;
    font-size: clamp(2.25em, 4vw, 4.25em);
    line-height: 1.02;
}

.homepage-stage h2 {
    margin-bottom: 0;
    font-size: clamp(2em, 3.25vw, 3.5em);
    line-height: 1.05;
}

.homepage-stage h3 {
    font-size: clamp(1.375em, 2vw, 2em);
    line-height: 1.15;
}

.homepage-portal-eyebrow {
    display: block;
    margin: 0 0 0.75rem;
}

.homepage-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: clamp(1.75rem, 3vw, 3rem);
}

.homepage-section-heading > div {
    max-width: 52rem;
}

.homepage-section-heading > p {
    max-width: 22rem;
    margin: 0;
    color: var(--color-gray);
    text-align: right;
}

.homepage-section-heading > a {
    flex: 0 0 auto;
    font-size: 0.75em;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.homepage-section-heading > a .fal,
.homepage-topic-lane > a .fal,
.homepage-daily-cta .fal,
.homepage-project > a .fal,
.homepage-join-item > a .fal {
    margin-left: 0.375rem;
    transition: transform 180ms ease;
}

.homepage-section-heading > a:hover .fal,
.homepage-section-heading > a:focus .fal,
.homepage-topic-lane > a:hover .fal,
.homepage-topic-lane > a:focus .fal,
.homepage-daily-item:hover .homepage-daily-cta .fal,
.homepage-daily-item:focus .homepage-daily-cta .fal,
.homepage-project > a:hover .fal,
.homepage-project > a:focus .fal,
.homepage-join-item > a:hover .fal,
.homepage-join-item > a:focus .fal {
    transform: translateX(0.25rem);
}

.homepage-identity-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.5fr);
    gap: clamp(2rem, 4vw, 4rem);
}

.homepage-manifest {
    padding-right: clamp(2rem, 4vw, 4rem);
    border-right: 0.25rem solid var(--color-primary);
}

.homepage-manifest > p:not(.homepage-portal-eyebrow) {
    color: var(--color-gray);
    font-size: 1.125em;
}

.homepage-manifest blockquote {
    margin: 2rem 0 0;
    padding: 0;
    border: 0;
    color: var(--color-primary-hover);
    font-family: var(--font-title);
    font-size: 1.5em;
    font-weight: 700;
}

.homepage-path-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.homepage-path {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 1.25rem;
    border-top: var(--border);
    color: var(--color-title);
    transition: background-color var(--transition), color var(--transition);
}

.homepage-path:nth-child(even) {
    border-left: var(--border);
}

.homepage-path:nth-last-child(-n+2) {
    border-bottom: var(--border);
}

.homepage-path:hover,
.homepage-path:focus {
    color: var(--color-title);
    background: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));
}

.homepage-path-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.homepage-path-meta .homepage-portal-eyebrow {
    margin: 0;
}

.homepage-path-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    color: var(--color-white);
    background: var(--color-black);
    font-size: 0.75em;
    font-weight: 800;
}

.homepage-path > strong {
    margin-bottom: 0.35rem;
    font-family: var(--font-title);
    font-size: 1.25em;
}

.homepage-path-description {
    color: var(--color-gray);
    line-height: 1.5;
}

.homepage-editorial-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 1fr);
    gap: clamp(1.5rem, 3vw, 3rem);
}

.homepage-editorial-feature {
    min-height: 27rem;
    background: var(--color-black);
    overflow: hidden;
}

.homepage-editorial-feature > a {
    position: relative;
    display: flex;
    height: 100%;
    min-height: inherit;
    align-items: flex-end;
    color: var(--color-white);
    overflow: hidden;
}

.homepage-editorial-feature img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 600ms cubic-bezier(.2, .7, .2, 1);
}

.homepage-editorial-feature:hover img {
    transform: scale(1.035);
}

.homepage-editorial-feature-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, color-mix(in srgb, var(--color-black) 94%, transparent) 0%, color-mix(in srgb, var(--color-black) 52%, transparent) 58%, color-mix(in srgb, var(--color-black) 10%, transparent) 100%);
}

.homepage-editorial-feature-no-image .homepage-editorial-feature-overlay {
    background: radial-gradient(circle at 75% 22%, color-mix(in srgb, var(--color-primary) 36%, transparent), transparent 30%), linear-gradient(145deg, var(--color-dark-gray), var(--color-black));
}

.homepage-editorial-feature-content {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: clamp(1.5rem, 3vw, 3rem);
}

.homepage-editorial-feature-content > strong {
    max-width: 42rem;
    color: var(--color-white);
    font-family: var(--font-title);
    font-size: clamp(1.75em, 3vw, 3.25em);
    line-height: 1.08;
}

.homepage-editorial-feature-description {
    max-width: 38rem;
    margin-top: 0.875rem;
    color: color-mix(in srgb, var(--color-white) 82%, transparent);
    line-height: 1.5;
}

.homepage-editorial-list {
    display: grid;
    align-content: stretch;
    border-top: var(--border);
}

.homepage-editorial-story {
    display: flex;
    border-bottom: var(--border);
}

.homepage-editorial-story > a {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 1rem;
    padding: 1rem 0;
    color: var(--color-title);
}

.homepage-editorial-story > a:hover,
.homepage-editorial-story > a:focus {
    color: var(--color-link-hover);
}

.homepage-editorial-story-meta {
    display: flex;
    grid-column: 1;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    margin-bottom: 0.45rem;
    color: var(--color-gray);
}

.homepage-editorial-story-meta > span {
    color: var(--color-primary-hover);
}

.homepage-editorial-story > a > strong {
    grid-column: 1;
    font-family: var(--font-title);
    font-size: 1.1875em;
    line-height: 1.25;
}

.homepage-editorial-story > a > .fal {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    color: var(--color-primary);
    transition: transform 180ms ease;
}

.homepage-editorial-story > a:hover > .fal,
.homepage-editorial-story > a:focus > .fal {
    transform: translateX(0.25rem);
}

.homepage-topic-lanes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: clamp(2rem, 4vw, 4rem);
    border-top: var(--border);
    border-bottom: var(--border);
}

.homepage-topic-lane {
    padding: clamp(1.25rem, 2.5vw, 2.25rem);
}

.homepage-topic-lane + .homepage-topic-lane {
    border-left: var(--border);
}

.homepage-topic-lane h3 {
    margin-bottom: 1rem;
}

.homepage-topic-lane p:not(.homepage-portal-eyebrow) {
    color: var(--color-gray);
}

.homepage-topic-lane > a,
.homepage-project > a,
.homepage-join-item > a {
    font-size: 0.75em;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.homepage-stage-dark {
    color: var(--color-white);
    background: var(--color-black);
    border-color: color-mix(in srgb, var(--color-white) 18%, transparent);
}

.homepage-stage-dark .homepage-stage-rail,
.homepage-stage-dark .homepage-daily-grid,
.homepage-stage-dark .homepage-daily-item,
.homepage-stage-dark .homepage-media-layout,
.homepage-stage-dark .homepage-media-link {
    border-color: color-mix(in srgb, var(--color-white) 18%, transparent);
}

.homepage-stage-dark h2,
.homepage-stage-dark h3,
.homepage-stage-dark .homepage-stage-name {
    color: var(--color-white);
}

.homepage-stage-dark .homepage-stage-number,
.homepage-stage-dark .homepage-portal-eyebrow {
    color: var(--color-primary);
}

.homepage-daily-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
    gap: clamp(2rem, 4vw, 4rem);
    align-items: flex-end;
    margin-bottom: clamp(1.75rem, 3vw, 3rem);
}

.homepage-daily-heading > p {
    margin: 0;
    color: color-mix(in srgb, var(--color-white) 72%, transparent);
}

.homepage-daily-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid;
    border-bottom: 1px solid;
}

.homepage-daily-item {
    display: flex;
    min-width: 0;
    min-height: 15rem;
    flex-direction: column;
    padding: clamp(1.25rem, 2.5vw, 2.25rem);
    color: var(--color-white);
    transition: background-color var(--transition);
}

.homepage-daily-item + .homepage-daily-item {
    border-left: 1px solid;
}

.homepage-daily-item:hover,
.homepage-daily-item:focus {
    color: var(--color-white);
    background: color-mix(in srgb, var(--color-primary) 16%, var(--color-black));
}

.homepage-daily-item > strong {
    margin-bottom: 0.75rem;
    color: var(--color-white);
    font-family: var(--font-title);
    font-size: 1.5em;
}

.homepage-daily-description {
    color: color-mix(in srgb, var(--color-white) 72%, transparent);
    line-height: 1.5;
}

.homepage-daily-cta {
    margin-top: auto;
    padding-top: 1.5rem;
    color: var(--color-primary);
}

.homepage-daily-quote {
    margin-top: clamp(2rem, 4vw, 4rem);
}

.homepage-daily-quote .homepage-scripture-quote blockquote {
    max-width: 58rem;
}

.homepage-stage-dark .homepage-daily-quote .homepage-scripture-quote p {
    color: var(--color-white);
}

.homepage-stage-dark .homepage-daily-quote .homepage-scripture-quote figcaption {
    color: var(--color-primary);
}

@media screen and (max-width: 39.9375em) {
    .homepage-daily-quote .homepage-scripture-quote {
        padding-right: 0;
        padding-left: 0;
    }
}

.homepage-project-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(13rem, auto));
    border: var(--border);
}

.homepage-project {
    min-width: 0;
    padding: clamp(1.5rem, 3vw, 3rem);
}

.homepage-project:not(.homepage-project-primary) {
    border-left: var(--border);
}

.homepage-project:nth-child(4),
.homepage-project:nth-child(5) {
    border-top: var(--border);
}

.homepage-project-primary {
    display: flex;
    grid-row: 1 / 3;
    flex-direction: column;
    justify-content: flex-end;
    color: var(--color-white);
    background: radial-gradient(circle at 72% 24%, color-mix(in srgb, var(--color-primary) 42%, transparent), transparent 28%), linear-gradient(145deg, var(--color-dark-gray), var(--color-black));
}

.homepage-project-primary h3,
.homepage-project-primary p,
.homepage-project-primary > a {
    color: var(--color-white);
}

.homepage-project-primary .homepage-portal-eyebrow {
    color: var(--color-primary);
}

.homepage-project h3 {
    margin-bottom: 0.75rem;
}

.homepage-project p:not(.homepage-portal-eyebrow) {
    color: var(--color-gray);
}

.homepage-project-primary p:not(.homepage-portal-eyebrow) {
    color: color-mix(in srgb, var(--color-white) 76%, transparent);
}

.homepage-events-layout {
    display: grid;
    grid-template-columns: minmax(17rem, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(2rem, 4vw, 4rem);
}

.homepage-next-event {
    padding-right: clamp(2rem, 4vw, 4rem);
    border-right: 0.25rem solid var(--color-primary);
}

.homepage-next-event > time {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--color-primary-hover);
    font-family: var(--font-title);
    font-size: 1.5em;
    font-weight: 700;
}

.homepage-event-place {
    color: var(--color-gray);
    font-size: 0.875em;
}

.homepage-next-event h3 {
    margin: 1.25rem 0;
}

.homepage-next-event > p:not(.homepage-portal-eyebrow):not(.homepage-event-place) {
    color: var(--color-gray);
}

.homepage-event-list {
    border-top: var(--border);
}

.homepage-event-row {
    display: grid;
    grid-template-columns: minmax(8rem, 0.4fr) minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: center;
    padding: 1.25rem 0;
    border-bottom: var(--border);
    color: var(--color-title);
}

.homepage-event-row:hover,
.homepage-event-row:focus {
    color: var(--color-link-hover);
}

.homepage-event-row-date {
    display: flex;
    flex-direction: column;
    color: var(--color-primary-hover);
}

.homepage-event-row-date small {
    margin-top: 0.25rem;
    color: var(--color-gray);
    font-size: 0.9em;
    letter-spacing: 0;
    text-transform: none;
}

.homepage-event-row > strong {
    font-family: var(--font-title);
    font-size: 1.125em;
}

.homepage-event-row > .fal {
    color: var(--color-primary);
    transition: transform 180ms ease;
}

.homepage-event-row:hover > .fal,
.homepage-event-row:focus > .fal {
    transform: translateX(0.25rem);
}

.homepage-media-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(18rem, 0.8fr);
    gap: 1px;
    background: color-mix(in srgb, var(--color-white) 18%, transparent);
}

.homepage-media-feature,
.homepage-media-list {
    background: var(--color-black);
}

.homepage-media-feature {
    min-height: 28rem;
    overflow: hidden;
}

.homepage-media-feature > a,
.homepage-media-feature > div {
    position: relative;
    display: flex;
    min-height: inherit;
    align-items: flex-end;
    color: var(--color-white);
    overflow: hidden;
}

.homepage-media-feature img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 600ms cubic-bezier(.2, .7, .2, 1);
}

.homepage-media-feature:hover img {
    transform: scale(1.035);
}

.homepage-media-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, color-mix(in srgb, var(--color-black) 94%, transparent) 0%, color-mix(in srgb, var(--color-black) 54%, transparent) 62%, color-mix(in srgb, var(--color-black) 12%, transparent) 100%);
}

.homepage-media-feature-no-image .homepage-media-overlay {
    background: radial-gradient(circle at 70% 28%, color-mix(in srgb, var(--color-primary) 38%, transparent), transparent 28%), linear-gradient(135deg, var(--color-dark-gray), var(--color-black));
}

.homepage-media-feature-content {
    position: relative;
    display: flex;
    max-width: 48rem;
    flex-direction: column;
    padding: clamp(1.5rem, 3vw, 3rem);
}

.homepage-media-feature-content > strong {
    color: var(--color-white);
    font-family: var(--font-title);
    font-size: clamp(1.75em, 3vw, 3.25em);
    line-height: 1.08;
}

.homepage-media-description {
    margin-top: 0.875rem;
    color: color-mix(in srgb, var(--color-white) 78%, transparent);
    line-height: 1.5;
}

.homepage-media-action {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    margin-top: 1.5rem;
    color: var(--color-white);
    font-size: 0.75em;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.homepage-media-play {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 2.75rem;
    border: 1px solid var(--color-primary);
    border-radius: 50%;
    color: var(--color-primary);
}

.homepage-media-list {
    display: grid;
    align-content: stretch;
}

.homepage-media-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem;
    border-bottom: 1px solid;
    color: var(--color-white);
}

.homepage-media-link:last-child {
    border-bottom: 0;
}

.homepage-media-link:hover,
.homepage-media-link:focus {
    color: var(--color-white);
    background: color-mix(in srgb, var(--color-primary) 16%, var(--color-black));
}

.homepage-media-link > span:first-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.homepage-media-link strong {
    color: var(--color-white);
    font-family: var(--font-title);
    font-size: 1.125em;
    line-height: 1.25;
}

.homepage-media-link > .fal {
    color: var(--color-primary);
}

.homepage-media-link-static {
    cursor: default;
}

.homepage-join-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: var(--border);
}

.homepage-join-item {
    min-width: 0;
    padding: clamp(1.5rem, 3vw, 3rem);
}

.homepage-join-item + .homepage-join-item {
    border-left: var(--border);
}

.homepage-join-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1.5rem;
    border: 1px solid var(--color-primary);
    border-radius: 50%;
    color: var(--color-primary-hover);
}

.homepage-join-item h3 {
    margin-bottom: 0.875rem;
}

.homepage-join-item p {
    color: var(--color-gray);
}

.homepage-newsletter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-top: 2rem;
    padding: clamp(1.5rem, 3vw, 3rem);
    color: var(--color-white);
    background: linear-gradient(135deg, var(--color-dark-gray), var(--color-black));
}

.homepage-newsletter > div {
    max-width: 48rem;
}

.homepage-newsletter h3 {
    margin-bottom: 0.75rem;
    color: var(--color-white);
}

.homepage-newsletter p:not(.homepage-portal-eyebrow) {
    margin: 0;
    color: color-mix(in srgb, var(--color-white) 72%, transparent);
}

.homepage-newsletter .button {
    flex: 0 0 auto;
    margin: 0;
}

.homepage-portal-empty {
    margin: 0;
    padding: 2rem;
    border: var(--border);
    color: var(--color-gray);
    text-align: center;
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .homepage-stage {
        grid-template-columns: 4.5rem minmax(0, 1fr);
    }

    .homepage-stage-rail {
        padding: 2rem 0.75rem;
    }

    .homepage-stage-body {
        padding: 2.5rem;
    }

    .homepage-identity-grid,
    .homepage-editorial-grid,
    .homepage-events-layout,
    .homepage-media-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .homepage-manifest,
    .homepage-next-event {
        padding: 0 0 2.5rem;
        border-right: 0;
        border-bottom: 0.25rem solid var(--color-primary);
    }

    .homepage-editorial-feature,
    .homepage-media-feature {
        min-height: 24rem;
    }

    .homepage-topic-lanes,
    .homepage-join-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .homepage-topic-lane + .homepage-topic-lane,
    .homepage-join-item + .homepage-join-item {
        border-top: var(--border);
        border-left: 0;
    }

    .homepage-daily-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .homepage-daily-item:nth-child(3) {
        border-left: 0;
    }

    .homepage-daily-item:nth-child(n+3) {
        border-top: 1px solid;
    }

    .homepage-project-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto;
    }

    .homepage-project-primary {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 20rem;
    }

    .homepage-project:nth-child(2),
    .homepage-project:nth-child(4) {
        border-left: 0;
    }

    .homepage-project:nth-child(n+2) {
        border-top: var(--border);
    }
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .homepage-portal {
        padding-right: 0;
        padding-left: 0;
    }

    .homepage-stage {
        display: block;
    }

    .homepage-stage-rail {
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
        padding: 0.875rem 1.25rem;
        border-right: 0;
        border-bottom: var(--border);
    }

    .homepage-stage-name {
        font-size: 0.75em;
        writing-mode: initial;
        transform: none;
    }

    .homepage-stage-body {
        padding: 2rem 1.25rem;
    }

    .homepage-section-heading,
    .homepage-newsletter {
        align-items: flex-start;
        flex-direction: column;
    }

    .homepage-section-heading > p {
        max-width: none;
        text-align: left;
    }

    .homepage-identity-grid,
    .homepage-editorial-grid,
    .homepage-daily-heading,
    .homepage-events-layout,
    .homepage-media-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .homepage-manifest,
    .homepage-next-event {
        padding: 0 0 2rem;
        border-right: 0;
        border-bottom: 0.25rem solid var(--color-primary);
    }

    .homepage-path-grid,
    .homepage-topic-lanes,
    .homepage-daily-grid,
    .homepage-project-grid,
    .homepage-join-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .homepage-path:nth-child(even),
    .homepage-topic-lane + .homepage-topic-lane,
    .homepage-daily-item + .homepage-daily-item,
    .homepage-project:not(.homepage-project-primary),
    .homepage-join-item + .homepage-join-item {
        border-left: 0;
    }

    .homepage-path:nth-last-child(-n+2) {
        border-bottom: 0;
    }

    .homepage-path:last-child {
        border-bottom: var(--border);
    }

    .homepage-editorial-feature,
    .homepage-media-feature {
        min-height: 23rem;
    }

    .homepage-editorial-feature-description,
    .homepage-media-description {
        display: none;
    }

    .homepage-topic-lanes,
    .homepage-join-grid {
        border-bottom: var(--border);
    }

    .homepage-topic-lane + .homepage-topic-lane,
    .homepage-daily-item + .homepage-daily-item,
    .homepage-project + .homepage-project,
    .homepage-join-item + .homepage-join-item {
        border-top: var(--border);
    }

    .homepage-daily-item {
        min-height: 12rem;
    }

    .homepage-project-grid {
        grid-template-rows: auto;
    }

    .homepage-project-primary {
        grid-row: auto;
        min-height: 19rem;
    }

    .homepage-event-row {
        grid-template-columns: minmax(6.5rem, 0.4fr) minmax(0, 1fr);
        gap: 0.875rem;
    }

    .homepage-event-row > .fal {
        display: none;
    }

    .homepage-newsletter .button {
        width: 100%;
    }
}

body.superfluo-invert-colors .homepage-editorial-feature a:not(.button),
body.superfluo-invert-colors .homepage-project-primary a:not(.button),
body.superfluo-invert-colors .homepage-daily-item:not(.button),
body.superfluo-invert-colors .homepage-media-feature a:not(.button),
body.superfluo-invert-colors .homepage-media-link:not(.button) {
    color: var(--color-white) !important;
}

body.superfluo-invert-colors .homepage-path-index {
    color: var(--color-black);
    background: var(--color-primary);
}

body.superfluo-invert-colors .homepage-project-primary,
body.superfluo-invert-colors .homepage-newsletter {
    background: linear-gradient(135deg, var(--color-black), var(--color-dark-gray));
}

body.superfluo-invert-colors .homepage-path:not(.button),
body.superfluo-invert-colors .homepage-editorial-story > a:not(.button),
body.superfluo-invert-colors .homepage-event-row:not(.button) {
    color: var(--color-white) !important;
}

body.superfluo-invert-colors .homepage-path:hover:not(.button),
body.superfluo-invert-colors .homepage-path:focus:not(.button),
body.superfluo-invert-colors .homepage-editorial-story > a:hover:not(.button),
body.superfluo-invert-colors .homepage-editorial-story > a:focus:not(.button),
body.superfluo-invert-colors .homepage-event-row:hover:not(.button),
body.superfluo-invert-colors .homepage-event-row:focus:not(.button) {
    color: var(--color-primary) !important;
}

/* News archive filters */
.news-filter-panel {
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
    border: var(--border);
    border-top: 0.25rem solid var(--color-primary);
    background: var(--color-surface);
    box-shadow: var(--box-shadow);
}

.news-filter-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 4.75rem;
    padding: 1rem 1.25rem;
}

.news-filter-toolbar .button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.125rem;
    margin-bottom: 0;
}

.news-filter-toolbar .button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.875rem;
    margin: 0;
}

.news-filter-toolbar .filter-toggler,
.news-filter-toolbar #search-sort {
    border-color: var(--color-primary);
    color: var(--color-black);
    background: var(--color-primary);
}

.news-filter-toolbar .filter-toggler:hover,
.news-filter-toolbar .filter-toggler:focus,
.news-filter-toolbar #search-sort:hover,
.news-filter-toolbar #search-sort:focus {
    border-color: var(--color-primary-hover);
    color: var(--color-white);
    background: var(--color-primary-hover);
}

.news-filter-panel .news-filter-count {
    display: inline-flex;
    align-items: center;
    min-height: 1.625rem;
    margin-left: 0.125rem;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    color: var(--color-white);
    background: var(--color-dark-blue);
    font-size: 0.6875em;
    font-weight: 800;
    letter-spacing: 0.025em;
    line-height: 1;
    white-space: nowrap;
}

.news-filter-chevron {
    margin-left: 0.125rem;
    font-size: 0.75em;
    transition: transform 180ms ease;
}

.filter-toggler[aria-expanded="true"] .news-filter-chevron {
    transform: rotate(180deg);
}

.news-filter-toolbar .news-filter-reset {
    flex: 0 0 auto;
    padding: 0.75rem 0.875rem;
    border: 1px solid color-mix(in srgb, var(--color-alert) 32%, transparent);
    color: var(--color-alert);
    background: var(--color-alert-soft);
    font-size: 0.8125em;
    font-weight: 800;
}

.news-filter-toolbar .news-filter-reset:hover,
.news-filter-toolbar .news-filter-reset:focus {
    border-color: var(--color-alert);
    color: var(--color-white) !important;
    background: var(--color-alert);
}

.news-filter-panel #search-filter-container {
    margin: 0;
    padding: 1.5rem 1.25rem 1.25rem;
    border-top: var(--border);
}

.news-filter-panel .news-filter-topics {
    margin-top: 0.75rem;
    padding-top: 1.25rem;
    border-top: var(--border);
}

.news-filter-panel .news-filter-topics > p:not(.homepage-portal-eyebrow) {
    margin-bottom: 1rem;
    font-size: 0.875em;
}

#news-results .load-more-container {
    padding-top: 2rem;
    text-align: center;
}

@media screen and (max-width: 39.9375em) {
    .news-filter-panel {
        margin-top: 1.5rem;
    }

    .news-filter-toolbar {
        align-items: stretch;
        flex-direction: column;
        gap: 0.75rem;
        padding: 1rem;
    }

    .news-filter-toolbar .button-group {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .news-filter-toolbar .button-group .button {
        justify-content: center;
    }

    .news-filter-toolbar .news-filter-reset {
        align-self: flex-end;
    }

    .news-filter-panel #search-filter-container {
        margin: 0;
        padding: 1.25rem 1rem 1rem;
    }
}

/* News archive editorial layout */
.news-results-grid .superfluo-content-feature {
    position: relative;
    margin-bottom: clamp(2.5rem, 6vw, 5rem);
    padding: clamp(1rem, 2.5vw, 2rem) 0;
    border-top: var(--border);
    border-bottom: var(--border);
    background: color-mix(in srgb, var(--color-primary) 4%, var(--color-surface));
}

.news-results-grid .superfluo-content-feature .superfluo-news-text a {
    margin: 0;
    padding: clamp(1rem, 4vw, 3rem);
}

.news-results-grid .superfluo-content-feature .superfluo-news-text a time,
.news-results-grid .superfluo-content-card .superfluo-news-text a time {
    margin: 0 0 0.75rem;
    color: var(--color-gray);
    font-size: 0.75em;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.news-results-grid .superfluo-content-feature .superfluo-news-text a h4,
.news-results-grid .superfluo-content-card .superfluo-news-text a h4 {
    margin: 0 0 0.75rem;
    color: var(--color-primary-hover);
    font-size: 0.75em;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.35;
}

.news-results-grid .superfluo-content-feature .superfluo-news-text a h3 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 0.98;
}

.news-results-grid .superfluo-content-feature .superfluo-news-text a p {
    max-width: 42rem;
    margin-top: 1.25rem;
    padding: 0;
    font-size: 0.9375em;
    line-height: 1.65;
}

.news-results-grid .superfluo-content-feature .superfluo-news-image a {
    border-width: 0.1875rem;
}

.news-results-grid .superfluo-content-feature .superfluo-news-image img {
    width: 100%;
    height: clamp(18rem, 32vw, 27rem);
    object-fit: cover;
}

.news-results-grid .superfluo-content-card {
    height: 100%;
    margin: 0;
    overflow: hidden;
    border-top: 0.1875rem solid var(--color-primary);
    background: var(--color-surface);
    box-shadow: var(--box-shadow);
    transition: box-shadow 180ms ease, transform 180ms ease;
}

.news-results-grid .superfluo-content-card:hover {
    box-shadow: var(--box-shadow-large);
    transform: translateY(-0.25rem);
}

.news-results-grid .superfluo-content-card > .cell {
    margin-right: 0;
    margin-left: 0;
}

.news-results-grid .superfluo-content-card .superfluo-news-image {
    width: 38%;
}

.news-results-grid .superfluo-content-card .superfluo-news-image + .cell {
    width: 62%;
}

.news-results-grid .superfluo-content-card .superfluo-news-image a {
    border: 0;
    border-right: 0.1875rem solid var(--color-primary);
}

.news-results-grid .superfluo-content-card .superfluo-news-image img {
    width: 100%;
    height: 100%;
    min-height: 11rem;
    object-fit: cover;
}

.news-results-grid .superfluo-content-card .superfluo-news-text a {
    height: 100%;
    margin: 0;
    padding: 1rem;
}

.news-results-grid .superfluo-content-card .superfluo-news-text a h3 {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    font-size: 1.5em;
    line-height: 1.05;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.news-results-grid .superfluo-content-card .superfluo-news-text a p {
    margin-top: 0.875rem;
    padding: 0;
    line-height: 1.55;
}

.news-results-grid .superfluo-image-tag {
    top: 0.75rem;
    left: 0.75rem;
    padding: 0.45rem 0.75rem;
    font-size: 0.625em;
    font-weight: 800;
    letter-spacing: 0.06em;
}

@media screen and (min-width: 40em) {
    .news-results-grid .superfluo-content-card > .cell,
    .news-results-grid .superfluo-content-card .superfluo-news-image,
    .news-results-grid .superfluo-content-card .superfluo-news-image + .cell {
        width: 100%;
    }

    .news-results-grid .superfluo-content-card .superfluo-news-image a {
        border-right: 0;
        border-bottom: 0.1875rem solid var(--color-primary);
    }

    .news-results-grid .superfluo-content-card .superfluo-news-image img {
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    .news-results-grid .superfluo-content-card .superfluo-news-text a {
        padding: 1.25rem;
    }
}

@media screen and (min-width: 64em) {
    .news-hero-section > .grid-x {
        flex-wrap: nowrap;
    }

    .news-hero-section > .grid-x > .large-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }

    .news-hero-section .homepage-hero-sidebar {
        display: flex;
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        min-width: 0;
        visibility: visible;
    }

    .news-hero-section .news-hero-sidebar-wide {
        flex: 0 0 100%;
        max-width: 100%;
        height: auto;
        overflow: visible;
    }

    .news-hero-sidebar-wide .homepage-content-tabs,
    .news-hero-sidebar-wide .tabs-content,
    .news-hero-sidebar-wide .tabs-panel.is-active {
        flex: none;
        height: auto;
        overflow: visible;
    }

    .news-hero-sidebar-wide .homepage-content-list-scroll {
        display: grid;
        flex: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: visible;
    }

    .news-hero-sidebar-wide .homepage-content-list-item {
        margin: 0;
        padding: 1.25rem;
    }

    .news-hero-sidebar-wide .homepage-content-list-item:nth-child(odd):not(:last-child) {
        border-right: var(--border);
    }

    .news-hero-sidebar-wide .homepage-content-list-item:last-child:nth-child(odd),
    .news-hero-sidebar-wide .homepage-content-list-empty {
        grid-column: 1 / -1;
        border-right: 0;
    }
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .news-results-grid .superfluo-content-card .superfluo-news-text a h3 {
        font-size: 1.125em;
    }

    .news-results-grid .superfluo-content-card .superfluo-news-image {
        align-self: stretch;
    }
}

body.superfluo-invert-colors .news-filter-panel,
body.superfluo-invert-colors .news-results-grid .superfluo-content-card {
    background: var(--color-surface);
}

body.superfluo-invert-colors .news-results-grid .superfluo-content-feature {
    background: color-mix(in srgb, var(--color-primary) 6%, var(--color-surface));
}

/* Events page */
#events-results,
#events-map-section,
#events-calendar-section {
    scroll-margin-top: 2rem;
}

.events-upcoming-heading {
    flex: 0 0 auto;
    padding: 1.25rem;
    border-bottom: var(--border);
}

.events-upcoming-heading .homepage-portal-eyebrow {
    margin-bottom: 0.4rem;
}

.events-upcoming-heading h2 {
    margin: 0;
    color: var(--color-title);
    font-size: clamp(1.5em, 2.2vw, 2em);
    line-height: 1.05;
}

.events-upcoming-item .homepage-content-list-meta {
    align-items: center;
}

.events-upcoming-item .homepage-content-list-meta span .fal {
    margin-right: 0.2rem;
}

.events-section-heading {
    align-items: flex-start;
}

.events-section-heading > div {
    max-width: 48rem;
}

.events-anchor-nav {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.25rem;
}

.events-anchor-nav .button {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    border-color: var(--color-primary);
    color: var(--color-title);
}

.events-anchor-nav .button:hover,
.events-anchor-nav .button:focus {
    border-color: var(--color-primary-hover);
    color: var(--color-white);
    background: var(--color-primary-hover);
}

.events-results-heading {
    margin-top: clamp(2.5rem, 5vw, 4.5rem);
    padding-top: clamp(2rem, 4vw, 3.5rem);
    border-top: var(--border);
}

p .search-results-counter {
    color: var(--color-primary-hover);
    font-family: var(--font-title);
    font-size: 1.5em;
    font-weight: 700;
}

#events-results .load-more-container {
    padding-top: 2rem;
    text-align: center;
}

.events-map-panel,
.events-calendar-panel {
    margin-top: 0;
    overflow: hidden;
}

#events-map {
    width: 100%;
    height: clamp(28rem, 62vh, 44rem);
    min-height: 28rem;
    background: color-mix(in srgb, var(--color-primary) 5%, var(--color-surface));
}

.events-calendar-panel {
    padding: clamp(1rem, 2.5vw, 2rem);
}

.event-modal-seal {
    margin-bottom: 1rem;
}

@media screen and (max-width: 39.9375em) {
    .events-upcoming-heading {
        padding: 1.125rem 1.25rem;
    }

    .events-section-heading,
    .events-results-heading {
        gap: 1.25rem;
    }

    .events-anchor-nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }

    .events-anchor-nav .button {
        justify-content: center;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        font-size: 0.75em;
    }

    #events-map {
        height: 26rem;
        min-height: 26rem;
    }

    .events-calendar-panel {
        padding: 0.75rem;
        overflow-x: auto;
    }
}

body.superfluo-invert-colors .events-upcoming-heading h2,
body.superfluo-invert-colors .events-anchor-nav .button:not(:hover):not(:focus) {
    color: var(--color-white);
}

body.superfluo-invert-colors #events-map {
    background: color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));
}

.superfluo-news-image a {
    position: relative;
    display: block;
    border: 0.25rem solid var(--color-primary);
    overflow: hidden;
    height: 100%;
    width: 100%;
    border-radius: 0;
}
.superfluo-news-image.superfluo-news-image-radius a {
    border: none;
    border-radius: var(--border-radius-large);
}

.superfluo-news-image:hover a {
    box-shadow: var(--box-shadow-large);
    overflow: hidden;
    border-color: var(--color-primary);
}
.superfluo-news-image img {
    border: none;
    position: relative;
   -webkit-transition: .2s ease-in-out;
           transition: .2s ease-in-out;
    z-index: 1;
    width: 100%;
}
.superfluo-news-image:hover img {
    -webkit-transform: scale(1.05, 1.05);
        -ms-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05);
   -webkit-transition: .2s ease-in-out;
           transition: .2s ease-in-out;
}
.superfluo-image-tag {
    background: var(--color-black);
    color: var(--color-white);
    font-size: 0.75em;
    font-weight: 400;
    padding: 0.5rem 1.5rem 0.625rem 1.5rem;
    text-transform: uppercase;
    position: absolute;
    top: 1rem;
    left: 0;
    z-index: 3;
}

.superfluo-news-image:hover .superfluo-image-tag {
    background: var(--color-primary-hover);
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-news-image.superfluo-news-image-small .superfluo-image-tag {
        font-size: 0.5em;
        font-weight: 400;
        padding: 0.25rem 0.5rem 0.25rem 0.25rem;
        top: 0.75rem;
    }
}

.superfluo-seal-owned {
    display: inline-block;
    height: 5rem;
    width: 5rem;
    overflow: hidden;
    border: none;
    margin: 0;
    background: var(--image-seal-owned);
    background-repeat: no-repeat;
    background-size: contain;
}

.superfluo-seal-owned.superfluo-seal-large {
    height: 5rem;
    width: 5rem;
}

.superfluo-news-image .superfluo-seal-owned {
    position: absolute;
    right: 1rem;
    top: 1rem;
    z-index: 4;
    background: var(--image-seal-owned-inverse);
}
/* Large and up */
@media screen and (min-width: 64em) {
    .superfluo-news-image.superfluo-news-highlight .superfluo-seal-owned {
        display: none;
    }

    .superfluo-seal-owned.superfluo-seal-large {
        height: 8rem;
        width: 8rem;
    }
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-news-image.superfluo-news-image-small .superfluo-seal-owned {
        height: 3rem;
        width: 3rem;
        top: auto;
        right: 0.25rem;
        bottom: 0.25rem;
    }
}

.superfluo-news-text a {
    position: relative;
    display: block;
    overflow: hidden;
    padding: 0;
    color: var(--color-text);
}

.superfluo-news-text a time {
    color: var(--color-black);
    font-size: 1em;
    padding: 0;
    margin: 1rem 0 1rem 0;
    font-weight: 600;
    display: block;
}
.superfluo-news-text a h3 {
    color: var(--color-title);
    font-size: 2em;
    padding: 0;
    margin: 1rem 0 1rem 0;
}
.superfluo-news-text a:hover h3 {
    text-decoration: underline;
    text-decoration-thickness: 2px;
}
.superfluo-news-text a h4 {
    color: var(--color-link);
    font-size: 1em;
    padding: 0;
    margin: 1rem 0 1rem 0;
    text-transform: uppercase;
    font-family: var(--font-text);
    font-weight: 650;
    letter-spacing: 0;
}
.superfluo-news-text a p {
    color: var(--color-text);
    font-size: 0.875em;
    padding: 0 0 2rem 0;
    margin: 0;
}

.superfluo-news-text .superfluo-seal-owned {
    width: 5rem;
    height: 5rem;
    margin: 1rem 0 0 0;
}

.superfluo-news-text.superfluo-news-highlight a {
    padding: 0 2rem;
}
.superfluo-news-text.superfluo-news-highlight a h3 {
    font-size: 2.5em;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-news-text a {
        padding: 0 0rem;
        margin-top: -0.75rem;
    }
    .superfluo-news-text.superfluo-news-text-small a time {
        margin: 0.5rem 0 -0.5rem 0;
    }

    .superfluo-news-highlight.superfluo-news-text a {
        padding: 0 0rem;
        margin-top: 0.5rem;
    }

    .superfluo-news-text-slick.superfluo-news-text a {
        padding: 0 0rem;
        margin-top: 1rem;
    }

    .superfluo-news-text a time {
        font-size: 0.875em;
        margin: 0.75rem 0;
    }
    .superfluo-news-text a h4 {
        font-size: 0.75em;
        margin: 0.75rem 0;
    }
    .superfluo-news-text a h3 {
        font-size: 1.5em;
        margin: 0.75rem 0;
    }
    .superfluo-news-text a p {
        font-size: 0.75em;
    }
    .superfluo-news-text.superfluo-news-highlight a {
        padding: 0;
    }
    .superfluo-news-text.superfluo-news-highlight a h3 {
        font-size: 2em;
    }
    .superfluo-news-text.superfluo-news-highlight .superfluo-seal-owned {
        display: none;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .superfluo-news-text a time {
        font-size: 1em;
    }
    .superfluo-news-text a h4 {
        font-size: 1em;
    }
    .superfluo-news-text a h3 {
        font-size: 2em;
    }
    .superfluo-news-text a p {
        font-size: 0.875em;
    }
    .superfluo-news-text.superfluo-news-highlight a {
        padding: 0 0rem;
    }
    .superfluo-news-text.superfluo-news-highlight a h3 {
        font-size: 2.25em;
    }

    .superfluo-news-text.superfluo-news-highlight .superfluo-seal-owned {
        display: none;
    }
}

/* Public information pages: about, contact and support */
.superfluo-information-header {
    background-image:
        radial-gradient(circle at 76% 48%, color-mix(in srgb, var(--color-primary) 26%, transparent) 0, transparent 24%),
        linear-gradient(135deg, var(--color-black) 0%, var(--color-dark-gray) 64%, color-mix(in srgb, var(--color-dark-blue) 82%, var(--color-black)) 100%);
}

.superfluo-information-header::after {
    position: absolute;
    right: -8rem;
    bottom: -12rem;
    width: 34rem;
    height: 34rem;
    border: 1px solid color-mix(in srgb, var(--color-primary) 25%, transparent);
    border-radius: 50%;
    box-shadow:
        0 0 0 4rem color-mix(in srgb, var(--color-primary) 4%, transparent),
        0 0 0 8rem color-mix(in srgb, var(--color-primary) 3%, transparent);
    content: "";
    pointer-events: none;
}

.superfluo-information-header .grid-container {
    position: relative;
    z-index: 1;
}

.superfluo-information-header-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 9rem;
    height: 9rem;
    color: var(--color-primary);
    border: 1px solid color-mix(in srgb, var(--color-primary) 58%, transparent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--color-black) 38%, transparent);
    box-shadow: 0 0 0 1.25rem color-mix(in srgb, var(--color-primary) 6%, transparent);
    font-size: 3.25em;
}

.superfluo-information-page {
    position: relative;
}

.superfluo-information-intro {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.superfluo-information-primary,
.superfluo-information-aside {
    position: relative;
    padding: clamp(2rem, 4vw, 3.5rem);
    border: var(--border);
    border-radius: var(--border-radius-large);
    background: var(--color-surface);
    box-shadow: var(--box-shadow);
}

.superfluo-information-primary {
    border-top: 0.25rem solid var(--color-primary);
}

.superfluo-information-aside {
    border-color: color-mix(in srgb, var(--color-primary) 44%, var(--color-border));
    background: color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));
}

.superfluo-information-primary > .superfluo-text-container,
.superfluo-information-aside > .superfluo-text-container {
    height: 100%;
}

.superfluo-information-kicker,
.superfluo-information-primary .superfluo-information-kicker,
.superfluo-support-footer .superfluo-information-kicker {
    margin: 0 0 1rem 0;
    color: var(--color-primary-hover);
    font-size: 0.75em;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.superfluo-information-primary h2,
.superfluo-information-primary .superfluo-text-container h2,
.superfluo-information-body h2 {
    margin-top: 0;
}

.superfluo-information-primary h2,
.superfluo-information-primary .superfluo-text-container h2 {
    max-width: 14ch;
    margin-bottom: 1.5rem;
    font-size: clamp(2.25em, 4vw, 4em);
}

.superfluo-information-lead,
.superfluo-information-primary .superfluo-information-lead {
    max-width: 46rem;
    font-size: 1.125em;
    line-height: 1.75;
}

.superfluo-information-primary p:last-child,
.superfluo-information-aside p:last-child,
.superfluo-information-card p:last-child {
    margin-bottom: 0;
}

.superfluo-information-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 2rem;
}

.superfluo-information-actions .button {
    margin: 0;
}

.superfluo-information-quote {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    margin: 0;
}

.superfluo-information-quote .fa-quote-left {
    margin-bottom: 1.5rem;
    color: var(--color-primary);
    font-size: 2em;
}

.superfluo-information-quote blockquote {
    margin: 0;
    padding: 0;
    color: var(--color-title);
    border: 0;
    font-family: var(--font-title);
    font-size: clamp(1.5em, 2.6vw, 2.25em);
    font-weight: 700;
    line-height: 1.25;
}

.superfluo-information-quote cite {
    display: block;
    margin-top: 1.5rem;
    color: var(--color-primary-hover);
    font-family: var(--font-text);
    font-size: 0.75em;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.superfluo-support-scripture {
    min-height: 100%;
    padding: 2rem;
    border-left: 0.25rem solid var(--color-primary);
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
    background: var(--color-surface);
}

.superfluo-support-scripture blockquote {
    font-size: clamp(1.375em, 2.4vw, 2em);
}

.superfluo-information-body {
    padding: 5rem 0;
    border-top: var(--border);
    border-bottom: var(--border);
    background: color-mix(in srgb, var(--color-primary) 4%, var(--color-surface));
}

.superfluo-information-section-heading {
    max-width: 48rem;
    margin-bottom: 2.5rem;
}

.superfluo-information-section-heading h2 {
    margin-bottom: 1rem;
}

.superfluo-information-card-grid {
    margin-top: 2rem;
}

.superfluo-information-card {
    height: 100%;
    padding: 2rem;
    border: var(--border);
    border-top: 0.1875rem solid var(--color-primary);
    border-radius: var(--border-radius);
    background: var(--color-surface);
}

.superfluo-information-card .superfluo-information-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1.25rem;
    color: var(--color-black);
    border-radius: 50%;
    background: var(--color-primary);
    font-size: 1.125em;
}

.superfluo-information-card h3 {
    margin: 0 0 0.75rem 0;
    font-size: 1.5em;
}

.superfluo-information-card a:not(.button) {
    overflow-wrap: anywhere;
}

.superfluo-information-name-list {
    columns: 3;
    column-gap: 2rem;
    margin: 1.5rem 0 0 1.5rem;
}

.superfluo-information-name-list li {
    break-inside: avoid;
    margin-bottom: 0.25rem;
}

.superfluo-contact-email {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.25rem;
    font-size: clamp(1.125em, 2vw, 1.5em);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.superfluo-contact-links {
    display: grid;
    gap: 0.75rem;
    margin: 0;
}

.superfluo-contact-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: var(--border);
    font-weight: 700;
}

.superfluo-contact-links li:last-child a {
    border-bottom: 0;
}

.superfluo-contact-links .fa-fw {
    color: var(--color-primary-hover);
}

.superfluo-donation-card {
    height: 100%;
}

.superfluo-donation-card h3 {
    margin-top: 0;
}

.superfluo-bank-details {
    margin: 1.5rem 0;
    padding: 1.25rem;
    border-left: 0.25rem solid var(--color-primary);
    border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
    background: var(--color-surface);
}

.superfluo-bank-details p {
    margin-bottom: 0.375rem;
}

.superfluo-bank-details strong {
    color: var(--color-title);
}

.superfluo-bank-details code {
    padding: 0;
    color: inherit;
    border: 0;
    background: transparent;
    font-family: var(--font-text);
    font-size: 1em;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.superfluo-donation-barcode {
    display: block;
    width: 100%;
    max-width: 25rem;
    height: auto;
    margin: 1.5rem auto 0;
    padding: 0.75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-small);
    background: var(--color-white);
}

/* Group multimedia highlight */
.superfluo-highlight-section {
    padding: clamp(3rem, 7vw, 6rem) 0;
    border-top: 0.25rem solid var(--color-primary);
    background: color-mix(in srgb, var(--color-primary) 4%, var(--color-page-bg));
}

.superfluo-highlight-list {
    display: grid;
    gap: clamp(2rem, 5vw, 4rem);
}

.superfluo-highlight-card {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(18rem, 2fr);
    min-height: 25rem;
    overflow: hidden;
    border: var(--border);
    border-top: 0.25rem solid var(--color-primary);
    border-radius: var(--border-radius);
    background: var(--color-surface);
    box-shadow: var(--box-shadow-large);
}

.superfluo-highlight-card-reverse {
    grid-template-columns: minmax(18rem, 2fr) minmax(0, 3fr);
}

.superfluo-highlight-card-reverse .superfluo-highlight-media {
    order: 2;
}

.superfluo-highlight-card-reverse .superfluo-highlight-copy {
    order: 1;
}

.superfluo-highlight-media,
.superfluo-highlight-media a {
    display: block;
    min-width: 0;
    height: 100%;
}

.superfluo-highlight-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 25rem;
    object-fit: cover;
}

.superfluo-highlight-copy {
    display: flex;
    min-width: 0;
    padding: clamp(2rem, 5vw, 4rem);
    flex-direction: column;
    justify-content: center;
}

.superfluo-highlight-copy h2 {
    max-width: 15ch;
    margin: 0;
    color: var(--color-title);
    font-size: clamp(2em, 4vw, 3.75em);
    letter-spacing: -0.035em;
    line-height: 0.98;
    overflow-wrap: normal;
    word-break: normal;
}

.superfluo-highlight-copy h2 a {
    color: inherit;
}

.superfluo-highlight-description {
    margin: 1.5rem 0 0;
    color: var(--color-text);
    font-size: 1.0625em;
    line-height: 1.65;
}

.superfluo-highlight-action {
    margin: 2rem 0 0;
}

/* Content details */
.superfluo-detail-page {
    position: relative;
    padding: clamp(2.5rem, 6vw, 5rem) 0 clamp(4rem, 8vw, 7rem);
    background:
        radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--color-primary) 10%, transparent), transparent 22rem),
        var(--color-page-bg);
}

.superfluo-detail-page::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 0.25rem;
    background: var(--color-primary);
    content: "";
}

.superfluo-detail-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 3.5rem;
    margin-bottom: clamp(2rem, 4vw, 4rem);
    padding-bottom: 1rem;
    border-bottom: var(--border);
}

.superfluo-detail-toolbar .superfluo-back-button,
.superfluo-detail-actions a {
    margin: 0;
}

.superfluo-detail-actions {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.superfluo-detail-header {
    max-width: 62rem;
    margin-bottom: clamp(2.5rem, 6vw, 5rem);
}

.superfluo-detail-kicker,
.superfluo-related-content-kicker {
    margin: 0 0 0.75rem;
    color: var(--color-primary-hover);
    font-size: 0.75em;
    font-weight: 800;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.superfluo-detail-kicker span {
    margin: 0 0.4rem;
    color: var(--color-gray);
}

.superfluo-detail-header h1 {
    max-width: 18ch;
    margin: 0;
    color: var(--color-title);
    font-size: clamp(2.75em, 7vw, 5.75em);
    letter-spacing: -0.045em;
    line-height: 0.94;
}

.superfluo-detail-subtitle {
    margin: 1.25rem 0 0;
    color: var(--color-primary-hover);
    font-size: clamp(1em, 2vw, 1.25em);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.superfluo-detail-lead {
    max-width: 48rem;
    margin: 2rem 0 0;
    color: var(--color-text);
    font-size: clamp(1.125em, 2vw, 1.35em);
    line-height: 1.65;
}

.superfluo-detail-grid {
    position: relative;
}

.superfluo-detail-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.superfluo-detail-meta-card,
.superfluo-detail-schedule {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: var(--border);
    border-top: 0.25rem solid var(--color-primary);
    border-radius: var(--border-radius);
    background: var(--color-surface);
    box-shadow: var(--box-shadow);
}

.superfluo-detail-meta-card > .button {
    margin: 1.5rem 0 0;
}

.superfluo-detail-meta-row {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 0.75rem;
    padding: 1rem 0;
    border-bottom: var(--border);
}

.superfluo-detail-meta-row:first-of-type {
    padding-top: 0.25rem;
}

.superfluo-detail-meta-row:last-of-type {
    border-bottom: 0;
}

.superfluo-detail-meta-row > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    color: var(--color-black);
    border-radius: 50%;
    background: var(--color-primary);
}

.superfluo-detail-meta-row div {
    min-width: 0;
}

.superfluo-detail-meta-row span,
.superfluo-detail-meta-row strong {
    display: block;
}

.superfluo-detail-meta-row span {
    margin-bottom: 0.25rem;
    color: var(--color-gray);
    font-size: 0.6875em;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.superfluo-detail-meta-row strong {
    color: var(--color-title);
    font-size: 0.9375em;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.superfluo-detail-serie {
    margin: 1.5rem 0 0;
    padding: 0.875rem 1rem;
    color: var(--color-title);
    border-left: 0.25rem solid var(--color-primary);
    background: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));
    font-weight: 800;
}

.superfluo-detail-seal {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: var(--border);
}

.superfluo-detail-schedule h2 {
    margin: 0 0 1.25rem;
    color: var(--color-title);
    font-size: 1.5em;
}

.superfluo-detail-schedule li {
    padding: 0.875rem 0;
    border-bottom: var(--border);
}

.superfluo-detail-schedule li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.superfluo-detail-schedule span,
.superfluo-detail-schedule strong {
    display: block;
}

.superfluo-detail-schedule span {
    margin-bottom: 0.25rem;
    color: var(--color-primary-hover);
    font-size: 0.75em;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.superfluo-detail-schedule strong {
    color: var(--color-title);
    line-height: 1.45;
}

.superfluo-detail-main {
    min-width: 0;
    padding: clamp(1.5rem, 4vw, 4rem);
    border-top: 0.25rem solid var(--color-primary);
    border-radius: var(--border-radius);
    background: var(--color-surface);
    box-shadow: var(--box-shadow-large);
}

.superfluo-detail-main > :first-child {
    margin-top: 0;
}

.superfluo-detail-main > h1:first-child {
    max-width: 18ch;
    color: var(--color-title);
    font-size: clamp(2.5em, 6vw, 3.75em);
    letter-spacing: -0.04em;
    line-height: 0.98;
}

.superfluo-detail-main > .lead,
.superfluo-detail-main > p.lead {
    color: var(--color-primary-hover);
    font-size: clamp(1.125em, 2vw, 1.35em);
    line-height: 1.65;
}

.superfluo-detail-map {
    margin-top: 3rem;
    overflow: hidden;
    border: 0.1875rem solid var(--color-primary);
    border-radius: var(--border-radius);
}

.superfluo-detail-map iframe {
    display: block;
    width: 100%;
    margin: 0;
    border: 0;
}

/* Detail multimedia */
.superfluo-detail-carousel {
    margin-bottom: clamp(2.5rem, 6vw, 5rem);
}

.superfluo-detail-carousel .orbit {
    overflow: hidden;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow-large);
}

.superfluo-detail-carousel .orbit-figure {
    position: relative;
}

.superfluo-carousel-caption {
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: clamp(1rem, 3vw, 2.25rem);
    background: linear-gradient(0deg, rgba(8, 14, 18, 0.94), rgba(8, 14, 18, 0.08));
}

.superfluo-carousel-caption .superfluo-multimedia-overline,
.superfluo-carousel-caption .superfluo-multimedia-title,
.superfluo-carousel-caption .superfluo-multimedia-description {
    display: block;
    max-width: 52rem;
    color: var(--color-white);
}

.superfluo-carousel-caption .superfluo-multimedia-overline {
    color: var(--color-primary);
}

.superfluo-carousel-caption .superfluo-multimedia-title {
    margin-top: 0.25rem;
    font-family: var(--font-title);
    font-size: clamp(1.5em, 4vw, 3em);
    line-height: 1;
}

.superfluo-carousel-caption .superfluo-multimedia-description {
    margin-top: 0.65rem;
    line-height: 1.5;
}

.superfluo-orbit-multiple .superfluo-carousel-caption {
    padding-right: clamp(8rem, 18vw, 11rem);
}

.superfluo-detail-media {
    margin-top: clamp(2rem, 5vw, 4rem);
}

.superfluo-multimedia-card {
    overflow: hidden;
    padding: clamp(0.875rem, 2vw, 1.25rem);
    border-top: 0.1875rem solid var(--color-primary);
    border-radius: var(--border-radius);
    background: var(--color-surface);
    box-shadow: var(--box-shadow);
}

.superfluo-multimedia-overline {
    display: block;
    margin: 0 0 0.5rem;
    color: var(--color-primary-hover);
    font-size: 0.6875em;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.4;
    text-transform: uppercase;
}

.superfluo-multimedia-card .superfluo-multimedia-title {
    margin: 0 0 0.875rem;
    color: var(--color-title);
    font-size: clamp(1.125em, 2vw, 1.35em);
    line-height: 1.25;
}

.superfluo-multimedia-card audio {
    display: block;
    width: 100%;
}

.superfluo-multimedia-video-card .responsive-embed {
    margin-bottom: 0;
    overflow: hidden;
    border-radius: calc(var(--border-radius) * 0.65);
    background: var(--color-black);
}

.superfluo-multimedia-card .help-text {
    margin: 0.875rem 0 0;
    color: var(--color-text);
    line-height: 1.55;
}

.superfluo-detail-documents {
    display: grid;
    gap: 1rem;
}

.superfluo-document-card {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: 0.875rem;
    padding: 1.125rem;
    color: var(--color-text);
    border: var(--border);
    border-top: 0.1875rem solid var(--color-primary);
    border-radius: var(--border-radius);
    background: var(--color-surface);
    box-shadow: var(--box-shadow);
    transition: box-shadow 180ms ease, transform 180ms ease;
}

.superfluo-document-card:hover,
.superfluo-document-card:focus {
    color: var(--color-text);
    box-shadow: var(--box-shadow-large);
    transform: translateY(-0.125rem);
}

.superfluo-document-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    color: var(--color-black);
    border-radius: 50%;
    background: var(--color-primary);
}

.superfluo-document-content,
.superfluo-document-title,
.superfluo-document-description,
.superfluo-document-download {
    display: block;
}

.superfluo-document-title {
    color: var(--color-title);
    font-family: var(--font-title);
    font-size: 1.2em;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.superfluo-document-description {
    margin-top: 0.5rem;
    color: var(--color-text);
    font-size: 0.8125em;
    line-height: 1.5;
}

.superfluo-document-download {
    margin-top: 0.75rem;
    color: var(--color-primary-hover);
    font-size: 0.6875em;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.superfluo-detail-gallery {
    margin-bottom: clamp(2.5rem, 6vw, 5rem);
}

.superfluo-detail-gallery .superfluo-masonry {
    margin-top: 0;
}

.superfluo-detail-gallery .superfluo-masonry-item {
    overflow: hidden;
    border-radius: var(--border-radius-small);
}

.superfluo-gallery-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    padding: 2.75rem 0.875rem 0.875rem;
    color: var(--color-white);
    background: linear-gradient(0deg, rgba(8, 14, 18, 0.92), transparent);
}

.superfluo-gallery-caption .superfluo-multimedia-overline,
.superfluo-gallery-title,
.superfluo-gallery-description {
    display: block;
    color: var(--color-white);
}

.superfluo-gallery-caption .superfluo-multimedia-overline {
    margin-bottom: 0.25rem;
    color: var(--color-primary);
}

.superfluo-gallery-title {
    font-family: var(--font-title);
    font-size: 1.125em;
    line-height: 1.1;
}

.superfluo-gallery-description {
    display: -webkit-box;
    margin-top: 0.35rem;
    overflow: hidden;
    font-size: 0.75em;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

/* Related content carousel */
.superfluo-related-content {
    position: relative;
    margin: 0;
    padding: clamp(3.5rem, 7vw, 6rem) 0;
    overflow: hidden;
    border-top: 0.25rem solid var(--color-primary);
    background: color-mix(in srgb, var(--color-primary) 5%, var(--color-surface));
}

.superfluo-related-content-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.superfluo-related-content-heading .superfluo-related-content-kicker {
    margin-bottom: 0.5rem;
}

.superfluo-related-content-heading h2 {
    margin: 0;
    color: var(--color-title);
    font-size: clamp(2em, 4vw, 3.5em);
    line-height: 1;
}

.superfluo-related-slider {
    padding-right: clamp(0.5rem, 1.5vw, 1.25rem);
    padding-left: clamp(0.5rem, 1.5vw, 1.25rem);
}

.superfluo-related-slider .slick-list {
    margin-right: 0;
    margin-left: 0;
    padding: 0.5rem 0 1.5rem;
}

.superfluo-related-slider .slick-track {
    display: flex;
}

.superfluo-related-slider .slick-slide {
    height: auto;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

.superfluo-related-slider .slick-slide > div,
.superfluo-related-slider .superfluo-related-slide,
.superfluo-related-slider .superfluo-content-card {
    height: 100%;
}

.superfluo-related-slider .superfluo-content-card {
    overflow: hidden;
    border-top: 0.1875rem solid var(--color-primary);
    background: var(--color-surface);
    box-shadow: var(--box-shadow);
    transition: box-shadow 180ms ease, transform 180ms ease;
}

.superfluo-related-slider .superfluo-content-card:hover {
    box-shadow: var(--box-shadow-large);
    transform: translateY(-0.25rem);
}

.superfluo-related-slider .superfluo-news-image a {
    border: 0;
    border-bottom: 0.1875rem solid var(--color-primary);
}

.superfluo-related-slider .superfluo-news-image img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.superfluo-related-slider .superfluo-news-text a {
    height: 100%;
    margin: 0;
    padding: 1.25rem;
}

.superfluo-related-slider .superfluo-news-text a time,
.superfluo-related-slider .superfluo-news-text a h4 {
    margin: 0 0 0.75rem;
    font-size: 0.75em;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.superfluo-related-slider .superfluo-news-text a h3 {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    font-size: clamp(1.35em, 2vw, 1.75em);
    line-height: 1.08;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.superfluo-related-slider .superfluo-news-text a p {
    display: -webkit-box;
    margin: 1rem 0 0;
    padding: 0;
    overflow: hidden;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.superfluo-related-slider .slick-dots {
    position: static;
    margin: 1rem 0 0;
}

.superfluo-related-slider .slick-dots li button::before {
    color: var(--color-primary-hover);
}

.superfluo-related-slider-single {
    max-width: 28rem;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
}

@media screen and (min-width: 64em) {
    .superfluo-detail-sidebar {
        position: sticky;
        top: calc(var(--header-main-height-compact) + 2rem);
    }
}

@media screen and (max-width: 63.9375em) {
    .superfluo-highlight-card,
    .superfluo-highlight-card-reverse {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    .superfluo-highlight-card-reverse .superfluo-highlight-media,
    .superfluo-highlight-card-reverse .superfluo-highlight-copy {
        order: initial;
    }

    .superfluo-highlight-media img {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .superfluo-highlight-copy h2 {
        max-width: 20ch;
    }

    .superfluo-related-content .grid-container {
        padding-right: 1.25rem;
        padding-left: 1.25rem;
    }

    .superfluo-related-slider {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }

    .superfluo-related-slider .slick-list {
        margin-right: 0;
        margin-left: 0;
    }

    .superfluo-related-slider .slick-prev {
        z-index: 2;
        left: 0;
    }

    .superfluo-related-slider .slick-next {
        right: 0;
    }
}

@media screen and (max-width: 39.9375em) {
    .superfluo-detail-page {
        padding-top: 1.5rem;
    }

    .superfluo-detail-toolbar {
        margin-bottom: 2rem;
    }

    .superfluo-detail-header h1 {
        font-size: 2.75em;
    }

    .superfluo-detail-main {
        padding: 1.5rem;
    }

    .superfluo-carousel-caption .superfluo-multimedia-description {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .superfluo-orbit-multiple .superfluo-carousel-caption {
        padding-right: 1rem;
        padding-bottom: 3rem;
    }

    .superfluo-related-content-heading {
        display: block;
    }

    .superfluo-related-slider {
        padding-right: 0.25rem;
        padding-left: 0.25rem;
    }

    .superfluo-related-slider .slick-list {
        margin-right: 0;
        margin-left: 0;
    }

    .superfluo-related-slider .slick-slide {
        padding-right: 0.375rem;
        padding-left: 0.375rem;
    }
}

body.superfluo-invert-colors .superfluo-detail-meta-card,
body.superfluo-invert-colors .superfluo-detail-schedule,
body.superfluo-invert-colors .superfluo-detail-main,
body.superfluo-invert-colors .superfluo-multimedia-card,
body.superfluo-invert-colors .superfluo-document-card,
body.superfluo-invert-colors .superfluo-highlight-card,
body.superfluo-invert-colors .superfluo-related-slider .superfluo-content-card {
    background: var(--color-surface-alt);
}

body.superfluo-invert-colors .superfluo-related-content {
    background: color-mix(in srgb, var(--color-primary) 6%, var(--color-surface));
}

body.superfluo-invert-colors .superfluo-detail-meta-row > i {
    color: var(--color-black);
}

.superfluo-support-footer {
    position: relative;
    padding: 4.5rem 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 86% 25%, color-mix(in srgb, var(--color-primary) 18%, transparent), transparent 24%),
        linear-gradient(135deg, var(--color-black), var(--color-dark-gray));
}

.superfluo-support-footer::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 0.25rem;
    background: var(--color-primary);
    content: "";
}

.superfluo-support-footer .grid-container {
    position: relative;
    z-index: 1;
}

.superfluo-support-footer h2,
.superfluo-support-footer h3,
.superfluo-support-footer p,
.superfluo-support-footer li,
.superfluo-support-footer strong,
.superfluo-support-footer code,
.superfluo-support-footer blockquote {
    color: var(--color-white);
}

.superfluo-support-footer h2,
.superfluo-support-footer .superfluo-text-container h2 {
    max-width: 13ch;
    margin: 0 0 1.25rem 0;
    font-size: clamp(2.25em, 4vw, 3.75em);
}

.superfluo-support-footer .superfluo-information-lead {
    color: var(--color-light-gray);
}

.superfluo-support-footer-links {
    padding: 1.75rem;
    border: 1px solid color-mix(in srgb, var(--color-primary) 48%, transparent);
    border-radius: var(--border-radius);
    background: color-mix(in srgb, var(--color-black) 58%, transparent);
}

.superfluo-support-footer-links .superfluo-bank-details {
    margin: 1rem 0 0;
    padding: 1rem;
    background: color-mix(in srgb, var(--color-white) 7%, transparent);
}

.superfluo-support-footer-links .superfluo-donation-barcode {
    max-width: 25rem;
}

.superfluo-support-footer-links .superfluo-donation-card > p,
.superfluo-support-footer-links .superfluo-donation-card > .superfluo-information-actions {
    display: none;
}

@media screen and (max-width: 39.9375em) {
    .superfluo-information-intro,
    .superfluo-information-body {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .superfluo-information-primary,
    .superfluo-information-aside {
        padding: 1.5rem;
    }

    .superfluo-information-primary h2,
    .superfluo-information-primary .superfluo-text-container h2 {
        font-size: 2.25em;
    }

    .superfluo-information-lead,
    .superfluo-information-primary .superfluo-information-lead {
        font-size: 1em;
    }

    .superfluo-information-name-list {
        columns: 1;
    }

    .superfluo-information-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .superfluo-information-actions .button {
        width: 100%;
    }

    .superfluo-support-footer {
        padding: 3rem 0;
    }

}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .superfluo-information-name-list {
        columns: 2;
    }
}

@media screen and (min-width: 64em) {
    .superfluo-information-header {
        min-height: 26rem;
        height: 26rem;
    }
}

body.superfluo-invert-colors .superfluo-information-primary,
body.superfluo-invert-colors .superfluo-information-card {
    background: var(--color-surface-alt);
}

body.superfluo-invert-colors .superfluo-information-aside,
body.superfluo-invert-colors .superfluo-information-body {
    background: color-mix(in srgb, var(--color-primary) 6%, var(--color-surface));
}

body.superfluo-invert-colors .superfluo-bank-details {
    background: color-mix(in srgb, var(--color-white) 5%, var(--color-surface-alt));
}

body.superfluo-invert-colors .superfluo-support-scripture {
    background: var(--color-surface-alt);
}

body.superfluo-invert-colors .superfluo-information-card .superfluo-information-card-icon {
    color: var(--color-black) !important;
}

body.superfluo-invert-colors main .superfluo-information-kicker {
    color: var(--color-primary) !important;
}

.superfluo-text-html h2 {
    margin-top: 1.5em;
}

.superfluo-text-html h3,
.superfluo-text-html h4,
.superfluo-text-html h5,
.superfluo-text-html h6 {
    margin-top: 1.125em;
}

.superfluo-text-html a:hover:not(.button) {
    text-decoration: underline;
}


.superfluo-text-container {
    position: relative;
}
.superfluo-text-container.superfluo-text-container-hidden {
    height: 3rem;
}
.superfluo-text-container:hover .superfluo-edit-trigger,
.superfluo-text-container:hover .superfluo-toogle-trigger {
    display: inline-block;
}

.superfluo-text-container h2 {
    font-size: 3em;
}
.superfluo-text-container p {
    font-weight: 400;
    font-size: 1em;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-text-container h2 {
        font-size: 2em;
    }
    .superfluo-text-container p {
        font-weight: 400;
        font-size: 0.875em;
    }
}

.superfluo-edit-trigger,
.superfluo-toogle-trigger {
    position: absolute;
    right: 0.25rem;
    top: 0.25rem;
    left: auto;
    display: none;
    z-index: 2;
}
.superfluo-trigger-visible {
    display: inline-block;
}
.superfluo-edit-trigger + .superfluo-toogle-trigger {
    right: 3rem;
}
.superfluo-edit-trigger + .superfluo-toogle-trigger.superfluo-trigger-visible {
    right: 0;
    z-index: 1;
}
.superfluo-toogle-trigger.superfluo-trigger-visible {
    display: inline-block;
    background: var(--color-light-gray);
    border-radius: var(--border-radius-large);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    left: -1rem;
    text-align: right;
}
.superfluo-toogle-trigger.superfluo-trigger-visible::before {
    content: attr(data-label);
    color: var(--color-black);
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    font-family: var(--font-title);
    font-optical-sizing: auto;
    letter-spacing: -0.025em;
    font-size: 1.75em;
    display: inline-block;
    margin: 0;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    width: auto;
    position: absolute;
    top: 0.25rem;
    left: 1rem;
    right: 4rem;
    text-align: left;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-toogle-trigger.superfluo-trigger-visible {
        left: -1rem;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }

    .superfluo-toogle-trigger.superfluo-trigger-visible::before {
        font-size: 1.5em;
        top: 0.375rem;
        left: 1rem;
        right: 4rem;
    }
}

/* masonry */
.superfluo-masonry {
    margin: 2rem 0 0 0;
    -moz-column-gap: 1rem;
    -webkit-column-gap: 1rem;
    column-gap: 1rem;
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
    position: relative;
}
.superfluo-masonry a.superfluo-masonry-item {
    background-color: var(--color-light-gray);
    display: inline-block;
    margin: 0 0 1rem;
    width: 100%;
    transition: .8s opacity;
    position: relative;
}
.superfluo-masonry:hover a.superfluo-masonry-item {
    opacity: 0.6;
}
.superfluo-masonry:hover a.superfluo-masonry-item:hover {
    opacity: 1;
    -webkit-transform: scale(1.10, 1.10);
        -ms-transform: scale(1.10, 1.10);
            transform: scale(1.10, 1.10);
   -webkit-transition: .2s ease-in-out;
           transition: .2s ease-in-out;
    box-shadow: var(--box-shadow);
}
.superfluo-masonry img {
    width: 100%;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-masonry {
        -moz-column-count: 2;
        -webkit-column-count: 2;
        column-count: 2;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .superfluo-masonry {
        -moz-column-count: 3;
        -webkit-column-count: 3;
        column-count: 3;
    }
}

table.superfluo-admin-table {
    margin-top: 2rem;
    margin-bottom: 2rem;
}
table.superfluo-admin-table th,
table.superfluo-admin-table td {
    line-height: 1;
    font-size: 0.875em;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
}

table.superfluo-admin-table th {
    font-size: 1em;
}

table.superfluo-admin-table .button {
    margin: 0.125rem;
    padding: 0.25rem 0.125rem;
    font-size: 1.125em;
    border-radius: var(--border-radius);
}

table.superfluo-admin-table th.icon,
table.superfluo-admin-table td.icon {
    width: 2em;
    padding: 0.125em;
    text-align: center;
}


table.superfluo-admin-table tbody,
table.superfluo-admin-table tfoot,
table.superfluo-admin-table thead {
    border:none
}

table.superfluo-admin-table tfoot td,
table.superfluo-admin-table tfoot th,
table.superfluo-admin-table thead td,
table.superfluo-admin-table thead th {
    padding: 1.25rem .625rem;
    font-weight: 600;
    background-color: var(--color-surface);
    font-size:1.125em
}
table.superfluo-admin-table tbody td,
table.superfluo-admin-table tbody th {
    padding: 1rem .625rem;
    font-weight:400;
}
table.superfluo-admin-table tbody tr:nth-child(even){
    border-bottom: var(--border);
    background-color: var(--color-surface)
}
table.superfluo-admin-table.hover thead tr:hover{background-color: var(--color-surface-alt) !important}
table.superfluo-admin-table.hover tfoot tr:hover{background-color: var(--color-surface-alt) !important}
table.superfluo-admin-table.hover tbody tr:hover{background-color: var(--color-surface-alt) !important}
table.superfluo-admin-table tr { border-bottom: var(--border)}


/* Small only */
@media screen and (max-width: 39.9375em) {
    .table-scroll-small {
        overflow-x:auto
    }
    table.superfluo-admin-table tfoot td,
    table.superfluo-admin-table tfoot th,
    table.superfluo-admin-table thead td,
    table.superfluo-admin-table thead th {
        font-size: 1em
    }
}


/**
 * Invert colors
 */

body.superfluo-invert-colors,
body.superfluo-invert-colors main {
    background: var(--color-dark-gray) !important;
}

body.superfluo-invert-colors {
    --color-title:                  var(--color-white);
    --color-text:                   var(--color-light-gray);
    --color-link:                   var(--color-primary);
    --color-link-hover:             var(--color-white);
    --color-page-bg:                var(--color-dark-gray);
    --color-surface:                var(--color-dark-gray);
    --color-surface-alt:            var(--color-black);
    --color-border:                 var(--color-gray);
    --color-border-strong:          var(--color-light-gray);
    --color-disabled:               color-mix(in srgb, var(--color-dark-gray) 80%, var(--color-black));
    color-scheme: dark;
}

body.superfluo-invert-colors,
body.superfluo-invert-colors main,
body.superfluo-invert-colors main h1,
body.superfluo-invert-colors main h2,
body.superfluo-invert-colors main h3,
body.superfluo-invert-colors main h4,
body.superfluo-invert-colors main h5,
body.superfluo-invert-colors main h6,
body.superfluo-invert-colors main p,
body.superfluo-invert-colors main li {
    color: var(--color-white) !important;
}
body.superfluo-invert-colors,
body.superfluo-invert-colors header:not(.homepage-section-heading):not(.superfluo-related-content-heading) {
    color: var(--color-white) !important;
    background: var(--color-black) !important;
}
body.superfluo-invert-colors footer,
body.superfluo-invert-colors footer h1,
body.superfluo-invert-colors footer h2,
body.superfluo-invert-colors footer h3,
body.superfluo-invert-colors footer h4,
body.superfluo-invert-colors footer h5 {
    color: var(--color-white) !important;
}
body.superfluo-invert-colors footer {
    background: var(--color-black) !important;
}
body.superfluo-invert-colors footer .footer-copyright {
    color: var(--color-white) !important;
    background: var(--color-black) !important;
}

body.superfluo-invert-colors footer .superfluo-footer-main {
    background-image: linear-gradient(135deg, var(--color-black), color-mix(in srgb, var(--color-dark-gray) 46%, var(--color-black)));
}
body.superfluo-invert-colors footer .superfluo-footer-action-card {
    color: var(--color-white) !important;
}
body.superfluo-invert-colors footer .superfluo-footer-action-card:hover,
body.superfluo-invert-colors footer .superfluo-footer-action-card:focus {
    color: var(--color-on-primary) !important;
}
body.superfluo-invert-colors footer .superfluo-footer-accordion .menu a:not(.superfluo-footer-link-accent) {
    color: var(--footer-text-muted) !important;
}
body.superfluo-invert-colors footer .superfluo-footer-accordion .menu a:hover,
body.superfluo-invert-colors footer .superfluo-footer-accordion .menu a:focus,
body.superfluo-invert-colors footer .superfluo-footer-accordion .menu a.superfluo-footer-link-accent {
    color: var(--color-primary) !important;
}
body.superfluo-invert-colors footer .superfluo-footer-accordion .menu a.superfluo-footer-link-accent:hover,
body.superfluo-invert-colors footer .superfluo-footer-accordion .menu a.superfluo-footer-link-accent:focus {
    color: var(--color-white) !important;
}
body.superfluo-invert-colors footer .superfluo-footer-social-links a,
body.superfluo-invert-colors footer .superfluo-footer-accessibility a {
    color: var(--color-light-blue) !important;
}
body.superfluo-invert-colors footer .superfluo-footer-social-links a:hover,
body.superfluo-invert-colors footer .superfluo-footer-social-links a:focus,
body.superfluo-invert-colors footer .superfluo-footer-accessibility a:hover,
body.superfluo-invert-colors footer .superfluo-footer-accessibility a:focus {
    color: var(--color-on-primary) !important;
}
body.superfluo-invert-colors footer .superfluo-footer-legal a,
body.superfluo-invert-colors footer .superfluo-footer-credits a {
    color: var(--footer-text-muted) !important;
}
body.superfluo-invert-colors footer .superfluo-footer-legal a:hover,
body.superfluo-invert-colors footer .superfluo-footer-legal a:focus,
body.superfluo-invert-colors footer .superfluo-footer-credits a:hover,
body.superfluo-invert-colors footer .superfluo-footer-credits a:focus {
    color: var(--color-primary) !important;
}

body.superfluo-invert-colors a:not(.button) {
    color: var(--color-primary) !important;
}
body.superfluo-invert-colors a:hover:not(.button) {
    color: var(--color-white) !important;
}
body.superfluo-invert-colors a.superfluo-link span {
    color: var(--color-white) !important;
}
body.superfluo-invert-colors a.superfluo-link small,
body.superfluo-invert-colors a.superfluo-link span::after {
    color: var(--color-primary) !important;
}

body.superfluo-invert-colors .superfluo-page-header,
body.superfluo-invert-colors .superfluo-admin-header,
body.superfluo-invert-colors .superfluo-group-header{
    background-color: var(--color-black);
}

body.superfluo-invert-colors .superfluo-orbit {
    background-color: var(--color-overlay-strong);
}

body.superfluo-invert-colors .superfluo-gradient-dashboard,
body.superfluo-invert-colors .superfluo-gradient-events,
body.superfluo-invert-colors .superfluo-gradient-news,
body.superfluo-invert-colors .superfluo-gradient-text {
    background-color: var(--color-dark-gray);
    background-image: linear-gradient(135deg, var(--color-black) 0%, var(--color-dark-gray) 35%, color-mix(in srgb, var(--color-dark-gray) 95%, transparent) 100%);
}

/* forms */
body.superfluo-invert-colors label {
    color: var(--color-white);
}

body.superfluo-invert-colors [type="color"],
body.superfluo-invert-colors [type="date"],
body.superfluo-invert-colors [type="datetime-local"],
body.superfluo-invert-colors [type="datetime"],
body.superfluo-invert-colors [type="email"],
body.superfluo-invert-colors [type="month"],
body.superfluo-invert-colors [type="number"],
body.superfluo-invert-colors [type="password"],
body.superfluo-invert-colors [type="search"],
body.superfluo-invert-colors [type="tel"],
body.superfluo-invert-colors [type="text"],
body.superfluo-invert-colors [type="time"],
body.superfluo-invert-colors [type="url"],
body.superfluo-invert-colors [type="week"],
body.superfluo-invert-colors select,
body.superfluo-invert-colors input,
body.superfluo-invert-colors textarea {
    color: var(--color-white) !important;
    background: var(--color-surface-alt) !important;
    border-color: var(--color-border) !important;
}

body.superfluo-invert-colors time {
    color: var(--color-light-gray) !important;
}

body.superfluo-invert-colors table,
body.superfluo-invert-colors tr,
body.superfluo-invert-colors th,
body.superfluo-invert-colors td,
body.superfluo-invert-colors tbody tr,
body.superfluo-invert-colors tbody tr:nth-child(2n),
body.superfluo-invert-colors tbody,
body.superfluo-invert-colors tfoot,
body.superfluo-invert-colors thead {
    background: transparent !important;
}
body.superfluo-invert-colors th,
body.superfluo-invert-colors td {
    color: var(--color-white) !important;
}

body.superfluo-invert-colors .reveal,
body.superfluo-invert-colors .fieldset {
    color: var(--color-white);
    background-color: var(--color-surface);
    border-color: var(--color-border);
}

body.superfluo-invert-colors .reveal h1,
body.superfluo-invert-colors .reveal h2,
body.superfluo-invert-colors .reveal h3,
body.superfluo-invert-colors .reveal h4,
body.superfluo-invert-colors .reveal h5,
body.superfluo-invert-colors .reveal h6,
body.superfluo-invert-colors .fieldset legend {
    color: var(--color-white);
}

body.superfluo-invert-colors .superfluo-callout .superfluo-text-block,
body.superfluo-invert-colors .superfluo-callout p {
    color: var(--color-black) !important;
}
body.superfluo-invert-colors .superfluo-callout .superfluo-icon-block {
    color: var(--color-black) !important;
}
body.superfluo-invert-colors .superfluo-callout.alert .superfluo-icon-block,
body.superfluo-invert-colors .superfluo-callout.info .superfluo-icon-block,
body.superfluo-invert-colors .superfluo-callout.important .superfluo-icon-block {
    color: var(--color-white) !important;
}

/**
 * Foundation for Sites
 */

.reveal {
    border-radius: var(--border-radius);
    padding: 2rem;
    box-shadow: var(--box-shadow);
    border: var(--border);
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .reveal {
        border-radius: 0;
        padding: 2rem;
    }
}

header .button,
footer .button,
.reveal .button,
.reveal .button-group {
    margin: 0;
}

button,
.button,
.button-group .button {
    font-family: var(--font-text);
    font-size: 1em;
    font-weight: 600;
}
.button-group .button {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
}

.pagination li,
.pagination a,
.button-group.small .button {
    border-radius: var(--border-radius-small);
}

.button.filter-button {
    font-size: 0.875em;
    padding-left: 1rem;
    padding-right: 1rem;
    display: inline-block;
    margin: 0.25rem;
}

.input-group .button {
    font-size: 0.875em;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .button {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    .button.filter-button {
        font-size: 0.75em;
        padding: 0.325rem 0.5rem;
    }

    .input-group .button {
        font-size: 0.75em;
    }
}

.button.white {
    border-color: var(--color-white);
    background: var(--color-white);
    color: var(--color-black);
}
.button.white:hover {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: var(--color-black);
}

.button.hollow.white {
    border-color: var(--color-white);
    color: var(--color-white);
    background: transparent;
}
.button.hollow.white:hover {
    border-color: var(--color-light-gray);
    color: var(--color-light-gray);
    background: transparent;
}

.button.clear.light-green {
    border-color: var(--color-success-soft);
    color: var(--color-success);
}
.button.clear.light-green:hover {
    border-color: transparent;
    color: var(--color-success-hover);
}

.button.light-green:not(.clear) {
    border-color: var(--color-success-soft);
    background: var(--color-success-soft);
    color: var(--color-black);
}
.button.light-green:hover:not(.clear) {
    border-color: var(--color-success);
    background: var(--color-success);
    color: var(--color-on-success);
}

.button.green {
    border-color: var(--color-success);
    color: var(--color-success);
}
.button.green:hover {
    border-color: var(--color-success-hover);
    color: var(--color-success-hover);
}
.button.clear.green {
    border-color: transparent;
}

.switch.switch-delete input:checked~.switch-paddle {
    background: var(--color-alert-hover);
}

.input-group-button a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 1em;
    padding-left:0.5rem;
    padding-right:0.5rem;
}

.close-button {
    font-size: 1em;
    color: var(--color-link);
    top: 0.875rem;
    right: 1rem;
    padding: 0.5rem 0.75rem;
}
.close-button:hover {
    color: var(--color-link-hover);
    background: var(--color-surface-alt);
    border-radius: var(--border-radius);
}

.dropdown-pane {
    border-radius: var(--border-radius);
    overflow: hidden;
}

.dropdown-pane .menu .button,
.dropdown-pane .menu a {
    padding: 0.5rem 0.5rem;
}

.dropdown-pane .menu a.checked {
    font-weight: 900;
}

.accordion-title  {
    font-size: 1.125em;
    font-weight: 700;
    line-height: 1.1;
    font-family: var(--font-title);
    font-optical-sizing: auto;
    color: var(--color-title);
    padding: 1rem 0.75rem;
}

.accordion-title:focus,
.is-active .accordion-title {
    background: var(--color-black);
    color: var(--color-white);
}

.accordion-title::before {
    content: '\f078';
    font-family: 'Font Awesome 5 Pro' !important;
    font-weight: 900 !important;
    font-style: normal;
}
.is-active>.accordion-title::before{
    content: '\f077';
}

main .tabs {
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius);
}
main .tabs-content {
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
}

.tabs-title > a {
    font-size: 1em;
    font-weight: 700;
    line-height: 1.1;
    font-family: var(--font-title);
    font-optical-sizing: auto;
    color: var(--color-title);
    padding: 0.5rem 0.75rem;
}

.tabs-title > a:focus,
.tabs-title > a[aria-selected="true"] {
    background: var(--color-black);
    color: var(--color-white);
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .accordion-title {
        font-size: 1em;
        padding: 0.75rem 0.75rem;
    }

    .tabs-title > a {
        font-size: 0.875em;
        padding: 0.5rem 0.5rem;
    }
}

.orbit-border {
    border-radius: var(--border-radius);
    overflow: hidden;
}
/* Small only */
@media screen and (max-width: 39.9375em) {
    .orbit-border {
        border-radius: var(--border-radius);
    }
}

.orbit-bullets {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    text-align: left;
    z-index: 2;
}
.orbit-bullets.orbit-bullets-right {
    left: auto;
    right: 1rem;
}
.orbit-bullets button {
    width: 0.875rem;
    height: 0.875rem;
    margin: 0.25rem 0.25rem 0 0.25rem;
    /*border-radius: var(--border-radius-round);*/
    border: 1px solid var(--color-white);
    background-color: var(--color-white);
    cursor: pointer;
}
.orbit-bullets button:hover {
    background-color: var(--color-white);
    border: 1px solid var(--color-primary);
}
.orbit-bullets button.is-active {
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .orbit-bullets {
        bottom: 0.25rem;
        left: 0.5rem;
    }
    .orbit-bullets.orbit-bullets-right {
        left: auto;
        right: 0.25rem;
    }
    .orbit-bullets button {
        width: 0.75rem;
        height: 0.75rem;
        margin: 0.25rem 0.25rem 0 0;
    }
}

.orbit-caption-grid {
    position: absolute;
    top: 2rem;
    right: 2rem;
    bottom: 0;
    left: 2rem;
    z-index: 1;
    overflow: hidden;
}

.orbit-caption-grid .grid-container {
    height: 100%;
}
.orbit-caption-grid .grid-container .grid-x {
    height: 100%;
}

.orbit-caption-grid h2 {
    color: var(--color-white);
    font-size: 4em;
}
.orbit-caption-grid p {
    color: var(--color-white);
    font-weight: 400;
    font-size: 1.5em;
}

.orbit-caption-grid p .button {
    font-size: 0.875em;
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .orbit-caption-grid h2 {
        font-size: 3em;
    }
    .orbit-caption-grid p {
        font-weight: 400;
        font-size: 1.25em;
    }
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .orbit-caption-grid {
        top: 1rem;
        right: 1rem;
        left: 1rem;
    }
    .orbit-caption-grid h2 {
        font-size: 2em;
    }
    .orbit-caption-grid p {
        font-weight: 400;
        font-size: 1em;
    }
}


.rounded {
    border-radius: var(--border-radius-round) !important;
}
.radius {
    border-radius: var(--border-radius) !important;
}


.fieldset {
    --fieldset-space: clamp(1rem, 3vw, 2rem);

    margin: clamp(1.5rem, 4vw, 3rem) 0;
    padding: 0 var(--fieldset-space) var(--fieldset-space);
    border: var(--border);
    border-top: 0;
    border-radius: 0;
    background: var(--color-surface);
    box-shadow: var(--box-shadow-small);
    overflow: hidden;
}

.fieldset legend {
    width: calc(100% + (var(--fieldset-space) * 2));
    max-width: none;
    margin: 0 calc(var(--fieldset-space) * -1) 1.5rem;
    padding: 0.875rem var(--fieldset-space);
    border-top: 0.25rem solid var(--color-primary);
    border-bottom: var(--border);
    background: var(--color-surface-alt);
    color: var(--color-title);
    font-family: var(--font-title);
    font-size: clamp(1.2em, 2vw, 1.5em);
    font-weight: 700;
    line-height: 1.2;
    display: block;
}

.fieldset .fieldset legend {
    font-size: clamp(1em, 2vw, 1.125em);
}

@media screen and (max-width: 39.9375em) {
    .fieldset {
        --fieldset-space: 1rem;
    }
}

.fieldset.alert {
    background: var(--color-alert-soft);
}

.fieldset legend.red,
legend.red {
    color: var(--color-red);
}

.fieldset legend.gray,
legend.gray {
    color: var(--color-gray);
}


.callout {
    border: var(--border);
    border-radius: var(--border-radius);
}

.callout.alert {
    background: var(--color-alert-soft);
}
