#bigbuttons {
	position: relative;
	left: 689px;
	top: -187px;
	width: 226px;
	padding: 0;
}


#bigbuttons a {
   display: block;
   height:45px;
   width:226px;
   padding: 0;
   margin: 0;
   text-indent: -9000px;
   position: absolute;
}

#buttonDownload {
	background:transparent url("images/bigbuttonDownload.png") no-repeat top;
	top: 0px;
	left: 0px;
}

#buttonDownload:hover {
   background:transparent url("images/bigbuttonDownload.png") no-repeat bottom;
}

#buttonDocumentation {
	background:transparent url("images/bigbuttonDocumentation.png") no-repeat top;
	top: 55px;
	left: 0px;
}

#buttonDocumentation:hover {
   background:transparent url("images/bigbuttonDocumentation.png") no-repeat bottom;
}

#buttonSupport {
	background:transparent url("images/bigbuttonSupport.png") no-repeat top;
	top: 110px;
	left: 0px;
}

#buttonSupport:hover {
   background:transparent url("images/bigbuttonSupport.png") no-repeat bottom;
}

#midcolumn {
	margin-left: 10px;
	}

div.feature div.featureDescription {
	display: table-cell;
	vertical-align: middle;
}

div.feature a.featureScreencast {
	display: table-cell;
	vertical-align: middle;
}

div.feature {
	position: relative;
}

div.feature a .overlay {
	position: absolute;
	top: 0px;
	width: 250px;
	height: 125px;
	background: url("images/featurecastOverlay.png") no-repeat top;
}

div.feature a .overlay:hover {
	background: url("images/featurecastOverlay.png") no-repeat bottom;
}

div.feature.imageLeft div.featureDescription {
	padding-left: 20px;
}	

div.feature.imageRight div.featureDescription {
	padding-right: 20px;
}

div.feature.imageRight div.featureDescription h4,
div.feature.imageRight div.featureDescription p {
	text-align: right;
}

div.feature {
	background-repeat: no-repeat;
	margin-top: 2em; 
}

div.feature.imageLeft {
	background-position: left; 
}

div.feature.imageRight {
	background-position: right; 
}

#screencast {
	text-indent: -2000px;
	display: block;
	height: 112px;
	background-color: red;
	background: url("images/screencastPlaceholder.png") no-repeat center;
	margin: 10px 0 30px 0;
}

#novaContent {
	background: url("images/slider01.jpg") no-repeat white top;
	padding-top: 210px;
}

#novaContent .headlines ul li {
	list-style: none;
	margin-left: 0;
	
}

#newAndNoteworthy a {
   display: block;
   width:218px; 
   height:37px;
   padding: 0;
   text-indent: -9000px;
   background:transparent url("images/buttonNewAndNoteworthy.png") no-repeat top;
   margin-top: 10px;
   margin-left: 3px;
}

#newAndNoteworthy a:hover {
	background:transparent url("images/buttonNewAndNoteworthy.png") no-repeat bottom;
}

#introText {
	margin-bottom: 3em;
	position: relative;
}

#introText p {
	display: table-cell;
	vertical-align: top;
	padding-right: 20px;
}

#introText div {
	display: table-cell;
	vertical-align: top;
}

#introText a div.overlay {
	position: absolute;
	top: 0px;
	width: 250px;
	height: 154px;
	background: url("images/maincastOverlay.png") no-repeat top;
}

#introText .overlay:hover {
	background: url("images/maincastOverlay.png") no-repeat bottom;
}

.headlines {
	
}

.headlines .feed {
	display:block;
	float: right;
	height: 14px;
	width: 14px;
	font-size: 0;
	background: url("images/feed.png");
}