También veo que falta el doctype: http://es.wikipedia.org/wiki/Declaraci%C3%B3n_de_tipo_de_documento y también http://www.cristalab.com/tips/la-importancia-de-doctype-y-de-validar-xhtml-y-css-c57338l/
Esto sería lo primero que debes arreglar ya que si no lo declaras los navegadores no suelen interpretar todo el html correctamente.
Posiblemente no te arreglará tu problema, pero en cualquier caso conviene ponerlo antes que nada.