At 100% width my divs aren't containing their elements (overlapping?)

Why is it that if I have two container divs set at 100%, one on top of the other, with content inside (imgs and text) they keep overlapping? I want each main container to be its own block.

The container divs are always way above the content it's meant to contain. My two containers aren't floated and their margins are set at 0 and auto. I have divs set as block. The images/text stack appropriately, just not their parent div. I'm also using normalize.css if that's any indicator.

Excuse my code, I'm still learning and messing about so I know it's "dirty." Thanks for any help!

Edit: I went through and deleted the 100%s that Neil mentioned. Still having a problem with the divs not containing their elements.