The reason for the space is because of the way clear works in IE 6 & 7, unlike in IE 8 and other browsers where it clears but keeps the flow perfect. If you do the following it will work fine in IE 6 & 7…
Change your .ranktitle class to the below
.ranktitle {
margin-top: 5px;
overflow: hidden;
}
What this will do is clear the floats before the element below which in your case are the list items as when you use the float property the container wrapping the elements looses the flow it normally has, so if we clear it using overflow: hidden the normal flow of the page gets restored.