:root {
    --green1: #0080ff;
    --green2: #004c98;
    --green3: #0080ff;
    --blue1: #1a936f;
    --blue2: #1a936f;
    --blue3: #1a936f;
    --dark1: #202020
    }
@media print {
    @page {
        margin: 1cm
        }
    body {
        background: #fff;
        color: #000
        }
    a {
        page-break-inside: avoid
        }
    blockquote {
        page-break-inside: avoid
        }
    table, pre {
        page-break-inside: avoid
        }
    ul, ol, dl {
        page-break-before: avoid
        }
    }
@font-face {
    font-family: "shapiro";
    src: url(../fonts/shapiro-35feather-webfont.woff2) format("woff2"), url(../fonts/shapiro-35feather-webfont.woff) format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap
    }
@font-face {
    font-family: "shapiro";
    src: url(../fonts/shapiro-55middle-webfont.woff2) format("woff2"), url(../fonts/shapiro-55middle-webfont.woff) format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap
    }
.pretty * {
    box-sizing: border-box
    }
.pretty input:not([type=checkbox]):not([type=radio]) {
    display: none
    }
.pretty {
    position: relative;
    display: inline-block;
    margin-right: 1em;
    white-space: nowrap;
    line-height: 1
    }
.pretty input {
    position: absolute;
    left: 0;
    top: 0;
    min-width: 1em;
    width: 100%;
    height: 100%;
    z-index: 2;
    opacity: 0;
    margin: 0;
    padding: 0;
    cursor: pointer
    }
.pretty .state label {
    position: initial;
    display: inline-block;
    font-weight: normal;
    margin: 0;
    text-indent: 1.5em;
    min-width: calc(1em + 2px)
    }
.pretty .state label:before, .pretty .state label:after {
    content: "";
    width: calc(1em + 2px);
    height: calc(1em + 2px);
    display: block;
    box-sizing: border-box;
    border-radius: 0;
    border: 1px solid transparent;
    z-index: 0;
    position: absolute;
    left: 0;
    background-color: transparent
    }
.pretty .state label:before {
    border-color: #202020
    }
.pretty .state.p-is-hover, .pretty .state.p-is-indeterminate {
    display: none
    }
.pretty.p-default.p-fill .state label:after {
    transform: scale(1)
    }
.pretty.p-default .state label:after {
    transform: scale(0.6)
    }
.pretty.p-default input:checked ~ .state label:after {
    background-color: #202020 !important
    }
.pretty.p-default.p-thick .state label:before, .pretty.p-default.p-thick .state label:after {
    border-width: calc(1em / 7)
    }
.pretty.p-default.p-thick .state label:after {
    transform: scale(0.4) !important
    }
.pretty.p-has-hover input:hover ~ .state:not(.p-is-hover) {
    display: none
    }
.pretty.p-has-hover input:hover ~ .state.p-is-hover {
    display: block
    }
.pretty.p-has-hover input:hover ~ .state.p-is-hover .icon {
    display: block
    }
.pretty.p-has-focus input:focus ~ .state label:before {
    box-shadow: 0 0 3px 0 #bdc3c7
    }
.pretty.p-has-indeterminate input[type=checkbox]:indeterminate ~ .state:not(.p-is-indeterminate) {
    display: none
    }
.pretty.p-has-indeterminate input[type=checkbox]:indeterminate ~ .state.p-is-indeterminate {
    display: block
    }
.pretty.p-has-indeterminate input[type=checkbox]:indeterminate ~ .state.p-is-indeterminate .icon {
    display: block;
    opacity: 1
    }
.pretty.p-curve .state label:before, .pretty.p-curve .state label:after {
    border-radius: 20%
    }
.pretty input:checked ~ .state.p-primary label:after, .pretty.p-toggle .state.p-primary label:after {
    background-color: #0080ff !important
    }
.pretty input:checked ~ .state.p-primary .icon, .pretty input:checked ~ .state.p-primary .svg, .pretty.p-toggle .state.p-primary .icon, .pretty.p-toggle .state.p-primary .svg {
    color: #fff;
    stroke: #fff
    }
.pretty input:checked ~ .state.p-primary-o label:before, .pretty.p-toggle .state.p-primary-o label:before {
    border-color: #0080ff
    }
.pretty input:checked ~ .state.p-primary-o label:after, .pretty.p-toggle .state.p-primary-o label:after {
    background-color: transparent
    }
.pretty input:checked ~ .state.p-primary-o .icon, .pretty input:checked ~ .state.p-primary-o .svg, .pretty input:checked ~ .state.p-primary-o svg, .pretty.p-toggle .state.p-primary-o .icon, .pretty.p-toggle .state.p-primary-o .svg, .pretty.p-toggle .state.p-primary-o svg {
    color: #0080ff;
    stroke: #0080ff
    }
.pretty.p-default:not(.p-fill) input:checked ~ .state.p-primary-o label:after {
    background-color: #0080ff !important
    }
.pretty.p-switch input:checked ~ .state.p-primary:before {
    border-color: #0080ff
    }
.pretty.p-switch.p-fill input:checked ~ .state.p-primary:before {
    background-color: #0080ff !important
    }
.pretty.p-switch.p-slim input:checked ~ .state.p-primary:before {
    border-color: #004d99;
    background-color: #004d99 !important
    }
.pretty input:checked ~ .state.p-info label:after, .pretty.p-toggle .state.p-info label:after {
    background-color: #5bc0de !important
    }
.pretty input:checked ~ .state.p-info .icon, .pretty input:checked ~ .state.p-info .svg, .pretty.p-toggle .state.p-info .icon, .pretty.p-toggle .state.p-info .svg {
    color: #fff;
    stroke: #fff
    }
.pretty input:checked ~ .state.p-info-o label:before, .pretty.p-toggle .state.p-info-o label:before {
    border-color: #5bc0de
    }
.pretty input:checked ~ .state.p-info-o label:after, .pretty.p-toggle .state.p-info-o label:after {
    background-color: transparent
    }
.pretty input:checked ~ .state.p-info-o .icon, .pretty input:checked ~ .state.p-info-o .svg, .pretty input:checked ~ .state.p-info-o svg, .pretty.p-toggle .state.p-info-o .icon, .pretty.p-toggle .state.p-info-o .svg, .pretty.p-toggle .state.p-info-o svg {
    color: #5bc0de;
    stroke: #5bc0de
    }
.pretty.p-default:not(.p-fill) input:checked ~ .state.p-info-o label:after {
    background-color: #5bc0de !important
    }
.pretty.p-switch input:checked ~ .state.p-info:before {
    border-color: #5bc0de
    }
.pretty.p-switch.p-fill input:checked ~ .state.p-info:before {
    background-color: #5bc0de !important
    }
.pretty.p-switch.p-slim input:checked ~ .state.p-info:before {
    border-color: #2390b0;
    background-color: #2390b0 !important
    }
.pretty input:checked ~ .state.p-success label:after, .pretty.p-toggle .state.p-success label:after {
    background-color: #5cb85c !important
    }
.pretty input:checked ~ .state.p-success .icon, .pretty input:checked ~ .state.p-success .svg, .pretty.p-toggle .state.p-success .icon, .pretty.p-toggle .state.p-success .svg {
    color: #fff;
    stroke: #fff
    }
.pretty input:checked ~ .state.p-success-o label:before, .pretty.p-toggle .state.p-success-o label:before {
    border-color: #5cb85c
    }
.pretty input:checked ~ .state.p-success-o label:after, .pretty.p-toggle .state.p-success-o label:after {
    background-color: transparent
    }
.pretty input:checked ~ .state.p-success-o .icon, .pretty input:checked ~ .state.p-success-o .svg, .pretty input:checked ~ .state.p-success-o svg, .pretty.p-toggle .state.p-success-o .icon, .pretty.p-toggle .state.p-success-o .svg, .pretty.p-toggle .state.p-success-o svg {
    color: #5cb85c;
    stroke: #5cb85c
    }
.pretty.p-default:not(.p-fill) input:checked ~ .state.p-success-o label:after {
    background-color: #5cb85c !important
    }
.pretty.p-switch input:checked ~ .state.p-success:before {
    border-color: #5cb85c
    }
.pretty.p-switch.p-fill input:checked ~ .state.p-success:before {
    background-color: #5cb85c !important
    }
.pretty.p-switch.p-slim input:checked ~ .state.p-success:before {
    border-color: #357935;
    background-color: #357935 !important
    }
.pretty input:checked ~ .state.p-warning label:after, .pretty.p-toggle .state.p-warning label:after {
    background-color: #f0ad4e !important
    }
.pretty input:checked ~ .state.p-warning .icon, .pretty input:checked ~ .state.p-warning .svg, .pretty.p-toggle .state.p-warning .icon, .pretty.p-toggle .state.p-warning .svg {
    color: #fff;
    stroke: #fff
    }
.pretty input:checked ~ .state.p-warning-o label:before, .pretty.p-toggle .state.p-warning-o label:before {
    border-color: #f0ad4e
    }
.pretty input:checked ~ .state.p-warning-o label:after, .pretty.p-toggle .state.p-warning-o label:after {
    background-color: transparent
    }
.pretty input:checked ~ .state.p-warning-o .icon, .pretty input:checked ~ .state.p-warning-o .svg, .pretty input:checked ~ .state.p-warning-o svg, .pretty.p-toggle .state.p-warning-o .icon, .pretty.p-toggle .state.p-warning-o .svg, .pretty.p-toggle .state.p-warning-o svg {
    color: #f0ad4e;
    stroke: #f0ad4e
    }
.pretty.p-default:not(.p-fill) input:checked ~ .state.p-warning-o label:after {
    background-color: #f0ad4e !important
    }
.pretty.p-switch input:checked ~ .state.p-warning:before {
    border-color: #f0ad4e
    }
.pretty.p-switch.p-fill input:checked ~ .state.p-warning:before {
    background-color: #f0ad4e !important
    }
.pretty.p-switch.p-slim input:checked ~ .state.p-warning:before {
    border-color: #c77c11;
    background-color: #c77c11 !important
    }
.pretty input:checked ~ .state.p-danger label:after, .pretty.p-toggle .state.p-danger label:after {
    background-color: #d9534f !important
    }
.pretty input:checked ~ .state.p-danger .icon, .pretty input:checked ~ .state.p-danger .svg, .pretty.p-toggle .state.p-danger .icon, .pretty.p-toggle .state.p-danger .svg {
    color: #fff;
    stroke: #fff
    }
.pretty input:checked ~ .state.p-danger-o label:before, .pretty.p-toggle .state.p-danger-o label:before {
    border-color: #d9534f
    }
.pretty input:checked ~ .state.p-danger-o label:after, .pretty.p-toggle .state.p-danger-o label:after {
    background-color: transparent
    }
.pretty input:checked ~ .state.p-danger-o .icon, .pretty input:checked ~ .state.p-danger-o .svg, .pretty input:checked ~ .state.p-danger-o svg, .pretty.p-toggle .state.p-danger-o .icon, .pretty.p-toggle .state.p-danger-o .svg, .pretty.p-toggle .state.p-danger-o svg {
    color: #d9534f;
    stroke: #d9534f
    }
.pretty.p-default:not(.p-fill) input:checked ~ .state.p-danger-o label:after {
    background-color: #d9534f !important
    }
.pretty.p-switch input:checked ~ .state.p-danger:before {
    border-color: #d9534f
    }
.pretty.p-switch.p-fill input:checked ~ .state.p-danger:before {
    background-color: #d9534f !important
    }
.pretty.p-switch.p-slim input:checked ~ .state.p-danger:before {
    border-color: #a02622;
    background-color: #a02622 !important
    }
.pretty-reversed {
    max-width: 100%;
    display: block
    }
.pretty-reversed .state label {
    padding-right: 1.5rem;
    text-indent: inherit
    }
.pretty-reversed .state label::after, .pretty-reversed .state label::before {
    left: auto;
    right: 0
    }
.pretty-multi {
    white-space: inherit;
    width: 14rem;
    width: 100%
    }
.pretty-multi .state label {
    text-indent: 0;
    padding-left: 2rem;
    padding-top: 0
    }
@media (min-width: 768px) {
    .pretty-multi .state label {
        padding-top: 2px
        }
    }
.pretty-multi .state label::after, .pretty-multi .state label::before {
    top: 0
    }
.download-block li {
    display: block;
    margin-bottom: 0.75rem;
    padding-left: 1.5rem;
    vertical-align: text-top;
    background-image: url("data:image/svg+xml,%3Csvg height='18' viewBox='0 0 15 18' width='15' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m16 24h-15v-18h10.5l4.5 4.5zm-5.25-17.25h-9v16.5h13.5v-12h-4.5zm2.25 11.25v.75h-9v-.75zm0-2.25v.75h-9v-.75zm0-2.25v.75h-9v-.75zm-1.5-3h3.4395l-3.4395-3.4395z' fill='%230080ff' fill-rule='evenodd' transform='translate(-1 -6)'/%3E%3C/svg%3E");
    background-size: 15px 18px;
    background-repeat: no-repeat;
    background-position: 0 4px
    }
.download-block li:last-child {
    margin-bottom: 0
    }
.download-block li span {
    display: block;
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 18px;
    padding-top: 0.25rem;
    --tw-text-opacity: 1
    }
@media (min-width: 768px) {
    .download-block li span {
        display: inline-block;
        font-size: 0.875rem;
        line-height: 20px;
        padding-top: 0;
        padding-left: 0.75rem
        }
    }
.download-block a {
    font-weight: 700;
    font-size: 0.875rem;
    line-height: 20px;
    --tw-text-opacity: 1;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
@media (min-width: 768px) {
    .download-block a {
        font-size: 1rem;
        line-height: 24px
        }
    }
.download-block a:hover {
    --tw-text-opacity: 1
    }
.download-block a:hover li {
    background-image: url("data:image/svg+xml,%3Csvg height='18' viewBox='0 0 15 18' width='15' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m16 24h-15v-18h10.5l4.5 4.5zm-5.25-17.25h-9v16.5h13.5v-12h-4.5zm2.25 11.25v.75h-9v-.75zm0-2.25v.75h-9v-.75zm0-2.25v.75h-9v-.75zm-1.5-3h3.4395l-3.4395-3.4395z' fill='%23004C98' fill-rule='evenodd' transform='translate(-1 -6)'/%3E%3C/svg%3E")
    }
.events {
    position: relative
    }
@media (min-width: 768px) {
    .events {
        margin-top: -2rem
        }
    }
.events {
    min-height: 50vh
    }
.events::after {
    --tw-bg-opacity: 1;
    opacity: 0;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    will-change: opacity;
    position: fixed;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    pointer-events: none;
    min-height: 100vh
    }
.events__filter {
    --tw-bg-opacity: 1;
    --tw-border-opacity: 1;
    border-bottom-width: 1px;
    display: grid;
    margin-top: -1rem;
    padding-bottom: 1rem;
    position: sticky;
    top: 5rem;
    gap: 1.5rem;
    grid-template-columns: repeat(12, minmax(0, 1fr))
    }
@media (min-width: 768px) {
    .events__filter {
        margin-top: 0;
        top: 6rem
        }
    }
@media (min-width: 1280px) {
    .events__filter {
        gap: 2rem
        }
    }
.events__filter {
    z-index: 50
    }
@media (min-width: 768px) {
    .events__filter {
        z-index: 100
        }
    }
.events__filter .close-filter {
    cursor: pointer;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    display: none
    }
@media (hover: hover) and (pointer: fine) {
    .events__filter .close-filter:hover {
        --tw-text-opacity: 1
        }
    }
.events__filter .filter-col {
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    cursor: pointer;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
@media (hover: hover) and (pointer: fine) {
    .events__filter .filter-col:hover {
        --tw-text-opacity: 1
        }
    }
.events__filter .filter-overlay {
    display: none;
    overflow: hidden;
    padding-bottom: 1rem;
    position: absolute;
    width: 100%;
    z-index: 10;
    gap: 1.5rem;
    grid-template-columns: repeat(12, minmax(0, 1fr))
    }
@media (min-width: 1280px) {
    .events__filter .filter-overlay {
        gap: 2rem
        }
    }
.events .event.events__filter .filter-overlay {
    display: none
    }
.events__filter .filter-overlay {
    height: calc(100vh - 80px);
    -webkit-overflow-scrolling: touch;
    top: 56px
    }
@media (min-width: 1024px) {
    .events__filter .filter-overlay {
        top: 60px
        }
    }
@media (min-width: 1280px) {
    .events__filter .filter-overlay {
        top: 42px
        }
    }
.events__filter .filter-options {
    grid-row-start: 1
    }
@media (min-width: 1280px) {
    .events__filter .filter-options {
        grid-row-start: auto
        }
    }
.events__filter .filter-options-inner {
    padding-top: 0;
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll
    }
@media (min-width: 1280px) {
    .events__filter .filter-options-inner {
        padding-top: 1rem
        }
    }
.events__filter .filter-options-inner .pretty {
    font-size: 0.875rem;
    line-height: 20px;
    line-height: 1;
    margin-right: 0;
    margin-bottom: 0.5rem;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    line-height: 0.99
    }
@media (min-width: 1280px) {
    .events__filter .filter-options-inner .pretty {
        font-size: 1rem;
        line-height: 24px;
        line-height: 1
        }
    }
@media (hover: hover) and (pointer: fine) {
    .events__filter .filter-options-inner .pretty:hover {
        --tw-text-opacity: 1
        }
    }
.events__filter .filter-options-inner .pretty label {
    overflow: hidden;
    padding-right: 0.25rem;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 90%
    }
.events.filter--open::after {
    opacity: 0.95
    }
.events.filter--open .close-filter {
    display: block
    }
.events.filter--open .date-col {
    opacity: 0.05;
    display: none
    }
@media (min-width: 768px) {
    .events.filter--open .date-col {
        display: block
        }
    }
.events.filter--open .filter-col {
    display: none
    }
@media (min-width: 1280px) {
    .events.filter--open .filter-col {
        display: block
        }
    }
.events .event.events.filter--open .filter-col {
    display: none
    }
.events.filter--open .filter-col.filter-all {
    display: none
    }
@media (min-width: 1024px) {
    .events.filter--open .filter-col.filter-all {
        display: none
        }
    }
.events .event.events.filter--open .filter-col.filter-all {
    display: none
    }
.events.filter--open .filter-overlay {
    display: grid
    }
.events .event {
    --tw-border-opacity: 1;
    border-bottom-width: 1px;
    display: grid;
    padding-top: 1rem;
    padding-bottom: 1.5rem;
    gap: 1.5rem;
    grid-template-columns: repeat(12, minmax(0, 1fr))
    }
@media (min-width: 1280px) {
    .events .event {
        gap: 2rem
        }
    }
.events .event.hidden {
    display: none
    }
.events .event:last-child {
    border-bottom-width: 0
    }
.events .event__dates {
    gap: 1.5rem;
    grid-column: span 6/span 6;
    grid-column-start: 1
    }
@media (min-width: 768px) {
    .events .event__dates {
        grid-column: span 3/span 3
        }
    }
@media (min-width: 1280px) {
    .events .event__dates {
        gap: 2rem
        }
    }
.events .event__dates p {
    display: inline;
    font-size: 1.125rem;
    line-height: 28px;
    position: sticky
    }
@media (min-width: 768px) {
    .events .event__dates p {
        font-size: 1.25rem;
        line-height: 24px
        }
    }
@media (min-width: 1280px) {
    .events .event__dates p {
        font-size: 1.75rem;
        line-height: 32px
        }
    }
.events .event__dates p {
    top: 138px
    }
@media (min-width: 768px) {
    .events .event__dates p {
        top: 150px
        }
    }
.events .event .entries-wrapper {
    grid-column: span 6/span 6;
    grid-column-end: auto
    }
@media (min-width: 768px) {
    .events .event .entries-wrapper {
        grid-column: span 9/span 9
        }
    }
@media (min-width: 1280px) {
    .events .event .entries-wrapper {
        grid-column-end: 13
        }
    }
.events .event__entries {
    display: grid;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    row-gap: 1.5rem;
    grid-template-columns: repeat(1, minmax(0, 1fr))
    }
@media (min-width: 768px) {
    .events .event__entries {
        grid-template-columns: repeat(2, minmax(0, 1fr))
        }
    }
@media (min-width: 1280px) {
    .events .event__entries {
        -moz-column-gap: 2rem;
        column-gap: 2rem;
        grid-template-columns: repeat(3, minmax(0, 1fr))
        }
    }
.events a {
    display: block;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
@media (hover: hover) and (pointer: fine) {
    .events a:hover {
        --tw-bg-opacity: 1
        }
    .events a:hover img {
        transform: scale3d(1.25, 1.25, 1.25)
        }
    }
.events .image-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 66.666667%;
    overflow: hidden
    }
.events img {
    opacity: 0;
    transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
    position: absolute;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
    }
.events img.loaded {
    opacity: 1
    }
.events .event-desc {
    margin-top: 0.5rem;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.events .event-desc .event-title {
    font-weight: 700;
    -webkit-hyphens: auto;
    hyphens: auto
    }
@media (min-width: 1024px) {
    .events .event-desc .event-title {
        -webkit-hyphens: initial;
        hyphens: initial
        }
    }
.events .event-desc .event-type {
    font-size: 0.75rem;
    line-height: 18px;
    line-height: 1.5rem
    }
body.is--event-page {
    min-height: 100vh
    }
footer {
    margin-top: 1rem;
    will-change: opacity;
    scroll-snap-align: end;
    scroll-snap-stop: always
    }
@media (min-width: 768px) {
    footer {
        scroll-snap-align: start;
        margin-top: 0
        }
    }
footer .footer-content {
    padding-left: 2rem;
    padding-right: 2rem
    }
footer .logo-col {
    width: 70px
    }
footer .logo-col a {
    display: block
    }
@media (min-width: 768px) {
    footer .logo-col {
        width: 100px
        }
    }
@media (min-width: 1280px) {
    footer .logo-col {
        width: 140px
        }
    }
footer .footer-nav-col {
    -moz-column-count: 2;
    column-count: 2;
    -moz-column-width: 100px;
    column-width: 100px;
    margin-top: 1.75rem
    }
@media (min-width: 1280px) {
    footer .footer-nav-col {
        margin-top: 0;
        -moz-columns: none;
        columns: none
        }
    }
footer .footer-nav-col a {
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
footer .footer-nav-col a:hover {
    --tw-text-opacity: 1
    }
footer .social-col li {
    width: 24px;
    margin-right: 1.5rem
    }
@media (min-width: 1280px) {
    footer .social-col li {
        width: 30px;
        margin-right: 1.5rem
        }
    }
footer .social-col li:last-child {
    margin-right: 0
    }
footer .social-col path {
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    fill: #fff
    }
footer .social-col a:hover {
    --tw-text-opacity: 1
    }
footer .social-col a:hover path {
    fill: currentColor
    }
.hero-atf {
    height: 100vh;
    max-height: -webkit-fill-available;
    max-height: -moz-available;
    max-height: stretch
    }
.hero-atf > .col:first-of-type {
    min-width: 230px;
    flex-shrink: 0
    }
.hero-atf > .col:last-of-type {
    display: contents
    }
.hero-atf .swiper-lazy {
    opacity: 0;
    transition: opacity 0.3s ease
    }
.hero-atf .swiper-lazy.swiper-lazy-loaded {
    opacity: 1
    }
.hero-atf .swiper-wrapper {
    transition-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
    box-sizing: border-box;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform, contents
    }
.hero-atf .swiper-slide {
    --tw-bg-opacity: 1;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: relative;
    height: 100%
    }
.hero-atf .swiper-slide figure {
    width: 100%;
    height: 100%
    }
.hero-atf .swiper-slide figcaption {
    opacity: 0;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    position: absolute;
    top: 0;
    left: 0;
    --tw-text-opacity: 1;
    width: 100%;
    z-index: 10;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-duration: 300ms
    }
@media (min-width: 768px) {
    .hero-atf .swiper-slide figcaption {
        width: 33.333333%
        }
    }
@media (min-width: 1024px) {
    .hero-atf .swiper-slide figcaption {
        padding-top: 2rem;
        padding-bottom: 2rem;
        padding-left: 2rem;
        padding-right: 2rem;
        width: 25%
        }
    }
.hero-atf .swiper-slide figcaption {
    min-width: 330px;
    font-size: 11px;
    line-height: 16px
    }
.hero-atf .swiper-slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    max-width: 100%
    }
.hero-atf .swiper-slide.swiper-slide-active figcaption {
    opacity: 1;
    transition-delay: 1000ms
    }
.hero-atf .layer-overlay {
    --tw-bg-opacity: 1;
    pointer-events: none;
    transform: translate3d(100%, 0, 0);
    mix-blend-mode: multiply
    }
@media (min-width: 768px) {
    .hero-atf .layer-overlay {
        max-height: 100%
        }
    }
.hero-atf .layer-overlay.trigger {
    transform: translate3d(-100%, 0, 0);
    transition: transform 2s cubic-bezier(0.83, 0, 0.17, 1)
    }
.hero-atf .headline svg {
    width: 100%
    }
.image-block a {
    display: block
    }
@media (hover: hover) and (pointer: fine) {
    .image-block a:hover figcaption {
        --tw-bg-opacity: 1
        }
    .image-block a:hover img {
        transform: scale3d(1.25, 1.25, 1.25)
        }
    }
.image-block .image-block-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden
    }
.image-block figcaption {
    width: 100%;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.image-block img {
    width: 100%;
    height: 100%;
    position: absolute;
    opacity: 0;
    top: 0;
    left: 0;
    transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1)
    }
.image-block img.loaded {
    opacity: 1
    }
.logowall a {
    display: inline-block;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.logowall a:hover {
    opacity: 0.6
    }
.logowall img {
    display: inline-block;
    margin-top: 2.5rem;
    opacity: 0;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    height: 64px;
    width: auto
    }
@media (min-width: 768px) {
    .logowall img {
        margin-right: 2rem
        }
    }
.logowall img.type-1 {
    height: 64px
    }
.logowall img.type-2 {
    height: 48px
    }
.logowall img.type-3 {
    height: 32px
    }
.logowall img.loaded {
    opacity: 1
    }
.tile .tile-container {
    opacity: 0;
    position: relative;
    will-change: contents;
    margin-top: 1rem;
    margin-right: -1rem;
    margin-bottom: -1rem;
    margin-left: -1rem
    }
@media (min-width: 768px) {
    .tile .tile-container {
        margin-bottom: -2rem
        }
    }
.tile .tile-container[style*=height] {
    opacity: 1
    }
.tile .tile-item {
    margin-left: 1rem;
    margin-right: 1rem;
    margin-bottom: 2rem;
    width: calc(100% - 2rem);
    will-change: transform
    }
@media (min-width: 768px) {
    .tile .tile-item {
        width: calc(50% - 2rem)
        }
    }
@media (min-width: 1024px) {
    .tile .tile-item {
        width: calc(33.33333% - 2rem)
        }
    }
.tile.wider .tile-item {
    width: calc(50% - 2rem)
    }
@media (min-width: 1024px) {
    .tile.wider .tile-item {
        width: calc(33.33333% - 2rem)
        }
    }
@media (min-width: 1280px) {
    .tile.wider .tile-item {
        width: calc(25% - 2rem)
        }
    }
.tile.style--tight .tile-item {
    margin-bottom: 1rem
    }
.tile a {
    display: block
    }
@media (hover: hover) and (pointer: fine) {
    .tile a:hover .tile-description {
        --tw-bg-opacity: 1
        }
    .tile a:hover img {
        transform: scale3d(1.25, 1.25, 1.25)
        }
    }
.tile .tile-item-content {
    position: relative;
    width: 100%
    }
.tile .tile-image-wrapper {
    position: relative;
    overflow: hidden;
    --tw-bg-opacity: 1
    }
.tile .tile-image-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
    opacity: 0;
    transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1)
    }
.tile .tile-image-wrapper img.loaded {
    opacity: 1
    }
.tile .tile-description {
    padding-top: 0.5rem;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.tile .tile-description span {
    display: block
    }
.tile .tile-description .tile-name {
    font-weight: 700;
    font-size: 1rem;
    line-height: 24px;
    line-height: 1.25rem
    }
@media (min-width: 768px) {
    .tile .tile-description .tile-name {
        font-size: 1.125rem;
        line-height: 28px;
        line-height: 1.5rem
        }
    }
.tile .tile-description .tile-bio, .tile .tile-description .tile-title, .tile .tile-description .tile-location, .tile .tile-description .tile-copyright {
    font-size: 11px;
    line-height: 16px
    }
@media (min-width: 768px) {
    .tile .tile-description .tile-bio, .tile .tile-description .tile-title, .tile .tile-description .tile-location, .tile .tile-description .tile-copyright {
        font-size: 0.875rem;
        line-height: 20px
        }
    }
.tile .tile-description .tile-title {
    margin-top: 0.125rem
    }
.tile .tile-description .tile-copyright {
    font-size: 0.75rem;
    line-height: 18px;
    margin-top: 0.625rem
    }
@media (min-width: 768px) {
    .tile .tile-description .tile-copyright {
        margin-top: 0.5rem
        }
    }
.menu {
    transform: translate3d(100%, 0, 0);
    z-index: 100;
    pointer-events: none;
    transition: transform 600ms cubic-bezier(0.83, 0, 0.17, 1);
    min-width: 330px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch
    }
.menu--open .menu {
    visibility: visible;
    pointer-events: all;
    transform: translate3d(0%, 0, 0)
    }
@media (max-height: 700px) {
    .menu__nav {
        font-size: 1.5rem;
        line-height: 28px
        }
    }
@media (max-height: 500px) {
    .menu__nav {
        font-size: 1rem;
        line-height: 24px;
        -moz-columns: 2;
        columns: 2;
        width: 100%
        }
    }
.menu__inner {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch
    }
@media (min-width: 640px) {
    .menu__inner {
        min-height: -webkit-fill-available
        }
    }
.menu ul li {
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-duration: 300ms
    }
.menu ul li:hover {
    --tw-text-opacity: 1
    }
.navbar {
    z-index: 100;
    pointer-events: none;
    height: 80px;
    align-items: flex-start
    }
@media (min-width: 768px) {
    .navbar {
        height: 108px
        }
    }
.viewport-white .navbar {
    --tw-text-opacity: 1;
    transition-delay: 0s
    }
.navbar .logo-col {
    pointer-events: all;
    padding-left: 1.5rem;
    position: absolute;
    left: 0;
    top: 50%;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translatex(var(--tw-translate-x)) translatey(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewx(var(--tw-skew-x)) skewy(var(--tw-skew-y)) scalex(var(--tw-scale-x)) scaley(var(--tw-scale-y));
    --tw-translate-y: -50%
    }
@media (min-width: 768px) {
    .navbar .logo-col {
        padding-left: 2rem
        }
    }
.navbar .logo-col__inner {
    width: 44px;
    transform: translate(-6px, 0);
    transition: transform 0.4s cubic-bezier(0.83, 0, 0.17, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    transform-origin: 0% 0%
    }
@media (min-width: 768px) {
    .navbar .logo-col__inner {
        width: 72px;
        transform: translate(-6px, 0) scale3d(1, 1, 1)
        }
    }
.is--startpage .navbar .logo-col__inner {
    width: 44px;
    transform: translate(-6px, 0) scale3d(1, 1, 1)
    }
@media (min-width: 768px) {
    .is--startpage .navbar .logo-col__inner {
        width: 72px
        }
    }
@media (min-width: 1024px) {
    .is--startpage:not(.is--shrink) .navbar .logo-col__inner {
        transform: translate(-6px, 6px) scale3d(2.222, 2.2222, 2.2222)
        }
    }
.navbar .logo-col svg {
    width: 100%
    }
@media (max-height: 520px) {
    .menu--open .navbar .logo-col {
        display: none
        }
    }
.navbar .content-col {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    align-self: center;
    display: flex
    }
.menu--open .navbar .content-col {
    opacity: 0
    }
.is--startpage .navbar .content-col {
    opacity: 0;
    pointer-events: none
    }
.navbar .content-col h1 {
    font-weight: 400;
    font-size: 1rem;
    line-height: 24px;
    line-height: 1rem;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
    transition-duration: 300ms
    }
@media (min-width: 768px) {
    .navbar .content-col h1 {
        font-size: 1.75rem;
        line-height: 32px;
        line-height: 2rem;
        padding-right: 0;
        padding-left: 0
        }
    }
@media (min-width: 1024px) {
    .navbar .content-col h1 {
        font-size: 2.25rem;
        line-height: 36px
        }
    }
.navbar .menu-col {
    pointer-events: all;
    position: absolute;
    transition: color 600ms ease;
    padding-right: 1.5rem;
    position: absolute;
    right: 0;
    top: 50%;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translatex(var(--tw-translate-x)) translatey(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewx(var(--tw-skew-x)) skewy(var(--tw-skew-y)) scalex(var(--tw-scale-x)) scaley(var(--tw-scale-y));
    --tw-translate-y: -50%
    }
@media (min-width: 768px) {
    .navbar .menu-col {
        padding-right: 2rem
        }
    }
.menu--open .navbar .menu-col {
    --tw-text-opacity: 1
    }
.menu--open .navbar .menu-col:hover {
    --tw-text-opacity: 1
    }
.is--viewport-slider:not(.menu--open) .navbar .menu-col {
    transition-delay: 0s;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.navbar .menu-col > span {
    cursor: pointer;
    display: inline-block;
    position: relative;
    perspective: 800px
    }
.navbar .menu-col > span span {
    display: block;
    width: auto;
    transition: opacity 0.2s linear;
    opacity: 0;
    transition-delay: 0.2s
    }
.navbar .menu-col > span span:first-of-type {
    opacity: 1
    }
.menu--open .navbar .menu-col > span span:first-of-type {
    opacity: 0
    }
.menu--open .navbar .menu-col > span span:last-of-type {
    opacity: 1
    }
.navbar.headroom {
    transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out, color 0.1s linear;
    transform: translatez(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
    }
.navbar.headroom--unpinned {
    transform: translate3d(0, -100%, 0)
    }
.navbar.headroom--unpinned .content-col h1 {
    transition-duration: 100ms;
    opacity: 0
    }
.menu--open .navbar.headroom--unpinned {
    transform: translate3d(0, 0, 0)
    }
@media (min-width: 768px) {
    .navbar.headroom--unpinned {
        transform: translate3d(0, 0, 0)
        }
    }
.is--event-page:not(.menu--open):not(.menu--is--transitioning) .navbar.headroom {
    transform: translate3d(0, 0, 0);
    --tw-bg-opacity: 1
    }
.is--event-page:not(.menu--open):not(.menu--is--transitioning) .navbar.headroom .content-col h1 {
    transition-duration: 100ms;
    opacity: 1
    }
@media (min-width: 768px) {
    .is--event-page:not(.menu--open):not(.menu--is--transitioning) .navbar.headroom {
        --tw-bg-opacity: 1
        }
    }
@media (min-width: 1024px) {
    .newsletter-block > div:first-of-type {
        padding-right: 1.5rem
        }
    @media (min-width: 768px) {
        .newsletter-block > div:first-of-type {
            padding-right: 2rem
            }
        }
    }
.newsletter-block h3 {
    margin-bottom: 0.875rem
    }
.newsletter-block p {
    margin-bottom: 1.5rem
    }
.newsletter-block p:last-child {
    margin-bottom: 0
    }
.newsletter-block a {
    --tw-text-opacity: 1;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.newsletter-block a:hover {
    --tw-text-opacity: 1
    }
.newsletter-block a.subscribe {
    background-color: transparent;
    --tw-border-opacity: 1;
    border-radius: 0.25rem;
    border-width: 1px;
    display: inline-block;
    margin-top: 1rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    text-align: center;
    --tw-text-opacity: 1;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    min-width: 155px
    }
.newsletter-block a.subscribe:hover {
    opacity: 0.6
    }
.newsletter-block input[type=email] {
    background-color: transparent;
    --tw-border-opacity: 1;
    --tw-border-opacity: 0.3;
    border-radius: 0.25rem;
    border-width: 1px;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 290px
    }
.newsletter-block input[type=submit] {
    background-color: transparent;
    --tw-border-opacity: 1;
    border-radius: 0.25rem;
    border-width: 1px;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 155px
    }
.newsletter-block .text-col-right {
    margin-top: 3rem
    }
@media (min-width: 1024px) {
    .newsletter-block .text-col-right {
        margin-top: 0
        }
    }
.newsletter-block .text-col-right p {
    margin-bottom: 1rem
    }
.newsletter-block .text-col-right p:last-child {
    margin-bottom: 0
    }
.newsletter-block .text-col-right a {
    --tw-text-opacity: 1
    }
.newsletter-block .text-col-right a:hover {
    --tw-text-opacity: 1
    }
.newsletter-block .text-col-right li {
    width: 30px;
    margin-right: 1.5rem
    }
.newsletter-block .text-col-right li:last-child {
    margin-right: 0
    }
.newsletter-block .text-col-right path {
    fill: currentColor;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
@media (min-width: 1024px) {
    .places > div:first-of-type {
        padding-right: 1.5rem
        }
    @media (min-width: 768px) {
        .places > div:first-of-type {
            padding-right: 2rem
            }
        }
    }
.places h2, .places h3 {
    margin-bottom: 0.875rem
    }
.places .place {
    font-size: 0.75rem;
    line-height: 18px;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
@media (min-width: 1024px) {
    .places .place {
        font-size: 0.875rem;
        line-height: 20px
        }
    }
.places .place .place-entry {
    --tw-border-opacity: 1;
    border-top-width: 1px;
    padding-top: 1rem;
    padding-bottom: 1rem
    }
.places .place .place-entry:last-of-type {
    padding-bottom: 0
    }
.places .place .place-entry:first-child {
    border-style: none
    }
.places .place .place-entry .adress-block br {
    content: ", ";
    display: inline-block;
    margin-right: 5px
    }
.places .place .place-entry a {
    --tw-text-opacity: 1
    }
.places .place .place-entry a:hover {
    --tw-text-opacity: 1
    }
.places .place .place-entry table th {
    font-weight: 700;
    text-align: left
    }
.places .place .place-entry tr > td:not(:last-of-type) {
    padding-right: 0.5rem;
    vertical-align: top
    }
.places .place .image-wrapper {
    --tw-bg-opacity: 1;
    overflow: hidden;
    position: relative;
    width: 100%
    }
.places .place .image-wrapper img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    width: 100%;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.places .place .image-wrapper img.loaded {
    opacity: 1
    }
@media (min-width: 1280px) {
    .places .place .table-col-2 {
        width: 83.333333%
        }
    }
.places .place .table-col-2 p {
    padding-bottom: 0.5rem
    }
.places .place .table-col-2 p:last-child {
    padding-bottom: 0
    }
@media (min-width: 1024px) {
    .press-dates > div:first-of-type {
        padding-right: 1.5rem
        }
    @media (min-width: 768px) {
        .press-dates > div:first-of-type {
            padding-right: 2rem
            }
        }
    }
.press-dates h3 {
    margin-bottom: 0.875rem
    }
.press-dates .press-date {
    font-size: 0.75rem;
    line-height: 18px;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
@media (min-width: 1024px) {
    .press-dates .press-date {
        font-size: 0.875rem;
        line-height: 20px
        }
    }
.press-dates .press-date .press-date-entry {
    --tw-border-opacity: 1;
    border-top-width: 1px;
    padding-top: 1rem;
    padding-bottom: 1rem
    }
.press-dates .press-date .table-col-2 p {
    padding-bottom: 0.5rem
    }
.press-dates .press-date .table-col-2 p:last-child {
    padding-bottom: 0
    }
@media (min-width: 1024px) {
    .press-login > div:first-of-type {
        padding-right: 1.5rem
        }
    @media (min-width: 768px) {
        .press-login > div:first-of-type {
            padding-right: 2rem
            }
        }
    }
.press-login h3 {
    margin-bottom: 0.875rem
    }
.press-login p {
    margin-bottom: 1.5rem
    }
.press-login p:last-child {
    margin-bottom: 0
    }
.press-login a {
    --tw-text-opacity: 1;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.press-login a:hover {
    --tw-text-opacity: 1
    }
.press-login .form-group > label {
    display: block;
    font-size: 0.75rem;
    line-height: 18px;
    margin-bottom: 0.25rem
    }
.press-login input:not([type=submit]):not([type=checkbox]) {
    background-color: transparent;
    --tw-border-opacity: 1;
    --tw-border-opacity: 0.3;
    border-radius: 0.25rem;
    border-width: 1px;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
    }
@media (min-width: 768px) {
    .press-login input:not([type=submit]):not([type=checkbox]) {
        width: 290px
        }
    }
.press-login input[type=submit], .press-login button[type=submit] {
    background-color: transparent;
    --tw-border-opacity: 1;
    border-radius: 0.25rem;
    border-width: 1px;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.25rem;
    padding-right: 0.25rem
    }
.press-login input[type=submit], .press-login button[type=submit] {
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 155px
    }
.press-login input[type=submit]:hover, .press-login button[type=submit]:hover {
    --tw-bg-opacity: 1
    }
.press-login .text-col-right {
    margin-top: 3rem
    }
@media (min-width: 1024px) {
    .press-login .text-col-right {
        margin-top: 0
        }
    }
.press-login .text-col-right p {
    margin-bottom: 1rem
    }
.press-login .text-col-right a {
    --tw-text-opacity: 1
    }
.press-login .text-col-right a:hover {
    --tw-text-opacity: 1
    }
:root {
    --blue: #011c38;
    --disabled: #959495
    }
html {
    --scroll-behavior: smooth;
    scroll-behavior: smooth;
    scroll-padding-top: 20px
    }
@media (min-width: 1024px) {
    html {
        scroll-padding-top: 40px
        }
    }
html.viewport-slides-block {
    overflow-y: hidden
    }
body::after {
    --tw-bg-opacity: 1;
    opacity: 0;
    will-change: opacity;
    transition: opacity 600ms cubic-bezier(0.83, 0, 0.17, 1);
    position: fixed;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 90;
    pointer-events: none
    }
body.menu--open::after {
    opacity: 0.8
    }
.preload-transitions * {
    transition: none !important;
    transition-duration: none !important;
    transition-timing-function: none !important;
    transition-property: none !important
    }
header {
    transition: transform 600ms cubic-bezier(0.83, 0, 0.17, 1)
    }
@media (min-width: 1024px) {
    .menu--open header {
        transform: translate3d(-33.33333%, 0, 0)
        }
    }
footer {
    transition: transform 600ms cubic-bezier(0.83, 0, 0.17, 1)
    }
@media (min-width: 1024px) {
    .menu--open footer {
        transform: translate3d(-33.33333%, 0, 0)
        }
    }
main {
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform 600ms cubic-bezier(0.83, 0, 0.17, 1);
    padding-top: calc(80px + 16px)
    }
@media (min-width: 768px) {
    main {
        padding-top: calc(108px + 20px)
        }
    }
@media (min-width: 1024px) {
    .menu--open main {
        transform: translate3d(-33.33333%, 0, 0)
        }
    }
@media (min-width: 1024px) {
    .menu--open main footer {
        transform: none
        }
    }
.is--viewport-slider main {
    height: 100vh;
    padding-top: 0
    }
.is--startpage main {
    padding-top: 3rem
    }
@media (min-width: 768px) {
    .is--startpage main {
        padding-top: 6rem
        }
    }
.col-spacer {
    width: 150px;
    width: 10vw
    }
aside {
    display: none;
    pointer-events: none;
    position: sticky;
    bottom: 0;
    left: 1.5rem
    }
.events .eventaside {
    display: none
    }
aside {
    height: 32px;
    width: 4rem;
    will-change: opacity;
    transition: opacity 0.4s cubic-bezier(0.83, 0, 0.17, 1);
    transform: translatey(-235px);
    z-index: 90
    }
@media (min-width: 768px) {
    aside {
        left: 2rem;
        display: block
        }
    }
@media (max-height: 520px) {
    aside {
        display: none
        }
    }
.menu--open aside {
    opacity: 0;
    transition-delay: 0s
    }
.footer--is-in-viewport aside {
    transform: translatey(0);
    position: absolute
    }
.is--startpage:not(.show--visual) aside {
    opacity: 0
    }
aside path {
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-delay: 0.1s
    }
.viewport-white aside path {
    fill: #fff
    }
.main-content {
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem
    }
@media (min-width: 768px) {
    .main-content {
        padding-left: 2rem;
        padding-right: 2rem
        }
    }
.main-content.fullwidth {
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
    padding-left: 0;
    padding-right: 0;
    width: 100vw
    }
.is--startpage .main-content {
    margin-top: 0
    }
.main-content section {
    margin-bottom: 3rem
    }
@media (min-width: 768px) {
    .main-content section {
        margin-bottom: 6rem
        }
    }
.main-content .main-content-nested {
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    padding-left: 1.5rem;
    padding-right: 1.5rem
    }
.content-slider {
    position: relative
    }
.content-slider .swiper-container {
    margin-top: 1rem;
    margin-right: min(-300px, -50vw)
    }
.content-slider .swiper-lazy {
    opacity: 0
    }
.content-slider .swiper-lazy.swiper-lazy-loaded {
    opacity: 1
    }
.content-slider .swiper-wrapper {
    width: 100vw;
    min-width: 375px;
    will-change: transform, contents
    }
.content-slider .swiper-slide {
    display: table;
    position: relative;
    width: auto;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 1
    }
.content-slider .swiper-slide figcaption {
    --tw-bg-opacity: 1;
    --tw-bg-opacity: 0.5;
    opacity: 0;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    padding-left: 1rem;
    padding-right: 1rem;
    position: absolute;
    bottom: 0;
    left: 0;
    --tw-text-opacity: 1;
    width: 100%;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-duration: 300ms;
    transition-delay: 150ms;
    z-index: 2
    }
.content-slider .swiper-slide figcaption p {
    font-size: 11px;
    line-height: 16px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis
    }
@media (min-width: 1024px) {
    .content-slider .swiper-slide figcaption p {
        font-size: 0.75rem;
        line-height: 18px;
        -webkit-line-clamp: 5
        }
    }
.content-slider.caption {
    margin-bottom: 4rem
    }
@media (min-width: 768px) {
    .content-slider.caption {
        margin-bottom: 6rem
        }
    }
.content-slider.caption .swiper-slide {
    opacity: 0.1;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-duration: 300ms
    }
.content-slider.caption .swiper-slide.swiper-slide-active {
    opacity: 1
    }
.content-slider.caption .swiper-slide.swiper-slide-active figcaption {
    opacity: 1
    }
.content-slider a {
    display: table;
    width: auto
    }
@media (hover: hover) and (pointer: fine) {
    .content-slider a:hover .slide-content {
        --tw-bg-opacity: 1
        }
    .content-slider a:hover img {
        transform: scale3d(1.25, 1.25, 1.25)
        }
    }
.content-slider .slide-image-wrapper {
    --tw-bg-opacity: 1;
    position: relative;
    overflow: hidden;
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content
    }
.content-slider img {
    transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    width: auto;
    height: 200px
    }
@media (min-width: 768px) {
    .content-slider img {
        min-width: 0;
        height: 220px
        }
    }
@media (min-width: 1024px) {
    .content-slider img {
        height: 440px
        }
    }
@media (min-width: 768px) {
    .content-slider img.is--portrait {
        min-width: 0
        }
    }
.content-slider .slide-content {
    padding-top: 0.5rem;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    display: table-caption;
    caption-side: bottom
    }
.content-slider .slide-content span {
    display: block
    }
.content-slider .slide-content .slide-headline {
    font-size: 1.125rem;
    line-height: 28px;
    font-weight: 700
    }
.content-slider .slide-content .slide-text {
    font-size: 0.875rem;
    line-height: 20px
    }
.content-slider .swiper-pagination {
    position: static;
    text-align: left;
    line-height: 0;
    margin-top: 2.5rem
    }
.content-slider .swiper-pagination-bullet {
    margin-right: 0.5rem;
    background-color: transparent;
    opacity: 1;
    --tw-border-opacity: 1;
    border-style: solid;
    border-width: 1px
    }
.content-slider .swiper-pagination-bullet-active {
    --tw-bg-opacity: 1
    }
.mediathek {
    margin-bottom: 2.5rem;
    position: relative
    }
.mediathek .swiper-container {
    margin-top: 1rem;
    margin-right: min(-300px, -20vw)
    }
.mediathek .swiper-lazy {
    opacity: 0
    }
.mediathek .swiper-lazy.swiper-lazy-loaded {
    opacity: 1
    }
.mediathek .swiper-wrapper {
    width: 100vw;
    min-width: 375px;
    will-change: transform, contents
    }
.mediathek .swiper-slide {
    min-width: 165px;
    max-width: 165px;
    opacity: 1
    }
.mediathek .swiper-slide .slide-image-wrapper {
    --tw-bg-opacity: 1;
    cursor: pointer;
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    position: relative;
    overflow: hidden
    }
@media (hover: hover) and (pointer: fine) {
    .mediathek .swiper-slide .slide-image-wrapper:hover .slide-content {
        --tw-bg-opacity: 1
        }
    .mediathek .swiper-slide .slide-image-wrapper:hover img {
        transform: scale3d(1.25, 1.25, 1.25)
        }
    }
.mediathek .swiper-slide img {
    transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0
    }
.mediathek .swiper-slide .slide-data {
    display: none
    }
.mediathek .media-container {
    --tw-bg-opacity: 1;
    margin-top: 1rem;
    margin-bottom: 1rem;
    overflow: hidden;
    position: relative;
    width: 100%
    }
@media (min-width: 768px) {
    .mediathek .media-container {
        margin-bottom: 2rem
        }
    }
.mediathek .media-container .slide-data-media-wrapper {
    --tw-bg-opacity: 1;
    height: 100%;
    position: relative;
    width: 100%;
    padding-bottom: 56.25%
    }
.mediathek .media-container iframe, .mediathek .media-container img, .mediathek .media-container video {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
    }
.mediathek .media-container iframe:not([src]) {
    opacity: 0
    }
.mediathek .media-container img {
    opacity: 0;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.mediathek .media-container img.loaded {
    opacity: 1
    }
.mediathek .media-container .audioplayer {
    --tw-bg-opacity: 1;
    --tw-bg-opacity: 0.9;
    border-radius: 0;
    padding-left: 1rem;
    padding-right: 1rem;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.mediathek .media-container .audioplayer:hover {
    --tw-bg-opacity: 1
    }
.mediathek .media-container .audioplayer .slider .gap-progress {
    --tw-bg-opacity: 1
    }
.mediathek .media-container .audioplayer .slider .gap-progress .pin {
    --tw-bg-opacity: 1
    }
.mediathek .media-container .audioplayer .volume .volume__button.open path {
    fill: currentColor;
    --tw-text-opacity: 1
    }
.mediathek .media-container .two-way-loading {
    --tw-bg-opacity: 1;
    --tw-bg-opacity: 0.95;
    display: none;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 40
    }
.events .event.mediathek .media-container .two-way-loading {
    display: none
    }
.mediathek .media-container .two-way-loading.show {
    display: block
    }
.mediathek .media-container .two-way-loading .two-way-loading-inner {
    --tw-bg-opacity: 1;
    --tw-bg-opacity: 0.95;
    font-size: 0.75rem;
    line-height: 18px;
    position: absolute;
    top: 50%;
    left: 50%;
    text-align: center;
    --tw-text-opacity: 1;
    width: 75%;
    z-index: 50;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translatex(var(--tw-translate-x)) translatey(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewx(var(--tw-skew-x)) skewy(var(--tw-skew-y)) scalex(var(--tw-scale-x)) scaley(var(--tw-scale-y));
    --tw-translate-x: -50%;
    --tw-translate-y: -50%
    }
@media (min-width: 768px) {
    .mediathek .media-container .two-way-loading .two-way-loading-inner {
        font-size: 1rem;
        line-height: 24px
        }
    }
@media (min-width: 768px) {
    .mediathek .media-container .two-way-loading {
        font-size: 1rem;
        line-height: 24px
        }
    }
.mediathek .media-container .two-way-loading a {
    --tw-text-opacity: 1;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.mediathek .media-container .two-way-loading a:hover {
    --tw-text-opacity: 1
    }
.mediathek .media-container .two-way-loading button {
    background-color: transparent;
    --tw-border-opacity: 1;
    border-radius: 0.25rem;
    border-width: 1px;
    margin-top: 2rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 155px
    }
.mediathek .media-container .two-way-loading button:hover {
    --tw-border-opacity: 1;
    --tw-text-opacity: 1
    }
.mediathek .slide-content {
    padding-top: 0.5rem;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.mediathek .slide-content span {
    display: block
    }
.mediathek .slide-content .slide-headline {
    font-size: 0.75rem;
    line-height: 18px
    }
.mediathek .slide-content .slide-text {
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 18px
    }
@media (min-width: 768px) {
    .mediathek .slide-content .slide-text {
        font-size: 0.875rem;
        line-height: 20px
        }
    }
.mediathek .swiper-pagination {
    position: static;
    text-align: left;
    line-height: 0;
    margin-top: 2.5rem
    }
.mediathek .swiper-pagination-bullet {
    background-color: transparent;
    --tw-border-opacity: 1;
    border-style: solid;
    border-width: 1px;
    margin-right: 0.5rem;
    opacity: 1
    }
.mediathek .swiper-pagination-bullet-active {
    --tw-bg-opacity: 1
    }
@media (min-width: 768px) {
    .table-slider {
        margin-bottom: 1rem
        }
    }
.table-slider {
    position: relative
    }
.table-slider .swiper-container {
    margin-top: 1rem;
    opacity: 0;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.table-slider .swiper-container.swiper-container-initialized {
    opacity: 1
    }
@media (min-width: 1280px) {
    .table-slider .swiper-container {
        margin-right: 0
        }
    }
.table-slider .swiper-lazy {
    opacity: 0
    }
.table-slider .swiper-lazy.swiper-lazy-loaded {
    opacity: 1
    }
.table-slider .swiper-wrapper {
    width: 100%
    }
@media (min-width: 768px) {
    .table-slider .swiper-wrapper {
        width: 100%
        }
    }
.table-slider .swiper-slide {
    cursor: pointer;
    font-size: 1.25rem;
    line-height: 24px;
    opacity: 0.2;
    white-space: nowrap;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 100px
    }
@media (min-width: 1280px) {
    .table-slider .swiper-slide {
        font-size: 1.5rem;
        line-height: 28px;
        letter-spacing: -0.01em;
        min-width: 0
        }
    }
.table-slider .swiper-slide.swiper-slide-active {
    opacity: 1
    }
.table-slider .media-table {
    display: none;
    font-size: 0.75rem;
    line-height: 18px;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.events .event.table-slider .media-table {
    display: none
    }
.table-slider .media-table.active {
    display: block
    }
@media (min-width: 1024px) {
    .table-slider .media-table {
        font-size: 0.875rem;
        line-height: 20px
        }
    }
.table-slider .media-table .media-table-entry {
    --tw-border-opacity: 1;
    border-top-width: 1px;
    padding-top: 1rem;
    padding-bottom: 1rem;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.table-slider .media-table .media-table-entry.has-link {
    cursor: pointer
    }
@media (hover: hover) and (pointer: fine) {
    .table-slider .media-table .media-table-entry.has-link:hover {
        --tw-bg-opacity: 1
        }
    }
@media (min-width: 1280px) {
    .table-slider .media-table .table-col-2 {
        width: 83.333333%
        }
    }
.table-slider .media-table .table-col-2 td {
    padding: 0
    }
.table-slider .media-table .table-col-2 table th {
    font-weight: 700;
    padding-bottom: 0.25rem;
    text-align: left
    }
@media (min-width: 768px) {
    .table-slider .media-table .table-col-2 table th {
        padding-bottom: 0.5rem
        }
    }
.table-slider .media-table .table-col-2 tr > td:not(:last-of-type) {
    padding-right: 1rem;
    vertical-align: top;
    min-width: 80px
    }
.table-slider .media-table .table-col-2 p {
    padding-bottom: 0.5rem
    }
.table-slider .media-table .table-col-2 p:last-child {
    padding-bottom: 0
    }
.table-slider .media-table .table-col-3 {
    font-weight: 700
    }
.viewport-slides {
    height: 100vh
    }
.viewport-slides .viewport-container {
    width: 100vw;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: scroll;
    scroll-snap-type: y mandatory
    }
.menu--open .viewport-slides .viewport-container {
    overflow-y: hidden
    }
.viewport-slides .viewport-slide {
    --tw-bg-opacity: 1;
    position: relative;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
    height: 100vh;
    width: 100vw;
    min-height: 500px;
    max-height: 100vh
    }
.viewport-slides .viewport-slide:first-of-type {
    --tw-bg-opacity: 1;
    height: 75vh;
    width: 100%
    }
.viewport-slides .viewport-slide .slide-image-wrapper::after {
    content: "";
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
    --tw-gradient-from: #202020;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(32, 32, 32, 0));
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 50%
    }
.viewport-slides .viewport-slide img {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: -1;
    opacity: 0
    }
.viewport-slides .viewport-slide img.loaded {
    opacity: 1
    }
.viewport-slides aside {
    height: 0;
    transform: translatey(-267px)
    }
.viewport-slides footer {
    margin-top: 0;
    position: relative;
    z-index: 99
    }
.menu--open .viewport-slides footer {
    transform: none
    }
@media (min-width: 768px) {
    .viewport-slides footer {
        min-height: 0;
        height: auto
        }
    }
.viewport-slides .slides-content-container {
    pointer-events: none
    }
.viewport-slides .slides-content-container a {
    text-decoration: underline;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.viewport-slides .slides-content-container a:hover {
    opacity: 0.8
    }
.viewport-slides .slides-content-container .slide-content-element {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 100%;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-duration: 300ms
    }
.viewport-slides .slides-content-container .slide-content-element.active {
    opacity: 1;
    transition-duration: 300ms
    }
.viewport-slides .slides-content-container .slide-content-element.active a {
    pointer-events: auto
    }
.viewport-white .viewport-slides .slides-content-container .slide-content-element .container {
    --tw-text-opacity: 1;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.viewport-slides .viewport-dots {
    right: 1.5rem;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: flex;
    flex-direction: column;
    position: absolute;
    transform: translatey(-50%);
    z-index: 90;
    top: 50%
    }
@media (min-width: 768px) {
    .viewport-slides .viewport-dots {
        right: 2rem
        }
    }
.viewport-slides .viewport-dots span {
    --tw-border-opacity: 1;
    cursor: pointer;
    display: inline-block;
    margin-bottom: 0.5rem;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    border-width: 1px;
    border-style: solid;
    border-radius: 50%;
    width: 10px;
    height: 10px
    }
.viewport-white .viewport-slides .viewport-dots span {
    --tw-border-opacity: 1
    }
.viewport-slides .viewport-dots span.active {
    --tw-bg-opacity: 1
    }
.viewport-white .viewport-slides .viewport-dots span.active {
    --tw-bg-opacity: 1
    }
body.is--viewport-slider {
    overflow: hidden
    }
@media (min-width: 1024px) {
    .text-block > div:first-of-type {
        padding-right: 1.5rem
        }
    @media (min-width: 768px) {
        .text-block > div:first-of-type {
            padding-right: 2rem
            }
        }
    }
.text-block h2, .text-block h3 {
    margin-bottom: 0.875rem
    }
.text-block p {
    margin-bottom: 1.5rem
    }
.text-block p:last-child {
    margin-bottom: 0
    }
.text-block a {
    --tw-text-opacity: 1;
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.text-block a:hover {
    --tw-text-opacity: 1
    }
.text-block table th {
    font-weight: 700;
    text-align: left
    }
.text-block tr > td:not(:last-of-type) {
    padding-right: 0.5rem;
    vertical-align: top
    }
.text-block .text-col-right p {
    margin-bottom: 1rem
    }
.text-block .text-col-right img, .text-block .text-col-right svg {
    margin-bottom: 1rem
    }
@media (min-width: 768px) {
    .text-block .text-col-right img, .text-block .text-col-right svg {
        margin-bottom: 1.5rem
        }
    }
.text-block .text-image-block p {
    margin-bottom: 0;
    padding-bottom: 0
    }
.text-block .text-image-block a {
    display: block;
    --tw-text-opacity: 1
    }
@media (hover: hover) and (pointer: fine) {
    .text-block .text-image-block a:hover figcaption {
        --tw-text-opacity: 1
        }
    .text-block .text-image-block a:hover img {
        transform: scale3d(1.25, 1.25, 1.25)
        }
    }
.text-block .text-image-block .image-block-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden
    }
.text-block .text-image-block figcaption {
    transition-property: background-color, border-color, color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
    }
.text-block .text-image-block img {
    width: 100%;
    height: 100%;
    position: absolute;
    opacity: 0;
    top: 0;
    left: 0;
    transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1)
    }
.text-block .text-image-block img.loaded {
    opacity: 1
    }