
/* Background in Container */

.background-container-wrapper {

    --border-radius: 15px;

    &.has-top {
        padding-top: var(--size-medium, 80px);
    }

    .background-wrapper {
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-radius: var(--border-radius);
        overflow: hidden;

        .background-container:not(.no-padding) {
            padding-left: var(--size-normal, 15px);
            padding-right: var(--size-normal, 15px);
        }

    }

    &.no-top .background-wrapper {
        border-top-left-radius: 0 !important;
        border-top-right-radius: 0 !important;
    }

}




/* Background */

.background-wrapper {
    display: block;
    position: relative;
    overflow: hidden;
    color: #fff;
    background-color: #000;
    padding-top: var(--theme-header-height, 80px);

    &:not(.no-pull) {
        margin-top: calc(-1 * var(--theme-header-height, 0px));
    }

    &.is-empty {
        color: #000;
        background-color: #fff;

        .background-container:not(.no-padding) {
            padding-top: var(--size-normal);
        }

        .banner-layer {
            display: none !important;
        }
    }

    &:not(.is-empty) {

        &.fullscreen {
            height: calc( 100svh );
        }

        &, & .background-container {
            min-height: 620px;
        }

        .background-container:not(.no-padding) {
            padding-top: var(--size-normal);
            padding-bottom: var(--size-normal);
        }

    }

    .background-container {
        height: 100%;
    }

    .background-slider {
        z-index: 5;
    }

}


.background-wrapper .background-slider .slide::after,
.background-wrapper:not(.no-after)::after {
    content: ' ';
    position: absolute;
    inset: 0;
    z-index: 3;
    opacity: 0.875;
    background: linear-gradient(0deg, var(--theme-header-background) 0%, rgba(0, 0, 0, 0) 100%);
}

.background-wrapper.is-empty .background-segment::after,
.background-wrapper.is-empty::after {
    display: none !important;
}



.background-segment:not(.no-before)::before,
.background-wrapper:not(.no-before)::before {
    content: ' ';
    position: absolute;
    inset: 0;
    z-index: 4;
    background-color: rgba( 0, 0, 0, 0.35 );
}

.background-wrapper.is-empty .background-segment::before,
.background-wrapper.is-empty::before {
    display: none !important;
}

.background-wrapper .container:not(.default) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 100%;
    z-index: 15;
}

.background-wrapper .container.is-end {
    justify-content: end;
}

.background-wrapper .background-section {
    width: 100%;
    margin: 0 auto;
    max-width: 100%;
}

.background-wrapper .background-section.max-width {
    width: 930px;
}



/* Background Slider */

.background-slider {
    position: absolute;
    inset: 0;
}


@media all and (max-width: 1399px) {


    .background-wrapper .background-section.max-width {
        width: 690px;
    }


}

@media all and (max-width: 575px) {


    .background-wrapper .container.is-end .background-section {
        padding-bottom: 15px;
    }


}





/* Background Table */

.background-wrapper .background-section table {
    width: auto;
    border: none !important;
    border-spacing: 0 !important;
    border-collapse: collapse !important;
}

.background-wrapper .background-section table td,
.background-wrapper .background-section table th {
    vertical-align: baseline;
    white-space: nowrap;
    padding: 0;
}

.background-wrapper .background-section table td:not(:last-child),
.background-wrapper .background-section table th:not(:last-child) {
    padding-right: 40px;
}
