Leider muss ich jetzt etwas raten.
Bei #main: float:left; raus, clear:both; rein, width:100%;
Bei #header brauchst du dann denke ich keine Breitenangabe mehr.
Allerdings wird es sehr schwer leserlich, wenn du einen Text hast, der bei einem 22" Monitor über die vollen 1050 Pixel Breite geht
Dann hat dein Text irgendwann plötzlich noch 2 Zeilen, und die Seite wirkt ziemlich leer