.has-s1-rc-columns {
    --s1-rc-gap-x-active: var(--s1-rc-gap-x-desktop, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem)));
    --s1-rc-gap-y-active: var(--s1-rc-gap-y-desktop, var(--s1-rc-gap-y, var(--s1-rc-gap-x-active)));
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .wp-block-spacer.has-s1-rc-spacer-height-tablet {
        height: var(--s1-rc-spacer-height-tablet) !important;
    }
}

@media (max-width: 767.98px) {
    .wp-block-spacer.has-s1-rc-spacer-height-mobile {
        height: var(--s1-rc-spacer-height-mobile) !important;
    }
}

.wp-block-columns.has-s1-rc-columns,
.wp-block-post-template.is-layout-grid.has-s1-rc-columns:not(.has-s1-rc-masonry) {
    column-gap: var(--s1-rc-gap-x-active);
    row-gap: var(--s1-rc-gap-y-active);
}

.wp-block-gallery.has-s1-rc-columns {
    --wp--style--unstable-gallery-gap: var(--s1-rc-gap-x-active);
    --s1-rc-gallery-columns-active: var(--s1-rc-gallery-columns-desktop, 3);
}

.wp-block-gallery.has-s1-rc-columns:not(.has-nested-images),
.wp-block-gallery.has-s1-rc-columns.has-nested-images {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: var(--s1-rc-gap-x-active) !important;
}

.wp-block-gallery.has-s1-rc-columns:not(.has-nested-images) .blocks-gallery-image,
.wp-block-gallery.has-s1-rc-columns:not(.has-nested-images) .blocks-gallery-item,
.wp-block-gallery.has-s1-rc-columns.has-nested-images figure.wp-block-image:not(#individual-image) {
    flex-basis: calc((100% - (var(--s1-rc-gap-x-active) * (var(--s1-rc-gallery-columns-active) - 1))) / var(--s1-rc-gallery-columns-active)) !important;
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    width: calc((100% - (var(--s1-rc-gap-x-active) * (var(--s1-rc-gallery-columns-active) - 1))) / var(--s1-rc-gallery-columns-active)) !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

@media (max-width: 1199.98px) {
    .wp-block-columns.has-s1-rc-columns:not(.has-s1-rc-custom-widths),
    .wp-block-post-template.is-layout-grid.has-s1-rc-columns:not(.has-s1-rc-masonry) {
        display: grid !important;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .wp-block-columns.has-s1-rc-columns:not(.has-s1-rc-custom-widths),
    .wp-block-post-template.is-layout-grid.has-s1-rc-columns:not(.has-s1-rc-masonry) {
        --s1-rc-gap-x-active: var(--s1-rc-gap-x-mobile-landscape, var(--s1-rc-gap-x-desktop, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem))));
        --s1-rc-gap-y-active: var(--s1-rc-gap-y-mobile-landscape, var(--s1-rc-gap-y-desktop, var(--s1-rc-gap-y, var(--s1-rc-gap-x-active))));
        grid-template-columns: repeat(var(--s1-rc-columns-mobile-landscape, 1), 1fr);
        column-gap: var(--s1-rc-gap-x-active);
        row-gap: var(--s1-rc-gap-y-active);
    }

    .wp-block-gallery.has-s1-rc-columns {
        --s1-rc-gap-x-active: var(--s1-rc-gap-x-mobile-landscape, var(--s1-rc-gap-x-desktop, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem))));
        --s1-rc-gallery-columns-active: var(--s1-rc-columns-mobile-landscape, 1);
        --wp--style--unstable-gallery-gap: var(--s1-rc-gap-x-active);
    }

    .wp-block-gallery.has-s1-rc-columns:not(.has-nested-images),
    .wp-block-gallery.has-s1-rc-columns.has-nested-images {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: var(--s1-rc-gap-x-active) !important;
    }

    .wp-block-gallery.has-s1-rc-columns:not(.has-nested-images) .blocks-gallery-image,
    .wp-block-gallery.has-s1-rc-columns:not(.has-nested-images) .blocks-gallery-item,
    .wp-block-gallery.has-s1-rc-columns.has-nested-images figure.wp-block-image:not(#individual-image) {
        flex-basis: calc((100% - (var(--s1-rc-gap-x-active) * (var(--s1-rc-gallery-columns-active) - 1))) / var(--s1-rc-gallery-columns-active)) !important;
        flex-grow: 1 !important;
        flex-shrink: 1 !important;
        width: calc((100% - (var(--s1-rc-gap-x-active) * (var(--s1-rc-gallery-columns-active) - 1))) / var(--s1-rc-gallery-columns-active)) !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        column-gap: 0 !important;
        width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        max-width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        min-width: 0 !important;
        margin-left: calc(var(--s1-rc-gap-x-active) / -2) !important;
        margin-right: calc(var(--s1-rc-gap-x-active) / -2) !important;
        row-gap: var(--s1-rc-gap-y-active) !important;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: calc(var(--s1-rc-gap-x-active) / 2) !important;
        padding-right: calc(var(--s1-rc-gap-x-active) / 2) !important;
        min-width: 0;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-width-mobile-landscape {
        flex: 0 0 var(--s1-rc-column-width-mobile-landscape) !important;
        width: var(--s1-rc-column-width-mobile-landscape) !important;
        max-width: var(--s1-rc-column-width-mobile-landscape) !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-order-mobile-landscape {
        order: var(--s1-rc-column-order-mobile-landscape) !important;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .wp-block-columns.has-s1-rc-columns:not(.has-s1-rc-custom-widths),
    .wp-block-post-template.is-layout-grid.has-s1-rc-columns:not(.has-s1-rc-masonry) {
        --s1-rc-gap-x-active: var(--s1-rc-gap-x-tablet-portrait, var(--s1-rc-gap-x-desktop, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem))));
        --s1-rc-gap-y-active: var(--s1-rc-gap-y-tablet-portrait, var(--s1-rc-gap-y-desktop, var(--s1-rc-gap-y, var(--s1-rc-gap-x-active))));
        grid-template-columns: repeat(var(--s1-rc-columns-tablet-portrait, var(--wp--columns, 2)), 1fr);
        column-gap: var(--s1-rc-gap-x-active);
        row-gap: var(--s1-rc-gap-y-active);
    }

    .wp-block-gallery.has-s1-rc-columns {
        --s1-rc-gap-x-active: var(--s1-rc-gap-x-tablet-portrait, var(--s1-rc-gap-x-desktop, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem))));
        --s1-rc-gallery-columns-active: var(--s1-rc-columns-tablet-portrait, 2);
        --wp--style--unstable-gallery-gap: var(--s1-rc-gap-x-active);
    }

    .wp-block-gallery.has-s1-rc-columns:not(.has-nested-images),
    .wp-block-gallery.has-s1-rc-columns.has-nested-images {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: var(--s1-rc-gap-x-active) !important;
    }

    .wp-block-gallery.has-s1-rc-columns:not(.has-nested-images) .blocks-gallery-image,
    .wp-block-gallery.has-s1-rc-columns:not(.has-nested-images) .blocks-gallery-item,
    .wp-block-gallery.has-s1-rc-columns.has-nested-images figure.wp-block-image:not(#individual-image) {
        flex-basis: calc((100% - (var(--s1-rc-gap-x-active) * (var(--s1-rc-gallery-columns-active) - 1))) / var(--s1-rc-gallery-columns-active)) !important;
        flex-grow: 1 !important;
        flex-shrink: 1 !important;
        width: calc((100% - (var(--s1-rc-gap-x-active) * (var(--s1-rc-gallery-columns-active) - 1))) / var(--s1-rc-gallery-columns-active)) !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        column-gap: 0 !important;
        width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        max-width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        min-width: 0 !important;
        margin-left: calc(var(--s1-rc-gap-x-active) / -2) !important;
        margin-right: calc(var(--s1-rc-gap-x-active) / -2) !important;
        row-gap: var(--s1-rc-gap-y-active) !important;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column {
        padding-left: calc(var(--s1-rc-gap-x-active) / 2) !important;
        padding-right: calc(var(--s1-rc-gap-x-active) / 2) !important;
        min-width: 0;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-width-tablet-portrait {
        flex: 0 0 var(--s1-rc-column-width-tablet-portrait) !important;
        width: var(--s1-rc-column-width-tablet-portrait) !important;
        max-width: var(--s1-rc-column-width-tablet-portrait) !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-order-tablet-portrait {
        order: var(--s1-rc-column-order-tablet-portrait) !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .wp-block-columns.has-s1-rc-columns:not(.has-s1-rc-custom-widths),
    .wp-block-post-template.is-layout-grid.has-s1-rc-columns:not(.has-s1-rc-masonry) {
        --s1-rc-gap-x-active: var(--s1-rc-gap-x-tablet-landscape, var(--s1-rc-gap-x-desktop, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem))));
        --s1-rc-gap-y-active: var(--s1-rc-gap-y-tablet-landscape, var(--s1-rc-gap-y-desktop, var(--s1-rc-gap-y, var(--s1-rc-gap-x-active))));
        grid-template-columns: repeat(var(--s1-rc-columns-tablet-landscape, var(--wp--columns, 2)), 1fr);
        column-gap: var(--s1-rc-gap-x-active);
        row-gap: var(--s1-rc-gap-y-active);
    }

    .wp-block-gallery.has-s1-rc-columns {
        --s1-rc-gap-x-active: var(--s1-rc-gap-x-tablet-landscape, var(--s1-rc-gap-x-desktop, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem))));
        --s1-rc-gallery-columns-active: var(--s1-rc-columns-tablet-landscape, 2);
        --wp--style--unstable-gallery-gap: var(--s1-rc-gap-x-active);
    }

    .wp-block-gallery.has-s1-rc-columns:not(.has-nested-images),
    .wp-block-gallery.has-s1-rc-columns.has-nested-images {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: var(--s1-rc-gap-x-active) !important;
    }

    .wp-block-gallery.has-s1-rc-columns:not(.has-nested-images) .blocks-gallery-image,
    .wp-block-gallery.has-s1-rc-columns:not(.has-nested-images) .blocks-gallery-item,
    .wp-block-gallery.has-s1-rc-columns.has-nested-images figure.wp-block-image:not(#individual-image) {
        flex-basis: calc((100% - (var(--s1-rc-gap-x-active) * (var(--s1-rc-gallery-columns-active) - 1))) / var(--s1-rc-gallery-columns-active)) !important;
        flex-grow: 1 !important;
        flex-shrink: 1 !important;
        width: calc((100% - (var(--s1-rc-gap-x-active) * (var(--s1-rc-gallery-columns-active) - 1))) / var(--s1-rc-gallery-columns-active)) !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        column-gap: 0 !important;
        width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        max-width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        min-width: 0 !important;
        margin-left: calc(var(--s1-rc-gap-x-active) / -2) !important;
        margin-right: calc(var(--s1-rc-gap-x-active) / -2) !important;
        row-gap: var(--s1-rc-gap-y-active) !important;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column {
        padding-left: calc(var(--s1-rc-gap-x-active) / 2) !important;
        padding-right: calc(var(--s1-rc-gap-x-active) / 2) !important;
        min-width: 0;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-width-tablet-landscape {
        flex: 0 0 var(--s1-rc-column-width-tablet-landscape) !important;
        width: var(--s1-rc-column-width-tablet-landscape) !important;
        max-width: var(--s1-rc-column-width-tablet-landscape) !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-order-tablet-landscape {
        order: var(--s1-rc-column-order-tablet-landscape) !important;
    }
}

@media (max-width: 575.98px) {
    .wp-block-columns.has-s1-rc-columns:not(.has-s1-rc-custom-widths),
    .wp-block-post-template.is-layout-grid.has-s1-rc-columns:not(.has-s1-rc-masonry) {
        --s1-rc-gap-x-active: var(--s1-rc-gap-x-mobile-portrait, var(--s1-rc-gap-x-desktop, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem))));
        --s1-rc-gap-y-active: var(--s1-rc-gap-y-mobile-portrait, var(--s1-rc-gap-y-desktop, var(--s1-rc-gap-y, var(--s1-rc-gap-x-active))));
        grid-template-columns: repeat(var(--s1-rc-columns-mobile-portrait, 1), 1fr);
        column-gap: var(--s1-rc-gap-x-active);
        row-gap: var(--s1-rc-gap-y-active);
    }

    .wp-block-gallery.has-s1-rc-columns {
        --s1-rc-gap-x-active: var(--s1-rc-gap-x-mobile-portrait, var(--s1-rc-gap-x-desktop, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem))));
        --s1-rc-gallery-columns-active: var(--s1-rc-columns-mobile-portrait, 1);
        --wp--style--unstable-gallery-gap: var(--s1-rc-gap-x-active);
    }

    .wp-block-gallery.has-s1-rc-columns:not(.has-nested-images),
    .wp-block-gallery.has-s1-rc-columns.has-nested-images {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: var(--s1-rc-gap-x-active) !important;
    }

    .wp-block-gallery.has-s1-rc-columns:not(.has-nested-images) .blocks-gallery-image,
    .wp-block-gallery.has-s1-rc-columns:not(.has-nested-images) .blocks-gallery-item,
    .wp-block-gallery.has-s1-rc-columns.has-nested-images figure.wp-block-image:not(#individual-image) {
        flex-basis: calc((100% - (var(--s1-rc-gap-x-active) * (var(--s1-rc-gallery-columns-active) - 1))) / var(--s1-rc-gallery-columns-active)) !important;
        flex-grow: 1 !important;
        flex-shrink: 1 !important;
        width: calc((100% - (var(--s1-rc-gap-x-active) * (var(--s1-rc-gallery-columns-active) - 1))) / var(--s1-rc-gallery-columns-active)) !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        column-gap: 0 !important;
        width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        max-width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        min-width: 0 !important;
        margin-left: calc(var(--s1-rc-gap-x-active) / -2) !important;
        margin-right: calc(var(--s1-rc-gap-x-active) / -2) !important;
        row-gap: var(--s1-rc-gap-y-active) !important;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: calc(var(--s1-rc-gap-x-active) / 2) !important;
        padding-right: calc(var(--s1-rc-gap-x-active) / 2) !important;
        min-width: 0;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-width-mobile-portrait {
        flex: 0 0 var(--s1-rc-column-width-mobile-portrait) !important;
        width: var(--s1-rc-column-width-mobile-portrait) !important;
        max-width: var(--s1-rc-column-width-mobile-portrait) !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-order-mobile-portrait {
        order: var(--s1-rc-column-order-mobile-portrait) !important;
    }
}

.wp-block-post-template.is-layout-grid.has-s1-rc-columns.has-s1-rc-query-auto-fit:not(.has-s1-rc-masonry) {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(min(var(--s1-rc-query-min-width, 12rem), 100%), 1fr));
    column-gap: var(--s1-rc-gap-x-active);
    row-gap: var(--s1-rc-gap-y-active);
}
