Lieber Angy,
in Deinem CSS lese ich "float". Kann es sein, dass vor Deinem Footer ein "clear" vonnöten ist, damit der von Dir gewünschte Effekt erreicht wird?
Wenn Inhalte vor Deinem Footer gefloatet sind, wo soll denn dann Dein Footer im Fließtext erscheinen...? Daher solltest Du mal probieren, ob es ein "clear: both;" vor dem (oder für den) Footer tut: #footer { ... ; clear: both; }
Liebe Grüße aus Ellwangen,
Felix Riesterer.