html, body {
text-align:center; /*for ie*/
margin:0px;
padding:0px;
height:100%; /* needed for container min-height */
}

#wrapper {
width:960px; /*should add up to 1px more than total of 3 columns for IE6 safety*/
margin:0px auto;
text-align:left; /*cancels center alignment from body tag*/
position:relative; /*makes this the nearest positioned ancestor of footer*/
height:auto !important; /* most browsers */
height:100%; /* IE6: treated as min-height*/
min-height:100%; /* most browsers */
padding:0px 0px 0px 0px;
line-height:0px; /*mystery gap fix*/
font-size:0px; /*mystery gap fix for IE*/
}

#wrapper * {
line-height:16px; /*cancels inheritance of mystery gap fix*/
font-size:11px; /*cancels inheritance of mystery gap fix*/
}

#masthead {
width:960px;
height:220px; /*height of body bg minus 30px overlap for left col*/
position:relative; /*makes this the positioned ancestor of h1*/
}

h1{
margin:0px;
padding:0px;
position:absolute;
bottom:-2px;
left:70px;
width:580px;
}

#left {
width:230px;
float:left;
}

#center {
/*width:484px;*/
width:430px;
float:left;
}

#right {
width:299px;
float:right;
position:relative;
top:-80px; /*height of h2 plus h2 bottom border*/
}

#right form {
width:243px;
margin:0px;
}

.clear-footer {
clear:both;
height:63px; /*adds height of footer to wrapper height since footer is absolutely positioned - so it doesn't overlap*/
}

#footer {
position:absolute;
width:100%;
bottom:0;
}
