:root {
    --min-width-banner-short: 350;
    --max-width-banner-short: 1440;
}

.experience-layouts-banner_short {
    margin-bottom: 50px !important;
}

.banner-short-wrapper {
    max-width: 1440px;
    margin: 0 auto;
}

.banner-short-link {
    display: block;
    position: relative;
    height: 100%;
}

.banner-short-link,
.banner-short-link:hover,
.banner-short-link:visited,
.banner-short-link:link,
.banner-short-link:active {
    text-decoration: none !important;
    color: unset !important;
}

.no-link {
    cursor: default;
}

/* Desktop Configuration */
@media screen and (min-width: 600px) {
    .banner-short-wrapper {
        height: 234px;
    }

    .banner-short-image {
        height: 100%;
        width: 100%;
        object-fit: cover;
        object-position: var(--focal-point-x) var(--focal-point-y);
    }

    .banner-short-image-overlay-gradient {
        position: absolute;
        background-image: var(--desktop_linear_gradient_overlay, transparent);
        top: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
    }

    .banner-short-text-container {
        width: calc(var(--text_box_width, 50) * 1%);
    }

    .banner-short-text-container-width {
        width: 100%;
    }

    .banner-short-text-container-width.left-center,
    .banner-short-text-container-width.middle-center,
    .banner-short-text-container-width.right-center {
        margin: 0 auto;
    }

    .banner-short-text-container.banner-short-left-top {
        position: absolute;
        top: calc(var(--text_box_absolute_top_or_bottom, 3%));
        left: calc(var(--text_box_absolute_left, 3%));
        text-align: var(--text_box_text_alignment_desktop, center);
    }

    .banner-short-text-container.banner-short-left-middle {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        left: calc(var(--text_box_absolute_left, 3%));
        text-align: var(--text_box_text_alignment_desktop, center);
    }

    .banner-short-text-container.banner-short-left-bottom {
        position: absolute;
        bottom: calc(var(--text_box_absolute_top_or_bottom, 3%));
        left: calc(var(--text_box_absolute_left, 3%));
        text-align: var(--text_box_text_alignment_desktop, center);
    }

    .banner-short-text-container.banner-short-center-top {
        position: absolute;
        top: calc(var(--text_box_absolute_top_or_bottom, 3%));
        left: 50%;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
        text-align: var(--text_box_text_alignment_desktop, center);
    }

    .banner-short-text-container.banner-short-center-middle {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        text-align: var(--text_box_text_alignment_desktop, center);
    }

    .banner-short-text-container.banner-short-center-bottom {
        position: absolute;
        bottom: calc(var(--text_box_absolute_top_or_bottom, 3%));
        left: 50%;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
        text-align: var(--text_box_text_alignment_desktop, center);
    }

    .banner-short-text-container.banner-short-right-top {
        position: absolute;
        top: calc(var(--text_box_absolute_top_or_bottom, 3%));
        right: calc(var(--text_box_absolute_right, 3%));
        text-align: var(--text_box_text_alignment_desktop, center);
    }

    .banner-short-text-container.banner-short-right-middle {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: calc(var(--text_box_absolute_right, 3%));
        text-align: var(--text_box_text_alignment_desktop, center);
    }

    .banner-short-text-container.banner-short-right-bottom {
        position: absolute;
        bottom: calc(var(--text_box_absolute_top_or_bottom, 3%));
        right: calc(var(--text_box_absolute_right, 3%));
        text-align: var(--text_box_text_alignment_desktop, center);
    }

    .banner-short-wrap.banner-short-wrap-heading {
        color: var(--heading_color_desktop);
    }
    
    .banner-short-wrap.banner-short-wrap-subheading {
        color: var(--subheading_color_desktop);
    }
}

/* Mobile Configuration */
@media screen and (max-width: 599px) {
    .banner-short-link {
        display: flex;
        flex-direction: column-reverse;
    }

    .banner-short-text-container {
        background-color: var(--mobile_background_color);
        padding: 5%;
    }

    .banner-short-text {
        text-align: var(--text_box_text_alignment_mobile, center);
    }

    .banner-short-wrap.banner-short-wrap-heading {
        color: var(--heading_color_mobile);
    }
    
    .banner-short-wrap.banner-short-wrap-subheading {
        color: var(--subheading_color_mobile);
    }
}


/* Ensure line height works properly by setting text span's to display block */
.banner-short-wrap {
    display: block;
}

.banner-short-text-heading {
    margin-bottom: var(--heading_margin_bottom, 0px);
}

.banner-short-wrap.banner-short-wrap-heading {
    font-weight: var(--heading_font_weight, 400);
    font-family: var(--heading_font_family), sans-serif;
}

.banner-short-wrap.banner-short-wrap-heading.italic {
    font-style: italic;
}

.banner-short-text-subheading {
    margin-bottom: var(--subheading_margin_bottom, 0px);
}

.banner-short-wrap.banner-short-wrap-subheading {
    font-weight: var(--subheading_font_weight, 400);
    font-family: var(--subheading_font_family), sans-serif;
}

.banner-short-wrap.banner-short-wrap-subheading.italic {
    font-style: italic;
}


/* SET MIN FONT SIZES */
.banner-short-wrap.banner-short-wrap-heading {
    font-size: calc(var(--heading_min_font_size, 16) * 1px);
    line-height: calc(var(--heading_min-font-line-height, 14) * 1px);
}
.banner-short-wrap.banner-short-wrap-subheading {
    font-size: calc(var(--subheading_min_font_size, 12) * 1px);
    line-height: calc(var(--subheading_min-font-line-height, 12) * 1px);
}

/* SCALE FONT SIZES */
@media screen and (min-width: 350px) {
    .banner-short-wrap.banner-short-wrap-heading {
        font-size: calc(
            var(--heading_min_font_size, 16) * 1px + (var(--heading_max_font_size, 45) - var(--heading_min_font_size, 16)) * ((100vw - var(--min-width-banner-short) * 1px) / (var(--max-width-banner-short) - var(--min-width-banner-short)))
        );
        line-height: calc(
            var(--heading_min_font_line_height, 14) * 1px + (var(--heading_max_font_line_height, 43) - var(--heading_min_font_line_height, 14)) *
                ((100vw - var(--min-width-banner-short) * 1px) / (var(--max-width-banner-short) - var(--min-width-banner-short)))
        );
    }

    .banner-short-wrap.banner-short-wrap-subheading {
        font-size: calc(
            var(--subheading_min_font_size, 12) * 1px + (var(--subheading_max_font_size, 19) - var(--subheading_min_font_size, 12)) *
                ((100vw - var(--min-width-banner-short) * 1px) / (var(--max-width-banner-short) - var(--min-width-banner-short)))
        );
        line-height: calc(
            var(--subheading_min_font_line_height, 2) * 1px + (var(--subheading_max_font_line_height, 6) - var(--subheading_min_font_line_height, 2)) *
                ((100vw - var(--min-width-banner-short) * 1px) / (var(--max-width-banner-short) - var(--min-width-banner-short)))
        );
    }
}

/* SET MAX FONT SIZES */
@media screen and (min-width: 1440px) {
    .banner-short-wrap.banner-short-wrap-heading {
        font-size: calc(var(--heading_max_font_size, 45) * 1px);
        line-height: calc(var(--heading_max_font_line_height, 43) * 1px);
    }

    .banner-short-wrap.banner-short-wrap-subheading {
        font-size: calc(var(--subheading_max_font_size, 19) * 1px);
        line-height: calc(var(--subheading_max_font_line_height, 6) * 1px);
    }
}


/* MOBILE FONT SIZES */
@media screen and (max-width: 599px) {
    .banner-short-wrap.banner-short-wrap-heading {
        font-size: calc(var(--heading_max_font_size, 45) * 1px);
        line-height: calc(var(--heading_max_font_line_height, 43) * 1px);
    }

    .banner-short-wrap.banner-short-wrap-subheading {
        font-size: calc(var(--subheading_max_font_size, 19) * 1px);
        line-height: calc(var(--subheading_max_font_line_height, 6) * 1px);
    }
}