Now that flexbox support is increasing, this CSS applied to the containing element would vertically center the contained item:
.container {
display: flex;
align-items: center;
}
Use the prefixed version if you also need to target Explorer 10, and old (< 4.4) Android browsers:
.container {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-align: center;
-webkit-align-items: center;
-webkit-box-align: center;
align-items: center;
}