do not vertical align icons.
as they are all different height, the constant align offset doesn't make sense. and as vertical-align:middle doesn't seem to work with ::before pseudo elements, it's better left out.