The element in the right column is larger than the space available and therefore the float drops. The right column is sized in ems but your element is in pixels so you must make sure that you have enough space for it.
e.g.In the IE only stylesheet make these changes.
Or perhaps instead you could hide the overflow but you may get clipped content.
/* reserves space for the left and right columns. you can use either
* padding, margins, or borders, depending on your needs. however you
* can use the border method to create a background color for both left
* and right columns
border-left: solid 14em #fff;
border-right: solid 15em #fff;
margin: 0 -15em 0 1px;
margin: 0 -14em 0 1px;
Note that you should really only put the differences in the IE stylesheet and not the whole css file as that makes maintenance a nightmare.