body { background: rgb(150, 171, 194); font-family: Arial, Helvetica, sans-serif; color: darkslategrey; margin: 0; } #mainContainer { display: flex; flex-direction: column; max-width: 800px; margin: auto; height: 100%; } #mainContainer > div { background: slategrey; /* width: 100%; */ box-sizing: border-box; flex-shrink: 0; align-items: stretch; } #header { padding: 1em 0 1em 2em; } #body img { width: 100%; } #footer { padding: 1em 0 1em 2em; flex-grow: 1; } h1 { color: midnightblue; }