body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.container {
    flex: 1; /* This will make sure it takes up all the available space, pushing the footer down */
}