acabo de revisar el codigo y aparentemente esta todo bien, sin embargo veo que creas capas vacias con un gif transparente ¿? esto no es necesario con css y es una reminiscencia de maquetar con tablas, por otro lado no has definido el padding por ningun lado lo que puede hacer que al visualizar las imagenes estas "agranden" la capa por encima de lo que le corresponde, puedes solucionarlo en parte con "overflow: hidden;"
Asi es como lo veo yo, con las medidas que tu has puesto (los colores los he definido yo para diferenciar las capas)
Aunque sigo sin saber porque hay que empeñarse en usar las capas como si fueran tablas