Dan's fix will probably temporarily fix your display, but the problem is in your css that is full of hacks. IE's box model has been fixed in IE6, which has been around since 2001.
I stripped your code of all most unnecessary stuff and the page displays the same in both browsers. Here are a few pointers on how to do it right:
1. Create a valid standard css that should work in all browsers and test it. If it fails in some, double check that everything is ok and if it really is, look online if the difference you're experiencing is documented somewhere. If it is not, and you find no other workaround, ONLY then employ a hack to deliver different styling to IE and others.
2. Never, NEVER, absolutely NEVER, stick elements that are bigger inside containers that are smaller -- while this would be perfectly acceptable in standards compliant browsers, because a child can hang over the parent, if you're looking for browser compatibility, you cannot afford yourself to do that.
3. Don't float what doesn't need to be floated and don't clear when there's nothing to clear.