@charset "UTF-8";

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

body {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 480;
    font-style: normal;
    background: var(--color-page-bg);
}
body.superfluo-formation-1 {
    --formation-color: var(--color-formation-1);
    --formation-color-dark: var(--color-formation-1-dark);
    --formation-color-light: var(--color-formation-1-light);
    --formation-pattern: url("/images/pattern-formation-1.svg");
}

body.superfluo-formation-2 {
    --formation-color: var(--color-formation-2);
    --formation-color-dark: var(--color-formation-2-dark);
    --formation-color-light: var(--color-formation-2-light);
    --formation-pattern: url("/images/pattern-formation-2.svg");
}

body.superfluo-formation-3 {
    --formation-color: var(--color-formation-3);
    --formation-color-dark: var(--color-formation-3-dark);
    --formation-color-light: var(--color-formation-3-light);
    --formation-pattern: url("/images/pattern-formation-3.svg");
}

body.superfluo-formation-4 {
    --formation-color: var(--color-formation-4);
    --formation-color-dark: var(--color-formation-4-dark);
    --formation-color-light: var(--color-formation-4-light);
    --formation-pattern: url("/images/pattern-formation-4.svg");
}

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: 700;
}

body[class*="superfluo-formation-"] main a {
    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-color-dark);
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 0.5em;
    color: var(--color-title);
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.04em;
    text-wrap: balance;
}

h1 {
    font-size: 2.75rem;
    margin-top: 0.5em;
    margin-bottom: 0.75em;
}
h2 {
    font-size: 2.125rem;
}
h3 {
    font-size: 1.75rem;
}
h4 {
    font-size: 1.5rem;
    font-weight: 600;
}
h5 {
    font-size: 1.25rem;
    font-weight: 600;
}
h6 {
    font-size: 1.125rem;
    font-weight: 600;
}

/* Subtitle */
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
    display: block;
    margin-top: 0.5rem;
    color: var(--formation-color-dark, var(--color-primary));
    font-size: 0.625em;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-style: italic;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.4;
    text-transform: uppercase;
}

h1 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 {
    color: var(--formation-color-light, var(--color-white));
}

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

/* 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-primary);
    padding: 0;
    font-size: 2em !important;
}

big {
    font-style: normal;
    font-weight: 850;
    line-height: 1.1;
    font-family: "Cormorant Garamond", serif;
    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(--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: 10rem;
    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: 6rem;
    margin-top: -0.25rem;
    margin-bottom: -1rem;
}

/* Small logo */
#header-logo-small {
    display: inline-block;
    width: 4rem;
    height: auto;

    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-small {
    display: none;
}
/* Medium screens */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    #app-header.header-shadow #header-logo {
        max-width: 5rem;
        margin-top: -0.25rem;
        margin-bottom: -1rem;
    }
}


/* 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,
    #header-logo-small,
    #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-white);
    opacity: 0.35;
    transition:
        opacity 0.2s ease,
        transform 0.2s ease;
}

#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: 1rem;
    }
}

/* 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:  1.5rem;
    border: none;
    overflow: hidden;
    margin: 0;
    padding: 0.25rem 0.75rem;
    background: rgba(166, 107, 67, 0.5);
    transition: width 1s cubic-bezier(.4,2.1,.5,1), opacity 0.5s;
    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: #fff;
    font-size: 1.25em;
    height: auto;
}

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

/* Small only */
@media screen and (max-width: 39.9375em) {
    #main-search-container {
        border-radius:  1.25rem;
        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: #cccccc;
    font-size: 0.75rem;
}

#cookies a {
    color: #cccccc;
}

#cookies a:hover {
    color: var(--color-white);
}

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

footer {
    position: relative;

    padding: 4rem 0 0;

    color: var(--color-white);
    background-color: var(--color-primary);

    overflow-x: hidden;
}

footer img.footer-logo {
    width: 90%;
    max-width: 15rem;
    height: auto;
}

footer .footer-copyright {
    margin: 2rem 0 0;
    padding: 3rem 0 1rem;

    color: var(--color-white);
    background-color: var(--color-primary-dark);

    font-size: 0.9375rem;
    font-weight: 400;
}

footer .footer-copyright p:first-child {
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;

    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

footer a {
    color: var(--color-white);
}

footer a:hover {
    color: var(--color-yellow);
    text-decoration: underline;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    footer {
        padding: 3rem 0 0;
    }

    footer img.footer-logo {
        width: 90%;
        max-width: 10rem;
    }

    footer .footer-copyright {
        margin: 1rem 0 0;
        padding: 2rem 0 0.5rem;

        font-size: 0.75rem;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    footer .footer-copyright {
        padding: 2rem 0 0.75rem;
        font-size: 0.875rem;
    }
}

body[class*="superfluo-formation-"] #app-header.header-shadow,
body[class*="superfluo-formation-"] footer {
    background-color: var(--formation-color);
}

body[class*="superfluo-formation-"] footer .footer-copyright {
    background-color: var(--formation-color-dark);
}

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

#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: 0;
    background-color: var(--color-white);

    box-shadow:
        0 1px 2px rgba(24, 33, 31, 0.08),
        0 4px 12px rgba(24, 33, 31, 0.08);
}

div#info-message {
    border-top: 0.5rem solid var(--color-green);
}

div#error-message {
    border-top: 0.5rem solid var(--color-red);
}

div#info-message p,
div#error-message p {
    margin: 0;
    padding: 1.5rem 1rem;

    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
}

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

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

.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)),
        url("/images/newsletter-bg.webp");
    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: 700;
    line-height: 1.5;
    font-size: 1em;
    display: inline-block;
    margin-bottom: 0.25em;
}
/* Small only */
@media screen and (max-width: 39.9375em) {
    label {
        font-size: 0.875em;
    }
}

.superfluo-route-map {
    position: relative;
    width: 100%;
    margin: 1rem 0 3rem 0;
    aspect-ratio: 16 / 9;
    min-height: 30rem;
    background-color: var(--color-light-gray);
    border: 1px solid rgba(18, 52, 59, 0.12);
    border-radius: 0.25rem;
    box-shadow: 0 1.25rem 3rem rgba(18, 52, 59, 0.12);
    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;
}

/* 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: 0;
        box-shadow: 0 0.75rem 2rem rgba(18, 52, 59, 0.1);
    }

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

#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;
    background-color: var(--formation-color-dark, var(--color-primary-dark));
}
.off-canvas {
    bottom: 0;

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

    color: var(--formation-color-dark, var(--color-primary-dark));
    background-color: var(--formation-color-light, var(--color-page-bg));

    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-color, var(--color-primary));

    font-size: 0.875rem;
    font-weight: 700;
    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-color-dark, 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-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: 100dvh;
    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-color, var(--color-primary));
    height: 100vh;
    overflow: hidden;
}
.superfluo-main-menu-container {
    background-color: var(--color-page-bg);
    height: 100vh;
    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: 850;
    line-height: 1.1;
    font-family: "Geometr415 Blk BT", sans-serif;
    font-optical-sizing: auto;
    color: var(--formation-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: 850;
    line-height: 1.1;
    font-family: "Cormorant Garamond", serif;
    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: 400;
    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: 650;
    font-size: 1.25em;
    padding: 0.125rem 1rem 0.25rem 0;
    margin: 0rem 1rem 0.25rem 0;
}
a.main-menu-link3x {
    font-weight: 850;
    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-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: 850;
        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: 850;
        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;
    }
}


footer .superfluo-footer-accordion h4 {
    padding: 2rem 0 1rem 0;
    color: var(--color-white);
    font-weight: 850;
}

footer .superfluo-footer-accordion .menu a {
    padding: 0.25rem 1rem 0.25rem 0;
    margin: 0.25rem 0 0.25rem 0;
    font-size: 1.25em;
    color: var(--color-white);
    line-height: 1.1;
    font-family: "Cormorant Garamond", serif;
    font-weight: 600;
    position: relative;
    display: block;
}
footer .superfluo-footer-accordion .menu a:hover {
    color: var(--color-light-green);
}
footer .superfluo-footer-accordion .menu a::after {
    font-family: 'Font Awesome 5 Pro';
    content: "\f054";
    vertical-align: top;
    position: absolute;
    top: 0.125rem;
    right: 0;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    footer .superfluo-footer-accordion {
        border: 0;
        padding: 1rem 1rem 1rem 0;
        margin: 0;
    }
    footer .superfluo-footer-accordion h4 {
        margin: 0;
        padding: 0;
        font-weight: 650;
        position: relative;
    }
    footer .superfluo-footer-accordion h4:hover {
        color: var(--color-white);
        cursor: pointer;
    }
    footer .superfluo-footer-accordion h4::after {
        color: var(--color-white);
        font-family: 'Font Awesome 5 Pro';
        font-size: 1em;
        content: "\f107";
        position: absolute;
        top: 0.125rem;
        right: 0;
    }
    footer .superfluo-footer-accordion h4:hover::after {
        color: var(--color-white);
    }
    footer .superfluo-footer-accordion h4.close-icon {
        color: var(--color-white);
    }
    footer .superfluo-footer-accordion h4.close-icon::after {
        content: "\f106";
        color: var(--color-white);
    }
    footer .superfluo-footer-accordion ul {
        margin: 1rem 0 0 0;
    }
    footer .superfluo-footer-accordion .menu a {
        font-size: 1em;
    }
    footer .menu a {
        font-size: 0.875em;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    footer .row:first-child nav:first-child .superfluo-footer-accordion:first-child {
        padding-left: 0;
    }
    footer .superfluo-footer-accordion {
        padding-left: 0rem;
    }
    footer .superfluo-footer-accordion .menu a {
        font-size: 1.125em;
    }
}

.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: #fff9db;
    color: var(--color-black);
    border-radius: 0.5rem;
    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: #ffe066;
    color: #fab005;
    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: var(--color-black);
}
.superfluo-callout.alert {
    color: var(--color-black);
    background: #ffe4e1;
}
.superfluo-callout.alert .superfluo-icon-block {
    background: #fcb0b0;
    color: #990000;
}
.superfluo-callout.info {
    color: var(--color-black);
    background: #e7f5ff;
}
.superfluo-callout.info .superfluo-icon-block {
    background: #74c0fc;
    color: #228be6;
}
.superfluo-callout.important {
    color: var(--color-black);
    background: #D8FFB3;
}
.superfluo-callout.important .superfluo-icon-block {
    background: #99EA00;
    color: #18b255;
}

a.superfluo-link {
    font-size: 1.25em;
    display: block;

}
a.superfluo-link-underline {
    text-decoration: underline;
    font-size: 1.375em;
    font-weight: 700;
    display: inline-block;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    line-height: 1.1;
    font-family: "Cormorant Garamond", serif;
    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: 700;
    color: var(--formation-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: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    letter-spacing: -0.0625em;
}
a.superfluo-link small {
    font-size: 0.875em;
    font-weight: 500;
    color: var(--formation-color, var(--color-link));
    display: block;
    margin-top: 0.75rem;
    position: relative;
}
a.superfluo-link span::after {
    color: var(--formation-color, var(--color-link));
    font-family: 'Font Awesome 5 Pro';
    content: '\f061';
    font-size: 0.75em;
    text-align: right;
    font-weight: 400;
    position: absolute;
    right: 0;
    top: 0.25em;

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

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

.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 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 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 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-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;
    border-radius: 100%;
    bottom: -4rem;
    left: 1rem;
}
.superfluo-group-header .superfluo-group-image div {
    position: absolute;
    width: 40rem;
    height: 40rem;
    border: 4px solid var(--color-white);
    border-radius: 100%;
    bottom: -5rem;
    left: 0rem;
}

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


.orbit-homepage .superfluo-orbit {
    height: 100vh;
    min-height: 40rem;
}


/* 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: 600;
}
.superfluo-gradient-dashboard h5 {
    letter-spacing: 1px;
    font-weight: 400;
    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: 500;
    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%;
}

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

/* 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-light: var(--color-formation-1-light);
    --multimedia-formation-pattern: url("/images/pattern-formation-1.svg");
}

.superfluo-multimedia-formation-2 {
    --multimedia-formation-color: var(--color-formation-2);
    --multimedia-formation-color-dark: var(--color-formation-2-dark);
    --multimedia-formation-color-light: var(--color-formation-2-light);
    --multimedia-formation-pattern: url("/images/pattern-formation-2.svg");
}

.superfluo-multimedia-formation-3 {
    --multimedia-formation-color: var(--color-formation-3);
    --multimedia-formation-color-dark: var(--color-formation-3-dark);
    --multimedia-formation-color-light: var(--color-formation-3-light);
    --multimedia-formation-pattern: url("/images/pattern-formation-3.svg");
}

.superfluo-multimedia-formation-4 {
    --multimedia-formation-color: var(--color-formation-4);
    --multimedia-formation-color-dark: var(--color-formation-4-dark);
    --multimedia-formation-color-light: var(--color-formation-4-light);
    --multimedia-formation-pattern: url("/images/pattern-formation-4.svg");
}


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

/* Image */
.superfluo-square-overlay {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
}
.superfluo-square-overlay img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    border: 0;
    border-radius: 1rem;
    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;
    background-color: var(--color-white);
    background-image: none;
    box-shadow:
        0 0.25rem 0.75rem rgba(24, 33, 31, 0.05),
        0 1rem 2.5rem rgba(24, 33, 31, 0.10);
    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 h4,
[class*="superfluo-multimedia-formation-"] .superfluo-block-text h4 {
    margin: 0 0 1.25rem;
    padding: 0;
    color: var(--multimedia-formation-color, var(--color-primary));
    font-family: "Cormorant Garamond", serif;
    font-size: 1.5em;
    font-weight: 700;
    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 h4 {
    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-color-dark, var(--color-link));
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 1em;
    font-weight: 700;
    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-color-dark, 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: 400;
}

.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-color, var(--color-link-hover));
    text-decoration: none;
}

.superfluo-info-text a.superfluo-link:hover,
.superfluo-info-text a.superfluo-link:focus {
    color: var(--formation-color, 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 h4 {
        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.20;
    }
}

/* 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;
    }
}



/* Content filters */
.superfluo-content-filters {
    margin-top: 1rem;
    margin-bottom: 3eem;
    padding: 2rem;
    border: 1px solid var(--color-light-gray);
    border-left: 0.25rem solid var(--formation-color, var(--color-primary));
    border-radius: 1rem;
    background-color: var(--color-white);
}
body.superfluo-invert-colors .superfluo-content-filters {
    background-color: var(--color-primary-dark);
}

.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: 700;
}
.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-color, 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(--color-white);
}
.superfluo-content-filters-header .content-search-form-reset {
    display: inline-flex;
    gap: 0.5em;
    align-items: center;
    font-size: 0.9em;
}
.superfluo-content-filters-header .content-search-form-reset:hover,
.superfluo-content-filters-header .content-search-form-reset:focus {
    text-decoration: underline;
}

.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: 50%;
    background-color: var(--formation-color, var(--color-primary));
    color: var(--color-white);
    font-size: 0.8em;
    font-weight: 700;
    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-light-gray);
}

#search-filter-container label {
    margin-bottom: 0.65em;
    color: var(--color-title);
    font-size: 0.8em;
    font-weight: 700;
    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-light-gray);
    border-right: 0;
    border-radius: 0.5em 0 0 0.5em;
    background-color: #fff;
    color: var(--formation-color, var(--color-primary));
}

#search-filter-container .input-group-field {
    height: 3em;
    margin: 0;
    border: 1px solid var(--color-light-gray);
    border-left: 0;
    border-radius: 0 0.5em 0.5em 0;
    background-color: #fff;
    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-light-gray);
    border-radius: 0.5em;
    background-color: #fff;
    color: var(--color-title);
    font-size: 0.95em;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
}

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

.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: #fff;
    color: var(--color-title);
}

#content-sort-dropdown {
    border: 1px solid var(--color-light-gray);
    border-radius: 0.65em;
    background-color: #fff;
    box-shadow: 0 0.75em 2em rgba(0, 0, 0, 0.08);
}

#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%,
        #fff
    );
    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: transparent;
    color: var(--color-white);
}


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

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

.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: "Plus Jakarta Sans", sans-serif;
    font-size: 0.8em;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
}
.superfluo-content-topics-header p {
    margin: 0;
    color: var(--color-gray);
    font-size: 0.9em;
}
.superfluo-content-topics {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6em;
}

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

.superfluo-content-topics .filter-topic.light-gray {
    border-color: var(--color-light-gray);
    background-color: color-mix(
        in srgb,
        var(--color-light-gray) 45%,
        #fff
    );
    color: var(--color-title);
}

.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%,
        #fff
    );
    color: var(--formation-color-dark, var(--formation-color, var(--color-primary)));
    transform: translateY(-0.1em);
}

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

.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-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-color, 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-light-gray);
    border-radius: 0.5em;
    background-color: #fff;
    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;
    margin: 2.5em 0;
    padding: 1rem 1rem 0 1rem;
    border: 1px solid color-mix(
        in srgb,
        var(--formation-color, var(--color-primary)) 20%,
        var(--color-light-gray)
    );
    border-radius: 1rem;
    background-color: color-mix(
        in srgb,
        var(--formation-color, var(--color-primary)) 5%,
        #fff
    );
}

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

.superfluo-content-share h4 {
    margin: 0 0.5em 1rem 0.4em;
    color: var(--color-title);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.8em;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.2;
    text-transform: uppercase;
}

.superfluo-content-share a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5em;
    height: 2.5em;
    margin: 0;
    border: 1px solid color-mix(
        in srgb,
        var(--formation-color, var(--color-primary)) 20%,
        transparent
    );
    border-radius: 50%;
    background-color: #fff;
    color: var(--formation-color-dark, 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, var(--color-primary));
    color: #fff;
    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: #fff;
}

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

.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: #fff;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.7em;
    font-weight: 600;
    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: 0.75rem;
    }

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

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



/* 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: "Cormorant Garamond", serif;
    font-size: 3.5em;
    line-height: 1;
    opacity: 0.18;
}

blockquote p {
    position: relative;
    margin: 0;
    color: var(--formation-color-dark, var(--color-primary));
    font-family: "Cormorant Garamond", serif;
    font-size: 1.5em;
    font-weight: 500;
    line-height: 1.35;
}

blockquote cite {
    display: block;
    margin-top: 0.75em;
    color: var(--formation-color-dark, var(--color-primary));
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.875em;
    font-style: italic;
    font-weight: 500;
    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));
}


/* Formation context */
.superfluo-formation-context {
    position: relative;
    isolation: isolate;
    margin: 4rem 0;
    padding: 3rem;
    border-top: 0.25rem solid var(--formation-color);
    border-radius: 1rem;
    background-color: var(--color-white);
    box-shadow:
        0 0.25rem 0.75rem rgba(24, 33, 31, 0.05),
        0 1rem 2.5rem rgba(24, 33, 31, 0.08);
    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-color-dark);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

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

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


/* Formation context blockquote */
.superfluo-formation-context blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--color-title);
    font-family: "Cormorant Garamond", serif;
    font-size: 1.125em;
    font-weight: 600;
    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-color-dark, var(--color-primary-dark));
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.875em;
    font-style: normal;
    font-weight: 700;
    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-light-gray);
    }
}

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

    .superfluo-formation-context .cell + .cell {
        padding-top: 1.5rem;
        border-top: 1px solid var(--color-light-gray);
    }
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-formation-context {
        margin: 3rem 0;
        padding: 1.75rem 1.5rem;
    }

    .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-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 though */
.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-color-dark, var(--primary-color-dark));
    font-size: 0.75em;
    font-weight: 700;
    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: 52rem;
    margin: 0;
    color: var(--color-title);
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(1.65em, 2.4vw, 2.4em);
    font-weight: 600;
    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: 50%;
    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: 2rem;
    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: 50%;
    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: 50%;
    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.75em;
}
.slick-slider h3 {
    font-size: 1.375em;
}

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

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

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


/* News/Event block */

.superfluo-news-formation-1 {
    --news-formation-color: var(--color-formation-1);
    --news-formation-color-dark: var(--color-formation-1-dark);
    --news-formation-color-light: var(--color-formation-1-light);
    --news-formation-pattern: url("/images/pattern-formation-1.svg");
}

.superfluo-news-formation-2 {
    --news-formation-color: var(--color-formation-2);
    --news-formation-color-dark: var(--color-formation-2-dark);
    --news-formation-color-light: var(--color-formation-2-light);
    --news-formation-pattern: url("/images/pattern-formation-2.svg");
}

.superfluo-news-formation-3 {
    --news-formation-color: var(--color-formation-3);
    --news-formation-color-dark: var(--color-formation-3-dark);
    --news-formation-color-light: var(--color-formation-3-light);
    --news-formation-pattern: url("/images/pattern-formation-3.svg");
}

.superfluo-news-formation-4 {
    --news-formation-color: var(--color-formation-4);
    --news-formation-color-dark: var(--color-formation-4-dark);
    --news-formation-color-light: var(--color-formation-4-light);
    --news-formation-pattern: url("/images/pattern-formation-4.svg");
}

.superfluo-news-card {
    border-radius: 1rem;
    position: relative;
    display: block;
    overflow: hidden;
    background-color: var(--color-white);
    height: 100%;

    box-shadow:
        0 0.25rem 0.75rem rgba(20, 30, 24, 0.04),
        0 0.75rem 2rem rgba(20, 30, 24, 0.06);

    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:
        0 0.5rem 1rem rgba(20, 30, 24, 0.08),
        0 1.25rem 3rem rgba(20, 30, 24, 0.16);
}
.superfluo-news-card .badge {
    background: var(--news-formation-color-light);
    color: var(--news-formation-color-dark);
}

.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.80;
    pointer-events: none;
    transition: opacity 0.25s ease;
}
.superfluo-news-card:hover .superfluo-news-image::after {
    opacity: 0;
}

.superfluo-news-image.superfluo-news-image-radius {
    border: none;
    border-radius: 1rem;
}

.superfluo-news-card:hover .superfluo-news-image {
    overflow: hidden;
}
.superfluo-news-image img {
    border: none;
    position: relative;
   -webkit-transition: .2s ease-in-out;
           transition: .2s ease-in-out;
    z-index: 1;
    width: 100%;
}
.superfluo-news-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: .2s ease-in-out;
           transition: .2s ease-in-out;
}
.superfluo-image-tag {
    background: var(--news-formation-color, var(--color-primary));
    color: var(--color-white);
    font-size: 0.75em;
    font-weight: 400;
    padding: 0.5rem 1.5rem 0.625rem 1.5rem;
    text-transform: uppercase;
    position: absolute;
    top: 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-dark, var(--color-primary));
}

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

.superfluo-seal-formation-1 {
    --seal-formation: url("/images/seal-formation-1.svg");
}
.superfluo-seal-formation-2 {
    --seal-formation: url("/images/seal-formation-2.svg");
}
.superfluo-seal-formation-3 {
    --seal-formation: url("/images/seal-formation-3.svg");
}
.superfluo-seal-formation-4 {
    --seal-formation: url("/images/seal-formation-4.svg");
}

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

.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));
}

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

    [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: 0.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-news-text {
    position: relative;
    display: block;
    overflow: hidden;
    padding: 0;
    color: var(--color-text);
}

.superfluo-news-text time {
    color: var(--color-black);
    font-size: 1em;
    padding: 0;
    margin: 1rem 0 1rem 0;
    font-weight: 600;
    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 h4 {
    margin: 1rem 0 0.375rem;
    padding: 0;
    color: var(--news-formation-color, var(--color-primary));
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.875em;
    font-weight: 650;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.superfluo-news-text h4 + 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 time {
        margin: 0.5rem 0 -0.5rem 0;
    }

    .superfluo-news-text time {
        font-size: 0.75em;
        margin: 0.75rem 0;
    }
    .superfluo-news-text h4 {
        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 h4 + 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 h4 {
        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: 400;
    font-size: 1em;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .superfluo-text-container h2 {
        font-size: 2em;
    }
    .superfluo-text-container p {
        font-weight: 400;
        font-size: 0.875em;
    }
}

.superfluo-edit-trigger,
.superfluo-toogle-trigger {
    position: absolute;
    right: 0.25rem;
    top: 0.25rem;
    left: auto;
    display: none;
    z-index: 2;
}
.superfluo-edit-trigger + .superfluo-toogle-trigger {
    right: 3rem;
}
.superfluo-trigger-visible {
    display: inline-block;
}
.superfluo-edit-trigger + .superfluo-toogle-trigger {
    right: 3rem;
}
.superfluo-edit-trigger + .superfluo-toogle-trigger.superfluo-trigger-visible {
    right: 0;
    z-index: 1;
}
.superfluo-toogle-trigger.superfluo-trigger-visible {
    display: inline-block;
    background: var(--color-light-gray);
    border-radius: 1rem;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    left: -1rem;
    text-align: right;
}
.superfluo-toogle-trigger.superfluo-trigger-visible::before {
    content: attr(data-label);
    color: var(--color-black);
    font-style: normal;
    font-weight: 750;
    line-height: 1;
    font-family: "Cormorant Garamond", serif;
    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: 1rem;
    background-color: var(--color-white);
    box-shadow:
        0 0.25rem 0.75rem rgba(24, 33, 31, 0.06),
        0 1rem 2.5rem rgba(24, 33, 31, 0.10);
    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: 0.25rem solid var(--formation-color-light, var(--color-primary-light));
    background-color: var(--formation-color, var(--color-primary));
}

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

.superfluo-video-label {
    display: block;
    margin-bottom: 0.375rem;
    color: var(--formation-color-dark, var(--color-primary));
    font-size: 0.6875em;
    font-weight: 700;
    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: 0.75rem;
    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-gray);
    font-size: 0.8125em;
    font-style: italic;
    line-height: 1.5;
}
body.superfluo-invert-colors .superfluo-video figcaption {
    color: var(--color-white);
}

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

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

    .superfluo-video-embed {
        border-radius: 0.5rem;
    }

    .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-white);
    border: 0;
    border-radius: 0.125rem;

    box-shadow:
        0 0.25rem 0.75rem rgba(24, 33, 31, 0.10),
        0 1rem 2rem rgba(24, 33, 31, 0.12);

    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:
        0 0.5rem 1rem rgba(24, 33, 31, 0.12),
        0 1.5rem 3rem rgba(24, 33, 31, 0.22);
}

.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 .625rem;
    font-weight: 600;
    background-color: var(--color-white);
    font-size:1.125em
}
table.superfluo-admin-table tbody td,
table.superfluo-admin-table tbody th {
    padding: 1rem .625rem;
    font-weight:400;
}
table.superfluo-admin-table tbody tr:nth-child(even){
    border-bottom: 1px solid var(--color-light-green);
    background-color: var(--color-white)
}
table.superfluo-admin-table.hover thead tr:hover{background-color: var(--color-light-gray) !important}
table.superfluo-admin-table.hover tfoot tr:hover{background-color: var(--color-light-gray) !important}
table.superfluo-admin-table.hover tbody tr:hover{background-color: var(--color-light-gray) !important}
table.superfluo-admin-table tr { border-bottom: 1px solid var(--color-light-green)}


/* 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 {
    background: var(--color-dark-gray) !important;
}

body.superfluo-invert-colors main,
body.superfluo-invert-colors main h1,
body.superfluo-invert-colors main h2,
body.superfluo-invert-colors main h3,
body.superfluo-invert-colors main h4,
body.superfluo-invert-colors main h5,
body.superfluo-invert-colors main h6,
body.superfluo-invert-colors main div,
body.superfluo-invert-colors main p,
body.superfluo-invert-colors main li {
    color: var(--color-white) !important;
}
body.superfluo-invert-colors main {
    color: var(--color-white) !important;
    background: var(--color-black) !important;
}

body.superfluo-invert-colors main a:not(.button) {
    color: var(--formation-color-light, var(--color-primary-light)) !important;
}
body.superfluo-invert-colors main a:hover:not(.button) {
    color: var(--formation-color, var(--color-primary)) !important;
}

body.superfluo-invert-colors .superfluo-block-text,
body.superfluo-invert-colors [class*="superfluo-multimedia-formation-"] .superfluo-block-text,
body.superfluo-invert-colors .superfluo-formation-context {
    background: var(--color-dark-gray) !important;
}

body.superfluo-invert-colors .superfluo-square-overlay {
    background-color: transparent !important;
    background-size: contain !important;
}

body.superfluo-invert-colors .superfluo-orbit {
    background-color: rgba(0, 0, 0, 0.8);
}

/* Small only */
body.superfluo-invert-colors .superfluo-gradient-highlight { /* Carousel highlight */

}

body.superfluo-invert-colors .superfluo-gradient-dashboard {
    background-color: var(--color-dark-gray);
}

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

}

/* forms */
body.superfluo-invert-colors label {
    color: var(--color-white) !important;
}

body.superfluo-invert-colors [type="color"],
body.superfluo-invert-colors [type="date"],
body.superfluo-invert-colors [type="datetime-local"],
body.superfluo-invert-colors [type="datetime"],
body.superfluo-invert-colors [type="email"],
body.superfluo-invert-colors [type="month"],
body.superfluo-invert-colors [type="number"],
body.superfluo-invert-colors [type="password"],
body.superfluo-invert-colors [type="search"],
body.superfluo-invert-colors [type="tel"],
body.superfluo-invert-colors [type="text"],
body.superfluo-invert-colors [type="time"],
body.superfluo-invert-colors [type="url"],
body.superfluo-invert-colors [type="week"],
body.superfluo-invert-colors select,
body.superfluo-invert-colors input,
body.superfluo-invert-colors textarea {
    color: var(--color-white) !important;
    background: var(--color-black) !important;
}

body.superfluo-invert-colors time {
    color: var(--color-light-gray) !important;
}

body.superfluo-invert-colors table,
body.superfluo-invert-colors tr,
body.superfluo-invert-colors th,
body.superfluo-invert-colors td,
body.superfluo-invert-colors tbody tr,
body.superfluo-invert-colors tbody tr:nth-child(2n),
body.superfluo-invert-colors tbody,
body.superfluo-invert-colors tfoot,
body.superfluo-invert-colors thead {
    background: transparent !important;
}

body.superfluo-invert-colors .reveal,
body.superfluo-invert-colors .fieldset {
    color: var(--color-white);
}

body.superfluo-invert-colors .superfluo-callout span,
body.superfluo-invert-colors .superfluo-callout p {
    color: var(--color-black) !important;
}


body.superfluo-invert-colors .superfluo-news-card {
    background: var(--news-formation-color, var(--color-primary));
}

/**
 * Foundation for Sites
 */

.grid-container{
    max-width:100rem;
}

.reveal {
    border-radius: 1.5rem;
    padding: 2rem;
    box-shadow: 0px 3px 6px #00000029;
    border: 1px solid #D8D8D8;
}

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

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

button,
.button,
.button-group .button {
    font-size: 1em;
    font-weight: 600;
}
.button-group .button {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
}

.pagination li,
.pagination a,
.button-group.small .button {
    border-radius: 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: var(--color-light-gray) !important;
    color: var(--color-light-gray) !important;
}
.button.clear.light-gray:hover {
    border-color: transparent !important;
    color: var(--color-gray) !important;
}
.button.clear.light-gray {
    border-color: transparent !important;
}

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

.switch.switch-delete input:checked~.switch-paddle {
    background:#990000
}

.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-light-green);
    border-radius: 2rem;
}

.dropdown-pane {
    border-radius: 1rem;
    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: 850;
    line-height: 1.1;
    font-family: "Cormorant Garamond", serif;
    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: 1rem;
    border-top-right-radius: 1rem;
}
main .tabs-content {
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
}

.tabs-title > a {
    font-size: 1em;
    font-weight: 850;
    line-height: 1.1;
    font-family: "Cormorant Garamond", serif;
    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: 2rem;
    overflow: hidden;
}
/* Small only */
@media screen and (max-width: 39.9375em) {
    .orbit-border {
        border-radius: 1rem;
    }
}

.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: 50%;
    border: 1px solid var(--color-white);
    background-color: var(--color-white);
    cursor: pointer;
}
.orbit-bullets button:hover {
    background-color: var(--color-white);
    border: 1px solid var(--color-link);
}
.orbit-bullets button.is-active {
    background-color: var(--color-link);
    border: 1px solid var(--color-link);
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .orbit-bullets {
        bottom: 0.25rem;
        left: 0.5rem;
    }
    .orbit-bullets.orbit-bullets-right {
        left: auto;
        right: 0.25rem;
    }
    .orbit-bullets button {
        width: 0.75rem;
        height: 0.75rem;
        margin: 0.25rem 0.25rem 0 0;
    }
}

.orbit-caption-grid {
    position: absolute;
    top: 2rem;
    right: 2rem;
    bottom: 0;
    left: 2rem;
    z-index: 1;
    overflow: hidden;
}

.orbit-caption-grid .grid-container {
    height: 100%;
}
.orbit-caption-grid .grid-container .grid-x {
    height: 100%;
}

.orbit-caption-grid h2 {
    color: var(--color-white);
    font-size: 4em;
}
.orbit-caption-grid p {
    color: var(--color-white);
    font-weight: 400;
    font-size: 1.5em;
}

.orbit-caption-grid p .button {
    font-size: 0.875em;
}

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

/* Small only */
@media screen and (max-width: 39.9375em) {
    .orbit-caption-grid {
        top: 1rem;
        right: 1rem;
        left: 1rem;
    }
    .orbit-caption-grid h2 {
        font-size: 2em;
    }
    .orbit-caption-grid p {
        font-weight: 400;
        font-size: 1em;
    }
}


.rounded {
    border-radius: 50% !important;
}
.radius {
    border-radius: 1.5em !important;
}

.fieldset {
    margin: 1.125rem 0;
    padding: 0.375rem 1rem 0.25rem 1rem;
    border: 0.125rem solid var(--color-light-green);
    background: transparent;
    border-radius: 1.5rem;
}
.fieldset.alert {
    background: #ffe4e1;
}

.fieldset .fieldset {
    margin: 1rem 0;
    padding: 0.5rem 1rem;
    border: 0.125rem solid var(--color-light-green);
}
.fieldset legend {
    line-height: 1;
    color: var(--color-primary);
    font-size: 1.5em;
    padding: 0.25em 0.5em;
    font-style: normal;
    font-weight: 700;
    line-height: 1.1;
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    letter-spacing: 0;
}
.fieldset .fieldset legend {
    font-weight: 600;
    color: var(--color-primary);
}
.fieldset .fieldset .fieldset legend {
    font-weight: 600;
    font-size: 1.25em;
    color: var(--color-primary);
}
.fieldset .trumbowyg-box {
    margin-bottom:1rem;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
    .fieldset legend {
        font-size: 1.25m;
    }
    .fieldset {
        margin: 1.125rem 0;
        padding: 0.125rem 0.5rem;
    }
}

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

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


.callout {
    border: none;
    border-radius: 1rem;
}

.callout.alert {
    background: #ffe4e1;
}


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

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

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

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

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

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

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

body[class*="superfluo-formation-"] .button.hollow:hover,
body[class*="superfluo-formation-"] .button.hollow:focus,
body[class*="superfluo-formation-"] button.button.hollow:hover,
body[class*="superfluo-formation-"] button.button.hollow: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,
body[class*="superfluo-formation-"] button.button.clear {
    background-color: transparent;
    border-color: transparent;
    color: var(--button-primary-color);
}

body[class*="superfluo-formation-"] .button.clear:hover,
body[class*="superfluo-formation-"] .button.clear:focus,
body[class*="superfluo-formation-"] button.button.clear:hover,
body[class*="superfluo-formation-"] button.button.clear: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);
    --button-multimedia-primary-hover: var(--color-formation-1-dark);
}

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

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

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


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

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

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

[class*="superfluo-multimedia-formation-"] .button.hollow:hover,
[class*="superfluo-multimedia-formation-"] .button.hollow:focus,
[class*="superfluo-multimedia-formation-"] button.button.hollow:hover,
[class*="superfluo-multimedia-formation-"] button.button.hollow: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,
[class*="superfluo-multimedia-formation-"] button.button.clear {
    background-color: transparent;
    border-color: transparent;
    color: var(--button-multimedia-primary-color);
}

[class*="superfluo-multimedia-formation-"] .button.clear:hover,
[class*="superfluo-multimedia-formation-"] .button.clear:focus,
[class*="superfluo-multimedia-formation-"] button.button.clear:hover,
[class*="superfluo-multimedia-formation-"] button.button.clear: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;
}