body { padding: 0; overflow-y: scroll; } #page { display: flex; flex-direction: column; min-height: 100vh; } #blob { position: absolute; z-index: -1; width: 75vw; min-width: 768px; top: 0; right: 0; transform: translate(35%, -25%); path { stroke-width: 0.8; } } main { flex: 1 0 auto; width: 100%; max-width: 1200px; margin: 3rem auto; } footer { flex-shrink: 0; } section { min-height: 80vh; margin-bottom: 4rem; } .row { display: flex; margin: 0 -1rem; //align-items: flex-start; &.columns-1 .column { width: 100%; } &.columns-2 .column { width: 50%; } .column { padding: 0 1rem; } } .item { margin-bottom: 2rem; } .items { display: flex; flex-wrap: wrap; .item { width: 340px; margin: 0 1rem 2rem; } }