There was no need to refactor. Just removing the margin-top attributes was enough, plus make #bodyblock position: relative.
If Moz/NS and IE render different box models, it is because you're not using a strict doctype. Closing the tags I mentioned in my last post will make the code valid xhtml 1.0, so you can use a strict doctype. IE6 will then behave itself
in re the box model.
Your contacts block is not semantically a list, it is an address. You should not use the list element to implement a layout detail. More correctly, the block belongs within the <address> </address> tags. This is one of the few times that the <br /> tag is appropriate.
It is key to (x)html, especially as everything moves toward xml, that the html tags describe
what the element is, while style rules describe
how the element is displayed.
It is not necessary to declare background and color properties if the parent's properties are OK since these are inherited. However, if one is specified, both should be specified (a sanity saver).
I cannot recommend highly enough
/*PIE*/ for everything you ever wanted to know about CSS positioning.
cheers,
gary