It feels like it should be a simple task but it's easy to tie yourself in knots if you don't know any good tricks for vertical centering. Jake Archibald has two neat ways for vertically centering things in CSS.
Here's his method for modern browsers, as hosted on the collaborative code pastebin JsBin: