Ваша разметка недействительна, и IE7 реорганизует ее, возможно, другие браузеры лучше ее "подгоняют".
<ol>
<div /><!-- top -->
<li />
<div /><!-- bottom -->
</ol>
Переформатируется как:
<ol>
<li>
<div /><!-- top -->
<div /><!-- bottom -->
</li>
</ol>
Выпридется переставлять HTML;только LI может быть дочерним элементом OL, а не DIV (или SPAN или H2, которые также являются прямыми потомками OL).
Я бы рекомендовал изменить UL и LI на DIV (сохраняя идентификаторы и классы одинаковыми).Таким образом, разметка больше не является недействительной.Элементы списка здесь на самом деле не нужны, так как каждый элемент в списке довольно большой, и на уровне блока.Также это будет быстрее, чем реорганизация списка, чтобы он действовал (что также потребует значительных обновлений CSS)
Надеюсь, это поможет!