Try removing the 35px margin top on the ul.
e.g. do this:
margin:0 0 0 32px;
The top margin on an element that clears a float should slide under the float but in ie7 (and 6) the top margin pushes the element away if the top margin is less than the height of the float above (once the margin is greater than the height of the float above it reverts back to normal and slides all the way under the float - as do other browers and as the specs say it should).