main.css

html, body {
    width:100%;
    min-height:100%;
    padding:0;
    margin:0;
}

body {
    display: flex;
    flex-direction:column;
}

header {
    padding:8px;
    background: hsl(50, 100%, 50%);
    min-height: 40px;
}

footer {
    background: hsl(135, 100%, 50%);
    min-height: 100px;
}

main {
    flex: 1;
    background: hsl(215, 20%, 90%);
}