:is( header, footer, nav, :is(main, article) > section:not(:is(section, header) :is(section, header)) ) { padding-inline-start: var(--grid-padding-start); padding-inline-end: calc( 100vw - (var(--grid-padding-start) + ( var(--grid-column-width) * var(--grid-column-count) + var(--grid-gutter-width) * (var(--grid-column-count) - 1) )) ); } .grid-span-1 { width: var(--grid-column-width); } .grid-span-2 { width: calc(var(--grid-column-width) * 2 + var(--grid-gutter-width)); } .grid-span-3 { width: calc(var(--grid-column-width) * 3 + var(--grid-gutter-width) * 2); } .grid-span-6 { width: calc( var(--grid-column-width) * min(6, var(--grid-column-count)) + var(--grid-gutter-width) * min(5, (var(--grid-column-count) - 1)) ); } .grid-span-full { width: calc( var(--grid-column-width) * var(--grid-column-count) + var(--grid-gutter-width) * (var(--grid-column-count) - 1) ) } .grid-span-1.grid-end { margin-inline-start: calc( var(--grid-column-width) * (var(--grid-column-count) - 1) + var(--grid-gutter-width) * (var(--grid-column-count) - 1) ); margin-inline-end: 0; } .grid-span-2.grid-end { margin-inline-start: calc( var(--grid-column-width) * (var(--grid-column-count) - 2) + var(--grid-gutter-width) * (var(--grid-column-count) - 2) ); margin-inline-end: 0; } .grid-span-3.grid-end { margin-inline-start: calc( var(--grid-column-width) * (var(--grid-column-count) - 3) + var(--grid-gutter-width) * (var(--grid-column-count) - 3) ); margin-inline-end: 0; }