You have several dodgy things going on here (I'm talking about the CSS not the products!)
Firstly, you have a typo in your #thinborderfloat definition. I assume that "lenth" should be "length", but in any case I suspect you really mean "height".
Secondly, whatever package or method you have used to edit your page has created an unnamed <div> around your text in order to insert inline CSS. That's two black marks. The inline CSS would have been better applied to the perfectly good (and named) indexDefaultMainContent div.
Normally I, like Kim, would have sent you off to learn more about floating divs (oh what the hell, you should do this anyway), but in the meantime you have one thing going for you that offers an easy solution ...
Because you want to place your text relative to an image with a fixed size and have only a small amount of text relative to the size of the coloured box in which you want to place it, you could simply do the following: delete out the unnamed div and add its CSS to #indexDefaultMainContent (youll need to create this) along with a margin-left:320px and height:179px