HI, I don't know where exactly the shifting is though I notice you se ta bg on the body which is causing a 1px shift (probably) in IE. Read hte FAQ for more
Code:
body{
background-color: #fff;
background-image: url(/images/bg.png);
background-position: top left;
background-repeat:repeat-x;
font-family: tahoma;
font-size: 12px;
margin: 0px;
padding: 0px;
width: 99.8%;
}
Also I should tell you z-index only applies to elements that have a position set-aka position:relative;
Also on "#menu ul" your falling to IE6's double float margin bug where the horizontal margin set as the same direction as the float doubles the margin. Add display:inline; to fix it
Code:
#menu ul{
float: left;
list-style: none;
margin: 0;
display:inline;
padding: 0 0 0 0;
padding: 0px;
margin-left: 30px;/*would be 60 in IE6*/
}
.mainbox is also in need of display:inline; to fix the bug, along with h1#logo, , .widget-btn, .home-spot, .multi-address-checkout-box .legend, and .quick-access
I see you are setting display:table; (probably to contain floats maybe) but you should know that IE6/7 don't support that and that right there is a huge majority of the market.
On ".base-mini .product-images" I see you set float and absolute positioning. Remove the float as in conjunction with AP it does absolutely nothing. As defined by the specs
And one final thing. You set min-height but IE6 down don't support that so you need to set a CC (you have one, but the file was 404 for me

) and feed the height property to taht (IE6 treats that almost as min-height)
Bookmarks