Wenn ich das richtig sehe, liegt es an folgender Zeile:
div#content {top: -300px;}
Den entstehenden Leerraum stellen die Browser unterschiedlich dar. Was macht denn die große Verschiebung notwendig? Das wird doch sicher durch eine geschicktere Anordnung der Divs überflüssig.
Mit hanfigen Grüßen
Steffen