#novaContent {
	background: url("images/backgroundMainAmalgam.png") no-repeat white;
}

#introText p.left {
	text-align: justify; 
	width: 48%;
	float: left;
}

#introText p.right {
	text-align: justify; 
	width: 48%;
	float: right;
}

#feature {
	text-align: justify;
	clear: both;
	float: left;
	width: 63%;
	margin-right: 3%;	
}

#feature_discovery {
	text-align: justify;
	float: left;
	width: 30%;
}
	
#primaryLinks {
	position: relative;
	padding-left: 420px;
	width: 560px;
}

#primaryLinks h3{
	visibility: hidden;
	height: 0;
}

#primaryLinks ul li {
   vertical-align: bottom;
   display: inline-block;
   list-style-type: none;
   padding: 0;
   margin: 0;
}

#primaryLinks a:hover {
	text-decoration: underline;
	color: black;
}

#primaryLinks a {
   display: inline-block;
   list-style-type: none;
   width: 180px;
   height: 77px;
   padding-top: 10px;
   padding-left: 70px;
   margin: 0;
   color: black;
}

#primaryLinks strong {
   font-size: larger;
   display: block;
   text-decoration: none;
}

#buttonDownload {
   background:transparent url("images/buttonDownload_empty.png") no-repeat 0 0;
}

#buttonDownload:hover {
}

   
#buttonDocumentation {
   background:transparent url("images/buttonDocumentation_empty.png") no-repeat 0 0;
}

#buttonDocumentation:hover {
}

#buttonSupport {
   background:transparent url("images/buttonSupport_empty.png") no-repeat 0 0;
}

#buttonSupport:hover {
}

#buttonInvolved {
   background:transparent url("images/buttonInvolved_empty.png") no-repeat 0 0;
}

#buttonInvolved:hover {
}

/*
customizing of yahoo pipes
*/

#headlines {
	text-align: justify;
}

#headlines ul li {
	margin: 0 0;
	list-style-type: none;
	list-style-image: none;
}

	
#headlines div.title {
	display: inline;
	margin-right: 0.5em;
}

#headlines div.meta {
	display: inline;
	color: #444444;
	font-size: smaller;  
}

#headlines div.item {
	display: block;
	}

#stats {
	color: #444444;
	}
	
#screencast {
	margin-bottom: 10px;
}

#newAndNoteworthy a {
   display: block;
   width:218px; 
   height:51px;
   padding: 0;
   text-indent: -9000px;
   background:transparent url("images/newAndNoteworthy.png") no-repeat 0 0;
   margin-top: 10px;
}

.sideitem
{
	border-bottom: 1px dotted #d4d4dd;
	margin-bottom: 10px;
	padding-bottom: 5px;
	clear:both;
}
.sideitem .modal
{
	background: #FFF url('/eclipse.org-common/themes/Nova/images/thinModalBg.png') repeat-x;
	padding: 5px;
}
.sideitem h6
{
	background-color: #e8e7dd;
	border-bottom: 2px solid #FFF;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 0px;
	-moz-border-radius-topleft:3px;
	-moz-border-radius-topright:3px;
	padding: 8px 5px;
}
.sideitem li
{
		text-align: justify;
		padding: 0 10px 5px 0;
}
.sideitem ul, .sideitem ol, .sideitem form, .sideitem p
{
	font-size: 12px;
	padding: 5px;
}

/*
#screencast {
	margin: 20px;
	position: relative;
	left: 50px;
	width: 480px; 
	background-color: black; 
	clear: both; 
	height: 340px;
	color: white;
	text-align: center;
	vertical-align: middle;
}
*/

#midcolumn {
	width: 640px;
	padding: 0 10px 10px 10px;
}

#rightcolumn {
	width: 260px;
}

#obeo a {
	display: block;
	padding: 0;
	margin-top: 10px;
	margin-left: auto;
	margin-right: auto;
}

#obeo img {
	display: block;
	width: 152px;
	height: 78px;
	margin-left: auto;
	margin-right: auto;
}


h3 {
	clear: both;
}

h7 {
	font-weight: bold;
	padding: 5px;
}

a strong {
	text-decoration: underline;
}