.grid {
    display: grid;
    grid-gap: var(--spacing);
    min-width: 0;
}

/* Editor styling */
.fr-view .grid {
    grid-gap: 0.5rem;
}

.fr-view .grid>* {
    outline: rgba(0, 0, 0, 0.05) 1px dashed;
    padding: 0.5rem;
}

.grid.no-gap {
    grid-gap: 0;
}

.grid.small-gap {
    grid-gap: var(--inner-spacing);
}

.grid.two-columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.grid.three-columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}

.grid.four-columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}

.grid.five-columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}

.grid.six-columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}

.grid.columns {
    grid-template-columns: min-content;
}

/* a|bbb */
.grid.two-columns.one-quarter-left {
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
}

/* aaa|b */
.grid.two-columns.three-quarters-left {
    grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
}

/* a|bb */
.grid.two-columns.one-third-left {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}

/* aa|b */
.grid.two-columns.two-thirds-left {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}

/* a|bbbbbb */
.grid.two-columns.one-sixth-left {
    grid-template-columns: 1fr 5fr;
}

/* a|bb|c */
.grid.three-columns.big-centre {
    grid-template-columns: 1fr 50% 1fr;
}

.grid.three-columns.one-half-left {
    grid-template-columns: minmax(0, 50%) minmax(0, 1fr) minmax(0, 1fr);
}

.grid.two-rows {
    grid-template-rows: 1fr 1fr;
}

.grid.three-rows {
    grid-template-rows: 1fr 1fr 1fr;
}

.grid.four-rows {
    grid-template-rows: 1fr 1fr 1fr 1fr;
}

.grid.rows {
    grid-template-rows: min-content;
}

.grid.two-rows.one-quarter-top {
    grid-template-rows: 1fr 3fr
}

.grid.two-rows.three-quarters-top {
    grid-template-rows: 3fr 1fr;
}

.grid.two-rows.one-third-top {
    grid-template-rows: 1fr 2fr;
}

.grid.two-rows.two-thirds-top {
    grid-template-rows: 2fr 1fr;
}

.grid.three-rows.big-centre {
    grid-template-rows: 1fr 50% 1fr;
}

@media (max-width: 768px) {

    .grid.two-columns,
    .grid.three-columns,
    .grid.four-columns,
    .grid.five-columns,
    .grid.six-columns,
    .grid.two-columns.one-quarter-left,
    .grid.two-columns.three-quarters-left,
    .grid.two-columns.one-third-left,
    .grid.two-columns.two-thirds-left,
    .grid.two-columns.one-sixth-left,
    .grid.three-columns.big-centre,
    .grid.three-columns.one-half-left {
        grid-template-columns: minmax(0, 1fr);
    }

    .grid.two-rows,
    .grid.three-rows,
    .grid.four-rows,
    .grid.two-rows.one-quarter-top,
    .grid.two-rows.three-quarters-top,
    .grid.two-rows.one-third-top,
    .grid.two-rows.two-thirds-top,
    .grid.three-rows.big-centre {
        grid-template-rows: minmax(0, 1fr);
    }
}