@charset "UTF-8";

/**
 * BY FRAN project styles
 */

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: var(--font-family-dyslexic) !important;
    font-weight: normal !important;
    font-style: normal !important;
}

body {
    --formation-color: var(--color-primary);
    --formation-color-dark: var(--color-primary-dark);
    --formation-color-darker: var(--color-primary-darker);
    --formation-color-light: var(--color-primary-light);
    --formation-text-accent: var(--color-link);
    --formation-solid-color: var(--color-primary);
    --formation-pattern: none;
    font-family: var(--font-family-body);
    font-optical-sizing: auto;
    font-weight: var(--font-weight-regular);
    font-style: normal;
    color: var(--color-text);
    background: var(--color-background);
}

body.superfluo-formation-1 {
    --formation-color: var(--color-formation-1);
    --formation-color-dark: var(--color-formation-1-dark);
    --formation-color-darker: var(--color-formation-1-darker);
    --formation-color-light: var(--color-formation-1-light);
    --formation-link-color: var(--color-formation-1-link);
    --formation-link-hover: var(--color-formation-1-link-hover);
    --formation-text-accent: var(--color-formation-1-link);
    --formation-solid-color: var(--color-formation-1-dark);
    --formation-pattern: var(--asset-pattern-formation-1);
}

body.superfluo-formation-2 {
    --formation-color: var(--color-formation-2);
    --formation-color-dark: var(--color-formation-2-dark);
    --formation-color-darker: var(--color-formation-2-darker);
    --formation-color-light: var(--color-formation-2-light);
    --formation-link-color: var(--color-formation-2-link);
    --formation-link-hover: var(--color-formation-2-link-hover);
    --formation-text-accent: var(--color-formation-2-link);
    --formation-solid-color: var(--color-formation-2-dark);
    --formation-pattern: var(--asset-pattern-formation-2);
}

body.superfluo-formation-3 {
    --formation-color: var(--color-formation-3);
    --formation-color-dark: var(--color-formation-3-dark);
    --formation-color-darker: var(--color-formation-3-darker);
    --formation-color-light: var(--color-formation-3-light);
    --formation-link-color: var(--color-formation-3-link);
    --formation-link-hover: var(--color-formation-3-link-hover);
    --formation-text-accent: var(--color-formation-3-link);
    --formation-solid-color: var(--color-formation-3-dark);
    --formation-pattern: var(--asset-pattern-formation-3);
}

body {
    --map-primary-color: var(--color-hero-decoration);
    --map-hover-color: var(--color-link);
    --map-active-color: var(--color-primary-darker);
}

body[class*="superfluo-formation-"] {
    --map-primary-color: var(--formation-color-light);
    --map-hover-color: var(--formation-color);
    --map-active-color: var(--formation-color-dark);
}

body.superfluo-invert-colors {
    --map-primary-color: var(--formation-color-dark);
    --map-hover-color: var(--formation-color);
    --map-active-color: var(--formation-color-light);
}

/* Light and dark mode visibility helpers */
.light-mode-element {
    display: inline-block;
}

.dark-mode-element {
    display: none;
}

body.superfluo-invert-colors .light-mode-element {
    display: none;
}

body.superfluo-invert-colors .dark-mode-element {
    display: inline-block;
}

main a {
    color: var(--color-link);
    transition:
        color 0.2s ease,
        text-decoration-color 0.2s ease;
}
main a:hover,
main a:focus {
    color: var(--color-link-dark);
}
main a.active,
main a[aria-current="page"] {
    color: var(--color-link-dark);
    font-weight: var(--font-weight-bold);
}

body[class*="superfluo-formation-"] main a {
    color: var(--formation-link-color, var(--formation-color));
}

body[class*="superfluo-formation-"] main a:hover,
body[class*="superfluo-formation-"] main a:focus,
body[class*="superfluo-formation-"] main a.active,
body[class*="superfluo-formation-"] main a[aria-current="page"] {
    color: var(--formation-link-hover, var(--formation-color-dark));
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.superfluo-footer-accordion-title,
.superfluo-page-title {
    margin: 0 0 0.5em;
    color: var(--color-title);
    font-family: var(--font-family-heading);
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: var(--font-weight-extrabold);
    line-height: 0.98;
    letter-spacing: -0.015em;
    text-wrap: balance;
}

h1,
.superfluo-page-title {
    font-size: 2.75em;
    margin-top: 0.5em;
    margin-bottom: 0.75em;
}
h2 {
    font-size: 2.125em;
}
h3 {
    font-size: 1.75em;
}
h4,
.superfluo-footer-accordion-title {
    font-size: 1.5em;
    font-weight: var(--font-weight-bold);
}
h5 {
    font-size: 1.25em;
    font-weight: var(--font-weight-bold);
}
h6 {
    font-size: 1.125em;
    font-weight: var(--font-weight-bold);
}

/* Subtitle */
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.superfluo-page-title small {
    display: block;
    margin-top: 0.5rem;
    color: var(--formation-text-accent, var(--color-primary));
    font-size: 0.625em;
    font-family: var(--font-family-body);
    font-style: normal;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-transform: uppercase;
}

h1 small,
.superfluo-page-title small {
    font-size: 0.5em;
}

body.superfluo-invert-colors h1 small,
body.superfluo-invert-colors h2 small,
body.superfluo-invert-colors h3 small,
body.superfluo-invert-colors h4 small,
body.superfluo-invert-colors h5 small,
body.superfluo-invert-colors h6 small,
body.superfluo-invert-colors .superfluo-page-title small {
    color: var(--formation-color-light, var(--color-white));
}

/* medium and up */
@media (min-width: 40em) {
    h1,
    .superfluo-page-title {
        font-size: 4.75em;
    }
    h1 small,
    .superfluo-page-title small {
        font-size: 0.45em;
    }
    h2 {
        font-size: 3.25em;
    }
    h3 {
        font-size: 2.5em;
    }
    h4 {
        font-size: 2em;
    }
    h5 {
        font-size: 1.5em;
    }
    h6 {
        font-size: 1.25em;
    }
}

/* Heading with subtle accent */
:is(h1, h2, h3, h4, h5, h6).line-dashed {
    position: relative;
    display: inline-block;
    margin-bottom: 1em;
    padding-bottom: 1rem;
}

:is(h1, h2, h3, h4, h5, h6).line-dashed::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;

    width: 3rem;
    height: 0.125rem;

    background-color: var(--formation-color, var(--color-primary));
}

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

.reveal h2 {
    position: relative;
    margin: 0 0 1.5rem 0 !important;
    color: var(--color-title);
    padding: 0;
    font-size: 2em !important;
}
body[class*="superfluo-formation-"] .reveal h2 {
    color: var(--formation-text-accent);
}
body.superfluo-invert-colors[class*="superfluo-formation-"] .reveal h2 {
    color: var(--formation-color-light);
}

big {
    font-style: normal;
    font-weight: var(--font-weight-bold);
    line-height: 1.1;
    font-family: var(--font-family-heading);
    font-optical-sizing: auto;
    letter-spacing: 0.04em;
}

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

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

/* ==========================================================================
   App header
   ========================================================================== */

#app-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 20;

    width: 100%;
    max-width: 100%;

    background-color: transparent;
    box-shadow: none;

    overflow-x: hidden;

    transition:
        background-color 0.4s ease-in-out,
        box-shadow 0.4s ease-in-out;
}

#app-header.header-shadow {
    background-color: var(--formation-color-dark, var(--color-primary));
    box-shadow: 0 0.125rem 0.75rem rgba(0, 0, 0, 0.18);
}

/* Header buttons */

#app-header .button.clear,
#app-header .button.hollow {
    color: var(--color-white);
    background-color: transparent;
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        opacity 0.2s ease;
}

#app-header .button.clear:hover,
#app-header .button.hollow:hover {
    color: var(--color-white);
    background-color: transparent;
    opacity: 0.8;
}

#app-header .button.hollow {
    border-color: var(--color-white);
}

#app-header .button.hollow:hover {
    border-color: var(--color-white);
}

/* Main logo */
#header-logo {
    display: inline-block;

    width: 100%;
    max-width: 5rem;
    height: auto;
    margin-top: -0.5rem;

    transform-origin: center;
    transition:
        max-width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
        margin-top 0.35s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
#app-header.header-shadow #header-logo {
    max-width: 3rem;
    margin-top: -0.25rem;
    margin-bottom: -1rem;
}

/* Medium screens */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    #header-logo {
        width: 4rem;
    }
    #app-header.header-shadow #header-logo {
        max-width: 2.5rem;
        margin-top: -0.25rem;
        margin-bottom: -1rem;
    }
}
/* Small screens */
@media screen and (max-width: 39.9375em) {
    #header-logo {
        margin-top: -0.125rem;
        width: 3rem;
        transition:
            width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
            opacity 0.2s ease,
            transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }
    #app-header.header-shadow #header-logo {
        display: none;
    }
}

/* Header icons */
#app-header .header-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 3rem;
    height: 3rem;
    margin-right: 1rem;
    padding: 0;
    border: 0;

    transition:
        width 0.35s ease,
        height 0.35s ease,
        opacity 0.2s ease;
}
#app-header .header-icon:last-child {
    margin-right: 0;
}
#app-header .header-icon:hover {
    opacity: 0.8;
}
#app-header .header-icon img,
#app-header .header-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    border: 0;
    object-fit: contain;
}
#app-header.header-shadow .header-icon {
    width: 2.5rem;
    height: 2.5rem;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    #app-header,
    #header-logo,
    #app-header .header-icon {
        transition: none;
    }
}

/* Jump to top */
#jump-to-top {
    display: none;
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 15;

    font-size: 1.25rem;
}

#jump-to-top a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-link);
    opacity: 0.35;
    transition:
        opacity 0.2s ease,
        transform 0.2s ease;
    font-size: 1.5em;
}

#jump-to-top a:hover {
    opacity: 1;
    transform: translateY(-0.125rem);
}

/* Small screens */
@media screen and (max-width: 39.9375em) {
    #app-header .button,
    #app-header .button.clear {
        padding: 0.5rem;
        font-size: 0.875rem;
    }

    #app-header.header-shadow .button,
    #app-header.header-shadow .button.clear {
        padding: 0.25rem 0.5rem;
    }

    #app-header .header-icon {
        width: 2rem;
        height: 2rem;
    }

    #app-header.header-shadow .header-icon {
        width: 1.5rem;
        height: 1.5rem;
    }

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

/* Medium screens */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    #app-header .button,
    #app-header .button.clear {
        padding: 0.375rem 1rem;
    }

    #app-header .header-icon {
        width: 2.25rem;
        height: 2.25rem;
    }

    #app-header.header-shadow .header-icon {
        width: 2rem;
        height: 2rem;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    #jump-to-top a {
        transition: none;
    }
}

#main-search-container {
    position: relative;
    display: inline-block;
    border-radius: var(--radius-lg);
    border: none;
    overflow: hidden;
    margin: 0;
    padding: 0.25rem 0.75rem;
    background: color-mix(in srgb, var(--formation-color) 52%, transparent);
    transition:
        width 1s cubic-bezier(0.4, 2.1, 0.5, 1),
        opacity var(--transition-slow);
    width: 0;
    opacity: 0;
    pointer-events: none;
}
#main-search-container.active-search {
    width: 95%;
    opacity: 1;
    pointer-events: auto;
}
#main-search-container a {
    color: var(--color-white);
    background: transparent;
    font-size: 1.5em;
}
#main-search-container a:hover {
    color: var(--color-white);
    background: transparent;
    opacity: 0.8;
}
#main-search-form,
#main-search-form .input-group,
#main-search-form .input-group-button {
    border: 0;
    margin: 0;
    padding: 0;
}
#main-search-input{
    margin: 0;
    padding: 0.125rem 0.25rem 0.125rem 0.5rem;
    border: 0;
    background: transparent;
    color: var(--color-white);
    font-size: 1.25em;
    height: auto;
}
#main-search-input:focus {
    border: 0;
    box-shadow: none;
}

.header-shadow #main-search-input {
    font-size: 1.125em;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    #main-search-container {
        border-radius: var(--radius-control-small);
        padding: 0 0.375rem;
    }
    #main-search-container a {
        font-size: 1em;
    }
    #main-search-input {
        padding: 0.125rem 0.25rem 0.125rem 0.25rem;
        font-size: 1em;
    }
}

#cookies {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 100;
    padding: 1rem;
    background-color: rgba(0, 0, 0, 0.9);
}

#cookies p {
    margin-bottom: 0;
    color: var(--color-white);
    font-size: 0.75rem;
}

#cookies a:not(.button) {
    color: var(--color-white);
    text-decoration: underline;
}
#cookies a.button {
    color: var(--color-white);
    padding: 0.5rem 0.5rem;
    margin: 0.25rem;
}

#cookies a:not(.button):hover {
    color: var(--color-white);
    text-decoration: underline;
}

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



/* Footer */
footer {
    --footer-color: var(--color-primary);
    --footer-color-dark: var(--color-primary-dark);
    --footer-color-light: var(--color-primary-light);
    --footer-border: color-mix(in srgb, var(--color-white) 22%, transparent);
    --footer-text-muted: color-mix(in srgb, var(--color-white) 78%, transparent);

    position: relative;
    padding: 0;
    color: var(--color-white);
    background-color: var(--footer-color);
    overflow-x: hidden;
}

body[class*="superfluo-formation-"] footer {
    --footer-color: var(--formation-solid-color, var(--formation-color));
    --footer-color-dark: var(--formation-color-dark);
    --footer-color-light: var(--formation-color-light);
}

footer .superfluo-footer-main {
    position: relative;
    isolation: isolate;
    background:
        linear-gradient(
            135deg,
            color-mix(in srgb, var(--footer-color-dark) 28%, transparent),
            transparent 65%
        ),
        var(--footer-color);
}

footer .superfluo-footer-main::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: var(--formation-pattern, none);
    background-repeat: repeat;
    background-position: center;
    background-size: 30rem auto;
    opacity: 0.20;
    pointer-events: none;
}

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 {
    display: block;
    width: 100%;
    max-width: 10rem;
    height: auto;
}

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

/* Footer action cards */
footer .superfluo-footer-action-card {
    display: flex;
    align-items: center;
    min-height: 8.5rem;
    height: 100%;
    padding: 1.5rem;
    color: var(--color-white);
    border: 1px solid color-mix(in srgb, var(--footer-color-light) 65%, var(--color-white));
    border-radius: var(--radius-md);
    background-color: color-mix(in srgb, var(--footer-color-dark) 55%, transparent);
    text-decoration: none;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

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

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

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

footer .superfluo-footer-action-content strong {
    color: inherit;
    font-family: var(--font-family-heading);
    font-size: 1.25em;
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
}

footer .superfluo-footer-action-content > span {
    margin-top: 0.5rem;
    color: color-mix(in srgb, var(--color-white) 78%, transparent);
    font-size: 0.825em;
    line-height: 1.4;
}

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

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

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

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

footer .superfluo-footer-accordion .superfluo-footer-accordion-title {
    position: relative;
    margin: 0 0 0.875rem;
    padding: 0 0 0.75rem;
    color: var(--color-white);
    border-bottom: 0.125rem solid var(--footer-color-light);
    font-family: var(--font-family-heading);
    font-size: 1.5em;
    font-weight: var(--font-weight-bold);
    line-height: 1.15;
}

footer .superfluo-footer-accordion .menu a {
    display: block;
    margin: 0;
    padding: 0.4rem 0;
    color: var(--footer-text-muted);
    font-family: var(--font-family-body);
    font-size: 0.9375em;
    font-weight: var(--font-weight-medium);
    line-height: 1.4;
    text-decoration: none;
}

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

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

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

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

footer .superfluo-footer-social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5em;
    height: 2.5em;
    color: var(--color-white);
    border: 1px solid var(--footer-border);
    border-radius: var(--radius-xs);
    text-decoration: none;
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

footer .superfluo-footer-social-links a:hover,
footer .superfluo-footer-social-links a:focus {
    color: var(--footer-color-dark);
    border-color: var(--footer-color-light);
    background-color: var(--footer-color-light);
    text-decoration: none;
    transform: translateY(-0.125rem);
}

/* Footer bottom */
footer .footer-copyright {
    margin: 0;
    padding: 1.5rem 0;
    color: var(--footer-text-muted);
    border-top: 1px solid var(--footer-border);
    background-color: var(--footer-color-dark);
    font-size: 0.8125em;
}

footer .footer-copyright p {
    margin: 0;
    color: inherit;
    line-height: 1.5;
}

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

footer .footer-copyright a {
    color: var(--footer-text-muted);
}

footer .footer-copyright a:hover,
footer .footer-copyright a:focus {
    color: var(--footer-color-light);
}

/* Accessibility */
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-white);
    border: 1px solid var(--footer-border);
    border-radius: var(--radius-xs);
    text-decoration: none;
}

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

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

footer .superfluo-footer-bottom-links {
    display: flex;
    justify-content: flex-end;
    gap: 1.25rem;
}

/* Dark mode */
body.superfluo-invert-colors footer {
    --footer-border: color-mix(in srgb, var(--color-white) 24%, transparent);
    --footer-text-muted: color-mix(in srgb, var(--color-white) 76%, transparent);
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    footer .superfluo-footer-intro {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    footer img.footer-logo {
        max-width: 8rem;
        margin-right: auto;
        margin-left: auto;
    }

    footer .superfluo-footer-description {
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 2rem;
        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;
        border-bottom: 1px solid var(--footer-border);
    }

    footer .superfluo-footer-accordion .superfluo-footer-accordion-title {
        margin: 0;
        padding: 1rem 2rem 1rem 1rem;
        border-bottom: 0;
        font-size: 1.25em;
        cursor: pointer;
    }

    footer .superfluo-footer-accordion .superfluo-footer-accordion-title::after {
        position: absolute;
        top: 50%;
        right: 1rem;
        color: var(--footer-color-light);
        font-family: "Font Awesome 5 Pro";
        font-size: 1em;
        content: "\f107";
        transform: translateY(-50%);
    }

    footer .superfluo-footer-accordion .superfluo-footer-accordion-title.close-icon::after {
        content: "\f106";
    }

    footer .superfluo-footer-accordion ul {
        margin: 0;
        padding: 0 1rem 1rem 1rem;
    }

    footer .superfluo-footer-social {
        flex-direction: column;
        justify-content: center;
        gap: 1rem;
        padding: 1.75rem 0 2rem;
    }

    footer .superfluo-footer-social > span {
        margin-right: 0;
    }

    footer .footer-copyright {
        text-align: center;
    }

    footer .superfluo-footer-bottom-links {
        justify-content: center;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    footer img.footer-logo {
        max-width: 9rem;
    }

    footer .superfluo-footer-bottom-links {
        justify-content: center;
    }

    footer .footer-copyright {
        text-align: center;
    }
}


#system-messages {
    width: min(40rem, calc(100vw - 4rem));
    height: 0;
    margin: 0 auto;
    padding: 0;

    position: fixed;
    top: 10rem;
    left: 50%;
    z-index: 2000;

    transform: translateX(-50%);
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    #system-messages {
        width: calc(100vw - 2rem);
        top: 4rem;
    }
}

/* 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;
    padding: 1rem;

    position: relative;

    border: 0;
    border-radius: var(--radius-none);
    color: var(--color-text);
    background-color: var(--color-surface-raised);
    box-shadow: var(--shadow-sm);
}

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 {
    margin: 0;
    padding: 1.5rem 1rem;

    font-size: 1rem;
    font-weight: var(--font-weight-semibold);
    line-height: 1.5;
}

div#info-message.callout.success {
    color: var(--color-success-text);
}

div#error-message.callout.alert {
    color: var(--color-alert-text);
}

.newsletter-container {
    position: relative;
    margin-bottom: -3rem;
    padding: 12rem 0 10rem;
    background-color: rgba(0, 0, 0, 0.7);
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.7)),
        var(--asset-newsletter-background);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    overflow: hidden;
}

.newsletter-container p {
    color: var(--color-white);
}
.newsletter-container a:not(.button):not(.superfluo-edit-trigger) {
    color: var(--color-white);
    text-decoration: underline;
}
.newsletter-container a:hover:not(.button):not(.superfluo-edit-trigger) {
    color: var(--color-link);
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .newsletter-container {
        padding: 10rem 0 8rem 0;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .newsletter-container {
        padding: 12rem 0 10rem 0;
    }
}

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

label {
    font-weight: var(--font-weight-bold);
    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;
    }
}

.superfluo-route-map {
    position: relative;
    width: 100%;
    margin: 1rem 0 1rem 0;
    aspect-ratio: 16 / 9;
    min-height: 30rem;
    background-color: var(--color-surface-muted);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xs);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
}

.superfluo-route-map::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    border: 0.4rem solid rgba(255, 255, 255, 0.45);
    pointer-events: none;
}

.superfluo-route-map #route-map {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
}

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

/* Keep Google Maps controls away from the outer edge. */
.superfluo-route-map .gm-bundled-control {
    margin: 0.75rem !important;
}

.superfluo-route-map .gm-fullscreen-control {
    margin: 0.75rem !important;
}

@media screen and (max-width: 63.99875em) {
    .superfluo-route-map {
        min-height: 26rem;
    }
}

@media screen and (max-width: 39.99875em) {
    .superfluo-route-map {
        margin: 1rem 0 2rem 0;
        aspect-ratio: auto;
        height: 28rem;
        min-height: 28rem;
        border-radius: var(--radius-none);
        box-shadow: var(--shadow-md);
    }

    .superfluo-route-map::before {
        border-width: 0.25rem;
    }
}

#load-more-button {
    position: relative;
}

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

#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;
}

#block-loader {
    margin-top: 3rem;
}

hr.hr-gray {
    border-bottom: 1px solid var(--color-gray);
}
hr.hr-gray-dashed {
    border-bottom: 1px dashed var(--color-gray);
}
.menu hr {
    border-bottom: 1px solid var(--color-light-gray);
}

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

/* Off-canvas navigation */
.off-canvas-content {
    min-height: 100vh !important;
    min-height: 100svh !important;
    background-color: var(--formation-color-dark, var(--color-primary-dark));
}
.off-canvas {
    bottom: 0;

    height: 100%;
    min-height: 100%;

    color: var(--formation-text-accent, var(--color-primary-dark));
    background-color: var(--color-surface-raised);

    font-size: 0.875rem;
}

.off-canvas.is-transition-overlap {
    z-index: 21;
}

/* Header */
.off-canvas h5 {
    margin: 0 0 1rem;
    padding: 1.75rem 1rem;

    color: var(--color-white);
    background-color: var(--formation-solid-color, var(--color-primary));

    font-size: 0.875rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.4;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* Menu links */
.off-canvas .menu li a {
    display: flex;
    align-items: center;
    gap: 0.625rem;

    margin: 0;
    padding: 0.75rem;

    color: var(--formation-text-accent, var(--color-primary-dark)) !important;
    background-color: transparent !important;

    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

/* Menu link icons */
.off-canvas .menu li a i {
    color: currentColor !important;
    transition: color 0.2s ease;
}

/* Hover and active states */
.off-canvas .menu li a:hover,
.off-canvas .menu li a:focus,
.off-canvas .menu li a.active,
.off-canvas .menu li.is-active > a {
    color: var(--color-white) !important;
    background-color: var(
        --formation-solid-color,
        var(--color-primary)
    ) !important;
}

/* Close button */
.off-canvas .close-button {
    color: var(--color-white);
}

.off-canvas .close-button:hover,
.off-canvas .close-button:focus {
    color: var(--formation-color-light, var(--color-page-bg));
}

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

    .off-canvas .close-button {
        top: 0.5rem;
        right: 0.5rem;
    }
}

/**
 * Superfluo classes
 */

#superfluo-main-menu-modal {
    padding: 0;
    overflow: hidden;
    height: 100vh;
    height: 100svh;
    min-height: auto;
}

#superfluo-main-menu-modal .header-icon {
    margin: 1.0625rem 0.875rem 0 0.875rem;
    width: 3em;
    height: 3em;
    border: 0;
    display: block;
}
#superfluo-main-menu-modal .header-icon:hover {
    opacity: 0.8;
}
#superfluo-main-menu-modal .header-icon img {
    width: 100%;
    margin: 0;
    border: 0;
}
.superfluo-main-menu-icons {
    background-color: var(--formation-solid-color, var(--color-primary));
    height: 100vh;
    height: 100svh;
    overflow: hidden;
}
.superfluo-main-menu-container {
    background-color: var(--color-page-bg);
    height: 100vh;
    height: 100svh;
    overflow-y: auto;
}

.superfluo-main-menu-container .tabs,
.superfluo-main-menu-container .tabs-content {
    background: transparent;
    border: none;
}
.superfluo-main-menu-container .tabs-content {
    margin-top: 0.75rem;
}
.superfluo-main-menu-container .tabs-panel {
    padding: 0;
}
.superfluo-main-menu-container .tabs-title > a {
    position: relative;
    font-size: 2em;
    font-weight: var(--font-weight-bold);
    line-height: 1.1;
    font-family: var(--font-family-heading);
    font-optical-sizing: auto;
    color: var(--formation-link-color, var(--color-link));
    padding: 0.5rem 1rem 0.5rem 0;
    margin: 0.5rem 2rem 1rem 2rem;
}
.superfluo-main-menu-container .tabs-title > a:hover,
.superfluo-main-menu-container .tabs-title.is-active > a {
    color: var(--color-link-hover);
    background: transparent;
}
.superfluo-main-menu-container .tabs-title > a::after {
    font-family: "Font Awesome 5 Pro";
    content: "\f054";
    vertical-align: top;
    position: absolute;
    top: 0.125rem;
    right: 0;
}

a.main-menu-link,
a.main-menu-link1x,
a.main-menu-link2x,
a.main-menu-link3x {
    font-size: 1.5em;
    font-weight: var(--font-weight-bold);
    line-height: 1.1;
    font-family: var(--font-family-heading);
    font-optical-sizing: auto;
    color: var(--color-black);
    padding: 0.25rem 1rem 0.25rem 0;
    margin: 0.125rem 1rem 0.5rem 2rem;
    display: block;
}
a.main-menu-link1x {
    font-weight: var(--font-weight-regular);
    font-size: 1em;
    padding: 0.125rem 1rem 0.25rem 0;
    margin: 0rem 1rem 0.25rem 0;
    letter-spacing: 1px;
}
a.main-menu-link2x {
    font-weight: var(--font-weight-semibold);
    font-size: 1.25em;
    padding: 0.125rem 1rem 0.25rem 0;
    margin: 0rem 1rem 0.25rem 0;
}
a.main-menu-link3x {
    font-weight: var(--font-weight-bold);
    font-size: 2em;
    padding: 0.125rem 1rem 0.25rem 0;
    margin: 0rem 1rem 0.25rem 0;
}
a.main-menu-link:hover,
a.main-menu-link1x:hover,
a.main-menu-link2x:hover,
a.main-menu-link3x:hover {
    color: var(--formation-link-color, var(--color-link));
}

.superfluo-main-menu-container a.superfluo-link {
    font-size: 1.5em;
}
.superfluo-main-menu-container a.superfluo-link span {
    font-size: 1.125em;
}
.superfluo-main-menu-container a.superfluo-link small {
    font-size: 1em;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    #superfluo-main-menu-modal .header-icon {
        margin: 0.625rem 0.625rem 0 0.625rem;
        width: 2em;
        height: 2em;
    }
    .superfluo-main-menu-container {
        background-position: -2rem bottom;
    }
    .superfluo-main-menu-container .tabs-content {
        margin-top: 2rem;
    }
    .superfluo-main-menu-container .tabs-title > a {
        font-size: 1.25em;
        font-weight: var(--font-weight-bold);
        padding: 0.25rem 1rem 0.25rem 0;
        margin: 0rem 0.5rem 0.5rem 0rem;
    }
    .superfluo-main-menu-container .tabs-title.is-active > a::after {
        content: "\f078";
    }
    a.main-menu-link,
    a.main-menu-link1x,
    a.main-menu-link2x,
    a.main-menu-link3x {
        font-size: 1em;
        padding: 0.25rem 1rem 0.25rem 0;
        margin: 0.125rem 0.5rem 0.5rem 0rem;
    }
    a.main-menu-link1x {
        font-size: 0.875em;
        padding: 0.125rem 1rem 0.25rem 0;
        margin: 0.125rem 0.5rem 0.5rem 0rem;
    }
    a.main-menu-link2x {
        font-size: 1.25em;
    }
    a.main-menu-link3x {
        font-size: 1.75em;
    }

    .superfluo-main-menu-container a.superfluo-link {
        font-size: 1em;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    #superfluo-main-menu-modal .header-icon {
        margin: 0.75rem 0.75rem 0 0.75rem;
        width: 2.25em;
        height: 2.25em;
    }
    .superfluo-main-menu-container {
        background-position: 53% bottom;
    }
    .superfluo-main-menu-container .tabs-content {
        margin-top: 0rem;
    }
    .superfluo-main-menu-container .tabs-title > a {
        font-size: 1.375em;
        font-weight: var(--font-weight-bold);
        padding: 0.25rem 1rem 0.25rem 0;
        margin: 0.5rem 1rem 1rem 1rem;
    }
    a.main-menu-link {
        font-size: 1.125em;
        padding: 0.25rem 1rem 0.25rem 0;
        margin: 0.5rem 1rem 1rem 1rem;
    }
    a.main-menu-link1x,
    a.main-menu-link2x,
    a.main-menu-link3x {
        padding: 0.25rem 1rem 0.25rem 0;
        margin: 0.5rem 1rem 1rem 0;
    }
    a.main-menu-link1x {
        font-size: 1em;
    }
    a.main-menu-link2x {
        font-size: 1.25em;
    }
    a.main-menu-link3x {
        font-size: 1.75em;
    }
}


.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: 0;
    background-color: var(--color-warning-light);
    color: var(--color-warning-text);
    border-radius: var(--radius-sm);
    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-warning-dark);
    color: var(--color-white);
    padding: 0.75rem;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    font-size: 1.5em;
}
.superfluo-callout .superfluo-text-block {
    color: inherit;
}
.superfluo-callout.alert {
    color: var(--color-alert-text);
    background: var(--color-alert-light);
}
.superfluo-callout.alert .superfluo-icon-block {
    background: var(--color-alert-dark);
    color: var(--color-white);
}
.superfluo-callout.info {
    color: var(--color-info-text);
    background: var(--color-info-light);
}
.superfluo-callout.info .superfluo-icon-block {
    background: var(--color-info-dark);
    color: var(--color-white);
}
.superfluo-callout.important {
    color: var(--color-success-text);
    background: var(--color-success-light);
}
.superfluo-callout.important .superfluo-icon-block {
    background: var(--color-success-dark);
    color: var(--color-white);
}

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

/* 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.75em;
    font-weight: var(--font-weight-bold);
    color: var(--formation-link-color, var(--color-link));
    display: block;
    position: relative;
    padding-right: 2rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    line-height: 1.1;
    font-family: var(--font-family-heading);
    font-optical-sizing: auto;
    letter-spacing: -0.0625em;
}
a.superfluo-link small {
    font-size: 0.875em;
    font-weight: var(--font-weight-medium);
    color: var(--formation-link-color, var(--color-link));
    display: block;
    margin-top: 0.75rem;
    position: relative;
}
a.superfluo-link span::after {
    color: var(--formation-link-color, var(--color-link));
    font-family: "Font Awesome 5 Pro";
    content: "\f061";
    font-size: 0.75em;
    text-align: right;
    font-weight: var(--font-weight-regular);
    position: absolute;
    right: 0;
    top: 0.25em;
}
a.superfluo-link:hover span {
    text-decoration: underline;
}
a.superfluo-link:hover span::after {
    font-weight: 900;
}

body.superfluo-invert-colors a.superfluo-link,
body.superfluo-invert-colors a.superfluo-link span,
body.superfluo-invert-colors a.superfluo-link span::after,
body.superfluo-invert-colors a.superfluo-link small {
    color: var(--formation-color-light, var(--color-primary-light));
}


/* Content previous / next navigation */
.superfluo-content-navigation {
    margin-top: 2rem;
}

.superfluo-content-navigation-item {
    position: relative;
    display: block;
    width: 100%;
    min-height: 7rem;
    padding: 1rem 1.25rem;
    background: transparent;
    color: var(--color-text);
    text-decoration: none;
}

.superfluo-content-navigation-prev {
    padding-left: 0;
    padding-right: 1.5rem;
}

.superfluo-content-navigation-next {
    padding-left: 1.5rem;
    padding-right: 0;
    text-align: right;
    border-left: 1px solid var(--color-border);
}

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

.superfluo-content-navigation-label {
    display: flex;
    align-items: center;
    gap: 0.45em;
    margin-bottom: 0.7rem;
    color: var(
        --formation-text-accent,
        var(--formation-color, var(--color-primary))
    );
    font-family: var(--font-family-body);
    font-size: 0.68em;
    font-weight: var(--font-weight-bold);
    line-height: 1.1;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

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

.superfluo-content-navigation-item strong {
    display: inline;
    color: var(--color-title);
    font-family: var(--font-family-heading);
    font-size: 1.55em;
    font-weight: var(--font-weight-bold);
    line-height: 1.12;
    letter-spacing: -0.025em;
    overflow-wrap: anywhere;
    word-break: break-word;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-decoration-thickness: 0.06em;
    text-underline-offset: 0.15em;
    transition:
        color 0.2s ease,
        text-decoration-color 0.2s ease;
}

.superfluo-content-navigation-item:hover strong,
.superfluo-content-navigation-item:focus strong {
    color: var(
        --formation-text-accent,
        var(--formation-color-dark, var(--color-primary-dark))
    );
    text-decoration-color: currentColor;
}


/* Dark mode */
body.superfluo-invert-colors .superfluo-content-navigation,
body.superfluo-invert-colors .superfluo-content-navigation-next {
    border-color: var(--color-border);
}

body.superfluo-invert-colors .superfluo-content-navigation-label {
    color: var(--formation-color-light, var(--color-primary-light));
}

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

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


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

    .superfluo-content-navigation {
        margin-top: 3rem;
        padding-top: 1rem;
    }

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

    .superfluo-content-navigation-item + .superfluo-content-navigation-item {
        border-top: 1px solid var(--color-border);
    }

    .superfluo-content-navigation-prev,
    .superfluo-content-navigation-next {
        padding-left: 0;
        padding-right: 0;
    }

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

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

    .superfluo-content-navigation-item strong {
        font-size: 1.4em;
    }
}


.superfluo-admin-header,
.superfluo-page-header {
    background: var(--color-primary);
    background-repeat: no-repeat;
    background-size: cover;
    height: 30rem;
    position: relative;
    overflow: hidden;
    padding-left: 2rem;
    padding-right: 0;
}
.superfluo-admin-header {
    background-size: cover, cover;
    min-height: 20rem;
    height: auto;
    margin-bottom: 1rem;
    padding-bottom: 2rem;
}

.superfluo-admin-header,
.superfluo-admin-header h1,
.superfluo-admin-header h1 small,
.superfluo-admin-header h2 small,
.superfluo-admin-header h2,
.superfluo-admin-header .superfluo-page-title,
.superfluo-admin-header .superfluo-page-title small,
.superfluo-admin-header p,
.superfluo-page-header,
.superfluo-page-header h1,
.superfluo-page-header h1 small,
.superfluo-page-header h2,
.superfluo-page-header h2 small,
.superfluo-page-header .superfluo-page-title,
.superfluo-page-header .superfluo-page-title small,
.superfluo-page-header p,
.superfluo-group-header,
.superfluo-group-header h1,
.superfluo-group-header h1 small,
.superfluo-group-header h2,
.superfluo-group-header h2 small,
.superfluo-group-header .superfluo-page-title,
.superfluo-group-header .superfluo-page-title small,
.superfluo-group-header p {
    color: var(--color-white);
}

.superfluo-group-header {
    background: var(--color-primary);
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 40rem;
    position: relative;
    overflow: hidden;
    padding-top: 4rem;
    margin-right: -1rem;
}

body[class*="superfluo-formation-"] .superfluo-admin-header,
body[class*="superfluo-formation-"] .superfluo-page-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}
body[class*="superfluo-formation-"] .superfluo-admin-header::before,
body[class*="superfluo-formation-"] .superfluo-page-header::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: var(--formation-pattern);
    background-repeat: repeat;
    background-position: center;
    background-size: 30rem auto;
    opacity: 0.35;
    pointer-events: none;
}

/* Formation headers */
body[class*="superfluo-formation-"] .superfluo-admin-header,
body[class*="superfluo-formation-"] .superfluo-page-header,
body[class*="superfluo-formation-"] .superfluo-group-header {
    background-color: var(--formation-solid-color, var(--formation-color));
}

.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;
    bottom: -4rem;
    left: 1rem;
    object-fit: cover;
    clip-path: polygon(10% 0, 100% 0, 100% 88%, 88% 100%, 0 100%, 0 12%);
}
.superfluo-group-header .superfluo-group-image div {
    display: none;
}

.superfluo-orbit {
    background-color: rgba(0, 0, 0, 0.6);
    height: 50rem;
}

.multimedia-orbit {
    box-shadow: var(--shadow-lg);
}

.orbit-homepage .superfluo-orbit {
    --superfluo-hero-cut-depth: clamp(4rem, 8vw, 8rem);
    --superfluo-hero-accent-depth: clamp(1rem, 2vw, 2rem);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    height: 100vh;
    height: 100svh;
    min-height: 35rem;
}

/* Diagonal homepage transition with a formation-aware tapered accent */
.orbit-homepage .superfluo-orbit::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
        linear-gradient(
            to bottom right,
            transparent 49.5%,
            var(--color-background) 50%
        ),
        linear-gradient(
            to bottom right,
            transparent 49.5%,
            var(
                --multimedia-formation-color,
                var(--formation-color, var(--color-primary))
            ) 50%
        );
    background-repeat: no-repeat;
    background-position:
        bottom left,
        bottom left;
    background-size:
        100%
            calc(
                var(--superfluo-hero-cut-depth) -
                    var(--superfluo-hero-accent-depth)
            ),
        100% var(--superfluo-hero-cut-depth);
    pointer-events: none;
}

/* Homepage hero 3D cube transition */
.orbit-homepage .orbit-container {
    perspective: 1400px;
    perspective-origin: center;
    transform-style: preserve-3d;
}

.orbit-homepage .orbit-slide {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: auto;
    max-height: none;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.orbit-homepage .multimedia-cube-in-left.mui-enter,
.orbit-homepage .multimedia-cube-in-right.mui-enter,
.orbit-homepage .multimedia-cube-out-left.mui-leave,
.orbit-homepage .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 the right */
.orbit-homepage .multimedia-cube-in-right.mui-enter {
    z-index: 2;
    transform: translateX(100%) rotateY(90deg);
    transform-origin: left center;
}

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

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

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

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

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

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

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

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

/* Small only */
@media screen and (max-width: 39.9375em) {
    .orbit-homepage .orbit-caption-grid h2 {
        font-size: 2.5em;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .orbit-homepage .orbit-caption-grid h2 {
        font-size: 3.75em;
    }
}

/* Large and up */
@media screen and (min-width: 64em) {
    .orbit-homepage .orbit-caption-grid h2 {
        font-size: 5em;
    }
}

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

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

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

.superfluo-carousel-caption {
    --superfluo-carousel-cut-depth: clamp(1.75rem, 4vw, 3.25rem);
    --superfluo-carousel-accent-depth: clamp(0.5rem, 1.25vw, 1rem);
    --superfluo-carousel-color: var(
        --multimedia-formation-color,
        var(--formation-color, var(--color-primary))
    );
    isolation: isolate;
    overflow: hidden;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    padding:
        calc(
            clamp(1.25rem, 3vw, 2.5rem) +
                var(--superfluo-carousel-cut-depth)
        )
        clamp(1.25rem, 3vw, 2.5rem)
        clamp(1.25rem, 3vw, 2.5rem);
    background: transparent;
    clip-path: polygon(
        0 var(--superfluo-carousel-cut-depth),
        100% 0,
        100% 100%,
        0 100%
    );
}

/* Translucent formation-colored caption background */
.superfluo-carousel-caption::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: var(--superfluo-carousel-color);
    opacity: 0.75;
    pointer-events: none;
}

/* Solid tapered edge preserves the diagonal accent */
.superfluo-carousel-caption::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: var(--superfluo-carousel-color);
    clip-path: polygon(
        0 var(--superfluo-carousel-cut-depth),
        100% 0,
        100% var(--superfluo-carousel-accent-depth),
        0 var(--superfluo-carousel-cut-depth)
    );
    pointer-events: none;
}

.superfluo-carousel-caption > * {
    position: relative;
    z-index: 1;
}

.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 {
    margin-bottom: 0.5rem;
    color: var(--formation-color-light, var(--color-primary-light));
}

.superfluo-carousel-caption .superfluo-multimedia-title {
    margin: 0;
    color: var(--color-white);
    font-family: var(--font-family-heading);
    font-size: clamp(1.75em, 4vw, 3em);
    font-weight: var(--font-weight-bold);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.superfluo-carousel-caption .superfluo-multimedia-description {
    margin-top: 0.75rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.95em;
    line-height: 1.55;
}

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


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

.superfluo-multimedia-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(1rem, 2vw, 1.5rem);
    border: 1px solid var(--color-border);
    border-top: 0.25rem solid var(--formation-color, var(--color-primary));
    border-radius: var(--radius-md);
    background-color: var(--color-surface-raised);
    box-shadow: var(--shadow-card);
}

.superfluo-multimedia-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: var(--formation-pattern, none);
    background-repeat: repeat;
    background-position: center;
    background-size: 24rem auto;
    opacity: 0.035;
    pointer-events: none;
}

.superfluo-multimedia-overline {
    display: block;
    margin: 0 0 0.5rem;
    color: var(
        --formation-text-accent,
        var(--formation-color-dark, var(--color-primary-dark))
    );
    font-family: var(--font-family-body);
    font-size: 0.6875em;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.12em;
    line-height: 1.4;
    text-transform: uppercase;
}

.superfluo-multimedia-card .superfluo-multimedia-title {
    margin: 0 0 0.875rem;
    color: var(--color-title);
    font-family: var(--font-family-heading);
    font-size: clamp(1.4em, 2vw, 1.75em);
    font-weight: var(--font-weight-bold);
    line-height: 1.15;
    letter-spacing: -0.025em;
}

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

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

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


/* Dark mode */
body.superfluo-invert-colors .superfluo-multimedia-card {
    border-color: color-mix(
        in srgb,
        var(--formation-color-light, var(--color-primary-light)) 18%,
        var(--color-border)
    );
    border-top-color: var(--formation-color, var(--color-primary));
    background-color: color-mix(
        in srgb,
        var(--formation-color-darker, var(--color-primary-darker)) 24%,
        var(--color-surface-raised)
    );
    box-shadow: var(--shadow-md);
}

body.superfluo-invert-colors .superfluo-multimedia-overline {
    color: var(--formation-color-light, var(--color-primary-light));
}

body.superfluo-invert-colors
    .superfluo-multimedia-card
    .superfluo-multimedia-title {
    color: var(--color-title);
}

body.superfluo-invert-colors .superfluo-multimedia-card .help-text {
    color: var(--color-text-muted);
}


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

    .superfluo-carousel-caption {
        --superfluo-carousel-cut-depth: 2rem;
        --superfluo-carousel-accent-depth: 0.625rem;
        padding:
            calc(1rem + var(--superfluo-carousel-cut-depth))
            1.25rem
            1rem;
    }

    .superfluo-carousel-caption .superfluo-multimedia-title {
        font-size: 1.25em;
    }

    .superfluo-carousel-caption .superfluo-multimedia-description {
        font-size: 0.75em;
    }

    .superfluo-orbit-multiple .superfluo-carousel-caption {
        padding-right: 1.25rem;
        padding-bottom: .75rem;
    }

    .superfluo-multimedia-card {
        padding: 1rem;
        border-radius: var(--radius-base);
    }

    .superfluo-multimedia-card .superfluo-multimedia-title {
        font-size: 1.35em;
    }
}




.superfluo-hero-eyebrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0 auto 1.5em;
    color: var(--color-hero-decoration);
    font-size: 0.78em;
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    letter-spacing: 0.34em;
    text-align: center;
    text-transform: uppercase;
}

.superfluo-hero-eyebrow > span:first-child {
    display: block;
    padding-left: 0.34em;
}

.superfluo-hero-eyebrow-decoration {
    display: block;
    width: 10em;
    max-width: 60%;
    height: 0.35em;
    margin-top: 1em;
    background: linear-gradient(
        to right,
        var(--color-formation-1) 0 28%,
        transparent 28% 36%,
        var(--color-formation-2) 36% 64%,
        transparent 64% 72%,
        var(--color-formation-3) 72% 100%
    );
    transform: skewX(-14deg);
    transform-origin: left center;
}

.superfluo-hero-eyebrow-decoration > span {
    display: none;
}


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

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .superfluo-orbit {
        background-size:
            110%,
            cover,
            200% 200%;
    }
}

.superfluo-gradient-dashboard {
    min-height: 30rem;
    height: auto;
    padding: 4rem 0 2rem;

    background-color: var(--color-primary);
    background-repeat: no-repeat;
    background-position:
        right bottom,
        center;
    background-size:
        cover,
        200% 200%;
}
.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: var(--font-weight-semibold);
}
.superfluo-gradient-dashboard h5 {
    letter-spacing: 1px;
    font-weight: var(--font-weight-regular);
    font-size: 1.25em;
}
/* Small only */
@media screen and (max-width: 39.9375em) {
    .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;
}
/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-admin-header {
        background-position:
            right bottom,
            center,
            center;
        background-size: 8rem, cover, cover;
    }
}

.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: var(--font-weight-medium);
    font-size: 0.75em;
    padding-right: 1rem;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-admin-header {
        min-height: 15rem;
        height: auto;
    }
    .superfluo-page-header,
    .superfluo-group-header {
        min-height: 16rem;
        height: auto;
        padding: 5rem 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: 20rem;
        height: auto;
    }
    .superfluo-page-header {
        min-height: 30rem;
    }
    .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 {
        height: 40rem;
    }
}

/* Large and up */
@media screen and (min-width: 64em) {
    .superfluo-admin-header {
        min-height: 20rem;
        height: auto;
    }
    .superfluo-page-header {
        min-height: 30rem;
    }
    .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%;
}

/* Formation multimedia blocks */
.superfluo-multimedia-formation-1 {
    --multimedia-formation-color: var(--color-formation-1);
    --multimedia-formation-color-dark: var(--color-formation-1-dark);
    --multimedia-formation-color-darker: var(--color-formation-1-darker);
    --multimedia-formation-color-light: var(--color-formation-1-light);
    --multimedia-formation-link: var(--color-formation-1-link);
    --multimedia-formation-link-hover: var(--color-formation-1-link-hover);
    --multimedia-formation-pattern: var(--asset-pattern-formation-1);
}

.superfluo-multimedia-formation-2 {
    --multimedia-formation-color: var(--color-formation-2);
    --multimedia-formation-color-dark: var(--color-formation-2-dark);
    --multimedia-formation-color-darker: var(--color-formation-2-darker);
    --multimedia-formation-color-light: var(--color-formation-2-light);
    --multimedia-formation-link: var(--color-formation-2-link);
    --multimedia-formation-link-hover: var(--color-formation-2-link-hover);
    --multimedia-formation-pattern: var(--asset-pattern-formation-2);
}

.superfluo-multimedia-formation-3 {
    --multimedia-formation-color: var(--color-formation-3);
    --multimedia-formation-color-dark: var(--color-formation-3-dark);
    --multimedia-formation-color-darker: var(--color-formation-3-darker);
    --multimedia-formation-color-light: var(--color-formation-3-light);
    --multimedia-formation-link: var(--color-formation-3-link);
    --multimedia-formation-link-hover: var(--color-formation-3-link-hover);
    --multimedia-formation-pattern: var(--asset-pattern-formation-3);
}

[class*="superfluo-multimedia-formation-"] {
    position: relative;
}

/* Image */
.superfluo-square-overlay {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-md);
}
.superfluo-square-overlay img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    border: 0;
    border-radius: var(--radius-md);
    transition:
        transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.6s ease;
}
/* Subtle formation pattern over the image */
[class*="superfluo-multimedia-formation-"] .superfluo-square-overlay::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: inherit;
    background-image:
        linear-gradient(135deg, rgba(255, 255, 255, 0.02), rgba(0, 0, 0, 0.08)),
        var(--multimedia-formation-pattern);
    background-repeat: no-repeat, repeat;
    background-position: center, center;
    background-size:
        cover,
        34rem auto;
    opacity: 0.35;
    pointer-events: none;
    transition: opacity 0.45s ease;
}

/* Image hover */

[class*="superfluo-multimedia-formation-"]:hover .superfluo-square-overlay img {
    transform: scale(1.025);
}

[class*="superfluo-multimedia-formation-"]:hover
    .superfluo-square-overlay::after {
    opacity: 0.08;
}

.superfluo-block-text,
[class*="superfluo-multimedia-formation-"] .superfluo-block-text {
    position: relative;
    height: auto;
    padding: 2.5rem;
    border: 0;
    border-radius: 0.875rem;
    color: var(--color-text);
    background-color: var(--color-surface-raised);
    background-image: none;
    box-shadow: var(--shadow-card);
    overflow: hidden;
}

/* Colored accent on left-side cards */
.superfluo-block-text-right,
[class*="superfluo-multimedia-formation-"] .superfluo-block-text-right {
    border-left: 0.375rem solid
        var(--multimedia-formation-color, var(--color-primary));
}

/* Colored accent on right-side cards */
.superfluo-block-text-left,
[class*="superfluo-multimedia-formation-"] .superfluo-block-text-left {
    border-right: 0.375rem solid
        var(--multimedia-formation-color, var(--color-primary));
}

/* Formation number */
.superfluo-block-text .superfluo-block-text-subtitle,
[class*="superfluo-multimedia-formation-"] .superfluo-block-text .superfluo-block-text-subtitle {
    margin: 0 0 1.25rem;
    padding: 0;
    color: var(--multimedia-formation-color, var(--color-primary));
    font-family: var(--font-family-heading);
    font-size: 1.5em;
    font-weight: var(--font-weight-bold);
    line-height: 1;
    letter-spacing: 0;
}

[class*="superfluo-multimedia-formation-"] a h3 {
    color: var(--multimedia-formation-color, var(--color-link));
}
[class*="superfluo-multimedia-formation-"] a:hover h3 {
    color: var(--multimedia-formation-color-dark, var(--color-link-hover));
}

/* Formation title */
.superfluo-block-text h2 {
    position: relative;
    margin: 0 0 1.5rem;
    padding: 0 0 1.25rem;
    color: var(--color-title);
}

/* Small formation-colored line */
.superfluo-block-text h2::after,
[class*="superfluo-multimedia-formation-"] .superfluo-block-text h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 2.5rem;
    height: 0.125rem;
    background-color: var(--multimedia-formation-color, var(--color-primary));
}

.superfluo-block-text .superfluo-block-text-subtitle {
    margin-bottom: 1.5rem;
}

.superfluo-large-text {
    font-size: 1.875em !important;
}

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

    .superfluo-large-text {
        font-size: 1.25em !important;
    }
}

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

    .superfluo-large-text {
        font-size: 1.5em !important;
    }
}

/* Large and up */
@media screen and (min-width: 64em) {
    .superfluo-block-text {
        padding: 3rem 3rem;
        border-radius: 0.875rem;
        height: auto;
    }
    .superfluo-block-text-right {
        margin-right: -12rem;
    }
    .superfluo-block-text-left {
        margin-left: -12rem;
    }
}

/* Description */
.superfluo-block-text p {
    color: var(--color-text);
    line-height: 1.7;
}

/* Explore link */
.superfluo-info-text a.superfluo-link,
.superfluo-block-text a.superfluo-link,
[class*="superfluo-multimedia-formation-"]
    .superfluo-block-text
    a.superfluo-link {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    color: var(--multimedia-formation-link, var(--color-link));
    font-family: var(--font-family-body);
    font-size: 1em;
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    letter-spacing: 0.02em;

    transition:
        color 0.2s ease,
        gap 0.2s ease;
}
.superfluo-info-text a.superfluo-link {
    color: var(--formation-text-accent, var(--color-link));
}
.superfluo-info-text a.superfluo-link::after,
.superfluo-block-text a.superfluo-link::after {
    content: "\f061";
    font-family: "Font Awesome 5 Pro";
    font-size: 0.875em;
    font-weight: var(--font-weight-regular);
}

.superfluo-info-text a.superfluo-link:hover,
.superfluo-info-text a.superfluo-link:focus,
.superfluo-block-text a.superfluo-link:hover,
.superfluo-block-text a.superfluo-link:focus,
[class*="superfluo-multimedia-formation-"]
    .superfluo-block-text
    a.superfluo-link:hover,
[class*="superfluo-multimedia-formation-"]
    .superfluo-block-text
    a.superfluo-link:focus {
    gap: 0.875rem;
    color: var(--multimedia-formation-link-hover, var(--color-link-hover));
    text-decoration: none;
}

.superfluo-info-text a.superfluo-link:hover,
.superfluo-info-text a.superfluo-link:focus {
    color: var(--formation-link-hover, var(--color-link-hover));
}

/* Medium and smaller */
@media screen and (max-width: 63.9375em) {
    .superfluo-block-text {
        padding: 2rem;
    }
    .superfluo-square-overlay::after {
        background-size:
            cover,
            26rem auto;
        opacity: 0.25;
    }
}

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

    .superfluo-block-text .superfluo-block-text-subtitle {
        margin-bottom: 0.875rem;
        font-size: 1.25em;
    }

    .superfluo-block-text p {
        font-size: 0.875em;
        line-height: 1.65;
    }

    .superfluo-info-text a.superfluo-link,
    .superfluo-block-text a.superfluo-link {
        font-size: 0.8125rem;
    }

    [class*="superfluo-multimedia-formation-"]
        .superfluo-square-overlay::after {
        background-size:
            cover,
            20rem auto;
        opacity: 0.2;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .superfluo-square-overlay img,
    .superfluo-square-overlay::after,
    .superfluo-info-text a.superfluo-link,
    .superfluo-block-text a.superfluo-link {
        transition: none;
    }
}

/* Homepage formation strips */
.superfluo-formation-strips {
    position: relative;
    width: 100vw;
    margin-right: 0;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
}

.superfluo-formation-strip {
    --formation-strip-color: var(
        --multimedia-formation-color,
        var(--color-primary)
    );
    --formation-strip-foreground: #111315;
    --formation-strip-hover-background: #111315;
    --formation-strip-hover-foreground: var(--formation-strip-color);

    position: relative;
    min-height: clamp(20rem, 30vw, 30rem);
    color: var(--formation-strip-foreground);
    background-color: var(--formation-strip-color);
    isolation: isolate;
    overflow: hidden;
}

.superfluo-formation-strip-media {
    position: absolute;
    inset: 0 0 0 auto;
    z-index: 0;
    width: 64%;
    background-color: var(--formation-strip-color);
    clip-path: polygon(17% 0, 100% 0, 100% 100%, 0 100%);
    overflow: hidden;
}

.superfluo-formation-strip-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--formation-strip-color) 42%, transparent),
        transparent 26%
    );
    pointer-events: none;
}

.superfluo-formation-strip-media img {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    transition:
        transform 0.65s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.65s ease;
}

.superfluo-multimedia-formation-1 .superfluo-formation-strip-media img {
    object-position: center 50%;
}

.superfluo-multimedia-formation-2 .superfluo-formation-strip-media img {
    object-position: center 50%;
}

.superfluo-multimedia-formation-3 .superfluo-formation-strip-media img {
    object-position: center 50%;
}

.superfluo-formation-strip:hover .superfluo-formation-strip-media img {
    filter: saturate(1.05) contrast(1.02);
    transform: scale(1.025);
}

.superfluo-formation-strip-container {
    position: relative;
    z-index: 2;
    min-height: inherit;
}

.superfluo-formation-strip-content {
    display: grid;
    align-items: center;
    width: min(42rem, 44%);
    min-height: inherit;
    padding: 2rem 0;
    grid-template-columns: clamp(6rem, 9vw, 8.75rem) minmax(0, 1fr);
    gap: clamp(1.5rem, 3vw, 3rem);
}

.superfluo-formation-strip-number {
    color: inherit;
    font-family: var(--font-family-heading);
    font-size: clamp(6rem, 10vw, 9rem);
    font-weight: var(--font-weight-bold);
    line-height: 0.78;
    letter-spacing: -0.055em;
}

.superfluo-formation-strip-text {
    min-width: 0;
}

.superfluo-formation-strip-text h2 {
    margin: 0 0 0.625rem;
    padding: 0;
    color: inherit;
    font-family: var(--font-family-heading);
    font-size: clamp(2.75rem, 4.6vw, 4.5rem);
    font-weight: var(--font-weight-bold);
    line-height: 0.9;
    letter-spacing: -0.04em;
    text-transform: uppercase;
}

.superfluo-formation-strip-text p {
    max-width: 23rem;
    margin: 0 0 1.25rem;
    color: inherit;
    font-size: clamp(0.875rem, 1.1vw, 1rem);
    line-height: 1.45;
}

.superfluo-formation-strip .superfluo-formation-strip-link {
    display: inline-flex;
    align-items: center;
    gap: 0.875rem;
    min-height: 2.75rem;
    margin: 0;
    padding: 0.625rem 0.875rem;
    color: inherit;
    border: 1px solid currentColor;
    border-radius: var(--radius-xs);
    background-color: transparent;
    font-family: var(--font-family-body);
    font-size: 0.75rem;
    font-weight: var(--font-weight-bold);
    line-height: 1;
    letter-spacing: 0.075em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.superfluo-formation-strip-link::after {
    content: "\2192";
    font-size: 1.25em;
    line-height: 1;
    transition: transform 0.2s ease;
}

.superfluo-formation-strip .superfluo-formation-strip-link:hover,
.superfluo-formation-strip .superfluo-formation-strip-link:focus {
    color: var(--formation-strip-hover-foreground);
    border-color: var(--formation-strip-hover-background);
    background-color: var(--formation-strip-hover-background);
    text-decoration: none;
    transform: translateY(-0.125rem);
}

.superfluo-formation-strip-link:hover::after,
.superfluo-formation-strip-link:focus::after {
    transform: translateX(0.25rem);
}

.superfluo-formation-strip .superfluo-formation-strip-link:focus-visible {
    outline: 0.1875rem solid currentColor;
    outline-offset: 0.25rem;
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .superfluo-formation-strip-media {
        width: 58%;
        clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
    }

    .superfluo-formation-strip-content {
        width: 53%;
        grid-template-columns: 5.5rem minmax(0, 1fr);
        gap: 1.5rem;
    }

    .superfluo-formation-strip-number {
        font-size: 6.25rem;
    }

    .superfluo-formation-strip-text h2 {
        font-size: 3.25rem;
    }

    .superfluo-formation-strip-text p {
        max-width: 18rem;
        font-size: 0.875rem;
    }
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-formation-strip {
        display: flex;
        min-height: 0;
        flex-direction: column;
    }

    .superfluo-formation-strip-media {
        position: relative;
        inset: auto;
        width: 100%;
        height: clamp(13rem, 62vw, 19rem);
        clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%);
    }

    .superfluo-formation-strip-media::after {
        background: linear-gradient(
            180deg,
            transparent 60%,
            color-mix(in srgb, var(--formation-strip-color) 42%, transparent)
        );
    }

    .superfluo-formation-strip-container {
        width: 100%;
        min-height: 0;
    }

    .superfluo-formation-strip-content {
        width: 100%;
        min-height: 0;
        margin-top: -0.5rem;
        padding: 1rem 0 2rem;
        grid-template-columns: clamp(4.25rem, 20vw, 5.5rem) minmax(0, 1fr);
        gap: 1.25rem;
    }

    .superfluo-formation-strip-number {
        align-self: start;
        padding-top: 0.25rem;
        font-size: clamp(4.75rem, 21vw, 6.25rem);
    }

    .superfluo-formation-strip-text h2 {
        margin-bottom: 0.5rem;
        font-size: clamp(2.5rem, 12vw, 3.25rem);
    }

    .superfluo-formation-strip-text p {
        max-width: none;
        margin-bottom: 1rem;
        font-size: 0.875rem;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .superfluo-formation-strip-media img,
    .superfluo-formation-strip-link,
    .superfluo-formation-strip-link::after {
        transition: none;
    }
}

/* Content filters */
.superfluo-content-filters {
    position: relative;
    isolation: isolate;
    margin-top: 2rem;
    margin-bottom: 3em;
    padding: 2rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background-color: var(--color-surface-raised);
}

/* Short diagonal accent keeps the filter visually tied to the card system */
.superfluo-content-filters::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    z-index: 2;
    width: clamp(8rem, 32%, 18rem);
    height: 0.375rem;
    border-top-left-radius: var(--radius-md);
    background-color: var(--formation-color, var(--color-primary));
    clip-path: polygon(0 0, 100% 0, calc(100% - 1.5rem) 100%, 0 100%);
    pointer-events: none;
}

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

.superfluo-content-filters-header {
    margin-bottom: 0;
    padding-bottom: 0;
}
.superfluo-content-filters-header .button {
    margin: 0;
    padding: 0.5em 0;
    color: var(--color-title);
    font-weight: var(--font-weight-bold);
}
.superfluo-content-filters-header .filter-toggler {
    display: inline-flex;
    gap: 0.65em;
    align-items: center;
    font-size: 0.9em;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}
.superfluo-content-filters-header .filter-toggler > span:first-child {
    color: var(--formation-text-accent, var(--color-primary));
}
body.superfluo-invert-colors .superfluo-content-filters-header .button,
body.superfluo-invert-colors
    .superfluo-content-filters-header
    .filter-toggler
    > span:first-child {
    color: var(--formation-color-light, var(--color-primary-light));
}
.superfluo-content-filters-header .content-search-form-reset {
    display: inline-flex;
    gap: 0.5em;
    align-items: center;
    font-size: 1em;
    padding-left:1rem;
    padding-right:0.375rem;
    color: var(--color-white);
    background-color: var(--color-red) !important;
}
.superfluo-content-filters-header .content-search-form-reset:hover,
.superfluo-content-filters-header .content-search-form-reset:focus {
    color: var(--color-white);
    background-color: var(--color-dark-red) !important;
}

.superfluo-content-filter-counter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8em;
    height: 1.8em;
    margin-left: 0.65em;
    border-radius: var(--radius-circle);
    background-color: var(--formation-color-dark, var(--color-primary-dark));
    color: var(--color-white);
    font-size: 0.8em;
    font-weight: var(--font-weight-bold);
    line-height: 1;
    vertical-align: middle;
}

#search-filter-container {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    padding-bottom: 0.5rem;
    border-top: 1px solid var(--color-border);
}

#search-filter-container label {
    margin-bottom: 0.65em;
    color: var(--color-title);
    font-size: 0.8em;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

#search-filter-container .input-group {
    margin-bottom: 0;
}

#search-filter-container .input-group-label {
    padding-right: 0;
    border: 1px solid var(--color-border);
    border-right: 0;
    border-radius: 0.5em 0 0 0.5em;
    background-color: var(--color-surface);
    color: var(--formation-text-accent, var(--color-primary));
}

#search-filter-container .input-group-field {
    height: 3em;
    margin: 0;
    border: 1px solid var(--color-border);
    border-left: 0;
    border-radius: 0 0.5em 0.5em 0;
    background-color: var(--color-surface);
    box-shadow: none;
    color: var(--color-title);
    font-size: 0.95em;
}

#search-filter-container select.input-group-field {
    padding-right: 2.5em;
}

#search-filter-container .input-group-field:focus {
    border-color: var(--formation-color, var(--color-primary));
    box-shadow: 0 0 0 0.15em
        color-mix(
            in srgb,
            var(--formation-color, var(--color-primary)) 14%,
            transparent
        );
}

.superfluo-content-sort {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 3em;
    margin: 0;
    padding: 0.75em 2.75em 0.75em 1em;
    border: 1px solid var(--color-border);
    border-radius: 0.5em;
    background-color: var(--color-surface);
    color: var(--color-title);
    font-size: 0.95em;
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
    text-align: left;
}

body.superfluo-invert-colors .superfluo-content-sort {
    border-color: var(--color-border-strong);
    background-color: var(--color-surface);
}

.superfluo-content-sort::after {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0;
    height: 0;
    margin-top: -0.2em;
    border: 0.3em solid transparent;
    border-top-color: var(--formation-color, var(--color-primary));
    content: "";
}

.superfluo-content-sort:hover,
.superfluo-content-sort:focus {
    border-color: var(--formation-color, var(--color-primary));
    background-color: var(--color-surface-hover);
    color: var(--color-title);
}

#content-sort-dropdown {
    border: 1px solid var(--color-border);
    border-radius: 0.65em;
    background-color: var(--color-surface-raised);
    box-shadow: var(--shadow-md);
}

#content-sort-dropdown .menu a {
    padding: 0.85em 1em;
    border-radius: 0.4em;
    color: var(--color-title);
    font-size: 0.9em;
}

#content-sort-dropdown .menu a:hover,
#content-sort-dropdown .menu a:focus,
#content-sort-dropdown .menu a.checked {
    background-color: color-mix(
        in srgb,
        var(--formation-color, var(--color-primary)) 10%,
        var(--color-surface-raised)
    );
    color: var(
        --formation-color-dark,
        var(--formation-color, var(--color-primary))
    );
}

body.superfluo-invert-colors #content-sort-dropdown .menu a:hover,
body.superfluo-invert-colors #content-sort-dropdown .menu a:focus,
body.superfluo-invert-colors #content-sort-dropdown .menu a.checked {
    background-color: var(--color-surface-hover);
    color: var(--formation-color-light, var(--color-primary-light));
}

.superfluo-content-filters-divider {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1.5rem 0 0;
    color: var(--formation-text-accent, var(--color-primary));
}

.superfluo-content-filters-divider::before,
.superfluo-content-filters-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: var(--color-border);
}

.superfluo-content-filters-divider span {
    margin: 0 1em;
    font-size: 1.5em;
}
.superfluo-content-topics-header {
    margin-bottom: 0;
}
.superfluo-content-topics-header h3 {
    margin: 0 0 0.65em;
    color: var(--color-title);
    font-family: var(--font-family-body);
    font-size: 0.8em;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
}
.superfluo-content-topics-header p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.9em;
}
.superfluo-content-topics {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6em;
}

.superfluo-content-topics .filter-heart,
.superfluo-content-topics .filter-topic {
    margin: 0;
    padding: 0.65em 1em;
    border: 1px solid transparent;
    border-radius: var(--radius-pill);
    font-size: 0.82em;
    font-weight: var(--font-weight-semibold);
    line-height: 1.2;
    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease,
        transform 180ms ease;
}

.superfluo-content-topics .filter-heart.light-gray,
.superfluo-content-topics .filter-topic.light-gray {
    border-color: var(--color-border);
    background-color: color-mix(
        in srgb,
        var(--color-surface-muted) 45%,
        var(--color-surface)
    );
    color: var(--color-title);
}
.superfluo-content-topics .filter-heart.light-gray:hover,
.superfluo-content-topics .filter-heart.light-gray:focus,
.superfluo-content-topics .filter-topic.light-gray:hover,
.superfluo-content-topics .filter-topic.light-gray:focus {
    border-color: var(--formation-color, var(--color-primary));
    background-color: color-mix(
        in srgb,
        var(--formation-color, var(--color-primary)) 8%,
        var(--color-surface)
    );
    color: var(
        --formation-color-dark,
        var(--formation-color, var(--color-primary))
    );
    transform: translateY(-0.1em);
}

.superfluo-content-topics .filter-heart:not(.light-gray),
.superfluo-content-topics .filter-topic:not(.light-gray) {
    border-color: var(--formation-color-dark, var(--color-primary-dark));
    background-color: var(--formation-color-dark, var(--color-primary-dark));
    color: var(--color-white);
    box-shadow: 0 0.35em 0.8em
        color-mix(
            in srgb,
            var(--formation-color, var(--color-primary)) 24%,
            transparent
        );
}

.superfluo-content-topics .filter-heart::before {
    content: "\f02e";
    margin-right: 0.45em;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
}
.superfluo-content-topics .filter-topic:not(.light-gray)::before {
    content: "\f00c";
    margin-right: 0.45em;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
}

/* Medium and smaller */
@media screen and (max-width: 63.9375em) {
    .superfluo-content-filters {
        padding: 1.5em;
    }

    .superfluo-content-sort {
        width: 100%;
    }
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-content-filters {
        margin-bottom: 2em;
        padding: 1.25em;
    }
    .superfluo-content-filters-header {
        margin-bottom: 0;
    }
    .superfluo-content-filters-header .content-search-form-reset span {
        font-size: 0.75em;
    }
    #search-filter-container .grid-margin-y > .cell {
        margin-bottom: 1em;
    }
    .superfluo-content-filters-divider {
        margin: 1.25rem 0 0.5rem;
    }
    .superfluo-content-topics {
        gap: 0.5em;
    }
    .superfluo-content-topics .filter-heart,
    .superfluo-content-topics .filter-topic {
        padding: 0.6em 0.85em;
        font-size: 0.78em;
    }
}

.superfluo-input-container,
.superfluo-select-container {
    position: relative;
}
.superfluo-input-container > span,
.superfluo-select-container > span {
    position: absolute;
    top: 50%;
    left: 1em;
    z-index: 2;
    color: var(--formation-text-accent, var(--color-primary));
    font-size: 1em;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-50%);
}
.superfluo-input-container input,
.superfluo-select-container select {
    width: 100%;
    height: 3em;
    margin: 0;
    padding: 0 2.75em 0 2.75em;
    border: 1px solid var(--color-border);
    border-radius: 0.5em;
    background-color: var(--color-surface);
    color: var(--color-title);
    font-size: 0.95em;
    box-shadow: none;
}
.superfluo-input-container input:focus,
.superfluo-select-container select:focus {
    border-color: var(--formation-color, var(--color-primary));
    box-shadow: 0 0 0 0.12em
        color-mix(
            in srgb,
            var(--formation-color, var(--color-primary)) 16%,
            transparent
        );
}

/* Content sharing */
.superfluo-content-share {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6em;
    align-items: center;
    width: fit-content;
    padding: 0 !important;
    margin-top: 2rem;
    margin-bottom: -1rem;
}

.superfluo-content-share a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5em;
    height: 2.5em;
    margin: 0 .25rem;
    border: 1px solid
        color-mix(
            in srgb,
            var(--formation-color, var(--color-primary)) 20%,
            transparent
        );
    border-radius: var(--radius-xs);
    background-color: var(--color-surface);
    color: var(--formation-text-accent, var(--color-primary));
    font-size: 1em;
    line-height: 1;
    text-decoration: none;
    transition:
        color 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease;
}

.superfluo-content-share a:hover,
.superfluo-content-share a:focus {
    border-color: var(--formation-color, var(--color-primary));
    background-color: var(--formation-color-dark, var(--color-primary-dark));
    color: var(--color-white);
    box-shadow: 0 0.35em 0.8em
        color-mix(
            in srgb,
            var(--formation-color, var(--color-primary)) 25%,
            transparent
        );
    transform: translateY(-0.12em);
}

.superfluo-content-share a i {
    line-height: 1;
}
.superfluo-content-share a:hover i,
.superfluo-content-share a:focus i {
    color: var(--color-white);
}

.superfluo-content-share .content-share-copy.copied {
    border-color: var(--formation-color, var(--color-primary));
    background-color: var(--formation-color-dark, var(--color-primary-dark));
    color: var(--color-white);
}

.superfluo-content-share .content-share-copy.copied::after {
    content: "Kopirano";
    position: absolute;
    bottom: calc(100% + 0.65em);
    left: 50%;
    padding: 0.45em 0.7em;
    border-radius: 0.35em;
    background-color: var(--color-title);
    color: var(--color-white);
    font-family: var(--font-family-body);
    font-size: 0.7em;
    font-weight: var(--font-weight-semibold);
    line-height: 1;
    white-space: nowrap;
    transform: translateX(-50%);
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-content-share {
        width: 100%;
        padding: 1rem 1rem 0 1rem;
        border-radius: var(--radius-base);
    }

    .superfluo-content-share h4 {
        flex-basis: 100%;
        margin: 0 0 1rem;
    }

    .superfluo-content-share a {
        width: 2.75em;
        height: 2.75em;
    }
}

/* Related content within formation path */
.superfluo-formation-related {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border);
}

.superfluo-formation-related-label {
    display: block;
    margin-bottom: 0.75rem;
    color: var(
        --formation-text-accent,
        var(--formation-color-dark, var(--color-primary-dark))
    );
    font-family: var(--font-family-body);
    font-size: 0.7em;
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.superfluo-formation-related a {
    position: relative;
    display: block;
    padding: 0.4rem 2rem 0.4rem 0;
    color: var(--color-title);
    font-family: var(--font-family-heading);
    font-size: 1.2em;
    font-weight: var(--font-weight-bold);
    line-height: 1.25;
    text-decoration: none;
    overflow-wrap: anywhere;
    transition:
        color 0.2s ease,
        padding-left 0.2s ease;
}

.superfluo-formation-related a::after {
    content: "\f061";
    position: absolute;
    top: 0.5em;
    right: 0;
    color: var(
        --formation-text-accent,
        var(--formation-color-dark, var(--color-primary-dark))
    );
    font-family: "Font Awesome 5 Pro";
    font-size: 0.75em;
    font-weight: var(--font-weight-regular);
    transition: transform 0.2s ease;
}

.superfluo-formation-related a:hover,
.superfluo-formation-related a:focus {
    color: var(
        --formation-text-accent,
        var(--formation-color-dark, var(--color-primary-dark))
    );
    text-decoration: underline;
    text-decoration-thickness: 0.06em;
    text-underline-offset: 0.15em;
}

.superfluo-formation-related a:hover::after,
.superfluo-formation-related a:focus::after {
    transform: translateX(0.2em);
}


/* Dark mode */
body.superfluo-invert-colors .superfluo-formation-related {
    border-top-color: var(--color-border);
}

body.superfluo-invert-colors .superfluo-formation-related-label {
    color: var(--formation-color-light, var(--color-primary-light));
}

body.superfluo-invert-colors .superfluo-formation-related a {
    color: var(--color-title);
}

body.superfluo-invert-colors .superfluo-formation-related a::after,
body.superfluo-invert-colors .superfluo-formation-related a:hover,
body.superfluo-invert-colors .superfluo-formation-related a:focus {
    color: var(--formation-color-light, var(--color-primary-light));
}


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

    .superfluo-formation-related {
        margin-top: 1.5rem;
        padding-top: 1.25rem;
    }

    .superfluo-formation-related a {
        padding-top: 0.45rem;
        padding-bottom: 0.45rem;
        font-size: 1.1em;
    }
}

/* General blockquote */
blockquote {
    position: relative;
    margin: 2em 0;
    padding: 1.5em 1.75em 1.5em 2em;
    border-left: 0.2em solid var(--formation-color, var(--color-primary));
    background-color: color-mix(
        in srgb,
        var(--formation-color, var(--color-primary)) 7%,
        transparent
    );
}

blockquote::before {
    content: "“";
    position: absolute;
    top: 0.1em;
    left: 0.2em;
    color: var(--formation-color, var(--color-primary));
    font-family: var(--font-family-heading);
    font-size: 3.5em;
    line-height: 1;
    opacity: 0.18;
}

blockquote p {
    position: relative;
    margin: 0;
    color: var(--formation-text-accent, var(--color-primary));
    font-family: var(--font-family-heading);
    font-size: 1.5em;
    font-weight: var(--font-weight-bold);
    line-height: 1.35;
}

blockquote cite {
    display: block;
    margin-top: 0.75em;
    color: var(--formation-text-accent, var(--color-primary));
    font-family: var(--font-family-body);
    font-size: 0.875em;
    font-style: italic;
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
    opacity: 0.8;
}

blockquote cite::before {
    content: "— ";
}

body.superfluo-invert-colors blockquote cite {
    color: var(--formation-color-light, var(--color-primary-light));
}

body.superfluo-invert-colors blockquote p {
    color: var(--formation-color-light, var(--color-primary-light));
}

/* Formation context */
.superfluo-formation-context {
    position: relative;
    isolation: isolate;
    margin: 4rem 0;
    padding: 3rem;
    border-top: 0.25rem solid var(--formation-color);
    border-radius: var(--radius-md);
    color: var(--color-text);
    background-color: var(--color-surface-raised);
    box-shadow: var(--shadow-card);
    overflow: hidden;
}

.superfluo-formation-context::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: var(--formation-pattern, none);
    background-repeat: repeat;
    background-position: center;
    background-size: 28rem auto;
    opacity: 0.06;
    pointer-events: none;
}

.superfluo-formation-context-label {
    display: block;
    margin-bottom: 1em;
    color: var(--formation-text-accent, var(--formation-color-dark));
    font-size: 0.6875rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.superfluo-formation-context h2 {
    margin-bottom: 1em;
    color: var(--formation-text-accent, var(--formation-color-dark));
}

body.superfluo-invert-colors .superfluo-formation-context-label {
    color: var(--formation-color-light, var(--primary-color-light));
}

body.superfluo-invert-colors .superfluo-formation-context h2,
body.superfluo-invert-colors .superfluo-formation-context cite {
    color: var(--formation-color-light, var(--color-primary-light));
}

/* Formation context blockquote */
.superfluo-formation-context blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--color-title);
    font-family: var(--font-family-heading);
    font-size: 1.125em;
    font-weight: var(--font-weight-bold);
    line-height: 1.35;
    background-color: transparent;
}

.superfluo-formation-context blockquote::before {
    content: none;
}

.superfluo-formation-context blockquote p {
    margin: 0 0 1em;
}

.superfluo-formation-context cite {
    color: var(--formation-text-accent, var(--color-primary-dark));
    font-family: var(--font-family-body);
    font-size: 0.875em;
    font-style: normal;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.04em;
    opacity: 1;
}

.superfluo-formation-context cite::before {
    content: "— ";
}

/* Large and up */
@media screen and (min-width: 64em) {
    .superfluo-formation-context .cell + .cell {
        padding-left: 2rem;
        border-left: 1px solid var(--color-border);
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .superfluo-formation-context {
        padding: 2rem;
    }

    .superfluo-formation-context > .grid-x > .cell:nth-child(2) {
        padding-left: 0;
        border-left: 0;
    }

    .superfluo-formation-context .cell + .cell {
        padding-left: 2rem;
        border-left: 1px solid var(--color-border);
    }
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-formation-context {
        margin: 3rem 0;
        padding: 1.75rem 1.5rem;
    }
    .superfluo-formation-context .cell + .cell {
        padding-top: 1.5rem;
        border-top: 1px solid var(--color-border);
    }
    .superfluo-formation-context blockquote {
        font-size: 1.025em;
    }
}

/* Formation paths */
.superfluo-formation-path {
    /*
    padding: 0 0 2rem;
    margin: 0 0 2rem;
    border-bottom: 1px solid var(--color-light-gray);
*/
}

.superfluo-formation-path:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}

.superfluo-formation-path > h3 {
    margin: 0 0 1.5rem;
    color: var(--formation-text-accent, var(--formation-color-dark));
}

.superfluo-formation-quote-title {
    margin: 0 0 1rem;
    color: var(--color-title);
    font-size: 1.375rem;
}

.slick-prev:before,
.slick-next:before {
    color: var(--formation-color, var(--color-link));
}

/* Final thought */
.superfluo-final-thought {
    position: relative;
    margin-top: 3rem;
    padding: 2.25rem 2.5rem 2.25rem 3rem;
    border-left: 0.35rem solid var(--formation-color, var(--primary-color));
    overflow: hidden;
}

.superfluo-final-thought::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--formation-pattern);
    background-repeat: repeat;
    background-size: 14rem auto;
    opacity: 0.07;
    pointer-events: none;
}

.superfluo-final-thought-label,
.superfluo-final-thought p {
    position: relative;
    z-index: 1;
}

.superfluo-final-thought-label {
    display: block;
    margin-bottom: 0.75rem;
    color: var(--formation-text-accent, var(--primary-color-dark));
    font-size: 0.75em;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
}
body.superfluo-invert-colors .superfluo-final-thought-label {
    color: var(--formation-color-light, var(--primary-color-light));
}

.superfluo-final-thought p {
    max-width: var(--layout-width-reading);
    margin: 0;
    color: var(--color-title);
    font-family: var(--font-family-heading);
    font-size: clamp(1.65em, 2.4vw, 2.4em);
    font-weight: var(--font-weight-bold);
    line-height: 1.25;
}

@media screen and (max-width: 39.99875em) {
    .superfluo-final-thought {
        margin-top: 2rem;
        padding: 1.75rem 1.5rem 1.75rem 1.75rem;
    }
}

.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(--radius-circle);
    border: 3px solid var(--color-primary);
    z-index: 1;
}

.profile-photo-edit-container {
    border: 2px dashed var(--color-primary);
    background: var(--color-light-primary);
    border-radius: var(--radius-xl);
    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(--radius-circle);
    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(--radius-circle);
    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-primary);
    margin: 1.5rem 0 1rem 0;
    font-size: 1.75em;
}
.superfluo-slick.slick-slider h4 {
    color: var(--color-primary);
    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: 0.2s ease-in-out;
    transition: 0.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: 0.2s ease-in-out;
    transition: 0.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 */

.superfluo-news-formation-1 {
    --news-formation-color: var(--color-formation-1);
    --news-formation-color-dark: var(--color-formation-1-dark);
    --news-formation-color-darker: var(--color-formation-1-darker);
    --news-formation-color-light: var(--color-formation-1-light);
    --news-formation-color-readable: var(--color-formation-1-link);
    --news-formation-pattern: var(--asset-pattern-formation-1);
}

.superfluo-news-formation-2 {
    --news-formation-color: var(--color-formation-2);
    --news-formation-color-dark: var(--color-formation-2-dark);
    --news-formation-color-darker: var(--color-formation-2-darker);
    --news-formation-color-light: var(--color-formation-2-light);
    --news-formation-color-readable: var(--color-formation-2-link);
    --news-formation-pattern: var(--asset-pattern-formation-2);
}

.superfluo-news-formation-3 {
    --news-formation-color: var(--color-formation-3);
    --news-formation-color-dark: var(--color-formation-3-dark);
    --news-formation-color-darker: var(--color-formation-3-darker);
    --news-formation-color-light: var(--color-formation-3-light);
    --news-formation-color-readable: var(--color-formation-3-link);
    --news-formation-pattern: var(--asset-pattern-formation-3);
}

.superfluo-news-card {
    --news-card-background: var(--color-surface-raised);
    border-radius: var(--radius-md);
    position: relative;
    display: block;
    overflow: hidden;
    color: var(--color-text);
    background-color: var(--news-card-background);
    height: 100%;
    box-shadow: var(--shadow-card);

    transform: translateY(0);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.superfluo-news-card:hover,
.superfluo-news-card:focus-visible {
    transform: translateY(-0.375rem);

    box-shadow: var(--shadow-card-hover);
}
.superfluo-news-card .badge {
    background: var(--news-formation-color-light);
    color: var(--news-formation-color-darker);
}

.superfluo-news-card .superfluo-news-text {
    padding: 0.5rem 1rem 0 1rem;
}

.superfluo-news-image {
    position: relative;
    display: block;
    overflow: hidden;
    height: 100%;
    width: 100%;
    border-radius: 0;
}
.superfluo-news-image::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background-image: var(--news-formation-pattern, none);
    background-repeat: repeat;
    background-position: center;
    background-size: 30rem auto;
    opacity: 0.8;
    pointer-events: none;
    transition: opacity 0.25s ease;
}
.superfluo-news-card:hover .superfluo-news-image::after {
    opacity: 0;
}

/* Slanted image-to-content divider with a tapered accent */
.slick-slider .superfluo-news-image::before,
.superfluo-news-image.superfluo-news-image-small::before,
.superfluo-news-image.superfluo-news-highlight::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    background-color: transparent;
    background-image:
        linear-gradient(
            to bottom right,
            transparent 49.5%,
            var(--news-card-background) 50%
        ),
        linear-gradient(
            to bottom right,
            transparent 49.5%,
            var(--news-formation-color, var(--color-primary)) 50%
        );
    background-repeat: no-repeat;
    background-position:
        bottom left,
        bottom left;
    background-size:
        100% 2rem,
        100% 4rem;
    pointer-events: none;
}

/* Large and up */
@media screen and (min-width: 64em) {
    .superfluo-news-image.superfluo-news-highlight.large-order-2::before {
        background-image:
            linear-gradient(
                to bottom left,
                transparent 49.5%,
                var(--news-card-background) 50%
            ),
            linear-gradient(
                to bottom left,
                transparent 49.5%,
                var(--news-formation-color, var(--color-primary)) 50%
            );
        background-position:
            top left,
            top left;
        background-size:
            2rem 100%,
            4rem 100%;
    }

    .superfluo-news-image.superfluo-news-highlight.large-order-1::before {
        background-image:
            linear-gradient(
                to bottom right,
                transparent 49.5%,
                var(--news-card-background) 50%
            ),
            linear-gradient(
                to bottom right,
                transparent 49.5%,
                var(--news-formation-color, var(--color-primary)) 50%
            );
        background-position:
            top right,
            top right;
        background-size:
            2rem 100%,
            4rem 100%;
    }
}

.superfluo-news-image.superfluo-news-image-radius {
    border: none;
    border-radius: var(--radius-md);
}

.superfluo-news-card:hover .superfluo-news-image {
    overflow: hidden;
}
.superfluo-news-image img {
    border: none;
    position: relative;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    z-index: 1;
    width: 100%;
}
.superfluo-news-card:hover .superfluo-news-image img {
    -webkit-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05);
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}
.superfluo-image-tag {
    background: var(--news-formation-color-dark, var(--color-primary-dark));
    color: var(--color-white);
    font-size: 0.75em;
    font-weight: var(--font-weight-regular);
    padding: 0.5rem 1.5rem 0.625rem 1.5rem;
    text-transform: uppercase;
    position: absolute;
    top: 0rem;
    left: 0;
    z-index: 3;
    border-top-right-radius: 0rem;
    border-bottom-right-radius: 0.75rem;
}
/* Large and up */
@media screen and (min-width: 64em) {
    .superfluo-image-tag.superfluo-image-tag-right {
        left: auto;
        right: 0;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0.75rem;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
}
.superfluo-news-card:hover .superfluo-image-tag {
    background: var(--news-formation-color-darker, var(--color-primary-darker));
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    /* The compact grid places the image left and the text right */
    .superfluo-news-card > .grid-x.align-top {
        align-items: stretch;
    }

    .superfluo-news-image.superfluo-news-image-small {
        height: auto;
        align-self: stretch;
    }

    .superfluo-news-image.superfluo-news-image-small::before {
        background-image:
            linear-gradient(
                to bottom right,
                transparent 49.5%,
                var(--news-card-background) 50%
            ),
            linear-gradient(
                to bottom right,
                transparent 49.5%,
                var(--news-formation-color, var(--color-primary)) 50%
            );
        background-position:
            top right,
            top right;
        background-size:
            1.5rem 100%,
            3rem 100%;
    }

    .superfluo-news-image.superfluo-news-image-small img {
        position: absolute;
        inset: 0;
        height: 100%;
        object-fit: cover;
    }

    .superfluo-news-image.superfluo-news-image-small .superfluo-image-tag {
        font-size: 0.5em;
        font-weight: var(--font-weight-regular);
        padding: 0.25rem 0.5rem 0.25rem 0.5rem;
        top: 0;
    }
}

.superfluo-seal-formation-1 {
    --seal-formation: var(--asset-seal-formation-1);
}
.superfluo-seal-formation-2 {
    --seal-formation: var(--asset-seal-formation-2);
}
.superfluo-seal-formation-3 {
    --seal-formation: var(--asset-seal-formation-3);
}
[class*="superfluo-seal-formation-"] {
    display: inline-block;
    height: 5rem;
    width: 5rem;
    overflow: hidden;
    border: none;
    margin: 0;
    background: var(--seal-formation);
    background-repeat: no-repeat;
    background-size: contain;
}

[class*="superfluo-seal-formation-"].superfluo-seal-large {
    height: 5rem;
    width: 5rem;
}

body.superfluo-invert-colors [class*="superfluo-seal-formation-"].superfluo-seal-large {
    filter: brightness(0) invert(1)
        drop-shadow(0 0.25rem 0.5rem rgba(0, 0, 0, 0.55));
}

.superfluo-news-image [class*="superfluo-seal-formation-"] {
    position: absolute;
    right: 1rem;
    top: 1rem;
    z-index: 4;
    background: var(--seal-formation);
    filter: brightness(0) invert(1)
        drop-shadow(0 0.25rem 0.5rem rgba(0, 0, 0, 0.55));
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top right;
}

.slick-slider [class*="superfluo-seal-formation-"] {
    height: 3rem;
    width: 3rem;
}

/* Large and up */
@media screen and (min-width: 64em) {
    .superfluo-news-image.superfluo-news-highlight
        [class*="superfluo-seal-formation-"] {
        top: auto;
        bottom: 1rem;
    }

    .superfluo-news-image.superfluo-news-highlight:not(.superfluo-news-highlight-right)
    [class*="superfluo-seal-formation-"] {
        top: auto;
        bottom: 1rem;
        left: -0.5rem;
        right: auto;
    }

    [class*="superfluo-seal-formation-"].superfluo-seal-large {
        height: 8rem;
        width: 8rem;
    }
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-news-image.superfluo-news-image-small
        [class*="superfluo-seal-formation-"] {
        height: 2.25rem;
        width: 2.25rem;
        top: auto;
        right: 2.25rem;
        bottom: 0.25rem;
    }
}

.superfluo-formation-seal {
    display: block;
    transition:
        transform 200ms ease,
        filter 200ms ease;
}

.superfluo-formation-seal:hover,
.superfluo-formation-seal:focus {
    transform: translateY(-0.25rem) scale(1.03);
    filter: drop-shadow(0 0.375rem 0.625rem rgba(0, 0, 0, 0.16));
}

.superfluo-content-block {
    position: relative;
    padding: 1.5rem 1.5rem;
    border: 0px solid
        color-mix(
            in srgb,
            var(--formation-color, var(--color-primary)) 50%,
            var(--color-border)
        );
    border-radius: var(--radius-md);
    background-color: color-mix(
        in srgb,
        var(--color-page-bg) 50%,
        var(--color-surface-raised)
    );
    box-shadow: var(--shadow-sm);
    width: 100%;
}

body.superfluo-invert-colors .superfluo-content-block {
    border-color: color-mix(
        in srgb,
        var(--formation-color-light, var(--color-primary-light)) 20%,
        var(--color-border)
    );
    background-color: color-mix(
        in srgb,
        var(--color-page-bg) 50%,
        var(--color-surface-raised)
    );
}

.superfluo-content-share h4,
.superfluo-content-block h4 {
    margin: 0 0.5em 1rem 0.4em;
    color: var(--color-title);
    font-family: var(--font-family-body);
    font-size: 0.8em;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.03em;
    line-height: 1.2;
    text-transform: uppercase;
}


.superfluo-detail-meta-row {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 0.75rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--color-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-white);
    border-radius: 50%;
    background-color: var(
        --formation-color,
        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(
        --formation-text-accent,
        var(--formation-color-dark, var(--color-primary-dark))
    );
    font-size: 0.6875em;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

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


/* Dark mode */
body.superfluo-invert-colors .superfluo-detail-meta-row > i {
    color: var(--color-white);
    background-color: var(
        --formation-color,
        var(--color-primary)
    );
}
body.superfluo-invert-colors .superfluo-detail-meta-row span {
    color: var(
        --formation-color-light,
        var(--color-primary-light)
    );
}
body.superfluo-invert-colors .superfluo-detail-meta-row strong {
    color: var(--color-title);
}



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

.superfluo-news-text time {
    color: var(--color-text-muted);
    font-size: 1em;
    padding: 0;
    margin: 1rem 0 1rem 0;
    font-weight: var(--font-weight-semibold);
    display: block;
}
.superfluo-news-text h3 {
    color: var(--news-formation-color-dark, var(--color-primary));
    font-size: 2em;
    padding: 0;
    margin: 1rem 0;
}
.superfluo-news-card:hover h3 {
    text-decoration: underline;
    text-decoration-thickness: 2px;
}
.superfluo-news-text .superfluo-news-subtitle {
    margin: 1rem 0 0.375rem;
    padding: 0;
    color: var(--news-formation-color-readable, var(--color-primary));
    font-family: var(--font-family-body);
    font-size: 0.875em;
    font-weight: var(--font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.superfluo-news-text .superfluo-news-subtitle + h3 {
    margin-top: 0;
}

.superfluo-news-text p {
    color: var(--color-text);
    font-size: 0.875em;
    padding: 0 0 2rem 0;
    margin: 0;
}

.superfluo-news-text [class*="superfluo-seal-formation-"] {
    width: 5rem;
    height: 5rem;
    margin: 1rem 0 0 0;
}

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

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

    .superfluo-news-text time {
        font-size: 0.75em;
        margin: 0.75rem 0;
    }
    .superfluo-news-text .superfluo-news-subtitle {
        font-size: 0.75em;
        margin: 1rem 0 0.25rem 0;
    }
    .superfluo-news-text h3 {
        font-size: 1.375em;
        margin: 1.25rem 0 1rem 0;
    }
    .superfluo-news-text.superfluo-news-text-small h3 {
        font-weight: var(--font-weight-bold);
    }
    .superfluo-news-text .superfluo-news-subtitle + h3 {
        margin-top: 0;
    }
    .superfluo-news-text p {
        font-size: 0.75em;
    }
    .superfluo-news-text.superfluo-news-highlight {
        padding: 0 1.5rem;
        margin-top: 0.5rem;
    }
    .superfluo-news-text.superfluo-news-highlight h3 {
        font-size: 2em;
    }
    .superfluo-news-text.superfluo-news-highlight
        [class*="superfluo-seal-formation-"] {
        display: none;
    }
}

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

    .superfluo-news-text.superfluo-news-highlight
        [class*="superfluo-seal-formation-"] {
        display: none;
    }
}

.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: var(--font-weight-regular);
    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: var(--font-weight-regular);
        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-surface-muted);
    border-radius: var(--radius-md);
    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-text);
    font-style: normal;
    font-weight: var(--font-weight-extrabold);
    line-height: 1;
    font-family: var(--font-family-heading);
    font-optical-sizing: auto;
    letter-spacing: -0.0625em;
    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;
    }
}

/* Video block */
.superfluo-video {
    position: relative;
    isolation: isolate;
    margin: 0;
    padding: 1.25rem 1.25rem 1.5rem;
    border-top: 0.25rem solid var(--formation-color, var(--color-primary));
    border-radius: var(--radius-md);
    color: var(--color-text);
    background-color: var(--color-surface-raised);
    box-shadow: var(--shadow-card);
    overflow: hidden;
}

.superfluo-video::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: var(--formation-pattern, none);
    background-repeat: repeat;
    background-position: center;
    background-size: 30rem auto;
    opacity: 0.04;
    pointer-events: none;
}

body.superfluo-invert-colors .superfluo-video {
    border-top-color: var(--formation-color, var(--color-primary));
    background-color: color-mix(
        in srgb,
        var(--formation-color-darker, var(--color-primary-darker)) 42%,
        var(--color-surface-raised)
    );
}

.superfluo-video-header {
    margin-bottom: 1rem;
}

.superfluo-video-label {
    display: block;
    margin-bottom: 0.375rem;
    color: var(--formation-text-accent, var(--color-primary));
    font-size: 0.6875em;
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
body.superfluo-invert-colors .superfluo-video-label {
    color: var(--formation-color-light, var(--color-primary-light));
}

.superfluo-video-header h3 {
    margin: 0;
    color: var(--color-title);
}

.superfluo-video-embed {
    margin: 0;
    border-radius: var(--radius-base);
    background-color: var(--color-black);
    overflow: hidden;
}

.superfluo-video-embed iframe {
    display: block;
    border: 0;
}

.superfluo-video figcaption {
    margin-top: 0.875rem;
    color: var(--color-text-muted);
    font-size: 0.8125em;
    font-style: italic;
    line-height: 1.5;
}
body.superfluo-invert-colors .superfluo-video figcaption {
    color: var(--color-text-muted);
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-video {
        padding: 0.5rem 0.5rem 1rem;
        border-radius: var(--radius-base);
    }

    .superfluo-video-header {
        padding: 0.5rem 0.5rem 0;
    }

    .superfluo-video-embed {
        border-radius: var(--radius-sm);
    }

    .superfluo-video figcaption {
        margin: 0.75rem 0.5rem 0;
        font-size: 0.75em;
    }
}

/* Polaroid masonry gallery */
.superfluo-masonry {
    --masonry-row-height: 0.25rem;
    --masonry-column-gap: 1.5rem;
    --masonry-row-gap: 1.5rem;

    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-rows: var(--masonry-row-height);
    column-gap: var(--masonry-column-gap);
    row-gap: var(--masonry-row-gap);
    align-items: start;

    position: relative;
    margin: 3rem 0 0;
    padding: 1rem 0.75rem 2rem;

    overflow: visible;
}

.superfluo-masonry a.superfluo-masonry-item {
    --polaroid-rotate: 0deg;
    --polaroid-offset-x: 0;
    --polaroid-offset-y: 0;

    display: block;
    position: relative;
    z-index: 1;
    align-self: start;

    width: 100%;
    height: auto;
    margin: 0;
    padding: 0.625rem 0.625rem 2.5rem;

    color: inherit;
    background-color: var(--color-surface-raised);
    border: 0;
    border-radius: 0.125rem;

    box-shadow: var(--shadow-md);

    transform: translate(var(--polaroid-offset-x), var(--polaroid-offset-y))
        rotate(var(--polaroid-rotate));

    transform-origin: center;

    transition:
        transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.3s ease;
}

.superfluo-masonry a.superfluo-masonry-item:nth-child(6n + 1) {
    --polaroid-rotate: -1.75deg;
    --polaroid-offset-y: 0.375rem;
}

.superfluo-masonry a.superfluo-masonry-item:nth-child(6n + 2) {
    --polaroid-rotate: 1.25deg;
    --polaroid-offset-y: -0.25rem;
}

.superfluo-masonry a.superfluo-masonry-item:nth-child(6n + 3) {
    --polaroid-rotate: -0.75deg;
    --polaroid-offset-x: 0.125rem;
    --polaroid-offset-y: 0.5rem;
}

.superfluo-masonry a.superfluo-masonry-item:nth-child(6n + 4) {
    --polaroid-rotate: 1.75deg;
    --polaroid-offset-x: -0.125rem;
}

.superfluo-masonry a.superfluo-masonry-item:nth-child(6n + 5) {
    --polaroid-rotate: 0.75deg;
    --polaroid-offset-y: -0.125rem;
}

.superfluo-masonry a.superfluo-masonry-item:nth-child(6n + 6) {
    --polaroid-rotate: -1.25deg;
    --polaroid-offset-y: 0.375rem;
}

.superfluo-masonry a.superfluo-masonry-item:hover,
.superfluo-masonry a.superfluo-masonry-item:focus-visible {
    z-index: 5;

    transform: translateY(-0.5rem) rotate(0) scale(1.04);

    box-shadow: var(--shadow-lg);
}

.superfluo-masonry img {
    display: block;

    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;

    border: 0;
    border-radius: 0.125rem;
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .superfluo-masonry {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        --masonry-column-gap: 1.25rem;
        --masonry-row-gap: 1.25rem;

        padding-inline: 0.5rem;
    }

    .superfluo-masonry a.superfluo-masonry-item {
        padding: 0.5rem 0.5rem 2rem;
    }
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-masonry {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        --masonry-column-gap: 0.875rem;
        --masonry-row-gap: 1rem;

        margin-top: 2rem;
        padding: 0.5rem 0.25rem 1.5rem;
    }

    .superfluo-masonry a.superfluo-masonry-item {
        padding: 0.375rem 0.375rem 1.375rem;
    }

    .superfluo-masonry a.superfluo-masonry-item:nth-child(odd) {
        --polaroid-rotate: -0.75deg;
        --polaroid-offset-x: 0;
        --polaroid-offset-y: 0.125rem;
    }

    .superfluo-masonry a.superfluo-masonry-item:nth-child(even) {
        --polaroid-rotate: 0.75deg;
        --polaroid-offset-x: 0;
        --polaroid-offset-y: -0.125rem;
    }

    .superfluo-masonry a.superfluo-masonry-item:hover,
    .superfluo-masonry a.superfluo-masonry-item:focus-visible {
        transform: translateY(-0.25rem) rotate(0) scale(1.025);
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .superfluo-masonry a.superfluo-masonry-item {
        transition: none;
    }

    .superfluo-masonry a.superfluo-masonry-item:hover,
    .superfluo-masonry a.superfluo-masonry-item:focus-visible {
        transform: translate(var(--polaroid-offset-x), var(--polaroid-offset-y))
            rotate(var(--polaroid-rotate));
    }
}

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: 0.5em;
}

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 0.625rem;
    font-weight: var(--font-weight-semibold);
    color: var(--color-title);
    background-color: var(--color-surface-raised);
    font-size: 1.125em;
}
table.superfluo-admin-table tbody td,
table.superfluo-admin-table tbody th {
    padding: 1rem 0.625rem;
    font-weight: var(--font-weight-regular);
}
table.superfluo-admin-table tbody tr:nth-child(even) {
    border-bottom: 1px solid var(--color-border);
    background-color: var(--color-surface-subtle);
}
table.superfluo-admin-table.hover thead tr:hover,
table.superfluo-admin-table.hover tfoot tr:hover,
table.superfluo-admin-table.hover tbody tr:hover {
    background-color: var(--color-surface-hover) !important;
}
table.superfluo-admin-table tr {
    border-bottom: 1px solid var(--color-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 main {
    color: var(--color-text);
    background: var(--color-background);
}

body.superfluo-invert-colors main a:not(.button) {
    color: var(--color-link);
}

body.superfluo-invert-colors main a:hover:not(.button),
body.superfluo-invert-colors main a:focus:not(.button) {
    color: var(--color-link-hover);
}

body.superfluo-invert-colors .superfluo-block-text,
body.superfluo-invert-colors
    [class*="superfluo-multimedia-formation-"]
    .superfluo-block-text {
    border-color: color-mix(
        in srgb,
        var(--multimedia-formation-color-light, var(--color-primary-light)) 24%,
        transparent
    );
    background-color: color-mix(
        in srgb,
        var(--multimedia-formation-color-darker, var(--color-primary-darker))
            38%,
        var(--color-surface-raised)
    );
    box-shadow: var(--shadow-md);
}

body.superfluo-invert-colors
    [class*="superfluo-multimedia-formation-"]
    .superfluo-block-text
    h4,
body.superfluo-invert-colors
    [class*="superfluo-multimedia-formation-"]
    .superfluo-block-text
    a.superfluo-link {
    color: var(--multimedia-formation-color-light, var(--color-primary-light));
}

body.superfluo-invert-colors
    [class*="superfluo-multimedia-formation-"]
    .superfluo-block-text
    a.superfluo-link:hover,
body.superfluo-invert-colors
    [class*="superfluo-multimedia-formation-"]
    .superfluo-block-text
    a.superfluo-link:focus {
    color: var(--color-white);
}

body.superfluo-invert-colors .superfluo-formation-context {
    border-color: var(--formation-color, var(--color-primary));
    background-color: color-mix(
        in srgb,
        var(--formation-color-darker, var(--color-primary-darker)) 24%,
        var(--color-surface-raised)
    );
    box-shadow: var(--shadow-md);
}

body.superfluo-invert-colors .superfluo-formation-strip {
    --formation-strip-color: color-mix(
        in srgb,
        var(
            --multimedia-formation-color-darker,
            var(--color-primary-darker)
        ) 76%,
        var(--color-surface-raised)
    );
    --formation-strip-foreground: var(--color-white);
    --formation-strip-hover-background: color-mix(
        in srgb,
        var(--color-white) 14%,
        transparent
    );
    --formation-strip-hover-foreground: var(--color-white);
    color: var(--color-white);
    background-color: var(--formation-strip-color);
}

body.superfluo-invert-colors
    .superfluo-formation-strip
    :is(
        .superfluo-formation-strip-number,
        .superfluo-formation-strip-text h2,
        .superfluo-formation-strip-text p,
        .superfluo-formation-strip-link
    ) {
    color: var(--color-white);
}

body.superfluo-invert-colors
    .superfluo-formation-strip
    .superfluo-formation-strip-link:hover,
body.superfluo-invert-colors
    .superfluo-formation-strip
    .superfluo-formation-strip-link:focus {
    color: var(--color-white);
    border-color: var(--color-white);
    background-color: var(--formation-strip-hover-background);
}

body.superfluo-invert-colors .superfluo-orbit {
    background-color: var(--color-overlay-strong);
}

body.superfluo-invert-colors .superfluo-gradient-dashboard {
    background-color: var(
        --formation-color-darker,
        var(--color-primary-darker)
    );
}

body.superfluo-invert-colors .superfluo-news-card {
    --news-card-background: color-mix(
        in srgb,
        var(--news-formation-color-darker, var(--color-primary-darker)) 42%,
        var(--color-surface-raised)
    );
    border: 1px solid
        color-mix(
            in srgb,
            var(--news-formation-color-light, var(--color-primary-light)) 18%,
            transparent
        );
    background-color: var(--news-card-background);
    box-shadow: var(--shadow-md);
}

body.superfluo-invert-colors .superfluo-news-text h3,
body.superfluo-invert-colors .superfluo-news-text .superfluo-news-subtitle {
    color: var(--news-formation-color-light, var(--color-primary-light));
}

body.superfluo-invert-colors .superfluo-news-text time,
body.superfluo-invert-colors .superfluo-news-text p {
    color: var(--color-text-muted);
}

body.superfluo-invert-colors .slick-slider h3,
body.superfluo-invert-colors .superfluo-slick.slick-slider h3,
body.superfluo-invert-colors .superfluo-slick.slick-slider h4 {
    color: var(--color-title);
}

body.superfluo-invert-colors .superfluo-content-topics .filter-heart.light-gray,
body.superfluo-invert-colors
    .superfluo-content-topics
    .filter-topic.light-gray {
    border-color: var(--color-border);
    color: var(--color-text);
    background-color: var(--color-surface-muted);
}

body.superfluo-invert-colors
    .superfluo-content-topics
    .filter-heart.light-gray:hover,
body.superfluo-invert-colors
    .superfluo-content-topics
    .filter-heart.light-gray:focus,
body.superfluo-invert-colors
    .superfluo-content-topics
    .filter-topic.light-gray:hover,
body.superfluo-invert-colors
    .superfluo-content-topics
    .filter-topic.light-gray:focus {
    border-color: var(--formation-color-light, var(--color-primary-light));
    color: var(--formation-color-light, var(--color-primary-light));
    background-color: var(--color-surface-hover);
}

body.superfluo-invert-colors .superfluo-content-share a {
    color: var(--formation-color-light, var(--color-primary-light));
}

body.superfluo-invert-colors .superfluo-content-share a:hover,
body.superfluo-invert-colors .superfluo-content-share a:focus,
body.superfluo-invert-colors
    .superfluo-content-share
    .content-share-copy.copied {
    color: var(--color-white);
    background-color: var(--formation-color-dark, var(--color-primary-dark));
}

body.superfluo-invert-colors .superfluo-main-menu-container a.main-menu-link,
body.superfluo-invert-colors .superfluo-main-menu-container a.main-menu-link1x,
body.superfluo-invert-colors .superfluo-main-menu-container a.main-menu-link2x,
body.superfluo-invert-colors .superfluo-main-menu-container a.main-menu-link3x {
    color: var(--color-text);
}

body.superfluo-invert-colors .off-canvas .menu li a {
    color: var(--formation-color-light, var(--color-link)) !important;
}

body.superfluo-invert-colors
    .superfluo-main-menu-container
    a.main-menu-link:hover,
body.superfluo-invert-colors
    .superfluo-main-menu-container
    a.main-menu-link1x:hover,
body.superfluo-invert-colors
    .superfluo-main-menu-container
    a.main-menu-link2x:hover,
body.superfluo-invert-colors
    .superfluo-main-menu-container
    a.main-menu-link3x:hover {
    color: var(--formation-color-light, var(--color-primary-light));
}

body.superfluo-invert-colors time {
    color: var(--color-text-muted);
}

body.superfluo-invert-colors table.superfluo-admin-table thead,
body.superfluo-invert-colors table.superfluo-admin-table tfoot,
body.superfluo-invert-colors table.superfluo-admin-table tbody,
body.superfluo-invert-colors table.superfluo-admin-table tr,
body.superfluo-invert-colors table.superfluo-admin-table th,
body.superfluo-invert-colors table.superfluo-admin-table td {
    border-color: var(--color-border);
    color: var(--color-text);
    background-color: transparent;
}

/**
 * Foundation for Sites
 */

.grid-container {
    max-width: var(--layout-width-admin);
}

.reveal {
    border-radius: var(--radius-lg);
    padding: 2rem;
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--color-border);
    color: var(--color-text);
    background-color: var(--color-surface-raised);
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .reveal {
        border-radius: var(--radius-none);
        padding: 2rem;
    }
}

header .button,
footer .button,
.reveal .button,
.reveal .button-group {
    margin: 0;
}

button,
.button,
.button-group .button {
    font-size: 1em;
    font-weight: var(--font-weight-semibold);
}
.button-group .button {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
}

.pagination li,
.pagination a,
.button-group.small .button {
    border-radius: 0.75em;
}

.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-link);
}
.button.white:hover {
    border-color: var(--color-link);
    background: var(--color-link);
    color: var(--color-white);
}

.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-gray {
    border-color: transparent !important;
    color: var(--color-light-gray) !important;
}
.button.clear.light-gray:hover {
    border-color: transparent !important;
    color: var(--color-text-muted) !important;
}

.button.light-gray:not(.clear) {
    border-color: var(--color-border) !important;
    background: var(--color-surface-muted) !important;
    color: var(--color-text-muted) !important;
}
.button.light-gray:hover:not(.clear) {
    border-color: var(--color-action-auxiliary-hover);
    background: var(--color-action-auxiliary-hover);
    color: var(--color-white) !important;
}

.button.gray {
    border-color: var(--color-gray);
    color: var(--color-gray);
}
.button.gray:hover {
    border-color: var(--color-gray);
    color: var(--color-gray);
}
.button.clear,
.button.clear.gray {
    border-color: transparent;
}

.switch.switch-delete input:checked ~ .switch-paddle {
    background: var(--color-alert-dark);
}

.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-hover);
    border-radius: var(--radius-xl);
}

.dropdown-pane {
    border-radius: var(--radius-md);
    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: var(--font-weight-bold);
    line-height: 1.1;
    font-family: var(--font-family-heading);
    font-optical-sizing: auto;
    color: var(--color-primary);
    padding: 1rem 0.75rem;
}

.accordion-title:focus,
.is-active .accordion-title {
    background: var(--color-primary);
    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(--radius-md);
    border-top-right-radius: var(--radius-md);
}
main .tabs-content {
    border-bottom-left-radius: var(--radius-md);
    border-bottom-right-radius: var(--radius-md);
}

.tabs-title > a {
    font-size: 1em;
    font-weight: var(--font-weight-bold);
    line-height: 1.1;
    font-family: var(--font-family-heading);
    font-optical-sizing: auto;
    color: var(--color-link);
    padding: 0.5rem 0.75rem;
}

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

/* 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(--radius-sm);
    overflow: hidden;
}
/* Small only */
@media screen and (max-width: 39.9375em) {
    .orbit-border {
        border-radius: var(--radius-xs);
    }
}

.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: 0;
    border: 1px solid var(--color-white);
    background-color: transparent;
    box-shadow: none;
    cursor: pointer;
    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}
.orbit-bullets button:hover {
    border-color: var(--color-white);
    background-color: transparent;
    transform: scale(1.12);
}
.orbit-bullets button.is-active {
    border-width: 2px;
    border-color: var(--color-white);
    background-color: transparent;
}

/* 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: var(--font-weight-regular);
    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: var(--font-weight-regular);
        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: var(--font-weight-regular);
        font-size: 1em;
    }
}

.rounded {
    border-radius: var(--radius-circle) !important;
}
.radius {
    border-radius: var(--radius-control) !important;
}
input.radius,
select.radius,
textarea.radius {
    border-radius: var(--radius-sm) !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-subtle);
    color: var(--color-title);
    font-family: var(--font-family-heading);
    font-size: clamp(1.375em, 2vw, 1.75em);
    font-weight: 700;
    line-height: 1.2;
    display: block;
}

.fieldset .fieldset legend {
    font-size: clamp(1.25em, 2vw, 1.5em);
}

@media screen and (max-width: 39.9375em) {
    .fieldset {
        --fieldset-space: 1rem;
    }
}

.fieldset.alert {
    background: var(--color-alert-light);
}

.fieldset legend.red,
legend.red {
    color: var(--color-red);
}

.fieldset legend.gray,
legend.gray {
    color: var(--color-gray);
}


.callout {
    border: none;
    border-radius: var(--radius-md);
}

.callout.alert {
    background: var(--color-alert-light);
}

body.superfluo-formation-1 {
    --button-primary-color: var(--color-formation-1-dark);
    --button-primary-hover: var(--color-formation-1-darker);
}

body.superfluo-formation-2 {
    --button-primary-color: var(--color-formation-2-dark);
    --button-primary-hover: var(--color-formation-2-darker);
}

body.superfluo-formation-3 {
    --button-primary-color: var(--color-formation-3-dark);
    --button-primary-hover: var(--color-formation-3-darker);
}

/* Standard formation buttons */
body[class*="superfluo-formation-"]
    .button:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray),
body[class*="superfluo-formation-"]
    button.button:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray),
body[class*="superfluo-formation-"]
    .button.primary:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray),
body[class*="superfluo-formation-"]
    button.button.primary:not(.clear):not(.secondary):not(.success):not(
        .alert
    ):not(.warning):not(.white):not(.gray):not(.light-gray) {
    background-color: var(--button-primary-color);
    color: var(--color-white);
}

/* Standard formation buttons: hover and focus */
body[class*="superfluo-formation-"]
    .button:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):hover,
body[class*="superfluo-formation-"]
    .button:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):focus,
body[class*="superfluo-formation-"]
    button.button:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):hover,
body[class*="superfluo-formation-"]
    button.button:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):focus,
body[class*="superfluo-formation-"]
    .button.primary:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):hover,
body[class*="superfluo-formation-"]
    .button.primary:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):focus,
body[class*="superfluo-formation-"]
    button.button.primary:not(.clear):not(.secondary):not(.success):not(
        .alert
    ):not(.warning):not(.white):not(.gray):not(.light-gray):hover,
body[class*="superfluo-formation-"]
    button.button.primary:not(.clear):not(.secondary):not(.success):not(
        .alert
    ):not(.warning):not(.white):not(.gray):not(.light-gray):focus {
    background-color: var(--button-primary-hover);
    color: var(--color-white);
}

/* Hollow formation buttons */
body[class*="superfluo-formation-"]
    .button.hollow:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ),
body[class*="superfluo-formation-"]
    button.button.hollow:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white) {
    background-color: transparent;
    border-color: var(--button-primary-color);
    color: var(--button-primary-color);
}

body[class*="superfluo-formation-"]
    .button.hollow:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):hover,
body[class*="superfluo-formation-"]
    .button.hollow:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):focus,
body[class*="superfluo-formation-"]
    button.button.hollow:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):hover,
body[class*="superfluo-formation-"]
    button.button.hollow:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):focus {
    background-color: var(--button-primary-color);
    border-color: var(--button-primary-color);
    color: var(--color-white);
}

/* Clear formation buttons */
body[class*="superfluo-formation-"]
    .button.clear:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):not(.gray):not(.light-gray),
body[class*="superfluo-formation-"]
    button.button.clear:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray) {
    background-color: transparent;
    border-color: transparent;
    color: var(--button-primary-color);
}

body.superfluo-invert-colors[class*="superfluo-formation-"]
    .button.clear:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):not(.gray):not(.light-gray) {
    border-color: transparent;
}

body.superfluo-invert-colors .button.clear,
body.superfluo-invert-colors
    [class*="superfluo-multimedia-formation-"]
    .button.clear:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):not(.gray):not(.light-gray) {
    border-color: transparent !important;
}


body[class*="superfluo-formation-"]
    .button.clear:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):not(.gray):not(.light-gray):hover,
body[class*="superfluo-formation-"]
    .button.clear:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):not(.gray):not(.light-gray):focus,
body[class*="superfluo-formation-"]
    button.button.clear:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):hover,
body[class*="superfluo-formation-"]
    button.button.clear:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):focus {
    background-color: transparent;
    border-color: transparent;
    color: var(--button-primary-hover);
}

/* Dropdown arrow follows current text color */
body[class*="superfluo-formation-"] .button.dropdown::after,
body[class*="superfluo-formation-"] button.button.dropdown::after {
    border-top-color: currentColor;
}

.superfluo-multimedia-formation-1 {
    --button-multimedia-primary-color: var(--color-formation-1-dark);
    --button-multimedia-primary-hover: var(--color-formation-1-darker);
}

.superfluo-multimedia-formation-2 {
    --button-multimedia-primary-color: var(--color-formation-2-dark);
    --button-multimedia-primary-hover: var(--color-formation-2-darker);
}

.superfluo-multimedia-formation-3 {
    --button-multimedia-primary-color: var(--color-formation-3-dark);
    --button-multimedia-primary-hover: var(--color-formation-3-darker);
}

/* Standard formation buttons */
[class*="superfluo-multimedia-formation-"]
    .button:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray),
[class*="superfluo-multimedia-formation-"]
    button.button:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray),
[class*="superfluo-multimedia-formation-"]
    .button.primary:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray),
[class*="superfluo-multimedia-formation-"]
    button.button.primary:not(.clear):not(.secondary):not(.success):not(
        .alert
    ):not(.warning):not(.white):not(.gray):not(.light-gray) {
    background-color: var(--button-multimedia-primary-color);
    color: var(--color-white);
}

/* Standard formation buttons: hover and focus */
[class*="superfluo-multimedia-formation-"]
    .button:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):hover,
[class*="superfluo-multimedia-formation-"]
    .button:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):focus,
[class*="superfluo-multimedia-formation-"]
    button.button:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):hover,
[class*="superfluo-multimedia-formation-"]
    button.button:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):focus,
[class*="superfluo-multimedia-formation-"]
    .button.primary:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):hover,
[class*="superfluo-multimedia-formation-"]
    .button.primary:not(.clear):not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):focus,
[class*="superfluo-multimedia-formation-"]
    button.button.primary:not(.clear):not(.secondary):not(.success):not(
        .alert
    ):not(.warning):not(.white):not(.gray):not(.light-gray):hover,
[class*="superfluo-multimedia-formation-"]
    button.button.primary:not(.clear):not(.secondary):not(.success):not(
        .alert
    ):not(.warning):not(.white):not(.gray):not(.light-gray):focus {
    background-color: var(--button-multimedia-primary-hover);
    color: var(--color-white);
}

/* Hollow formation buttons */
[class*="superfluo-multimedia-formation-"]
    .button.hollow:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ),
[class*="superfluo-multimedia-formation-"]
    button.button.hollow:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white) {
    background-color: transparent;
    border-color: var(--button-multimedia-primary-color);
    color: var(--button-multimedia-primary-color);
}

[class*="superfluo-multimedia-formation-"]
    .button.hollow:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):hover,
[class*="superfluo-multimedia-formation-"]
    .button.hollow:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):focus,
[class*="superfluo-multimedia-formation-"]
    button.button.hollow:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):hover,
[class*="superfluo-multimedia-formation-"]
    button.button.hollow:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):focus {
    background-color: var(--button-multimedia-primary-color);
    border-color: var(--button-multimedia-primary-color);
    color: var(--color-white);
}

/* Clear formation buttons */
[class*="superfluo-multimedia-formation-"]
    .button.clear:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):not(.gray):not(.light-gray),
[class*="superfluo-multimedia-formation-"]
    button.button.clear:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray) {
    background-color: transparent;
    border-color: transparent;
    color: var(--button-multimedia-primary-color);
}

[class*="superfluo-multimedia-formation-"]
    .button.clear:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):not(.gray):not(.light-gray):hover,
[class*="superfluo-multimedia-formation-"]
    .button.clear:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):not(.gray):not(.light-gray):focus,
[class*="superfluo-multimedia-formation-"]
    button.button.clear:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):hover,
[class*="superfluo-multimedia-formation-"]
    button.button.clear:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray):focus {
    background-color: transparent;
    border-color: transparent;
    color: var(--button-multimedia-primary-hover);
}

/* Dropdown arrow follows current text color */
[class*="superfluo-multimedia-formation-"] .button.dropdown::after,
[class*="superfluo-multimedia-formation-"] button.button.dropdown::after {
    border-top-color: currentColor;
}

/* Formation controls in dark mode */
body.superfluo-invert-colors .fieldset legend,
body.superfluo-invert-colors .fieldset .fieldset legend,
body.superfluo-invert-colors .fieldset .fieldset .fieldset legend {
    color: var(--formation-color-light, var(--color-primary-light));
}

body.superfluo-invert-colors[class*="superfluo-formation-"]
    .button.hollow:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ),
body.superfluo-invert-colors[class*="superfluo-formation-"]
    button.button.hollow:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white),
body.superfluo-invert-colors[class*="superfluo-formation-"]
    .button.clear:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):not(.gray):not(.light-gray),
body.superfluo-invert-colors[class*="superfluo-formation-"]
    button.button.clear:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray) {
    border-color: currentColor;
    color: var(--formation-color-light, var(--color-primary-light));
    background-color: transparent;
}

body.superfluo-invert-colors
    [class*="superfluo-multimedia-formation-"]
    .button.hollow:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ),
body.superfluo-invert-colors
    [class*="superfluo-multimedia-formation-"]
    button.button.hollow:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white),
body.superfluo-invert-colors
    [class*="superfluo-multimedia-formation-"]
    .button.clear:not(.secondary):not(.success):not(.alert):not(.warning):not(
        .white
    ):not(.gray):not(.light-gray),
body.superfluo-invert-colors
    [class*="superfluo-multimedia-formation-"]
    button.button.clear:not(.secondary):not(.success):not(.alert):not(
        .warning
    ):not(.white):not(.gray):not(.light-gray) {
    border-color: currentColor;
    color: var(--multimedia-formation-color-light, var(--color-primary-light));
    background-color: transparent;
}

body.superfluo-invert-colors {
    --fc-page-bg-color:
        var(--formation-color-dark, var(--color-primary-dark));
}
