This is an old post. Maybe it will help someone.
body { display: flex; flex-flow: column; min-height: 100vh; margin: 0; padding: 0; } main { flex: 1; } .footer { width: 100%; }