You need to give the background image a width and height inorder for it to show. A div by itself is empty. even with a background image and color. unless you put the image directly in the div with the <img> tag. it won’t show up without the width and height
1 – clear your floats in your maincontent div (add an empty div after the content and sidecontent divs with the clear:both CSS attribute)
2 – remove the height and min-height from the maincontent div — these are not needed after you clear the floats
I had to add some extra content to the content section to test it to make it expand beyond the height of your background image, but this worked for me.