I'd say the principal problem is that you are using absolute positioning for two elements, which removes them from the pageflow and makes them occupy no space. The page layout doesn't see them and acts as if they are not there.
Code:
#Layer1 {
position:absolute;
top:150px;
border-right-width: 0px;
border-right-style: solid;
border-right-color: #FF0000;
width:220px;
height:100%px;
padding: 1em;
background-color:;
z-index:3;
}
#mainImage {
position:absolute;
left:250px;
top:65px;
width:470px;
height:135px;
z-index:1;
}
#Layer3 {
border-right-width: 1px;
border-right-style: solid;
border-bottom-style: solid;
border-right-color: #FF0000;
border-bottom-color: #FF0000;
position: absolute;
height:250px;
width: 230px;
left: 495px;
top: 75px;
padding: 1em;
z-index:2;
}
#LinkFree {
border: thin solid #000000;
background-color: #FFCC00;
position: absolute;
width:250px;
left: 255px;
top: 330px;
padding: 1em;
z-index: 4;
}
.mainpagestyle1 {
font-size: 1.1em;
color: #FF0000;
font-weight: bold;
Also, you are missing the last closing },
and you have used HTML comments instead of CSS comments here:
Code:
.productListing-rowheading {
background-color: #abbbd3;
background-image: <!--url(../images/tile_back.gif)-->;
height: 2em;
color: #FFFFFF;
}
should be
Code:
.productListing-rowheading {
background-color: #abbbd3;
background-image: /*url(../images/tile_back.gif)*/ none;
height: 2em;
color: #FFFFFF;
}
It worked before because the error caused the line (or the whole rule for IE) to be ignored.