.umb-block-grid__layout-container {
    position: relative;
    display: grid;
    grid-template-columns: repeat(var(--umb-block-grid--grid-columns, 1), minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-rows: minmax(50px, min-content);
    -moz-column-gap: var(--umb-block-grid--column-gap, 0);
    column-gap: var(--umb-block-grid--column-gap, 0);
    row-gap: var(--umb-block-grid--row-gap, 0);
}

.umb-block-grid__layout-container:has(>[data-content-element-type-alias="buttonCardBlock"]) {
    flex: 1;
    grid-template-rows: 1fr;
}

.umb-block-grid__layout-item {
    position: relative;
    /* For small devices we scale columnSpan by three, to make everything bigger than 1/3 take full width: */
    grid-column-end: span min(calc(var(--umb-block-grid--item-column-span, 1) * 3), var(--umb-block-grid--grid-columns));
    grid-row: span var(--umb-block-grid--item-row-span, 1);
}

.umb-block-grid__layout-item:has(>.container>hr) {
    height: 2.5rem;
    
    .container {
        hr {
            margin: 0;
        }   
    }
}

.umb-block-grid__layout-container:has(> .umb-block-grid__layout-item > .btn) {
    margin: auto;
}

.umb-block-grid__layout-item:has(> .btn) {
    align-self: center;
}

.umb-block-grid__layout-item img.image {
    max-width: 100%;
}

.umb-block-grid__area-container, .umb-block-grid__block--view::part(area-container) {
    position: relative;
    display: grid;
    grid-template-columns: repeat(var(--umb-block-grid--area-grid-columns, var(--umb-block-grid--grid-columns, 1)), minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-rows: minmax(50px, min-content);
    -moz-column-gap: var(--umb-block-grid--areas-column-gap, 0);
    column-gap: var(--umb-block-grid--areas-column-gap, 0);
    row-gap: var(--umb-block-grid--areas-row-gap, 0);
}

@media (max-width: 1023px) {
    .umb-block-grid__area-container {
        row-gap: 1rem;
    } 
}

.umb-block-grid__area {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    /* For small devices we scale columnSpan by three, to make everything bigger than 1/3 take full width: */
    grid-column-end: span min(calc(var(--umb-block-grid--area-column-span, 1) * 3), var(--umb-block-grid--area-grid-columns));
    grid-row: span var(--umb-block-grid--area-row-span, 1);
}

@media (min-width:1024px) {
    .umb-block-grid__layout-item {
        grid-column-end: span min(var(--umb-block-grid--item-column-span, 1), var(--umb-block-grid--grid-columns));
    }
    .umb-block-grid__area {
        grid-column-end: span min(var(--umb-block-grid--area-column-span, 1), var(--umb-block-grid--area-grid-columns));
    }
}

.umb-block-grid__area-container, .umb-block-grid__block--view::part(area-container) {
    max-width: var(--my-container-max-width);
    padding: var(--my-container-padding);
    margin-left: auto;
    margin-right: auto;
    --umb-block-grid--areas-column-gap: 0;
    --umb-block-grid--areas-row-gap: 0;
}

.no-block-layout-padding .umb-block-grid__area {
    padding: 0 !important;
}

.umb-block-grid__area {
    justify-content: start;
    padding: 0 12px;
}

.umb-block-grid__layout-item[data-content-element-type-alias="oneColumnLayoutBlock"] .umb-block-grid__layout-container {
    --umb-block-grid--column-gap: 60px;
    --umb-block-grid--row-gap: 60px;
}

[data-content-element-type-alias="button"] {
    display: flex;
    justify-content: center;
}

[data-content-element-type-alias="fourColumnLayout"] {
    [data-area-alias="col1"],
    [data-area-alias="col2"],
    [data-area-alias="col3"],
    [data-area-alias="col4"] {
        &> div {
            flex: 1;
            grid-template-rows: 1fr;
        }
    }
}


.top-banner-content > .row > div + div > .umb-block-grid__block--view::part(area-container) {
    max-width: 300px;
}