How to prevent divs from overlapping?
Please check the fiddle http://jsfiddle.net/6DtSS/5/
I've added clear:both
to #homemidcontent
After you float the elements,you should clear it for the next element if it wants to sit right below.
Keeping the position you put the blocks in your jsfiddle, you can do that with:
z-index: 1;
http://jsfiddle.net/djsbellini/JZAx8/
Choosing the z-index manually you can re-order which one is on top.