Здесь много чего происходит, но я постараюсь разобраться с этим.
Сначала попробуйте поработать над проверкой вашего HTML. Там много недопустимого HTML, который может привести к проблемам.
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.montepage.com.br%2Finfantile%2F&charset=%28detect+automatically%29&doctype=Inline&group=0
Во-вторых, я считаю, что IE7 делает что-то смешное с z-index. Это как бы сбрасывает его z-индекс на основе его родителя. Я знаю, что сталкивался с этой проблемой в прошлом. В основном, если два родительских элемента, как это:
<div id="parent1">...</div>
<div id="parent2">...</div>
Если «parent1» имеет более низкий z-индекс, чем «parent2», все дочерние элементы «parent1» будут ниже, чем «parent2», независимо от значения их z-индекса. Что вы можете попытаться сделать, так это убедиться, что у «parent1» более высокий z-индекс.
При просмотре вашего кода кажется, что родительские элементы:
<div class="colorido"> <!-- the menu container -->
...
<div id="corpo"> <!-- the image promotional container that rotates -->
...
Посмотрите, работает ли установка "colorido" с более высоким z-индексом, чем "corpo". Возможно, вам придется установить их в положение: относительное, чтобы оно работало.
Мне трудно читать HTML и CSS, здесь много чего происходит. Так что у меня могут быть неправильные контейнеры, но, надеюсь, идея поможет вам.
Эта страница может помочь привести к некоторым ответам, а также к другим хитростям:
http://aplus.rs/css/ie7-bug-will-not-render-z-index-change-on-lihover/
Надеюсь, это поможет!