Whoa....that's a lot of absolute positioning. You can get yourself in real trouble with that, as you've found out. But it's easy enough to fix.
Surround your entire page in another div, let's call it container for illustration purposes.
Then, add this to your CSS:
... everything between the <body></body> tags goes here
You'll need to redo all of you absolute positioning, though. Because you want it to be positioned in relation to the centered div, not the browser. The absolute positioning relative to the container div will be the same in all browsers.
width: 800px; // width of your design