/**
 * FYI Layer Slider v1.3.2
 *
 * Reusable presentation controls layered over the proven v1.0.0 renderer.
 * Imported coordinates, timing, markup, and JavaScript behavior are unchanged.
 */
.fyi-layer-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #111;
    color: #fff;
}

.fyi-layer-slider__viewport {
    position: relative;
    width: 100%;
    aspect-ratio: var(--fyi-slider-ratio, 960 / 300);
    min-height: 220px;
}

.fyi-layer-slider__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    background-position: var(--fyi-background-position, center center);
    background-repeat: no-repeat;
    background-size: var(--fyi-background-size, cover);
    transition: opacity .45s ease;
}

.fyi-layer-slider__slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

/*
 * The background can span the complete banner while imported layer
 * coordinates remain centred on their original Revolution design grid.
 */
.fyi-layer-slider__canvas {
    position: absolute;
    inset-block: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(100%, var(--fyi-layer-grid-max-width, 960px));
    height: 100%;
    max-width: 100%;
}

.fyi-layer-slider__layer {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--w, auto);
    min-height: var(--h, 0);
    opacity: 0;
    transform: translateY(8px);
    transition:
        opacity var(--duration, 300ms) ease,
        transform var(--duration, 300ms) ease;
    z-index: 2;
    box-sizing: border-box;
}

.fyi-layer-slider__layer.is-visible {
    opacity: 1;
    transform: none;
}

.fyi-layer-slider__layer img,
.fyi-layer-slider__layer video {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

.fyi-layer-slider__layer a {
    color: inherit;
}

.fyi-layer-slider__layer--text {
    width: var(--fyi-text-layer-width, auto) !important;
    max-width: none;
    white-space: var(--fyi-text-white-space, nowrap);
}

.fyi-layer-slider__layer--link-button {
    width: auto !important;
    max-width: none;
    white-space: nowrap;
}

/* Imported Revolution style-name mappings. */
.fyi-layer-slider .large_text {
    font-size: var(--fyi-heading-size, 48px);
    line-height: var(--fyi-heading-line-height, 1);
    font-weight: var(--fyi-heading-weight, 700);
    color: var(--fyi-heading-color, #fff);
    text-shadow: var(--fyi-heading-shadow, 0 2px 4px rgba(0,0,0,.45));
}

.fyi-layer-slider .medium_text,
.fyi-layer-slider .medium_text_white {
    font-size: var(--fyi-body-size, 22px);
    line-height: var(--fyi-body-line-height, 1.3);
    font-weight: var(--fyi-body-weight, 600);
    color: var(--fyi-body-color, #fff);
    text-shadow: var(--fyi-body-shadow, 0 1px 3px rgba(0,0,0,.5));
}

.fyi-layer-slider .small_text,
.fyi-layer-slider .small_text_white {
    font-size: var(--fyi-small-size, 16px);
    line-height: var(--fyi-body-line-height, 1.3);
    color: var(--fyi-small-color, #fff);
}

/* Linked layers can remain text links or become reusable buttons. */
.fyi-layer-slider__layer--link-button > a,
.fyi-layer-slider__layer--link-button a {
    display: inline-block;
    width: auto;
    padding: var(--fyi-button-padding, 8px 14px);
    border-radius: var(--fyi-button-radius, 3px);
    background: var(--fyi-button-bg, #df6900);
    color: var(--fyi-button-color, #fff);
    font-size: var(--fyi-button-size, 15px);
    font-weight: var(--fyi-button-weight, 700);
    line-height: 1.2;
    text-decoration: none;
    text-shadow: none;
    box-shadow: var(--fyi-button-shadow, 0 2px 0 rgba(126,56,0,.55));
}

.fyi-layer-slider__layer--link-button > a:hover,
.fyi-layer-slider__layer--link-button > a:focus,
.fyi-layer-slider__layer--link-button a:hover,
.fyi-layer-slider__layer--link-button a:focus {
    filter: brightness(1.06);
    text-decoration: none;
}

.fyi-layer-slider__control {
    position: absolute;
    z-index: 5;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 52px;
    border: 0;
    background: var(--fyi-arrow-bg, rgba(0,0,0,.45));
    color: var(--fyi-arrow-color, #fff);
    font-size: var(--fyi-arrow-size, 28px);
    cursor: pointer;
}

.fyi-layer-slider__control--prev { left: 0; }
.fyi-layer-slider__control--next { right: 0; }

.fyi-layer-slider__dots {
    position: absolute;
    z-index: 5;
    left: 50%;
    bottom: 12px;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
}

.fyi-layer-slider__dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 1px solid var(--fyi-dot-color, #fff);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.fyi-layer-slider__dot.is-active {
    background: var(--fyi-dot-active-color, #fff);
}

@media (max-width: 991px) {
    .fyi-layer-slider .large_text {
        font-size: var(--fyi-heading-size-tablet, 38px);
    }

    .fyi-layer-slider .medium_text,
    .fyi-layer-slider .medium_text_white {
        font-size: var(--fyi-body-size-tablet, 18px);
    }
}

@media (max-width: 767px) {
    .fyi-layer-slider__viewport {
        min-height: 320px;
        aspect-ratio: auto;
    }

    .fyi-layer-slider--mobile-stack .fyi-layer-slider__slide {
        overflow: hidden;
    }

    .fyi-layer-slider--mobile-stack .fyi-layer-slider__canvas {
        position: relative;
        inset: auto;
        left: auto;
        transform: none;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: .75rem;
        width: 100%;
        padding: 2.5rem 2.75rem 3rem;
        background: linear-gradient(90deg, rgba(0,0,0,.68), rgba(0,0,0,.18));
    }

    .fyi-layer-slider--mobile-stack .fyi-layer-slider__layer {
        position: relative;
        left: auto;
        top: auto;
        width: auto !important;
        min-height: 0;
        max-width: 100%;
        white-space: normal;
    }

    .fyi-layer-slider--mobile-stack .fyi-layer-slider__layer--image {
        max-width: min(55vw, 260px);
        order: -1;
    }

    .fyi-layer-slider .large_text {
        font-size: var(--fyi-heading-size-mobile, 30px);
    }

    .fyi-layer-slider .medium_text,
    .fyi-layer-slider .medium_text_white {
        font-size: var(--fyi-body-size-mobile, 16px);
    }

    .fyi-layer-slider--mobile-hide-layers .fyi-layer-slider__layer {
        display: none;
    }

    .fyi-layer-slider__layer[data-mobile-visibility="hide"] {
        display: none !important;
    }

    .fyi-layer-slider__control {
        width: 34px;
        height: 44px;
        font-size: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fyi-layer-slider__slide,
    .fyi-layer-slider__layer {
        transition: none !important;
    }
}


/* v1.3.2: make imported caption links reliably render as buttons. */
.fyi-layer-slider__layer--link-button a,
.fyi-layer-slider__layer--link-button a:visited {
    display: inline-block !important;
    width: auto !important;
    padding: var(--fyi-button-padding, 8px 14px) !important;
    border: 0 !important;
    border-radius: var(--fyi-button-radius, 3px) !important;
    background: var(--fyi-button-bg, #df6900) !important;
    color: var(--fyi-button-color, #fff) !important;
    font-size: var(--fyi-button-size, 15px) !important;
    font-weight: var(--fyi-button-weight, 700) !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    box-shadow: var(--fyi-button-shadow, 0 2px 0 rgba(126,56,0,.55)) !important;
}
