Задача для верстальщиков. Выравнивание по вертикали
Задайте height в 100% и все будет ок.)))
body {background: #2c3e50;}
div {
    height:100%;
  padding-top: calc(50% - 25px);
  height: 50px;
  width: 50px;
  margin: 0 auto;
}
padding-top считается по ширине (если задан в относительных еденицах) так же как padding-left по высоте. Это к слову единственный способ сделать резиновые примитивы (квадраты, круги, прямоугольники).