html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

b,
strong {
    font-weight: bolder
}

code {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

img {
    border-style: none
}

button,
input,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: inherit;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

template {
    display: none
}

[hidden] {
    display: none
}

html {
    box-sizing: border-box;
    line-height: 1.3;
    height: 100%;
    overscroll-behavior: none
}

body {
    height: 100%;
    font-family: "Suisse Int'l", sans-serif
}

*,
*:before,
*:after {
    box-sizing: inherit;
    -webkit-tap-highlight-color: transparent
}

iframe,
img,
video,
svg {
    vertical-align: middle
}

figure {
    margin: 0
}

ul,
ol,
p,
h1,
h2,
h3,
h4,
h5,
h6,
pre {
    margin-top: 0
}

img,
svg {
    max-width: 100%;
    height: auto
}

button {
    cursor: pointer
}

@font-face {
    font-family: "Suisse Int'l";
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "Suisse Int'l";
    font-weight: 600;
    font-style: normal;
    font-display: swap
}

html {
    font-size: 16px;
    font-size: min(max(16px, 4.26666vw), 20px);
    color: var(--black)
}

@media (min-width: 768px) {
    html {
        font-size: 16px
    }
}

@media (min-width: 1024px) {
    html {
        font-size: min(max(12px, .8333333334vw), 20px)
    }
}

@media (min-width: 1366px) {
    html {
        font-size: min(max(10px, .8333333334vw), 20px)
    }
}

h1,
.h1 {
    display: block;
    font-size: 2em;
    margin-bottom: 0;
    font-weight: 700
}

h2,
.h2 {
    display: block;
    font-size: 1.5em;
    margin-bottom: 0;
    font-weight: 700
}

h3,
.h3 {
    display: block;
    font-size: 1.17em;
    margin-bottom: 0;
    font-weight: 700
}

h4,
.h4 {
    display: block;
    margin-bottom: 0;
    font-weight: 700
}

a {
    color: var(--black);
    font-weight: 600
}

::-moz-selection {
    color: var(--white);
    background: var(--black)
}

::selection {
    color: var(--white);
    background: var(--black)
}

.bg-black ::-moz-selection {
    color: var(--black);
    background: var(--white)
}

.bg-black ::selection {
    color: var(--black);
    background: var(--white)
}

.has-smoothscroll,
.has-smoothscroll body {
    overflow: hidden
}

@media (hover: hover) and (pointer: fine) {
    @supports (-webkit-hyphens: none) {

        .has-smoothscroll,
        .has-smoothscroll body {
            overflow: auto
        }
    }
}

.scroll-container {
    height: 100%;
    overflow-y: hidden;
    overflow-x: hidden;
    position: relative;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior: none
}

.smoothscroll-enabled .scroll-container {
    overflow-y: auto
}

@media (hover: hover) and (pointer: fine) {
    @supports (-webkit-hyphens: none) {
        .smoothscroll-enabled .scroll-container {
            overflow-y: hidden
        }
    }
}

.scroll-container::-webkit-scrollbar {
    width: 0;
    height: 0
}

.lenis.lenis-scrolling iframe {
    pointer-events: none
}

.smoothscroll-body {
    height: 100vh;
    overflow: hidden
}

.smoothscroll-body.smoothscroll-enabled,
.smoothscroll-body .scroll-container {
    height: auto;
    overflow: auto
}

.unseen-scrollbar {
    position: fixed;
    top: 0;
    right: 0;
    width: 20px;
    height: 100%;
    z-index: 999
}

@media (pointer: coarse) {
    .unseen-scrollbar {
        display: none
    }
}

.smoothscroll-enabled .unseen-scrollbar:hover>div,
.smoothscroll-enabled .unseen-scrollbar.show>div,
.smoothscroll-enabled .unseen-scrollbar.active>div {
    visibility: visible
}

.unseen-scrollbar.active>div>div {
    opacity: .9
}

.unseen-scrollbar>div {
    padding: 6px 0;
    width: 10px;
    height: 0;
    margin: 0 auto;
    visibility: hidden
}

.unseen-scrollbar>div>div {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    opacity: .3;
    background-color: var(--scrollbar)
}

.unseen-scrollbar>div>div:hover {
    opacity: .9
}

.marquee__item {
    display: inline-flex;
    align-items: center;
    line-height: 1
}

.marquee__item--inner {
    background: var(--black);
    color: var(--white);
    box-shadow: 2px 0 1px var(--black)
}

.marquee__icon {
    width: 1.5rem;
    height: 1.5rem;
    margin: 0 1.5rem
}

.marquee__crop {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform: translateY(101%);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1);
    overflow: hidden;
    background: var(--black)
}

.marquee__inner {
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
    width: 100%;
    transform: translateY(-101%);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1);
    background: var(--black)
}

.marquee__link:focus-visible+div .marquee__crop,
.marquee__link:hover+div .marquee__crop {
    transform: translateY(0)
}

.marquee__link:focus-visible+div .marquee__inner,
.marquee__link:hover+div .marquee__inner {
    transform: translateY(0)
}

.marquee--404 .marquee__icon {
    width: 5.5625rem;
    height: 5.4375rem;
    margin: 0 1.5rem
}

@media (min-width: 768px) {
    .marquee--404 .marquee__icon {
        width: 12.125rem;
        height: 11.8125rem;
        margin: 0 3.75rem
    }
}

@media (min-width: 1024px) {
    .marquee--404 .marquee__icon {
        width: 23.1875rem;
        height: 22.6875rem;
        margin: 0 7.5rem
    }
}

.footer__scroll-top {
    position: absolute;
    right: 0;
    transform: translateY(-100%);
    background: transparent;
    border: none;
    padding: 0
}

.footer__scroll-top__arrow {
    width: 2rem;
    height: 2rem
}

@media (min-width: 768px) {
    .footer__scroll-top__arrow {
        width: 3rem;
        height: 3rem
    }
}

.footer__scroll-top__arrow svg {
    height: .5rem;
    width: .625rem;
    transform: rotate(-90deg)
}

@media (min-width: 768px) {
    .footer__scroll-top__arrow svg {
        width: 1rem;
        height: .75rem
    }
}

.footer__logo {
    max-width: unset;
    width: 7.25rem;
    height: 2.1875rem
}

@media (min-width: 768px) {
    .footer__logo {
        width: 11.875rem;
        height: 3.6875rem
    }
}

.footer__left {
    width: 21%
}

.footer__navigation {
    width: 100%
}

@media (min-width: 1024px) {
    .footer__navigation {
        width: 47%
    }
}

.footer__partners svg:nth-of-type(1) {
    width: 3.875rem;
    height: 2.5rem
}

@media (min-width: 768px) {
    .footer__partners svg:nth-of-type(1) {
        width: 5.375rem;
        height: 3.5rem
    }
}

.footer__partners svg:nth-of-type(2) {
    width: 2.375rem;
    height: 3.0625rem
}

@media (min-width: 768px) {
    .footer__partners svg:nth-of-type(2) {
        width: 3.3125rem;
        height: 4.25rem
    }
}

.footer__partners svg:nth-of-type(3) {
    width: 3.3125rem;
    height: 3.1875rem
}

@media (min-width: 768px) {
    .footer__partners svg:nth-of-type(3) {
        width: 4.625rem;
        height: 4.4375rem
    }
}

.footer__partners svg:nth-of-type(4) {
    width: 4.25rem;
    height: 2.0625rem
}

@media (min-width: 768px) {
    .footer__partners svg:nth-of-type(4) {
        width: 6.8125rem;
        height: 2.875rem
    }
}

.footer__founders svg:nth-of-type(1) {
    width: 5.5rem;
    height: 1.125rem
}

@media (min-width: 768px) {
    .footer__founders svg:nth-of-type(1) {
        width: 8.4375rem;
        height: 1.8125rem
    }
}

.footer__founders svg:nth-of-type(2) {
    width: 4.4375rem;
    height: 2.6875rem
}

@media (min-width: 768px) {
    .footer__founders svg:nth-of-type(2) {
        width: 6.875rem;
        height: 4.125rem
    }
}

.footer__founders img {
    width: 3.75rem;
    height: auto
}

@media (min-width: 768px) {
    .footer__founders img {
        width: 6.0625rem;
        height: 7.5rem
    }
}

.footer__socials__item {
    height: 2.9375rem;
    aspect-ratio: 1/1;
    width: 2.9375rem;
    flex-grow: 1
}

@media (min-width: 768px) {
    .footer__socials__item {
        height: 100%
    }
}

.footer__socials__item a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

.footer__socials__item--fb svg {
    width: .4375rem;
    height: .875rem
}

.footer__socials__item--instagram svg {
    width: .9375rem;
    height: .9375rem
}

.footer__socials__item--tiktok svg {
    width: 1.25rem;
    height: 1.25rem
}

.footer__socials__item--threads svg {
    width: 1.125rem;
    height: 1.125rem
}

.footer__socials__item--youtube svg {
    width: 1.125rem;
    height: .875rem
}

.footer__socials__item--linkedin svg {
    width: 1.0625rem;
    height: 1rem
}

.footer__socials--42 .footer__socials__item {
    width: 2.25rem
}

@media (min-width: 768px) {
    .footer__socials--42 .footer__socials__item {
        width: 2.625rem
    }
}

.btn {
    cursor: pointer;
    border-radius: 0;
    background: transparent;
    border: none;
    padding: 0;
    display: inline-flex;
    align-items: center;
    font-size: .875rem;
    letter-spacing: -.02em;
    text-transform: uppercase;
    line-height: .7;
    color: var(--black);
    text-decoration: none;
    font-weight: 600
}

@media (min-width: 768px) {
    .btn {
        font-size: 1rem;
        letter-spacing: 0
    }
}

.btn__clip {
    position: relative;
    margin-right: .75rem;
    overflow: hidden
}

@media (min-width: 768px) {
    .btn__clip {
        margin-right: 1rem
    }
}

.btn--coming-soon {
    opacity: .3;
    pointer-events: none
}

.btn--primary {
    align-items: stretch
}

.btn--primary .btn__clip {
    position: relative;
    margin-right: .75rem;
    overflow: hidden;
    background: var(--black);
    width: 2rem;
    height: 2rem
}

@media (min-width: 768px) {
    .btn--primary .btn__clip {
        width: 2.6875rem;
        height: 2.6875rem;
        margin-right: 1rem
    }
}

@media (min-width: 1024px) {
    .btn--primary .btn__clip {
        width: 2.8125rem;
        height: 2.8125rem
    }
}

@media (min-width: 1366px) {
    .btn--primary .btn__clip {
        width: 2.6875rem;
        height: 2.6875rem
    }
}

.btn--primary .btn__clip:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 20%;
    height: 30%;
    background: var(--white);
    transform: rotate(-45deg) translate(75%);
    transform-origin: center
}

.btn__icon {
    width: 2rem;
    height: 2rem
}

@media (min-width: 768px) {
    .btn__icon {
        width: 2.6875rem;
        height: 2.6875rem
    }
}

@media (min-width: 1024px) {
    .btn__icon {
        width: 2.8125rem;
        height: 2.8125rem
    }
}

@media (min-width: 1366px) {
    .btn__icon {
        width: 2.6875rem;
        height: 2.6875rem
    }
}

.btn__arrow {
    width: .75rem;
    height: .75rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}

@media (min-width: 1024px) {
    .btn__arrow {
        width: .875rem;
        height: .875rem
    }
}

@media (min-width: 1366px) {
    .btn__arrow {
        width: .875rem;
        height: .75rem
    }
}

.btn__download {
    width: .75rem;
    height: .75rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}

@media (min-width: 768px) {
    .btn__download {
        width: .875rem;
        height: .9375rem
    }
}

@media (min-width: 1024px) {
    .btn__download {
        width: .9375rem;
        height: 1rem
    }
}

@media (min-width: 1366px) {
    .btn__download {
        width: .9375rem;
        height: 1rem
    }
}

.btn__stack {
    border-top: 1px solid var(--black);
    border-bottom: 1px solid var(--black);
    border-left: 1px solid var(--black);
    display: flex;
    align-items: center;
    letter-spacing: -.04em;
    line-height: 1.1;
    text-transform: uppercase;
    margin-right: -1px;
    font-weight: 600;
    position: relative;
    overflow: hidden
}

.btn__stack div {
    height: 100%;
    display: flex;
    align-items: center
}

.btn__stack div+div {
    position: absolute;
    width: 100%;
    transform: translateY(101%)
}

.grow-arrow {
    --color: var(--white);
    position: relative;
    height: .8em
}

.grow-arrow:before {
    content: "";
    position: absolute;
    width: calc(100% - .5rem);
    height: .25rem;
    left: 0;
    top: calc(50% - .125rem);
    background: var(--color)
}

@media (min-width: 768px) {
    .grow-arrow:before {
        width: calc(100% - 2rem);
        height: .375rem;
        left: 1rem
    }
}

@media (min-width: 1024px) {
    .grow-arrow:before {
        width: calc(100% - 2.8125rem);
        height: .625rem;
        left: 1.5rem
    }
}

.grow-arrow:after {
    content: "";
    position: absolute;
    width: 1.25rem;
    height: 1.25rem;
    right: 0;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    border-right: .25rem solid var(--color);
    border-bottom: .25rem solid var(--color)
}

@media (min-width: 768px) {
    .grow-arrow:after {
        width: 1.6875rem;
        height: 1.6875rem;
        border-right: .375rem solid var(--color);
        border-bottom: .375rem solid var(--color)
    }
}

@media (min-width: 1024px) {
    .grow-arrow:after {
        width: 3.125rem;
        height: 3.125rem;
        border-right: .625rem solid var(--color);
        border-bottom: .625rem solid var(--color);
        top: 52%
    }
}

.grow-arrow--black {
    --color: var(--black)
}

.home__video {
    position: relative
}

.home__video:after {
    content: "";
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.home__video video {
    aspect-ratio: 3/4
}

@media (min-width: 1024px) {
    .home__video video {
        aspect-ratio: 1920/1080
    }
}

@media (min-width: 1024px) {
    .home__introduction__mark {
        width: 8.125rem;
        height: 8.125rem
    }
}

.home__introduction__caption {
    height: 2.25rem
}

@media (min-width: 768px) {
    .home__introduction__caption {
        height: 3rem
    }
}

.home__introduction__scroll {
    position: absolute;
    border: none;
    left: 0;
    bottom: 0;
    border-top: 1px solid var(--black);
    border-right: 1px solid var(--black);
    width: 2rem;
    height: 2rem;
    padding: 0;
    z-index: 2
}

@media (min-width: 768px) {
    .home__introduction__scroll {
        width: 3rem;
        height: 3rem
    }
}

.home__introduction__scroll svg {
    height: .5rem;
    width: .625rem;
    transform: rotate(90deg)
}

@media (min-width: 768px) {
    .home__introduction__scroll svg {
        width: 1rem;
        height: .75rem
    }
}

.home__introduction__img {
    aspect-ratio: 375/400
}

@media (min-width: 440px) {
    .home__introduction__img {
        aspect-ratio: 768/493
    }
}

@media (min-width: 1024px) {
    .home__introduction__img {
        aspect-ratio: 637/409
    }
}

.home__exhibitions__video {
    width: 101%;
    aspect-ratio: 375/419;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width: 768px) {
    .home__exhibitions__video {
        aspect-ratio: 768/800
    }
}

@media (min-width: 1024px) {
    .home__exhibitions__video {
        aspect-ratio: 1921/800
    }
}

.home__talks__video {
    width: 100%;
    aspect-ratio: 375/400;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width: 768px) {
    .home__talks__video {
        aspect-ratio: 768/493
    }
}

@media (min-width: 1024px) {
    .home__talks__video {
        aspect-ratio: 1921/858
    }
}

@media (min-width: 1024px) {
    .home__talks__img {
        aspect-ratio: 480/520
    }
}

.home__talks__close {
    width: .875rem;
    height: .875rem
}

.home__talks__close-btn {
    padding: 0;
    border: none;
    background: transparent
}

@media (min-width: 1024px) {
    .home__talks__item {
        transform: none !important
    }
}

.home__talks__talk {
    color: var(--black);
    padding: .6875rem .75rem .5rem;
    border: none;
    width: 100%;
    text-align: left;
    font-weight: 400;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    font-size: 2rem;
    letter-spacing: -.04em
}

@media (min-width: 768px) {
    .home__talks__talk {
        padding: .875rem 1rem .625rem;
        font-size: 4rem
    }
}

@media (min-width: 1024px) {
    .home__talks__talk {
        padding: 1rem 1.5rem .75rem;
        font-size: 6rem;
        line-height: .9;
        letter-spacing: -.06em
    }
}

@media (min-width: 1366px) {
    .home__talks__talk {
        font-size: 7.5rem
    }
}

.home__talks__talk__crop {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform: translateY(101%);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1);
    overflow: hidden;
    background: var(--black)
}

.home__talks__talk__inner {
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
    width: 100%;
    transform: translateY(-101%);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1);
    background: var(--black);
    padding: .5rem .75rem .25rem
}

@media (min-width: 768px) {
    .home__talks__talk__inner {
        padding: .875rem 1rem .625rem
    }
}

@media (min-width: 1024px) {
    .home__talks__talk__inner {
        padding: 1rem 1.5rem .75rem
    }
}

@media (min-width: 1024px) {

    .home__talks__talk:hover .home__talks__talk__crop,
    .home__talks__talk[aria-selected=true] .home__talks__talk__crop,
    .home__talks__talk:hover .home__talks__talk__inner,
    .home__talks__talk[aria-selected=true] .home__talks__talk__inner {
        transform: translateY(0)
    }
}

@media (min-width: 1024px) {
    .home__talks__talk:focus-visible .home__talks__talk__crop {
        transform: translateY(0)
    }

    .home__talks__talk:focus-visible .home__talks__talk__inner {
        transform: translateY(0)
    }
}

.nav-link__arrow {
    width: 1rem;
    height: .75rem;
    transition: transform .3s cubic-bezier(.65, 0, .35, 1), opacity .3s cubic-bezier(.65, 0, .35, 1)
}

@media (min-width: 768px) {
    .nav-link__arrow {
        width: 1.375rem;
        height: 1rem
    }
}

@media (min-width: 1024px) {
    .nav-link__arrow {
        width: 1.5625rem;
        height: 1.125rem
    }
}

.nav-link__arrow--left {
    opacity: 0;
    transform: translate(-100%)
}

.nav-link__text {
    transition: transform .3s cubic-bezier(.65, 0, .35, 1)
}

.nav-link:hover .nav-link__arrow--left,
.nav-link.is-active .nav-link__arrow--left {
    transform: translate(0);
    opacity: 1
}

.nav-link:hover .nav-link__arrow--right,
.nav-link.is-active .nav-link__arrow--right {
    transform: translate(100%);
    opacity: 0
}

.nav-link:hover .nav-link__text,
.nav-link.is-active .nav-link__text {
    transform: translate(1rem)
}

@media (min-width: 768px) {

    .nav-link:hover .nav-link__text,
    .nav-link.is-active .nav-link__text {
        transform: translate(1.375rem)
    }
}

@media (min-width: 1024px) {

    .nav-link:hover .nav-link__text,
    .nav-link.is-active .nav-link__text {
        transform: translate(1.5625rem)
    }
}

.nav-link--footer {
    margin-left: -.375rem
}

@media (min-width: 1366px) {
    .nav-link--footer {
        margin-left: -.5rem
    }
}

.header {
    z-index: 100
}

.header__nav svg {
    width: 1.5rem;
    height: 1.5rem
}

.header__logo {
    width: 5.8125rem;
    height: 1.8125rem;
    max-width: unset
}

@media (min-width: 768px) {
    .header__logo {
        width: 7.75rem;
        height: 2.375rem
    }
}

@media (min-width: 1024px) {
    .header__logo {
        width: 9.6875rem;
        height: 3rem
    }
}

.header__menu-toggle {
    border: none;
    background: transparent;
    padding: 0;
    touch-action: manipulation
}

.header__menu-toggle span {
    display: block;
    width: 1.5rem;
    height: 1.5rem
}

@media (min-width: 768px) {
    .header__menu-toggle span {
        width: 2rem;
        height: 2rem
    }
}

.header__menu-toggle svg {
    width: 100%;
    height: 100%
}

.header__search {
    border: none;
    background: transparent;
    padding: 0;
    height: 100%
}

.header .country-select {
    height: 100%
}

.header__search__toggle {
    border: none;
    background: transparent
}

.header__nav__primary-link {
    transition: background .15s cubic-bezier(.65, 0, .35, 1), color .15s cubic-bezier(.65, 0, .35, 1)
}

.header__nav__primary-link svg {
    transition: fill .15s cubic-bezier(.65, 0, .35, 1)
}

.header__nav__primary-link:hover {
    background: var(--black);
    color: var(--white)
}

.header__nav__primary-link:hover svg {
    fill: var(--white)
}

.header__nav__primary-link.is-active {
    background: var(--black);
    color: var(--white)
}

.header__nav__primary-link.is-active svg {
    fill: var(--white)
}

.header__nav__secondary-link {
    height: 100%;
    display: flex;
    align-items: center;
    position: relative
}

.header__nav__secondary-link:hover:after {
    transform: translateY(0)
}

.header__nav__secondary-link.is-active:after {
    transform: translateY(0)
}

.header__nav__secondary-link:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: -5px;
    width: calc(100% + 10px);
    border-bottom: 4px solid var(--black);
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    height: 0;
    transform: translateY(100%);
    transition: transform .3s cubic-bezier(.65, 0, .35, 1)
}

.tickets {
    background: var(--gradient)
}

.tickets__ticket {
    position: relative;
    display: flex;
    flex-direction: column;
    aspect-ratio: 351/624
}

@media (min-width: 768px) {
    .tickets__ticket {
        aspect-ratio: 613/871
    }
}

.tickets__ticket__svg {
    position: absolute;
    width: 100%;
    z-index: 0;
    aspect-ratio: 351/624
}

@media (min-width: 768px) {
    .tickets__ticket__svg {
        aspect-ratio: 613/871
    }
}

.tickets__ticket__header {
    background: var(--black);
    width: calc(100% - 1px);
    height: 4.5rem;
    position: relative;
    z-index: 1
}

@media (min-width: 768px) {
    .tickets__ticket__header {
        height: 6.5rem
    }
}

.tickets__ticket__icon {
    width: 2.5rem;
    height: 2.5rem
}

@media (min-width: 768px) {
    .tickets__ticket__icon {
        width: 3.625rem;
        height: 3.625rem
    }
}

.tickets__ticket__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: calc(100% - 4px);
    margin-left: 2px;
    flex-grow: 1
}

.tickets__ticket__list {
    list-style: square inside;
    padding: 0;
    margin: 1rem 0 0
}

@media (min-width: 768px) {
    .tickets__ticket__list {
        margin-top: 1.75rem
    }
}

@media (min-width: 1024px) {
    .tickets__ticket__list {
        margin-top: 1.5rem
    }
}

@media (min-width: 1366px) {
    .tickets__ticket__list {
        margin-top: 1.75rem
    }
}

.tickets__ticket__list li {
    margin-top: .25rem
}

.tickets__ticket__bottom {
    padding: 0 1.5rem 1rem
}

@media (min-width: 768px) {
    .tickets__ticket__bottom {
        padding-bottom: 1.5rem
    }
}

.tickets__ticket__qr {
    border: 2px solid var(--black);
    padding: .3125rem;
    position: relative
}

.tickets__ticket__qr:before {
    content: "";
    position: absolute;
    width: calc(100% + 4px);
    background: var(--white);
    height: calc(100% - 1rem);
    left: -2px;
    top: .5rem
}

.tickets__ticket__qr:after {
    content: "";
    position: absolute;
    height: calc(100% + 4px);
    background: var(--white);
    width: calc(100% - 1rem);
    top: -2px;
    left: .5rem
}

.tickets__ticket__qr--no-border {
    border: none;
    padding: 0
}

.tickets__ticket__qr--no-border:after,
.tickets__ticket__qr--no-border:before {
    content: none
}

.tickets__ticket__qr-code {
    position: relative;
    z-index: 5;
    width: 4.5rem;
    height: 4.5rem;
    border: 2px solid var(--black)
}

.tickets__exhibition {
    position: relative;
    display: flex;
    flex-direction: column;
    aspect-ratio: 613/871
}

@media (min-width: 1366px) {
    .tickets__exhibition {
        aspect-ratio: 928/363;
        flex-direction: row
    }
}

.tickets__exhibition__svg {
    position: absolute;
    width: 100%;
    z-index: 0;
    aspect-ratio: 613/871
}

@media (min-width: 1366px) {
    .tickets__exhibition__svg {
        aspect-ratio: 928/363
    }
}

.tickets__exhibition__header {
    background: var(--black);
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 4.5rem
}

@media (min-width: 768px) {
    .tickets__exhibition__header {
        height: 6.625rem
    }
}

@media (min-width: 1366px) {
    .tickets__exhibition__header {
        width: 6.625rem;
        height: 100%
    }
}

.tickets__exhibition__content {
    position: relative;
    z-index: 1;
    padding: 1rem 1.75rem;
    width: 100%;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

@media (min-width: 768px) {
    .tickets__exhibition__content {
        padding: 2rem 2rem 1.5rem
    }
}

@media (min-width: 1366px) {
    .tickets__exhibition__content {
        flex-direction: row
    }
}

.tickets__exhibition__list {
    padding: 0;
    margin: 1rem 0 0;
    text-align: center;
    list-style: none
}

@media (min-width: 768px) {
    .tickets__exhibition__list {
        margin-top: 1.75rem;
        list-style: square inside
    }
}

@media (min-width: 1024px) {
    .tickets__exhibition__list {
        margin-top: 0
    }
}

@media (min-width: 1366px) {
    .tickets__exhibition__list {
        margin-top: 1rem;
        list-style: square;
        text-align: left;
        padding-left: 1.375rem
    }
}

.tickets__exhibition__list li {
    margin-top: .25rem
}

.tickets__exhibition__left {
    width: 100%
}

@media (min-width: 1366px) {
    .tickets__exhibition__left {
        display: flex;
        width: 55%;
        flex-direction: column
    }
}

.tickets__exhibition__right {
    width: 100%;
    text-align: center
}

@media (min-width: 1366px) {
    .tickets__exhibition__right {
        margin-left: auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 30%;
        text-align: left
    }
}

.tickets__exhibition__title {
    margin: 0 -1.75rem;
    border-bottom: 1px solid var(--grey);
    padding-bottom: .875rem;
    text-align: center
}

@media (min-width: 768px) {
    .tickets__exhibition__title {
        margin: 0 -1.875rem;
        padding-bottom: 1.5rem
    }
}

@media (min-width: 1366px) {
    .tickets__exhibition__title {
        margin: 0;
        padding: 0;
        border: 0;
        text-align: left
    }
}

.menu {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 200
}

.menu .marquee svg {
    width: 5.5625rem;
    height: 5.4375rem;
    margin: 0 1.5rem
}

@media (min-width: 768px) {
    .menu .marquee svg {
        width: 7.4375rem;
        height: 7.25rem;
        margin: 0 3rem
    }
}

@media (min-width: 1024px) {
    .menu .marquee svg {
        width: 16.25rem;
        height: 15.9375rem;
        margin: 0 5rem
    }
}

@media (min-width: 1366px) {
    .menu .marquee svg {
        width: 23.1875rem;
        height: 22.6875rem;
        margin: 0 7.5rem
    }
}

.menu__socials {
    top: 0;
    left: 0;
    z-index: 10
}

@media (min-width: 768px) {
    .menu__socials {
        transform: translateY(-100%)
    }
}

@media (min-width: 1366px) {
    .menu__socials {
        left: 100%;
        bottom: 0;
        top: auto;
        transform: translateY(0)
    }
}

.menu__socials__item a {
    line-height: 0;
    height: 2.25rem;
    width: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center
}

@media (min-width: 768px) {
    .menu__socials__item a {
        width: 3rem;
        height: 3rem
    }
}

.menu__socials__item svg {
    overflow: visible
}

.menu__socials__item--fb svg {
    width: .4375rem;
    height: .875rem
}

.menu__socials__item--instagram svg {
    width: .9375rem;
    height: .9375rem
}

.menu__socials__item--tiktok svg {
    width: 1.25rem;
    height: 1.25rem
}

.menu__socials__item--threads svg {
    width: 1.125rem;
    height: 1.125rem
}

.menu__socials__item--youtube svg {
    width: 1.125rem;
    height: .875rem
}

.menu__socials__item--linkedin svg {
    width: 1.0625rem;
    height: 1rem
}

.menu__pro-icon {
    width: 1rem;
    height: 1rem;
    margin-right: .4375rem;
    margin-top: -.0625rem
}

@media (min-width: 768px) {
    .menu__pro-icon {
        width: 1.625rem;
        height: 1.6875rem;
        margin-right: .375rem
    }
}

@media (min-width: 1024px) {
    .menu__pro-icon {
        width: 1.875rem;
        height: 1.6875rem;
        margin-right: .375rem
    }
}

.menu__pro-list {
    border-left: 1px solid var(--black);
    padding-left: .75rem;
    margin: 0;
    list-style: none
}

@media (min-width: 768px) {
    .menu__pro-list {
        padding-left: 1rem
    }
}

.menu__menu-toggle {
    border: none;
    background: transparent;
    padding: 0;
    position: relative;
    touch-action: manipulation
}

.menu__menu-toggle span {
    display: block;
    width: 1.5rem;
    height: 1.5rem
}

@media (min-width: 768px) {
    .menu__menu-toggle span {
        width: 2rem;
        height: 2rem
    }
}

.menu__menu-toggle svg {
    width: .75rem;
    height: .75rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}

.menu__image {
    aspect-ratio: 1.29
}

@media (min-width: 768px) {
    .menu__image {
        aspect-ratio: 1.82
    }
}

@media (min-width: 1366px) {
    .menu__image {
        aspect-ratio: unset
    }
}

.menu__logo {
    width: 5.8125rem;
    height: 1.8125rem;
    max-width: unset
}

@media (min-width: 768px) {
    .menu__logo {
        width: 2.375rem;
        height: 2.375rem
    }
}

@media (min-width: 1366px) {
    .menu__logo {
        width: 3.0625rem;
        height: 3.0625rem
    }
}

.country-select {
    position: relative;
    display: flex;
    align-items: center
}

.country-select__button,
.country-select__list {
    font-size: 1rem;
    letter-spacing: -.04em;
    font-family: "Suisse Int'l";
    font-weight: 600
}

.country-select__button {
    border: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    color: var(--header-color);
    font-variant-numeric: lining-nums proportional-nums;
    line-height: .9;
    padding: 0 1.25rem;
    height: 100%
}

@media (min-width: 768px) {
    .country-select__button {
        padding: 0 1.5rem
    }
}

.country-select__button:after {
    content: "";
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="7" viewBox="0 0 10 7" fill="none"><path d="M1 1L5 5L9 1" stroke="%23101010" stroke-width="2"/></svg>');
    width: 12px;
    height: 7px;
    display: inline-block;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: top left;
    margin-left: 2px;
    transform-origin: center
}

.country-select__button.is-open:after {
    transform: rotate(180deg)
}

.country-select__list {
    position: absolute;
    left: -1px;
    top: 100%;
    font-variant-numeric: lining-nums proportional-nums;
    border: 1px solid var(--black);
    border-right: none;
    background-color: var(--white);
    margin: 0;
    width: calc(100% + 2px + 4rem)
}

@media (min-width: 1024px) {
    .country-select__list {
        width: calc(100% + 3px + 4rem);
        border-right: 1px solid var(--black)
    }
}

.country-select__list a {
    color: var(--header-color);
    text-decoration: none;
    line-height: 1.5;
    padding: .9375rem 1.25rem .8125rem;
    display: block;
    text-transform: uppercase;
    letter-spacing: -.04em
}

@media (min-width: 768px) {
    .country-select__list a {
        padding: 1.25rem 1.5rem 1.125rem
    }
}

.location__marker {
    position: relative;
    cursor: pointer
}

.location__marker--main>svg {
    width: 2.3125rem;
    height: 2.5625rem
}

@media (min-width: 768px) {
    .location__marker--main>svg {
        width: 2.5625rem;
        height: 2.875rem
    }
}

.location__marker__text {
    position: absolute;
    top: calc(100% + 2px);
    left: 50%;
    transform: translate(-50%);
    font-size: .875rem;
    font-weight: 600;
    border: 1px solid var(--black);
    background: var(--white);
    padding: .75rem;
    letter-spacing: -.04em;
    line-height: 1;
    white-space: nowrap;
    font-family: "Suisse Int'l", sans-serif
}

@media (min-width: 768px) {
    .location__marker__text {
        font-size: 1rem
    }
}

.location__marker__info {
    position: absolute;
    top: calc(100% + 2px);
    left: 50%;
    transform: translate(-50%);
    font-size: 1rem;
    font-weight: 600;
    border: 1px solid var(--black);
    background: var(--white);
    display: flex;
    min-width: 20rem;
    letter-spacing: -.04em;
    cursor: default;
    z-index: 20;
    font-family: "Suisse Int'l", sans-serif
}

@media (min-width: 768px) {
    .location__marker__info {
        min-width: 21.25rem
    }
}

.location__marker__close {
    background-color: var(--black);
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M7.5 16.5L16.4982 7.50177" stroke="%23F1F1F1" stroke-width="2"/><path d="M7.5 7.5L16.4982 16.4982" stroke="%23F1F1F1" stroke-width="2"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    left: -1px;
    top: -1px;
    width: 1.125rem;
    height: 1.125rem;
    border: none
}

.location__marker__img {
    width: 6.25rem;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    border-right: 1px solid var(--black);
    flex-shrink: 0
}

.location__marker__title {
    font-size: 1.25rem;
    margin-bottom: .125rem
}

@media (min-width: 768px) {
    .location__marker__title {
        font-size: 1.5rem
    }
}

.location__marker__right {
    padding: .75rem 1rem;
    max-width: 100%
}

@media (min-width: 768px) {
    .location__marker__right {
        padding: 1.25rem .875rem
    }
}

.location__marker__desc {
    font-size: .875rem
}

@media (min-width: 768px) {
    .location__marker__desc {
        font-size: 1rem
    }
}

.location__marker__directions {
    border-top: 1px solid var(--black);
    padding: 1rem 1.125rem .875rem 1rem;
    line-height: 1.1;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--black);
    text-decoration: none;
    font-size: .875rem;
    transition: color .2s ease-in-out, background-color .2s ease-in-out
}

@media (min-width: 768px) {
    .location__marker__directions {
        font-size: 1rem
    }
}

.location__marker__directions:hover,
.location__marker__directions:focus {
    color: var(--white);
    background: var(--black)
}

.location__marker__directions:hover svg,
.location__marker__directions:focus svg {
    stroke: var(--white)
}

.location__marker__directions svg {
    width: 1rem;
    height: .6875rem;
    margin-top: -2px;
    transition: stroke .2s ease-in-out
}

.location__filters {
    position: absolute;
    top: 1px;
    left: 1px;
    z-index: 20;
    width: calc(100% - 2px);
    overflow: hidden
}

@media (min-width: 768px) {
    .location__filters {
        width: 21.625rem
    }
}

.location__filter-btn {
    border: none;
    border-bottom: 1px solid var(--black);
    background: var(--white);
    font-size: .875rem;
    letter-spacing: -.04;
    line-height: 1.1;
    color: var(--black);
    text-transform: uppercase;
    font-weight: 600;
    padding: .8125rem .875rem;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    transition: background-color .2s cubic-bezier(.65, 0, .35, 1), color .2s cubic-bezier(.65, 0, .35, 1);
    position: relative;
    z-index: 5
}

@media (min-width: 768px) {
    .location__filter-btn {
        font-size: 1rem;
        padding: 1.4375rem 1.5rem;
        width: 21.625rem;
        border-right: 1px solid var(--black)
    }
}

.location__filter-btn svg {
    width: .75rem;
    height: .5rem;
    transform-origin: center;
    transition: transform .2s cubic-bezier(.65, 0, .35, 1)
}

.location__filter-btn.is-open {
    background: var(--black);
    color: var(--white)
}

.location__filter-btn.is-open svg {
    transform: rotate(180deg)
}

.location__filter-panel {
    border-bottom: 1px solid var(--black);
    border-right: none;
    background: var(--white);
    font-size: .875rem;
    letter-spacing: -.04;
    line-height: 1;
    text-transform: uppercase;
    font-weight: 600;
    padding: 1.5rem .75rem;
    transform: translateY(-101%);
    transition: transform .2s cubic-bezier(.65, 0, .35, 1)
}

@media (min-width: 768px) {
    .location__filter-panel {
        border-right: 1px solid var(--black);
        padding: 1.4375rem 1.5rem;
        font-size: 1rem
    }
}

.is-open+.location__filter-panel {
    transform: translateY(0)
}

.location__filter-clear {
    color: #8f8f8f;
    border: none;
    padding: 0;
    background: transparent;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.04em;
    display: flex;
    align-items: center;
    font-size: .875rem;
    white-space: nowrap
}

@media (min-width: 768px) {
    .location__filter-clear {
        font-size: 1rem
    }
}

.location__filter-clear svg {
    width: .8em;
    height: .8em;
    margin-left: .375rem
}

.location__filter-list {
    margin: 1.5rem 0 0
}

.location__filter-list li+li {
    margin-top: .75rem
}

@media (min-width: 768px) {
    .location__filter-list li+li {
        margin-top: 1rem
    }
}

.location__filter-list label {
    cursor: pointer;
    display: inline-flex;
    align-items: center
}

.location__filter-list label:before {
    content: "";
    color: var(--white);
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    margin-right: .75rem;
    border: 1px solid var(--black);
    margin-top: -1px
}

.location__filter-list input:checked+label:before {
    background-color: var(--black);
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M7.5 16.5L16.4982 7.50177" stroke="%23F1F1F1" stroke-width="2"/><path d="M7.5 7.5L16.4982 16.4982" stroke="%23F1F1F1" stroke-width="2"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}

.location__filter-list input:focus-visible+label:before {
    outline: 2px solid var(--black);
    outline-offset: 2px
}

.search-input input {
    font-size: 1rem
}

@media (pointer: coarse) {
    .search-input input {
        font-size: 16px !important
    }
}

.search-input--header {
    position: relative
}

.search-input--header input {
    border: none;
    background: transparent;
    width: 12.5rem
}

.search-input--header input:focus {
    outline: none
}

.search-input--header .search-input__submit {
    border: none;
    background: transparent;
    padding: 1rem 1rem 1rem 0
}

.search-input--header .search-input__submit>span {
    width: 2rem;
    height: 2rem
}

.search-input--header .search-input__submit__icon {
    width: .6875rem;
    height: .6875rem
}

.search-input--menu {
    height: 100%
}

.search-input--menu .search-input__submit {
    border: none;
    background: transparent;
    padding: 1rem
}

.search-input--menu .search-input__submit>span {
    width: 1.5rem;
    height: 1.5rem;
    transform: translateY(-1px)
}

@media (min-width: 768px) {
    .search-input--menu .search-input__submit>span {
        width: 2rem;
        height: 2rem;
        transform: none
    }
}

.search-input--menu .search-input__submit__icon {
    width: .6875rem;
    height: .6875rem
}

.search-input--menu .search-input__form {
    width: 100%;
    height: 3.0625rem
}

.search-input--menu .search-input__search {
    width: 100%;
    height: 100%
}

.search-input--menu .search-input__input-container {
    width: 100%;
    border: none;
    background: transparent
}

.search-input--menu input {
    font-size: .875rem
}

@media (min-width: 768px) {
    .search-input--menu input {
        font-size: 1rem
    }
}

@media (pointer: coarse) {
    .search-input--menu input {
        font-size: 16px !important
    }
}

.search-input--menu input:focus {
    outline: none
}

.schedule__header {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%;
    height: 13.1875rem
}

@media (min-width: 768px) {
    .schedule__header {
        height: 26.25rem
    }
}

.schedule__item__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block
}

.schedule__filter {
    text-transform: uppercase;
    border: none;
    color: var(--black);
    background: var(--white);
    margin: 0;
    display: block;
    transition: background .15s cubic-bezier(.65, 0, .35, 1), color .15s cubic-bezier(.65, 0, .35, 1);
    letter-spacing: -.02em;
    font-size: .875rem;
    line-height: 1;
    padding: 1.0625rem .8125rem .9375rem;
    font-weight: 600
}

@media (min-width: 768px) {
    .schedule__filter {
        padding: 1.0625rem 1.5rem .9375rem
    }
}

@media (min-width: 1024px) {
    .schedule__filter {
        padding: 1.375rem 2rem 1.125rem;
        font-size: 1rem;
        line-height: 1.1;
        letter-spacing: -.04em
    }
}

.schedule__filter--date {
    border-right: 1px solid var(--black);
    flex-grow: 1
}

@media (min-width: 768px) {
    .schedule__filter--date {
        width: auto;
        flex-grow: 0
    }
}

.schedule__filter--date:last-child {
    border-right: none
}

@media (min-width: 768px) {
    .schedule__filter--date:last-child {
        border-right: 1px solid var(--black)
    }
}

.schedule__filter--date:hover,
.schedule__filter--date.is-active {
    background: var(--black);
    color: var(--white)
}

.schedule__filter--location {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between
}

@media (min-width: 768px) {
    .schedule__filter--location {
        width: auto;
        border-left: 1px solid var(--black)
    }
}

@media (min-width: 1024px) {
    .schedule__filter--location:hover {
        background: var(--black);
        color: var(--white)
    }
}

.schedule__filter--location svg {
    width: .6875rem;
    height: .5rem;
    margin-left: .375rem;
    transform-origin: center;
    margin-top: -2px;
    transition: transform .15s cubic-bezier(.65, 0, .35, 1)
}

.schedule__filter--location.is-active {
    background: var(--black);
    color: var(--white)
}

.schedule__filter--location.is-open svg {
    transform: rotate(180deg)
}

.schedule__filter__locations {
    position: absolute;
    right: 0;
    background: var(--white);
    border-top: 1px solid var(--black);
    border-bottom: 1px solid var(--black);
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: -.04em;
    width: 100%;
    padding: 1.5rem .75rem 1.375rem;
    overflow-y: auto;
    max-height: 60vh;
    top: 100%;
    z-index: 1
}

@media (min-width: 768px) {
    .schedule__filter__locations {
        padding: 2rem;
        border-left: 1px solid var(--black);
        width: auto
    }
}

@media (min-width: 1024px) {
    .schedule__filter__locations {
        max-height: 90vh
    }
}

.schedule__filter__locations label {
    white-space: nowrap;
    line-height: 1.1;
    font-size: .875rem
}

@media (min-width: 768px) {
    .schedule__filter__locations label {
        font-size: 1rem
    }
}

.schedule__card-time {
    position: absolute;
    bottom: 1px;
    right: 1px;
    max-width: 80%
}

.tag {
    border: 1px solid var(--black);
    display: inline-flex
}

.tag__color {
    background-color: var(--color);
    width: .375rem;
    border-right: 1px solid var(--black)
}

.tag__label {
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.04em;
    padding: .625rem .75rem .5625rem;
    text-transform: uppercase;
    background: var(--white)
}

@media (min-width: 768px) {
    .tag__label {
        font-size: .875rem;
        padding: .625rem 1.25rem .5625rem
    }
}

.tag-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem
}

@media (min-width: 1024px) {
    .tag-list {
        gap: .75rem
    }
}

.tag-list li {
    list-style: none
}

.event-info__image,
.archive-info__image {
    aspect-ratio: .9
}

.event-info__image:after,
.archive-info__image:after {
    content: "";
    width: 2.625rem;
    height: 2.625rem;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #000
}

@media (min-width: 768px) {

    .event-info__image:after,
    .archive-info__image:after {
        width: 3rem;
        height: 3rem
    }
}

.event-info p:last-of-type,
.archive-info p:last-of-type {
    margin-bottom: 0
}

.event-info__socials__item,
.archive-info__socials__item {
    height: 100%;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center
}

.event-info__socials__item--fb svg,
.archive-info__socials__item--fb svg {
    width: .4375rem;
    height: .875rem
}

.event-info__socials__item--x svg,
.archive-info__socials__item--x svg {
    width: .9375rem;
    height: .875rem
}

.event-info__socials__item--instagram svg,
.archive-info__socials__item--instagram svg {
    width: .875rem;
    height: .875rem
}

.event-info__socials__item--linkedin svg,
.archive-info__socials__item--linkedin svg {
    width: .875rem;
    height: .875rem
}

.event-info__socials__item--youtube svg,
.archive-info__socials__item--youtube svg {
    width: 1.03125rem;
    height: .75rem
}

.event-info__socials__item--website svg,
.archive-info__socials__item--website svg {
    width: .875rem;
    height: .875rem
}

.event-info__sponsor,
.archive-info__sponsor {
    margin-bottom: 1rem
}

@media (min-width: 1366px) {

    .event-info__sponsor:last-of-type,
    .event-info__sponsor:nth-last-of-type(2),
    .archive-info__sponsor:last-of-type,
    .archive-info__sponsor:nth-last-of-type(2) {
        margin-bottom: 0
    }
}

.event-info__sponsor:last-of-type,
.archive-info__sponsor:last-of-type {
    margin-bottom: 0
}

.event-info__link,
.archive-info__link {
    mix-blend-mode: difference
}

.event-info__link svg,
.archive-info__link svg {
    width: 1.125rem;
    height: 1.125rem
}

.image-slider__item {
    max-width: 21.875rem
}

@media (min-width: 768px) {
    .image-slider__item {
        max-width: 91.75rem
    }
}

@media (min-width: 1024px) {
    .image-slider__item {
        max-width: 38.31rem
    }
}

.user-content h2 {
    font-size: 2rem;
    letter-spacing: -.04em;
    font-weight: 400;
    line-height: .9;
    text-transform: uppercase;
    margin-top: 3rem;
    margin-bottom: 1.5rem
}

@media (min-width: 768px) {
    .user-content h2 {
        font-size: 4rem;
        letter-spacing: -.06em;
        margin-top: 5rem;
        margin-bottom: 3rem
    }
}

@media (min-width: 1024px) {
    .user-content h2 {
        font-size: 4rem;
        margin: 0;
        position: absolute;
        left: 0;
        width: 33.33333333%
    }
}

@media (min-width: 1024px) {
    .user-content__spacer {
        margin-top: 7.5rem
    }
}

.user-content__spacer:first-child+h2 {
    margin-top: 0
}

.user-content h3,
.user-content h4,
.user-content h5,
.user-content h6 {
    font-size: 1.125rem;
    letter-spacing: -.04em;
    font-weight: 400;
    margin-top: 1.5rem;
    margin-bottom: .75rem
}

@media (min-width: 768px) {

    .user-content h3,
    .user-content h4,
    .user-content h5,
    .user-content h6 {
        font-size: 2rem;
        margin-top: 3rem;
        margin-bottom: 2rem
    }
}

@media (min-width: 1024px) {

    .user-content h3,
    .user-content h4,
    .user-content h5,
    .user-content h6 {
        margin-top: 3.75rem
    }
}

.user-content p,
.user-content ul,
.user-content ol {
    font-size: .875rem;
    letter-spacing: -.04em
}

@media (min-width: 768px) {

    .user-content p,
    .user-content ul,
    .user-content ol {
        font-size: 1.25rem;
        letter-spacing: -.02em
    }
}

.user-content p li,
.user-content ul li,
.user-content ol li {
    margin-bottom: .5rem
}

@media (min-width: 768px) {

    .user-content p li,
    .user-content ul li,
    .user-content ol li {
        margin-bottom: 1rem
    }
}

.user-content p li:last-child,
.user-content ul li:last-child,
.user-content ol li:last-child {
    margin-bottom: 0
}

.user-content ol,
.user-content ul {
    margin: 1.5rem 0
}

@media (min-width: 768px) {

    .user-content ol,
    .user-content ul {
        margin: 3rem 0
    }
}

@media (min-width: 1024px) {

    .user-content ol,
    .user-content ul {
        margin: 2rem 0
    }
}

.user-content ul {
    list-style-type: square;
    padding-left: 1.2rem
}

@media (min-width: 768px) {
    .user-content ul {
        padding-left: 1.3rem
    }
}

.user-content ol {
    list-style-type: decimal;
    padding-left: 1.2rem
}

.user-content a {
    font-weight: 600;
    color: var(--black)
}

.hoverable {
    transition: background-color .15s cubic-bezier(.65, 0, .35, 1), color .15s cubic-bezier(.65, 0, .35, 1)
}

.hoverable:hover,
.hoverable:focus-visible {
    background-color: var(--black);
    color: var(--white)
}

.hoverable:hover svg,
.hoverable:focus-visible svg {
    fill: var(--white)
}

.hoverable svg {
    transition: fill .15s cubic-bezier(.65, 0, .35, 1)
}

.hoverable--white:hover,
.hoverable--white:focus-visible {
    background-color: var(--white);
    color: var(--black)
}

.hoverable--white:hover svg,
.hoverable--white:focus-visible svg {
    fill: var(--black)
}

.search__ul {
    list-style: square;
    padding-left: 1.125rem
}

.search__form {
    display: flex;
    width: 100%;
    border: 1px solid var(--black)
}

.search__input {
    background-color: transparent;
    width: 100%;
    border: none;
    margin-right: 1rem
}

.search__button {
    border: 0;
    background: transparent
}

.search__button span {
    width: 1.5rem;
    height: 1.5rem
}

@media (min-width: 768px) {
    .search__button span {
        width: 2rem;
        height: 2rem
    }
}

.search__button svg {
    width: .6875rem;
    height: .6875rem
}

.partners__slide {
    border: 1px solid var(--black);
    margin: 0 .5rem;
    display: flex;
    aspect-ratio: 1/1;
    justify-content: center;
    align-items: center;
    background: #fff;
    padding: 1rem;
    position: relative
}

.partners__slide img {
    max-width: 180px;
    width: 100%
}

.partners__controls {
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(calc(-100% - 1px));
    display: flex
}

.partners__controls button {
    border: none;
    background: var(--white);
    border-top: 1px solid var(--black);
    border-left: 1px solid var(--black);
    height: 2rem;
    width: 2rem;
    color: var(--black);
    padding: 0
}

@media (min-width: 768px) {
    .partners__controls button {
        height: 4rem;
        width: 4rem
    }
}

.partners__controls button svg {
    height: .5rem;
    width: .625rem
}

@media (min-width: 768px) {
    .partners__controls button svg {
        width: 1rem;
        height: .75rem
    }
}

.partners__prev svg {
    transform: rotate(180deg)
}

.newsletter__input {
    flex-grow: 1;
    width: 100%;
    text-transform: uppercase;
    border: 1px solid var(--black);
    color: var(--black);
    background: var(--white);
    font-size: 1rem;
    padding: 1.0625rem 1rem .9375rem;
    font-weight: 600;
    border-radius: 0
}

@media (min-width: 768px) {
    .newsletter__input {
        font-size: 1rem;
        padding: 1.5625rem 1.5rem 1.4375rem
    }
}

.newsletter__button {
    color: var(--black);
    border-top: 1px solid var(--black);
    border-right: 1px solid var(--black);
    border-bottom: 1px solid var(--black);
    border-left: 0;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.1;
    background: var(--white);
    padding: 1.0625rem 1rem .9375rem
}

@media (min-width: 768px) {
    .newsletter__button {
        padding: 1.5625rem 1.5rem 1.4375rem
    }
}

.archive__header-img {
    aspect-ratio: 375/408;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width: 768px) {
    .archive__header-img {
        aspect-ratio: 768/408
    }
}

@media (min-width: 1024px) {
    .archive__header-img {
        aspect-ratio: 1920/800
    }
}

.archive__pavillon-img {
    aspect-ratio: 375/419;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width: 768px) {
    .archive__pavillon-img {
        aspect-ratio: 768/858
    }
}

@media (min-width: 1024px) {
    .archive__pavillon-img {
        aspect-ratio: 1920/800
    }
}

.img--event-card {
    aspect-ratio: 351/240;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

@media (min-width: 768px) {
    .img--event-card {
        aspect-ratio: 736/504
    }
}

@media (min-width: 1024px) {
    .img--event-card {
        aspect-ratio: 613/420
    }
}

.about__year {
    aspect-ratio: 1/1
}

.about__logo {
    width: 5rem;
    height: 1.5625rem
}

@media (min-width: 768px) {
    .about__logo {
        width: 6.25rem;
        height: 1.875rem
    }
}

@media (min-width: 1024px) {
    .about__logo {
        width: 8.875rem;
        height: 2.75rem
    }
}

.about__play {
    width: 2.6875rem;
    height: 2.6875rem
}

@media (min-width: 1024px) {
    .about__play {
        width: 5rem;
        height: 5rem
    }
}

.popup {
    background: rgba(16, 16, 16, .6)
}

.popup__content {
    position: relative;
    width: calc(100% - 2rem)
}

@media (min-width: 768px) {
    .popup__content {
        max-width: 50rem
    }
}

.popup__content ul,
.popup__content ol {
    margin-left: 0;
    padding-left: 1.2rem
}

@media (min-width: 768px) {

    .popup__content ul,
    .popup__content ol {
        list-style: none;
        padding: 0
    }
}

.popup__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: var(--black);
    border: none;
    width: 1.5rem;
    height: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0
}

@media (min-width: 768px) {
    .popup__close {
        width: 2rem;
        height: 2rem
    }
}

.popup__close svg {
    width: .7rem;
    height: .7rem;
    stroke: var(--white)
}

@media (min-width: 768px) {
    .popup__close svg {
        width: 1rem;
        height: 1rem
    }
}

.otgs-development-site-front-end {
    display: none
}

.page-template-schedule .cky-btn-revisit-wrapper.cky-revisit-bottom-left {
    display: none
}

.list-unstyled {
    list-style: none;
    margin-left: 0;
    padding: 0
}

.sr {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.is-dark-mode {
    color-scheme: dark
}

.b-1 {
    border: 1px solid var(--border-color)
}

.bx-1 {
    border-left: 1px solid var(--border-color);
    border-right: 1px solid var(--border-color)
}

.by-1 {
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color)
}

.bt-1 {
    border-top: 1px solid var(--border-color)
}

.br-1 {
    border-right: 1px solid var(--border-color)
}

.bb-1 {
    border-bottom: 1px solid var(--border-color)
}

.bl-1 {
    border-left: 1px solid var(--border-color)
}

.b-black {
    --border-color: #5e5e5e
}

.b-white {
    --border-color: #F1F1F1
}

.b-grey {
    --border-color: #AEAEAE
}

.noise {
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: .09;
}

@media (min-width: 768px) {
    .bt-0\@sm {
        border-top: 0 solid var(--border-color)
    }

    .bb-0\@sm {
        border-bottom: 0 solid var(--border-color)
    }

    .by-1\@sm {
        border-top: 1px solid var(--border-color);
        border-bottom: 1px solid var(--border-color)
    }

    .bt-1\@sm {
        border-top: 1px solid var(--border-color)
    }

    .br-1\@sm {
        border-right: 1px solid var(--border-color)
    }

    .bb-1\@sm {
        border-bottom: 1px solid var(--border-color)
    }

    .bl-1\@sm {
        border-left: 1px solid var(--border-color)
    }
}

@media (min-width: 1024px) {
    .bt-0\@md {
        border-top: 0 solid var(--border-color)
    }

    .br-0\@md {
        border-right: 0 solid var(--border-color)
    }

    .bb-0\@md {
        border-bottom: 0 solid var(--border-color)
    }

    .br-1\@md {
        border-right: 1px solid var(--border-color)
    }

    .bl-1\@md {
        border-left: 1px solid var(--border-color)
    }
}

@media (min-width: 1366px) {
    .bt-0\@lg {
        border-top: 0 solid var(--border-color)
    }

    .bb-0\@lg {
        border-bottom: 0 solid var(--border-color)
    }

    .br-1\@lg {
        border-right: 1px solid var(--border-color)
    }

    .bb-1\@lg {
        border-bottom: 1px solid var(--border-color)
    }

    .bl-1\@lg {
        border-left: 1px solid var(--border-color)
    }
}

.bg-black {
    background-color: var(--black)
}

.t-black {
    color: var(--black)
}

.bg-white {
    background-color: var(--white)
}

.t-white {
    color: var(--white)
}

.bg-gradient {
    background-color: var(--gradient)
}

.bg-schedule {
    background-color: var(--schedule)
}

.container {
    width: 100%;
    margin: 0 auto;
    padding: 0 .75rem
}

@media (min-width: 440px) {
    .container {
        max-width: 440px
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 768px;
        padding: 0 1rem
    }
}

@media (min-width: 1024px) {
    .container {
        max-width: 1024px;
        padding: 0 1.5rem
    }
}

@media (min-width: 1366px) {
    .container {
        max-width: 1366px
    }
}

@media (min-width: 1536px) {
    .container {
        max-width: 1536px
    }
}

@media (min-width: 1921px) {
    .container {
        max-width: 1921px
    }
}

@media (min-width: 2560px) {
    .container {
        max-width: 2560px
    }
}

@media (min-width: 3840px) {
    .container {
        max-width: 3840px
    }
}

.container-fluid {
    width: 100%;
    padding: 0 .75rem
}

@media (min-width: 768px) {
    .container-fluid {
        padding: 0 1rem
    }
}

@media (min-width: 1024px) {
    .container-fluid {
        padding: 0 1.5rem
    }
}

.d-none {
    display: none
}

.\!d-none {
    display: none !important
}

.d-inline-block {
    display: inline-block
}

.d-block {
    display: block
}

.d-flex {
    display: flex
}

@media (min-width: 768px) {
    .d-none\@sm {
        display: none
    }

    .d-block\@sm {
        display: block
    }

    .d-flex\@sm {
        display: flex
    }
}

@media (min-width: 1024px) {
    .d-none\@md {
        display: none
    }

    .\!d-none\@md {
        display: none !important
    }

    .d-inline\@md {
        display: inline
    }

    .d-block\@md {
        display: block
    }

    .d-flex\@md {
        display: flex
    }

    .\!d-flex\@md {
        display: flex !important
    }
}

@media (min-width: 1366px) {
    .d-none\@lg {
        display: none
    }

    .d-block\@lg {
        display: block
    }

    .d-flex\@lg {
        display: flex
    }

    .d-inline-flex\@lg {
        display: inline-flex
    }
}

.flex-grow {
    flex-grow: 1 !important;
    max-width: 100%;
    width: auto
}

.flex-no-shrink {
    flex-shrink: 0 !important
}

.flex-no-wrap {
    flex-wrap: nowrap !important
}

.flex-wrap {
    flex-wrap: wrap !important
}

.flex-row {
    flex-direction: row !important
}

.flex-column {
    flex-direction: column !important
}

.flex-column-reverse {
    flex-direction: column-reverse !important
}

.items-start {
    align-items: flex-start !important
}

.items-center {
    align-items: center !important
}

.items-end {
    align-items: flex-end !important
}

.items-baseline {
    align-items: baseline !important
}

.justify-start {
    justify-content: flex-start !important
}

.justify-center {
    justify-content: center !important
}

.justify-end {
    justify-content: flex-end !important
}

.justify-between {
    justify-content: space-between !important
}

.order-1 {
    order: 1 !important
}

.order-2 {
    order: 2 !important
}

.order-3 {
    order: 3 !important
}

.order-4 {
    order: 4 !important
}

.order-5 {
    order: 5 !important
}

@media (min-width: 768px) {
    .flex-no-grow\@sm {
        flex-grow: 0 !important;
        max-width: 100%;
        width: auto
    }

    .flex-row\@sm {
        flex-direction: row !important
    }

    .flex-row-reverse\@sm {
        flex-direction: row-reverse !important
    }

    .items-start\@sm {
        align-items: flex-start !important
    }

    .items-center\@sm {
        align-items: center !important
    }

    .items-end\@sm {
        align-items: flex-end !important
    }

    .justify-start\@sm {
        justify-content: flex-start !important
    }

    .justify-end\@sm {
        justify-content: flex-end !important
    }

    .order-2\@sm {
        order: 2 !important
    }
}

@media (min-width: 1024px) {
    .flex-no-shrink\@md {
        flex-shrink: 0 !important
    }

    .flex-no-wrap\@md {
        flex-wrap: nowrap !important
    }

    .flex-row\@md {
        flex-direction: row !important
    }

    .flex-column\@md {
        flex-direction: column !important
    }

    .items-start\@md {
        align-items: flex-start !important
    }

    .items-center\@md {
        align-items: center !important
    }

    .order-1\@md {
        order: 1 !important
    }

    .order-2\@md {
        order: 2 !important
    }

    .order-3\@md {
        order: 3 !important
    }

    .order-5\@md {
        order: 5 !important
    }
}

@media (min-width: 1366px) {
    .flex-grow\@lg {
        flex-grow: 1 !important;
        max-width: 100%;
        width: auto
    }

    .flex-row\@lg {
        flex-direction: row !important
    }

    .items-start\@lg {
        align-items: flex-start !important
    }

    .items-center\@lg {
        align-items: center !important
    }

    .justify-between\@lg {
        justify-content: space-between !important
    }

    .order-0\@lg {
        order: 0 !important
    }

    .order-3\@lg {
        order: 3 !important
    }
}

.w-23\/24 {
    width: 95.8333333333%
}

.w-22\/24 {
    width: 91.6666666667%
}

.w-20\/24 {
    width: 83.3333333333%
}

.w-18\/24 {
    width: 75%
}

.w-14\/24 {
    width: 58.3333333333%
}

.w-13\/24 {
    width: 54.1666666667%
}

.w-10\/24 {
    width: 41.6666666667%
}

.w-8\/24 {
    width: 33.3333333333%
}

.w-6\/24 {
    width: 25%
}

.w-auto {
    width: auto;
    max-width: 100%
}

.max-w-90\% {
    max-width: 90%
}

.w-1em {
    width: 1em
}

.max-w-26rem {
    max-width: 26rem
}

.w-42 {
    width: 2.625rem
}

.w-1\/1 {
    width: 100%
}

.w-1\/2 {
    width: 50%
}

.w-1\/3 {
    width: 33.3333333333%
}

.w-2\/3 {
    width: 66.6666666667%
}

@media (min-width: 440px) {
    .max-w-90\%\@xsm {
        max-width: 90%
    }
}

@media (min-width: 768px) {
    .w-22\/24\@sm {
        width: 91.6666666667%
    }

    .w-20\/24\@sm {
        width: 83.3333333333%
    }

    .w-18\/24\@sm {
        width: 75%
    }

    .w-14\/24\@sm {
        width: 58.3333333333%
    }

    .w-13\/24\@sm {
        width: 54.1666666667%
    }

    .w-11\/24\@sm {
        width: 45.8333333333%
    }

    .w-10\/24\@sm {
        width: 41.6666666667%
    }

    .w-8\/24\@sm {
        width: 33.3333333333%
    }

    .w-auto\@sm {
        width: auto;
        max-width: 100%
    }

    .max-w-90\%\@sm {
        max-width: 90%
    }

    .w-unset\@sm {
        width: unset
    }

    .w-48\@sm {
        width: 3rem
    }

    .w-1\/1\@sm {
        width: 100%
    }

    .w-1\/2\@sm {
        width: 50%
    }

    .w-1\/3\@sm {
        width: 33.3333333333%
    }

    .w-1\/4\@sm {
        width: 25%
    }
}

@media (min-width: 1024px) {
    .w-22\/24\@md {
        width: 91.6666666667%
    }

    .w-20\/24\@md {
        width: 83.3333333333%
    }

    .w-18\/24\@md {
        width: 75%
    }

    .w-16\/24\@md {
        width: 66.6666666667%
    }

    .w-15\/24\@md {
        width: 62.5%
    }

    .w-14\/24\@md {
        width: 58.3333333333%
    }

    .w-13\/24\@md {
        width: 54.1666666667%
    }

    .w-12\/24\@md {
        width: 50%
    }

    .w-11\/24\@md {
        width: 45.8333333333%
    }

    .w-10\/24\@md {
        width: 41.6666666667%
    }

    .w-9\/24\@md {
        width: 37.5%
    }

    .w-8\/24\@md {
        width: 33.3333333333%
    }

    .w-7\/24\@md {
        width: 29.1666666667%
    }

    .w-6\/24\@md {
        width: 25%
    }

    .w-5\/24\@md {
        width: 20.8333333333%
    }

    .w-4\/24\@md {
        width: 16.6666666667%
    }

    .w-3\/24\@md {
        width: 12.5%
    }

    .w-90\%\@md {
        width: 90%
    }

    .max-w-90\%\@md {
        max-width: 90%
    }

    .max-w-20rem\@md {
        max-width: 20rem
    }

    .w-200px\@md {
        width: 12.5rem
    }

    .w-1\/1\@md {
        width: 100%
    }

    .w-1\/2\@md {
        width: 50%
    }

    .w-1\/3\@md {
        width: 33.3333333333%
    }

    .w-1\/4\@md {
        width: 25%
    }

    .w-1\/6\@md {
        width: 16.6666666667%
    }

    .w-5\/6\@md {
        width: 83.3333333333%
    }
}

@media (min-width: 1366px) {
    .w-20\/24\@lg {
        width: 83.3333333333%
    }

    .w-19\/24\@lg {
        width: 79.1666666667%
    }

    .w-18\/24\@lg {
        width: 75%
    }

    .w-14\/24\@lg {
        width: 58.3333333333%
    }

    .w-12\/24\@lg {
        width: 50%
    }

    .w-11\/24\@lg {
        width: 45.8333333333%
    }

    .w-8\/24\@lg {
        width: 33.3333333333%
    }

    .w-7\/24\@lg {
        width: 29.1666666667%
    }

    .w-5\/24\@lg {
        width: 20.8333333333%
    }

    .w-2\/24\@lg {
        width: 8.3333333333%
    }

    .max-w-90\%\@lg {
        max-width: 90%
    }

    .w-20rem\@lg {
        width: 20rem
    }

    .w-23rem\@lg {
        width: 23rem
    }

    .w-26rem\@lg {
        width: 26rem
    }

    .w-1\/1\@lg {
        width: 100%
    }

    .w-1\/2\@lg {
        width: 50%
    }

    .w-1\/3\@lg {
        width: 33.3333333333%
    }

    .w-1\/5\@lg {
        width: 20%
    }

    .w-1\/7\@lg {
        width: 14.2857142857%
    }
}

@media (min-width: 1536px) {
    .max-w-90\%\@xlg {
        max-width: 90%
    }
}

@media (min-width: 1921px) {
    .max-w-90\%\@xxlg {
        max-width: 90%
    }

    .w-1\/8\@xxlg {
        width: 12.5%
    }
}

@media (min-width: 2560px) {
    .max-w-90\%\@retina {
        max-width: 90%
    }
}

@media (min-width: 3840px) {
    .max-w-90\%\@4k {
        max-width: 90%
    }
}

@media (pointer: coarse) {
    .max-w-90\%\@touch {
        max-width: 90%
    }
}

@media (hover: hover) and (pointer: fine) {
    .max-w-90\%\@nottouch {
        max-width: 90%
    }
}

@media (hover: none) and (pointer: coarse) and (min-width: 1024px) {
    .max-w-90\%\@ipadpro {
        max-width: 90%
    }
}

.grid {
    display: flex;
    flex-wrap: wrap;
    margin-left: -.75rem
}

.grid>* {
    padding-left: .75rem
}

@media (min-width: 768px) {
    .grid {
        margin-left: -1rem
    }

    .grid>* {
        padding-left: 1rem
    }
}

.gap-y-12 {
    margin-top: -.75rem
}

.gap-y-12>* {
    padding-top: .75rem
}

.gap-y-16 {
    margin-top: -1rem
}

.gap-y-16>* {
    padding-top: 1rem
}

.gap-y-32 {
    margin-top: -2rem
}

.gap-y-32>* {
    padding-top: 2rem
}

@media (min-width: 768px) {
    .gap-y-16\@sm {
        margin-top: -1rem
    }

    .gap-y-16\@sm>* {
        padding-top: 1rem
    }

    .gap-y-24\@sm {
        margin-top: -1.5rem
    }

    .gap-y-24\@sm>* {
        padding-top: 1.5rem
    }

    .gap-y-60\@sm {
        margin-top: -3.75rem
    }

    .gap-y-60\@sm>* {
        padding-top: 3.75rem
    }
}

@media (min-width: 1024px) {
    .gap-y-32\@md {
        margin-top: -2rem
    }

    .gap-y-32\@md>* {
        padding-top: 2rem
    }

    .gap-y-80\@md {
        margin-top: -5rem
    }

    .gap-y-80\@md>* {
        padding-top: 5rem
    }
}

.h-1\/2 {
    height: 50%
}

.h-1\/1 {
    height: 100%
}

.h-100svh {
    height: calc(var(--svh) * 100)
}

@supports (height: 1svh) {
    .h-100svh {
        height: 100svh
    }
}

.h-100dvh {
    height: calc(var(--dvh) * 100)
}

@supports (height: 1dvh) {
    .h-100dvh {
        height: 100dvh
    }
}

.min-h-100dvh {
    min-height: calc(var(--dvh) * 100)
}

@supports (height: 1dvh) {
    .min-h-100dvh {
        min-height: 100dvh
    }
}

.h-1em {
    height: 1em
}

.h-36 {
    height: 2.25rem
}

.h-42 {
    height: 2.625rem
}

@media (min-width: 768px) {
    .h-42\@sm {
        height: 2.625rem
    }

    .h-48\@sm {
        height: 3rem
    }
}

@media (min-width: 1024px) {
    .h-1\/1\@md {
        height: 100%
    }
}

.object-cover {
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width: 768px) {
    .offset-2\/24\@sm {
        margin-left: 8.3333333333% !important
    }
}

@media (min-width: 1024px) {
    .offset-0\@md {
        margin-left: 0 !important
    }

    .offset-14\/24\@md {
        margin-left: 58.3333333333% !important
    }

    .offset-9\/24\@md {
        margin-left: 37.5% !important
    }

    .offset-3\/24\@md {
        margin-left: 12.5% !important
    }

    .offset-2\/24\@md {
        margin-left: 8.3333333333% !important
    }

    .offset-1\/24\@md {
        margin-left: 4.1666666667% !important
    }
}

@media (min-width: 1366px) {
    .offset-2\/24\@lg {
        margin-left: 8.3333333333% !important
    }

    .offset-1\/24\@lg {
        margin-left: 4.1666666667% !important
    }
}

.opacity-0 {
    opacity: 0
}

.overflow-hidden {
    overflow: hidden
}

.overflow-auto {
    overflow: auto
}

@media (min-width: 1366px) {
    .overflow-hidden\@lg {
        overflow: hidden
    }
}

.pointer-events-none {
    pointer-events: none
}

.pointer-events-auto {
    pointer-events: auto
}

.relative {
    position: relative
}

.absolute {
    position: absolute
}

.fixed {
    position: fixed
}

.static {
    position: static
}

.sticky {
    position: sticky
}

.top {
    top: 0
}

.right {
    right: 0
}

.bottom {
    bottom: 0
}

.left {
    left: 0
}

.fill {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.center-y {
    top: 50%;
    transform: translateY(-50%)
}

@media (min-width: 768px) {
    .absolute\@sm {
        position: absolute
    }
}

@media (min-width: 1024px) {
    .static\@md {
        position: static
    }
}

.mx-auto {
    margin-left: auto !important;
    margin-right: auto !important
}

.mt-auto {
    margin-top: auto !important
}

.ml-auto {
    margin-left: auto !important
}

.m-0 {
    margin: 0 !important
}

.mb-0 {
    margin-bottom: 0 !important
}

.mt-2 {
    margin-top: .125rem !important
}

.mb-2 {
    margin-bottom: .125rem !important
}

.-mb-2 {
    margin-bottom: -.125rem !important
}

.mx-4 {
    margin-left: .25rem !important;
    margin-right: .25rem !important
}

.-mt-4 {
    margin-top: -.25rem !important
}

.mt-6 {
    margin-top: .375rem !important
}

.mr-6 {
    margin-right: .375rem !important
}

.ml-6 {
    margin-left: .375rem !important
}

.mt-8 {
    margin-top: .5rem !important
}

.mb-8 {
    margin-bottom: .5rem !important
}

.ml-8 {
    margin-left: .5rem !important
}

.mt-10 {
    margin-top: .625rem !important
}

.mb-10 {
    margin-bottom: .625rem !important
}

.ml-10 {
    margin-left: .625rem !important
}

.mx-12 {
    margin-left: .75rem !important;
    margin-right: .75rem !important
}

.mt-12 {
    margin-top: .75rem !important
}

.mr-12 {
    margin-right: .75rem !important
}

.mb-12 {
    margin-bottom: .75rem !important
}

.ml-12 {
    margin-left: .75rem !important
}

.mt-14 {
    margin-top: .875rem !important
}

.mb-14 {
    margin-bottom: .875rem !important
}

.mt-16 {
    margin-top: 1rem !important
}

.mr-16 {
    margin-right: 1rem !important
}

.mb-16 {
    margin-bottom: 1rem !important
}

.ml-16 {
    margin-left: 1rem !important
}

.mt-20 {
    margin-top: 1.25rem !important
}

.mb-20 {
    margin-bottom: 1.25rem !important
}

.my-24 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important
}

.mt-24 {
    margin-top: 1.5rem !important
}

.mr-24 {
    margin-right: 1.5rem !important
}

.mb-24 {
    margin-bottom: 1.5rem !important
}

.ml-24 {
    margin-left: 1.5rem !important
}

.my-32 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important
}

.mt-32 {
    margin-top: 2rem !important
}

.mr-32 {
    margin-right: 2rem !important
}

.mb-32 {
    margin-bottom: 2rem !important
}

.mt-40 {
    margin-top: 2.5rem !important
}

.mt-48 {
    margin-top: 3rem !important
}

.mb-48 {
    margin-bottom: 3rem !important
}

.mb-60 {
    margin-bottom: 3.75rem !important
}

.mb-64 {
    margin-bottom: 4rem !important
}

.mt-75 {
    margin-top: 4.6875rem !important
}

.mb-75 {
    margin-bottom: 4.6875rem !important
}

.my-80 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important
}

.mt-80 {
    margin-top: 5rem !important
}

.mb-80 {
    margin-bottom: 5rem !important
}

.my-120 {
    margin-top: 7.5rem !important;
    margin-bottom: 7.5rem !important
}

.mt-120 {
    margin-top: 7.5rem !important
}

.mb-120 {
    margin-bottom: 7.5rem !important
}

.mt-160 {
    margin-top: 10rem !important
}

.mb-160 {
    margin-bottom: 10rem !important
}

.p-0 {
    padding: 0 !important
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.pr-0 {
    padding-right: 0 !important
}

.pb-0 {
    padding-bottom: 0 !important
}

.pb-2 {
    padding-bottom: .125rem !important
}

.px-6 {
    padding-left: .375rem !important;
    padding-right: .375rem !important
}

.py-6 {
    padding-top: .375rem !important;
    padding-bottom: .375rem !important
}

.p-8 {
    padding: .5rem !important
}

.py-8 {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important
}

.pt-8 {
    padding-top: .5rem !important
}

.pb-8 {
    padding-bottom: .5rem !important
}

.p-10 {
    padding: .625rem !important
}

.py-10 {
    padding-top: .625rem !important;
    padding-bottom: .625rem !important
}

.pb-10 {
    padding-bottom: .625rem !important
}

.pl-10 {
    padding-left: .625rem !important
}

.p-12 {
    padding: .75rem !important
}

.px-12 {
    padding-left: .75rem !important;
    padding-right: .75rem !important
}

.py-12 {
    padding-top: .75rem !important;
    padding-bottom: .75rem !important
}

.pt-12 {
    padding-top: .75rem !important
}

.pr-12 {
    padding-right: .75rem !important
}

.pb-12 {
    padding-bottom: .75rem !important
}

.pl-12 {
    padding-left: .75rem !important
}

.pt-14 {
    padding-top: .875rem !important
}

.p-16 {
    padding: 1rem !important
}

.px-16 {
    padding-left: 1rem !important;
    padding-right: 1rem !important
}

.py-16 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important
}

.pt-16 {
    padding-top: 1rem !important
}

.pr-16 {
    padding-right: 1rem !important
}

.pb-16 {
    padding-bottom: 1rem !important
}

.pl-16 {
    padding-left: 1rem !important
}

.py-18 {
    padding-top: 1.125rem !important;
    padding-bottom: 1.125rem !important
}

.pt-18 {
    padding-top: 1.125rem !important
}

.pt-20 {
    padding-top: 1.25rem !important
}

.pb-20 {
    padding-bottom: 1.25rem !important
}

.p-24 {
    padding: 1.5rem !important
}

.px-24 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important
}

.py-24 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important
}

.pt-24 {
    padding-top: 1.5rem !important
}

.pr-24 {
    padding-right: 1.5rem !important
}

.pb-24 {
    padding-bottom: 1.5rem !important
}

.pl-24 {
    padding-left: 1.5rem !important
}

.pr-48 {
    padding-right: 3rem !important
}

.pt-62 {
    padding-top: 3.875rem !important
}

.pt-75 {
    padding-top: 4.6875rem !important
}

.py-80 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important
}

.pt-80 {
    padding-top: 5rem !important
}

.pb-80 {
    padding-bottom: 5rem !important
}

.pb-96 {
    padding-bottom: 6rem !important
}

.py-120 {
    padding-top: 7.5rem !important;
    padding-bottom: 7.5rem !important
}

.pt-120 {
    padding-top: 7.5rem !important
}

.pb-120 {
    padding-bottom: 7.5rem !important
}

.py-160 {
    padding-top: 10rem !important;
    padding-bottom: 10rem !important
}

.pb-160 {
    padding-bottom: 10rem !important
}

@media (min-width: 768px) {
    .m-0\@sm {
        margin: 0 !important
    }

    .my-0\@sm {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .mb-0\@sm {
        margin-bottom: 0 !important
    }

    .mx-6\@sm {
        margin-left: .375rem !important;
        margin-right: .375rem !important
    }

    .mt-8\@sm {
        margin-top: .5rem !important
    }

    .mt-10\@sm {
        margin-top: .625rem !important
    }

    .mt-14\@sm {
        margin-top: .875rem !important
    }

    .mb-14\@sm {
        margin-bottom: .875rem !important
    }

    .mt-16\@sm {
        margin-top: 1rem !important
    }

    .mr-16\@sm {
        margin-right: 1rem !important
    }

    .mb-16\@sm {
        margin-bottom: 1rem !important
    }

    .ml-16\@sm {
        margin-left: 1rem !important
    }

    .mb-18\@sm {
        margin-bottom: 1.125rem !important
    }

    .mb-20\@sm {
        margin-bottom: 1.25rem !important
    }

    .mt-24\@sm {
        margin-top: 1.5rem !important
    }

    .mr-24\@sm {
        margin-right: 1.5rem !important
    }

    .mb-24\@sm {
        margin-bottom: 1.5rem !important
    }

    .ml-24\@sm {
        margin-left: 1.5rem !important
    }

    .mt-30\@sm {
        margin-top: 1.875rem !important
    }

    .my-32\@sm {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important
    }

    .mt-32\@sm {
        margin-top: 2rem !important
    }

    .mb-32\@sm {
        margin-bottom: 2rem !important
    }

    .mt-40\@sm {
        margin-top: 2.5rem !important
    }

    .mx-44\@sm {
        margin-left: 2.75rem !important;
        margin-right: 2.75rem !important
    }

    .mt-44\@sm {
        margin-top: 2.75rem !important
    }

    .mb-44\@sm {
        margin-bottom: 2.75rem !important
    }

    .mt-48\@sm {
        margin-top: 3rem !important
    }

    .mb-48\@sm {
        margin-bottom: 3rem !important
    }

    .mb-49\@sm {
        margin-bottom: 3.0625rem !important
    }

    .mt-54\@sm {
        margin-top: 3.375rem !important
    }

    .mr-54\@sm {
        margin-right: 3.375rem !important
    }

    .mb-60\@sm {
        margin-bottom: 3.75rem !important
    }

    .mt-64\@sm {
        margin-top: 4rem !important
    }

    .mb-72\@sm {
        margin-bottom: 4.5rem !important
    }

    .mb-80\@sm {
        margin-bottom: 5rem !important
    }

    .mb-100\@sm {
        margin-bottom: 6.25rem !important
    }

    .mt-120\@sm {
        margin-top: 7.5rem !important
    }

    .mb-120\@sm {
        margin-bottom: 7.5rem !important
    }

    .mb-134\@sm {
        margin-bottom: 8.375rem !important
    }

    .my-160\@sm {
        margin-top: 10rem !important;
        margin-bottom: 10rem !important
    }

    .mt-160\@sm {
        margin-top: 10rem !important
    }

    .mb-160\@sm {
        margin-bottom: 10rem !important
    }

    .mt-240\@sm {
        margin-top: 15rem !important
    }

    .mb-240\@sm {
        margin-bottom: 15rem !important
    }

    .px-0\@sm {
        padding-left: 0 !important;
        padding-right: 0 !important
    }

    .pl-0\@sm {
        padding-left: 0 !important
    }

    .pb-8\@sm {
        padding-bottom: .5rem !important
    }

    .p-12\@sm {
        padding: .75rem !important
    }

    .py-12\@sm {
        padding-top: .75rem !important;
        padding-bottom: .75rem !important
    }

    .p-16\@sm {
        padding: 1rem !important
    }

    .px-16\@sm {
        padding-left: 1rem !important;
        padding-right: 1rem !important
    }

    .pt-16\@sm {
        padding-top: 1rem !important
    }

    .pr-16\@sm {
        padding-right: 1rem !important
    }

    .pb-16\@sm {
        padding-bottom: 1rem !important
    }

    .pl-16\@sm {
        padding-left: 1rem !important
    }

    .py-18\@sm {
        padding-top: 1.125rem !important;
        padding-bottom: 1.125rem !important
    }

    .px-24\@sm {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important
    }

    .py-24\@sm {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important
    }

    .pt-24\@sm {
        padding-top: 1.5rem !important
    }

    .pb-24\@sm {
        padding-bottom: 1.5rem !important
    }

    .pl-24\@sm {
        padding-left: 1.5rem !important
    }

    .pb-28\@sm {
        padding-bottom: 1.75rem !important
    }

    .p-32\@sm {
        padding: 2rem !important
    }

    .px-32\@sm {
        padding-left: 2rem !important;
        padding-right: 2rem !important
    }

    .py-32\@sm {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important
    }

    .pt-32\@sm {
        padding-top: 2rem !important
    }

    .pb-32\@sm {
        padding-bottom: 2rem !important
    }

    .pt-36\@sm {
        padding-top: 2.25rem !important
    }

    .pt-48\@sm {
        padding-top: 3rem !important
    }

    .pt-80\@sm {
        padding-top: 5rem !important
    }

    .pr-80\@sm {
        padding-right: 5rem !important
    }

    .pt-96\@sm {
        padding-top: 6rem !important
    }

    .pb-96\@sm {
        padding-bottom: 6rem !important
    }

    .pt-120\@sm {
        padding-top: 7.5rem !important
    }

    .pb-120\@sm {
        padding-bottom: 7.5rem !important
    }

    .py-160\@sm {
        padding-top: 10rem !important;
        padding-bottom: 10rem !important
    }

    .pt-160\@sm {
        padding-top: 10rem !important
    }

    .pb-160\@sm {
        padding-bottom: 10rem !important
    }

    .py-180\@sm {
        padding-top: 11.25rem !important;
        padding-bottom: 11.25rem !important
    }

    .pt-240\@sm {
        padding-top: 15rem !important
    }

    .pb-240\@sm {
        padding-bottom: 15rem !important
    }
}

@media (min-width: 1024px) {
    .mt-auto\@md {
        margin-top: auto !important
    }

    .ml-auto\@md {
        margin-left: auto !important
    }

    .m-0\@md {
        margin: 0 !important
    }

    .my-0\@md {
        margin-top: 0 !important;
        margin-bottom: 0 !important
    }

    .mt-0\@md {
        margin-top: 0 !important
    }

    .mb-0\@md {
        margin-bottom: 0 !important
    }

    .ml-0\@md {
        margin-left: 0 !important
    }

    .mb-4\@md {
        margin-bottom: .25rem !important
    }

    .mx-8\@md {
        margin-left: .5rem !important;
        margin-right: .5rem !important
    }

    .mt-10\@md {
        margin-top: .625rem !important
    }

    .mb-10\@md {
        margin-bottom: .625rem !important
    }

    .mt-12\@md {
        margin-top: .75rem !important
    }

    .mr-12\@md {
        margin-right: .75rem !important
    }

    .mb-12\@md {
        margin-bottom: .75rem !important
    }

    .mt-16\@md {
        margin-top: 1rem !important
    }

    .mb-16\@md {
        margin-bottom: 1rem !important
    }

    .-mb-16\@md {
        margin-bottom: -1rem !important
    }

    .mb-18\@md {
        margin-bottom: 1.125rem !important
    }

    .mt-20\@md {
        margin-top: 1.25rem !important
    }

    .mt-24\@md {
        margin-top: 1.5rem !important
    }

    .mb-24\@md {
        margin-bottom: 1.5rem !important
    }

    .mt-28\@md {
        margin-top: 1.75rem !important
    }

    .my-32\@md {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important
    }

    .mt-32\@md {
        margin-top: 2rem !important
    }

    .mb-32\@md {
        margin-bottom: 2rem !important
    }

    .mt-48\@md {
        margin-top: 3rem !important
    }

    .mb-48\@md {
        margin-bottom: 3rem !important
    }

    .my-56\@md {
        margin-top: 3.5rem !important;
        margin-bottom: 3.5rem !important
    }

    .mt-60\@md {
        margin-top: 3.75rem !important
    }

    .mb-60\@md {
        margin-bottom: 3.75rem !important
    }

    .mr-64\@md {
        margin-right: 4rem !important
    }

    .mb-80\@md {
        margin-bottom: 5rem !important
    }

    .mt-120\@md {
        margin-top: 7.5rem !important
    }

    .mb-120\@md {
        margin-bottom: 7.5rem !important
    }

    .mt-160\@md {
        margin-top: 10rem !important
    }

    .mb-160\@md {
        margin-bottom: 10rem !important
    }

    .my-240\@md {
        margin-top: 15rem !important;
        margin-bottom: 15rem !important
    }

    .mt-240\@md {
        margin-top: 15rem !important
    }

    .mb-240\@md {
        margin-bottom: 15rem !important
    }

    .mb-320\@md {
        margin-bottom: 20rem !important
    }

    .px-0\@md {
        padding-left: 0 !important;
        padding-right: 0 !important
    }

    .py-0\@md {
        padding-top: 0 !important;
        padding-bottom: 0 !important
    }

    .pr-0\@md {
        padding-right: 0 !important
    }

    .pb-0\@md {
        padding-bottom: 0 !important
    }

    .pl-0\@md {
        padding-left: 0 !important
    }

    .px-8\@md {
        padding-left: .5rem !important;
        padding-right: .5rem !important
    }

    .pb-10\@md {
        padding-bottom: .625rem !important
    }

    .pt-14\@md {
        padding-top: .875rem !important
    }

    .p-16\@md {
        padding: 1rem !important;
        text-decoration: none;
        font-size: 28px;
    }

    .px-16\@md {
        padding-left: 1rem !important;
        padding-right: 1rem !important
    }

    .py-16\@md {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .pb-16\@md {
        padding-bottom: 1rem !important
    }

    .pt-18\@md {
        padding-top: 1.125rem !important
    }

    .pb-18\@md {
        padding-bottom: 1.125rem !important
    }

    .px-22\@md {
        padding-left: 1.375rem !important;
        padding-right: 1.375rem !important
    }

    .p-24\@md {
        padding: 1.5rem !important
    }

    .px-24\@md {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important
    }

    .pt-24\@md {
        padding-top: 1.5rem !important
    }

    .pr-24\@md {
        padding-right: 1.5rem !important
    }

    .pb-24\@md {
        padding-bottom: 1.5rem !important
    }

    .pl-24\@md {
        padding-left: 1.5rem !important
    }

    .py-32\@md {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important
    }

    .pt-32\@md {
        padding-top: 2rem !important
    }

    .pb-32\@md {
        padding-bottom: 2rem !important
    }

    .py-36\@md {
        padding-top: 2.25rem !important;
        padding-bottom: 2.25rem !important
    }

    .pt-48\@md {
        padding-top: 3rem !important
    }

    .pr-62\@md {
        padding-right: 3.875rem !important
    }

    .pb-70\@md {
        padding-bottom: 4.375rem !important
    }

    .pb-120\@md {
        padding-bottom: 7.5rem !important
    }

    .pt-160\@md {
        padding-top: 10rem !important
    }

    .pb-160\@md {
        padding-bottom: 10rem !important
    }

    .pb-180\@md {
        padding-bottom: 11.25rem !important
    }

    .py-240\@md {
        padding-top: 15rem !important;
        padding-bottom: 15rem !important
    }

    .pt-240\@md {
        padding-top: 15rem !important
    }

    .pb-240\@md {
        padding-bottom: 15rem !important
    }

    .pt-320\@md {
        padding-top: 20rem !important
    }
}

@media (min-width: 1366px) {
    .mx-auto\@lg {
        margin-left: auto !important;
        margin-right: auto !important
    }

    .mt-auto\@lg {
        margin-top: auto !important
    }

    .mt-0\@lg {
        margin-top: 0 !important
    }

    .mb-0\@lg {
        margin-bottom: 0 !important
    }

    .mt-10\@lg {
        margin-top: .625rem !important
    }

    .my-24\@lg {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important
    }

    .mr-24\@lg {
        margin-right: 1.5rem !important
    }

    .mb-24\@lg {
        margin-bottom: 1.5rem !important
    }

    .mt-30\@lg {
        margin-top: 1.875rem !important
    }

    .pb-0\@lg {
        padding-bottom: 0 !important
    }

    .pl-0\@lg {
        padding-left: 0 !important
    }

    .px-8\@lg {
        padding-left: .5rem !important;
        padding-right: .5rem !important
    }

    .p-16\@lg {
        padding: 1rem !important
    }

    .py-16\@lg {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important
    }

    .pt-24\@lg {
        padding-top: 1.5rem !important
    }

    .pl-24\@lg {
        padding-left: 1.5rem !important
    }

    .px-32\@lg {
        padding-left: 2rem !important;
        padding-right: 2rem !important
    }

    .pt-32\@lg {
        padding-top: 2rem !important
    }

    .pt-40\@lg {
        padding-top: 2.5rem !important
    }

    .p-48\@lg {
        padding: 3rem !important
    }

    .pb-48\@lg {
        padding-bottom: 3rem !important
    }

    .pb-96\@lg {
        padding-bottom: 6rem !important
    }
}

.stroke-current {
    stroke: currentColor
}

.fill-black {
    fill: #101010
}

.stroke-black {
    stroke: #101010
}

.fill-white {
    fill: #f1f1f1
}

.stroke-white {
    stroke: #f1f1f1
}

.t-uppercase {
    text-transform: uppercase !important
}

.t-capitalize {
    text-transform: capitalize !important
}

.t-nowrap {
    white-space: nowrap !important
}

.t-no-underline {
    text-decoration: none !important
}

.t-left {
    text-align: left !important
}

.t-center {
    text-align: center !important
}

.t-right {
    text-align: right !important
}

.t-12 {
    font-size: .75rem !important
}

.t-14 {
    font-size: .875rem !important
}

.t-base,
.t-16 {
    font-size: 1rem !important
}

.t-18 {
    font-size: 1.125rem !important
}

.t-20 {
    font-size: 1.25rem !important
}

.t-24 {
    font-size: 1.5rem !important
}

.t-32 {
    font-size: 2rem !important
}

.t-40 {
    font-size: 2.5rem !important
}

.t-46 {
    font-size: 2.875rem !important
}

.t-48 {
    font-size: 3rem !important
}

.t-50 {
    font-size: 3.125rem !important
}

.t-58 {
    font-size: 3.625rem !important
}

.t-64 {
    font-size: 4rem !important
}

.t-80 {
    font-size: 5rem !important
}

.t-120 {
    font-size: 7.5rem !important
}

.t-300 {
    font-weight: 300 !important
}

.t-400 {
    font-weight: 400 !important
}

.t-600 {
    font-weight: 600 !important
}

.-t-ls-2 {
    letter-spacing: -.02em !important
}

.-t-ls-4 {
    letter-spacing: -.04em !important
}

.-t-ls-6 {
    letter-spacing: -.06em !important
}

.t-lh-0\.8 {
    line-height: .8 !important
}

.t-lh-0\.85 {
    line-height: .85 !important
}

.t-lh-0\.9 {
    line-height: .9 !important
}

.t-lh-1 {
    line-height: 1 !important
}

.t-lh-1\.1 {
    line-height: 1.1 !important
}

.t-lh-1\.3 {
    line-height: 1.3 !important
}

@media (min-width: 440px) {
    .t-64\@xsm {
        font-size: 4rem !important
    }
}

@media (min-width: 768px) {
    .t-left\@sm {
        text-align: left !important
    }

    .t-center\@sm {
        text-align: center !important
    }

    .t-base\@sm,
    .t-16\@sm {
        font-size: 1rem !important
    }

    .t-18\@sm {
        font-size: 1.125rem !important
    }

    .t-20\@sm {
        font-size: 1.25rem !important
    }

    .t-24\@sm {
        font-size: 1.5rem !important
    }

    .t-28\@sm {
        font-size: 1.75rem !important
    }

    .t-32\@sm {
        font-size: 2rem !important
    }

    .t-48\@sm {
        font-size: 3rem !important
    }

    .t-64\@sm {
        font-size: 4rem !important
    }

    .t-80\@sm {
        font-size: 5rem !important
    }

    .t-110\@sm {
        font-size: 6.875rem !important
    }

    .t-120\@sm {
        font-size: 7.5rem !important
    }

    .t-160\@sm {
        font-size: 10rem !important
    }

    .t-260\@sm {
        font-size: 16.25rem !important
    }

    .-t-ls-2\@sm {
        letter-spacing: -.02em !important
    }

    .-t-ls-4\@sm {
        letter-spacing: -.04em !important
    }

    .-t-ls-6\@sm {
        letter-spacing: -.06em !important
    }

    .t-lh-1\@sm {
        line-height: 1 !important
    }

    .t-lh-1\.1\@sm {
        line-height: 1.1 !important
    }
}

@media (min-width: 1024px) {
    .t-left\@md {
        text-align: left !important
    }

    .t-14\@md {
        font-size: .875rem !important
    }

    .t-20\@md {
        font-size: 1.25rem !important
    }

    .t-24\@md {
        font-size: 1.5rem !important
    }

    .t-28\@md {
        font-size: 1.75rem !important
    }

    .t-32\@md {
        font-size: 2rem !important
    }

    .t-48\@md {
        font-size: 3rem !important
    }

    .t-80\@md {
        font-size: 5rem !important
    }

    .t-120\@md {
        font-size: 7.5rem !important
    }

    .t-140\@md {
        font-size: 8.75rem !important
    }

    .t-160\@md {
        font-size: 10rem !important
    }

    .t-200\@md {
        font-size: 12.5rem !important
    }

    .t-210\@md {
        font-size: 13.125rem !important
    }

    .t-360\@md {
        font-size: 22.5rem !important
    }

    .t-500\@md {
        font-size: 31.25rem !important
    }

    .-t-ls-4\@md {
        letter-spacing: -.04em !important
    }

    .t-lh-0\.8\@md {
        line-height: .8 !important
    }

    .t-lh-0\.85\@md {
        line-height: .85 !important
    }

    .t-lh-0\.9\@md {
        line-height: .9 !important
    }

    .t-lh-1\.1\@md {
        line-height: 1.1 !important
    }
}

@media (min-width: 1366px) {
    .t-right\@lg {
        text-align: right !important
    }

    .t-20\@lg {
        font-size: 1.25rem !important
    }

    .t-24\@lg {
        font-size: 1.5rem !important
    }

    .t-32\@lg {
        font-size: 2rem !important
    }

    .t-40\@lg {
        font-size: 2.5rem !important
    }

    .t-80\@lg {
        font-size: 5rem !important
    }

    .t-120\@lg {
        font-size: 7.5rem !important
    }

    .t-160\@lg {
        font-size: 10rem !important
    }

    .t-260\@lg {
        font-size: 16.25rem !important
    }

    .t-500\@lg {
        font-size: 31.25rem !important
    }

    .t-lh-0\.7\@lg {
        line-height: .7 !important
    }
}

.t-strikethrough {
    text-decoration: line-through
}

.trim-vertical>*:first-child {
    margin-top: 0 !important
}

.trim-vertical>*:last-child {
    margin-bottom: 0 !important
}

:root {
    --scrollbar: #1d1d1d;
    --black: #fff;
    --white: #151719;
    --gradient: #ffab23;
    --grey: #AEAEAE;
    --gold: #CC9C40;
    --schedule: #E9EBEE;
    --light-grey: #B7B7B7;
    --bp-xsm: (min-width: 440px);
    --bp-sm: (min-width: 768px);
    --bp-md: (min-width: 1024px);
    --bp-lg: (min-width: 1366px);
    --bp-xlg: (min-width: 1536px);
    --bp-xxlg: (min-width: 1921px);
    --bp-retina: (min-width: 2560px);
    --bp-4k: (min-width: 3840px);
    --bp-touch: (pointer: coarse);
    --bp-nottouch: (hover: hover) and (pointer: fine);
    --bp-ipadpro: (hover: none) and (pointer: coarse) and (min-width: 1024px);
    --lvh: 1vh
}

@supports (height: 1lvh) {
    :root {
        --lvh: 1lvh
    }
}

.visibility-hidden {
    visibility: hidden
}

.z-0 {
    z-index: 0
}

.z-1 {
    z-index: 1
}

.z-10 {
    z-index: 10
}

.z-20 {
    z-index: 20
}

.z-30 {
    z-index: 30
}

.z-100 {
    z-index: 100
}

.z-1000 {
    z-index: 1000
}