:where(a),
:where(button) {
    color: inherit;
}

:where(a):focus-visible,
:where(button):focus-visible {
    border-radius: 0.05rem;
    outline: 2px solid #1e90ff;
    outline-offset: 0.25rem;
}

:where(ol),
:where(ul) {
    list-style: none;
}

:where(button) {
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
}

:where(img) {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

:root {
    --color-white: 0 0% 100%;
    --white: hsl(var(--color-white));
    --color-black: 0 0% 0%;
    --black: hsl(var(--color-black));
    --color-grey: 0 0% 21%;
    --grey: hsl(var(--color-grey));
    --color-beige: 43 49% 90%;
    --beige: hsl(var(--color-beige));
    --color-yellow: 56 100% 50%;
    --yellow: hsl(var(--color-yellow));
    --grotesk: "Grotesk", "Impact", sans-serif;
    --montreal: "Montreal", sans-serif;
    --supply: "Supply", monospace;
    --noto: "Noto", sans-serif;
    --display: var(--grotesk);
    --sans-serif: var(--montreal);
    --mono: var(--supply);
    --chinese: var(--noto);
    --grid-vw: calc((100vw - var(--sidebar-width) - var(--grid-margin)) / 100);
    --ts-h1-exception-fs: 35vw;
    --ts-h1-exception-lh: calc(var(--ts-h1-exception-fs) * 0.75);
    --ts-h1-exception-ls: -0.01em;
    --ts-h1-loader-fs: 40px;
    --ts-h1-loader-lh: 0.75;
}

@font-face {
    font-display: block;
    font-family: Grotesk;
    src: local("Grotesk"), url(fonts/PPRightGrotesk-CompactBlack.woff2) format("woff2"), url(fonts/PPRightGrotesk-CompactBlack.woff) format("woff"), url(fonts/PPRightGrotesk-CompactBlack.ttf) format("truetype");
}

@font-face {
    font-display: block;
    font-family: Montreal;
    src: local("Montreal"), url(fonts/PPNeueMontreal-Regular.woff2) format("woff2"), url(fonts/PPNeueMontreal-Regular.woff) format("woff"), url(fonts/PPNeueMontreal-Regular.ttf) format("truetype");
}

@font-face {
    font-display: block;
    font-family: Supply;
    src: local("Supply"), url(fonts/PPSupplyMono-Light.woff2) format("woff2"), url(fonts/PPSupplyMono-Light.woff) format("woff"), url(fonts/PPSupplyMono-Light.ttf) format("truetype");
}

@font-face {
    font-display: block;
    font-family: Noto;
    src: local("Noto"), url(fonts/noto-sans-tc.woff2) format("woff2");
}

@media (min-width: 992px) {
    :root {
        --ts-h1-exception-fs: calc(var(--grid-vw) * 34);
        --ts-h1-exception-ls: 0;
    }
}

:root {
    --ts-h1-fs: clamp(3.7rem, 14.9vw, 10rem);
    --ts-h1-lh: clamp(2.81rem, 11.34vw, 7.6rem);
    --ts-h1-ls: -0.01em;
    --ts-h1-chinese-fs: clamp(1.5rem, 14vw, 7.5rem);
    --ts-h1-chinese-lh: clamp(3rem, 19vw, 8.5rem);
}

@media (min-width: 992px) {
    :root {
        --ts-h1-ls: 0;
    }
}

:root {
    --ts-h2-fs: clamp(3.5rem, 10vw, 7rem);
    --ts-h2-lh: clamp(3.5rem, 11vw, 7.7rem);
    --ts-h2-ls: 0.02em;
}

@media (min-width: 992px) {
    :root {
        --ts-h2-ls: 0;
    }
}

:root {
    --ts-h2-menu-mobile-fs: clamp(2.75rem, 10vw, 3.25rem);
    --ts-h2-menu-mobile-lh: 100%;
    --ts-h2-menu-mobile-ls: 0.02em;
    --ts-body-xl-fs: clamp(1.5rem, 3vw, 2.5rem);
    --ts-body-xl-lh: clamp(1.65rem, 3.3vw, 2.75rem);
    --ts-body-xl-ls: 0.02em;
    --ts-body-l-fs: clamp(0.85rem, 2vw, 0.9rem);
    --ts-body-l-lh: clamp(1.173rem, 2.76vw, 1.26rem);
    --ts-body-l-ls: 0.02em;
    --ts-body-m-fs: 0.85rem;
    --ts-body-m-lh: 1.173rem;
    --ts-body-m-ls: 0.02em;
}

@media (min-width: 992px) {
    :root {
        --ts-body-m-fs: 0.7rem;
        --ts-body-m-lh: 1.05rem;
    }
}

:root {
    --ts-body-s-fs: 0.7rem;
    --ts-body-s-lh: 0.805rem;
    --ts-body-s-ls: 0.03em;
}

@media (min-width: 992px) {
    :root {
        --ts-body-s-fs: 0.6rem;
        --ts-body-s-lh: 0.78rem;
        --ts-body-s-ls: 0.023em;
    }
}

:root {
    --ts-body-xs-fs: 0.7rem;
    --ts-body-xs-lh: 0.805rem;
    --ts-body-xs-ls: 0.03em;
}

@media (min-width: 992px) {
    :root {
        --ts-body-xs-fs: 0.5rem;
        --ts-body-xs-lh: 0.6rem;
        --ts-body-xs-ls: 0.02em;
    }
}

:root {
    --ts-number-fs: clamp(1rem, 2vw, 2rem);
    --ts-number-lh: clamp(1.1rem, 2.2vw, 2.2rem);
    --ts-number-ls: -0.02em;
}

@media (min-width: 992px) {
    :root {
        --ts-number-ls: 0.01em;
    }
}

:root {
    --ts-label-m-fs: 0.7rem;
    --ts-label-m-lh: 0.91rem;
    --ts-label-m-ls: 0;
}

@media (min-width: 992px) {
    :root {
        --ts-label-m-fs: 0.6rem;
        --ts-label-m-lh: 0.78rem;
        --ts-label-m-ls: 0.01em;
    }
}

:root {
    --ts-label-s-fs: 0.6rem;
    --ts-label-s-lh: 0.6rem;
    --ts-label-s-ls: 0;
}

@media (min-width: 992px) {
    :root {
        --ts-label-s-fs: 0.5rem;
        --ts-label-s-lh: 0.63rem;
        --ts-label-s-ls: 0.01em;
    }
}

:root {
    --ts-cta-fs: 0.6rem;
    --ts-cta-lh: 0.826rem;
    --ts-cta-ls: 0.01em;
}

@media (min-width: 992px) {
    :root {
        --ts-cta-fs: 0.6rem;
        --ts-cta-lh: 0.63rem;
    }
}

.ff-display {
    font-family: var(--display);
}

.ff-sans-serif {
    font-family: var(--sans-serif);
}

.ff-mono {
    font-family: var(--mono);
}

.ts-h1-exception {
    font-size: var(--ts-h1-exception-fs);
    line-height: var(--ts-h1-exception-lh);
}

.ts-h1-exception,
.ts-h1-loader {
    font-family: var(--display);
    letter-spacing: var(--ts-h1-exception-ls);
    text-transform: uppercase;
}

.ts-h1-loader {
    font-size: var(--ts-h1-loader-fs);
    line-height: var(--ts-h1-loader-lh);
}

.ts-h1 {
    font-family: var(--display);
    font-size: var(--ts-h1-fs);
    line-height: var(--ts-h1-lh);
    text-transform: uppercase;
}

.ts-h1,
.ts-h1-chinese {
    letter-spacing: var(--ts-h1-ls);
}

.ts-h1-chinese {
    font-family: var(--chinese);
    font-size: var(--ts-h1-chinese-fs);
    line-height: var(--ts-h1-chinese-lh);
}

.ts-h2 {
    font-size: var(--ts-h2-fs);
    letter-spacing: var(--ts-h2-ls);
    line-height: var(--ts-h2-lh);
}

.ts-body-xl {
    font-size: var(--ts-body-xl-fs);
    letter-spacing: var(--ts-body-xl-ls);
    line-height: var(--ts-body-xl-lh);
}

.ts-body-l {
    font-size: var(--ts-body-l-fs);
    letter-spacing: var(--ts-body-l-ls);
    line-height: var(--ts-body-l-lh);
}

.ts-body-m {
    font-size: var(--ts-body-m-fs);
    letter-spacing: var(--ts-body-m-ls);
    line-height: var(--ts-body-m-lh);
}

.ts-body-s {
    font-size: var(--ts-body-s-fs);
    letter-spacing: var(--ts-body-s-ls);
    line-height: var(--ts-body-s-lh);
}

.ts-body-xs {
    font-size: var(--ts-body-xs-fs);
    letter-spacing: var(--ts-body-xs-ls);
    line-height: var(--ts-body-xs-lh);
}

.ts-number {
    font-size: var(--ts-number-fs);
    letter-spacing: var(--ts-number-ls);
    line-height: var(--ts-number-lh);
}

.ts-label-m,
.ts-number {
    font-family: var(--mono);
}

.ts-label-m {
    font-size: var(--ts-label-m-fs);
    letter-spacing: var(--ts-label-m-ls);
    line-height: var(--ts-label-m-lh);
}

.ts-label-s {
    font-size: var(--ts-label-s-fs);
    letter-spacing: var(--ts-label-s-ls);
    line-height: var(--ts-label-s-lh);
}

.ts-cta,
.ts-label-s {
    font-family: var(--mono);
}

.ts-cta {
    font-size: var(--ts-cta-fs);
    letter-spacing: var(--ts-cta-ls);
    line-height: var(--ts-cta-lh);
}

:root {
    --page-width: 1440px;
    --grid-margin: 1rem;
    --grid-gap: 1rem;
    --grid-cols: 6;
}

@media (min-width: 992px) {
    :root {
        --grid-margin: 2.7rem;
        --grid-gap: 1rem;
        --grid-cols: 12;
    }
}

:root {
    --gutter: var(--grid-gap);
    --col: (100vw - var(--grid-margin) * 2 - (var(--grid-cols) - 1) * var(--grid-gap)) / var(--grid-cols);
    --cols: calc(var(--col) + var(--gutter));
}

@media (min-width: 992px) {
    :root {
        --col: (calc(100vw - var(--sidebar-width)) - var(--grid-margin) - (var(--grid-cols) - 1) * var(--grid-gap)) / var(--grid-cols);
    }
}

@media (max-width: 992px) {
    .cols-md-0 {
        width: 0;
    }

    .cols-md-1 {
        width: calc(var(--cols) * (min(var(--grid-cols), 1)) - var(--gutter));
    }

    .cols-md-2 {
        width: calc(var(--cols) * (min(var(--grid-cols), 2)) - var(--gutter));
    }

    .cols-md-3 {
        width: calc(var(--cols) * (min(var(--grid-cols), 3)) - var(--gutter));
    }

    .cols-md-4 {
        width: calc(var(--cols) * (min(var(--grid-cols), 4)) - var(--gutter));
    }

    .cols-md-5 {
        width: calc(var(--cols) * (min(var(--grid-cols), 5)) - var(--gutter));
    }

    .cols-md-6 {
        width: calc(var(--cols) * (min(var(--grid-cols), 6)) - var(--gutter));
    }
}

@media (max-width: 992px) {
    .cols-md-fullscreen {
        width: 100vw;
    }
}

@media (min-width: 992px) {
    .cols-0 {
        width: 0;
    }

    .cols-1 {
        width: calc(var(--cols) * (min(var(--grid-cols), 1)) - var(--gutter));
    }

    .cols-2 {
        width: calc(var(--cols) * (min(var(--grid-cols), 2)) - var(--gutter));
    }

    .cols-3 {
        width: calc(var(--cols) * (min(var(--grid-cols), 3)) - var(--gutter));
    }

    .cols-4 {
        width: calc(var(--cols) * (min(var(--grid-cols), 4)) - var(--gutter));
    }

    .cols-5 {
        width: calc(var(--cols) * (min(var(--grid-cols), 5)) - var(--gutter));
    }

    .cols-6 {
        width: calc(var(--cols) * (min(var(--grid-cols), 6)) - var(--gutter));
    }

    .cols-7 {
        width: calc(var(--cols) * (min(var(--grid-cols), 7)) - var(--gutter));
    }

    .cols-8 {
        width: calc(var(--cols) * (min(var(--grid-cols), 8)) - var(--gutter));
    }

    .cols-9 {
        width: calc(var(--cols) * (min(var(--grid-cols), 9)) - var(--gutter));
    }

    .cols-10 {
        width: calc(var(--cols) * (min(var(--grid-cols), 10)) - var(--gutter));
    }

    .cols-11 {
        width: calc(var(--cols) * (min(var(--grid-cols), 11)) - var(--gutter));
    }

    .cols-12 {
        width: calc(var(--cols) * (min(var(--grid-cols), 12)) - var(--gutter));
    }
}

@media (min-width: 992px) {
    .cols-fullscreen {
        width: 100vw;
    }
}

:root {
    --mt: 0px;
    --mb: 0px;
    --pt: 0px;
    --pb: 0px;
}

[class*="mt-"] {
    margin-top: var(--mt);
}

[class*="mb-"] {
    margin-bottom: var(--mb);
}

[class*="pt-"] {
    padding-top: var(--pt);
}

[class*="pb-"] {
    padding-bottom: var(--pb);
}

.mt-1 {
    --mt: 0.5rem;
}

.mt-2 {
    --mt: 1rem;
}

.mt-3 {
    --mt: 1.5rem;
}

.mt-4 {
    --mt: 2rem;
}

.mt-5 {
    --mt: 2.5rem;
}

.mt-6 {
    --mt: 3rem;
}

.mt-7 {
    --mt: 3.5rem;
}

.mt-8 {
    --mt: 4rem;
}

.mt-9 {
    --mt: 4.5rem;
}

.mt-10 {
    --mt: 5rem;
}

.mt-11 {
    --mt: 5.5rem;
}

.mt-12 {
    --mt: 6rem;
}

.mt-13 {
    --mt: 6.5rem;
}

.mt-14 {
    --mt: 7rem;
}

.mt-15 {
    --mt: 7.5rem;
}

.pt-1 {
    --pt: 0.5rem;
}

.pt-2 {
    --pt: 1rem;
}

.pt-3 {
    --pt: 1.5rem;
}

.pt-4 {
    --pt: 2rem;
}

.pt-5 {
    --pt: 2.5rem;
}

.pt-6 {
    --pt: 3rem;
}

.pt-7 {
    --pt: 3.5rem;
}

.pt-8 {
    --pt: 4rem;
}

.pt-9 {
    --pt: 4.5rem;
}

.pt-10 {
    --pt: 5rem;
}

.pt-11 {
    --pt: 5.5rem;
}

.pt-12 {
    --pt: 6rem;
}

.pt-13 {
    --pt: 6.5rem;
}

.pt-14 {
    --pt: 7rem;
}

.pt-15 {
    --pt: 7.5rem;
}

.mb-1 {
    --mb: 0.5rem;
}

.mb-2 {
    --mb: 1rem;
}

.mb-3 {
    --mb: 1.5rem;
}

.mb-4 {
    --mb: 2rem;
}

.mb-5 {
    --mb: 2.5rem;
}

.mb-6 {
    --mb: 3rem;
}

.mb-7 {
    --mb: 3.5rem;
}

.mb-8 {
    --mb: 4rem;
}

.mb-9 {
    --mb: 4.5rem;
}

.mb-10 {
    --mb: 5rem;
}

.mb-11 {
    --mb: 5.5rem;
}

.mb-12 {
    --mb: 6rem;
}

.mb-13 {
    --mb: 6.5rem;
}

.mb-14 {
    --mb: 7rem;
}

.mb-15 {
    --mb: 7.5rem;
}

.pb-1 {
    --pb: 0.5rem;
}

.pb-2 {
    --pb: 1rem;
}

.pb-3 {
    --pb: 1.5rem;
}

.pb-4 {
    --pb: 2rem;
}

.pb-5 {
    --pb: 2.5rem;
}

.pb-6 {
    --pb: 3rem;
}

.pb-7 {
    --pb: 3.5rem;
}

.pb-8 {
    --pb: 4rem;
}

.pb-9 {
    --pb: 4.5rem;
}

.pb-10 {
    --pb: 5rem;
}

.pb-11 {
    --pb: 5.5rem;
}

.pb-12 {
    --pb: 6rem;
}

.pb-13 {
    --pb: 6.5rem;
}

.pb-14 {
    --pb: 7rem;
}

.pb-15 {
    --pb: 7.5rem;
}

.fade-enter-active,
.fade-leave-active,
.fade-move {
    transition: opacity 0.5s cubic-bezier(0.55, 0, 0.1, 1);
}

.fade-enter-from,
.fade-leave-to {
    opacity: 0;
}

.fade-fast-enter-active,
.fade-fast-leave-active,
.fade-fast-move {
    transition: opacity 0.2s cubic-bezier(0.55, 0, 0.1, 1);
}

.fade-fast-enter-from,
.fade-fast-leave-to {
    opacity: 0;
}

.widget-slide-enter-active,
.widget-slide-leave-active {
    transition: all 0.6s;
}

.widget-slide-enter-from,
.widget-slide-leave-to {
    opacity: 0;
    transform: scale(1.05);
}

html {
    --page-transition-duration: 400ms;
}

.page-enter-active,
.page-enter-from,
.page-leave-active,
.page-leave-to {
    transition: opacity var(--page-transition-duration);
}

.page-enter-from,
.page-leave-to {
    opacity: 0;
}

:root {
    --br: 0.2rem;
    --ease-out: cubic-bezier(0, 0.55, 0.45, 1);
    --ease-in-out: cubic-bezier(0.85, 0, 0.15, 1);
    --theme-transition-duration: 400ms;
    --theme-transition-ease: ease-out;
    --theme-transition: var(--theme-transition-duration) var(--theme-transition-ease);
}

:where(*) {
    box-sizing: border-box;
    font-weight: var(--font-weight);
    margin: 0;
    padding: 0;
}

html {
    antialiased: true;
    overflow-x: hidden;
    --font-weight: 400;
    font-family: var(--sans-serif);
    font-size: max(20px, calc(8px + 0.83333vw));
    text-rendering: geometricPrecision;
    word-break: break-word;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;
}

body {
    --line-size: 0%;
    font-size: var(--ts-body-m-fs);
    letter-spacing: var(--ts-body-m-ls);
    line-height: var(--ts-body-m-lh);
    overflow: hidden;
    overscroll-behavior-y: none;
    --text-color: var(--theme-text-color, var(--color-black));
    --background-color: var(--theme-background-color, var(--color-white));
    background-color: hsl(var(--background-color));
    color: hsl(var(--text-color));
    transition-duration: var(--theme-transition-duration);
    transition-property: color, background-color;
    transition-timing-function: var(--theme-transition-ease);
}

body #Coi-Renew {
    display: none !important;
}

body #coiOverlay {
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    background-color: unset;
    opacity: 0;
    transition: opacity var(--theme-transition);
}

body #coiOverlay .coi-banner__page {
    background-color: hsl(var(--background-color));
}

body #coiOverlay .coi-banner__page a {
    color: hsl(var(--text-color));
}

body #coiOverlay .coi-banner__wrapper {
    background-color: hsl(var(--background-color));
    border: 1px solid hsl(var(--text-color));
    border-radius: var(--br);
    color: hsl(var(--text-color));
}

body #coiOverlay .coi-banner__summary #coi-expand div {
    border-width: medium;
    border-bottom: 2px solid hsl(var(--text-color));
    border-left: 0 solid hsl(var(--text-color));
    border-right: 2px solid hsl(var(--text-color));
    border-top: 0 solid hsl(var(--text-color));
}

body #coiOverlay .coi-banner__summary {
    background-color: hsl(var(--background-color));
}

body #coiOverlay .coi-banner__summary .coi-banner__headline {
    font-family: var(--ts-body-xl-ff);
    font-size: var(--ts-body-xl-fs);
    font-weight: 400;
    letter-spacing: var(--ts-body-xl-ls);
    line-height: var(--ts-body-xl-lh);
}

body #coiOverlay .coi-banner__summary .coi-banner__maintext {
    font-family: var(--ts-body-m-ff);
    font-size: var(--ts-body-m-fs);
    font-weight: 400;
    letter-spacing: var(--ts-body-m-ls);
    line-height: var(--ts-body-m-lh);
}

body #coiOverlay .coi-banner__summary .coi-banner__policy {
    color: hsl(var(--text-color));
    font-family: var(--mono);
    font-size: var(--ts-cta-fs);
    font-weight: 400;
    letter-spacing: var(--ts-cta-ls);
    line-height: var(--ts-cta-lh);
    position: relative;
    text-decoration: none;
}

@media (max-width: 992px) {
    body #coiOverlay .coi-banner__summary .coi-banner__policy {
        --line-size: 100%;
    }
}

body #coiOverlay .coi-banner__summary .coi-banner__policy {
    background: linear-gradient(hsla(var(--text-color)), hsla(var(--text-color))) 0 100% no-repeat;
    background-size: var(--line-size) 0.75px;
    display: inline;
    transition: background-size 0.5s;
}

body #coiOverlay .coi-banner__summary .coi-banner__policy:hover {
    --line-size: 100%;
}

body #coiOverlay .coi-banner__summary .coi-toggle-group button {
    color: hsl(var(--text-color));
    font-family: var(--mono);
    font-size: var(--ts-cta-fs);
    font-weight: 400;
    letter-spacing: var(--ts-cta-ls);
    line-height: var(--ts-cta-lh);
    position: relative;
    text-decoration: none;
}

@media (max-width: 992px) {
    body #coiOverlay .coi-banner__summary .coi-toggle-group button {
        --line-size: 100%;
    }
}

body #coiOverlay .coi-banner__summary .coi-toggle-group button {
    background: linear-gradient(hsla(var(--text-color)), hsla(var(--text-color))) 0 100% no-repeat;
    background-size: var(--line-size) 0.75px;
    display: inline;
    transition: background-size 0.5s;
}

body #coiOverlay .coi-banner__summary .coi-toggle-group button:hover {
    --line-size: 100%;
}

body #coiOverlay .coi-consent-banner__categories-wrapper {
    background-color: hsl(var(--background-color));
}

body #coiOverlay .coi-consent-banner__categories-wrapper h3 {
    color: hsl(var(--text-color));
    font-weight: 400;
}

body #coiOverlay .coi-consent-banner__categories-wrapper .ci-arrow {
    border-width: medium;
    border-bottom: 1px solid hsl(var(--text-color));
    border-left: 0 solid hsl(var(--text-color));
    border-right: 1px solid hsl(var(--text-color));
    border-top: 0 solid hsl(var(--text-color));
}

body #coiOverlay .coi-consent-banner__categories-wrapper td {
    font-weight: 400;
}

body #coiOverlay .coi-consent-banner__categories-wrapper a {
    color: hsl(var(--text-color));
}

body #coiOverlay .coi-banner__page-footer,
body #coiOverlay .coi-banner__page-footer .coi-button-group {
    background-color: hsl(var(--background-color));
}

body #coiOverlay .coi-banner__page-footer .coi-button-group button {
    font-family: var(--ts-body-s-ff);
    font-size: var(--ts-body-s-fs);
    letter-spacing: var(--ts-body-s-ls);
    line-height: var(--ts-body-s-lh);
}

@media (min-width: 992px) {
    body #coiOverlay .coi-banner__page-footer .coi-button-group button {
        font-family: var(--ts-body-m-ff);
        font-size: var(--ts-body-m-fs);
        letter-spacing: var(--ts-body-m-ls);
        line-height: var(--ts-body-m-lh);
    }
}

body #coiOverlay .coi-banner__page-footer .coi-button-group button {
    background-color: hsl(var(--background-color));
    border: 1px solid hsl(var(--text-color));
    color: hsl(var(--text-color));
    font-weight: 400;
}

body #coiOverlay .coi-banner__page-footer .coi-button-group .coi-banner__accept {
    background-color: hsl(var(--text-color));
    color: hsl(var(--background-color));
}

body #coiOverlay .coi-banner-consent-group {
    background-color: hsl(var(--background-color));
    color: hsl(var(--text-color));
    font-family: var(--ts-body-s-ff);
    font-size: var(--ts-body-s-fs);
    font-weight: 400;
    letter-spacing: var(--ts-body-s-ls);
    line-height: var(--ts-body-s-lh);
    text-decoration: none;
}

body #coiOverlay .coi-banner-consent-group .checkbox-toggle {
    background: hsl(var(--background-color));
    border: 1px solid hsl(var(--text-color));
    height: 0.9rem;
    width: 2.3rem;
}

body #coiOverlay .coi-banner-consent-group .checkbox-toggle:before {
    background: hsl(var(--text-color));
    height: 0.5rem;
    width: 0.5rem;
}

body #coiOverlay .coi-banner-consent-group input[type="checkbox"]:checked+.checkbox-toggle {
    background: hsl(var(--text-color));
}

body #coiOverlay .coi-banner-consent-group input[type="checkbox"]:checked+.checkbox-toggle:before {
    background: hsl(var(--background-color));
}

body #coiOverlay .coi-banner__footer {
    background-color: hsl(var(--background-color));
    color: hsl(var(--text-color));
}

body #coiOverlay .coi-banner__footer .coi-banner__branding {
    color: hsl(var(--text-color));
}

body #coiOverlay .coi-banner__footer .coi-banner__branding a {
    color: hsl(var(--text-color));
    font-family: var(--mono);
    font-size: var(--ts-cta-fs);
    font-weight: 400;
    letter-spacing: var(--ts-cta-ls);
    line-height: var(--ts-cta-lh);
    position: relative;
    text-decoration: none;
}

@media (max-width: 992px) {
    body #coiOverlay .coi-banner__footer .coi-banner__branding a {
        --line-size: 100%;
    }
}

body #coiOverlay .coi-banner__footer .coi-banner__branding a {
    background: linear-gradient(hsla(var(--text-color)), hsla(var(--text-color))) 0 100% no-repeat;
    background-size: var(--line-size) 0.75px;
    transition: background-size 0.5s;
}

body #coiOverlay .coi-banner__footer .coi-banner__branding a:hover {
    --line-size: 100%;
}

::-moz-selection {
    background: hsl(var(--text-color));
    color: hsl(var(--background-color));
}

::selection {
    background: hsl(var(--text-color));
    color: hsl(var(--background-color));
}

@media (min-width: 992px) {
    .mobile {
        display: none !important;
    }
}

@media (max-width: 992px) {
    .desktop {
        display: none !important;
    }
}

.image-container {
    background-position: var(--object-position);
    background-repeat: no-repeat;
    background-size: var(--object-fit);
    height: 100%;
    width: 100%;
    will-change: transform;
}

.image-container.loaded {
    background-image: none !important;
}

.image-container.loaded img {
    opacity: 1;
}

img {
    display: flex;
    height: 100%;
    -o-object-fit: var(--object-fit);
    object-fit: var(--object-fit);
    -o-object-position: var(--object-position);
    object-position: var(--object-position);
    width: 100%;
}

.nuxt-icon svg {
    height: 1em;
    margin-bottom: 0.125em;
    vertical-align: middle;
    width: 1em;
}

.nuxt-icon.nuxt-icon--fill,
.nuxt-icon.nuxt-icon--fill * {
    fill: currentColor !important;
}

.nuxt-icon.nuxt-icon--stroke,
.nuxt-icon.nuxt-icon--stroke * {
    stroke: currentColor !important;
}

.video-container {
    height: 100%;
    position: relative;
    width: 100%;
}

.video-container.is-fullscreen {
    z-index: 9999999;
}

.video {
    --ui-background-color: hsla(var(--color-grey) / 0.9);
    --ui-text-color: hsl(var(--color-beige));
    display: flex;
    height: 100%;
    position: relative;
    right: 0;
    top: 0;
    transition-duration: 0.6s;
    transition-property: width, height, top;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    width: 100%;
}

.video:hover .ui {
    opacity: 1;
}

.video .nuxt-icon {
    display: flex;
}

.video .nuxt-icon svg {
    margin-bottom: 0;
}

.ui {
    color: var(--ui-text-color);
    display: flex;
    flex-direction: column;
    inset: 0;
    justify-content: space-between;
    margin: 0.375rem;
    opacity: 0;
    position: absolute;
    transition: opacity 0.3s;
    z-index: 1;
}

.sound {
    align-self: flex-start;
    background: var(--ui-background-color);
    border-radius: 0.15rem;
    display: inline-flex;
    padding: 0.25rem;
    width: -moz-fit-content;
    width: fit-content;
}

.sound .nuxt-icon {
    transition: rotate 0.3s;
}

.fullscreen {
    align-self: flex-end;
    background: var(--ui-background-color);
    border-radius: 0.15rem;
    display: inline-flex;
    padding: 0.25rem;
    width: -moz-fit-content;
    width: fit-content;
}

.fullscreen .nuxt-icon {
    transition: rotate 0.3s;
}

.top {
    align-items: center;
    border-radius: 0.15rem;
    display: flex;
    flex: none;
    gap: 0.25rem;
    justify-content: space-between;
    overflow: hidden;
    pointer-events: none;
    position: relative;
}

.top>* {
    pointer-events: auto;
}

.middle {
    height: 100%;
}

.bottom {
    align-items: center;
    border-radius: 0.15rem;
    display: flex;
    flex: none;
    gap: 0.25rem;
    justify-content: space-between;
    overflow: hidden;
    padding: 0.25rem 0.375rem;
    pointer-events: none;
    position: relative;
}

.bottom>* {
    pointer-events: auto;
}

.title {
    margin-right: auto;
    max-width: -moz-fit-content;
    max-width: fit-content;
    overflow: hidden;
    text-overflow: ellipsis;
}

.play-pause,
.timecode,
.title {
    z-index: 2;
}

.timeline {
    bottom: 0;
    left: 0;
    pointer-events: all;
    position: absolute;
}

.scrub,
.timeline {
    height: 100%;
    width: 100%;
}

.scrub input[type="range"] {
    --progress: 0;
    align-items: center;
    -webkit-appearance: none;
    background-color: hsla(var(--color-grey) / 0.6);
    background-image: linear-gradient(hsla(var(--color-black) / 0.6), hsla(var(--color-black) / 0.6));
    background-repeat: no-repeat;
    background-size: calc(var(--progress) * 100%) 100%;
    box-shadow: none;
    cursor: pointer;
    display: flex;
    height: 100%;
    position: relative;
    width: 100%;
}

@media (min-width: 992px) {
    .scrub input[type="range"] {
        height: 100%;
    }
}

.scrub input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    background: var(--red);
    box-shadow: none;
    height: 2em;
    width: 1em;
}

@media (min-width: 992px) {
    .scrub input[type="range"]::-webkit-slider-thumb {
        height: 1.5em;
        width: 0.5em;
    }
}

.scrub input[type="range"]::-webkit-slider-runnable-track {
    -webkit-appearance: none;
    box-shadow: none;
}

.volume {
    height: 0.5rem;
    padding: 0 0.25rem;
    position: relative;
    width: 0.75rem;
}

.volume input[type="range"] {
    --progress: 0;
    -webkit-appearance: none;
    background-color: var(--white);
    background-image: linear-gradient(var(--red), var(--red));
    background-repeat: no-repeat;
    background-size: calc(var(--progress) * 100%) 100%;
    bottom: 0;
    height: 0.5em;
    position: absolute;
    transform: rotate(-90deg);
    transform-origin: left center;
    width: 4rem;
}

.volume input[type="range"]:after {
    content: "";
    height: 2em;
    position: absolute;
    width: 100%;
}

.volume input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    background: var(--red);
    box-shadow: none;
    height: 1em;
    width: 0.5em;
}

@media (min-width: 992px) {
    .volume input[type="range"]::-webkit-slider-thumb {
        height: 1.5em;
        width: 0.5em;
    }
}

.volume input[type="range"]::-webkit-slider-runnable-track {
    -webkit-appearance: none;
    box-shadow: none;
}

video {
    border-radius: var(--br);
    height: 100%;
    width: 100%;
}

.svg {
    display: inline-flex;
    flex-shrink: 0;
}

.svg svg {
    height: 100%;
    width: 100%;
    fill: var(--fill, currentColor);
}

.media {
    transition: opacity var(--theme-transition);
    will-change: transform;
}

.border-icon {
    align-items: center;
    background-color: var(--border-icon-background-color, currentColor);
    border-radius: var(--br);
    color: var(--border-icon-svg-color, var(--background-color));
    display: flex;
    flex-shrink: 0;
    height: 2rem;
    justify-content: center;
    padding: 0.2rem;
    transition: background-color var(--theme-transition);
    width: 2rem;
}

@media (min-width: 992px) {
    .border-icon {
        height: 1.35rem;
        padding: 0.15rem;
        width: 1.35rem;
    }
}

.border-icon div,
.border-icon svg {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}

.border-icon svg {
    height: 1.3em;
    width: 1.3em;
}

.border-icon .icon {
    color: var(--border-icon-svg-color, var(--white));
    font-size: 1rem;
    transition: color var(--theme-transition);
}

@media (min-width: 992px) {
    .border-icon .icon {
        font-size: 0.7rem;
    }
}

.border-icon .icon svg path {
    fill: currentColor;
}

.widget-link {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid hsla(var(--text-color) / 0.2);
    border-radius: var(--br);
    display: grid;
    gap: 0.5rem;
    padding: 0.7rem;
    position: relative;
}

.widget-link .link {
    --line-size: 0%;
    align-items: center;
    display: flex;
    gap: 0.7rem;
    position: relative;
}

.widget-link .link svg {
    transition: transform 0.2s;
}

.widget-link .link {
    width: -moz-fit-content;
    width: fit-content;
}

.widget-link .link a {
    text-decoration: none;
}

@media (max-width: 992px) {
    .widget-link .link .link-title {
        --line-size: 100%;
    }
}

.widget-link .link .link-title {
    background: linear-gradient(hsla(var(--text-color)), hsla(var(--text-color))) 0 100% no-repeat;
    background-size: var(--line-size) 0.75px;
    display: inline;
    transition: background-size 0.5s;
}

.widget-link .link:hover {
    --line-size: 100%;
}

.widget-link .link:hover svg {
    transform: scale(1.2);
}

.widget-link .link a:before {
    content: "";
    inset: 0;
    position: absolute;
}

.widget-link .content {
    display: flex;
    flex-direction: column;
}

.widget-video {
    border-radius: var(--br);
    overflow: hidden;
}

.widget-video iframe {
    left: unset;
    position: unset;
    top: unset;
    transform: unset;
    --video-height: 100%;
    width: inherit;
}

.widget-spline {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid hsla(var(--text-color) / 0.2);
    border-radius: var(--br);
    display: grid;
    gap: 0.5rem;
    position: relative;
}

.widget-image {
    align-items: center;
    border-radius: var(--br);
    display: flex;
    overflow: hidden;
}

.rich-text> :not(:first-child) {
    margin-top: 1em;
}

.rich-text .ts-label-m,
.rich-text h2 {
    opacity: 0.75;
}

.rich-text code,
.rich-text pre {
    background-color: #1e90ff;
    border-radius: 0.2em;
    color: #fff;
    display: inline;
    font-family: var(--mono);
    padding: 0.1em 0.5em;
}

.rich-text ol,
.rich-text ul {
    display: grid;
    gap: 1em;
    padding-left: 2em;
}

.rich-text ul {
    list-style: disc;
}

.rich-text ol {
    list-style: decimal-leading-zero;
}

.rich-text strong {
    --font-weight: 600;
}

.widget-text {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid hsla(var(--text-color) / 0.2);
    border-radius: var(--br);
    display: grid;
    gap: 0.5rem;
    padding: 0.7rem;
    position: relative;
}

.widget-text .text {
    align-items: flex-start;
    display: flex;
    gap: 0.7rem;
    position: relative;
}

.widget-text .text svg {
    transition: transform 0.2s;
}

.widget-text .content {
    display: flex;
    flex-direction: column;
}

.cart {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    overflow: hidden;
}

.cart .scroll-container {
    display: inline-flex;
    gap: 0.5rem;
    overflow-x: auto;
    padding: 0 0.5rem;
    position: relative;
    transition: max-height 0.5s ease-out;
    width: 100%;
}

.cart .scroll-container::-webkit-scrollbar {
    border-radius: 2rem;
    height: 3px;
}

.cart .scroll-container.isOpen {
    max-height: 0;
}

.cart .scroll-container.scroll {
    --mask-top: linear-gradient(#000, transparent 0.5rem);
    --mask-bottom: linear-gradient(#000 calc(100% - 0.5rem), transparent);
    -webkit-mask-composite: xor;
    mask-composite: xor;
    -webkit-mask-image: var(--mask-top), var(--mask-bottom);
    mask-image: var(--mask-top), var(--mask-bottom);
    transition: all 0.2s;
}

.cart .scroll-container.scroll.top {
    --mask-top: linear-gradient(transparent, transparent 0);
}

.cart .scroll-container.scroll.bottom {
    --mask-bottom: linear-gradient(#000, #000 0);
}

.cart .scroll-container::-webkit-scrollbar {
    position: absolute;
    width: 0.1rem;
}

.cart .scroll-container::-webkit-scrollbar-thumb {
    background-color: hsla(var(--text-color) / 0.2);
}

.cart .products {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid hsla(var(--text-color) / 0.2);
    border-radius: var(--br);
    padding: 0.5rem 0;
}

.cart .products .headline {
    padding: 0 0.5rem;
}

.cart .products .product {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    height: 4rem;
    position: relative;
    width: 3rem;
}

.cart .products .product .product-wrapper {
    background-color: hsl(var(--background-color));
    border: 1px solid hsla(var(--text-color) / 0.2);
    border-radius: var(--br);
    height: 3rem;
    overflow: hidden;
    transition: background-color var(--theme-transition);
    width: 3rem;
}

.cart .products .product .product-wrapper .quantity {
    padding: 0.15rem 0.25rem;
    position: absolute;
}

.cart .products .product .content {
    color: var(--text-color);
    margin: 0.15rem;
    opacity: 0.5;
}

.cart .remove-button {
    height: 1rem;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 1rem;
    z-index: 1;
}

.cart .remove-button .nuxt-icon {
    display: inline-block;
    transform: rotate(45deg);
}

.cart .checkout-button {
    align-items: center;
    background-color: hsl(var(--text-color));
    border-radius: var(--br);
    color: hsl(var(--background-color));
    display: flex;
    padding: 0.75rem;
    text-decoration: none;
    transition: color var(--theme-transition), background-color var(--theme-transition);
}

@media (min-width: 992px) {
    .cart .checkout-button {
        padding: 0.375rem 0.5rem;
    }
}

.cart .retract {
    display: flex;
    justify-content: center;
    padding-top: 0.4rem;
}

.cart .retract .retract-button {
    align-items: center;
    display: flex;
    gap: 0.25rem;
}

.widget-cart {
    display: grid;
    gap: 0.5rem;
    position: relative;
}

.widget-cart:after {
    border-radius: inherit;
    content: "";
    height: 100%;
    opacity: 0.2;
    pointer-events: none;
    position: absolute;
    width: 100%;
}

.widget-container {
    --z-index: 19;
}

@media (min-width: 992px) {
    .widget-container {
        --z-index: 210;
    }
}

.widget-container {
    position: relative;
}

@media (max-width: 992px) {
    .widget-container .widget-element {
        transform: translateY(100dvh);
    }
}

.widget-container .widget-element {
    position: fixed;
    top: 0;
    touch-action: none;
    width: calc(var(--sidebar-width) - var(--sidebar-margin) * 2);
    z-index: var(--z-index);
}

@media (min-width: 992px) {
    .widget-container .widget-element {
        bottom: auto;
        position: absolute;
        top: 0;
    }

    .widget-container .widget-element .widgets-text {
        display: none;
    }
}

.widget-container .widget-element {
    --border-icon-svg-color: hsl(var(--background-color, var(--color-white)));
    --border-icon-background-color: hsl(var(--text-color, var(--color-black)));
    color: hsl(var(--text-color));
    transition: color var(--theme-transition), fill var(--theme-transition), opacity var(--theme-transition);
}

.widget-container .widget-element .widgets-text {
    left: 0;
    position: absolute;
    top: -1.5rem;
    transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

.widget-container .widget-element .widget-mobile-scale-container {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    transform: scale(1);
}

.widget-container .widget-element .widget-mobile-scale-container .ts-cta {
    font-size: 0.5rem;
}

@media (max-width: 992px) {
    .widget-container .widget-element .widget-mobile-scale-container {
        transform-origin: top;
    }

    .widget-container .widget-element .widget-mobile-scale-container>* {
        border-radius: var(--br);
    }

    .widget-container .widget-element .widget-mobile-scale-container .widget-bg {
        background-color: hsla(var(--background-color, 0 0% 100%) / 0.5);
    }
}

.widget-bar {
    display: grid;
    gap: 0.5rem;
    padding: 0 var(--sidebar-margin);
    pointer-events: none;
    position: absolute;
    right: 0;
    top: var(--ptd-row,0);
    width: var(--sidebar-width);
    z-index: 25;
}

.widget-bar .widget-element {
    pointer-events: all;
}

@media only screen and (max-width: 768px) {
    .widget-bar {
        display: none;
    }
}

.is-transitioning {
    overflow: hidden;
    pointer-events: none;
}

.matter-canvas,
.matter-container {
    height: 100%;
    position: relative;
    width: 100%;
}

.error-page-layout,
.matter-wrapper {
    height: 100%;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.error-page-layout:not(.matter-wrapper),
.matter-wrapper:not(.matter-wrapper) {
    z-index: 2;
}

.error-page-layout .link,
.matter-wrapper .link {
    align-items: baseline;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    pointer-events: all;
    text-decoration: none;
    z-index: 99;
}

@media (min-width: 992px) {

    .error-page-layout .link,
    .matter-wrapper .link {
        gap: 1rem;
    }
}

.error-page {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    padding: 0 4rem;
    position: relative;
    text-align: center;
}

.error-page h1,
.error-page p {
    margin-bottom: 2rem;
}

.error-title {
    display: inline;
    height: -moz-fit-content;
    height: fit-content;
}

.error-title-inner {
    display: inline;
    position: relative;
}

.layout {
    display: flex;
    flex-direction: column;
    min-height: 100svh;
}

main {
    flex-grow: 1;
}

main>.backdrop {
    -webkit-backdrop-filter: blur(0);
    backdrop-filter: blur(0);
    inset: -1px;
    pointer-events: none;
    position: fixed;
    transition-duration: 0.5s;
    transition-property: background-color, -webkit-backdrop-filter;
    transition-property: background-color, backdrop-filter;
    transition-property: background-color, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: var(--ease-out);
    will-change: contents;
    z-index: 20;
}

main>.backdrop.is-active {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    pointer-events: auto;
}

.loader {
    height: 100dvh;
    left: 50%;
    position: fixed;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100vw;
    z-index: 300;
}

.loader .content {
    gap: 5px;
    height: 100dvh;
    justify-content: center;
    position: relative;
    z-index: 5;
}

.loader .content,
.loader .content .middle-line {
    align-items: center;
    display: flex;
    flex-direction: column;
}

.loader .content .middle-line {
    gap: 6px;
    height: var(--middle-line-height);
}

.loader .content .middle-line .lines {
    align-items: center;
    opacity: 0;
    position: absolute;
}

.loader .content .middle-line .lines .media {
    height: 27px;
    position: absolute;
    width: 27px;
}

.loader .content .middle-line .lines .media-left {
    left: -33px;
    top: 0;
}

.loader .content .middle-line .lines .media-right {
    right: -33px;
    top: 0;
}

.loader .content .middle-line .lines .media .icon {
    --border-icon-svg-color: hsl(var(--background-color));
}

.loader .content .third-line {
    position: relative;
}

.loader .content .trademark {
    font-size: 30px;
    position: absolute;
    right: -15px;
    top: 0;
}

:root {
    --header-height: 2.6rem;
    --sidebar-width: 100%;
    --sidebar-margin: 1rem;
}

@media (min-width: 992px) {
    :root {
        --sidebar-width: 12.5rem;
    }
}

.header {
    --border-color: hsla(var(--text-color) / 0.2);
    --fill: hsla(var(--background-color));
    height: var(--header-height);
    left: 0;
    position: fixed;
    top: -1px;
    width: 100%;
    z-index: 30;
}

@media (min-width: 992px) {
    .header {
        z-index: 20;
    }
}

.header .tm-logo {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    padding: 0 var(--grid-margin);
    position: relative;
    text-decoration: none;
    z-index: 1;
}

.header .tm-logo img {
    margin: auto;
    width: auto;
    height: 40px;
}

@media (min-width: 992px) {
    .header .tm-logo img {
        height: 55px;
    }
}

@media (max-width: 992px) {
    .header nav {
        -webkit-backdrop-filter: blur(100px);
        backdrop-filter: blur(100px);
        background: hsla(var(--background-color) / 0.1);
        display: flex;
        flex-direction: column;
        height: 100dvh;
        justify-content: space-between;
        left: 0;
        padding: var(--header-height) var(--grid-margin) 1.25rem;
        position: fixed;
        top: 0;
        transition: opacity 0.4s;
        width: 100%;
    }

    .header nav:not(.is-open) {
        opacity: 0;
        pointer-events: none;
        transition: opacity 1s;
    }

    .header nav .bottom-info {
        padding-top: 0.5rem;
        width: 100%;
    }

    .header nav .bottom-border {
        border: 1px solid var(--border-color);
        border-radius: var(--br);
        height: 1.2rem;
        -webkit-mask-image: linear-gradient(transparent 50%, #000 0);
        mask-image: linear-gradient(transparent 50%, #000 0);
        position: relative;
        width: 100%;
    }

    .header nav .bottom-byline,
    .header nav .bottom-links {
        display: flex;
        justify-content: space-between;
    }

    .header nav .bottom-links {
        padding-top: 1rem;
    }

    .header nav .bottom-links .border-icon {
        color: hsl(var(--theme-background-color));
    }
}

.header nav {
    display: flex;
    height: 100%;
}

@media (max-width: 992px) {
    .header nav .links-list {
        overflow-y: auto;
    }
}

.header nav .links-list.is-overflowing {
    -webkit-mask: linear-gradient(0deg, #0000, #000 10% 80%, #0000);
}

.header nav>.links-list>ul {
    display: flex;
    flex-direction: column;
    gap: min(2.5dvh, var(--grid-gap)) 2rem;
    height: -moz-fit-content;
    height: fit-content;
    padding: 2rem 0;
}

@media (min-width: 992px) {
    .header nav>.links-list>ul {
        flex-direction: row;
        height: 100%;
        padding: 0;
    }
}

.header nav>.links-list>ul>li {
    align-items: center;
    display: flex;
    position: relative;
}

@media (min-width: 992px) {
    .header nav>.links-list>ul>li {
        height: 100%;
    }
}

.header .menu-link {
    position: relative;
    text-decoration: none;
}

.header .menu-link:after {
    --scaleY: 0;
    background: var(--border-color);
    content: "";
    height: calc(0.6rem - 1px);
    left: 0;
    position: absolute;
    top: calc(100% + 0.95rem);
    transform: scaleY(var(--scaleY));
    transform-origin: top;
    transition: transform 0.2s;
    width: 1px;
}

@media (max-width: 992px) {
    .header .menu-link {
        font-family: var(--sans-serif);
        font-size: 30px;
        letter-spacing: var(--ts-h2-menu-mobile-ls);
        line-height: var(--ts-h2-menu-mobile-lh);
    }
}

@media (min-width: 992px) {
    .header .menu-link:hover:after {
        --scaleY: 0.5;
    }

    .header .menu-link.is-active:after,
    .header .menu-link.router-link-active:after {
        --scaleY: 1;
    }
}

.header aside {
    justify-content: space-between;
}

.header .mobile-menu-trigger,
.header aside {
    align-items: center;
    display: flex;
    height: 100%;
    padding: 0 var(--grid-gap);
}

.header .mobile-menu-trigger {
    justify-content: center;
    position: relative;
    text-decoration: underline;
    z-index: 1;
}

.header .border {
    border: 1px solid var(--border-color);
    border-radius: 0.2rem;
    height: 1.2rem;
    margin-left: var(--grid-margin);
    -webkit-mask-image: linear-gradient(#000 50%, transparent 0);
    mask-image: linear-gradient(#000 50%, transparent 0);
    pointer-events: none;
    position: absolute;
    top: 100%;
    width: calc(var(--cols) * var(--grid-cols) - var(--gutter));
}

.header .foreground {
    align-items: center;
    display: grid;
    gap: var(--grid-margin);
    grid-template-columns: auto auto;
    height: 100%;
    justify-content: space-between;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    z-index: 1;
}

@media (min-width: 992px) {
    .header .foreground {
        grid-template-columns: auto 1fr var(--sidebar-width);
    }
}

.header .blur {
    --blur-height: calc(var(--header-height) * 1.3461);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    height: var(--blur-height);
    left: 0;
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 70'%3E%3Cpath fill='url(%23a)' d='M0 52h20v18H0z'/%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M20 52h4a4 4 0 0 0-4 4z' clip-rule='evenodd'/%3E%3Cpath fill='%23000' d='M0 0h24v52H0z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='10' x2='10' y1='52' y2='70' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.188'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E"), url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 52 52'%3E%3Cpath fill='%23000' d='M-15000 0h30000v30000h-30000z'/%3E%3C/svg%3E"), url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 70'%3E%3Cpath fill='url(%23a)' d='M4 52h20v18H4z'/%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M4 52H0a4 4 0 0 1 4 4z' clip-rule='evenodd'/%3E%3Cpath fill='%23000' d='M0 0h24v52H0z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='14' x2='14' y1='52' y2='70' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.188'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 70'%3E%3Cpath fill='url(%23a)' d='M0 52h20v18H0z'/%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M20 52h4a4 4 0 0 0-4 4z' clip-rule='evenodd'/%3E%3Cpath fill='%23000' d='M0 0h24v52H0z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='10' x2='10' y1='52' y2='70' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.188'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E"), url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 52 52'%3E%3Cpath fill='%23000' d='M-15000 0h30000v30000h-30000z'/%3E%3C/svg%3E"), url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 70'%3E%3Cpath fill='url(%23a)' d='M4 52h20v18H4z'/%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M4 52H0a4 4 0 0 1 4 4z' clip-rule='evenodd'/%3E%3Cpath fill='%23000' d='M0 0h24v52H0z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='14' x2='14' y1='52' y2='70' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.188'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
    -webkit-mask-position: left, left top, right;
    mask-position: left, left top, right;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: auto, 100% var(--header-height), auto;
    mask-size: auto, 100% var(--header-height), auto;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
}

@media (min-width: 992px) {
    .header .blur {
        -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 58 70'%3E%3Cpath fill='url(%23a)' d='M0 52h54v18H0z'/%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M54 52h4a4 4 0 0 0-4 4z' clip-rule='evenodd'/%3E%3Cpath fill='%23000' d='M0 0h58v52H0z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='27' x2='27' y1='52' y2='70' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.188'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E"), url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 52 52'%3E%3Cpath fill='%23000' d='M-15000 0h30000v30000h-30000z'/%3E%3C/svg%3E"), url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 254 70'%3E%3Cpath fill='url(%23a)' d='M4 52h250v18H4z'/%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M4 52H0a4 4 0 0 1 4 4z' clip-rule='evenodd'/%3E%3Cpath fill='%23000' d='M0 0h254v52H0z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='129' x2='129' y1='52' y2='70' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.188'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 58 70'%3E%3Cpath fill='url(%23a)' d='M0 52h54v18H0z'/%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M54 52h4a4 4 0 0 0-4 4z' clip-rule='evenodd'/%3E%3Cpath fill='%23000' d='M0 0h58v52H0z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='27' x2='27' y1='52' y2='70' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.188'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E"), url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 52 52'%3E%3Cpath fill='%23000' d='M-15000 0h30000v30000h-30000z'/%3E%3C/svg%3E"), url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 254 70'%3E%3Cpath fill='url(%23a)' d='M4 52h250v18H4z'/%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M4 52H0a4 4 0 0 1 4 4z' clip-rule='evenodd'/%3E%3Cpath fill='%23000' d='M0 0h254v52H0z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='129' x2='129' y1='52' y2='70' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.188'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
    }
}

.fade-enter-active,
.fade-leave-active {
    transition: opacity 0.25s ease-in-out;
}

.fade-enter-from,
.fade-leave-to {
    opacity: 0;
}

.module-row {
    --template-columns: 1fr;
    --gap: var(--row-gap, var(--grid-gap)) var(--grid-gap);
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
    grid-template-columns: var(--template-columns);
    position: relative;
    --pl: var(--grid-margin);
    --pr: var(--grid-margin);
    padding-left: var(--pl);
    padding-right: var(--pr);
}

@media (min-width: 992px) {
    .module-row {
        display: grid;
        --pr: var(--sidebar-width);
        --template-columns: repeat(var(--cl), 1fr);
        --gap: var(--grid-gap);
    }
}

.module-row.bleed-none {
    --pl: 0;
    --pr: 0;
}

@media (min-width: 992px) {
    .module-row.bleed-none {
        --template-columns: 1fr;
    }
}

.module-row.bleed-left {
    --pr: 0;
}

@media (min-width: 992px) {
    .module-row.bleed-left {
        --template-columns: var(--left-bleed-template-columns);
    }
}

.module-row {
    margin-bottom: var(--mbm-row);
    margin-top: var(--mtm-row);
    padding-bottom: var(--pbm-row);
    padding-top: var(--ptm-row);
}

@media (min-width: 992px) {
    .module-row {
        margin-bottom: var(--mbd-row);
        margin-top: var(--mtd-row);
        padding-bottom: var(--pbd-row);
        padding-top: var(--ptd-row);
    }
}

.module-column {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 1.5rem var(--grid-gap);
    justify-content: flex-start;
}

@media (max-width: 992px) {
    .module-column.no-children {
        display: none;
    }
}

:where(.module-column) {
    width: 100%;
}

.module-text {
    position: relative;
}

@media (min-width: 992px) {
    .module-text .prefix {
        position: absolute;
        right: calc(100% + var(--grid-gap));
        white-space: nowrap;
    }
}

.module-hero-big-bang {
    --ptm: 3rem;
    display: flex;
    padding: 3rem var(--grid-margin);
    position: relative;
}

@media (min-width: 992px) {
    .module-hero-big-bang {
        padding: var(--grid-margin);
        padding-right: var(--sidebar-width);
        padding-top: 5rem;
    }
}

.module-hero-big-bang__wrapper {
    width: calc(var(--cols) * var(--grid-cols) - var(--gutter));
}

@media (max-width: 992px) {
    .module-hero-big-bang__wrapper {
        --media-mobile-margin-top: calc(max(0, var(--mt)) / 2);
        --media-mobile-margin-bottom: calc(max(0, var(--mb)) / 2);
    }
}

.module-hero-big-bang__wrapper {
    margin-bottom: var(--media-mobile-margin-bottom, var(--mb));
    margin-top: var(--media-mobile-margin-top, var(--mt));
}

.module-hero-big-bang .content {
    padding-bottom: 0;
    position: relative;
}

@media (min-width: 992px) {
    .module-hero-big-bang .content {
        padding-bottom: 5rem;
    }
}

.module-hero-big-bang .title {
    padding: 4rem 0 2rem;
}

@media (min-width: 992px) {
    .module-hero-big-bang .content {
        padding-bottom: 1rem;
    }
    .module-hero-big-bang .title {
        padding: 0;
    }
}

.module-hero-big-bang .entry {
    height: calc(var(--cols) * 6 * 1.25 - var(--gutter) * 1.25);
    opacity: 1;
    width: calc(var(--cols) * 6 - var(--gutter));
    z-index: 3;
}

@media (min-width: 992px) {
    .module-hero-big-bang .entry {
        bottom: 8.5rem;
        max-height: 750px;
        max-width: 600px;
        opacity: 0.8;
        position: absolute;
        right: 0;
        transition: opacity 0.3s ease-in-out;
    }
}

.module-hero-big-bang .entry:hover {
    opacity: 1;
}

.module-overlayed-item {
    display: flex;
    flex-direction: column;
    left: 0;
    margin-left: var(--ml);
    margin-right: var(--mr);
    pointer-events: none;
    position: absolute;
    top: 0;
    z-index: 2;
}

.module-overlayed-item .media:not(.is-seen) {
    opacity: 1;
}

.module-overlayed-item.align-v-center {
    align-self: center;
    top: auto;
}

.module-overlayed-item.align-v-bottom {
    bottom: 0;
    top: auto;
}

.module-overlayed-item.placement-right {
    left: auto;
    right: 0;
}

.module-overlayed-item[class*="placement-"] {
    --ml: var(--grid-margin);
}

@media (min-width: 992px) {
    .module-overlayed-item[class*="placement-"] {
        left: calc(var(--cols) * (min(var(--grid-cols), var(--at-position))));
    }
}

.module-overlayed-item.placement-1 {
    --at-position: 0;
}

.module-overlayed-item.placement-2 {
    --at-position: 1;
}

.module-overlayed-item.placement-3 {
    --at-position: 2;
}

.module-overlayed-item.placement-4 {
    --at-position: 3;
}

.module-overlayed-item.placement-5 {
    --at-position: 4;
}

.module-overlayed-item.placement-6 {
    --at-position: 5;
}

.module-overlayed-item.placement-7 {
    --at-position: 6;
}

.module-overlayed-item.placement-8 {
    --at-position: 7;
}

.module-overlayed-item.placement-9 {
    --at-position: 8;
}

.module-overlayed-item.placement-10 {
    --at-position: 9;
}

.module-overlayed-item.placement-11 {
    --at-position: 10;
}

.module-overlayed-item.placement-12 {
    --at-position: 11;
}

.module-overlayed-item[class*="placement-mobile-"] {
    --ml: var(--grid-margin);
}

@media (max-width: 992px) {
    .module-overlayed-item[class*="placement-mobile-"] {
        left: calc(var(--cols) * (min(var(--grid-cols), var(--at-position-mobile))));
    }
}

.module-overlayed-item.placement-mobile-1 {
    --at-position-mobile: 0;
}

.module-overlayed-item.placement-mobile-2 {
    --at-position-mobile: 1;
}

.module-overlayed-item.placement-mobile-3 {
    --at-position-mobile: 2;
}

.module-overlayed-item.placement-mobile-4 {
    --at-position-mobile: 3;
}

.module-overlayed-item.placement-mobile-5 {
    --at-position-mobile: 4;
}

.module-overlayed-item.placement-mobile-6 {
    --at-position-mobile: 5;
}

.module-overlayed-item.is-background {
    z-index: -1;
}

.module-overlayed-item.is-spline {
    pointer-events: all;
}

:where(.module-media) {
    width: 100%;
}

.module-media {
    align-self: baseline;
    display: flex;
    gap: var(--grid-gap);
    --mtd-media: -17.5rem;
    --mtm-media: -5rem;
}

.module-media.align-h-right {
    align-self: end;
}

.module-media.align-h-center {
    align-self: center;
}

.module-media {
    margin-bottom: var(--mbm-media);
    margin-top: var(--mtm-media);
    padding-bottom: var(--pbm-media);
    padding-top: var(--ptm-media);
}

@media (min-width: 992px) {
    .module-media {
        margin-bottom: var(--mbd-media);
        margin-top: var(--mtd-media);
        padding-bottom: var(--pbd-media);
        padding-top: var(--ptd-media);
    }
}

.module-carousel {
    display: flex;
    flex-direction: column-reverse;
    padding-left: var(--grid-margin);
    position: relative;
    width: 100vw;
}

.module-carousel .swiper-wrapper {
    width: 100%;
}

.module-carousel .swiper-slide {
    width: calc(var(--cols) * 5 - var(--gutter));
}

@media (min-width: 992px) {
    .module-carousel .swiper-slide {
        opacity: 0.3;
        transition: opacity 0.5s ease-in-out;
        width: calc(var(--cols) * 6 - var(--gutter));
    }
}

.module-carousel .swiper-slide {
    height: auto;
    margin-right: var(--grid-gap);
}

.module-carousel .swiper-slide-prev {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    transition-delay: 1s;
}

.module-carousel .swiper-slide-active,
.module-carousel .swiper-slide-next {
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
}

.module-carousel__controls {
    padding-right: var(--grid-margin);
}

@media (min-width: 992px) {
    .module-carousel__controls {
        padding-right: var(--sidebar-width);
    }
}

.module-carousel__controls-hidden {
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: calc(var(--grid-margin) * 3);
}

@media (min-width: 992px) {
    .module-carousel__controls-hidden {
        width: var(--sidebar-width);
    }
}

.module-carousel__controls-hidden {
    z-index: 2;
}

.module-link-list {
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 992px) {
    .module-link-list {
        gap: 1.5rem;
    }
}

.module-link-list .section-title {
    opacity: 0.75;
}

.module-link-list .list {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

@media (min-width: 992px) {
    .module-link-list .list {
        gap: 0.75rem;
    }
}

.module-link-list .link {
    align-items: baseline;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    text-decoration: none;
    transition: transform 0.2s;
}

@media (min-width: 992px) {
    .module-link-list .link {
        flex-direction: row;
        gap: 1rem;
    }
}

.module-link-list .link:hover {
    transform: translateX(0.5rem);
}

.tags {
    --tag-border-color: hsla(var(--text-color) / 0.2);
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    min-height: 1.4rem;
}

.tags .tag {
    border: 1px solid var(--tag-border-color);
    border-radius: 3px;
    pointer-events: all;
    position: relative;
    text-decoration: none;
    transition: border-color 0.2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    white-space: nowrap;
}

.tags .tag:before {
    content: "";
    inset: -0.4rem 0;
    position: absolute;
}

.tags .tag:after {
    background: var(--tag-border-color);
    border-radius: 2px;
    content: "";
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity 0.2s;
    width: 100%;
    z-index: -1;
}

.tags .tag .text {
    padding: 0.5rem 0.7rem;
}

@media (min-width: 992px) {
    .tags .tag .text {
        padding: 0.4rem 0.65rem;
    }
}

.tags .tag.is-active {
    transition: color 0.2s, background-color 0.2s;
    --tag-border-color: hsl(var(--text-color));
    background-color: var(--tag-border-color);
    color: hsl(var(--background-color));
}

@media (hover: hover) {
    .tags .tag:hover:not(.is-active) {
        --tag-border-color: hsla(var(--text-color) / 0.1);
    }

    .tags .tag:hover:after {
        opacity: 1;
    }
}

.arrow-link {
    max-width: 16rem;
    position: relative;
    --border-icon-svg-color: hsl(var(--background-color));
    --border-icon-background-color: hsl(var(--text-color));
}

.arrow-link .link {
    --line-size: 0%;
    align-items: center;
    display: flex;
    gap: 0.7rem;
    position: relative;
}

.arrow-link .link svg {
    transition: transform 0.2s;
}

.arrow-link .link {
    width: -moz-fit-content;
    width: fit-content;
}

.arrow-link .link a {
    text-decoration: none;
}

@media (max-width: 992px) {
    .arrow-link .link .link-title {
        --line-size: 100%;
    }
}

.arrow-link .link .link-title {
    background: linear-gradient(hsla(var(--text-color)), hsla(var(--text-color))) 0 100% no-repeat;
    background-size: var(--line-size) 0.75px;
    display: inline;
    transition: background-size 0.5s;
}

.arrow-link .link:hover {
    --line-size: 100%;
}

.arrow-link .link:hover svg {
    transform: scale(1.2);
}

.arrow-link .link a:before {
    content: "";
    inset: 0;
    position: absolute;
}

.arrow-link .content {
    display: flex;
    flex-direction: column;
}

.footer {
    padding: var(--header-height) 0 1.5rem;
    padding-right: 0;
    position: relative;
    width: 100%;
}

@media (max-width: 992px) {
    .footer {
        padding-bottom: 3rem;
    }
}

.footer .top {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    justify-content: space-between;
    padding-left: var(--grid-margin);
    padding-right: var(--grid-margin);
    width: 100%;
}

@media (min-width: 992px) {
    .footer .top {
        flex-direction: row;
        margin-left: auto;
        padding-right: var(--sidebar-width);
    }
}

.footer .top .media {
    position: relative;
    width: 100%;
}

.footer .top .media .img {
    bottom: 0;
    height: 7rem;
    pointer-events: none;
    position: absolute;
    right: 0;
    width: 7rem;
    z-index: 2;
}

@media (min-width: 992px) {
    .footer .top .media .img {
        bottom: -60%;
        height: 15rem;
        right: 0;
        width: 15rem;
    }
}

@media (max-width: 1399px) {
    .footer .top .media .img {
        height: 10rem;
        transform: translate(-20%, 50%);
        width: 10rem;
    }
}

.footer .top .content {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.footer .top .content .links-row {
    --border-icon-background-color: hsl(var(--text-color));
    --border-icon-svg-color: hsl(var(--background-color));
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

@media (min-width: 992px) {
    .footer .top .content .links-row {
        gap: 2.5rem;
    }
}

.footer .footer-heading {
    padding-left: var(--grid-margin);
    position: relative;
    width: 100%;
    --start: calc(100% - var(--sidebar-width));
}

@media (min-width: 992px) {
    .footer .footer-heading {
        -webkit-mask-image: linear-gradient(90deg, #000 var(--start), rgba(0, 0, 0, 0.4) calc(var(--start) + var(--sidebar-width) * 0.2), transparent 90%);
        mask-image: linear-gradient(90deg, #000 var(--start), rgba(0, 0, 0, 0.4) calc(var(--start) + var(--sidebar-width) * 0.2), transparent 90%);
    }
}

.footer .footer-heading .title-bar {
    align-items: flex-end;
    display: flex;
    white-space: pre;
}

.footer .footer-heading .title {
    padding-bottom: 4rem;
    padding-top: 2.5rem;
}

.footer .footer-heading .nuxt-icon>svg {
    height: 100%;
    margin-bottom: 0;
    vertical-align: unset;
    width: auto;
}

.footer .row {
    display: flex;
    flex-direction: column-reverse;
    gap: 3rem;
    padding-left: var(--grid-margin);
}

@media (min-width: 992px) {
    .footer .row {
        display: grid;
        gap: var(--grid-gap);
        grid-template-columns: calc(var(--cols) * 3 - var(--gutter)) auto;
    }
}

.footer .row .label {
    display: flex;
    flex-direction: row;
}

.footer .social-media-links {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-right: var(--grid-margin);
}

@media (min-width: 992px) {
    .footer .social-media-links {
        gap: 2rem;
        justify-content: flex-start;
        margin-right: 0;
    }
}

.footer .social-media-links .social-link {
    cursor: pointer;
    position: relative;
}

.footer .social-media-links .social-link:hover:after {
    --scaleY: 1;
}

.footer .social-media-links .social-link:after {
    --scaleY: 0;
    background: hsla(var(--text-color) / 0.3);
    content: "";
    height: 0.6rem;
    left: 0;
    position: absolute;
    top: calc(100% + 0.6rem);
    transform: scaleY(var(--scaleY));
    transform-origin: bottom;
    transition: transform 0.2s;
    width: 1px;
}

@media (max-width: 992px) {
    .footer .social-media-links .social-link:after {
        display: none;
    }
}

.footer .social-media-links a {
    text-decoration: none;
}

.footer .bottom {
    align-items: flex-end;
    display: grid;
    gap: var(--sidebar-margin);
    padding-left: var(--grid-margin);
    padding-right: var(--grid-margin);
    width: 100%;
}

@media (min-width: 992px) {
    .footer .bottom {
        grid-template-columns: calc(var(--cols) * 12 - var(--gutter)) 1fr;
        padding-right: 0;
    }
}

.footer .byline {
    display: none;
    gap: 0.5rem;
}

@media (min-width: 992px) {
    .footer .byline {
        display: flex;
    }
}

.footer .border {
    border: 1px solid hsla(var(--text-color) / 0.3);
    border-radius: var(--br);
    height: 1.2rem;
    -webkit-mask-image: linear-gradient(transparent 50%, #000 0);
    mask-image: linear-gradient(transparent 50%, #000 0);
    position: relative;
    width: 100%;
}

.clock-container-2 {
    align-items: center;
    display: flex;
    gap: 0.25rem;
}

.analog-clock {
    --clock-size: 11px;
    --border-width: calc(var(--clock-size) / 7.5);
    border: var(--border-width) solid;
    border-radius: 50%;
    box-sizing: content-box;
    height: var(--clock-size);
    position: relative;
    width: var(--clock-size);
}

.hand {
    align-items: flex-end;
    bottom: 50%;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    transform-origin: 50% 100%;
    width: 100%;
}

.hand:after {
    background: currentColor;
    border-radius: 20px;
    display: block;
    height: 45%;
    margin-bottom: calc(var(--border-width) / 2 * -1);
}

.hour:after {
    height: 40%;
}

.hour:after,
.minute:after,
.second:after {
    content: "";
    width: 1px;
}

.second:after {
    background: #d00;
    height: 50%;
}

.section-about {
    --cl: 1;
    --ptd-row: 5rem;
    --ptm-row: 5rem;
    --mbm-row: -3rem;
    --row-gap: 20px;
}

.home-three {
    --cl: 2;
    --row-gap: 60px;
}

.home-four {
    --cl: 1;
    --ptd-row: 7.5rem;
    --ptm-row: 5rem;
    --row-gap: 20px;
}

.home-five {
    --cl: 2;
    --ptd-row: 5rem;
    --pbd-row: 7.5rem;
    --ptm-row: 3rem;
    --row-gap: 60px;
}

.home-five .widget-bar {
    --ptd-row: 5rem;
    --pbd-row: 7.5rem;
    --ptm-row: 3rem
}

.home-six {
    --cl: 2;
    --ptm-row: 3rem;
    --row-gap: 60px;
}

.home-seven {
    --cl: 1;
    --ptd-row: 5rem;
    --row-gap: 20px;
}

.home-eight {
    --cl: 1;
    --pbd-row: 7.5rem;
    --row-gap: 20px;
}

.module-media.mt-0 {
    margin-top: 0;
}

.image.ticket-01 {
    transform: rotate(20deg);
}

.image.ticket-02 {
    transform: rotate(140deg) scale(.7);
}

.image.ticket-03 {
    transform: rotate(-100deg);
}

.image.ticket-04 {
    transform: rotate(20deg) scale(.8);
}

.header .mobile-menu-trigger {
    padding: 10px;
}

.header .mobile-menu-trigger > * {
    flex-shrink: 0;
}

.header .mobile-menu-trigger .close {
    display: none;
}

.header .mobile-menu-trigger.active .close {
    display: flex;
}

.header .mobile-menu-trigger.active .main {
    display: none;
}

@media only screen and (max-width: 768px) {
    .max-lg-hide {
        display: none;
    }
    .max-md-flex-col {
        flex-direction: column;
    }
    .culture_banner {
        position: static;
        margin: 0;
        padding: 0;
        width: 100%;
    }  
    .culture_banner > * {
        margin: 0;
        padding: 0;
        width: 100%;
    }  
    .max-md-w-full {
        width: 100%;
    }
    .global_team_img {
        padding: 0;
        margin: 0;
        width: 100%;
    }
    #pizze-slice {
        max-width: 200px;
    }
    .md-pr {
        padding-right: 1rem;
    }
    .footer .border {
        border: none;
    }
    .footer .footer-heading .title {
        padding-block: 1.5rem;
    } 
    .footer {
        padding-block: 1.4rem;
    }
    .module-row.home-one {
        padding-top: 90px;
    }
    .module-row {
        padding-block: 1.4rem;
        row-gap: 1rem;
    }
    .footer .top {
        gap: 0;
    }
    .md-mt--10 {
        margin-top: -140px;
    }
    .module-hero-big-bang .title {
        padding: 0;
    }
    .module-media.mt-0 {
        padding-top: 0;
    }
    .footer .row {
        gap: 1rem;
    }
}