.wrapper {
    min-height: 100%;
    height: 100%;
    margin: 100 auto -120px; /* the bottom margin is the negative value of the footer's height */
}
.footer, .push {
    height: 40px; /* .push must be the same height as .footer */
}

.vcenter {
   display: flex;
   align-items: center;
}
