vertical alignment in CSS is the hardest problem in computer science