Edit: Fixed the problem.
Update: I changed the font (I was using Exo), to the one I used to have and the problem went away. Seems like chrome is still battling with font rendering, shame.
My first thoughts were that it sounds like font-face issues as you get sometimes get a blip before they display which can cause some browsers problems with working out where the text goes. I would remove the custom fonts and re-test and see if that narrows down the problem.
I also note that you are using html5’s great idea (not) of wrapping anchors around block elements and this is very buggy unless you set the anchor to display:block so make sure all the anchors that wrap block level elements are set to display:block. Otherwise content is often misplaced.
Yeah, it ended up being a font issue, I changed it back to another font and the problem is gone.
As for the code, yeah I know I should have done it differently, but its working right now so I am not going to change it (was done in a hurry, and honestly I don’t even remember why I took that decision in that moment).