.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; }