you’ve set the image to align right (which is deprecated, btw – use css float) which is the same as a float, so the image is following the specs and ‘hanging’ outside of it’s parent (and ancestor). You need to contain the float. One way is to use overflow: hidden on the parent – in this case, you don’t really want to do that because the image is inside a p element and you will get unexpected results. You can contain the float by adding overflow: hidden to #content. If it were me, I’d also remove the image from the p and place it as a child of #content – although what you have now is not wrong.
edit// joshua beat me again – he gives another way of containing the float