.grid-layer { display: grid; font-size: 16px; grid-template-columns: [start]auto[middle]25%[end]; grid-template-rows: [start]7em[middle]auto[end]; } %flex-grid-layer { display: flex; flex-direction: column; align-items: stretch; } .grid-layer-main { @extend %flex-grid-layer; grid-column-start: start; grid-column-end: end; grid-row-start: start; grid-row-end: end; } .grid-layer-links { @extend %flex-grid-layer; grid-column-start: middle; grid-column-end: end; grid-row-start: start; grid-row-end: middle; } .containerH { display: flex; flex-wrap: wrap; } .containerV { display: flex; flex-direction: column; align-items: stretch; } .grow { flex-grow: 1; flex-shrink: 1; } .fix { flex-grow: 0; flex-shrink: 0; } .containerCenter { justify-content: center; align-items: center; } .reverse { flex-direction: row-reverse; } .row { display: flex; max-width: 100%; } .content { flex-direction: row; height: 100%; overflow: hidden; } .col { min-width: 0; }