.ce-element {
    --ce-carousel-margin-bottom: var(--ce-spacer);
}

.ce-type-grid-50-50 > .ce-header ,
.ce-type-grid-33-33-33 > .ce-header ,
.ce-type-grid-slickcarousel > .ce-header {
    margin-bottom: calc(var(--ce-spacer-inner) * 1.5);
}

.ce-type-grid-slickcarousel .ce-layout-quoteframe-inner > .ce-header {
    margin-bottom: var(--ce-spacer);
}

.ce-grid-fullwidth .ce-carousel.slick-initialized {
    margin-right: calc(-1 * var(--slick-carousel-padding));
    margin-left: calc(-1 * var(--slick-carousel-padding));
    margin-bottom: var(--ce-carousel-margin-bottom);
    padding-left: calc(var(--slick-carousel-padding) / 2);
    padding-right: calc(var(--slick-carousel-padding) / 2);
    padding-bottom: 0;
    overflow: visible;
}

.ce-grid-fullwidth .ce-layout-quoteframe {
    --slick-carousel-padding: var(--page-spacer);
}

.ce-grid-fullwidth .ce-carousel.slick-initialized .slick-dots {
    bottom: calc(-1 * var(--slick-dot-size) - var(--slick-dot-margin) * 1.5);
}

.ce-grid-fullwidth-bg>div>[class*=ce-type-grid-slick]:last-child {
    margin-bottom: calc(-1 * var(--ce-carousel-margin-bottom));
}

.ce-carousel.slick-initialized {
    --ce-carousel-padding:
    var(--page-spacer);
    --slick-carousel-padding:
    var(--ce-carousel-padding, var(--bs-gutter-x));
    margin: 0 calc(-1 * var(--ce-spacer)) calc(-1 * var(--slick-carousel-padding) / 2);
    margin: 0 calc(-1 * var(--page-spacer));
    /* padding-top: var(--slick-carousel-padding); */
    overflow: hidden;
}

.ce-carousel.slick-initialized .slick-list {
    margin-bottom: max(2.5rem, var(--ce-carousel-margin-bottom));
    /*! overflow: visible; */
}

.ce-carousel.slick-initialized .slick-track>div {
    padding: 0 var(--slick-carousel-padding);
    height: auto;
}

@media (min-width: 48rem) {

    .ce-type-grid-50-50 > .ce-header ,
    .ce-type-grid-33-33-33 > .ce-header ,
    .ce-type-grid-slickcarousel > .ce-header {
        margin-bottom: calc(var(--ce-spacer-inner) * 2);
    }

    .ce-carousel.slick-initialized {
        margin: calc(-1 * var(--slick-carousel-padding)) calc(-1 * var(--slick-carousel-padding) / 2) 0;
        margin-top: 0;
    }

    .ce-carousel.slick-initialized .slick-track>div {
        padding: 0 calc(var(--slick-carousel-padding) / 2);
        height: auto;
    }

    .ce-carousel.slick-initialized {
        --ce-carousel-padding: var(--bs-gutter-x);
    }

}

@media (min-width: 62rem) {

    .ce-grid-fullwidth .ce-layout-quoteframe .ce-carousel.slick-initialized {
        --slick-carousel-padding: calc(var(--page-spacer) * 2);
    }

}

.ce-carousel.slick-initialized .slick-arrow {
    display: none !important;
}

.ce-carousel.slick-initialized .slick-arrow {
    background-color: rgba(0, 0, 0, 0.25);
}

.ce-carousel.slick-initialized .slick-arrow::before {
    opacity: 1;
}

.ce-carousel.slick-initialized .slick-arrow:focus,
.ce-carousel.slick-initialized .slick-arrow:hover {
    background-color: rgba(0, 0, 0, 0.5);
}

.ce-carousel.slick-initialized .slick-dots {
    bottom: max(0.625rem, (var(--ce-carousel-margin-bottom, 2.5rem) - var(--slick-dot-size)) / 2);
}

.ce-carousel.slick-initialized .slick-track {
    display: flex;
}

.ce-carousel.slick-initialized .slick-slide {
    display: grid;
}

.ce-carousel.slick-initialized .ce-layout-box {
    display: grid;
    height: 100%;
}

.ce-carousel.slick-initialized .ce-layout-box-outer {
    display: grid;
}

.ce-carousel.slick-initialized .ce-layout-box-inner {
    display: flex;
    flex-direction: column;
}

.ce-carousel.slick-initialized .ce-teaser-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.ce-carousel.slick-initialized .ce-bodytext {
    flex-grow: 1;
}