Here's your problem:
Code:
#productAdditionalImages {
width: 650px;
position:absolute;
left:165px;
top:493px;
}
The position:absolute; takes the images out of the page layout flow, so they don't affect where other elements end up, and places them at a specific distance from the top of the page.
That's fine if you know the size of the additional images block, and the sizes of the elements above it, so they can be firmly positioned and not run into each other.
This is obviously not the case here. You will have to use another method to get the images where you want them. They look fine to me just as they fall normally.
Code:
#productAdditionalImages {
width: 650px;/*delete this*/
position:absolute;/*delete this*/
left:165px;/*delete this*/
top:493px;/*delete this*/
}
.imgLinkAdditional {display: none;}/*add this to suppress the "larger image" text*/
#headerWrapper
{
text-align: left;
margin: 10px 0;/*add the 0 in two places as shown to keep width from pushing out the sides*/
padding: 10px 0;
background-image: url(http://www.whitknits.com/includes/templates/template_default/images/whitknits_shipping.jpg); background-repeat: no-repeat;
background-position: 650px 0px;
}
Also, editing #headerWrapper as shown will make your page neater.