Könnt ihr euch den Quelltext nochmal anschauen, und mir sagen, was ich verbessern/ändern soll?
Einiges ließe sich verbessern.
Mit position:relative verschiebst du ein Element relativ zu seiner normalen Position im Elementfluss. Es liegt dann woanders, aber alle folgenden Elemente werden so gelayoutet, als läge es im normalen Fluss.
So trickst du also mit positiver und negativer relativer Verschiebung herum, bis es scheinbar pixelgenau hinhaut. Das klappt nur solange, wie die angenommene Höhe der Boxen in jedem Browser auf jedem System stimmt (gut, dafür setzt du halt nahezu überall feste Höhen). Und es ist natürlich überhaupt nicht anpassbar. Änderst du irgendwo eine Höhe bzw. einen Inhalt, musst du alle Maße neu setzen.
Es mag für dich einfach scheinen, mit position:absolute und relative alle Elemente wie wild auf dem Bildschirm zu platzieren - aber es ist letztlich alles andere als flexibel.
position:relative ist kein Werkzeug für alles. Setze dich mit dem CSS-Boxmodell auseinander. Wenn du einfach nur Abstände willst, nimm margin bzw. padding, aber nicht position:relative. Wenn du einmal in dem Modus bist und den Elementfluss einerseits benutzt und ihn andererseits ständig umgehst, wird es ultraschwierig, irgendwann eine Box an die richtige Stelle zu setzen - weil du von der Position im normalen Fluss ausgehen musst, aber keinen solchen siehst, weil alle Elemente verschoben wurden.
Die Navigationsleisten sind derzeit noch eine div-span-Suppe. HTML bietet dafür die Elemente ol und ul, die sich hervorragend umformatieren lassen.
Übrigens solltest du versuchen, rein grafische, inhaltslose Layoutteile nicht mit leeren div-Elementen mit Hintergrundgrafiken umzusetzen. Nach Möglichkeit sollte man solche Element einsparen. Gut, bei dem Halbkreis ist es derzeit schwierig, auf ein zusätzliches div-Element zu verzichten - bzw. man könnte es höchstens als Container um alle anderen herum setzen, was das Element nur verschieben würde.
Mathias