body { display: flex; width: 100%; min-height: 100vh; flex-direction: column; } main { flex: 1 0 auto; } header, main, footer { padding-left: 300px; } @media only screen and (max-width : 992px) { header, main, footer { padding-left: 0; } }