You have put a lot of tag soup in that <img>! You have
Code:
<img style="WIDTH: 250px; HEIGHT: 286px" border="0" hspace="8" vspace="4" align="left" src="http://woodworksbytim.com/images/Products/spicebox_FPage.jpg" width="250" height="286" />
when all you really need here is
Code:
<img src="images/Products/spicebox_FPage.jpg" />
If you need to specify the image size, that means you are asking the user's browser to resize your image, and losing quality and taking more bandwidth than necessary. If you just want to hold the size box while the image loads, that is ok but should not really be needed unless the image is huge. In any case, don't specify the width and height twice.
Add to your stylesheet
Code:
#indexCategoriesMainContent img {
float: left;
margin: 0 4px 8px 0;
}
This will make images in your define_main_page content move to the left, wrap text, and leave a 4px space to the right and 8px space to the bottom, with top and left having no extra spacing (the <p> already takes care of that).
border="0" will obviously not get you any border; to have any of the standard types of HTML border, add to your stylesheet rule
Code:
border: 2px solid #aabbcc;
using whatever values you want for width, style and color.