display: flex;
height: 100%;
align-items: center;
justify-content: center;
display: inline-block;
Advantages:
minimal code
responsive: %, min-max width & height, resizable popup
no need of box-sizing for paddings
Caveats:
ie10+
wrapper required