#novaContent {
	background: url("images/backgroundATLEclipse.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;
}


h3 {
	clear: both;
}

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

a strong {
	text-decoration: underline;
}


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

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