В Firefox тоже ничего не прячется, но, исходя из условий задачи, я бы предложил добавить z-index хэдеру. А вообще, почитайте отдельно про механику работы z-index в css, она довольно непроста. Без указания z-index элемент объявленный позже всегда выше по оси z, чем элемент объявленный ранее. Исходя из этого: main выше по оси z чем хэдер(и всё его содержимое). Потому задавайте z-index элементу header.