I didn’t study your markup inside and out, just a brief glance, but you have a few options depending on the effect you’re after…
- The fastest and easiest solution would be to provide your main content with either a fixed width or a min-width with your CSS. Assuming you would like to maintain the fluidity of the page, go with a min-width. This will allow the page to be fluid up to a certain point and then it won’t allow your “image submerged issue” to even take effect.
- Wrap your header in a div that precedes the main content and side content. This is a more conventional approach. The flow of your page layout divs would go something like this… Open wrapper div, open header div, close header div, open main content div, close main content div, open side div, close side div, close wrapper. This allows your header to take up the entire top portion on the x axis and main and side content start below it. Just like a newspaper spread.
- If you want to leave things the way they are and try to use CSS positioning to bring your logo forward on the z axis and your side content back on the z axis, you can try setting the position to relative and z-index to some number that is higher than side content. Something like this:
position: relative;
z-index: 99;
Hope this points you in the direction you desire.