/* 1rem = 16px by default */ .page { max-width: 64rem; margin: 1rem auto; display: grid; grid-template-areas: "header" "body" "aside"; grid-template-columns: minmax(0, 1fr); grid-row-gap: 2rem; } @media (min-width: 45rem) { .page { grid-template-areas: "header header" "body aside"; grid-template-columns: minmax(0, 1fr) 15rem; grid-column-gap: 2rem; } } /* Header */ .page__header { grid-area: header; display: flex; } .page__logo { flex-shrink: 0; } .page__nav { flex-grow: 1; } /* Body + aside */ .page__body { padding: 20px; border: 0.5px solid white; grid-area: body; background-color: rgba(0, 0, 0, 0.4); overflow-wrap: break-word; } .page__aside { grid-area: aside; color: var(--bright-bg); }