:root { } *, ::before, ::after { margin: 0; padding: 0; } html { font-size: 16px; } body { height: 100vh; width: auto; box-sizing: border-box; } main { display: grid; grid-template-columns: 1fr 2fr; grid-template-rows: 1fr 2fr 1fr; } header { grid-column: 1/3; grid-row: 1/2; } footer { grid-column: 1/3; grid-row: 4/5; } nav { grid-column: 1/2; } section { grid-column: 2/3; }