you have applied a padding to the list item. Normaly the width of the padding is not calculated to the overall width. This leads to the undesired break in the elements.
Like it say 5 times a day: set it to border-box
*
{
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}