.carousel-slider-hero {
    // Cell background
    &__cell__background {
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        min-width: 100%;
        min-height: 100%;
        transition-property: transform;
        transition-duration: 10s;

        &.carousel-slider-hero-ken-out {
            transform: scale(1.3);
        }

        // Active Slide
        .carousel-slider .active & {
            animation-timing-function: linear;
            animation-duration: 20s;

            &.carousel-slider-hero-ken-in {
                transform: scale(1.3);
                animation-name: ken-burns-in;
            }

            &.carousel-slider-hero-ken-out {
                transform: scale(1);
                animation-name: ken-burns-out;
            }
        }
    }

    // Cell
    &__cell {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        overflow: hidden;
        height: 400px;

        &:focus {
            outline: 0;
        }
    }

    // Slide Inner
    &__cell__inner {
        background-repeat: no-repeat;
        background-position: center;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        padding: 50px;

        &, &:hover {
            color: white;
            display: flex;
        }
    }

    &__cell__background_overlay {
        position: absolute;
        z-index: 0;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }

    &__cell__content {
        position: relative;
        z-index: 1;
        width: 100%;
        max-width: 1140px;
    }

    &__cell__heading {
        font-size: 40px;
        font-weight: bold;
        line-height: 1;
    }

    &__cell__description {
        font-size: 20px;
        line-height: 1.4;
    }

    &__cell__heading:not(:last-child),
    &__cell__description:not(:last-child) {
        margin-bottom: 30px;
    }

    &__cell__button__one {
        margin-right: 5px;
    }
    &__cell__button__two {
        margin-left: 5px;
    }
    &__cell__button__one,
    &__cell__button__two {
        display: inline-flex;
    }
}

.carousel-slider-hero__cell__inner {
    &.carousel-slider--v-position {
        &-top {
            align-items: flex-start;
        }
        &-bottom {
            align-items: flex-end;
        }
        &-middle {
            align-items: center;
        }
    }

    &.carousel-slider--h-position {
        &-left {
            justify-content: flex-start;
        }
        &-right {
            justify-content: flex-end;
        }
        &-center {
            justify-content: center;
        }
    }

    &.carousel-slider--text {
        &-left {
            text-align: left;
        }
        &-right {
            text-align: right;
        }
        &-center {
            text-align: center;
        }
    }
}

@media (max-width: 767px) {
    .carousel-slider-hero__cell__inner {
        padding: 30px;
    }

    .carousel-slider-hero__cell__heading {
        font-size: 24px;
        line-height: 1;
        margin-bottom: 15px;
    }

    .carousel-slider-hero__cell__description {
        font-size: 14px;
        line-height: 1.4;
        margin-bottom: 15px;
    }
}
