.page { display: grid; grid-auto-flow: dense; grid-gap: var(--space-xs); grid-template-columns: 1fr; max-width: 1200px; margin: var(--space-xs) var(--space-xs) 0; } .page__logo { display: flex; font-size: 0; justify-content: center; } .page__banner { display: none; position: relative; } .page__pagination { display: flex; justify-content: center; } @media (--viewport-sm) { .page { grid-template-columns: 112px 1fr; grid-template-rows: 112px 1fr; grid-gap: var(--space-sm); grid-auto-rows: auto; margin: var(--space-sm) var(--space-sm) 0; } .page__banner { display: block; grid-column: 2 / -1; grid-row-start: 1; } .page__content, .page__article, .page__comments, .page__metadata, .page__pagination, .page__footer { grid-column: 1 / -1; } } @media (--viewport-md) { .page { grid-gap: var(--space-md); margin: var(--space-md) var(--space-md) 0; } .page__content, .page__article.is-first { grid-row: 2 / span 2; } } @media (--viewport-lg) { .page { grid-template-columns: 168px 1fr; grid-template-rows: 32px 106px 1fr; } .page__logo { grid-row: span 2; } .page__content, .page__article, .page__comments { grid-column: 2 / -1; } .page__metadata { grid-column: 1; } } @media (--viewport-xl) { .page { grid-template-columns: 224px 1fr; grid-template-rows: 56px 138px 1fr; } .page__columns { display: flex; flex-flow: row wrap; margin: 0 calc(var(--space-md) / 2 * -1); } .page__cell { display: flex; flex-flow: column nowrap; flex: 1 0 50%; padding: 0 calc(var(--space-md) / 2); } }