﻿.glide {
    box-sizing: border-box;
    position: relative;
    width: 100%
}

    .glide * {
        box-sizing: inherit
    }

.glide__slides, .glide__track {
    overflow: hidden
}

.glide__slides {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: flex;
    flex-wrap: nowrap;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    touch-action: pan-Y;
    transform-style: preserve-3d;
    white-space: nowrap;
    width: 100%;
    will-change: transform
}

.glide__slide, .glide__slides--dragging {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.glide__slide {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    flex-shrink: 0;
    height: 100%;
    white-space: normal;
    width: 100%
}

    .glide__slide a {
        -webkit-user-drag: none;
        -webkit-user-select: none;
        user-select: none;
        -moz-user-select: none;
        -ms-user-select: none
    }

.glide__arrows, .glide__bullets {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.glide--rtl {
    direction: rtl
}

.tippy-box[data-animation=fade][data-state=hidden] {
    opacity: 0
}

[data-tippy-root] {
    max-width: calc(100vw - 10px)
}

.tippy-box {
    background-color: #333;
    border-radius: 4px;
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    outline: 0;
    position: relative;
    transition-property: transform,visibility,opacity;
    white-space: normal
}

    .tippy-box[data-placement^=top] > .tippy-arrow {
        bottom: 0
    }

        .tippy-box[data-placement^=top] > .tippy-arrow:before {
            border-top-color: initial;
            border-width: 8px 8px 0;
            bottom: -7px;
            left: 0;
            transform-origin: center top
        }

    .tippy-box[data-placement^=bottom] > .tippy-arrow {
        top: 0
    }

        .tippy-box[data-placement^=bottom] > .tippy-arrow:before {
            border-bottom-color: initial;
            border-width: 0 8px 8px;
            left: 0;
            top: -7px;
            transform-origin: center bottom
        }

    .tippy-box[data-placement^=left] > .tippy-arrow {
        right: 0
    }

        .tippy-box[data-placement^=left] > .tippy-arrow:before {
            border-left-color: initial;
            border-width: 8px 0 8px 8px;
            right: -7px;
            transform-origin: center left
        }

    .tippy-box[data-placement^=right] > .tippy-arrow {
        left: 0
    }

        .tippy-box[data-placement^=right] > .tippy-arrow:before {
            border-right-color: initial;
            border-width: 8px 8px 8px 0;
            left: -7px;
            transform-origin: center right
        }

    .tippy-box[data-inertia][data-state=visible] {
        transition-timing-function: cubic-bezier(.54,1.5,.38,1.11)
    }

.tippy-arrow {
    color: #333;
    height: 16px;
    width: 16px
}

    .tippy-arrow:before {
        border-color: transparent;
        border-style: solid;
        content: "";
        position: absolute
    }

.tippy-content {
    padding: 5px 9px;
    position: relative;
    z-index: 1
}

.air-datepicker-cell.-day-.-other-month-, .air-datepicker-cell.-year-.-other-decade- {
    color: var(--adp-color-other-month)
}

    .air-datepicker-cell.-day-.-other-month-:hover, .air-datepicker-cell.-year-.-other-decade-:hover {
        color: var(--adp-color-other-month-hover)
    }

.-disabled-.-focus-.air-datepicker-cell.-day-.-other-month-, .-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade- {
    color: var(--adp-color-other-month)
}

.-selected-.air-datepicker-cell.-day-.-other-month-, .-selected-.air-datepicker-cell.-year-.-other-decade- {
    background: var(--adp-background-color-selected-other-month);
    color: #fff
}

.-selected-.-focus-.air-datepicker-cell.-day-.-other-month-, .-selected-.-focus-.air-datepicker-cell.-year-.-other-decade- {
    background: var(--adp-background-color-selected-other-month-focused)
}

.-in-range-.air-datepicker-cell.-day-.-other-month-, .-in-range-.air-datepicker-cell.-year-.-other-decade- {
    background-color: var(--adp-background-color-in-range);
    color: var(--adp-color)
}

.-in-range-.-focus-.air-datepicker-cell.-day-.-other-month-, .-in-range-.-focus-.air-datepicker-cell.-year-.-other-decade- {
    background-color: var(--adp-background-color-in-range-focused)
}

.air-datepicker-cell.-day-.-other-month-:empty, .air-datepicker-cell.-year-.-other-decade-:empty {
    background: none;
    border: none
}

.air-datepicker-cell {
    align-items: center;
    border-radius: var(--adp-cell-border-radius);
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 1
}

    .air-datepicker-cell.-focus- {
        background: var(--adp-cell-background-color-hover)
    }

    .air-datepicker-cell.-current- {
        color: var(--adp-color-current-date)
    }

        .air-datepicker-cell.-current-.-focus- {
            color: var(--adp-color)
        }

        .air-datepicker-cell.-current-.-in-range- {
            color: var(--adp-color-current-date)
        }

    .air-datepicker-cell.-disabled- {
        color: var(--adp-color-disabled);
        cursor: default
    }

        .air-datepicker-cell.-disabled-.-focus- {
            color: var(--adp-color-disabled)
        }

        .air-datepicker-cell.-disabled-.-in-range- {
            color: var(--adp-color-disabled-in-range)
        }

        .air-datepicker-cell.-disabled-.-current-.-focus- {
            color: var(--adp-color-disabled)
        }

    .air-datepicker-cell.-in-range- {
        background: var(--adp-cell-background-color-in-range);
        border-radius: 0
    }

        .air-datepicker-cell.-in-range-:hover {
            background: var(--adp-cell-background-color-in-range-hover)
        }

    .air-datepicker-cell.-range-from- {
        background-color: var(--adp-cell-background-color-in-range);
        border: 1px solid var(--adp-cell-border-color-in-range);
        border-radius: var(--adp-cell-border-radius) 0 0 var(--adp-cell-border-radius)
    }

    .air-datepicker-cell.-range-to- {
        background-color: var(--adp-cell-background-color-in-range);
        border: 1px solid var(--adp-cell-border-color-in-range);
        border-radius: 0 var(--adp-cell-border-radius) var(--adp-cell-border-radius) 0
    }

        .air-datepicker-cell.-range-to-.-range-from- {
            border-radius: var(--adp-cell-border-radius)
        }

    .air-datepicker-cell.-selected- {
        border: none
    }

        .air-datepicker-cell.-selected-, .air-datepicker-cell.-selected-.-current- {
            background: var(--adp-cell-background-color-selected);
            color: #fff
        }

            .air-datepicker-cell.-selected-.-focus- {
                background: var(--adp-cell-background-color-selected-hover)
            }

.air-datepicker-body {
    transition: all var(--adp-transition-duration) var(--adp-transition-ease)
}

    .air-datepicker-body.-hidden- {
        display: none
    }

.air-datepicker-body--day-names {
    display: grid;
    grid-template-columns: repeat(7,var(--adp-day-cell-width));
    margin: 8px 0 3px
}

.air-datepicker-body--day-name {
    align-items: center;
    color: var(--adp-day-name-color);
    display: flex;
    flex: 1;
    font-size: .8em;
    justify-content: center;
    text-align: center;
    text-transform: uppercase
}

    .air-datepicker-body--day-name.-clickable- {
        cursor: pointer
    }

        .air-datepicker-body--day-name.-clickable-:hover {
            color: var(--adp-day-name-color-hover)
        }

.air-datepicker-body--cells {
    display: grid
}

    .air-datepicker-body--cells.-days- {
        grid-auto-rows: var(--adp-day-cell-height);
        grid-template-columns: repeat(7,var(--adp-day-cell-width))
    }

    .air-datepicker-body--cells.-months- {
        grid-auto-rows: var(--adp-month-cell-height);
        grid-template-columns: repeat(3,1fr)
    }

    .air-datepicker-body--cells.-years- {
        grid-auto-rows: var(--adp-year-cell-height);
        grid-template-columns: repeat(4,1fr)
    }

.air-datepicker-nav {
    border-bottom: 1px solid var(--adp-border-color-inner);
    box-sizing: content-box;
    display: flex;
    justify-content: space-between;
    min-height: var(--adp-nav-height);
    padding: var(--adp-padding)
}

.-only-timepicker- .air-datepicker-nav {
    display: none
}

.air-datepicker-nav--action, .air-datepicker-nav--title {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: center
}

.air-datepicker-nav--action {
    border-radius: var(--adp-border-radius);
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: var(--adp-nav-action-size)
}

    .air-datepicker-nav--action:hover {
        background: var(--adp-background-color-hover)
    }

    .air-datepicker-nav--action:active {
        background: var(--adp-background-color-active)
    }

    .air-datepicker-nav--action.-disabled- {
        visibility: hidden
    }

    .air-datepicker-nav--action svg {
        height: 32px;
        width: 32px
    }

    .air-datepicker-nav--action path {
        fill: none;
        stroke: var(--adp-nav-arrow-color);
        stroke-width: 2px
    }

.air-datepicker-nav--title {
    border-radius: var(--adp-border-radius);
    padding: 0 8px
}

    .air-datepicker-nav--title i {
        color: var(--adp-nav-color-secondary);
        font-style: normal;
        margin-left: .3em
    }

    .air-datepicker-nav--title:hover {
        background: var(--adp-background-color-hover)
    }

    .air-datepicker-nav--title:active {
        background: var(--adp-background-color-active)
    }

    .air-datepicker-nav--title.-disabled- {
        background: none;
        cursor: default
    }

.air-datepicker-buttons {
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-flow: column
}

.air-datepicker-button {
    background: hsla(0,0%,100%,0);
    border: none;
    border-radius: var(--adp-btn-border-radius);
    color: var(--adp-btn-color);
    cursor: pointer;
    display: inline-flex;
    height: var(--adp-btn-height)
}

    .air-datepicker-button:focus, .air-datepicker-button:hover {
        background: var(--adp-btn-background-color-hover);
        color: var(--adp-btn-color-hover)
    }

    .air-datepicker-button:focus {
        outline: none
    }

    .air-datepicker-button:active {
        background: var(--adp-btn-background-color-active)
    }

    .air-datepicker-button span {
        align-items: center;
        display: flex;
        height: 100%;
        justify-content: center;
        outline: none;
        width: 100%
    }

.air-datepicker-time {
    grid-column-gap: 12px;
    align-items: center;
    display: grid;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    padding: 0 var(--adp-time-padding-inner);
    position: relative
}

.-only-timepicker- .air-datepicker-time {
    border-top: none
}

.air-datepicker-time--current {
    align-items: center;
    display: flex;
    flex: 1;
    font-size: 14px;
    text-align: center
}

.air-datepicker-time--current-colon {
    line-height: 1;
    margin: 0 2px 3px
}

.air-datepicker-time--current-hours, .air-datepicker-time--current-minutes {
    font-family: Century Gothic,CenturyGothic,AppleGothic,sans-serif;
    font-size: 19px;
    line-height: 1;
    position: relative;
    z-index: 1
}

    .air-datepicker-time--current-hours:after, .air-datepicker-time--current-minutes:after {
        background: var(--adp-background-color-hover);
        border-radius: var(--adp-border-radius);
        bottom: -2px;
        content: "";
        left: -2px;
        opacity: 0;
        position: absolute;
        right: -2px;
        top: -3px;
        z-index: -1
    }

    .air-datepicker-time--current-hours.-focus-:after, .air-datepicker-time--current-minutes.-focus-:after {
        opacity: 1
    }

.air-datepicker-time--current-ampm {
    align-self: flex-end;
    color: var(--adp-time-day-period-color);
    font-size: 11px;
    margin-bottom: 1px;
    margin-left: 6px;
    text-transform: uppercase
}

.air-datepicker-time--row {
    align-items: center;
    background: linear-gradient(to right,var(--adp-time-track-color),var(--adp-time-track-color)) left 50%/100% var(--adp-time-track-height) no-repeat;
    display: flex;
    font-size: 11px;
    height: 17px
}

    .air-datepicker-time--row:first-child {
        margin-bottom: 4px
    }

    .air-datepicker-time--row input[type=range] {
        -webkit-appearance: none;
        background: none;
        cursor: pointer;
        flex: 1;
        height: 100%;
        margin: 0;
        padding: 0;
        width: 100%
    }

        .air-datepicker-time--row input[type=range]::-webkit-slider-thumb {
            -webkit-appearance: none
        }

        .air-datepicker-time--row input[type=range]::-ms-tooltip {
            display: none
        }

        .air-datepicker-time--row input[type=range]:hover::-webkit-slider-thumb {
            border-color: var(--adp-time-track-color-hover)
        }

        .air-datepicker-time--row input[type=range]:hover::-moz-range-thumb {
            border-color: var(--adp-time-track-color-hover)
        }

        .air-datepicker-time--row input[type=range]:hover::-ms-thumb {
            border-color: var(--adp-time-track-color-hover)
        }

        .air-datepicker-time--row input[type=range]:focus {
            outline: none
        }

            .air-datepicker-time--row input[type=range]:focus::-webkit-slider-thumb {
                background: var(--adp-cell-background-color-selected);
                border-color: var(--adp-cell-background-color-selected)
            }

            .air-datepicker-time--row input[type=range]:focus::-moz-range-thumb {
                background: var(--adp-cell-background-color-selected);
                border-color: var(--adp-cell-background-color-selected)
            }

            .air-datepicker-time--row input[type=range]:focus::-ms-thumb {
                background: var(--adp-cell-background-color-selected);
                border-color: var(--adp-cell-background-color-selected)
            }

        .air-datepicker-time--row input[type=range]::-webkit-slider-thumb {
            background: #fff;
            border: 1px solid var(--adp-time-track-color);
            border-radius: 3px;
            box-sizing: border-box;
            cursor: pointer;
            height: 12px;
            -webkit-transition: background var(--adp-transition-duration);
            transition: background var(--adp-transition-duration);
            width: 12px
        }

        .air-datepicker-time--row input[type=range]::-moz-range-thumb {
            background: #fff;
            border: 1px solid var(--adp-time-track-color);
            border-radius: 3px;
            box-sizing: border-box;
            cursor: pointer;
            height: 12px;
            -moz-transition: background var(--adp-transition-duration);
            transition: background var(--adp-transition-duration);
            width: 12px
        }

        .air-datepicker-time--row input[type=range]::-ms-thumb {
            background: #fff;
            border: 1px solid var(--adp-time-track-color);
            border-radius: 3px;
            box-sizing: border-box;
            cursor: pointer;
            height: 12px;
            -ms-transition: background var(--adp-transition-duration);
            transition: background var(--adp-transition-duration);
            width: 12px
        }

        .air-datepicker-time--row input[type=range]::-webkit-slider-thumb {
            margin-top: calc(var(--adp-time-thumb-size)/2*-1)
        }

        .air-datepicker-time--row input[type=range]::-webkit-slider-runnable-track {
            background: transparent;
            border: none;
            color: transparent;
            cursor: pointer;
            height: var(--adp-time-track-height)
        }

        .air-datepicker-time--row input[type=range]::-moz-range-track {
            background: transparent;
            border: none;
            color: transparent;
            cursor: pointer;
            height: var(--adp-time-track-height)
        }

        .air-datepicker-time--row input[type=range]::-ms-track {
            background: transparent;
            border: none;
            color: transparent;
            cursor: pointer;
            height: var(--adp-time-track-height)
        }

        .air-datepicker-time--row input[type=range]::-ms-fill-lower, .air-datepicker-time--row input[type=range]::-ms-fill-upper {
            background: transparent
        }

.air-datepicker {
    --adp-font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
    --adp-font-size: 14px;
    --adp-width: 246px;
    --adp-z-index: 100;
    --adp-padding: 4px;
    --adp-grid-areas: "nav" "body" "timepicker" "buttons";
    --adp-transition-duration: .3s;
    --adp-transition-ease: ease-out;
    --adp-transition-offset: 8px;
    --adp-background-color: #fff;
    --adp-background-color-hover: #f0f0f0;
    --adp-background-color-active: #eaeaea;
    --adp-background-color-in-range: rgba(92,196,239,.1);
    --adp-background-color-in-range-focused: rgba(92,196,239,.2);
    --adp-background-color-selected-other-month-focused: #8ad5f4;
    --adp-background-color-selected-other-month: #a2ddf6;
    --adp-color: #4a4a4a;
    --adp-color-secondary: #9c9c9c;
    --adp-accent-color: #4eb5e6;
    --adp-color-current-date: var(--adp-accent-color);
    --adp-color-other-month: #dedede;
    --adp-color-disabled: #aeaeae;
    --adp-color-disabled-in-range: #939393;
    --adp-color-other-month-hover: #c5c5c5;
    --adp-border-color: #dbdbdb;
    --adp-border-color-inner: #efefef;
    --adp-border-radius: 4px;
    --adp-border-color-inline: #d7d7d7;
    --adp-nav-height: 32px;
    --adp-nav-arrow-color: var(--adp-color-secondary);
    --adp-nav-action-size: 32px;
    --adp-nav-color-secondary: var(--adp-color-secondary);
    --adp-day-name-color: #ff9a19;
    --adp-day-name-color-hover: #8ad5f4;
    --adp-day-cell-width: 1fr;
    --adp-day-cell-height: 32px;
    --adp-month-cell-height: 42px;
    --adp-year-cell-height: 56px;
    --adp-pointer-size: 10px;
    --adp-poiner-border-radius: 2px;
    --adp-pointer-offset: 14px;
    --adp-cell-border-radius: 4px;
    --adp-cell-background-color-hover: var(--adp-background-color-hover);
    --adp-cell-background-color-selected: #5cc4ef;
    --adp-cell-background-color-selected-hover: #45bced;
    --adp-cell-background-color-in-range: rgba(92,196,239,.1);
    --adp-cell-background-color-in-range-hover: rgba(92,196,239,.2);
    --adp-cell-border-color-in-range: var(--adp-cell-background-color-selected);
    --adp-btn-height: 32px;
    --adp-btn-color: var(--adp-accent-color);
    --adp-btn-color-hover: var(--adp-color);
    --adp-btn-border-radius: var(--adp-border-radius);
    --adp-btn-background-color-hover: var(--adp-background-color-hover);
    --adp-btn-background-color-active: var(--adp-background-color-active);
    --adp-time-track-height: 1px;
    --adp-time-track-color: #dedede;
    --adp-time-track-color-hover: #b1b1b1;
    --adp-time-thumb-size: 12px;
    --adp-time-padding-inner: 10px;
    --adp-time-day-period-color: var(--adp-color-secondary);
    --adp-mobile-font-size: 16px;
    --adp-mobile-nav-height: 40px;
    --adp-mobile-width: 320px;
    --adp-mobile-day-cell-height: 38px;
    --adp-mobile-month-cell-height: 48px;
    --adp-mobile-year-cell-height: 64px
}

.air-datepicker-overlay {
    --adp-overlay-background-color: rgba(0,0,0,.3);
    --adp-overlay-transition-duration: .3s;
    --adp-overlay-transition-ease: ease-out;
    --adp-overlay-z-index: 99
}

.air-datepicker {
    background: var(--adp-background-color);
    border: 1px solid var(--adp-border-color);
    border-radius: var(--adp-border-radius);
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    box-sizing: content-box;
    color: var(--adp-color);
    display: grid;
    font-family: var(--adp-font-family),sans-serif;
    font-size: var(--adp-font-size);
    grid-template-areas: var(--adp-grid-areas);
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4,-webkit-max-content);
    grid-template-rows: repeat(4,max-content);
    position: absolute;
    transition: opacity var(--adp-transition-duration) var(--adp-transition-ease),transform var(--adp-transition-duration) var(--adp-transition-ease);
    width: var(--adp-width);
    z-index: var(--adp-z-index)
}

    .air-datepicker:not(.-custom-position-) {
        opacity: 0
    }

    .air-datepicker.-from-top- {
        transform: translateY(calc(var(--adp-transition-offset)*-1))
    }

    .air-datepicker.-from-right- {
        transform: translateX(var(--adp-transition-offset))
    }

    .air-datepicker.-from-bottom- {
        transform: translateY(var(--adp-transition-offset))
    }

    .air-datepicker.-from-left- {
        transform: translateX(calc(var(--adp-transition-offset)*-1))
    }

    .air-datepicker.-active-:not(.-custom-position-) {
        opacity: 1;
        transform: translate(0)
    }

    .air-datepicker.-active-.-custom-position- {
        transition: none
    }

    .air-datepicker.-inline- {
        border-color: var(--adp-border-color-inline);
        box-shadow: none;
        left: auto;
        opacity: 1;
        position: static;
        right: auto;
        transform: none
    }

        .air-datepicker.-inline- .air-datepicker--pointer {
            display: none
        }

    .air-datepicker.-is-mobile- {
        --adp-font-size: var(--adp-mobile-font-size);
        --adp-day-cell-height: var(--adp-mobile-day-cell-height);
        --adp-month-cell-height: var(--adp-mobile-month-cell-height);
        --adp-year-cell-height: var(--adp-mobile-year-cell-height);
        --adp-nav-height: var(--adp-mobile-nav-height);
        --adp-nav-action-size: var(--adp-mobile-nav-height);
        border: none;
        position: fixed;
        width: var(--adp-mobile-width)
    }

        .air-datepicker.-is-mobile- * {
            -webkit-tap-highlight-color: rgba(0,0,0,0)
        }

        .air-datepicker.-is-mobile- .air-datepicker--pointer {
            display: none
        }

        .air-datepicker.-is-mobile-:not(.-custom-position-) {
            transform: translate(-50%,calc(-50% + var(--adp-transition-offset)))
        }

        .air-datepicker.-is-mobile-.-active-:not(.-custom-position-) {
            transform: translate(-50%,-50%)
        }

    .air-datepicker.-custom-position- {
        transition: none
    }

.air-datepicker-global-container {
    left: 0;
    position: absolute;
    top: 0
}

.air-datepicker--pointer {
    --pointer-half-size: calc(var(--adp-pointer-size)/2);
    z-index: -1
}

    .air-datepicker--pointer, .air-datepicker--pointer:after {
        height: var(--adp-pointer-size);
        position: absolute;
        width: var(--adp-pointer-size)
    }

        .air-datepicker--pointer:after {
            background: #fff;
            border-right: 1px solid var(--adp-border-color-inline);
            border-top: 1px solid var(--adp-border-color-inline);
            border-top-right-radius: var(--adp-poiner-border-radius);
            box-sizing: border-box;
            content: ""
        }

.-top-center- .air-datepicker--pointer, .-top-left- .air-datepicker--pointer, .-top-right- .air-datepicker--pointer, [data-popper-placement^=top] .air-datepicker--pointer {
    top: calc(100% - var(--pointer-half-size) + 1px)
}

    .-top-center- .air-datepicker--pointer:after, .-top-left- .air-datepicker--pointer:after, .-top-right- .air-datepicker--pointer:after, [data-popper-placement^=top] .air-datepicker--pointer:after {
        transform: rotate(135deg)
    }

.-right-bottom- .air-datepicker--pointer, .-right-center- .air-datepicker--pointer, .-right-top- .air-datepicker--pointer, [data-popper-placement^=right] .air-datepicker--pointer {
    right: calc(100% - var(--pointer-half-size) + 1px)
}

    .-right-bottom- .air-datepicker--pointer:after, .-right-center- .air-datepicker--pointer:after, .-right-top- .air-datepicker--pointer:after, [data-popper-placement^=right] .air-datepicker--pointer:after {
        transform: rotate(225deg)
    }

.-bottom-center- .air-datepicker--pointer, .-bottom-left- .air-datepicker--pointer, .-bottom-right- .air-datepicker--pointer, [data-popper-placement^=bottom] .air-datepicker--pointer {
    bottom: calc(100% - var(--pointer-half-size) + 1px)
}

    .-bottom-center- .air-datepicker--pointer:after, .-bottom-left- .air-datepicker--pointer:after, .-bottom-right- .air-datepicker--pointer:after, [data-popper-placement^=bottom] .air-datepicker--pointer:after {
        transform: rotate(315deg)
    }

.-left-bottom- .air-datepicker--pointer, .-left-center- .air-datepicker--pointer, .-left-top- .air-datepicker--pointer, [data-popper-placement^=left] .air-datepicker--pointer {
    left: calc(100% - var(--pointer-half-size) + 1px)
}

    .-left-bottom- .air-datepicker--pointer:after, .-left-center- .air-datepicker--pointer:after, .-left-top- .air-datepicker--pointer:after, [data-popper-placement^=left] .air-datepicker--pointer:after {
        transform: rotate(45deg)
    }

.-bottom-left- .air-datepicker--pointer, .-top-left- .air-datepicker--pointer {
    left: var(--adp-pointer-offset)
}

.-bottom-right- .air-datepicker--pointer, .-top-right- .air-datepicker--pointer {
    right: var(--adp-pointer-offset)
}

.-bottom-center- .air-datepicker--pointer, .-top-center- .air-datepicker--pointer {
    left: calc(50% - var(--adp-pointer-size)/2)
}

.-left-top- .air-datepicker--pointer, .-right-top- .air-datepicker--pointer {
    top: var(--adp-pointer-offset)
}

.-left-bottom- .air-datepicker--pointer, .-right-bottom- .air-datepicker--pointer {
    bottom: var(--adp-pointer-offset)
}

.-left-center- .air-datepicker--pointer, .-right-center- .air-datepicker--pointer {
    top: calc(50% - var(--adp-pointer-size)/2)
}

.air-datepicker--navigation {
    grid-area: nav
}

.air-datepicker--content {
    box-sizing: content-box;
    grid-area: body;
    padding: var(--adp-padding)
}

.-only-timepicker- .air-datepicker--content {
    display: none
}

.air-datepicker--time {
    grid-area: timepicker
}

.air-datepicker--buttons {
    grid-area: buttons
}

.air-datepicker--buttons, .air-datepicker--time {
    border-top: 1px solid var(--adp-border-color-inner);
    padding: var(--adp-padding)
}

.air-datepicker-overlay {
    background: var(--adp-overlay-background-color);
    height: 0;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),left 0s,height 0s,width 0s;
    transition-delay: 0s,var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration),var(--adp-overlay-transition-duration);
    width: 0;
    z-index: var(--adp-overlay-z-index)
}

    .air-datepicker-overlay.-active- {
        height: 100%;
        opacity: 1;
        transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease),height 0s,width 0s;
        width: 100%
    }

:root {
    --color--background-default: #fff;
    --color--background-primary: #c4a2ef;
    --color--background-subtle: #ededed;
    --color--background-extra-subtle: #f6f6f6;
    --color--background-overlay: rgba(0,0,0,.3);
    --color--background-meta-dark-bg: rgba(0,0,0,.6);
    --color--background-dark: #000;
    --color--text-default: #000;
    --color--text-secondary: #3c3c3c;
    --color--text-dark-bg: #fff;
    --color--link: #814ec0;
    --color--link-active: #000;
    --color--link-disabled: rgba(0,0,0,.3);
    --color--background-action: #b3f5c9;
    --color--background-action-active: #a6e8bc;
    --color--background-action-disabled: #ededed;
    --color--background-action-disabled-dark: rgba(0,0,0,.3);
    --color--text-action: #000;
    --color--text-action-active: #814ec0;
    --color--form-accent-color: #814ec0;
    --color--icon: #000;
    --color--icon-stroke: #3c3c3c;
    --color--border: #3c3c3c;
    --color--border-subtle: rgba(60,60,60,.2);
    --color--border-dark: #000;
    --color--button: #000;
    --color--button-secondary: #fff;
    --color--focus-outline: #814ec0;
    --color--focus-background: transparent;
    --color--tooltip-text: #000;
    --color--tooltip-background: #ededed
}

.u-sr-only {
    clip: rect(0,0,0,0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px
}

html {
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: museum sans,sans-serif;
    scroll-behavior: smooth
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }
}

html.no-scroll-behaviour {
    scroll-behavior: auto
}

body {
    background-color: #fff;
    background-color: var(--color--background-default);
    overflow-x: hidden
}

    body.no-scroll {
        overflow-y: hidden
    }

button, input, select, textarea {
    font-family: inherit
}

    button:focus, input:focus, select:focus, textarea:focus {
        background-color: transparent;
        background-color: var(--color--focus-background);
        outline: 3px solid #814ec0;
        outline: 3px solid var(--color--focus-outline);
        outline-offset: 4px;
        text-decoration: none
    }

        button:focus:not(:focus-visible), input:focus:not(:focus-visible), select:focus:not(:focus-visible), textarea:focus:not(:focus-visible) {
            background-color: none;
            outline: 0
        }

a {
    color: #814ec0;
    color: var(--color--link);
    cursor: pointer;
    text-decoration: underline;
    transition: color .25s cubic-bezier(.24,.26,.2,1)
}

    a:focus {
        background-color: transparent;
        background-color: var(--color--focus-background);
        outline: 3px solid #814ec0;
        outline: 3px solid var(--color--focus-outline);
        outline-offset: 4px;
        text-decoration: none
    }

        a:focus:not(:focus-visible) {
            background-color: none;
            outline: 0
        }

    a:hover {
        color: #000;
        color: var(--color--link-active)
    }

ol, ul {
    list-style: none;
    margin: 0;
    padding: 0
}

html {
    color: #000;
    color: var(--color--text-default);
    font-size: 16px;
    font-size: 1rem;
    letter-spacing: .05rem;
    line-height: 1.4
}

@media only screen and (min-width:641px) {
    html {
        font-size: 16px;
        font-size: 1rem
    }
}

@media only screen and (min-width:1080px) {
    html {
        font-size: 16px;
        font-size: 1rem
    }
}

.heading, .pull-quote, h1, h2, h3, h4, h5, h6 {
    font-family: museum sans,sans-serif;
    font-style: inherit;
    font-weight: inherit
}

small {
    font-size: 13px;
    font-size: .8125rem
}

@media only screen and (min-width:641px) {
    small {
        font-size: 13px;
        font-size: .8125rem
    }
}

@media only screen and (min-width:1080px) {
    small {
        font-size: 13px;
        font-size: .8125rem
    }
}

.heading--one {
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 400;
    letter-spacing: -.14375rem;
    line-height: 1.08;
    text-transform: uppercase
}

@media only screen and (min-width:641px) {
    .heading--one {
        font-size: 28px;
        font-size: 1.75rem
    }
}

@media only screen and (min-width:1080px) {
    .heading--one {
        font-size: 46px;
        font-size: 2.875rem
    }
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .heading--one {
        font-size: 36px;
        font-size: 2.25rem
    }
}

.heading--two {
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 300;
    letter-spacing: normal;
    line-height: 1.3
}

@media only screen and (min-width:641px) {
    .heading--two {
        font-size: 20px;
        font-size: 1.25rem
    }
}

@media only screen and (min-width:1080px) {
    .heading--two {
        font-size: 22px;
        font-size: 1.375rem
    }
}

.heading--three {
    font-size: 17px;
    font-size: 1.0625rem;
    font-weight: 300;
    letter-spacing: normal;
    line-height: 1.4
}

@media only screen and (min-width:641px) {
    .heading--three {
        font-size: 17px;
        font-size: 1.0625rem
    }
}

@media only screen and (min-width:1080px) {
    .heading--three {
        font-size: 17px;
        font-size: 1.0625rem
    }
}

.heading--four {
    font-size: 17px;
    font-size: 1.0625rem;
    font-weight: 300;
    letter-spacing: normal
}

@media only screen and (min-width:641px) {
    .heading--four {
        font-size: 17px;
        font-size: 1.0625rem
    }
}

@media only screen and (min-width:1080px) {
    .heading--four {
        font-size: 17px;
        font-size: 1.0625rem
    }
}

.heading--five {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 300;
    letter-spacing: normal
}

@media only screen and (min-width:641px) {
    .heading--five {
        font-size: 20px;
        font-size: 1.25rem
    }
}

@media only screen and (min-width:1080px) {
    .heading--five {
        font-size: 24px;
        font-size: 1.5rem
    }
}

.pull-quote {
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 400;
    letter-spacing: -.14375rem;
    line-height: 1.08;
    text-transform: uppercase
}

@media only screen and (min-width:641px) {
    .pull-quote {
        font-size: 28px;
        font-size: 1.75rem
    }
}

@media only screen and (min-width:1080px) {
    .pull-quote {
        font-size: 32px;
        font-size: 2rem
    }
}

.body {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .05rem;
    line-height: 1.375
}

@media only screen and (min-width:641px) {
    .body {
        font-size: 16px;
        font-size: 1rem
    }
}

@media only screen and (min-width:1080px) {
    .body {
        font-size: 16px;
        font-size: 1rem
    }
}

.supporting {
    font-size: 13px;
    font-size: .8125rem
}

@media only screen and (min-width:641px) {
    .supporting {
        font-size: 13px;
        font-size: .8125rem
    }
}

@media only screen and (min-width:1080px) {
    .supporting {
        font-size: 13px;
        font-size: .8125rem
    }
}

cite {
    font-style: normal
}

@font-face {
    font-display: swap;
    font-family: Museum Sans;
    font-style: normal;
    font-weight: 400;
    src: url("https://www.londonmuseum.org.uk/static/fonts/MuseumSans-Regular.f9cac442290c.woff2") format("woff2")
}

@font-face {
    font-display: swap;
    font-family: Museum Sans;
    font-style: normal;
    font-weight: 300;
    src: url("https://www.londonmuseum.org.uk/static/fonts/MuseumSans-Book.a2f65835e456.woff2") format("woff2")
}

.link {
    color: #814ec0;
    color: var(--color--link);
    cursor: pointer;
    text-decoration: underline;
    transition: color .25s cubic-bezier(.24,.26,.2,1)
}

    .link:focus {
        background-color: transparent;
        background-color: var(--color--focus-background);
        outline: 3px solid #814ec0;
        outline: 3px solid var(--color--focus-outline);
        outline-offset: 4px;
        text-decoration: none
    }

        .link:focus:not(:focus-visible) {
            background-color: none;
            outline: 0
        }

    .link:hover {
        color: #000;
        color: var(--color--link-active)
    }

.link--disabled {
    color: rgba(0,0,0,.3);
    color: var(--color--link-disabled);
    text-decoration: underline
}

.grecaptcha-badge {
    visibility: hidden
}

.sf .u-sf-flourish {
    margin-top: 60px
}

@media only screen and (min-width:1080px) {
    .sf .u-sf-flourish {
        margin-top: 80px
    }
}

.animate {
    animation-duration: .5s;
    animation-iteration-count: 1;
    animation-name: fadeInOpacity;
    animation-timing-function: ease-in
}

.animate-fast {
    animation-duration: .15s;
    animation-iteration-count: 1;
    animation-name: fadeInMoveUp;
    animation-timing-function: ease-in
}

@keyframes fadeInOpacity {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeInMoveUp {
    0% {
        opacity: 0;
        transform: translate3d(0,-100px,0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.app--w-quicklinks .app__content {
    margin-top: 267px
}

@media only screen and (min-width:641px) {
    .app--w-quicklinks .app__content {
        margin-top: 293px
    }
}

.app__content {
    margin-top: 211px;
    padding-top: 20px;
    transition: margin-top .25s cubic-bezier(.24,.26,.2,1)
}

@media only screen and (min-width:641px) {
    .app__content {
        margin-top: 237px
    }
}

@media only screen and (min-width:1080px) {
    .app__content {
        margin-top: 296px
    }
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .app__content {
        margin-top: 248px
    }
}

.app__content--no-spacing {
    margin-top: 0 !important;
    padding-top: 0 !important
}

.app__footer {
    position: relative;
    z-index: 40
}

.app.no-ticker .app__content, .app.template-404 .app__content, .app.template-collections-landing-page .app__content, .app.template-listing .app__content, .app.template-venue-page .app__content, .app.ticker-hidden .app__content {
    margin-top: 161px;
    padding-top: 10px
}

@media only screen and (min-width:641px) {
    .app.no-ticker .app__content, .app.template-404 .app__content, .app.template-collections-landing-page .app__content, .app.template-listing .app__content, .app.template-venue-page .app__content, .app.ticker-hidden .app__content {
        margin-top: 187px
    }
}

@media only screen and (min-width:1080px) {
    .app.no-ticker .app__content, .app.template-404 .app__content, .app.template-collections-landing-page .app__content, .app.template-listing .app__content, .app.template-venue-page .app__content, .app.ticker-hidden .app__content {
        margin-top: 246px
    }
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .app.no-ticker .app__content, .app.template-404 .app__content, .app.template-collections-landing-page .app__content, .app.template-listing .app__content, .app.template-venue-page .app__content, .app.ticker-hidden .app__content {
        margin-top: 198px
    }
}

.app.no-ticker.app--w-quicklinks .app__content, .app.template-404.app--w-quicklinks .app__content, .app.template-collections-landing-page.app--w-quicklinks .app__content, .app.template-listing.app--w-quicklinks .app__content, .app.template-venue-page.app--w-quicklinks .app__content, .app.ticker-hidden.app--w-quicklinks .app__content {
    margin-top: 217px
}

@media only screen and (min-width:641px) {
    .app.no-ticker.app--w-quicklinks .app__content, .app.template-404.app--w-quicklinks .app__content, .app.template-collections-landing-page.app--w-quicklinks .app__content, .app.template-listing.app--w-quicklinks .app__content, .app.template-venue-page.app--w-quicklinks .app__content, .app.ticker-hidden.app--w-quicklinks .app__content {
        margin-top: 243px
    }
}

.app.template-home-page .app__content {
    padding-top: 0
}

.footer__inner {
    background-color: #f6f6f6;
    background-color: var(--color--background-extra-subtle)
}

.footer__locations {
    padding-top: 60px
}

.footer__nav-container {
    width: 100%
}

@media only screen and (min-width:1080px) {
    .footer__nav-container {
        flex: 1;
        width: auto
    }
}

.footer__logo-container {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin: 0 auto;
    padding: 60px 20px 40px
}

@media only screen and (min-width:641px) {
    .footer__logo-container {
        align-items: center;
        flex-direction: row;
        gap: 60px;
        padding-left: 40px
    }
}

@media only screen and (min-width:1080px) {
    .footer__logo-container {
        max-width: 1440px;
        padding-bottom: 40px
    }
}

.footer__logo--col {
    margin-left: 15px
}

@media only screen and (min-width:641px) {
    .footer__logo--col {
        margin-left: 0
    }
}

@media(forced-colors:active)and (prefers-color-scheme:dark) {
    .footer__logo {
        background-color: WindowText
    }
}

.footer__logo-supporting {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 auto;
    padding: 0 20px 40px
}

@media only screen and (min-width:641px) {
    .footer__logo-supporting {
        align-items: center;
        flex-direction: row;
        gap: 30px
    }
}

@media only screen and (min-width:1080px) {
    .footer__logo-supporting {
        max-width: 1440px;
        padding: 0 40px 60px
    }
}

.footer__supporting-text {
    color: #3c3c3c;
    color: var(--color--text-secondary);
    max-width: 300px
}

.footer__credit {
    padding: 20px 0
}

.footer__credit, .header {
    background-color: #fff;
    background-color: var(--color--background-default)
}

.header {
    position: fixed;
    top: 0;
    transition: transform .25s cubic-bezier(.24,.26,.2,1);
    width: 100%;
    z-index: 45
}

@media only screen and (min-width:1080px) {
    .header__inner {
        padding-top: 40px
    }
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .header__inner {
        padding-top: 30px
    }
}

.header__identity {
    display: flex;
    margin-bottom: 10px;
    padding: 0 20px;
    transition: height .25s cubic-bezier(.24,.26,.2,1)
}

@media only screen and (min-width:641px) {
    .header__identity {
        margin-bottom: 20px
    }
}

@media only screen and (min-width:1080px) {
    .header__identity {
        margin-bottom: 40px;
        padding: 0
    }
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .header__identity {
        margin-bottom: 30px
    }
}

.header__logo-link {
    align-self: flex-start;
    display: flex;
    position: relative;
    transition: opacity .25s cubic-bezier(.24,.26,.2,1)
}

    .header__logo-link:hover {
        opacity: .8
    }

    .header__logo-link [data-tippy-root] {
        display: none
    }

@media only screen and (min-width:641px) {
    .header__logo-link [data-tippy-root] {
        display: inline
    }
}

.header__logo {
    margin-bottom: 20px;
    margin-right: 20px
}

@media only screen and (min-width:1080px) {
    .header__logo {
        margin-bottom: 0
    }
}

.header__action-buttons {
    display: flex;
    justify-content: space-between
}

.header__pigeon {
    height: 60px;
    transform-origin: top left;
    transition: transform .25s cubic-bezier(.24,.26,.2,1),height .25s cubic-bezier(.24,.26,.2,1),width .25s cubic-bezier(.24,.26,.2,1);
    width: 67px
}

@media only screen and (min-width:641px) {
    .header__pigeon {
        height: 77px;
        width: 87px
    }
}

@media only screen and (min-width:1080px) {
    .header__pigeon {
        height: 100px;
        width: 115px
    }
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .header__pigeon {
        height: 70px;
        width: 80px
    }
}

.header__pigeon--custom {
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity .25s cubic-bezier(.24,.26,.2,1) .5s
}

.custom-pigeon-active .header__pigeon--custom {
    opacity: 1
}

.header__pigeon--custom:focus, .header__pigeon--custom:hover {
    opacity: 0;
    transition: opacity .25s cubic-bezier(.24,.26,.2,1)
}

.header__utility--mobile {
    display: flex;
    flex-direction: row;
    padding: 20px 0;
    width: 100%
}

.header__menus {
    order: 2
}

.header__menus--desktop {
    display: none
}

@media only screen and (min-width:1080px) {
    .header__menus--desktop {
        display: flex
    }
}

.header__menus--mobile {
    background: #fff;
    background: var(--color--background-default);
    display: flex;
    flex-direction: column;
    height: 100vh;
    left: 0;
    opacity: 0;
    overflow-x: hidden;
    pointer-events: none;
    position: fixed;
    top: 0;
    transform: translate3d(0,100%,0);
    transition: transform .25s cubic-bezier(.24,.26,.2,1),opacity .25s cubic-bezier(.24,.26,.2,1);
    width: 100vw;
    z-index: 50
}

@media only screen and (min-width:1080px) {
    .header__menus--mobile {
        display: none
    }
}

.header__menus--mobile.is-visible {
    opacity: 1;
    overflow-y: auto;
    pointer-events: all;
    transform: translateZ(0);
    transition: transform .25s cubic-bezier(.24,.26,.2,1),opacity .25s cubic-bezier(.24,.26,.2,1)
}

.header__menus--mobile nav {
    width: 100%
}

.header__menus--mobile .icon-button--close {
    align-self: flex-start;
    margin: 20px 0 10px 20px;
    position: relative;
    z-index: 45
}

.header__menu-toggle, .header__search-toggle {
    flex-basis: 50%;
    min-width: 50%;
    padding-left: 20px
}

.headroom--unpinned .header {
    transform: translate3d(0,-200%,0)
}

.headroom--pinned.headroom--not-top .header {
    transform: translateZ(0)
}

    .headroom--pinned.headroom--not-top .header .header__identity {
        display: none
    }

@media only screen and (min-width:1080px) {
    .headroom--pinned.headroom--not-top .header .header__identity {
        display: flex
    }
}

.headroom--pinned.headroom--not-top .header .header__utility--mobile {
    padding: 10px 0
}

@media only screen and (min-width:1080px) {
    .headroom--pinned.headroom--not-top .header {
        transform: translate3d(0,-168px,0)
    }
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .headroom--pinned.headroom--not-top .header {
        transform: translate3d(0,-123px,0)
    }
}

.headroom--pinned.headroom--not-top.app--w-quicklinks .header {
    transform: translate3d(0,-56px,0)
}

.headroom--pinned.headroom--not-top.no-scroll .header {
    transform: translateZ(0)
}

@media only screen and (min-width:1080px) {
    .dropdown-tab-menu-active.headroom--pinned.headroom--not-top .header {
        transform: translateZ(0)
    }
}

.layout {
    column-gap: 5px;
    display: grid;
    grid-template-columns: repeat(12,1fr);
    padding-left: 20px;
    padding-right: 20px
}

@media only screen and (min-width:1080px) {
    .layout {
        column-gap: 10px;
        margin-left: auto;
        margin-right: auto;
        max-width: 1440px;
        padding-left: 40px;
        padding-right: 40px
    }
}

.layout--no-padding {
    padding-left: 0;
    padding-right: 0
}

@media only screen and (max-width:1079px) {
    .layout--header {
        padding-left: 0;
        padding-right: 0
    }
}

.layout--no-gap {
    gap: 0
}

.results-header .layout {
    padding-left: 0;
    padding-right: 0
}

.sidebar {
    margin-top: 20px
}

@media only screen and (min-width:1080px) {
    .sidebar {
        margin: 0 0 0 20px
    }
}

.sidebar--filters {
    margin: 20px 0
}

.air-datepicker {
    --adp-day-name-color: var(--color--text-default);
    --adp-color: var(--color--text-default);
    --adp-accent-color: var(--color--background-action);
    --adp-color-disabled: var(--color--text-default);
    --adp-nav-color-secondary: var(--color--text-default);
    --adp-color-current-date: var(--color--text-default);
    --adp-nav-arrow-color: var(--color--text-default);
    --adp-cell-background-color-selected: var(--color--background-action);
    --adp-cell-background-color-selected-hover: var(--color--background-action);
    --adp-cell-background-color-hover: var(--color--background-action);
    --adp-font-family: inherit;
    --adp-font-size: $base-font-size;
    --adp-width: 100%;
    --adp-border-radius: 0;
    --adp-border-color-inline: transparent;
    --adp-border-color-inner: transparent;
    --adp-cell-border-radius: 0;
    --adp-day-cell-height: 46px;
    border-top: 1px solid #3c3c3c;
    border-top: 1px solid var(--color--border);
    margin-top: 10px
}

@media only screen and (min-width:1080px) {
    .air-datepicker {
        margin-top: 40px
    }
}

.air-datepicker.focused {
    outline: 2px solid #814ec0;
    outline: 2px solid var(--color--focus-outline)
}

.air-datepicker .air-datepicker-body--day-name {
    height: 50px
}

.air-datepicker .air-datepicker-body--cells {
    gap: 1px
}

.air-datepicker .air-datepicker-cell {
    outline: 1px solid #000;
    outline: 1px solid var(--color--border-dark)
}

    .air-datepicker .air-datepicker-cell.-disabled-:empty, .air-datepicker .air-datepicker-cell.-other-month-:empty {
        outline: 0
    }

    .air-datepicker .air-datepicker-cell.-day-.-disabled-, .air-datepicker .air-datepicker-cell.-month-.-disabled-, .air-datepicker .air-datepicker-cell.-year-.-disabled- {
        background-color: #ededed;
        background-color: var(--color--background-action-disabled);
        outline: 0
    }

    .air-datepicker .air-datepicker-cell.-current- {
        overflow: hidden;
        position: relative
    }

        .air-datepicker .air-datepicker-cell.-current-:before {
            border-color: transparent #c4a2ef transparent transparent;
            border-color: transparent var(--color--background-primary) transparent transparent;
            border-style: solid;
            border-width: 0 15px 15px 0;
            content: "";
            display: block;
            height: 0;
            position: absolute;
            right: 2px;
            top: 2px;
            width: 0
        }

    .air-datepicker .air-datepicker-cell.-selected- {
        color: #000;
        color: var(--color--text-default)
    }

.air-datepicker .air-datepicker-nav--action {
    border: 1px solid #3c3c3c;
    border: 1px solid var(--color--border);
    border-radius: 100%;
    height: 45px;
    width: 45px
}

    .air-datepicker .air-datepicker-nav--action path {
        stroke-width: 1px
    }

.air-datepicker .air-datepicker-nav--title {
    font-family: museum sans,sans-serif;
    font-weight: 300
}

.air-datepicker .-day-:has(~.-current-) {
    background-color: #ededed;
    background-color: var(--color--background-action-disabled);
    border: 0;
    outline: 1px solid #ededed;
    outline: 1px solid var(--color--background-action-disabled)
}

#div_id_from_date label {
    clip: rect(1px,1px,1px,1px);
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px
}

#div_id_date_preference {
    border-bottom: 1px solid rgba(60,60,60,.2);
    border-bottom: 1px solid var(--color--border-subtle);
    padding-bottom: 10px
}

@media only screen and (min-width:1080px) {
    #div_id_date_preference {
        padding-bottom: 20px
    }
}

#div_id_date_preference label {
    margin-bottom: 5px
}

.calendar-disabled {
    opacity: .3;
    pointer-events: none
}

.accordion--default-links a {
    color: #814ec0;
    color: var(--color--link);
    cursor: pointer;
    text-decoration: underline;
    transition: color .25s cubic-bezier(.24,.26,.2,1)
}

    .accordion--default-links a:focus {
        background-color: transparent;
        background-color: var(--color--focus-background);
        outline: 3px solid #814ec0;
        outline: 3px solid var(--color--focus-outline);
        outline-offset: 4px;
        text-decoration: none
    }

        .accordion--default-links a:focus:not(:focus-visible) {
            background-color: none;
            outline: 0
        }

    .accordion--default-links a:hover {
        color: #000;
        color: var(--color--link-active)
    }

.accordion--large-buttons .accordion__icon {
    top: 2px
}

.accordion--top-border .accordion__button {
    border-top: 1px solid rgba(60,60,60,.2);
    border-top: 1px solid var(--color--border-subtle)
}

.accordion--sf-block .accordion__header {
    margin-bottom: 30px
}

.accordion--sf-block .accordion__intro {
    margin-top: 10px
}

.accordion--sf-block .accordion__button {
    align-items: center;
    gap: 10px;
    justify-content: space-between
}

    .accordion--sf-block .accordion__button:focus, .accordion--sf-block .accordion__button:hover {
        color: #814ec0;
        color: var(--color--link);
        text-decoration: underline
    }

.accordion--sf-block .accordion__icon {
    pointer-events: none
}

.accordion--sf-block .accordion__content {
    margin-bottom: 30px
}

@media only screen and (min-width:1080px) {
    .accordion--sf-block .accordion__content {
        margin: 10px 0 40px
    }
}

.accordion--sf-block .accordion__content .rich-text p {
    margin-bottom: 20px
}

.accordion--modal {
    margin-bottom: 40px
}

    .accordion--modal .accordion__header {
        margin-bottom: 30px
    }

    .accordion--modal .accordion__intro {
        margin-top: 10px
    }

    .accordion--modal .accordion__button {
        align-items: center;
        gap: 10px;
        justify-content: space-between
    }

        .accordion--modal .accordion__button:focus, .accordion--modal .accordion__button:hover {
            color: #814ec0;
            color: var(--color--link);
            text-decoration: underline
        }

        .accordion--modal .accordion__button.is-open {
            padding-bottom: 10px
        }

    .accordion--modal .accordion__icon {
        pointer-events: none
    }

    .accordion--modal .accordion__content {
        margin-bottom: 10px
    }

.accordion--session .accordion__button {
    grid-column: 1/span 12
}

.accordion__button {
    align-items: flex-end;
    border: none;
    color: #000;
    color: var(--color--text-default);
    display: flex;
    outline: none;
    padding: 20px 0;
    text-align: left;
    transition: transform .25s cubic-bezier(.24,.26,.2,1);
    width: 100%
}

    .accordion__button.is-open .accordion__icon {
        transform: rotate(180deg)
    }

.accordion__icon {
    display: inline-block;
    left: 2px;
    pointer-events: none;
    position: relative;
    transform: rotate(0deg)
}

.accordion__content {
    background-color: var(--color--secondary);
    display: block;
    opacity: 1;
    overflow: hidden;
    padding: 0;
    transition: opacity .25s cubic-bezier(.24,.26,.2,1)
}

    .accordion__content.hidden {
        display: none;
        opacity: 0
    }

.accordion__hidden {
    display: none
}

.template-narrow-col .sf .accordion .accordion__button, .template-narrow-col .sf .accordion .accordion__content, .template-narrow-col .sf .accordion .accordion__header {
    grid-column: 1/span 12
}

.back-to-top {
    align-items: flex-end;
    background-image: linear-gradient(currentColor,currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    display: flex;
    gap: 5px;
    transition: background-size .25s cubic-bezier(.24,.26,.2,1)
}

    .back-to-top:focus {
        background-color: transparent;
        background-color: var(--color--focus-background);
        outline: 3px solid #814ec0;
        outline: 3px solid var(--color--focus-outline);
        outline-offset: 4px;
        text-decoration: none
    }

        .back-to-top:focus:not(:focus-visible) {
            background-color: none;
            outline: 0
        }

@media(forced-colors:active) {
    .back-to-top {
        border-bottom: 1px solid LinkText
    }
}

.back-to-top:focus, .back-to-top:hover {
    background-size: 100% 1px
}

@media(forced-colors:active) {
    .back-to-top:focus, .back-to-top:hover {
        border-bottom: 2px solid LinkText
    }
}

.back-to-top__icon {
    transform: rotate(180deg)
}

.breadcrumb__container {
    display: flex;
    flex-direction: row;
    margin-bottom: 40px;
    overflow-x: auto
}

.breadcrumb__item {
    align-items: center;
    display: none;
    white-space: nowrap
}

@media only screen and (min-width:641px) {
    .breadcrumb__item {
        display: flex
    }
}

.breadcrumb__item:after {
    content: "/";
    display: inline-block;
    margin-right: 5px;
    padding-left: 5px
}

.breadcrumb__item:last-child {
    display: flex
}

    .breadcrumb__item:last-child:after {
        content: none
    }

.breadcrumb__item-link {
    color: #814ec0;
    color: var(--color--link);
    display: inline-block;
    position: relative;
    text-decoration: underline
}

@media only screen and (min-width:641px) {
    .breadcrumb__item-link {
        background-image: linear-gradient(currentColor,currentColor);
        background-position: 0 100%;
        background-repeat: no-repeat;
        background-size: 0 1px;
        color: #000;
        color: var(--color--text-action);
        text-decoration: none;
        transition: background-size .25s cubic-bezier(.24,.26,.2,1)
    }
}

@media only screen and (min-width:641px)and (forced-colors:active) {
    .breadcrumb__item-link {
        border-bottom: 1px solid LinkText
    }
}

@media only screen and (min-width:641px) {
    .breadcrumb__item-link:focus, .breadcrumb__item-link:hover {
        background-size: 100% 1px
    }
}

@media only screen and (min-width:641px)and (forced-colors:active) {
    .breadcrumb__item-link:focus, .breadcrumb__item-link:hover {
        border-bottom: 2px solid LinkText
    }
}

.button, .carousel-control, .icon-button {
    background-color: transparent;
    background-image: none;
    border: 0;
    box-shadow: none
}

    .button:focus, .carousel-control:focus, .icon-button:focus {
        background-color: transparent;
        background-color: var(--color--focus-background);
        outline: 3px solid #814ec0;
        outline: 3px solid var(--color--focus-outline);
        outline-offset: 4px;
        text-decoration: none
    }

        .button:focus:not(:focus-visible), .carousel-control:focus:not(:focus-visible), .icon-button:focus:not(:focus-visible) {
            background-color: none;
            outline: 0
        }

    .button:hover, .carousel-control:hover, .icon-button:hover {
        cursor: pointer
    }

    .button:focus, .carousel-control:focus, .icon-button:focus {
        background-color: #a6e8bc;
        background-color: var(--color--background-action-active);
        color: #000;
        color: var(--color--text-action)
    }

.button {
    align-items: center;
    border: 1px solid #000;
    border: 1px solid var(--color--button);
    border-radius: 99px;
    display: inline-flex;
    gap: 10px;
    padding: 10px 15px;
    transition: background-color .25s cubic-bezier(.24,.26,.2,1),border-color .25s cubic-bezier(.24,.26,.2,1)
}

@media only screen and (min-width:1080px) {
    .button {
        padding: 10px 30px
    }
}

.button .icon {
    margin-top: 1px
}

.button:hover {
    background-color: #a6e8bc;
    background-color: var(--color--background-action-active);
    border-color: #a6e8bc;
    border-color: var(--color--background-action-active)
}

.button--inverse {
    color: #fff;
    color: var(--color--button-secondary)
}

    .button--inverse, .button--inverse:hover {
        border-color: #fff;
        border-color: var(--color--button-secondary)
    }

        .button--inverse:hover {
            background-color: #fff;
            background-color: var(--color--button-secondary);
            color: #000;
            color: var(--color--button)
        }

.button--nowrap {
    white-space: nowrap
}

.icon-button {
    border: 1px solid #000;
    border: 1px solid var(--color--button);
    border-radius: 100%;
    color: #000;
    color: var(--color--button);
    padding: 10px;
    transition: background-color .25s cubic-bezier(.24,.26,.2,1),opacity .25s cubic-bezier(.24,.26,.2,1),border-color .25s cubic-bezier(.24,.26,.2,1)
}

    .icon-button:hover {
        background-color: #a6e8bc;
        background-color: var(--color--background-action-active);
        border-color: #a6e8bc;
        border-color: var(--color--background-action-active)
    }

.modal .icon-button span {
    pointer-events: none
}

.icon-button .rotate .icon {
    transform: rotate(270deg)
}

.icon-button .rotate--left .icon {
    transform: rotate(-270deg)
}

.icon-button--inverse {
    color: #fff;
    color: var(--color--button-secondary)
}

    .icon-button--inverse, .icon-button--inverse:hover {
        border-color: #fff;
        border-color: var(--color--button-secondary)
    }

        .icon-button--inverse:hover {
            background-color: #fff;
            background-color: var(--color--button-secondary);
            color: #000;
            color: var(--color--button)
        }

        .icon-button--inverse.icon-button--tooltip:hover {
            background-color: transparent;
            border-color: #fff;
            border-color: var(--color--button-secondary);
            color: #fff;
            color: var(--color--button-secondary)
        }

.ticker .icon-button {
    background-color: #c4a2ef;
    background-color: var(--color--background-primary)
}

    .ticker .icon-button:hover {
        background-color: #a6e8bc;
        background-color: var(--color--background-action-active);
        border-color: #a6e8bc;
        border-color: var(--color--background-action-active)
    }

.icon-button.glide__arrow--disabled {
    opacity: .2;
    pointer-events: none
}

@media only screen and (min-width:1080px) {
    .full-width-image-gallery .icon-button {
        padding: 12px
    }
}

.button-menu-toggle {
    align-items: center;
    background-color: transparent;
    display: flex
}

.button-menu-toggle__burger {
    border: 0;
    height: 30px;
    position: relative;
    width: 30px
}

.button-menu-toggle__line {
    background-color: #000;
    background-color: var(--color--icon);
    display: block;
    height: 1px;
    left: 10px;
    position: absolute;
    width: 11px
}

    .button-menu-toggle__line:first-child {
        top: 10px
    }

    .button-menu-toggle__line:nth-child(2) {
        top: 14px
    }

    .button-menu-toggle__line:nth-child(3) {
        top: 18px
    }

.card--tight-heading .card__image-container {
    margin-bottom: 15px
}

.card--collection-object .card__type {
    display: none
}

.taxonomy-results .card--collection-object .card__type, .template-listing .card--collection-object .card__type {
    display: block
}

.results__container--tight .card--collection-object {
    margin-bottom: 40px
}

@media only screen and (min-width:1080px) {
    .results__container--tight .card--collection-object {
        margin-bottom: 80px
    }
}

.card__container {
    cursor: pointer
}

    .card__container:focus .card__heading, .card__container:hover .card__heading {
        background-size: 100% 1px;
        color: #814ec0;
        color: var(--color--text-action-active)
    }

@media(forced-colors:active) {
    .card__container:focus .card__heading, .card__container:hover .card__heading {
        border-bottom: 2px solid LinkText
    }
}

.card__container:focus .card__image, .card__container:hover .card__image {
    transform: scale(1.025);
    transform-origin: center
}

@media(prefers-reduced-motion:reduce) {
    .card__container:focus .card__image, .card__container:hover .card__image {
        transform: scale(1)
    }
}

.card__type {
    align-items: center;
    display: flex;
    margin-bottom: 15px
}

    .card__type .icon {
        margin-left: 5px
    }

.card__image {
    display: block;
    height: auto;
    transition: transform .5s cubic-bezier(.24,.26,.2,1);
    width: 100%
}

.page-nav--small .card__image {
    max-height: 240px;
    object-fit: cover
}

.card__image-container {
    margin-bottom: 20px;
    overflow: hidden;
    position: relative
}

.card__status-label {
    background-color: #fff;
    background-color: var(--color--background-default);
    bottom: 10px;
    left: 10px;
    padding: 20px;
    position: absolute
}

@media only screen and (min-width:1080px) {
    .card__status-label {
        bottom: 20px;
        left: 20px;
        padding-top: 30px
    }
}

.card__heading {
    background-image: linear-gradient(currentColor,currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    display: inline;
    transition: background-size .25s cubic-bezier(.24,.26,.2,1)
}

@media(forced-colors:active) {
    .card__heading {
        border-bottom: 1px solid LinkText
    }
}

.card__description {
    color: #3c3c3c;
    color: var(--color--text-secondary);
    margin-top: 5px
}

.card__dates {
    margin: 5px 0
}

.results .card .card__description, .results .card .card__heading, .results .card .card__summary {
    max-width: 85%
}

.results .card--event .card__category {
    margin-right: 15px
}

.results .card--event .card__description {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%
}

.results .card--event .card__dates {
    align-items: center;
    display: flex;
    margin-right: 10px
}

    .results .card--event .card__dates:after {
        border-right: 1px solid #3c3c3c;
        border-right: 1px solid var(--color--border);
        content: "";
        height: 16px;
        margin-left: 10px;
        opacity: .2;
        width: 1px
    }

.results .card--event .card__category, .results .card--event .card__dates {
    margin-bottom: 5px;
    margin-top: 0
}

.results .card--event .card__sumary {
    flex-basis: 100%
}

.results-summary__content--pictures .card, .results__container .card {
    grid-column: span 12/span 12
}

@media only screen and (min-width:641px) {
    .results-summary__content--pictures .card, .results__container .card {
        grid-column: span 4/span 4
    }
}

.carousel--single .carousel__controls {
    display: grid;
    top: -28px
}

@media only screen and (min-width:1080px) {
    .carousel--single .carousel__controls, .carousel--varied-height .carousel__controls {
        top: -38px
    }
}

.carousel--full-width .carousel__controls {
    top: 20px
}

@media only screen and (min-width:1080px) {
    .carousel--full-width .carousel__controls {
        top: min(calc(70vh - 39px),570px)
    }
}

@media only screen and (min-width:1520px) {
    .carousel--full-width .carousel__controls {
        top: min(calc(70vh - 39px),670px)
    }
}

.carousel__controls {
    display: grid;
    left: 0;
    position: absolute;
    right: 0;
    top: -12px
}

.carousel__controls--round {
    top: 0
}

.carousel__controls-group {
    display: flex;
    grid-column: self-end
}

.carousel__controls-group--start {
    grid-column: inherit
}

.carousel__button:disabled {
    opacity: .2;
    pointer-events: none
}

.carousel__liveregion {
    clip: rect(1px,1px,1px,1px);
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px
}

.full-width-image-gallery .carousel__liveregion {
    clip: unset;
    height: auto;
    left: 120px;
    overflow: hidden;
    top: 28px;
    width: auto
}

@media only screen and (min-width:1080px) {
    .full-width-image-gallery .carousel__liveregion {
        left: 154px;
        top: 40px
    }
}

.carousel-control {
    align-items: center;
    background-color: #b3f5c9;
    background-color: var(--color--background-action);
    color: #000;
    color: var(--color--text-action);
    display: flex;
    height: 58px;
    justify-content: center;
    transition: background-color .25s cubic-bezier(.24,.26,.2,1);
    width: 48px
}

@media(forced-colors:active) {
    .carousel-control {
        outline: 1px solid LinkText
    }
}

@media only screen and (min-width:1080px) {
    .carousel-control {
        height: 68px
    }
}

.carousel-control .icon {
    position: relative;
    transition: transform .25s cubic-bezier(.24,.26,.2,1)
}

@media only screen and (min-width:1080px) {
    .carousel-control .icon {
        top: 5px
    }
}

.carousel-control:focus:not(:focus-visible) {
    outline: 0
}

.carousel-control:hover {
    background-color: #a6e8bc;
    background-color: var(--color--background-action-active)
}

    .carousel-control:hover .icon {
        transform: translateX(5px);
        transition: transform .25s cubic-bezier(.24,.26,.2,1)
    }

.carousel-control:focus {
    background-color: #a6e8bc;
    background-color: var(--color--background-action-active)
}

.carousel-control--left:hover .icon {
    transform: translateX(-5px)
}

.carousel-control:disabled {
    pointer-events: none
}

    .carousel-control:disabled .icon {
        opacity: .2
    }

.cta {
    background-color: #b3f5c9;
    background-color: var(--color--background-action);
    color: #000;
    color: var(--color--text-action);
    display: inline-flex;
    flex-direction: column;
    gap: 10px;
    line-height: 1;
    padding: 20px;
    text-align: left;
    transition: color .25s cubic-bezier(.24,.26,.2,1),border-color .25s cubic-bezier(.24,.26,.2,1),background-color .25s cubic-bezier(.24,.26,.2,1)
}

    .cta:focus {
        background-color: transparent;
        background-color: var(--color--focus-background);
        outline: 3px solid #814ec0;
        outline: 3px solid var(--color--focus-outline);
        outline-offset: 4px;
        text-decoration: none
    }

        .cta:focus:not(:focus-visible) {
            background-color: none;
            outline: 0
        }

@media(forced-colors:active) {
    .cta {
        outline: 1px solid LinkText
    }
}

.cta:focus, .cta:hover {
    background-color: #a6e8bc;
    background-color: var(--color--background-action-active)
}

.cta:disabled, .cta:disabled:hover {
    background-color: #ededed;
    background-color: var(--color--background-action-disabled)
}

.cta--primary, .cta--secondary {
    border: 1px solid #b3f5c9;
    border: 1px solid var(--color--background-action)
}

@media only screen and (min-width:1080px) {
    .cta--primary, .cta--secondary {
        padding-top: 10px
    }
}

.cta--primary:hover, .cta--secondary:hover {
    border-color: #a6e8bc;
    border-color: var(--color--background-action-active)
}

    .cta--primary:hover .cta__flourish, .cta--secondary:hover .cta__flourish {
        fill: currentColor;
        opacity: 1;
        transform: translateY(0)
    }

.cta--secondary {
    background-color: transparent
}

    .cta--secondary, .cta--secondary:hover {
        border-color: #3c3c3c;
        border-color: var(--color--border)
    }

.cta--full {
    width: 100%
}

@media only screen and (min-width:641px) {
    .cta--full {
        max-width: 168px
    }
}

@media only screen and (min-width:1080px) {
    .cta--full {
        max-width: 100%
    }
}

.cta--half {
    flex-basis: calc(50% - 1px);
    min-width: calc(50% - 1px)
}

    .cta--half:hover {
        background-color: #a6e8bc;
        background-color: var(--color--background-action-active);
        color: #814ec0;
        color: var(--color--text-action-active)
    }

.cta__flourish {
    align-self: center;
    display: none;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .25s cubic-bezier(.24,.26,.2,1),transform .25s cubic-bezier(.24,.26,.2,1)
}

@media only screen and (min-width:1080px) {
    .cta__flourish {
        display: flex
    }
}

.social-newsletter__social .cta {
    display: flex
}

.come-in .card, .come-in .footer-locations__item {
    animation: come-in .8s ease .2ms forwards;
    opacity: 0;
    transform: translateY(150px)
}

    .come-in .card:nth-child(odd), .come-in .footer-locations__item:nth-child(odd) {
        animation-duration: 1s
    }

@media(prefers-reduced-motion:reduce) {
    .come-in .card, .come-in .footer-locations__item {
        animation: none;
        opacity: 1;
        transform: translateY(0)
    }
}

.come-in .glide__slide .card, .come-in .page-nav__item .card, .come-in .result-item .card {
    animation-duration: .8s
}

.come-in .glide__slide:nth-child(odd) .card, .come-in .page-nav__item:nth-child(odd) .card, .come-in .result-item:nth-child(odd) .card {
    animation-duration: 1s
}

.come-in .heading--one, .come-in.featured {
    animation: come-in .8s ease-in 0s forwards;
    opacity: 0
}

@media(prefers-reduced-motion:reduce) {
    .come-in .heading--one, .come-in.featured {
        animation: none;
        opacity: 1
    }
}

.come-in .flourish .icon, .come-in .location__flourish .icon {
    fill: transparent
}

.come-in .flourish .icon--sun use, .come-in .location__flourish .icon--sun use {
    animation-duration: 7s
}

.come-in .flourish svg, .come-in .location__flourish svg {
    overflow: visible
}

.come-in .flourish use, .come-in .location__flourish use {
    stroke-linecap: round;
    stroke: #3c3c3c;
    stroke: var(--color--icon-stroke);
    stroke-width: 4;
    fill: #000;
    fill: var(--color--icon);
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: draw 5s linear 1s
}

@media(prefers-reduced-motion:reduce) {
    .come-in .flourish use, .come-in .location__flourish use {
        fill: #000;
        fill: var(--color--icon);
        stroke-width: 0;
        animation: none
    }
}

.come-in .flourish use path, .come-in .location__flourish use path {
    fill: #000;
    fill: var(--color--icon)
}

.sf__block--hero-banner .come-in .flourish use, .sf__block--hero-banner .come-in .location__flourish use {
    fill: #fff;
    fill: var(--color--text-dark-bg);
    stroke: #fff;
    stroke: var(--color--text-dark-bg);
    color: #fff;
    color: var(--color--text-dark-bg)
}

    .sf__block--hero-banner .come-in .flourish use path, .sf__block--hero-banner .come-in .location__flourish use path {
        fill: #fff;
        fill: var(--color--text-dark-bg)
    }

[data-come-in-animation] .come-in-trigger .card, [data-come-in-animation] .come-in-trigger .footer-locations__item, [data-come-in-animation] .come-in-trigger .heading--one {
    opacity: 0
}

@media(prefers-reduced-motion:reduce) {
    [data-come-in-animation] .come-in-trigger .card, [data-come-in-animation] .come-in-trigger .footer-locations__item, [data-come-in-animation] .come-in-trigger .heading--one {
        opacity: 1
    }
}

[data-come-in-animation] .come-in-trigger.featured {
    opacity: 0
}

@media(prefers-reduced-motion:reduce) {
    [data-come-in-animation] .come-in-trigger.featured {
        opacity: 1
    }
}

@keyframes come-in {
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes draw {
    to {
        stroke-dashoffset: 0;
        stroke-width: 0
    }
}

.document-download__title {
    border-top: 1px dotted rgba(60,60,60,.2);
    border-top: 1px dotted var(--color--border-subtle);
    padding: 20px 0
}

.document-download__button {
    margin-bottom: 10px;
    margin-top: 10px
}

@media only screen and (min-width:1080px) {
    .document-download__button {
        margin-top: 0
    }
}

.document-download p {
    margin-top: 10px
}

.document-download__border {
    margin-bottom: 20px;
    margin-top: 20px
}

@media only screen and (min-width:1080px) {
    .document-download__border {
        margin-bottom: 30px
    }
}

.document-download__border:not(:last-of-type) {
    border-bottom: 1px dotted rgba(60,60,60,.2);
    border-bottom: 1px dotted var(--color--border-subtle)
}

.email-signup {
    padding-bottom: 60px;
    padding-top: 40px
}

@media only screen and (min-width:1080px) {
    .email-signup {
        padding-bottom: 80px;
        padding-top: 20px
    }

        .email-signup .form__checkbox-wrapper, .email-signup input[type=email], .email-signup input[type=text] {
            margin-bottom: 30px
        }
}

.event-listing {
    align-items: stretch;
    display: flex;
    margin-bottom: 5px;
    min-height: 95px
}

.event-listing--session {
    gap: 10px;
    min-height: 0
}

.event-listing__action, .event-listing__meta {
    flex-basis: 50%
}

.event-listing__meta {
    align-self: center
}

.event-listing__time {
    align-items: center;
    display: flex;
    margin-bottom: 7px
}

.event-listing__cta {
    transition: top .25s cubic-bezier(.24,.26,.2,1)
}

.sticky-book-active .event-listing .event-listing__cta {
    position: fixed;
    right: calc(var(--page-margin-width) + 20px);
    top: 0;
    width: var(--sticky-button-width);
    z-index: 35
}

@media only screen and (min-width:1080px) {
    .sticky-book-active .event-listing .event-listing__cta {
        max-width: 100%;
        right: calc(var(--page-margin-width) + 40px)
    }
}

.headroom--pinned.headroom--not-top.sticky-book-active .event-listing .event-listing__cta {
    position: fixed;
    top: 50px
}

@media only screen and (min-width:1080px) {
    .headroom--pinned.headroom--not-top.sticky-book-active .event-listing .event-listing__cta {
        top: 56px
    }
}

.event-meta {
    margin-bottom: 60px
}

.event-meta__intro {
    margin-bottom: 20px
}

.event-meta__item {
    border-top: 1px solid rgba(60,60,60,.2);
    border-top: 1px solid var(--color--border-subtle);
    display: flex;
    padding: 10px 0
}

.event-meta__definition, .event-meta__term {
    flex-basis: 50%
}

.event-meta__term {
    font-weight: 600
}

.event-meta__definition {
    align-items: center;
    display: flex
}

.event-meta__definition--multiple {
    align-items: flex-start;
    flex-direction: column
}

.events-summary {
    border-top: 1px solid rgba(60,60,60,.2);
    border-top: 1px solid var(--color--border-subtle);
    margin-bottom: 40px;
    padding-top: 40px
}

@media only screen and (min-width:1080px) {
    .events-summary {
        border-top: 0;
        padding-top: 0
    }
}

.featured--grey, .featured--purple {
    background-color: #ededed;
    background-color: var(--color--background-subtle);
    -webkit-clip-path: polygon(0 0,100% 0,100% 95%,0 100%);
    clip-path: polygon(0 0,100% 0,100% 95%,0 100%);
    margin-bottom: -60px;
    padding-bottom: 80px
}

@media only screen and (min-width:1080px) {
    .featured--grey, .featured--purple {
        margin-bottom: -80px
    }
}

.template-collections-landing-page .featured--grey, .template-collections-landing-page .featured--purple {
    margin-bottom: -40px
}

@media only screen and (min-width:1080px) {
    .template-collections-landing-page .featured--grey, .template-collections-landing-page .featured--purple {
        margin-bottom: -60px
    }
}

.featured--purple {
    background-color: #c4a2ef;
    background-color: var(--color--background-primary)
}

.featured__image-container {
    position: relative
}

    .featured__image-container .icon-button {
        bottom: 20px;
        position: absolute
    }

@media only screen and (min-width:1080px) {
    .featured__image-container .icon-button {
        bottom: 40px
    }
}

.featured__image {
    height: auto;
    max-height: 410px;
    object-fit: cover;
    width: 100%
}

@media only screen and (min-width:641px) {
    .featured__image {
        width: calc(var(--grid-col-width)*10 + var(--page-margin-width))
    }
}

@media only screen and (min-width:1080px) {
    .featured__image {
        max-height: clamp(600px,80vh,800px)
    }
}

.featured__content-container {
    opacity: 1
}

    .featured__content-container.hidden {
        display: none;
        opacity: 0
    }

.featured__teaser {
    margin-top: 30px
}

@media only screen and (min-width:641px) {
    .featured__teaser {
        margin-top: 40px
    }

        .featured__teaser .rich-text {
            position: relative;
            top: 3px
        }
}

.sf__block--hero-banner .featured__teaser .rich-text {
    color: #fff;
    color: var(--color--text-dark-bg)
}

@media only screen and (min-width:641px) {
    .sf__block--hero-banner .featured__teaser .rich-text {
        top: 20px
    }
}

.carousel--full-width .featured .featured__image, .carousel--full-width-single-slide .featured .featured__image {
    max-height: 70vh;
    width: 100%
}

@media only screen and (min-width:1080px) {
    .carousel--full-width .featured .featured__image {
        height: 610px
    }
}

@media only screen and (min-width:1520px) {
    .carousel--full-width .featured .featured__image {
        height: 710px
    }
}

.carousel--full-width .featured .featured__tooltip-container {
    margin-left: var(--page-margin-width)
}

.carousel--full-width .featured .featured__content-container {
    margin-left: var(--page-margin-width);
    visibility: hidden
}

.carousel--full-width .featured .icon-button--tooltip {
    display: none
}

.carousel--full-width .glide__slide--active .featured .featured__content-container {
    visibility: visible
}

.carousel--full-width .glide__slide--active .featured .icon-button--tooltip {
    display: block
}

.filter-bar, .tab-bar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    max-width: 1440px;
    padding-bottom: 20px;
    padding-top: 20px
}

@media only screen and (min-width:641px) {
    .filter-bar, .tab-bar {
        flex-wrap: nowrap;
        padding: 20px
    }
}

@media only screen and (min-width:1080px) {
    .filter-bar, .tab-bar {
        padding-left: 40px;
        padding-right: 40px
    }
}

.filter-bar__buttons, .tab-bar__buttons {
    display: flex;
    padding-left: 20px;
    padding-right: 20px
}

@media only screen and (min-width:641px) {
    .filter-bar__buttons, .tab-bar__buttons {
        padding: 0
    }
}

.flag-content .filter-bar__buttons, .flag-content .tab-bar__buttons {
    padding: 0
}

.filter-bar__toggles {
    align-items: center;
    border-top: 2px solid #fff;
    border-top: 2px solid var(--color--background-default);
    display: flex;
    flex-basis: 100%;
    margin-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px
}

@media only screen and (min-width:641px) {
    .filter-bar__toggles {
        border-top: 0;
        flex-basis: auto;
        margin-left: 40px;
        margin-top: 0;
        padding: 0
    }
}

.flourish {
    position: relative
}

.flourish--placeholder {
    height: 40px;
    width: 40px
}

.flourish--right .flourish__icon {
    grid-column: self-end
}

.flourish .icon--kaleidoscope, .flourish .icon--sun {
    height: 40px;
    width: 40px
}

@media only screen and (min-width:1080px) {
    .flourish .icon--kaleidoscope, .flourish .icon--sun {
        height: 60px;
        width: 60px
    }
}

.flourish .icon--flame {
    height: 37px;
    width: 75px
}

@media only screen and (min-width:1080px) {
    .flourish .icon--flame {
        height: 50px;
        width: 110px
    }
}

.flourish .icon--sleep {
    height: 40px;
    width: 70px
}

@media only screen and (min-width:1080px) {
    .flourish .icon--sleep {
        height: 50px;
        width: 86px
    }
}

.flourish--top-space {
    margin-top: 10px
}

.template-whats-on-page .flourish--top-space {
    margin-top: 0
}

.feature-hidden .flourish--top-space {
    margin-top: 10px
}

.footer-locations__item {
    margin-bottom: 40px
}

.form--no-label label {
    clip: rect(1px,1px,1px,1px);
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px
}

.form__search-field {
    margin-bottom: 10px;
    position: relative
}

@media only screen and (min-width:1080px) {
    .form__search-field {
        margin-bottom: 20px
    }
}

.form__search-field--main {
    margin-bottom: 0
}

.form__search-field button {
    align-items: center;
    border-radius: 50%;
    display: flex;
    height: 46px;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
    width: 46px
}

    .form__reset, .form__search-field button:focus, .form__search-field button:hover {
        color: #814ec0;
        color: var(--color--text-action-active)
    }

.form__reset {
    margin-bottom: 15px;
    margin-right: 20px;
    text-decoration: underline;
    transition: color .25s cubic-bezier(.24,.26,.2,1)
}

    .form__reset:hover {
        color: #000;
        color: var(--color--text-action)
    }

.form input[type=date], .form input[type=email], .form input[type=search], .form input[type=text], .form textarea {
    border: 1px solid #000;
    border: 1px solid var(--color--button);
    border-radius: 99px;
    letter-spacing: .05rem;
    line-height: 1.375;
    padding: 10px 15px;
    width: 100%
}

.form input[type=checkbox], .form input[type=radio] {
    accent-color: #814ec0;
    accent-color: var(--color--form-accent-color)
}

.form textarea {
    border-radius: 20px;
    margin-bottom: 30px
}

.form input[type=search]::-webkit-search-cancel-button {
    display: none
}

.form__checkbox-wrapper {
    align-items: center;
    display: flex;
    gap: 10px
}

    .form__checkbox-wrapper .form__label-wrapper {
        margin-bottom: 10px;
        order: 2
    }

        .form__checkbox-wrapper .form__label-wrapper a {
            color: #814ec0;
            color: var(--color--link);
            cursor: pointer;
            text-decoration: underline;
            transition: color .25s cubic-bezier(.24,.26,.2,1)
        }

            .form__checkbox-wrapper .form__label-wrapper a:focus {
                background-color: transparent;
                background-color: var(--color--focus-background);
                outline: 3px solid #814ec0;
                outline: 3px solid var(--color--focus-outline);
                outline-offset: 4px;
                text-decoration: none
            }

                .form__checkbox-wrapper .form__label-wrapper a:focus:not(:focus-visible) {
                    background-color: none;
                    outline: 0
                }

            .form__checkbox-wrapper .form__label-wrapper a:hover {
                color: #000;
                color: var(--color--link-active)
            }

    .form__checkbox-wrapper#div_id_privacy_agreement {
        margin-top: 30px
    }

        .form__checkbox-wrapper#div_id_privacy_agreement * {
            margin-bottom: 0 !important
        }

.form input[data-date-picker] {
    clip: rect(1px,1px,1px,1px);
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px
}

.form__checkbox-group label {
    margin-bottom: 5px
}

.form__button[type=submit] {
    background-color: #b3f5c9;
    background-color: var(--color--background-action)
}

    .form__button[type=submit]:focus, .form__button[type=submit]:hover {
        background-color: #a6e8bc;
        background-color: var(--color--background-action-active)
    }

    .form__button[type=submit] .button__label {
        order: 2
    }

.accordion--modal .form__group-label {
    display: none
}

.full-width-image-gallery {
    position: relative;
    width: 100%
}

.full-width-image-gallery--no-controls .full-width-image-gallery__slide {
    padding-top: 40px
}

.full-width-image-gallery__container {
    transition: height .25s cubic-bezier(.24,.26,.2,1)
}

.full-width-image-gallery__slide {
    padding-top: 80px
}

@media only screen and (min-width:1080px) {
    .full-width-image-gallery__slide {
        padding-top: 100px
    }
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .full-width-image-gallery__slide {
        padding-top: 80px
    }
}

.full-width-image-gallery__slide--w-controls {
    padding-top: 80px
}

@media only screen and (min-width:1080px) {
    .full-width-image-gallery__slide--w-controls {
        padding-top: 90px
    }
}

.full-width-image-gallery__controls {
    display: grid;
    padding-top: 20px
}

@media only screen and (min-width:1080px) {
    .full-width-image-gallery__controls {
        padding-top: 30px
    }
}

.getting-here {
    background-color: #ededed;
    background-color: var(--color--background-subtle);
    -webkit-clip-path: polygon(0 0,100% 0,100% 98%,0 100%);
    clip-path: polygon(0 0,100% 0,100% 98%,0 100%);
    margin-bottom: -40px;
    overflow: hidden
}

@media only screen and (min-width:1080px) {
    .getting-here {
        -webkit-clip-path: polygon(0 0,100% 0,100% 95%,0 100%);
        clip-path: polygon(0 0,100% 0,100% 95%,0 100%);
        padding-bottom: 40px
    }
}

.getting-here__map {
    height: 420px;
    left: -20px;
    position: relative;
    right: -20px;
    width: calc(100% + 40px)
}

@media only screen and (min-width:641px) {
    .getting-here__map {
        height: 306px;
        right: auto;
        width: calc(100% + 20px)
    }
}

@media only screen and (min-width:1080px) {
    .getting-here__map {
        height: 580px;
        left: -40px;
        width: calc(100% + 40px)
    }

    .getting-here__content {
        margin-bottom: 20px
    }
}

.getting-here__heading-cta {
    margin-bottom: 30px
}

@media only screen and (min-width:1080px) {
    .getting-here__heading-cta {
        margin-bottom: 60px
    }
}

.getting-here__accordion {
    margin-bottom: 20px
}

.heading-cta {
    width: 100%
}

@media only screen and (min-width:641px) {
    .heading-cta {
        max-width: 402px
    }
}

@media only screen and (min-width:1080px) {
    .heading-cta {
        max-width: 907px
    }
}

.heading-cta--feature .heading-cta__eyebrow {
    margin: 10px 0 5px
}

@media only screen and (min-width:1080px) {
    .heading-cta--feature .heading-cta__eyebrow {
        margin-top: 15px
    }
}

.heading-cta--feature .heading-cta__heading {
    margin-right: 15px
}

.heading-cta--related .heading-cta__heading {
    margin: 0 20px 20px 0
}

.heading-cta__eyebrow {
    margin: 30px 0 15px
}

.heading-cta__heading {
    display: inline;
    margin: 0 10px 10px 0
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .heading-cta__heading {
        vertical-align: top
    }
}

.heading-cta__action {
    display: inline-block;
    position: relative;
    top: 9px
}

@media only screen and (min-width:641px) {
    .heading-cta__action {
        top: 2px
    }
}

@media only screen and (min-width:1080px) {
    .heading-cta__action {
        top: 6px
    }
}

.heading-cta .cta {
    margin-bottom: 5px
}

.heading-cta .cta--primary, .heading-cta .cta--secondary {
    vertical-align: middle
}

.sf__block--hero-banner .heading-cta {
    max-width: 90%
}

@media only screen and (min-width:641px) {
    .sf__block--hero-banner .heading-cta {
        max-width: 100%
    }
}

.sf__block--hero-banner .heading-cta .heading-cta__eyebrow, .sf__block--hero-banner .heading-cta .heading-cta__heading {
    color: #fff;
    color: var(--color--text-dark-bg)
}

.sf__block--hero-banner .heading-cta .heading-cta__eyebrow {
    background-color: rgba(0,0,0,.6);
    background-color: var(--color--background-meta-dark-bg);
    display: table;
    margin-bottom: 10px;
    padding: 5px 10px
}

.sf__block--hero-banner .heading-cta .cta--secondary {
    border-color: #fff;
    border-color: var(--color--text-dark-bg);
    color: #fff;
    color: var(--color--text-dark-bg)
}

    .sf__block--hero-banner .heading-cta .cta--secondary:focus, .sf__block--hero-banner .heading-cta .cta--secondary:hover {
        border-color: #a6e8bc;
        border-color: var(--color--background-action-active);
        color: #000;
        color: var(--color--text-default)
    }

.heading-cta .block-page, .heading-cta .block-url {
    display: inline
}

.hero-image {
    position: relative
}

.hero-image__item {
    max-height: 90vh;
    object-fit: cover;
    width: 100%
}

.hero-video {
    height: 100%;
    max-width: 100%;
    position: relative;
    width: 100%
}

    .hero-video:after {
        background: linear-gradient(180deg,transparent,rgba(0,0,0,.6));
        bottom: 0;
        content: "";
        display: block;
        height: 33%;
        left: 0;
        position: absolute;
        right: 0;
        z-index: 10
    }

.hero-video__video {
    height: 100%;
    object-fit: cover;
    position: relative;
    width: 100%;
    z-index: 10
}

.hero-video__control-container {
    bottom: 20px;
    position: absolute;
    right: calc(var(--page-margin-width) + 20px);
    z-index: 45
}

@media only screen and (min-width:641px) {
    .hero-video__control-container {
        bottom: 60px
    }
}

@media only screen and (min-width:1080px) {
    .hero-video__control-container {
        right: calc(var(--page-margin-width) + 40px)
    }
}

.hero-video__controls {
    display: flex
}

.icon {
    fill: currentColor;
    height: 20px;
    transition: fill .25s cubic-bezier(.24,.26,.2,1);
    width: 20px
}

.icon--logo {
    height: 61px;
    transition: height .25s cubic-bezier(.24,.26,.2,1),width .25s cubic-bezier(.24,.26,.2,1);
    width: 156px
}

@media only screen and (min-width:641px) {
    .icon--logo {
        height: 77px;
        width: 198px
    }
}

@media only screen and (min-width:1080px) {
    .icon--logo {
        height: 100px;
        width: 259px
    }
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .icon--logo {
        height: 70px;
        width: 180px
    }
}

.icon--home {
    height: 15px;
    margin-right: 5px;
    width: 15px
}

.icon--link-flourish {
    height: 15px;
    width: 51px
}

.icon--happy {
    height: 35px;
    width: 119px
}

@media only screen and (min-width:1080px) {
    .icon--happy {
        height: 50px;
        width: 170px
    }
}

.event-meta .icon--happy {
    height: 26px;
    margin-bottom: 10px;
    width: 88px
}

.sf__block--hero-banner .flourish .icon {
    color: #fff;
    color: var(--color--text-dark-bg)
}

.image--placeholder {
    align-items: center;
    background-color: #ededed;
    background-color: var(--color--background-subtle);
    display: flex;
    justify-content: center
}

.image__container {
    position: relative
}

.image__caption {
    color: #3c3c3c;
    color: var(--color--text-secondary);
    margin-top: 5px
}

@media only screen and (min-width:1080px) {
    .image__caption {
        margin-top: 15px
    }
}

.image__copyright {
    bottom: 20px;
    left: 20px;
    position: absolute
}

@media only screen and (min-width:1080px) {
    .image__copyright {
        bottom: 40px;
        left: 40px
    }
}

.carousel--single .image .image__item, .carousel--varied-height .image .image__item {
    height: auto;
    object-fit: cover;
    width: 100%
}

.carousel--single .image .image__caption {
    margin-left: 15px
}

@media only screen and (min-width:1080px) {
    .carousel--single .image .image__caption {
        margin-left: 30px
    }
}

.sf__block--image .image {
    grid-column: 1/span 12
}

@media only screen and (min-width:641px) {
    .sf__block--image .image {
        grid-column: 2/span 8
    }
}

@media only screen and (min-width:1080px) {
    .sf__block--image .image {
        grid-column: 4/span 5
    }
}

.sf__block--image .image__item {
    height: auto;
    object-fit: cover;
    width: 100%
}

.template-narrow-col .sf__block--image .image {
    grid-column: 1/span 12
}

.page__hero .image .image__item {
    height: auto;
    max-height: 400px;
    object-fit: cover;
    width: 100%
}

@media only screen and (min-width:641px) {
    .page__hero .image .image__item {
        max-height: 273px
    }
}

@media only screen and (min-width:1080px) {
    .page__hero .image .image__item {
        max-height: 600px
    }
}

.full-width-image-gallery .image {
    text-align: center
}

    .full-width-image-gallery .image .image__caption {
        font-size: 16px;
        font-size: 1rem;
        padding: 20px 20px 30px;
        text-align: left
    }

@media only screen and (min-width:1080px) {
    .full-width-image-gallery .image .image__caption {
        margin-left: auto;
        margin-right: auto;
        max-width: 1440px;
        padding-left: 40px;
        padding-right: 40px
    }
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .full-width-image-gallery .image .image__caption {
        padding-top: 0
    }
}

.full-width-image-gallery .image .image__container, .full-width-image-gallery .image .image__item {
    display: inline-block;
    margin: 0 auto;
    max-height: 80dvh;
    max-width: 90vw;
    object-fit: contain;
    width: 100%
}

@media only screen and (min-width:641px) {
    .full-width-image-gallery .image .image__container, .full-width-image-gallery .image .image__item {
        width: auto
    }
}

@media only screen and (min-width:1080px) {
    .full-width-image-gallery .image .image__container, .full-width-image-gallery .image .image__item {
        max-height: 600px
    }
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .full-width-image-gallery .image .image__container, .full-width-image-gallery .image .image__item {
        max-height: 500px
    }
}

.full-width-image-gallery .image .image__item {
    display: block
}

.image-gallery {
    left: -15px;
    margin-bottom: 40px;
    width: calc(100% + 30px)
}

@media only screen and (min-width:1080px) {
    .image-gallery {
        left: -30px;
        margin-bottom: 60px;
        position: relative;
        width: calc(100% + 30px)
    }
}

.item-meta {
    border-bottom: 1px dotted rgba(60,60,60,.2);
    border-bottom: 1px dotted var(--color--border-subtle);
    margin-bottom: 20px
}

@media only screen and (min-width:641px) {
    .item-meta {
        margin-bottom: 30px
    }
}

.item-meta:last-child {
    border-bottom: 0
}

@media only screen and (min-width:641px) {
    .item-meta:nth-last-child(-n+3) {
        border-bottom: 0
    }
}

@media only screen and (min-width:1080px) {
    .item-meta:nth-last-child(-n+4) {
        border-bottom: 0
    }
}

.item-meta__term {
    color: #3c3c3c;
    color: var(--color--text-secondary);
    margin-bottom: 5px
}

.item-meta__definition {
    align-items: center;
    display: flex;
    margin-bottom: 20px;
    max-width: 280px;
    padding-right: 20px
}

@media only screen and (min-width:641px) {
    .item-meta__definition {
        margin-bottom: 30px
    }
}

.item-overview__body {
    color: #3c3c3c;
    color: var(--color--text-secondary);
    margin-bottom: 40px;
    max-width: 562px
}

.key-details {
    padding-bottom: 15px
}

@media only screen and (min-width:1080px) {
    .key-details {
        padding-bottom: 20px
    }
}

.key-details__border {
    border-top: 1px dotted rgba(60,60,60,.2);
    border-top: 1px dotted var(--color--border-subtle);
    padding-top: 15px
}

.key-details__wrapper {
    display: flex;
    flex-wrap: wrap;
    row-gap: 20px
}

@media only screen and (min-width:641px) {
    .key-details__wrapper {
        flex-wrap: nowrap;
        gap: 20px
    }
}

.key-details__block {
    flex: 1
}

    .key-details__block p {
        margin-bottom: 5px
    }

.key-details__label {
    color: #3c3c3c;
    color: var(--color--text-secondary)
}

.key-details__label, .key-details__value {
    margin-bottom: 5px
}

.template-school-resource-page .key-details .key-details__block {
    flex-basis: 50%
}

@media only screen and (min-width:641px) {
    .template-school-resource-page .key-details .key-details__block {
        flex-basis: 33.333%
    }
}

.loading {
    transition: opacity .5s cubic-bezier(.24,.26,.2,1)
}

.loading__indicator {
    display: none;
    height: 100px;
    margin: 40px auto;
    width: 100px
}

    .htmx-request .loading__indicator, .loading__indicator.htmx-request {
        display: block
    }

.loading__content {
    opacity: 1
}

    .htmx-request .loading__content, .loading.htmx-settling, .loading.htmx-swapping, .loading__content.htmx-request {
        opacity: 0
    }

.loading.htmx-settling {
    transition: opacity .5s cubic-bezier(.24,.26,.2,1)
}

.loading.htmx-swapping {
    transition: opacity .1s cubic-bezier(.24,.26,.2,1)
}

.location {
    margin-bottom: 40px
}

.location__header {
    cursor: pointer
}

    .location__header:hover .location__heading {
        background-size: 100% 1px
    }

@media(forced-colors:active) {
    .location__header:hover .location__heading {
        border-bottom: 2px solid LinkText
    }
}

.location__image {
    display: block;
    height: auto;
    margin-bottom: 20px;
    -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNDkgMjgxIj4KICA8bWFzayBpZD0iYSIgd2lkdGg9IjI0OSIgaGVpZ2h0PSIyODEiIHg9IjAiIHk9IjAiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHN0eWxlPSJtYXNrLXR5cGU6bHVtaW5hbmNlIj4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0uMDEgMTI2LjUxdjE1My44N2gyNDguOTRWMTI2LjUxQzI0OC45NSA1Ni42OSAxOTMuMjIuMDggMTI0LjQ4LjA4IDU1Ljc0LjA4LjAxIDU2LjY5LjAxIDEyNi41MVoiLz4KICA8L21hc2s+CiAgPGcgbWFzaz0idXJsKCNhKSI+CiAgICA8cGF0aCBmaWxsPSIjRDlEOUQ5IiBkPSJNLTE1LTFoMzA2djM1NUgtMTV6Ii8+CiAgPC9nPgo8L3N2Zz4K);
    mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNDkgMjgxIj4KICA8bWFzayBpZD0iYSIgd2lkdGg9IjI0OSIgaGVpZ2h0PSIyODEiIHg9IjAiIHk9IjAiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHN0eWxlPSJtYXNrLXR5cGU6bHVtaW5hbmNlIj4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0uMDEgMTI2LjUxdjE1My44N2gyNDguOTRWMTI2LjUxQzI0OC45NSA1Ni42OSAxOTMuMjIuMDggMTI0LjQ4LjA4IDU1Ljc0LjA4LjAxIDU2LjY5LjAxIDEyNi41MVoiLz4KICA8L21hc2s+CiAgPGcgbWFzaz0idXJsKCNhKSI+CiAgICA8cGF0aCBmaWxsPSIjRDlEOUQ5IiBkPSJNLTE1LTFoMzA2djM1NUgtMTV6Ii8+CiAgPC9nPgo8L3N2Zz4K);
    width: 145px
}

.location__heading {
    background-image: linear-gradient(currentColor,currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    display: inline;
    transition: background-size .25s cubic-bezier(.24,.26,.2,1)
}

@media(forced-colors:active) {
    .location__heading {
        border-bottom: 1px solid LinkText
    }
}

.location__heading-link {
    display: block;
    margin-bottom: 10px;
    max-width: 66%
}

.location__address {
    margin-bottom: 10px
}

.location__address, .location__details {
    color: #3c3c3c;
    color: var(--color--text-secondary)
}

.location__details {
    margin-bottom: 30px
}

.location__flourish {
    color: #3c3c3c;
    color: var(--color--text-secondary);
    height: 73px;
    width: 83px
}

@media only screen and (min-width:1080px) {
    .location__flourish {
        height: 100px;
        width: 110px
    }
}

.main-heading__heading {
    max-width: 906px
}

.media-embed--greybg {
    background-color: #ededed;
    background-color: var(--color--background-subtle)
}

.media-embed--iiif {
    height: 320px;
    max-height: 75vh;
    position: relative
}

@media only screen and (min-width:1080px) {
    .media-embed--iiif {
        height: 650px
    }
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .media-embed--iiif {
        height: 550px;
        max-height: 70vh
    }
}

.media-embed__heading {
    margin-bottom: 30px;
    margin-top: 40px
}

@media only screen and (min-width:641px) {
    .media-embed__heading {
        margin-bottom: 30px;
        margin-top: 15px
    }
}

@media only screen and (min-width:1080px) {
    .media-embed__heading {
        margin-bottom: 40px
    }
}

.media-embed__download {
    bottom: 20px;
    position: absolute;
    right: 20px;
    z-index: 99
}

.media-player {
    background-color: #ededed;
    background-color: var(--color--background-subtle)
}

.media-player__transcript-list {
    padding: 40px 0 40px 20px
}

@media only screen and (min-width:641px) {
    .media-player__transcript-list {
        padding: 40px
    }
}

.media-player__transcript-close-item, .media-player__transcript-open-item {
    pointer-events: none
}

.media-player__transcript-close-item {
    display: none
}

.media-player__transcript {
    display: inline-flex
}

.media-player__transcript--open .media-player__transcript-open-item {
    display: none
}

.media-player__transcript--open .media-player__transcript-close-item {
    display: block
}

.media-player media-controller {
    --media-primary-color: var(--color--background-primary);
    --media-background-color: var(--color--background-subtle);
    --media-icon-color: var(--color--icon);
    --media-text-color: var(--color--text-default);
    --media-secondary-color: var(--color--icon);
    --media-secondary-color: var(--color--background-action);
    --media-control-background: transparent;
    --media-control-height: 24px;
    --media-control-hover-background: transparent;
    --media-font-family: $font--secondary;
    --media-font-size: 15px;
    --media-preview-time-text-shadow: none;
    width: 100%
}

.media-player media-time-range {
    --media-control-hover-background: transparent;
    --media-control-background: transparent
}

.media-player media-mute-button, .media-player media-play-button, .media-player media-transcript-button, .media-player media-volume-range {
    position: relative;
    z-index: 2
}

    .media-player media-mute-button:focus, .media-player media-play-button:focus, .media-player media-transcript-button:focus, .media-player media-volume-range:focus {
        background-color: transparent;
        background-color: var(--color--focus-background);
        outline: 3px solid #814ec0;
        outline: 3px solid var(--color--focus-outline);
        outline-offset: 4px;
        text-decoration: none
    }

        .media-player media-mute-button:focus:not(:focus-visible), .media-player media-play-button:focus:not(:focus-visible), .media-player media-transcript-button:focus:not(:focus-visible), .media-player media-volume-range:focus:not(:focus-visible) {
            background-color: none;
            outline: 0
        }

.media-player media-fullscreen-button, .media-player media-mute-button, .media-player media-pip-button, .media-player media-play-button, .media-player media-volume-range {
    --media-control-hover-background: var(--color--background-action);
    border: 1px solid #000;
    border: 1px solid var(--color--background-dark);
    border-radius: 99px
}

    .media-player media-mute-button svg {
        fill: transparent
    }

.media-player media-text-display, .media-player media-time-display {
    margin-bottom: -60px;
    transform: translate3d(0,-68px,0);
    z-index: 2
}

.media-player media-play-button, .media-player media-time-display {
    margin-left: 20px
}

.media-player media-text-display {
    color: #000;
    color: var(--color--text-default);
    font-size: 15px;
    height: 20px;
    line-height: 1
}

.media-player media-volume-range {
    --media-range-thumb-background: var(--color--background-dark);
    --media-range-bar-color: var(--color--background-dark);
    --media-range-track-color: var(--color--link);
    --media-range-track-height: 1px;
    display: none;
    padding: 0 10px
}

@media only screen and (min-width:641px) {
    .media-player media-volume-range {
        display: inline-flex
    }
}

.media-player media-control-bar {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    z-index: 1
}

.media-player--video media-controller {
    --media-control-hover-background: var(--color--background-default);
    --media-control-background: var(--color--background-default)
}

.media-player--video media-volume-range {
    flex-basis: 10%;
    margin: 0;
    max-height: 46px
}

    .media-player--video media-mute-button:focus, .media-player--video media-play-button:focus, .media-player--video media-transcript-button:focus, .media-player--video media-volume-range:focus {
        background-color: #fff;
        background-color: var(--color--background-default)
    }

.media-player--video media-control-bar {
    margin-bottom: 20px
}

.media-player--video media-fullscreen-button {
    margin-right: 20px
}

.media-player--audio media-fullscreen-button, .media-player--audio media-mute-button, .media-player--audio media-pip-button, .media-player--audio media-play-button, .media-player--audio media-volume-range {
    margin-bottom: 30px;
    margin-top: 30px
}

.media-player--audio media-transcript-button .media-player__transcript {
    height: 46px
}

.media-player--audio media-time-range {
    --media-range-thumb-width: 13px;
    --media-range-thumb-height: 13px;
    --media-range-thumb-background: var(--color--background-dark);
    --media-range-padding: 0;
    height: 212px;
    margin-bottom: -105px;
    position: relative;
    transform: translate3d(0,-105px,0);
    width: 100%;
    z-index: 1
}

    .media-player--audio media-time-range:focus {
        background-color: transparent;
        background-color: var(--color--focus-background);
        outline: 3px solid #814ec0;
        outline: 3px solid var(--color--focus-outline);
        outline-offset: 4px;
        text-decoration: none
    }

        .media-player--audio media-time-range:focus:not(:focus-visible) {
            background-color: none;
            outline: 0
        }

    .media-player--audio media-time-range::part(appearance) {
        height: 100%;
        position: relative
    }

        .media-player--audio media-time-range::part(appearance):after {
            background-color: #000;
            background-color: var(--color--background-dark);
            content: "";
            display: block;
            height: 1px;
            left: 0;
            position: absolute;
            right: 0;
            top: 50%;
            width: 100%
        }

    .media-player--audio media-time-range::part(preview-box) {
        transform: translate3d(0,110px,0)
    }

.meta-flag {
    position: relative
}

.meta-flag__item {
    background-color: #fff;
    background-color: var(--color--background-default);
    left: -10px;
    line-height: 1;
    padding: 15px;
    position: absolute;
    top: 10px;
    z-index: 20
}

@media only screen and (min-width:641px) {
    .meta-flag__item {
        padding: 20px 15px;
        top: 15px
    }
}

.meta-flag__item--event {
    left: 10px;
    padding: 10px
}

@media only screen and (min-width:641px) {
    .meta-flag__item--event {
        left: 15px
    }
}

.minimap__top-border {
    border-top: 1px dotted rgba(60,60,60,.2);
    border-top: 1px dotted var(--color--border-subtle)
}

.minimap__link {
    background-image: linear-gradient(currentColor,currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    color: #814ec0;
    color: var(--color--link);
    transition: background-size .25s cubic-bezier(.24,.26,.2,1)
}

@media(forced-colors:active) {
    .minimap__link {
        border-bottom: 1px solid LinkText
    }
}

.minimap__link:focus, .minimap__link:hover {
    background-size: 100% 1px
}

@media(forced-colors:active) {
    .minimap__link:focus, .minimap__link:hover {
        border-bottom: 2px solid LinkText
    }
}

.modal {
    align-items: flex-start;
    bottom: 0;
    display: none;
    justify-content: center;
    left: 0;
    max-height: 100dvh;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 110
}

.modal--full .modal__container {
    height: 100dvh;
    max-width: 100%;
    width: 100%
}

.modal.is-open {
    display: flex
}

.modal__overlay {
    background-color: rgba(0,0,0,.3);
    background-color: var(--color--background-overlay);
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0
}

.modal__container {
    background-color: #fff;
    background-color: var(--color--background-default);
    margin-bottom: 40px;
    max-height: 100dvh;
    overflow-y: auto;
    padding: 20px;
    position: relative;
    width: 100%;
    z-index: 120
}

@media(forced-colors:active) {
    .modal__container {
        outline: 1px solid LinkText
    }
}

@media only screen and (min-width:641px) {
    .modal__container {
        min-width: 459px;
        padding: 30px;
        width: 50vw
    }
}

@media only screen and (min-width:1080px) {
    .modal__container {
        max-width: 758px;
        padding: 40px
    }
}

.modal__header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px
}

.modal__title {
    margin-bottom: 0;
    margin-top: 0
}

.modal__intro {
    border-bottom: 1px solid rgba(60,60,60,.2);
    border-bottom: 1px solid var(--color--border-subtle);
    margin-bottom: 40px;
    margin-top: -10px;
    padding-bottom: 40px
}

    .modal__intro p {
        max-width: 450px
    }

.modal__close {
    background: transparent;
    border: 0;
    position: relative;
    z-index: 120
}

.modal__footer {
    align-items: flex-end;
    display: flex;
    justify-content: flex-end
}

.modal__container, .modal__overlay {
    will-change: transform
}

.modal__content--rich-text p {
    margin-bottom: 20px
}

.modal__recaptcha-tc {
    color: #3c3c3c;
    color: var(--color--text-secondary);
    margin-bottom: 20px;
    margin-top: 20px;
    max-width: 390px
}

    .modal__recaptcha-tc a {
        text-decoration: underline
    }

.modal__full-image {
    height: auto;
    margin: auto;
    max-height: 90dvh;
    max-width: 90vw
}

.modal[aria-hidden=false] .modal__overlay {
    animation: mmfadeIn .3s cubic-bezier(0,0,.2,1)
}

.modal[aria-hidden=false] .modal__container {
    animation: mmslideIn .3s cubic-bezier(0,0,.2,1),mmfadeIn .3s cubic-bezier(0,0,.2,1)
}

.modal[aria-hidden=true] .modal__container, .modal[aria-hidden=true] .modal__overlay {
    animation: mmfadeOut .3s cubic-bezier(0,0,.2,1)
}

.modal--email-signup .modal__container {
    padding: 0
}

@media only screen and (min-width:641px) {
    .modal--email-signup .modal__container {
        width: 70vw
    }
}

@media only screen and (min-width:1080px) {
    .modal--email-signup .modal__container {
        max-width: 952px;
        width: 80vw
    }
}

.modal--email-signup .modal__content-wrapper {
    flex: 2;
    padding: 20px
}

@media only screen and (min-width:641px) {
    .modal--email-signup .modal__content-wrapper {
        padding: 30px
    }
}

@media only screen and (min-width:1080px) {
    .modal--email-signup .modal__content-wrapper {
        padding: 40px
    }
}

.modal--email-signup .modal__header {
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 30px
}

.modal--email-signup .modal__content {
    color: #3c3c3c;
    color: var(--color--text-secondary)
}

.modal--email-signup .modal__intro {
    border-bottom: 1px solid rgba(60,60,60,.2);
    border-bottom: 1px solid var(--color--border-subtle);
    margin-bottom: 30px;
    padding-bottom: 30px
}

.modal--email-signup .modal__image {
    flex: 1
}

    .modal--email-signup .modal__image img {
        height: 100%;
        object-fit: cover;
        width: 100%
    }

.modal--year-filter .modal__content {
    border-bottom: 1px solid rgba(60,60,60,.2);
    border-bottom: 1px solid var(--color--border-subtle);
    margin-bottom: 40px;
    padding-bottom: 20px
}

@media only screen and (min-width:1080px) {
    .modal--year-filter .modal__content {
        display: flex;
        gap: 10px
    }

        .modal--year-filter .modal__content div {
            flex: 1
        }
}

.modal--stories-filter .modal__content {
    border-bottom: 1px solid rgba(60,60,60,.2);
    border-bottom: 1px solid var(--color--border-subtle);
    margin-bottom: 40px;
    padding-bottom: 20px
}

@media only screen and (min-width:1080px) {
    .modal--stories-filter .form__checkbox-multiple-wrapper {
        column-count: 2
    }

        .modal--stories-filter .form__checkbox-multiple-wrapper > div {
            break-inside: avoid
        }
}

.modal--stories-filter .form__checkbox-multiple-wrapper .link, .modal--stories-filter .form__checkbox-multiple-wrapper .link--disabled {
    display: inline-block;
    margin-top: 10px
}

@keyframes mmfadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes mmfadeOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes mmslideIn {
    0% {
        transform: translateY(15%)
    }

    to {
        transform: translateY(0)
    }
}

@keyframes mmslideOut {
    0% {
        transform: translateY(0)
    }

    to {
        transform: translateY(-10%)
    }
}

#div_id_accessibility_features > label, #div_id_audience > label, #div_id_category > label, #div_id_topic > label, #div_id_venue > label {
    clip: rect(1px,1px,1px,1px);
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px
}

#flag-content-modal .form__reset {
    display: none
}

.opening-times {
    background-color: #c4a2ef;
    background-color: var(--color--background-primary);
    -webkit-clip-path: polygon(0 0,100% 0,100% 95%,0 100%);
    clip-path: polygon(0 0,100% 0,100% 95%,0 100%);
    margin-bottom: -40px;
    padding-bottom: 40px;
    padding-top: 20px
}

@media only screen and (min-width:641px) {
    .opening-times {
        -webkit-clip-path: polygon(0 0,100% 0,100% 80%,0 100%);
        clip-path: polygon(0 0,100% 0,100% 80%,0 100%);
        padding-bottom: 80px;
        padding-top: 40px
    }
}

.opening-times__container {
    gap: 20px
}

.opening-times__section {
    border-bottom: 1px solid rgba(60,60,60,.2);
    border-bottom: 1px solid var(--color--border-subtle);
    padding-bottom: 20px
}

@media only screen and (min-width:641px) {
    .opening-times__section {
        border-bottom: 0;
        padding-bottom: 0
    }
}

.opening-times__section--times {
    color: #3c3c3c;
    color: var(--color--text-secondary)
}

    .opening-times__section--times b {
        color: #000;
        color: var(--color--text-default);
        font-weight: 300
    }

.opening-times__section--address {
    border-bottom: 0
}

.opening-times__section a {
    background-image: linear-gradient(currentColor,currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    transition: background-size .25s cubic-bezier(.24,.26,.2,1)
}

@media(forced-colors:active) {
    .opening-times__section a {
        border-bottom: 1px solid LinkText
    }
}

.opening-times__section a:focus, .opening-times__section a:hover {
    background-size: 100% 1px
}

@media(forced-colors:active) {
    .opening-times__section a:focus, .opening-times__section a:hover {
        border-bottom: 2px solid LinkText
    }
}

.opening-times__section a p {
    display: inline
}

.page--fixed-hero .page__content {
    background-color: #fff;
    background-color: var(--color--background-default);
    margin-top: 100dvh;
    position: relative;
    z-index: 20
}

.page--fixed-hero .page__hero {
    height: 100dvh;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 10
}

@media(prefers-reduced-motion:reduce) {
    .page--fixed-hero .page__hero {
        margin-bottom: 0;
        position: absolute
    }
}

.parallax-done .page--fixed-hero .page__hero {
    display: none;
    opacity: 0
}

@media(prefers-reduced-motion:reduce) {
    .parallax-done .page--fixed-hero .page__hero {
        display: block;
        opacity: 1
    }
}

.page--fixed-hero .page__hero .block-video {
    height: 100dvh;
    max-height: 100dvh
}

.page__header {
    margin-bottom: 20px
}

.page__header--medium {
    margin-bottom: 30px
}

.page__header--no-breadcrumb {
    margin-top: 20px
}

@media only screen and (min-width:1080px) {
    .page__header--no-breadcrumb {
        margin-bottom: 30px
    }
}

@media only screen and (min-width:1080px)and (max-width:1440px) {
    .page__header--no-breadcrumb {
        margin-top: 10px
    }
}

.page__hero {
    margin-bottom: 40px
}

@media only screen and (min-width:1080px) {
    .page__hero {
        margin-bottom: 60px
    }
}

.page__hero--small-margin {
    margin-bottom: 10px
}

.page__hero--full-width .image__copyright {
    margin-left: var(--page-margin-width)
}

.page__hero .block-video {
    height: 414px;
    overflow: hidden
}

@media only screen and (min-width:641px) {
    .page__hero .block-video {
        height: 273px
    }
}

@media only screen and (min-width:1080px) {
    .page__hero .block-video {
        height: 612px
    }
}

.page__search {
    background-color: #ededed;
    background-color: var(--color--background-subtle);
    -webkit-clip-path: polygon(0 0,100% 0,100% 95%,0 100%);
    clip-path: polygon(0 0,100% 0,100% 95%,0 100%);
    margin-bottom: 20px;
    padding-bottom: 60px;
    padding-top: 60px
}

@media only screen and (min-width:1080px) {
    .page__search {
        -webkit-clip-path: polygon(0 0,100% 0,100% 83%,0 100%);
        clip-path: polygon(0 0,100% 0,100% 83%,0 100%);
        padding-top: 80px
    }
}

.page__filters, .page__tabs {
    background-color: #b3f5c9;
    background-color: var(--color--background-action)
}

.page__primary-col {
    grid-column: 1/span 12
}

@media only screen and (min-width:1080px) {
    .page__primary-col {
        grid-column: 1/span 7
    }
}

.page__primary-col--full {
    grid-column: 1/span 12
}

@media only screen and (min-width:641px) {
    .page__primary-col--full {
        grid-column: 2/span 10
    }
}

.page__secondary-col {
    display: none
}

@media only screen and (min-width:1080px) {
    .page__secondary-col {
        display: block;
        grid-column: 9/span 4
    }
}

.page__full-col {
    grid-column: 1/span 12
}

.page__related {
    background-color: #ededed;
    background-color: var(--color--background-subtle);
    overflow-x: hidden;
    overflow-y: auto;
    padding-top: 20px;
    position: relative;
    z-index: 40
}

.page__related--inline {
    background-color: transparent;
    z-index: 10
}

.page__related--dynamic {
    transition: height 2s ease-in-out
}

.page__related--rows-1 {
    min-height: 600px
}

@media only screen and (min-width:1080px) {
    .page__related--rows-1 {
        min-height: 650px
    }
}

.page__related--rows-2 {
    min-height: 800px
}

@media only screen and (min-width:1080px) {
    .page__related--rows-2 {
        min-height: 850px
    }
}

.page__related--rows-3 {
    min-height: 1000px
}

@media only screen and (min-width:1080px) {
    .page__related--rows-3 {
        min-height: 1800px
    }
}

.page__tag-cloud {
    display: grid;
    margin-bottom: 60px;
    margin-left: calc(var(--page-margin-width) + 20px);
    overflow-x: auto
}

@media only screen and (min-width:1080px) {
    .page__tag-cloud {
        margin-bottom: 80px;
        margin-left: calc(var(--page-margin-width) + 40px)
    }
}

.template-narrow-col .page .page__header-heading {
    left: -3px;
    position: relative
}

.page-nav__header {
    margin-bottom: 30px
}

.page-nav__pages {
    row-gap: 30px
}

.page-nav--small .page-nav__header {
    margin-bottom: 20px
}

@media only screen and (min-width:641px) {
    .page-nav--small .page-nav__pages {
        row-gap: 40px
    }
}

@media only screen and (min-width:1080px) {
    .page-nav--small .page-nav__pages {
        row-gap: 80px
    }
}

.pagination {
    padding-top: 20px
}

.pagination__container {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px
}

@media only screen and (min-width:641px) {
    .pagination__container {
        justify-content: flex-start;
        margin-bottom: 0
    }
}

.pagination-item {
    align-items: center;
    border: 1px solid #000;
    border: 1px solid var(--color--button);
    border-radius: 100%;
    color: #000;
    color: var(--color--button);
    display: flex;
    flex-basis: 45px;
    height: 45px;
    justify-content: center;
    padding: 10px;
    position: relative;
    transition: background-color .25s cubic-bezier(.24,.26,.2,1),border-color .25s cubic-bezier(.24,.26,.2,1);
    width: 45px
}

    .pagination-item:hover {
        background-color: #a6e8bc;
        background-color: var(--color--background-action-active);
        border-color: #a6e8bc;
        border-color: var(--color--background-action-active)
    }

.pagination-item--prev {
    margin-right: 20px
}

    .pagination-item--prev .icon {
        transform: rotate(-270deg)
    }

.pagination-item--next {
    margin-left: 20px
}

    .pagination-item--next .icon {
        transform: rotate(270deg)
    }

.pagination-item--current {
    background-color: #a6e8bc;
    background-color: var(--color--background-action-active);
    border-color: #a6e8bc;
    border-color: var(--color--background-action-active)
}

.pagination-item--disabled {
    border-color: rgba(0,0,0,.3);
    border-color: var(--color--background-action-disabled-dark);
    color: rgba(0,0,0,.3);
    color: var(--color--background-action-disabled-dark);
    pointer-events: none
}

.pagination-item--mobile-status {
    border: 1px solid #b3f5c9;
    border: 1px solid var(--color--background-action);
    border-radius: 99px;
    flex-basis: auto;
    padding: 10px 20px;
    pointer-events: none;
    width: auto
}

    .pagination-item--mobile-status, .pagination-item--mobile-status:hover {
        background-color: #b3f5c9;
        background-color: var(--color--background-action)
    }

        .pagination-item--mobile-status:hover {
            border: 1px solid #b3f5c9;
            border: 1px solid var(--color--background-action)
        }

.pagination-item__link {
    align-items: center;
    display: flex;
    flex-basis: 45px;
    height: 45px;
    justify-content: center;
    min-width: 45px
}

.people-list {
    border-top: 1px solid rgba(60,60,60,.2);
    border-top: 1px solid var(--color--border-subtle);
    padding-top: 20px;
    position: relative
}

    .people-list:after {
        background-color: #fff;
        background-color: var(--color--background-default);
        bottom: 20px;
        content: "";
        height: 2px;
        left: 0;
        pointer-events: none;
        position: absolute;
        right: 0;
        width: 100%;
        z-index: 20
    }

.people-list__header {
    margin-bottom: 20px
}

.people-list__title {
    margin-bottom: 5px
}

@media only screen and (min-width:641px) {
    .people-list__items {
        align-items: stretch;
        display: flex;
        flex-wrap: wrap
    }
}

.people-list__item {
    flex-basis: 100%;
    margin-bottom: 5px;
    min-width: 100%;
    padding-bottom: 20px
}

@media only screen and (min-width:641px) {
    .people-list__item {
        flex-basis: 50%;
        margin-bottom: 0;
        min-width: 50%
    }
}

.page__primary-col--full .people-list {
    border-bottom: 0
}

@media only screen and (min-width:1080px) {
    .page__primary-col--full .people-list .people-list__item {
        flex-basis: 33.333%;
        min-width: 33.333%
    }
}

.person-item {
    border-bottom: 1px dotted rgba(60,60,60,.2);
    border-bottom: 1px dotted var(--color--border-subtle);
    height: 100%;
    padding-bottom: 20px;
    padding-top: 5px
}

.person-item__heading, .person-item__icon {
    margin-bottom: 10px
}

.person-item__meta {
    color: #3c3c3c;
    color: var(--color--text-secondary);
    margin-bottom: 5px;
    max-width: 310px
}

.person-item__role {
    margin-bottom: 10px
}

.people-list .person-item {
    padding-right: 20px
}

.author-list .person-item {
    height: auto;
    padding-top: 20px
}

    .author-list .person-item:last-child {
        border-bottom: 0
    }

.promo-banner__teaser {
    margin: 15px 0 30px
}

@media only screen and (min-width:1080px) {
    .promo-banner__teaser {
        margin-top: 15px
    }
}

.promo-banner__filmstrip {
    display: flex;
    gap: 5px;
    margin-left: 5px;
    margin-top: 20px;
    overflow-x: hidden
}

@media only screen and (min-width:641px) {
    .promo-banner__filmstrip {
        margin-top: 30px
    }
}

@media only screen and (min-width:1080px) {
    .promo-banner__filmstrip {
        gap: 10px
    }
}

@media only screen and (min-width:1520px) {
    .promo-banner__filmstrip {
        margin-left: -80px
    }
}

.promo-banner__filmstrip img {
    flex-shrink: 0
}

.promo-banner--purple {
    background-color: #c4a2ef;
    background-color: var(--color--background-primary)
}

.promo-banner--filmstrip .promo-banner__teaser {
    margin-bottom: 0
}

.template-listing .promo-banner {
    margin-bottom: 40px
}

@media only screen and (min-width:641px) {
    .template-listing .promo-banner {
        margin-bottom: 80px
    }
}

.pull-quote-item .pull-quote {
    margin: 10px 0 5px
}

@media only screen and (min-width:1080px) {
    .pull-quote-item .pull-quote {
        margin-bottom: 10px
    }
}

.read-more__content {
    opacity: 1;
    transition: opacity .25s cubic-bezier(.24,.26,.2,1)
}

    .read-more__content.hidden {
        display: none;
        opacity: 0
    }

.page__primary-col--full .read-more__button-container {
    column-gap: 5px;
    display: grid;
    grid-template-columns: repeat(12,1fr);
    padding-left: 20px;
    padding-right: 20px
}

@media only screen and (min-width:1080px) {
    .page__primary-col--full .read-more__button-container {
        column-gap: 10px;
        margin-left: auto;
        margin-right: auto;
        max-width: 1440px;
        padding-left: 40px;
        padding-right: 40px
    }
}

.read-more__button.hidden {
    display: none
}

.page__primary-col--full .read-more__button {
    grid-column: 1/span 12;
    text-align: left
}

@media only screen and (min-width:641px) {
    .page__primary-col--full .read-more__button {
        grid-column: 2/span 5
    }
}

@media only screen and (min-width:1080px) {
    .page__primary-col--full .read-more__button {
        grid-column: 4/span 5
    }
}

.read-more .rich-text p:not(:last-child) {
    margin-bottom: 20px
}

.related-list--page .related-list__header-container, .related-list--shop .related-list__header-container, .related-list--taxonomy .related-list__header-container {
    margin-bottom: 40px;
    max-width: 800px
}

.related-list--collection .related-list__header-container, .related-list--event .related-list__header-container {
    margin-bottom: 40px
}

.related-list--event-tags .related-list__header-container {
    margin-bottom: 20px
}

.related-list--event-tags .related-list__heading {
    margin-bottom: 5px
}

.result-item {
    cursor: pointer
}

    .result-item:focus .result-item__heading, .result-item:hover .result-item__heading {
        background-size: 100% 1px;
        color: #814ec0;
        color: var(--color--text-action-active)
    }

@media(forced-colors:active) {
    .result-item:focus .result-item__heading, .result-item:hover .result-item__heading {
        border-bottom: 2px solid LinkText
    }
}

.result-item__category, .result-item__eyebrow, .result-item__link {
    margin-bottom: 5px
}

.result-item__category, .result-item__description, .result-item__eyebrow {
    color: #3c3c3c;
    color: var(--color--text-secondary);
    max-width: 790px
}

.result-item__heading {
    background-image: linear-gradient(currentColor,currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    display: inline;
    margin-bottom: 10px;
    transition: background-size .25s cubic-bezier(.24,.26,.2,1)
}

@media(forced-colors:active) {
    .result-item__heading {
        border-bottom: 1px solid LinkText
    }
}

.result-item__link {
    display: block
}

.template-searchresults .results-summary__content .result-item, .template-searchresults .results__container .result-item {
    border-bottom: 1px solid rgba(60,60,60,.2);
    border-bottom: 1px solid var(--color--border-subtle);
    grid-column: span 12/span 12;
    padding: 20px 0
}

@media only screen and (min-width:641px) {
    .template-searchresults .results-summary__content .result-item, .template-searchresults .results__container .result-item {
        grid-column: span 10/span 10;
        grid-column-start: 2
    }
}

.template-searchresults .results-summary__content .result-item:last-child, .template-searchresults .results__container .result-item:last-child {
    border-bottom: 0
}

.template-searchresults .results-summary__content--pictures .result-item {
    border-bottom: 0;
    grid-column: span 12/span 12
}

@media only screen and (min-width:641px) {
    .template-searchresults .results-summary__content--pictures .result-item {
        grid-column: span 4/span 4
    }
}

.results {
    margin-bottom: 60px
}

.results__container {
    row-gap: 40px
}

@media only screen and (min-width:1080px) {
    .results__container {
        row-gap: 80px
    }
}

.results__container--tight {
    row-gap: 0
}

.results-header {
    margin-bottom: 10px
}

@media only screen and (min-width:1080px) {
    .results-header {
        margin-bottom: 30px
    }
}

.results-header__heading {
    display: inline
}

.results-header__heading-clear {
    margin-left: 10px
}

.results-header__applied-filters {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 40px;
    padding-top: 20px
}

@media only screen and (min-width:1080px) {
    .results-header__sf {
        max-width: 60%
    }
}

.review-item {
    margin-bottom: 40px
}

.review-item__rating-container {
    margin-bottom: 20px;
    width: 76px
}

.review-item__stars {
    width: 76px
}

.review-item__quote {
    margin-bottom: 20px
}

.review-item__cite {
    color: #3c3c3c;
    color: var(--color--text-secondary)
}

.review-item__rating {
    overflow: hidden
}

    .review-item__rating[data-rating="0.5"] {
        width: 10%
    }

    .review-item__rating[data-rating="1"] {
        width: 20%
    }

    .review-item__rating[data-rating="1.5"] {
        width: 30%
    }

    .review-item__rating[data-rating="2"] {
        width: 40%
    }

    .review-item__rating[data-rating="2.5"] {
        width: 50%
    }

    .review-item__rating[data-rating="3"] {
        width: 60%
    }

    .review-item__rating[data-rating="3.5"] {
        width: 70%
    }

    .review-item__rating[data-rating="4"] {
        width: 80%
    }

    .review-item__rating[data-rating="4.5"] {
        width: 90%
    }

    .review-item__rating[data-rating="5"] {
        width: 100%
    }

.reviews {
    border-top: 1px solid rgba(60,60,60,.2);
    border-top: 1px solid var(--color--border-subtle);
    padding-top: 40px
}

.responsive-object {
    position: relative
}

    .responsive-object embed, .responsive-object iframe, .responsive-object object {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }

.rich-text h2, .rich-text h3, .rich-text h4, .rich-text h5, .rich-text h6, .rich-text ol, .rich-text ul {
    margin-bottom: 30px
}

.rich-text ul {
    list-style: disc;
    padding-left: 20px
}

.rich-text ol {
    list-style: decimal;
    padding-left: 20px
}

    .rich-text ol li, .rich-text ul li {
        margin-bottom: 10px
    }

.rich-text a {
    color: #814ec0;
    color: var(--color--link);
    cursor: pointer;
    text-decoration: underline;
    transition: color .25s cubic-bezier(.24,.26,.2,1)
}

    .rich-text a:focus {
        background-color: transparent;
        background-color: var(--color--focus-background);
        outline: 3px solid #814ec0;
        outline: 3px solid var(--color--focus-outline);
        outline-offset: 4px;
        text-decoration: none
    }

        .rich-text a:focus:not(:focus-visible) {
            background-color: none;
            outline: 0
        }

    .rich-text a:hover {
        color: #000;
        color: var(--color--link-active)
    }

.rich-text h2 {
    font-size: 20px;
    font-size: 1.25rem
}

@media only screen and (min-width:641px) {
    .rich-text h2 {
        font-size: 20px;
        font-size: 1.25rem
    }
}

@media only screen and (min-width:1080px) {
    .rich-text h2 {
        font-size: 22px;
        font-size: 1.375rem
    }
}

.rich-text h3 {
    font-size: 17px;
    font-size: 1.0625rem
}

@media only screen and (min-width:641px) {
    .rich-text h3 {
        font-size: 17px;
        font-size: 1.0625rem
    }
}

@media only screen and (min-width:1080px) {
    .rich-text h3 {
        font-size: 17px;
        font-size: 1.0625rem
    }
}

.rich-text h4 {
    font-size: 17px;
    font-size: 1.0625rem
}

@media only screen and (min-width:641px) {
    .rich-text h4 {
        font-size: 17px;
        font-size: 1.0625rem
    }
}

@media only screen and (min-width:1080px) {
    .rich-text h4 {
        font-size: 17px;
        font-size: 1.0625rem
    }
}

.rich-text h5, .rich-text h6 {
    font-size: 16px;
    font-size: 1rem
}

@media only screen and (min-width:641px) {
    .rich-text h5, .rich-text h6 {
        font-size: 20px;
        font-size: 1.25rem
    }
}

@media only screen and (min-width:1080px) {
    .rich-text h5, .rich-text h6 {
        font-size: 24px;
        font-size: 1.5rem
    }
}

.sf--border {
    border-top: 1px solid rgba(60,60,60,.2);
    border-top: 1px solid var(--color--border-subtle);
    padding-top: 30px
}

@media only screen and (min-width:641px) {
    .sf--border {
        padding-top: 40px
    }
}

@media only screen and (min-width:1080px) {
    .sf--border {
        padding-top: 80px
    }
}

.sf--body .sf__block--image_gallery:first-child {
    margin-top: 60px
}

.sf__block {
    margin-bottom: 40px
}

@media only screen and (min-width:1080px) {
    .sf__block {
        margin-bottom: 60px
    }
}

.sf .sf__block:last-child {
    margin-bottom: 80px
}

.sf__block:empty {
    margin-bottom: 0
}

.sf__block--small-margin {
    margin-bottom: 20px
}

.sf__block--h2, .sf__block--hero-banner, .sf__block--image {
    margin-bottom: 30px
}

@media only screen and (min-width:1080px) {
    .sf__block--h2, .sf__block--hero-banner, .sf__block--image {
        margin-bottom: 40px
    }
}

.sf__block--h2, .sf__block--h3, .sf__block--media, .sf__block--read_more_text, .sf__block--richtext {
    margin-bottom: 30px
}

    .sf__block--h2 .rich-text, .sf__block--h3 .rich-text, .sf__block--media .rich-text, .sf__block--read_more_text .rich-text, .sf__block--richtext .rich-text {
        column-gap: 5px;
        display: grid;
        grid-template-columns: repeat(12,1fr);
        padding-left: 20px;
        padding-right: 20px
    }

@media only screen and (min-width:1080px) {
    .sf__block--h2 .rich-text, .sf__block--h3 .rich-text, .sf__block--media .rich-text, .sf__block--read_more_text .rich-text, .sf__block--richtext .rich-text {
        column-gap: 10px;
        margin-left: auto;
        margin-right: auto;
        max-width: 1440px;
        padding-left: 40px;
        padding-right: 40px
    }
}

.sf__block--h2 .rich-text p, .sf__block--h3 .rich-text p, .sf__block--media .rich-text p, .sf__block--read_more_text .rich-text p, .sf__block--richtext .rich-text p {
    grid-column: 1/span 12;
    margin-bottom: 20px
}

@media only screen and (min-width:641px) {
    .sf__block--h2 .rich-text p, .sf__block--h3 .rich-text p, .sf__block--media .rich-text p, .sf__block--read_more_text .rich-text p, .sf__block--richtext .rich-text p {
        grid-column: 2/span 8
    }
}

@media only screen and (min-width:1080px) {
    .sf__block--h2 .rich-text p, .sf__block--h3 .rich-text p, .sf__block--media .rich-text p, .sf__block--read_more_text .rich-text p, .sf__block--richtext .rich-text p {
        grid-column: 4/span 5
    }
}

.sf__block--h2 .rich-text p:last-child, .sf__block--h3 .rich-text p:last-child, .sf__block--media .rich-text p:last-child, .sf__block--read_more_text .rich-text p:last-child, .sf__block--richtext .rich-text p:last-child {
    margin-bottom: 0
}

.sf__block--youtube {
    margin-bottom: 30px
}

.sf__block--html_snippet {
    column-gap: 5px;
    display: grid;
    grid-template-columns: repeat(12,1fr);
    padding-left: 20px;
    padding-right: 20px
}

@media only screen and (min-width:1080px) {
    .sf__block--html_snippet {
        column-gap: 10px;
        margin-left: auto;
        margin-right: auto;
        max-width: 1440px;
        padding-left: 40px;
        padding-right: 40px
    }
}

.sf__block--richtext .rich-text ol, .sf__block--richtext .rich-text ul {
    grid-column: 1/span 12
}

@media only screen and (min-width:641px) {
    .sf__block--richtext .rich-text ol, .sf__block--richtext .rich-text ul {
        grid-column: 2/span 8
    }
}

@media only screen and (min-width:1080px) {
    .sf__block--richtext .rich-text ol, .sf__block--richtext .rich-text ul {
        grid-column: 4/span 5
    }
}

.sf__block--media .rich-text, .sf__block--youtube .rich-text {
    padding-bottom: 40px
}

.sf__block--main_heading {
    margin-bottom: 40px
}

@media only screen and (min-width:1080px) {
    .sf__block--main_heading {
        margin-bottom: 60px
    }
}

.sf__block--main_heading:first-child .u-sf-flourish {
    margin-top: 20px
}

.sf__block--richtext + .sf__block--read_more_text {
    margin-top: -20px
}

@media only screen and (min-width:1080px) {
    .sf__block--richtext + .sf__block--read_more_text {
        margin-top: -30px
    }
}

.sf__block--visual_story_list .sf__block--pullquote, .sf__block--visual_story_list .sf__block--text {
    margin-bottom: 40px
}

@media only screen and (min-width:641px) {
    .sf__block--visual_story_list .sf__block--pullquote, .sf__block--visual_story_list .sf__block--text {
        margin-bottom: 20px
    }
}

.sf__block--visual_story_list {
    margin-bottom: 0
}

.sf .sf__block--visual_story_list .sf__block--text:last-child {
    margin-bottom: 40px
}

@media only screen and (min-width:641px) {
    .sf .sf__block--visual_story_list .sf__block--text:last-child {
        margin-bottom: 20px
    }
}

.sf__block--image {
    column-gap: 5px;
    display: grid;
    grid-template-columns: repeat(12,1fr);
    padding-left: 20px;
    padding-right: 20px
}

@media only screen and (min-width:1080px) {
    .sf__block--image {
        column-gap: 10px;
        margin-left: auto;
        margin-right: auto;
        max-width: 1440px;
        padding-left: 40px;
        padding-right: 40px
    }
}

.page__primary-col--full .sf__block--people_list {
    padding-left: 20px;
    padding-right: 20px
}

@media only screen and (min-width:1080px) {
    .page__primary-col--full .sf__block--people_list {
        margin-left: auto;
        margin-right: auto;
        max-width: 1440px;
        padding-left: 40px;
        padding-right: 40px
    }
}

.sf__block--hero-banner {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 20
}

@media only screen and (min-width:641px) {
    .sf__block--hero-banner {
        bottom: 30px
    }
}

.template-narrow-col .page__content .sf .layout, .template-narrow-col .page__content .sf .rich-text, .template-narrow-col .page__content .sf .sf__block--image {
    padding: 0
}

    .template-narrow-col .page__content .sf .block-h2 h2, .template-narrow-col .page__content .sf .block-h2 h3, .template-narrow-col .page__content .sf .block-h3 h2, .template-narrow-col .page__content .sf .block-h3 h3, .template-narrow-col .page__content .sf .rich-text p, .template-narrow-col .page__content .sf .sf__block--h2 h2, .template-narrow-col .page__content .sf .sf__block--h2 h3, .template-narrow-col .page__content .sf .sf__block--h3 h2, .template-narrow-col .page__content .sf .sf__block--h3 h3 {
        grid-column: 1/span 12
    }

@media only screen and (min-width:641px) {
    .template-narrow-col .page__content .sf .rich-text p {
        grid-column: 2/span 10
    }
}

@media only screen and (min-width:1080px) {
    .template-narrow-col .page__content .sf .rich-text p {
        grid-column: 1/span 12
    }
}

.template-content-page .sf .sf__block--richtext .rich-text, .template-school-resource-page .sf .sf__block--richtext .rich-text, .template-story-page .sf .sf__block--richtext .rich-text {
    column-gap: 5px;
    display: grid;
    grid-template-columns: repeat(12,1fr);
    padding-left: 20px;
    padding-right: 20px
}

@media only screen and (min-width:1080px) {
    .template-content-page .sf .sf__block--richtext .rich-text, .template-school-resource-page .sf .sf__block--richtext .rich-text, .template-story-page .sf .sf__block--richtext .rich-text {
        column-gap: 10px;
        margin-left: auto;
        margin-right: auto;
        max-width: 1440px;
        padding-left: 40px;
        padding-right: 40px
    }
}

.template-content-page .sf .sf__block--richtext .rich-text p, .template-school-resource-page .sf .sf__block--richtext .rich-text p, .template-story-page .sf .sf__block--richtext .rich-text p {
    grid-column: 1/span 12
}

@media only screen and (min-width:641px) {
    .template-content-page .sf .sf__block--richtext .rich-text p, .template-school-resource-page .sf .sf__block--richtext .rich-text p, .template-story-page .sf .sf__block--richtext .rich-text p {
        grid-column: 2/span 8
    }
}

@media only screen and (min-width:1080px) {
    .template-content-page .sf .sf__block--richtext .rich-text p, .template-school-resource-page .sf .sf__block--richtext .rich-text p, .template-story-page .sf .sf__block--richtext .rich-text p {
        grid-column: 4/span 5
    }
}

.template-content-page .sf .sf__block--cta_list .cta-list, .template-school-resource-page .sf .sf__block--cta_list .cta-list, .template-story-page .sf .sf__block--cta_list .cta-list {
    grid-column: 1/span 12
}

@media only screen and (min-width:641px) {
    .template-content-page .sf .sf__block--cta_list .cta-list, .template-school-resource-page .sf .sf__block--cta_list .cta-list, .template-story-page .sf .sf__block--cta_list .cta-list {
        grid-column: 2/span 8
    }
}

@media only screen and (min-width:1080px) {
    .template-content-page .sf .sf__block--cta_list .cta-list, .template-school-resource-page .sf .sf__block--cta_list .cta-list, .template-story-page .sf .sf__block--cta_list .cta-list {
        grid-column: 4/span 5
    }
}

.template-borough-page .sf .sf__block--intro .rich-text p:not(:last-child) {
    margin-bottom: 20px
}

.search-overlay {
    background: #fff;
    bottom: 0;
    display: none;
    left: 0;
    min-height: 100vh;
    padding-top: 80px;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 50
}

@media only screen and (min-width:1080px) {
    .search-overlay {
        padding-top: 60px
    }
}

.search-overlay.active {
    display: block
}

.search-overlay__container, .search-overlay__input-container {
    position: relative
}

.search-overlay__close {
    display: flex;
    left: 0;
    position: absolute;
    right: 0;
    top: 20px;
    z-index: 50
}

@media only screen and (min-width:1080px) {
    .search-overlay__close {
        justify-content: flex-end;
        top: 30px
    }
}

.search-suggestions__form {
    margin-bottom: 40px
}

@media only screen and (min-width:1080px) {
    .search-suggestions__form {
        margin-bottom: 0;
        padding-right: 20%
    }
}

.search-suggestions__form-item {
    background-color: #f6f6f6;
    background-color: var(--color--background-extra-subtle)
}

    .search-suggestions__form-item.placeholder {
        color: #3c3c3c;
        color: var(--color--text-secondary)
    }

    .search-suggestions__form-item:-ms-input-placeholder {
        color: #3c3c3c;
        color: var(--color--text-secondary)
    }

    .search-suggestions__form-item::placeholder {
        color: #3c3c3c;
        color: var(--color--text-secondary)
    }

.session-event-list {
    text-align: left;
    width: 100%
}

    .session-event-list thead {
        color: #000;
        color: var(--color--text-default)
    }

    .session-event-list tbody {
        color: #3c3c3c;
        color: var(--color--text-secondary)
    }

.session-event-list__item {
    border-bottom: 1px dotted rgba(60,60,60,.2);
    border-bottom: 1px dotted var(--color--border-subtle);
    font-weight: 400;
    padding: 10px 0
}

.session-event-list__item--no-border {
    border-bottom: 0
}

.session-event-list__item--button-container {
    padding: 0
}

.session-event-list__button {
    margin-top: 10px
}

.skip-link {
    background-color: #fff;
    color: #000;
    left: 0;
    padding: 20px;
    position: absolute;
    top: -200px;
    z-index: 130
}

    .skip-link:focus {
        background-color: #fff;
        background-color: var(--color--background-default);
        top: 0
    }

.social-newsletter {
    background-color: #c4a2ef;
    background-color: var(--color--background-primary);
    margin-bottom: 60px;
    padding-bottom: 60px;
    padding-top: 60px;
    position: relative
}

.social-newsletter__newsletter, .social-newsletter__social {
    padding-bottom: 40px
}

.social-newsletter__heading {
    margin-bottom: 20px;
    max-width: 90%
}

.social-newsletter__branding {
    bottom: -60px;
    pointer-events: none;
    position: absolute;
    right: 10%
}

@media only screen and (min-width:641px) {
    .social-newsletter__branding {
        height: 177px;
        right: auto;
        width: 232px
    }
}

@media only screen and (min-width:1080px) {
    .social-newsletter__branding {
        height: 217px;
        width: 287px
    }
}

.social-media {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap
}

.social-media__item {
    flex-basis: 50%;
    min-width: 50%;
    padding-bottom: 5px;
    padding-right: 5px
}

@media only screen and (min-width:1080px) {
    .social-media__item {
        flex-basis: 25%;
        min-width: 25%;
        padding-bottom: 10px;
        padding-right: 10px
    }
}

.social-media__item:nth-child(2n) {
    padding-right: 0
}

@media only screen and (min-width:1080px) {
    .social-media__item:nth-child(2n) {
        padding-right: 10px
    }

    .social-media__item:nth-child(4n) {
        padding-right: 0
    }
}

.sponsors {
    margin-bottom: 40px
}

@media only screen and (min-width:641px) {
    .sponsors {
        margin-bottom: 80px
    }
}

.sponsors__list {
    gap: 40px 20px
}

.sponsors__header {
    margin-bottom: 20px
}

@media only screen and (min-width:1080px) {
    .sponsors__header {
        margin-bottom: 30px
    }
}

.sponsors__item {
    align-items: center;
    display: flex;
    justify-content: center
}

.page__primary-col--full .sponsors {
    border-bottom: 0
}

    .page__primary-col--full .sponsors .sponsors__header.layout--no-padding {
        padding-left: 20px;
        padding-right: 20px
    }

@media only screen and (min-width:1080px) {
    .page__primary-col--full .sponsors .sponsors__header.layout--no-padding {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media only screen and (min-width:641px) {
    .page__primary-col--full .sponsors .sponsors__heading {
        grid-column: 2/span 6 !important
    }
}

.page__primary-col--full .sponsors .sponsors__list.layout--no-padding {
    padding-left: 20px;
    padding-right: 20px
}

@media only screen and (min-width:641px) {
    .page__primary-col--full .sponsors .sponsors__list.layout--no-padding {
        padding-left: 10%
    }
}

@media only screen and (min-width:1080px) {
    .page__primary-col--full .sponsors .sponsors__list.layout--no-padding {
        padding-left: 0;
        padding-right: 0
    }
}

@media only screen and (min-width:641px) {
    .page__primary-col--full .sponsors .sponsors__list.layout {
        grid-template-columns: repeat(6,1fr);
        max-width: 673px
    }
}

@media only screen and (min-width:1080px) {
    .page__primary-col--full .sponsors .sponsors__list.layout {
        max-width: 673px
    }
}

.sprites-preview-icons {
    display: flex;
    flex-wrap: wrap;
    padding: 40px
}

.sprites-preview-icons__item {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
    margin-right: 0;
    text-align: center
}

    .sprites-preview-icons__item:last-child {
        margin-right: 20px
    }

.sprites-preview-icons__icon {
    fill: #000;
    color: #000;
    height: 30px;
    width: 30px
}

.sprites-preview-icons__name {
    font-weight: 700;
    padding: 20px
}

.story-page-header__heading {
    max-width: 900px
}

.tab-nav-item {
    color: #000;
    margin-right: 25px;
    position: relative;
    white-space: nowrap
}

    .tab-nav-item:last-child {
        padding-right: 20px
    }

.tab-nav-item--active {
    outline: 1px solid transparent
}

.tab-nav-item--active, .tab-nav-item:focus, .tab-nav-item:hover {
    color: var(--color--primary)
}

.tag__icon {
    display: none
}

.tag.is-active .tag__icon {
    display: flex
}

.tag-cloud__container {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-color: transparent transparent;
    white-space: nowrap;
    width: 100%
}

    .tag-cloud__container::-webkit-scrollbar {
        display: none
    }

.tag-cloud__tags {
    display: flex;
    margin-top: 15px
}

.tab-bar {
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    width: 100%
}

    .tab-bar .button--active {
        background-color: #fff;
        background-color: var(--color--button-secondary);
        border-color: #fff;
        border-color: var(--color--button-secondary)
    }

.tabs__panel {
    outline: 1px solid transparent;
    padding: 20px
}

.tabs__panel--hidden {
    display: none
}

.tabs-nav__layout {
    padding-left: 0;
    padding-right: 0
}

.tabs-nav__container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    grid-column: 1/span 2;
    overflow-x: auto;
    padding: 10px 20px
}

.test-background-images__large {
    background-image: url("https://www.londonmuseum.org.uk/static/images/cssBackgrounds/large-file.750d8a0b7d59.svg")
}

.test-background-images__small {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBzdHJva2U9IiMwNDI3M0MiIGQ9Ik0uNzUuOTkybDQuMjQzIDQuMjQzTDkuMjM1Ljk5MiIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIi8+Cjwvc3ZnPgo=)
}

.ticker {
    background-color: #c4a2ef;
    background-color: var(--color--background-primary);
    line-height: 1;
    max-width: 100%;
    overflow: hidden;
    padding-bottom: 15px;
    padding-top: 13px;
    position: relative;
    transition: height .25s cubic-bezier(.24,.26,.2,1),padding .25s cubic-bezier(.24,.26,.2,1)
}

.ticker__item {
    line-height: 1;
    margin-right: 50px;
    white-space: nowrap;
    width: -webkit-max-content;
    width: max-content
}

@media only screen and (min-width:1080px) {
    .ticker__item {
        margin-right: 150px
    }
}

.ticker__link {
    background-image: linear-gradient(currentColor,currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    transition: background-size .25s cubic-bezier(.24,.26,.2,1)
}

@media(forced-colors:active) {
    .ticker__link {
        border-bottom: 1px solid LinkText
    }
}

.ticker__link:focus, .ticker__link:hover {
    background-size: 100% 1px
}

@media(forced-colors:active) {
    .ticker__link:focus, .ticker__link:hover {
        border-bottom: 2px solid LinkText
    }
}

.ticker__controls {
    align-items: flex-end;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 4px;
    white-space: nowrap;
    z-index: 20
}

@media only screen and (min-width:641px) {
    .ticker__controls {
        right: 20px
    }
}

@media only screen and (min-width:1080px) {
    .ticker__controls {
        right: 0
    }
}

.ticker__controls-container {
    display: flex
}

.ticker__button {
    pointer-events: auto
}

.ticker__button--pause {
    display: none
}

@media only screen and (min-width:641px) {
    .ticker__button--pause {
        display: inline-block
    }
}

.headroom--pinned.headroom--not-top .ticker {
    height: 0;
    overflow: hidden;
    padding: 0
}

.tooltip {
    align-items: center;
    border: 1.3px solid #000;
    border: 1.3px solid var(--color--border-dark);
    border-radius: 100%;
    display: flex;
    height: 13px;
    justify-content: center;
    margin-left: 5px;
    overflow: hidden;
    width: 13px
}

.tooltip__icon {
    left: .5px;
    position: relative
}

.tippy-box[data-theme~=mol] {
    word-wrap: normal;
    background-color: #ededed;
    background-color: var(--color--tooltip-background);
    border-radius: 0;
    color: #000;
    color: var(--color--tooltip-text);
    max-width: 335px;
    min-width: 280px;
    padding: 15px;
    text-align: left
}

@media only screen and (min-width:641px) {
    .tippy-box[data-theme~=mol] {
        min-width: 335px
    }

    .header .tippy-box[data-theme~=mol] {
        min-width: 0
    }
}

.tippy-box[data-theme~=mol] > .tippy-arrow:before {
    display: none
}

.toggle-switch {
    align-items: center;
    cursor: pointer;
    display: flex
}

.toggle-switch__label {
    margin-right: 10px
}

.toggle-switch__checkbox {
    clip: rect(1px,1px,1px,1px);
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px
}

    .toggle-switch__checkbox:checked + .toggle-switch__slider {
        background-color: #fff;
        background-color: var(--color--button-secondary)
    }

        .toggle-switch__checkbox:checked + .toggle-switch__slider:before {
            background-color: #000;
            background-color: var(--color--button);
            transform: translateX(20px)
        }

@media(forced-colors:active) {
    .toggle-switch__checkbox:checked + .toggle-switch__slider:before {
        background-color: WindowText
    }
}

.toggle-switch__checkbox:checked:focus + .toggle-switch__slider {
    background-color: #fff;
    background-color: var(--color--button-secondary)
}

.toggle-switch__checkbox:focus + .toggle-switch__slider {
    background-color: transparent;
    background-color: var(--color--focus-background);
    outline: 3px solid #814ec0;
    outline: 3px solid var(--color--focus-outline);
    outline-offset: 4px;
    text-decoration: none
}

.toggle-switch__checkbox:focus:not(:focus-visible) + .toggle-switch__slider {
    background-color: none;
    outline: 0
}

.toggle-switch:hover .toggle-switch__slider {
    background-color: #fff;
    background-color: var(--color--button-secondary)
}

.toggle-switch__slider {
    border: 1px solid #000;
    border: 1px solid var(--color--button);
    border-radius: 20px;
    flex-shrink: 0;
    height: 20px;
    position: relative;
    transition: background-color .25s cubic-bezier(.24,.26,.2,1);
    width: 40px
}

    .toggle-switch__slider:before {
        border: 1px solid #000;
        border: 1px solid var(--color--button);
        border-radius: 50%;
        bottom: 2px;
        content: "";
        height: 14px;
        left: 2px;
        position: absolute;
        transition: transform .25s cubic-bezier(.24,.26,.2,1),background-color .25s cubic-bezier(.24,.26,.2,1);
        width: 14px
    }

@media(forced-colors:active) {
    .toggle-switch__slider:before {
        border-color: WindowText
    }
}

.filter-bar .toggle-switch {
    margin-right: 20px
}

@media only screen and (min-width:641px) {
    .filter-bar .toggle-switch {
        margin-right: 40px
    }
}

.transcripts {
    max-height: 700px;
    max-width: 900px;
    overflow: auto
}

@media only screen and (min-width:641px) {
    .transcripts {
        padding-right: 40px
    }
}

.transcripts__item {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    padding-right: 20px
}

@media only screen and (min-width:641px) {
    .transcripts__item {
        padding-right: 0
    }
}

.transcripts__time {
    width: 60px
}

.try-these__items {
    display: flex;
    flex-wrap: wrap;
    row-gap: 10px
}

.video-modal {
    background-color: rgba(0,0,0,.9);
    display: none;
    height: 100vh;
    left: 0;
    overflow: auto;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 110
}

    .video-modal.open {
        display: block
    }

.video-modal__container {
    margin: 0 auto;
    outline: 1px solid transparent;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    width: 90%
}

@media only screen and (min-width:641px) {
    .video-modal__container {
        max-width: 800px;
        width: 56%
    }
}

.video-modal__close {
    display: inline-block;
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 120
}

.visual-story {
    filter: saturate(0);
    opacity: .2;
    transition: opacity .5s cubic-bezier(.24,.26,.2,1)
}

@media only screen and (min-width:641px) {
    .visual-story {
        height: clamp(300px,100vh,2000px);
        overflow: clip
    }
}

@media(prefers-reduced-motion:reduce) {
    .visual-story {
        filter: saturate(1);
        opacity: 1;
        position: relative
    }
}

.visual-story:first-child {
    opacity: 1
}

.visual-story--animate {
    filter: saturate(1);
    opacity: 1
}

    .visual-story--animate .visual-story__label-wrapper, .visual-story--done .visual-story__label-wrapper {
        opacity: 1
    }

.visual-story__image-container {
    position: relative
}

.visual-story__image {
    max-height: 400px;
    object-fit: cover;
    width: 100%
}

@media only screen and (min-width:641px) {
    .visual-story__image {
        height: clamp(300px,100vh,2000px);
        max-height: 100%;
        top: 0
    }

    .visual-story__label-container {
        background-color: hsla(0,0%,100%,.9);
        margin-left: var(--page-margin-width)
    }
}

@media only screen and (min-width:1520px) {
    .visual-story__label-container {
        margin-left: calc(var(--page-margin-width) + var(--grid-col-width))
    }

    .visual-story--pullquote .visual-story__label-container {
        margin-left: var(--page-margin-width)
    }
}

.visual-story__label-wrapper {
    background-color: hsla(0,0%,100%,.9);
    opacity: 0;
    transition: opacity 1s cubic-bezier(.24,.26,.2,1),transform cubic-bezier(.24,.26,.2,1);
    transition-delay: .25s
}

@media only screen and (min-width:641px) {
    .visual-story__label-wrapper {
        background-color: transparent;
        bottom: 0;
        position: -webkit-sticky;
        position: sticky;
        transform: translate3d(0,-100%,0);
        width: calc(var(--page-margin-width) + var(--grid-col-width)*7);
        will-change: scroll-position;
        z-index: 20
    }
}

@media(prefers-reduced-motion:reduce) {
    .visual-story__label-wrapper {
        opacity: 1;
        position: absolute
    }
}

@media only screen and (min-width:641px) {
    .visual-story__label {
        display: block;
        margin-left: calc(var(--grid-col-width) + 40px);
        padding: 0 0 20px
    }
}

@media only screen and (min-width:1520px) {
    .visual-story__label {
        margin-left: 30px
    }
}

.visual-story__title {
    border-bottom: 1px dotted rgba(60,60,60,.2);
    border-bottom: 1px dotted var(--color--border-subtle);
    padding: 20px 40px 20px 0
}

.visual-story__subtitle {
    margin: 20px 40px 20px 0
}

@media only screen and (min-width:641px) {
    .visual-story__subtitle {
        margin-bottom: 0
    }
}

.visual-story__content {
    margin-top: 20px;
    padding-bottom: 10px
}

@media only screen and (min-width:641px) {
    .visual-story__content {
        margin-right: 40px;
        padding-bottom: 0
    }
}

.visual-story__tooltip-wrapper {
    bottom: 20px;
    position: absolute;
    width: 100%;
    z-index: 10
}

@media only screen and (min-width:641px) {
    .visual-story__tooltip-wrapper {
        bottom: 40px
    }
}

.visual-story--pullquote .heading {
    display: none
}

@media only screen and (min-width:641px) {
    .visual-story--pullquote .visual-story__label-wrapper {
        width: calc(var(--page-margin-width) + var(--grid-col-width)*7)
    }

    .visual-story--pullquote .visual-story__label {
        margin-left: 40px
    }

    .visual-story--pullquote .visual-story__content {
        padding-top: 10px
    }
}

.visual-story--pullquote .visual-story__content .sf__block--pullquote {
    margin-top: 20px
}

    .visual-story--pullquote .visual-story__content .sf__block--pullquote .layout {
        display: block;
        padding: 0
    }

.youtube-embed--greybg {
    background-color: #ededed;
    background-color: var(--color--background-subtle)
}

@media only screen and (min-width:641px) {
    .youtube-embed__container {
        column-gap: 5px;
        display: grid;
        grid-template-columns: repeat(12,1fr);
        padding-left: 20px;
        padding-right: 20px
    }
}

@media only screen and (min-width:641px)and (min-width:1080px) {
    .youtube-embed__container {
        column-gap: 10px;
        margin-left: auto;
        margin-right: auto;
        max-width: 1440px;
        padding-left: 40px;
        padding-right: 40px
    }
}

.youtube-embed__inner {
    position: relative
}

.youtube-embed__poster {
    cursor: pointer;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

    .youtube-embed__poster.hidden {
        display: none
    }

    .youtube-embed__poster:hover .button--play {
        background-color: #fff;
        background-color: var(--color--button-secondary);
        border-color: #fff;
        border-color: var(--color--button-secondary);
        color: #000;
        color: var(--color--button)
    }

.youtube-embed__overlay {
    background-color: rgba(0,0,0,.3);
    background-color: var(--color--background-overlay);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10
}

.youtube-embed .button--play {
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 20
}

.youtube-embed iframe, .youtube-embed img {
    aspect-ratio: 16/9;
    height: 100%;
    max-height: 710px;
    width: 100%
}

.youtube-embed__heading {
    margin-bottom: 30px;
    margin-top: 40px
}

@media only screen and (min-width:641px) {
    .youtube-embed__heading {
        margin-top: 15px
    }
}

@media only screen and (min-width:1080px) {
    .youtube-embed__heading {
        margin-bottom: 40px
    }
}

.youtube-embed__heading--small-gap {
    margin-bottom: 20px
}

.youtube-embed__caption {
    margin-bottom: 30px
}

@media only screen and (min-width:1080px) {
    .youtube-embed__caption {
        margin-bottom: 40px
    }
}

.template-narrow-col .youtube-embed .youtube-embed__container {
    padding-left: 0;
    padding-right: 0
}

.breadcrumbs-nav {
    align-items: center;
    display: flex;
    flex-direction: row;
    height: 100%;
    margin-bottom: 10px;
    width: 100%
}

.breadcrumbs-nav__item {
    border-bottom: 0;
    font-size: 12px;
    font-weight: 300;
    margin: 0 5px 0 0;
    padding: 0;
    text-transform: uppercase;
    width: auto
}

    .breadcrumbs-nav__item:first-child a {
        margin-left: 0
    }

    .breadcrumbs-nav__item:last-child {
        border-bottom: 1px solid;
        margin-left: 10px
    }

@media only screen and (min-width:641px) {
    .breadcrumbs-nav__item:last-of-type:after {
        content: ""
    }
}

.breadcrumbs-nav__icon {
    fill: var(--color--primary);
    display: inline-block;
    height: 10px;
    vertical-align: middle;
    width: 8px
}

.breadcrumbs-nav__link {
    border-bottom: 1px solid transparent;
    color: var(--color--primary);
    transition: color,border .25s cubic-bezier(.24,.26,.2,1)
}

    .breadcrumbs-nav__link:hover {
        cursor: pointer
    }

@media only screen and (min-width:641px) {
    .breadcrumbs-nav__link {
        margin: 0 10px;
        padding: 5px 0
    }
}

.footernav-desktop__item {
    font-weight: 300;
    padding-bottom: 5px
}

    .footernav-desktop__item:first-of-type .footernav-desktop__link {
        align-items: flex-end;
        display: flex;
        font-family: museum sans,sans-serif;
        font-size: 20px;
        font-size: 1.25rem;
        gap: 5px;
        transition: .25s cubic-bezier(.24,.26,.2,1)
    }

@media only screen and (min-width:641px) {
    .footernav-desktop__item:first-of-type .footernav-desktop__link {
        font-size: 20px;
        font-size: 1.25rem
    }
}

@media only screen and (min-width:1080px) {
    .footernav-desktop__item:first-of-type .footernav-desktop__link {
        font-size: 22px;
        font-size: 1.375rem
    }
}

.footernav-desktop__item:first-of-type .footernav-desktop__link:focus, .footernav-desktop__item:first-of-type .footernav-desktop__link:hover {
    gap: 10px
}

.footernav-desktop__item:first-of-type .footernav-desktop__icon {
    margin-bottom: 3px
}

.footernav-desktop__item:not(:first-of-type) .footernav-desktop__link {
    background-image: linear-gradient(currentColor,currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    font-weight: 400;
    transition: background-size .25s cubic-bezier(.24,.26,.2,1)
}

@media(forced-colors:active) {
    .footernav-desktop__item:not(:first-of-type) .footernav-desktop__link {
        border-bottom: 1px solid LinkText
    }
}

.footernav-desktop__item:not(:first-of-type) .footernav-desktop__link:focus, .footernav-desktop__item:not(:first-of-type) .footernav-desktop__link:hover {
    background-size: 100% 1px
}

@media(forced-colors:active) {
    .footernav-desktop__item:not(:first-of-type) .footernav-desktop__link:focus, .footernav-desktop__item:not(:first-of-type) .footernav-desktop__link:hover {
        border-bottom: 2px solid LinkText
    }
}

.footernav-desktop__link {
    padding: 5px 0
}

.footernav-mobile__button {
    background-color: var(--color--secondary);
    border-bottom: 1px solid rgba(60,60,60,.2);
    border-bottom: 1px solid var(--color--border-subtle);
    color: var(--color--primary);
    font-size: 16px;
    font-size: 1rem;
    letter-spacing: .05em;
    outline: none;
    padding: 20px 0;
    text-align: left;
    width: 100%
}

@media only screen and (min-width:641px) {
    .footernav-mobile__button {
        font-size: 20px;
        font-size: 1.25rem
    }
}

@media only screen and (min-width:1080px) {
    .footernav-mobile__button {
        font-size: 24px;
        font-size: 1.5rem
    }
}

.footernav-mobile__button.is-open {
    border-bottom: none
}

.footernav-mobile__item {
    padding: 5px 0
}

    .footernav-mobile__item:last-child {
        border-bottom: 1px solid rgba(60,60,60,.2);
        border-bottom: 1px solid var(--color--border-subtle);
        padding-bottom: 20px
    }

.footernav-mobile__content {
    padding: 0
}

.footerlinks-nav {
    margin-bottom: 15px
}

.footerlinks-nav__container {
    align-items: center;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    height: auto;
    width: 100%
}

@media only screen and (min-width:641px) {
    .footerlinks-nav__container {
        border-top: 0;
        flex-direction: row
    }
}

.footerlinks-nav__item {
    border-bottom: 1px solid rgba(60,60,60,.2);
    border-bottom: 1px solid var(--color--border-subtle);
    margin-bottom: 0;
    padding-bottom: 5px;
    padding-top: 5px;
    width: 100%
}

@media only screen and (min-width:641px) {
    .footerlinks-nav__item {
        border: 0;
        margin: 0 10px 0 0;
        padding: 0;
        width: auto
    }

        .footerlinks-nav__item:after {
            color: rgba(60,60,60,.2);
            color: var(--color--border-subtle);
            content: "|";
            margin-left: 10px
        }
}

.footerlinks-nav__item:last-child:after {
    display: none
}

.footerlinks-nav__link {
    background-image: linear-gradient(currentColor,currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    color: #814ec0;
    color: var(--color--link);
    transition: background-size .25s cubic-bezier(.24,.26,.2,1)
}

@media(forced-colors:active) {
    .footerlinks-nav__link {
        border-bottom: 1px solid LinkText
    }
}

.footerlinks-nav__link:focus, .footerlinks-nav__link:hover {
    background-size: 100% 1px
}

@media(forced-colors:active) {
    .footerlinks-nav__link:focus, .footerlinks-nav__link:hover {
        border-bottom: 2px solid LinkText
    }
}

@media only screen and (min-width:641px) {
    .footerlinks-nav__link {
        padding: 5px 0
    }
}

.footerlinks-nav__link:hover {
    color: #000;
    color: var(--color--link-active)
}

.primarynav-desktop {
    padding-bottom: 40px;
    transform: translate3d(0,10%,0)
}

.dropdown-tab-menu-active .primarynav-desktop {
    background: #fff;
    bottom: 0;
    left: 0;
    min-height: 100vh;
    padding-top: 30px;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateZ(0);
    transition: transform .25s cubic-bezier(.24,.26,.2,1);
    z-index: 50
}

    .dropdown-tab-menu-active .primarynav-desktop .icon-button--close {
        display: block
    }

    .dropdown-tab-menu-active .primarynav-desktop nav {
        column-gap: 5px;
        display: grid;
        grid-template-columns: repeat(12,1fr);
        padding-left: 20px;
        padding-right: 20px
    }

@media only screen and (min-width:1080px) {
    .dropdown-tab-menu-active .primarynav-desktop nav {
        column-gap: 10px;
        margin-left: auto;
        margin-right: auto;
        max-width: 1440px;
        padding-left: 40px;
        padding-right: 40px
    }
}

.primarynav-desktop__closebtn-container {
    left: 0;
    position: absolute;
    right: 0
}

.primarynav-desktop .icon-button--close {
    display: none;
    grid-column: self-end
}

.primarynav-desktop__tabs-container {
    display: flex;
    gap: 30px
}

.primarynav-desktop__tab-item {
    align-items: flex-end;
    display: flex;
    position: relative;
    white-space: nowrap
}

    .primarynav-desktop__tab-item.dropdown-tab-menu-active, .primarynav-desktop__tab-item:focus, .primarynav-desktop__tab-item:hover {
        background-color: transparent
    }

        .primarynav-desktop__tab-item.dropdown-tab-menu-active .primarynav-desktop__highlight-icon, .primarynav-desktop__tab-item:focus .primarynav-desktop__highlight-icon, .primarynav-desktop__tab-item:hover .primarynav-desktop__highlight-icon {
            opacity: 1
        }

.primarynav-desktop__tab-item-icon {
    margin-left: 5px
}

.primarynav-desktop__highlight-icon {
    color: #ededed;
    color: var(--color--background-subtle);
    left: 50%;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    transition: opacity .25s cubic-bezier(.24,.26,.2,1);
    z-index: -1
}

    .primarynav-desktop__highlight-icon .icon {
        height: 60px;
        width: 140px
    }

.primarynav-desktop__tab-panel {
    outline: 1px solid transparent
}

    .primarynav-desktop__tab-panel.dropdown-tab-menu-hidden {
        display: none;
        opacity: 0
    }

.headroom--pinned.headroom--not-top .primarynav-desktop {
    padding-bottom: 20px
}

.primarynav-mobile {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: padding-bottom .25s cubic-bezier(.24,.26,.2,1);
    width: 100%
}

.primarynav-mobile__item {
    border-bottom: 1px solid rgba(60,60,60,.2);
    border-bottom: 1px solid var(--color--border-subtle);
    width: 100%
}

    .primarynav-mobile__item:last-child {
        border-bottom: 0
    }

.primarynav-mobile__link {
    align-items: flex-end;
    color: #000;
    color: var(--color--text-default);
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
    transition: color .25s cubic-bezier(.24,.26,.2,1)
}

    .primarynav-mobile__link:hover {
        color: #814ec0;
        color: var(--color--link);
        cursor: pointer
    }

.primarynav-mobile__icon {
    transform: rotate(270deg)
}

@media only screen and (min-width:1080px) {
    .active .primarynav-mobile__icon {
        transform: rotate(180deg)
    }
}

.secondary-nav--mobile {
    background-color: #c4a2ef;
    background-color: var(--color--background-primary);
    column-gap: 5px;
    display: grid;
    flex: 1;
    grid-template-columns: repeat(12,1fr);
    padding-left: 20px;
    padding-right: 20px
}

@media only screen and (min-width:1080px) {
    .secondary-nav--mobile {
        column-gap: 10px;
        margin-left: auto;
        margin-right: auto;
        max-width: 1440px;
        padding-left: 40px;
        padding-right: 40px
    }
}

.secondary-nav__items {
    display: flex;
    flex-direction: column
}

@media only screen and (min-width:1080px) {
    .secondary-nav__items {
        flex-direction: row;
        justify-content: flex-end
    }
}

.secondary-nav__item {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 10px
}

@media only screen and (min-width:1080px) {
    .secondary-nav__item {
        background-image: linear-gradient(currentColor,currentColor);
        background-position: 0 100%;
        background-repeat: no-repeat;
        background-size: 0 1px;
        gap: 5px;
        margin-left: 40px;
        transition: background-size .25s cubic-bezier(.24,.26,.2,1)
    }
}

@media only screen and (min-width:1080px)and (forced-colors:active) {
    .secondary-nav__item {
        border-bottom: 1px solid LinkText
    }
}

@media only screen and (min-width:1080px) {
    .secondary-nav__item:focus, .secondary-nav__item:hover {
        background-size: 100% 1px
    }
}

@media only screen and (min-width:1080px)and (forced-colors:active) {
    .secondary-nav__item:focus, .secondary-nav__item:hover {
        border-bottom: 2px solid LinkText
    }
}

.secondary-nav--mobile .secondary-nav__item {
    border-bottom: 1px solid rgba(60,60,60,.2);
    border-bottom: 1px solid var(--color--border-subtle);
    font-family: museum sans,sans-serif;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 300;
    padding: 15px 0;
    width: 100%
}

@media only screen and (min-width:641px) {
    .secondary-nav--mobile .secondary-nav__item {
        font-size: 20px;
        font-size: 1.25rem
    }
}

@media only screen and (min-width:1080px) {
    .secondary-nav--mobile .secondary-nav__item {
        font-size: 22px;
        font-size: 1.375rem
    }
}

.subnav-desktop__item {
    font-size: 20px;
    font-size: 1.25rem;
    width: 100%
}

@media only screen and (min-width:641px) {
    .subnav-desktop__item {
        font-size: 20px;
        font-size: 1.25rem
    }
}

@media only screen and (min-width:1080px) {
    .subnav-desktop__item {
        font-size: 22px;
        font-size: 1.375rem
    }
}

.subnav-desktop__item--section {
    font-size: 28px;
    font-size: 1.75rem;
    margin: 60px 0
}

@media only screen and (min-width:641px) {
    .subnav-desktop__item--section {
        font-size: 28px;
        font-size: 1.75rem
    }
}

@media only screen and (min-width:1080px) {
    .subnav-desktop__item--section {
        font-size: 46px;
        font-size: 2.875rem
    }
}

.subnav-desktop__item--section .subnav-desktop__link {
    border-bottom: 0
}

.subnav-desktop__item--secondary {
    font-weight: 300
}

.subnav-desktop__container {
    column-count: 2;
    gap: 10px
}

.subnav-desktop__link {
    align-items: center;
    border-bottom: 1px solid rgba(60,60,60,.2);
    border-bottom: 1px solid var(--color--border-subtle);
    display: flex;
    padding: 10px 0;
    transition: color,border .25s cubic-bezier(.24,.26,.2,1)
}

    .subnav-desktop__link:hover .icon {
        transform: translateX(5px)
    }

    .subnav-desktop__link .icon {
        margin-left: 3px;
        transition: transform .25s cubic-bezier(.24,.26,.2,1)
    }

.subnav-desktop__label {
    color: #814ec0;
    color: var(--color--link);
    font-size: 13px;
    font-size: .8125rem;
    font-weight: 400;
    margin-left: 10px
}

@media only screen and (min-width:641px) {
    .subnav-desktop__label {
        font-size: 13px;
        font-size: .8125rem
    }
}

@media only screen and (min-width:1080px) {
    .subnav-desktop__label {
        font-size: 13px;
        font-size: .8125rem
    }
}

.subnav-mobile {
    background: #fff;
    background: var(--color--background-default);
    border: 1px solid transparent;
    display: flex;
    flex-direction: column;
    height: 100%;
    left: 0;
    min-height: 800px;
    position: absolute;
    top: 0;
    transform: translate3d(100%,0,0);
    visibility: hidden;
    width: 100%;
    z-index: 10
}

    .subnav-mobile, .subnav-mobile.is-visible {
        transition: transform .25s cubic-bezier(.24,.26,.2,1),visibility .25s cubic-bezier(.24,.26,.2,1)
    }

        .subnav-mobile.is-visible {
            transform: translateZ(0);
            visibility: visible
        }

.subnav-mobile__item {
    border-bottom: 1px solid rgba(60,60,60,.2);
    border-bottom: 1px solid var(--color--border-subtle);
    width: 100%
}

.subnav-mobile__item--back {
    border-bottom: 0;
    margin-top: 80px
}

.subnav-mobile__item--secondary {
    font-weight: 300
}

.subnav-mobile__link {
    align-items: center;
    border-bottom: 1px solid transparent;
    display: flex;
    padding: 15px 0;
    transition: color,border .25s cubic-bezier(.24,.26,.2,1)
}

    .subnav-mobile__link:hover {
        cursor: pointer
    }

    .subnav-mobile__link .icon {
        margin-left: 3px
    }

.subnav-mobile__label {
    color: #814ec0;
    color: var(--color--link);
    font-size: 13px;
    font-size: .8125rem;
    font-weight: 400;
    margin-left: 10px
}

@media only screen and (min-width:641px) {
    .subnav-mobile__label {
        font-size: 13px;
        font-size: .8125rem
    }
}

@media only screen and (min-width:1080px) {
    .subnav-mobile__label {
        font-size: 13px;
        font-size: .8125rem
    }
}

.subnav-mobile__backlink {
    align-items: center;
    display: flex;
    font-family: arial,helvetica neue,helvetica,sans-serif;
    font-size: 16px;
    font-size: 1rem;
    padding: 20px 0 10px
}

@media only screen and (min-width:641px) {
    .subnav-mobile__backlink {
        font-size: 16px;
        font-size: 1rem
    }
}

@media only screen and (min-width:1080px) {
    .subnav-mobile__backlink {
        font-size: 16px;
        font-size: 1rem
    }
}

.subnav-mobile__backlink .icon {
    margin-right: 3px
}
/*! tailwindcss v3.1.4 | MIT License | https://tailwindcss.com*/

*, :after, :before {
    border: 0 solid;
    box-sizing: border-box
}

:after, :before {
    --tw-content: ""
}

html {
    -webkit-text-size-adjust: 100%;
    font-family: arial,helvetica neue,helvetica,sans-serif;
    line-height: 1.5;
    tab-size: 4
}

body {
    line-height: inherit;
    margin: 0
}

hr {
    border-top-width: 1px;
    color: inherit;
    height: 0
}

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit
}

a {
    color: inherit;
    text-decoration: inherit
}

b, strong {
    font-weight: bolder
}

code, kbd, pre, samp {
    font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    border-collapse: collapse;
    border-color: inherit;
    text-indent: 0
}

button, input, optgroup, select, textarea {
    color: inherit;
    font-family: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0
}

button, select {
    text-transform: none
}

[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

blockquote, dd, dl, figure, h1, h2, h3, h4, h5, h6, hr, p, pre {
    margin: 0
}

fieldset {
    margin: 0
}

fieldset, legend {
    padding: 0
}

menu, ol, ul {
    list-style: none;
    margin: 0;
    padding: 0
}

textarea {
    resize: vertical
}

    input:-ms-input-placeholder, textarea:-ms-input-placeholder {
        color: #9ca3af;
        opacity: 1
    }

    input::placeholder, textarea::placeholder {
        color: #9ca3af;
        opacity: 1
    }

[role=button], button {
    cursor: pointer
}

:disabled {
    cursor: default
}

audio, canvas, embed, iframe, img, object, svg, video {
    display: block;
    vertical-align: middle
}

img, video {
    height: auto;
    max-width: 100%
}

.sr-only {
    clip: rect(0,0,0,0);
    border-width: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px
}

.visible {
    visibility: visible
}

.col-span-12 {
    grid-column: span 12/span 12
}

.col-span-10 {
    grid-column: span 10/span 10
}

.col-span-6 {
    grid-column: span 6/span 6
}

.col-span-3 {
    grid-column: span 3/span 3
}

.col-start-1 {
    grid-column-start: 1
}

.col-start-12 {
    grid-column-start: 12
}

.row-span-1 {
    grid-row: span 1/span 1
}

.row-span-2 {
    grid-row: span 2/span 2
}

.mb-4 {
    margin-bottom: 20px
}

.mb-5 {
    margin-bottom: 30px
}

.mt-7 {
    margin-top: 60px
}

.mb-7 {
    margin-bottom: 60px
}

.mb-3 {
    margin-bottom: 15px
}

.mb-2 {
    margin-bottom: 10px
}

.mt-3 {
    margin-top: 15px
}

.mb-6 {
    margin-bottom: 40px
}

.mb-1 {
    margin-bottom: 5px
}

.mt-1 {
    margin-top: 5px
}

.mt-4 {
    margin-top: 20px
}

.mt-2 {
    margin-top: 10px
}

.mr-5 {
    margin-right: 30px
}

.mr-1 {
    margin-right: 5px
}

.mb-8 {
    margin-bottom: 80px
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.inline {
    display: inline
}

.flex {
    display: flex
}

.table {
    display: table
}

.grid {
    display: grid
}

.contents {
    display: contents
}

.hidden {
    display: none
}

.\!hidden {
    display: none !important
}

.scroll-mt-8 {
    scroll-margin-top: 80px
}

.scroll-mt-\[135px\] {
    scroll-margin-top: 135px
}

.items-center {
    align-items: center
}

.justify-end {
    justify-content: flex-end
}

.justify-between {
    justify-content: space-between
}

.gap-3 {
    gap: 15px
}

.gap-y-6 {
    row-gap: 40px
}

.justify-self-end {
    justify-self: end
}

.\[str\:Any\] {
    str: Any
}

@media (min-width:641px) {
    .md\:col-span-6 {
        grid-column: span 6/span 6
    }

    .md\:col-span-4 {
        grid-column: span 4/span 4
    }

    .md\:col-span-10 {
        grid-column: span 10/span 10
    }

    .md\:col-span-8 {
        grid-column: span 8/span 8
    }

    .md\:col-span-3 {
        grid-column: span 3/span 3
    }

    .md\:col-span-11 {
        grid-column: span 11/span 11
    }

    .md\:col-span-9 {
        grid-column: span 9/span 9
    }

    .md\:col-start-2 {
        grid-column-start: 2
    }

    .md\:col-start-12 {
        grid-column-start: 12
    }

    .md\:mb-1 {
        margin-bottom: 5px
    }

    .md\:mb-7 {
        margin-bottom: 60px
    }

    .md\:inline {
        display: inline
    }

    .md\:flex {
        display: flex
    }

    .md\:hidden {
        display: none
    }

    .md\:scroll-mt-\[150px\] {
        scroll-margin-top: 150px
    }

    .md\:justify-end {
        justify-content: flex-end
    }

    .md\:justify-self-end {
        justify-self: end
    }
}

@media (min-width:1080px) {
    .lg\:col-span-3 {
        grid-column: span 3/span 3
    }

    .lg\:col-span-12 {
        grid-column: span 12/span 12
    }

    .lg\:col-span-6 {
        grid-column: span 6/span 6
    }

    .lg\:col-span-4 {
        grid-column: span 4/span 4
    }

    .lg\:col-span-5 {
        grid-column: span 5/span 5
    }

    .lg\:col-span-2 {
        grid-column: span 2/span 2
    }

    .lg\:col-span-10 {
        grid-column: span 10/span 10
    }

    .lg\:col-span-8 {
        grid-column: span 8/span 8
    }

    .lg\:col-span-9 {
        grid-column: span 9/span 9
    }

    .lg\:col-start-1 {
        grid-column-start: 1
    }

    .lg\:col-start-4 {
        grid-column-start: 4
    }

    .lg\:col-start-2 {
        grid-column-start: 2
    }

    .lg\:col-start-10 {
        grid-column-start: 10
    }

    .lg\:mt-5 {
        margin-top: 30px
    }

    .lg\:mb-5 {
        margin-bottom: 30px
    }

    .lg\:mb-2 {
        margin-bottom: 10px
    }

    .lg\:mt-2 {
        margin-top: 10px
    }

    .lg\:mb-3 {
        margin-bottom: 15px
    }

    .lg\:mb-8 {
        margin-bottom: 80px
    }

    .lg\:block {
        display: block
    }

    .lg\:flex {
        display: flex
    }

    .lg\:hidden {
        display: none
    }

    .lg\:justify-self-end {
        justify-self: end
    }
}
