One of the first things that sticks out is that you are trying to use postion:absolute, but you don't have the position of the parent container defined. In order for absolute positioning to work, the parent element must have a position other than the default static position.
You also seem to be using display:block in a bunch of places where it is either redunant (LI are already block elements) or not needed since you are displaying the menu items inline. Using diplay:block inserts a line break after the element you are displaying as a block.