the whole html is a mess, you gotta clean everything before even starting to search where the problem is. To make it worse, there are a lot of CSS definitions to elements that don't even exist in the page, as well as undefined elements that actually are there.
Maybe with the original source code you could fix it, but as it looks right now, it would take at least a couple hours just to clean the mess, let alone solve problems.
Anyway, try this:
1) delete everything you have and start again (of course make a backup)
2) HTML: place the amazon top widget in #leftcol, the #wrap center colum in #centercol and the #sidebar div in #rightcol. This is the code you'll need:
Code:
<div id="container">
<div id="leftcol">{AMAZON WIDGET GOES HERE}</div>
<div id="centercol">{WRAP DIV - CENTER COLUMN GOES HERE}</div>
<div id="rightcol">{SIDEBAR DIV GOES HERE}</div>
</div>
3) in your CSS sheet add this:
Code:
* {margin 0; padding:0}
#container{width:xxx px; margin: auto auto;}
#leftcol {width:xxx px; float:left}
#centercol {width:xxx px; float:left}
#rightcol {width:xxx px; float:left}
of course you need to replace xxx px for a numeric value (ie 900px) or a percentage (ie 100%). Just a note: IE doesn't like CSS, so be sure to check out since you'll need to make columns smaller to fit in the container (usually 2px less per colum, ie, for a 900px width container you'll need something like 198px / 498px / 198 px for 3 columns that in fact are 200 / 500 /200 pixels respectively.)
4) line breaks is your friend, don't be afraid to use them (if you use html tidy or stuff like that, get rid of it, it's just crap)
Hope this helps