.ce-grid-container {
    --grid-layout-gap: var(--bs-gutter-x);
    --gap-count: calc(var(--grid-column-count) - 1);
    --total-gap-width: calc(var(--gap-count) * var(--grid-layout-gap));
    --grid-item--max-width: calc((100% - var(--total-gap-width)) / var(--grid-column-count));
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item--min-width), var(--grid-item--max-width)), 1fr));
    gap: var(--grid-layout-gap);
    margin-bottom: var(--ce-spacer);
}

.ce-grid-container .ce-element {
    margin-bottom: 0;
}

.ce-grid-container.ce-grid-equal-height-children>[class*=ce-type-teaser] {
    display: grid;
    grid-template-columns: auto;
}

.ce-grid-container.ce-grid-equal-height-children>[class*=ce-type-teaser]>[class*=ce-layout] {
    display: grid;
    grid-template-columns: auto;
}

.ce-grid-container.ce-grid-equal-height-children .ce-layout-box-outer {
    display: grid;
}

.ce-grid-container.ce-grid-equal-height-children .ce-layout-box-inner {
    display: flex;
    flex-direction: column;
}

.ce-grid-container.ce-grid-equal-height-children .ce-teaser-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.ce-grid-container.ce-grid-equal-height-children .ce-bodytext {
    flex-grow: 1;
}