Ci sono ancora delle cose dubbie.

A che ti servono i due blocchi (sopra e sotto)? Sono due blocchi che si sovrappongono o che si devono vedere separati?
Inoltre il blocco sopra, in qualche browser non viene interpretato, dato che e` vuoto. Devi metterci almeno uno spazio.
Io avevo capito che volevi attenuare l'immagine di sfondo, mentre nel tuo codice attenui il blocco sotto.

Se usi l'immagine come sfondo del main, non puoi attenuarla con i CSS. In tal caso ti conviene attenuare l'immagine con un programma grafico, prima di inviarla al client.