You have too much positioned elements. Lets look at the whole thing in a tree.
- body -
position: relative
- #main
- header -
position: relative; z-index: 99
- .primary_content_tail -
position: relative; z-index: 9300
- header -
- footer
- #main
As MDN says
A stacking context is formed, anywhere in the document, by any element which is [...] positioned (absolutely or relatively) with a z-index value other than "auto"
So we have two stacking contexts so the menu which is in the header will always be behind the content. Try to set z-indeces to auto (inline). Now we have
- body -
position: relative
- #main
- header -
position: relative; z-index: auto
- .primary_content_tail -
position: relative; z-index: auto
- header -
- footer
- #main
And it works as expected in Chrome Canary and Firefox Aurora. If you need the initial z-indeces you might need to create a new layer (stacking context) for the menu.