The problem (yet again ) is one of general housekeeping and supplying dimensions that make no sense.
Your #wrapper is 770px wide
#main which is nested inside has 40px padding thus reducing the available space to 730px.
#main-photo sits inside #main and is 621px wide width 100px margin and 20px padding making a total of 741px
So therefore you are trying to fit 741px of content inside a 730px space and something has to give because its impossible. When you ask for the impossible you get impossible results
Ie tries to help by stretching #main to accommodate the larger content but results in breaking the layout. Other browsers ignore the content and just let it spill out without breaking anything else.The solution is to use the right size so it fits which can be done by reducing margins here:
Hope that helps
margin: 0 44px 20px;
padding: 0 10px;
border: 0 none;