This is actually a fault of IE6. The way he "understand" inline and block elements is weird. All HTML elements are either a block or an inline. In our menu we have inline element - links <a> and block elements as <div> and <li>.
For the second (sub) level of the menu we have two elements <div> and <a>. Applying display: block turn the <a> into a block element. So for the sub level we have two block elements, note that block elements will always start on a new line. IE 6 puts another line for the block of the <a> element in defiance of absolute position applied to the <div> that contain the links <a>. Don't ask me why...

The solution was to compensate this line break after the element by applying inline value (display: inline;) to the <li>. The code is:
#dd li {
margin: 0px;
padding: 0px;
list-style: none;
display: inline;
font: bold 11px arial;
}
---
ognen