Hallöchen,
deine Navigation ist zum einen sehr umfangreich gestrickt und ich möchte aus dem Stehgreif mal behaupten, dass man den CSS-Teil nach einer Optimierung auf nen Drittel reduzieren könnte. Auch wofür der span da ist, ist mir noch relativ unschlüssig... Fehlersuche beginnt daher in erster Linie bei der Ordnung und Vermeidung von doppelten und mehrfachen Deklarationen (z.B. li mehrfach margin: 0px;
Dieser Auszug hier lässt mich ein wenig stutzen... das ul ist nur 30px hoch... während es z.B. zwei li beinhaltet, die jeweils aber auch 25+5px hoch sein sollen.
ul#nav ul
{
height: 30px;
top: auto;
}
Zusätzlich ist auch hier top: auto; der Standardwert, der eigentlich nicht nochmal erwähnt werden müsste. Ich habe jetzt hier erstmal auf den ersten Blick nur einen scheinbaren Fehler gefunden, eben die Höhe des inneren uls.
Reduziere mal deinen Code soweit möglich, dann hast du mehr Übersichtlichkeit und damit schneller Fehler gefunden...
LG Patrick