@media screen and (max-width: 700px) { .page { flex-direction: column; } } @media screen and (max-width: 400px) { #main a { float: none; width: 100%; } } body { background-color: black; font-family: sans-serif; margin: 0; display: flex; flex-direction: column; } a { color: #4da6ff; } blockquote { border-left: 5px solid #222; padding-left: 10px; } .header { padding: 10px; text-align: center; background: #1a406b; color: lightgray; } .header h1 { font-size: 40px; } #main { overflow: hidden; background-color: #222; } #main a { float: left; display: block; color: lightgray; text-align: center; padding: 14px 20px; text-decoration: none; } #main a:hover { background-color: #444; color: white; } * { box-sizing: border-box; } .page { flex: 1; display: flex; flex-wrap: wrap; } .side { width: 20%; background-color: #111; color: lightgray; padding: 20px; } .main { width: 80%; background-color: black; color: lightgray; padding: 20px; } .footer { padding: 20px; text-align: center; background: #ddd; }