Its the IE gradient filter that is killing Ie8.
Remove it and the menu should return.
Most of those IE filters can have dramatic effects on the way elements work and I would advise against using them if possible. Just let older browsers degrade nicely.
(That's a lot of code for such a small effect but that seems to be par for the course as far as html5 is concerned these days.)