Wow, that is a bit of a mess.
You try to position everything but your invalid way of doing it isn't working. top: 5; and height: 30; don't mean anything. You need some form of measurement there.
I would suggest validating this code first. See the links about validation in my signature line. There is a validator for CSS and one for markup.