Perche` tutti quei position?
Probabilmente se elimini tuttii posizionamenti (e spostamenti relativi) ottieni un risultato piu` simile a quello che vuoi.
Perche` hai messo il selettore * dopo il body?
I margini definiti in body potrebbero venir ridefiniti dai valori del *
Perche` usi il display:inline nei[*]? Di solito crea problemi. Se e` per affiancare i blocchi e` meglio il float.
E poi vedo che fai uso di float, ma non vedo mai usato il clear (salvo nel footer). In linea di massima ad ogni gruppo di float, deve seguire un clear che "chiuda" il blocco che contiene i float (vedi ad esempio [Pillola] FabClearing, un metodo crossbrowser alternativo per il clearing dei float)

