body {
	background-image : url(../graphics/contentpage/whatsnew_wtr.jpg);
}

/* show the "selected" image for this page */
#navigation-links a#news img, #navigation-links a#news:hover img { background-image : url(../graphics/icons/ctool/whatsnew48sel.gif); }

/* 
 * Set up the content of the Whats New page to be displayed in 
 * two columns that are centered in the middle of the page.
 */

#noteworthy-links {
	text-align : left;
	width : 760px;
	/* To center in Moz (have to use text-align for IE) */	
	margin: 0px auto;
}

#noteworthy-links a { 
	width : 370px;
	text-align : left; 
	margin-left : 5px;
	margin-right : 5px;
	margin-top : 5px;
	margin-bottom : -20px;
	vertical-align : top;
}

#noteworthy-links > a { vertical-align : middle; }

#noteworthy-links a img {
	height : 57px;
	width : 57px;
	vertical-align : middle;
}

#noteworthy-links a .link-label {
	display : block;
	width : 300px;
	position : relative;
	top : -50px;
	left : 60px;
}

#noteworthy-links a > .link-label { left: 65px; }

#noteworthy-links a p .text {
	display : block;
	width : 300px;
	position : relative;
	top : -45px;
	left : 53px;
}

#noteworthy-links a p > .text { left: 58px; }

/* Special case for Mozilla, because the links are displayed
   in 1 vertical column instead of 2 centered columns */
#noteworthy-links > a { width : 700px; }
#noteworthy-links a > .link-label { width : 700px; }
#noteworthy-links a p > .text { width : 700px; }

#noteworthy-links a:hover { border-right : 5px; }

#noteworthy-links a img { background-image : url(../graphics/icons/obj48/new_obj.gif); }
#noteworthy-links a:hover img { background-image : url(../graphics/icons/obj48/newhov_obj.gif); }


#news-links {
	text-align : left;
	width : 760px;
	/* To center in Moz (have to use text-align for IE) */	
	margin: 0px auto;
}

#news-links a { 
	width : 370px;
	text-align : left; 
	margin-left : 5px;
	margin-right : 5px;
	margin-top : 5px;
	margin-bottom : -20px;
	vertical-align : top;
}

#news-links > a { vertical-align : middle; }

#news-links a img {
	height : 57px;
	width : 57px;
	vertical-align : middle;
}

#news-links a .link-label {
	display : block;
	width : 300px;
	position : relative;
	top : -50px;
	left : 60px;
}

#news-links a > .link-label { left: 65px; }

#news-links a p .text {
	display : block;
	width : 300px;
	position : relative;
	top : -45px;
	left : 53px;
}

#news-links a p > .text { left: 58px; }

/* Special case for Mozilla, because the links are displayed
   in 1 vertical column instead of 2 centered columns */
#news-links > a { 	width : 700px; }
#news-links a > .link-label { width : 700px; }
#news-links a p > .text { width : 700px; }

#news-links a:hover { border-right : 5px; }

a#new-and-noteworthy img { background-image : url(../graphics/icons/obj48/new_obj.gif); }
a#new-and-noteworthy:hover img { background-image : url(../graphics/icons/obj48/newhov_obj.gif); }

a#updates img { background-image : url(../graphics/icons/obj48/updates_obj.gif); }
a#updates:hover img { background-image : url(../graphics/icons/obj48/updateshov_obj.gif); }

a#eclipse img { background-image : url(../graphics/icons/obj48/community_obj.gif); }
a#eclipse:hover img { background-image : url(../graphics/icons/obj48/communityhov_obj.gif); }


