Clearing Floats (The Correct Way)
Taken from How To Clear Floats Without Structural Markup from Position is Everythingwhich goes into a reasonable amount of detail on the subject.
For these purposes, simply add this to the element declaration:
:after { content: "."; clear:both; display:block; height: 0; visibility:hidden; }