Neil,
Sorry your having some frustration here, let me see what I can do so you don’t pull out any more hair.
It looks like the issue is the floated div’s height and some are longer then others and when that happens a div will not float all the way to the left.
If you add this to you css it sets everything to the same height and will show 3 per line then. You may have to play around with it to get it exactly how you want it.
#tribe-events-photo-events .vevent.tribe-events-photo-event {
height: 480px;
}
Also, you may have to add more selectors to the beginning to get it to take such as: #tribe-events-content-wrapper.
Let us know if that helps or you have any other questions.
Cheers!