body,
html {
    height: 100%;
}

#page-content {
    flex: 1 0 auto;
}

#footer {
    flex-shrink: 0;
}