Подскажите пожалуйста почему не выравнивает по центру родительского блока
<!DOCTYPE html>
<html>
<head>
<title>Свойство vertical-align.</title>
<style>
#container{
width: 400px;
height: 100px;
border: 1px solid black;
padding: 2px; /* Устанавливаем внутренний отступ */
margin: 0 auto; /* Размещщаем блок по центру */
}
#container:before{
display: inline-block;
height: 100%;
vertical-align: middle;
content: "";
}
#small, #big{
border: 1px solid red;
display: inline-block;
width: 50px;
height: 50px;
margin: 2px;
vertical-align: middle;
text-align: center;
}
#big{
font-size:42px;
}
</style>
</head>
<body>
<div id="container">
<div id="small"></div>
<div id="big"></div>
</div>
</body>
</html>