/* Design idea from here https://mo.rijndael.cc/ */ body { display: flex; flex-wrap: wrap; margin: 0; align-items: flex-start; padding: 10px; } header, main, footer { margin: 5px; display: flex; flex-direction: column; gap: 10px; } header, footer { flex: 2; } main { flex: 3; } div { text-align: left; box-shadow: 5px 5px 0 0 lightgrey; box-sizing: border-box; border: 1px solid; width: 100%; padding-left: 10px; padding-right: 10px; } h1 { text-align: center; box-sizing: border-box; border-top: 1px solid; border-bottom: 1px solid; } @media (max-width: 1200px) { header, footer, main { flex: 1 100%; } }