/*
 * Animated Slideshow 2.0.1
 * Scoped frontend CSS. No Bootstrap, jQuery or template framework dependency.
 */

.as2,
.as2 * {
    box-sizing: border-box;
}

.as2 {
    position: relative;
    display: block;
    clear: both;
    width: 100%;
    margin: 0 0 var(--as2-space-below, 48px);
    color: var(--as2-text, #fff);
    font-family: inherit;
    line-height: 1.5;
}

.as2--full-bleed {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.as2__viewport {
    position: relative;
    z-index: 0;
    width: 100%;
    height: var(--as2-desktop-height, 590px);
    min-height: var(--as2-desktop-min-height, 420px);
    overflow: hidden;
    isolation: isolate;
    background: var(--as2-bg, #111);
    transition: height 300ms ease;
}

.as2__slide {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--as2-transition, 800ms) ease, visibility 0s linear var(--as2-transition, 800ms);
}

.as2__slide.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.as2__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--as2-media-bg, #000);
}

.as2__picture {
    display: block;
    width: 100%;
    height: 100%;
}

.as2__media-object,
.as2__picture > img,
.as2__poster,
.as2__mobile-fallback {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    margin: 0;
    padding: 0;
    object-position: var(--as2-position-desktop, center center);
}

.as2__poster,
.as2__mobile-fallback {
    pointer-events: none;
}

.as2__youtube-poster {
    object-fit: cover !important;
    object-position: center center !important;
}

.as2--fit-desktop-cover .as2__media-object,
.as2--fit-desktop-cover .as2__picture > img,
.as2--fit-desktop-cover .as2__poster,
.as2--fit-desktop-cover .as2__mobile-fallback {
    object-fit: cover;
}

.as2--fit-desktop-contain .as2__media-object,
.as2--fit-desktop-contain .as2__picture > img,
.as2--fit-desktop-contain .as2__poster,
.as2--fit-desktop-contain .as2__mobile-fallback {
    object-fit: contain;
}

.as2__html5-video,
.as2__youtube-frame,
.as2__youtube {
    background: var(--as2-media-bg, #000);
}

.as2__youtube-frame {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
    overflow: hidden;
    transform: translateZ(0);
}

.as2__youtube {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.as2--youtube-clean .as2__youtube {
    pointer-events: none;
}

/*
 * YouTube can briefly paint its own title and central playback/playlist UI
 * while an iframe starts, resumes or loops. In clean-background mode the
 * iframe therefore stays fully concealed behind the poster until the IFrame
 * API confirms stable PLAYING state. This prevents any YouTube chrome flash.
 */
.as2--youtube-clean .as2__youtube-frame {
    opacity: 0;
    transition: none;
    will-change: opacity;
}

.as2--youtube-clean .as2__slide.is-video-playing .as2__youtube-frame {
    opacity: 1;
    transition: opacity 260ms ease;
}

.as2__poster {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    transition: none;
}

.as2__slide.is-video-playing .as2__poster,
.as2:not(.as2--youtube-clean) .as2__slide.is-video-ready .as2__poster {
    opacity: 0;
    visibility: hidden;
    transition: opacity 350ms ease, visibility 0s linear 350ms;
}

.as2__mobile-fallback {
    z-index: 2;
    display: none;
}

.as2__media-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
    pointer-events: none;
    background: rgba(var(--as2-overlay-rgb, 0,0,0), var(--as2-overlay-desktop, .35));
}

.as2__integrated-panel {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: none;
    pointer-events: none;
}

.as2--desktop-integrated .as2__integrated-panel {
    display: block;
}

.as2--desktop-integrated.as2--text-left .as2__integrated-panel {
    background: linear-gradient(
        to right,
        rgba(var(--as2-panel-rgb, 17,17,17), 1) 0,
        rgba(var(--as2-panel-rgb, 17,17,17), 1) var(--as2-effective-solid, var(--as2-solid, 36%)),
        rgba(var(--as2-panel-rgb, 17,17,17), .96) calc(var(--as2-effective-solid, var(--as2-solid, 36%)) + var(--as2-fade-25, 6.5%)),
        rgba(var(--as2-panel-rgb, 17,17,17), .72) calc(var(--as2-effective-solid, var(--as2-solid, 36%)) + var(--as2-fade-50, 13%)),
        rgba(var(--as2-panel-rgb, 17,17,17), .32) calc(var(--as2-effective-solid, var(--as2-solid, 36%)) + var(--as2-fade-75, 19.5%)),
        rgba(var(--as2-panel-rgb, 17,17,17), 0) calc(var(--as2-effective-solid, var(--as2-solid, 36%)) + var(--as2-fade, 26%)),
        rgba(var(--as2-panel-rgb, 17,17,17), 0) 100%
    );
}

.as2--desktop-integrated.as2--text-right .as2__integrated-panel {
    background: linear-gradient(
        to left,
        rgba(var(--as2-panel-rgb, 17,17,17), 1) 0,
        rgba(var(--as2-panel-rgb, 17,17,17), 1) var(--as2-effective-solid, var(--as2-solid, 36%)),
        rgba(var(--as2-panel-rgb, 17,17,17), .96) calc(var(--as2-effective-solid, var(--as2-solid, 36%)) + var(--as2-fade-25, 6.5%)),
        rgba(var(--as2-panel-rgb, 17,17,17), .72) calc(var(--as2-effective-solid, var(--as2-solid, 36%)) + var(--as2-fade-50, 13%)),
        rgba(var(--as2-panel-rgb, 17,17,17), .32) calc(var(--as2-effective-solid, var(--as2-solid, 36%)) + var(--as2-fade-75, 19.5%)),
        rgba(var(--as2-panel-rgb, 17,17,17), 0) calc(var(--as2-effective-solid, var(--as2-solid, 36%)) + var(--as2-fade, 26%)),
        rgba(var(--as2-panel-rgb, 17,17,17), 0) 100%
    );
}

.as2__slide--no-content .as2__integrated-panel {
    display: none;
}

.as2__content-layer {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: flex;
    width: 100%;
    height: 100%;
    padding: var(--as2-desktop-pad-y, 36px) var(--as2-desktop-pad-x, 42px);
    pointer-events: none;
}

.as2__content {
    position: relative;
    z-index: 1;
    min-width: 0;
    pointer-events: auto;
}

.as2--desktop-valign-top .as2__content-layer {
    align-items: flex-start;
}

.as2--desktop-valign-center .as2__content-layer {
    align-items: center;
}

.as2--desktop-valign-bottom .as2__content-layer {
    align-items: flex-end;
}

.as2--desktop-background.as2--desktop-align-left .as2__content-layer {
    justify-content: flex-start;
    text-align: left;
}

.as2--desktop-background.as2--desktop-align-center .as2__content-layer {
    justify-content: center;
    text-align: center;
}

.as2--desktop-background.as2--desktop-align-right .as2__content-layer {
    justify-content: flex-end;
    text-align: right;
}

.as2--desktop-background .as2__content {
    width: 100%;
    max-width: var(--as2-content-max, 650px);
}

.as2--desktop-integrated.as2--text-left .as2__content-layer {
    justify-content: flex-start;
    text-align: left;
}

.as2--desktop-integrated.as2--text-right .as2__content-layer {
    justify-content: flex-end;
    text-align: right;
}

.as2--desktop-integrated .as2__content {
    width: var(--as2-text-width, 32%);
    max-width: 760px;
}

.as2__eyebrow {
    margin: 0 0 12px;
    color: var(--as2-eyebrow, #e52746);
    font-size: var(--as2-eyebrow-size, 13px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.as2__title {
    margin: 0 0 18px;
    padding: 0;
    color: var(--as2-text, #fff);
    font: inherit;
    font-size: var(--as2-title-desktop, 52px);
    font-weight: var(--as2-title-weight, 700);
    line-height: 1.08;
    letter-spacing: -.025em;
}

.as2__body {
    margin: 0 0 24px;
    color: var(--as2-muted, #e8e8e8);
    font-size: var(--as2-body-desktop, 18px);
    line-height: 1.6;
}

.as2__body > :first-child {
    margin-top: 0;
}

.as2__body > :last-child {
    margin-bottom: 0;
}

.as2__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 12px 21px;
    border: 2px solid var(--as2-accent, #d51f3e);
    border-radius: var(--as2-button-radius, 0);
    color: var(--as2-button-text, #fff) !important;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.as2--button-solid .as2__button {
    background: var(--as2-accent, #d51f3e);
}

.as2--button-outline .as2__button {
    background: transparent;
    color: var(--as2-accent, #d51f3e) !important;
}

.as2__button:hover,
.as2__button:focus {
    border-color: var(--as2-button-hover, #aa1730);
    background: var(--as2-button-hover, #aa1730);
    color: var(--as2-button-text, #fff) !important;
    transform: translateY(-1px);
}

.as2--button-uppercase .as2__button {
    text-transform: uppercase;
    letter-spacing: .025em;
}

.as2__arrow,
.as2__pause,
.as2__dot {
    appearance: none;
    border: 0;
    margin: 0;
    font: inherit;
    cursor: pointer;
}

.as2__arrow {
    position: absolute;
    top: 50%;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 52px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.35);
    background: rgba(0,0,0,.38);
    color: #fff;
    font-size: 26px;
    line-height: 1;
    transform: translateY(-50%);
}

.as2__arrow--previous {
    left: 14px;
}

.as2__arrow--next {
    right: 14px;
}

.as2__dots {
    position: absolute;
    left: 50%;
    bottom: 17px;
    z-index: 8;
    display: flex;
    align-items: center;
    gap: 9px;
    transform: translateX(-50%);
}

.as2__dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.48);
}

.as2__dot.is-active {
    background: var(--as2-accent, #d51f3e);
}

.as2__pause {
    position: absolute;
    right: 16px;
    bottom: 14px;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;
    background: rgba(0,0,0,.42);
    color: #fff;
}

.as2__pause-icon,
.as2__pause-icon::before,
.as2__pause-icon::after {
    display: block;
}

.as2__pause-icon {
    position: relative;
    width: 12px;
    height: 14px;
}

.as2__pause-icon::before,
.as2__pause-icon::after {
    content: "";
    position: absolute;
    top: 0;
    width: 4px;
    height: 14px;
    background: currentColor;
}

.as2__pause-icon::before {
    left: 0;
}

.as2__pause-icon::after {
    right: 0;
}

.as2.is-paused .as2__pause-icon::before {
    top: 0;
    left: 1px;
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 11px solid currentColor;
    background: transparent;
}

.as2.is-paused .as2__pause-icon::after {
    display: none;
}

.as2__arrow:focus,
.as2__pause:focus,
.as2__dot:focus,
.as2__button:focus {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.as2--transition-zoom .as2__slide .as2__media-object,
.as2--transition-zoom .as2__slide .as2__picture > img,
.as2--transition-zoom .as2__slide .as2__youtube-frame {
    transform: scale(1);
    transition: transform 9s linear;
}

.as2--transition-zoom .as2__slide.is-active .as2__media-object,
.as2--transition-zoom .as2__slide.is-active .as2__picture > img {
    transform: scale(1.035);
}

.as2--transition-zoom .as2__slide.is-active .as2__youtube-frame {
    transform: translateZ(0) scale(1.035);
}

.as2--single .as2__arrow,
.as2--single .as2__dots,
.as2--single .as2__pause {
    display: none !important;
}

.as2 .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 767px) {
    .as2__viewport {
        height: var(--as2-mobile-height, 520px);
        min-height: var(--as2-mobile-min-height, 420px);
    }

    .as2__media-object,
    .as2__picture > img,
    .as2__poster,
    .as2__mobile-fallback {
        object-position: var(--as2-position-mobile, center center);
    }

    .as2--fit-mobile-cover .as2__media-object,
    .as2--fit-mobile-cover .as2__picture > img,
    .as2--fit-mobile-cover .as2__poster,
    .as2--fit-mobile-cover .as2__mobile-fallback {
        object-fit: cover;
    }

    .as2--fit-mobile-contain .as2__media-object,
    .as2--fit-mobile-contain .as2__picture > img,
    .as2--fit-mobile-contain .as2__poster,
    .as2--fit-mobile-contain .as2__mobile-fallback {
        object-fit: contain;
    }

    .as2__media-overlay {
        background: rgba(var(--as2-overlay-rgb, 0,0,0), var(--as2-overlay-mobile, .45));
    }

    .as2__integrated-panel {
        display: none !important;
    }

    .as2__content-layer {
        padding: var(--as2-mobile-pad-y, 28px) var(--as2-mobile-pad-x, 22px);
        text-align: left;
    }

    .as2--mobile-align-left .as2__content-layer {
        justify-content: flex-start;
        text-align: left;
    }

    .as2--mobile-align-center .as2__content-layer {
        justify-content: center;
        text-align: center;
    }

    .as2--mobile-align-right .as2__content-layer {
        justify-content: flex-end;
        text-align: right;
    }

    .as2--mobile-valign-top .as2__content-layer {
        align-items: flex-start;
    }

    .as2--mobile-valign-center .as2__content-layer {
        align-items: center;
    }

    .as2--mobile-valign-bottom .as2__content-layer {
        align-items: flex-end;
    }

    .as2__content,
    .as2--desktop-integrated .as2__content,
    .as2--desktop-background .as2__content {
        width: 100%;
        max-width: 100%;
    }

    .as2__title {
        margin-bottom: 14px;
        font-size: var(--as2-title-mobile, 34px);
        line-height: 1.1;
    }

    .as2__body {
        margin-bottom: 20px;
        font-size: var(--as2-body-mobile, 16px);
        line-height: 1.55;
    }

    .as2__button {
        min-height: 44px;
        font-size: 14px;
    }

    .as2--mobile-video-off .as2__html5-video,
    .as2--mobile-video-off .as2__youtube-frame {
        display: none !important;
    }

    .as2--mobile-video-off .as2__mobile-fallback {
        display: block;
    }


    .as2--mobile-text-media .as2__viewport,
    .as2--mobile-media-text .as2__viewport {
        height: auto;
        min-height: 0;
        background: var(--as2-bg, #111);
    }

    .as2--mobile-text-media .as2__slide,
    .as2--mobile-media-text .as2__slide {
        top: 0;
        right: auto;
        bottom: auto;
        left: 0;
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 0;
        background: var(--as2-bg, #111);
    }

    .as2--mobile-text-media .as2__slide.is-active,
    .as2--mobile-media-text .as2__slide.is-active {
        position: relative;
    }

    .as2--mobile-text-media .as2__media,
    .as2--mobile-media-text .as2__media {
        position: relative;
        inset: auto;
        flex: 0 0 var(--as2-mobile-media-height, 240px);
        width: 100%;
        height: var(--as2-mobile-media-height, 240px);
    }

    .as2--mobile-text-media .as2__content-layer,
    .as2--mobile-media-text .as2__content-layer {
        position: relative;
        inset: auto;
        flex: 0 0 auto;
        width: 100%;
        height: auto;
        min-height: 0;
        align-items: flex-start;
        background: var(--as2-panel, #111);
    }

    .as2--mobile-text-media .as2__content-layer {
        order: 1;
    }

    .as2--mobile-text-media .as2__media {
        order: 2;
    }

    .as2--mobile-media-text .as2__media {
        order: 1;
    }

    .as2--mobile-media-text .as2__content-layer {
        order: 2;
    }

    .as2--mobile-text-media .as2__slide--no-content .as2__media,
    .as2--mobile-media-text .as2__slide--no-content .as2__media {
        flex-basis: var(--as2-mobile-height, 520px);
        height: var(--as2-mobile-height, 520px);
    }

    .as2__arrow {
        width: 38px;
        height: 46px;
        font-size: 22px;
    }

    .as2__arrow--previous {
        left: 8px;
    }

    .as2__arrow--next {
        right: 8px;
    }

    .as2__dots {
        bottom: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .as2__slide,
    .as2__poster,
    .as2__button,
    .as2__viewport,
    .as2__media-object,
    .as2__picture > img,
    .as2__youtube-frame {
        transition-duration: 1ms !important;
        animation: none !important;
    }
}

/* Local HTML5 fallback: shown only when playback did not start. */
.as2 .as2__video-feedback[hidden],
.as2 .as2__video-feedback [hidden] {
    display: none !important;
}
.as2 .as2__video-feedback {
    position: absolute;
    z-index: 9;
    right: 12px;
    bottom: 58px;
    max-width: calc(100% - 24px);
}
.as2 .as2__video-start,
.as2 .as2__video-error {
    display: inline-block;
    box-sizing: border-box;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 3px;
    background: rgba(0, 0, 0, .78);
    color: #fff;
    font: inherit;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
    white-space: normal;
}
.as2 .as2__video-start {
    min-height: 44px;
    cursor: pointer;
    touch-action: manipulation;
}
.as2 .as2__video-start:focus {
    outline: 2px solid #fff;
    outline-offset: 3px;
}
