Need some help, I know what is going on but don't know how to fix it. I am trying to have a floating image in the main column, however when the browser window is adjusted the image flows into the other div. I started using clear: both to remove the float and this works however on the first item its clearing the float used in the layout not the floats used in the div.

it works the way I want it to in the last item

site link
http://www.jhcr.org/test/

I would really appreciate any help!!!

html code :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<!-- TemplateBeginEditable name="doctitle" -->
<title>JHCR 98.1FM</title>
<!-- TemplateEndEditable -->
<!-- TemplateBeginEditable name="head" -->
<link rel="stylesheet" type="text/css" href="jhcrstyle.css">


<!-- TemplateEndEditable -->
<style type="text/css">
<!--
body {
font: 100% Verdana, Arial, Helvetica, sans-serif;
background: #666666;
margin: 0; /* it's good practice to zero the margin and padding of the body element to account for differing browser defaults */
padding: 0;
text-align: center; /* this centers the container in IE 5* browsers. The text is then set to the left aligned default in the #container selector */
color: #000000;
}
.thrColHybHdr #container {
width: 100%;
background: #FFFFFF;
/*margin: 0 auto; the auto margins (in conjunction with a width) center the page if needed */
text-align: left; /* this overrides the text-align: center on the body element. */
}
.thrColHybHdr #header {
background: #6699cc;
height: 130px;
padding: 0; /* this padding matches the left alignment of the elements in the divs that appear beneath it. If an image is used in the #header instead of text, you may want to remove the padding. */
border-bottom: 2px solid #000000;
background-image: url('images/header.jpg');
background-repeat: no-repeat;
}
.thrColHybHdr #header h1 {
margin: 0; /* zeroing the margin of the last element in the #header div will avoid margin collapse - an unexplainable space between divs. If the div has a border around it, this is not necessary as that also avoids the margin collapse */
padding: 10px 0; /* using padding instead of margin will allow you to keep the element away from the edges of the div */
}
.thrColHybHdr #sidebar1 {
float: left;
width: 11em; /* since this element is floated, a width must be given */
background: #ffffff; /* the background color will be displayed for the length of the content in the column, but no further */
padding: 15px 0; /* top and bottom padding create visual space within this div */
}
.thrColHybHdr #sidebar2 {
float: right;
width: 11em; /* since this element is floated, a width must be given */
background: #cccccc; /* the background color will be displayed for the length of the content in the column, but no further */
padding: 15px 0; /* top and bottom padding create visual space within this div */
}
.thrColHybHdr #sidebar1 h3, .thrColHybHdr #sidebar1 p, .thrColHybHdr #sidebar2 p, .thrColHybHdr #sidebar2 h3 {
margin-left: 10px; /* the left and right margin should be given to every element that will be placed in the side columns */
margin-right: 10px;
}

.thrColHybHdr #mainContent {
margin: 0 12em 0 12em; /* the right margin can be given in ems or pixels. It creates the space down the right side of the page. */
padding: 0 2em 0 2em; /* padding here creates white space "inside the box." */
border-left: 2px solid #6699cc;
}
.thrColHybHdr #footer {
padding: 0 10px; /* this padding matches the left alignment of the elements in the divs that appear above it. */
background:#DDDDDD;
}
.thrColHybHdr #footer p {
margin: 0; /* zeroing the margins of the first element in the footer will avoid the possibility of margin collapse - a space between divs */
padding: 10px 0; /* padding on this element will create space, just as the the margin would have, without the margin collapse issue */
}

/* Miscellaneous classes for reuse */
.fltrt { /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
float: right;
margin-left: 8px;
}
.fltlft { /* this class can be used to float an element left in your page */
float: left;
margin-right: 8px;
}
.clearfloat { /* this class should be placed on a div or break element and should be the final element before the close of a container that should fully contain a float */
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
#holder{
width:100%;
border-bottom: 1px dashed #66ccff;
padding: 0 0 15px 0;
}

-->
</style><!--[if IE]>
<style type="text/css">
/* place css fixes for all versions of IE in this conditional comment */
.thrColHybHdr #sidebar1, .thrColHybHdr #sidebar2 { padding-top: 30px; }
.thrColHybHdr #mainContent { zoom: 1; padding-top: 15px; }
/* the above proprietary zoom property gives IE the hasLayout it needs to avoid several bugs */
</style>
<![endif]--></head>

<body class="thrColHybHdr">

<div id="container">
<div id="header">
<!-- end #header --></div>

<div id="sidebar1">
<h3>Side Bar navigation</h3>
<p>The background color on this div will only show for the length of the content. If you'd like a dividing line instead, place a border on the left side of the #mainContent div if the #mainContent div will always contain more content than the #sidebar1 div. </p>
<p>Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu, pellentesque eget, cursus et, fermentum ut, sapien. </p>
<!-- end #sidebar1 --></div>

<div id="sidebar2">
<h3>Local Music Spotlight</h3>
<p>The background color on this div will only show for the length of the content. If you'd like a dividing line instead, place a border on the right side of the #mainContent div if the #mainContent div will always contain more content than the #sidebar2 div. </p>
<p>Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu, pellentesque eget, cursus et, fermentum ut, sapien. </p>
<!-- end #sidebar2 --></div>


<div id="mainContent">

<div id="holder">
<h2> Thank You Mr and Mrs Old Bill </h2>
<h1> Author : Walker white - Date 10/22/2007 </h1>
<img src="images/oldbill.jpg" class="fltlft ">
<p>Thanks to your generous donations and the help of Mr. and Mrs. Old Bill, JHCR is well on its way to bringing you locally-oriented community radio. Thank You everyone that contributed, we raised over<strong> $44,000 !! </strong>
</p>
<br class="clearfloat" />
</div>

<div id="holder">
<h2>More good news : </h2>
<h1> Author : Walker white - Date 10/4/2007 </h1>
<img src="images/oldbill.jpg" class="fltlft ">
<p>The U.S. Department of Commerce has just awarded JHCR a construction grant for $273,000!<p>
<p>This is the fourth-highest grant awarded nationwide to a public radio station this year. It’s a 3-to-1 matching grant which means that every dollar JHCR raises will be matched 300% through the Public Telecommunications Facilities Program (PTFP). Now JHCR has to raise $91,000 in local funds to complete this federal grant. <p>
<p>We must be on air by March 28, 2008 or Jackson will lose the opportunity to have its own public radio station… On that date our construction permit expires, forever.<p>
<p>That’s right, we’re in the midst of our initial capital campaign and your <a href="http://www.jhcr.org/beta/donate.html" class="red"> support </a>counts more than ever.</p>
<br class="clearfloat" />
</div>

<div id="holder">
<h2> On Air by March 2008: </h2>
<h1> Author : Walker white - Date 9/15/2007 </h1>
<img src="images/oldbill.jpg" class="fltlft ">

<p>At the start of 2007 JHCR sucessfully obtained an FCC construction permit to begin broadcasting in March 2008. In today's congested frequency- application enviroment this accomplishment provides Jackson Hole the rare opportunity to establish a community-based radio station.</p>
<br class="clearfloat" />

</div>


<!-- end #mainContent --></div>

<!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats --><br class="clearfloat" />
<div id="footer">
<p>Footer</p>
<!-- end #footer --></div>
<!-- end #container --></div>
</body>
</html>