Quick note: to answer one of your comments, using div's exactly how you have is actually the purpose of div's. Since they have no semantic value you can use them solely for stylistic purposes as you have. In some cases you didn't have too, but you didn't do it incorrectly.
HTML5 has really bolstered the semantic meaning behind elements. I would really look into articles that go into detail about why the tags should be used and where. Here are a few articles to look into: