Hi!
Du verwendest position:absolute; und position:relative;.
Hierdurch wird das Element aus dem Fluss genommen und wirkt sich somit nicht mehr auf die Dimensionen des Elternelementes aus.
Verzichte zu Gunsten von float, margin und padding auf diese Art Positionsangabe.
Gruß aus Iserlohn
Martin