It's there because you are using float to position #header, #main and #right.
I have done some changes, and this layout looks much better. Also, don't force me to have a document of 1200px wide, when my screen only has 1024px capacity. So I took the liberty to make your layout "liquid".
Only the changed CSS code is below:
css Code:
#header, #main, #right {style.css (line 7)
border:2px solid #333333;
float:none;
margin:0px;
padding:0px;
}
#right {style.css (line 33)
background:#FFF428 none repeat scroll 0%;
color:#333333;
margin:0px;
padding:0px;
position:absolute;
right:0px;
top:10px;
width:210px;
z-index:3;
}
#main {style.css (line 24)
background:#FFFFFF none repeat scroll 0%;
color:#333333;
margin:10px 220px 10px 10px;
padding:20px;
width:auto;
z-index:1;
}
#header {style.css (line 13)
background:#FFFFFF none repeat scroll 0%;
color:#333333;
margin:10px 220px 10px 10px;
padding:0px 0px 0px 40px;
width:auto;
z-index:2;
}
Of course, some CSS optimization would be needed, but this will do the trick. Just try it out, and let me know what you think of it.
ps: despite what jfulton said, I added the absolute positioning again for #right
edit: I see now that this CSS is not far from your original code
