diff --git a/css/styles.css b/css/styles.css
index 4ca9828..73a8f74 100644
--- a/css/styles.css
+++ b/css/styles.css
@@ -2,13 +2,17 @@
 
 /* Hack for Nova */
 #novaContent > br,
-#clearFooter{
+#clearFooter,
+#hide{
 	display: none;
 }
 #footer{
 	margin-top:-16px;
 }
-
+sup{
+	font-size: 100%;
+	vertical-align: top;
+}
 .clearfix:after {
 	content: ".";
 	display: block;
@@ -58,14 +62,17 @@
 	background:url("../images/home.jpg") no-repeat;
 }
 
-#fullcolumn.kepler.projects{
+#fullcolumn.kepler.subpage{
 	background:url("../images/sub.jpg") no-repeat;
 }
 
 #fullcolumn.kepler.subpage.friends{
 	background:url("../images/sub_friends.jpg") no-repeat;
 }
-
+#fullcolumn.kepler.subpage.projects{
+	background:url("../images/sub_projects.jpg") no-repeat;
+	height: 874px;
+}
 #fullcolumn.kepler h1,
 #fullcolumn.kepler h2,
 #fullcolumn.kepler h3,
@@ -79,7 +86,7 @@
 #fullcolumn.kepler h1,
 #fullcolumn.kepler h2,
 #fullcolumn.kepler h3{
-	padding:23px 0 29px 45px;
+	padding:23px 0 29px 55px;
 	border-bottom:0;
 	color:#260303;
 	background-position: 0 13px;
@@ -88,6 +95,7 @@
 #fullcolumn.kepler ul.no_bullets li{
 	list-style: none;
 	margin-left:0;
+	clear:both;
 }
 
 ul#mainmenu{
@@ -95,68 +103,113 @@
 	margin:0;
 	position: absolute;
 	left:544px;
-	top:91px;
+	top:65px;
 }
-
-ul#mainmenu li{
-	margin-bottom:21px;	
+.subpage ul#mainmenu{
+	left:51px;
 }
-
 ul#mainmenu li a{
-	display: block;
-	height: 68px;	
+	display: block;	
 }
 
-ul#mainmenu li a span{
+ul#mainmenu li a span.caption{
 	display: block;
-	padding:18px 0 0 75px;
+	padding:18px 0 0 92px;
 }
-ul#mainmenu li#item_downloads a{ 
-	background: url("../images/item_downloads.png") no-repeat;
+ul#mainmenu li span.icon{
+	background: url("../images/item_menu.png") no-repeat;
+	display: block;
+	height: 68px;
+	width: 78px;
+	float:left;
 }
 
+ul#mainmenu li#item_downloads a{
+	height:50px;	
+}
+ul#mainmenu li#item_downloads span.icon{ 
+	background-position: 13px -8px;
+}
+ul#mainmenu li#item_downloads:hover span.icon{ 
+	background-position: -108px -8px;
+}
+ul#mainmenu li#item_highlights{
+	padding-top:0;
+}
+ul#mainmenu li#item_highlights a{
+	height: 59px;	
+}
+ul#mainmenu li#item_highlights span.icon{ 
+	background-position: 13px -433px;
+}
+ul#mainmenu li#item_highlights:hover span.icon{ 
+	background-position: -108px -433px;
+}
 ul#mainmenu li#item_projects a{
-	background: url("../images/item_projects.png") no-repeat;	
+	height: 74px;	
 }
-
-ul#mainmenu li#item_projects a span{
-	padding-top:28px;
+ul#mainmenu li#item_projects span.icon{ 
+	background-position: 12px -107px
 }
-
-ul#mainmenu li#item_projects{
-	margin-bottom:33px;
+ul#mainmenu li#item_projects:hover span.icon{ 
+	background-position: -108px -107px;
 }
 ul#mainmenu li#item_democamps a{
-	background: url("../images/item_democamps.png") no-repeat;	
+	height: 69px;	
 }
-
-ul#mainmenu li#item_democamps a span{
-	padding-top:24px;
+ul#mainmenu li#item_democamps span.icon{ 
+	background-position: 12px -218px;
 }
-
+ul#mainmenu li#item_democamps:hover  span.icon{ 
+	background-position: -108px -218px;
+}
 ul#mainmenu li#item_friends a{
-	background: url("../images/item_friends.png") no-repeat;	
+	height: 61px;	
+}
+ul#mainmenu li#item_friends span.icon{ 
+	background-position: 11px -325px;
+}
+ul#mainmenu li#item_friends:hover span.icon{ 
+	background-position: -110px -325px;
 }
 
-ul#mainmenu li#item_friends{
-	padding-top: 17px;
+ul#mainmenu li#item_projects a span.caption{
+	padding-top:25px;
 }
-ul#mainmenu li#item_downloads a:hover{
-	background: url("../images/item_downloads_ov.png") no-repeat;	
+
+ul#mainmenu li#item_democamps a span.caption{
+	padding-top:22px;
 }
-ul#mainmenu li#item_projects a:hover{
-	background: url("../images/item_projects_ov.png") no-repeat;	
-}
-ul#mainmenu li#item_democamps a:hover{
-	background: url("../images/item_democamps_ov.png") no-repeat;	
-}
-ul#mainmenu li#item_friends a:hover{
-	background: url("../images/item_friends_ov.png") no-repeat;	
-}
+
 #fullcolumn.kepler ul#mainmenu li a:hover{
 	text-decoration: none;
 	color:#d9fcfc;
 }
+
+/* Mini-Highligths */
+
+#mini-hightlights{
+	padding:0;
+	margin:0;
+	position: absolute;
+	left:544px;
+	top:455px;
+	width: 400px;
+	height: 261px;
+	overflow: hidden;
+}
+
+.subpage #mini-hightlights{
+	top:60px;
+	height: 621px;
+}
+#fullcolumn.kepler.frontpage #mini-hightlights h2#h2_highlights{
+	padding-left:0;
+	padding-bottom:0;
+	font-size: 20px;
+	font-weight: bold;
+	background:none;
+}
 /* Sub pages */
 #page-left{
 	padding:0 0 0 11px;
@@ -191,8 +244,26 @@
 	width:100%;
 	height: 34px;
 	text-indent: -999em;
+}
+#fullcolumn.kepler #page-nav.page-nav-no-icons li{
+		background: none;
+}
+#fullcolumn.kepler #page-nav.page-nav-no-icons li a:link,
+#fullcolumn.kepler #page-nav.page-nav-no-icons li a:active,
+#fullcolumn.kepler #page-nav.page-nav-no-icons li a:visited{
+	text-indent: 0;
+	text-transform: uppercase;
+	color:#260303;
+	font-size: 22px;
+	padding:10px 20px;
+	font-family: 'EB Garamond',"Times New Roman",Georgia,Serif;
+	font-weight: normal;
 
 }
+#fullcolumn.kepler #page-nav.page-nav-no-icons li a:hover{
+	text-decoration: none;
+	color:#d9fcfc;
+}
 #page-nav li a:hover{
 	color:#d9fcfc;
 }
@@ -226,8 +297,8 @@
 	background-image: url("../images/nav_highlights_ov.png");
 }
 /* Friends of Kepler */
-#ul_highlights li{
-	margin-bottom:16px;
+.ul_highlights li{
+	padding-bottom:16px;
 	line-height:21px;
 }
 #h2_highlights{
@@ -310,7 +381,10 @@
 	float: left;
 	padding: 0 .4em 0 0;
 	margin: 0;
+	font-size: 14px;
+	line-height: 20.5px;
 }
+
 dt img{
 	height: 13px;
 	padding-right:3px;
@@ -322,7 +396,6 @@
 }
 /* That's the leader! */
 dl:after {
-
 	content: "";
 	display: block;
 	overflow: hidden;
diff --git a/friends.php b/friends.php
index e481b8a..0200d95 100644
--- a/friends.php
+++ b/friends.php
@@ -11,7 +11,7 @@
  *    
  *******************************************************************************/
 	require_once 'includes/friendsFunctions.php';
-	$progress = (getWantedCount()*100)/500;
+	$progress = (getWantedCount()*100)/1000;
 	$friend_count = getWantedCount();
 	
 	#
@@ -24,54 +24,35 @@
 	ob_start();	
 	?>
 	<div id="fullcolumn" class="kepler subpage friends">
-		<div id="page-left">
-			<div class="page-container">
-				
-				<h2 id="h2_highlights">Highlights</h2>
-				<ul id="ul_highlights" class="no_bullets">
-					<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit. In faucibus lectus sed justo molestie eu luctus massa viverra.</li>
-					<li>Donec est leo, tincidunt ut blandit quis, sodales eu neque. Cras fringilla tristique hendrerit.</li>
-					<li>Etiam laoreet fermentum orci, at aliquet risus lobortis vitae. Fusce id dolor dui.</li>
-					<li>Duis viverra, dui scelerisque ultrices egestas, nisl leo iaculis ante, at aliquet neque mauris ut dolor. Etiam malesuada convallis lectus varius pulvinar.</li>
-					<li>Nunc nec eros et magna rhoncus vestibulum in nec elit. Sed et turpis non sem euismod cursus.</li>
-					<li>Etiam ut elementum metus. Nulla eget elit nulla, ut sagittis mi. Vestibulum accumsan nibh ut neque auctor vulputate. Nulla rhoncus quam auctor enim blandit eleifend.</li>
-				</ul>
-							
-			</div>
-		</div>
+		<ul id="mainmenu" class="no_bullets">
+			<li id="item_downloads"><a href="/downloads/"><span class="icon"></span><span class="caption">Downloads</span></a></li>
+			<li id="item_highlights"><a href="/kepler/highlights.php"><span class="icon"></span><span class="caption">Highlights</span></a></li>
+			<li id="item_projects"><a href="/kepler/projects.php"><span class="icon"></span><span class="caption">Projects</span></a></li>
+			<li id="item_democamps"><a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Kepler_2013"><span class="icon"></span><span class="caption">DemoCamps</span></a></li>
+			<li id="item_friends"><a href="/kepler/friends.php"><span class="icon"></span><span class="caption">Friends of Kepler</span></a></li>
+		</ul>
 		
 		<div id="page-right">
 			<div class="page-container">
 				
 				<h2 id="h2_friends">Friends of Kepler</h2>
-				<div id="friend-scale" class="<?php print ($progress <= 59) ? 'scale-normal' : 'scale-invert'; ?>">
+				<div id="friend-scale" class="<?php print ($progress <= 50) ? 'scale-normal' : 'scale-invert'; ?>">
 					<div id="friend-scale-level" style="width: <?php print $progress;?>%;"></div>
-					<div id="friend-scale-count"><?php print $friend_count;?> Friends</div>
+					<div id="friend-scale-count"><?php print $friend_count;?>/1000 Friends</div>
 				</div>
-				<ul id="ul_donorList" class="clearfix no_bullets"><?php sideDonorList(10);?></ul>
-				<a class="button-more" href="/donate/donorlist.php?showAll=0">More</a>				
-				<h2 id="h2_twitter">Twitter</h2>
-				<a class="twitter-timeline"  href="https://twitter.com/search?q=%23eclipse2013"  data-widget-id="325248019601686529">Tweets about "#eclipse2013"</a>
-				<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>		
+				<ul id="ul_donorList" class="clearfix no_bullets"><?php sideDonorList(20);?></ul>
+				<a class="button-more" href="/donate/donorlist.php?showAll=0">More</a>	
+							
 			</div>
 		</div>
-		<ul id="page-nav" class="no_bullets">
-			<li class="page-nav-1" id="page-nav-kepler"><a href="/kepler/">Kepler</a></li>
-			<li class="page-nav-2" id="page-nav-projects"><a href="/kepler/projects.php">Projects</a></li>
-		</ul>
-		<div class="preload">
-			<img src="images/nav_projects_ov.png" alt="Projects"/>
-			<img src="images/nav_kepler_ov.png" alt="Kepler"/>
-		</div>
+	
 	</div>
 	<?
 	$html = ob_get_clean();
 	# Generate the web page
 	$App->Promotion = TRUE;
-	//$App->AddExtraHtmlHeader('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.js"></script>');
-	//$App->AddExtraHtmlHeader('<script type="text/javascript" src="/juno/scripts/smooth-add.js"></script>');
 	$App->AddExtraHtmlHeader('<link href="http://fonts.googleapis.com/css?family=EB+Garamond" rel="stylesheet" type="text/css">');
-	$App->AddExtraHtmlHeader('<link type="text/css" href="/kepler/css/styles.min.css" rel="stylesheet"/>');	
+	$App->AddExtraHtmlHeader('<link type="text/css" href="/kepler/css/styles.css" rel="stylesheet"/>');	
 	$App->AddExtraHtmlHeader('<!--[if IE 7]><link rel="stylesheet" type="text/css" href="/home/content/ie7_nova.css" media="screen"/><![endif]-->');
 	$App->generatePage('Nova', $Menu, NULL , $pageAuthor, $pageKeywords, $pageTitle, $html);
 ?>
diff --git a/highlights.php b/highlights.php
new file mode 100644
index 0000000..f30689e
--- /dev/null
+++ b/highlights.php
@@ -0,0 +1,49 @@
+<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+/*******************************************************************************
+ * Copyright (c) 2009-2010 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Christopher Guindon (Eclipse Foundation)
+ * Nathan Gervais (Eclipse Foundation)
+ *    
+ *******************************************************************************/
+
+	#
+	# Begin: page-specific settings.  Change these. 
+	$pageTitle 		= "Eclipse.org - Kelper Simultaneous Release";
+	$pageKeywords	= "eclipse kepler, release, simultaneous, release train, kepler";
+	$pageAuthor		= "Christopher Guindon";
+	
+	# Paste your HTML content between the EOHTML markers!	
+	ob_start();	
+	?>
+	<div id="fullcolumn" class="kepler subpage highlights">
+		<ul id="mainmenu" class="no_bullets">
+			<li id="item_downloads"><a href="/downloads/"><span class="icon"></span><span class="caption">Downloads</span></a></li>
+			<li id="item_highlights"><a href="/kepler/highlights.php"><span class="icon"></span><span class="caption">Highlights</span></a></li>
+			<li id="item_projects"><a href="/kepler/projects.php"><span class="icon"></span><span class="caption">Projects</span></a></li>
+			<li id="item_democamps"><a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Kepler_2013"><span class="icon"></span><span class="caption">DemoCamps</span></a></li>
+			<li id="item_friends"><a href="/kepler/friends.php"><span class="icon"></span><span class="caption">Friends of Kepler</span></a></li>
+		</ul>
+		
+		<div id="mini-hightlights">
+			<h2 id="h2_highlights">Highlights</h2>
+				<ul id="ticker" class="no_bullets ul_highlights"></ul>
+				<ul id="hide"></ul>	
+		</div>
+	</div>
+	<?
+	$html = ob_get_clean();
+	# Generate the web page
+	$App->Promotion = TRUE;
+	$App->AddExtraHtmlHeader('<link href="http://fonts.googleapis.com/css?family=EB+Garamond" rel="stylesheet" type="text/css">');
+	$App->AddExtraHtmlHeader('<link type="text/css" href="/kepler/css/styles.css" rel="stylesheet"/>');	
+	$App->AddExtraHtmlHeader('<!--[if IE 7]><link rel="stylesheet" type="text/css" href="/home/content/ie7_nova.css" media="screen"/><![endif]-->');
+	$App->AddExtraHtmlHeader('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.js"></script>');
+	$App->AddExtraHtmlHeader('<script type="text/javascript" src="/kepler/js/smooth-add.js"></script>');
+	$App->AddExtraHtmlHeader('<script type="text/javascript" src="/kepler/js/ticker.js"></script>');
+	$App->generatePage('Nova', $Menu, NULL , $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/highlights.txt b/highlights.txt
new file mode 100644
index 0000000..2dc0581
--- /dev/null
+++ b/highlights.txt
@@ -0,0 +1,7 @@
+<a href="http://www.eclipse.org/eclipse4">Eclipse 4.2</a> is now the default platform for the Eclipse community.
+New <a href="http://www.eclipse.org/koneki/">Koneki</a> project provides world-class Lua development tools for M2M application development.
+<a href="http://www.eclipse.org/equinox/">Equinox</a> provides the reference implementation for the new OSGi R5 specification.
+<a href="http://www.eclipse.org/virgo/">Eclipse Virgo 3.5</a> will deliver the new Virgo Nano which allows developers to deploy very small and fast OSGi-based applications.
+<a href="http://www.eclipse.org/xtend/">Xtend</a>, a new language for Java developers, will introduce support for debugging, improved IDE support and new language features, including properties, data classes and type inference for fields.
+<a href="http://www.eclipse.org/Xtext/">Xtext 2.3</a> will now support integrated debugging of JVM-based DSLs created using Xtext and tighter integration with the Java Development Tools (JDT).
+<a href="http://www.eclipse.org/recommenders/">Eclipse Code Recommenders</a> makes developers smarter about using APIs.   Based on a knowledge-based and advanced analytics of existing API usage, Code Recommenders provides intelligent API recommendations to Eclipse developers building Java applications.
\ No newline at end of file
diff --git a/images/item_democamps.png b/images/item_democamps.png
deleted file mode 100644
index 7e377c1..0000000
--- a/images/item_democamps.png
+++ /dev/null
Binary files differ
diff --git a/images/item_democamps_ov.png b/images/item_democamps_ov.png
deleted file mode 100644
index 20c507d..0000000
--- a/images/item_democamps_ov.png
+++ /dev/null
Binary files differ
diff --git a/images/item_downloads.png b/images/item_downloads.png
deleted file mode 100644
index 3002cf3..0000000
--- a/images/item_downloads.png
+++ /dev/null
Binary files differ
diff --git a/images/item_downloads_ov.png b/images/item_downloads_ov.png
deleted file mode 100644
index d0c6027..0000000
--- a/images/item_downloads_ov.png
+++ /dev/null
Binary files differ
diff --git a/images/item_friends.png b/images/item_friends.png
deleted file mode 100644
index a9cf4b9..0000000
--- a/images/item_friends.png
+++ /dev/null
Binary files differ
diff --git a/images/item_friends_ov.png b/images/item_friends_ov.png
deleted file mode 100644
index 31e5a4e..0000000
--- a/images/item_friends_ov.png
+++ /dev/null
Binary files differ
diff --git a/images/item_menu.png b/images/item_menu.png
new file mode 100644
index 0000000..08ac241
--- /dev/null
+++ b/images/item_menu.png
Binary files differ
diff --git a/images/item_projects.png b/images/item_projects.png
deleted file mode 100644
index bb05f76..0000000
--- a/images/item_projects.png
+++ /dev/null
Binary files differ
diff --git a/images/item_projects_ov.png b/images/item_projects_ov.png
deleted file mode 100644
index 7f6aaa8..0000000
--- a/images/item_projects_ov.png
+++ /dev/null
Binary files differ
diff --git a/images/sub_projects.jpg b/images/sub_projects.jpg
new file mode 100644
index 0000000..d84d458
--- /dev/null
+++ b/images/sub_projects.jpg
Binary files differ
diff --git a/includes/highlights.php b/includes/highlights.php
new file mode 100644
index 0000000..b388e02
--- /dev/null
+++ b/includes/highlights.php
@@ -0,0 +1,17 @@
+<?php
+
+$items =  file("../highlights.txt");
+print "[";
+
+
+	$first = true;
+	for($i=0;$i<count($items);$i++){
+		if($first == TRUE){
+			$first = FALSE;
+			print '"';
+		}
+		else { print ',"'; }
+		print addcslashes($items[$i], "\\\"\n\r\t/") . '"';
+	}
+	
+print "]";
diff --git a/index.php b/index.php
index b8f7a57..9fd0cba 100644
--- a/index.php
+++ b/index.php
@@ -22,26 +22,28 @@
 	?>
 	<div id="fullcolumn" class="kepler frontpage">
 		<ul id="mainmenu" class="no_bullets">
-			<li id="item_downloads"><a href="/downloads/"><span>Downloads</span></a></li>
-			<li id="item_projects"><a href="/kepler/projects.php"><span>Projects</span></a></li>
-			<li id="item_democamps"><a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Kepler_2013"><span>DemoCamps</span></a></li>
-			<li id="item_friends"><a href="/kepler/friends.php"><span>Friends of Kepler</span></a></li>
+			<li id="item_downloads"><a href="/downloads/"><span class="icon"></span><span class="caption">Downloads</span></a></li>
+			<li id="item_highlights"><a href="/kepler/highlights.php"><span class="icon"></span><span class="caption">Highlights</span></a></li>
+			<li id="item_projects"><a href="/kepler/projects.php"><span class="icon"></span><span class="caption">Projects</span></a></li>
+			<li id="item_democamps"><a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Kepler_2013"><span class="icon"></span><span class="caption">DemoCamps</span></a></li>
+			<li id="item_friends"><a href="/kepler/friends.php"><span class="icon"></span><span class="caption">Friends of Kepler</span></a></li>
 		</ul>
-		<div class="preload">
-			<img src="images/item_downloads_ov.png" alt="Downloads"/>
-			<img src="images/item_projects_ov.png" alt="Projects"/>
-			<img src="images/item_democamps_ov.png" alt="DemoCamps"/>
-			<img src="images/item_friends_ov.png" alt="Friends of Kepler"/>
+		
+		<div id="mini-hightlights">
+			<h2 id="h2_highlights">Highlights</h2>
+				<ul id="ticker" class="no_bullets ul_highlights"></ul>
+				<ul id="hide"></ul>	
 		</div>
 	</div>
 	<?
 	$html = ob_get_clean();
 	# Generate the web page
 	$App->Promotion = TRUE;
-	//$App->AddExtraHtmlHeader('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.js"></script>');
-	//$App->AddExtraHtmlHeader('<script type="text/javascript" src="/juno/scripts/smooth-add.js"></script>');
 	$App->AddExtraHtmlHeader('<link href="http://fonts.googleapis.com/css?family=EB+Garamond" rel="stylesheet" type="text/css">');
-	$App->AddExtraHtmlHeader('<link type="text/css" href="/kepler/css/styles.min.css" rel="stylesheet"/>');	
+	$App->AddExtraHtmlHeader('<link type="text/css" href="/kepler/css/styles.css" rel="stylesheet"/>');	
 	$App->AddExtraHtmlHeader('<!--[if IE 7]><link rel="stylesheet" type="text/css" href="/home/content/ie7_nova.css" media="screen"/><![endif]-->');
+	$App->AddExtraHtmlHeader('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.js"></script>');
+	$App->AddExtraHtmlHeader('<script type="text/javascript" src="/kepler/js/smooth-add.js"></script>');
+	$App->AddExtraHtmlHeader('<script type="text/javascript" src="/kepler/js/ticker.js"></script>');
 	$App->generatePage('Nova', $Menu, NULL , $pageAuthor, $pageKeywords, $pageTitle, $html);
 ?>
diff --git a/js/smooth-add.js b/js/smooth-add.js
new file mode 100644
index 0000000..74f452e
--- /dev/null
+++ b/js/smooth-add.js
@@ -0,0 +1,49 @@
+function smoothAdd(id, text)
+{
+	var el = $('#' + id);
+
+	var h = el.height();
+
+	el.css({
+		height:   h,
+		overflow: 'hidden'
+	});
+
+	var ulPaddingTop    = parseInt(el.css('padding-top'));
+	var ulPaddingBottom = parseInt(el.css('padding-bottom'));
+
+	el.prepend('<li>' + text + '</li>');
+
+	var first = $('li:first', el);
+	var last  = $('li:last',  el);
+
+	var foh = first.outerHeight();
+
+	var heightDiff = foh - last.outerHeight();
+
+	var oldMarginTop = first.css('margin-top');
+
+	first.css({
+		marginTop: 0 - foh,
+		position:  'relative',
+		top:       0 - ulPaddingTop
+	});
+
+	last.css('position', 'relative');
+
+	el.animate({ height: h + heightDiff }, 1500)
+
+	first.animate({ top: 0 }, 250, function() {
+		first.animate({ marginTop: oldMarginTop }, 1000, function() {
+			last.animate({ top: ulPaddingBottom }, 250, function() {
+				last.remove();
+
+				el.css({
+					height:   'auto',
+					overflow: 'visible'
+				});
+			});
+		});
+	});
+}
+
diff --git a/js/ticker.js b/js/ticker.js
new file mode 100644
index 0000000..5e27fdf
--- /dev/null
+++ b/js/ticker.js
@@ -0,0 +1,27 @@
+	var t = 0;
+	var s = 10;
+	var interval = 5000;
+	var c = 0;
+	$.getJSON('/kepler/includes/highlights.php', function (data) {
+		var ul = $('<ul/>');
+		var tul = $('<ul/>');
+		$.each(data, function(key, val) {
+			c++;
+			if (c <= s) {
+				$('<li/>', { html: val }).appendTo(tul);
+			}
+			$('<li/>', { text: val }).appendTo(ul);
+		});
+		
+		$('#hide').append(ul.contents());
+		$('#ticker').append(tul.contents());
+	})
+	.error(function() { alert('invalid'); }
+	);
+	t = setTimeout(tick, interval);
+	function tick() {
+		smoothAdd('ticker',$('#hide li:last').text());
+		$('#hide').prepend($('#hide li:last'));
+				
+		t = setTimeout(tick, interval);
+	}
\ No newline at end of file
diff --git a/projects.php b/projects.php
index 4a2d167..9ec3138 100644
--- a/projects.php
+++ b/projects.php
@@ -50,7 +50,7 @@
 		$img = "";
 		$new = ($project->new == 1) ? '<img src="images/legend_new.png" />' : '';
 		$info = ($project->id) ? '<a href="http://projects.eclipse.org/projects/' . $project->id . '"><img src="images/legend_info.png" /></a>' : '';
-		
+
 		$projects[] = array(
 			'name' =>  $project->name,
 			'output' => '<dl><dt><a href="' .  $project->website . '">' . $project->name . '</a> ' . $new .  $info . '</dt><dd>' . $version_link . '</dd></dl>'
@@ -94,23 +94,16 @@
 				?>		
 			</div>
 		</div>
-		<ul id="page-nav" class="no_bullets">		
-			<li class="page-nav-1" id="page-nav-highlights"><a href="/kepler/friends.php">Highlights</a></li>
-			<li class="page-nav-2" id="page-nav-kepler"><a href="/kepler/">Kepler</a></li>
+		<ul id="page-nav" class="no_bullets page-nav-no-icons">		
+			<li class="page-nav-1" id="page-nav-highlights"><a href="/kepler/" ><sup>&laquo;</sup>Back</a></li>
 		</ul>
-		<div class="preload">
-			<img src="images/nav_highlights_ov.png" alt="Highlights"/>
-			<img src="images/nav_kepler_ov.png" alt="Kepler"/>
-		</div>
 	</div>
 	<?
 	$html = ob_get_clean();
 	# Generate the web page
 	$App->Promotion = TRUE;
-	//$App->AddExtraHtmlHeader('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.js"></script>');
-	//$App->AddExtraHtmlHeader('<script type="text/javascript" src="/juno/scripts/smooth-add.js"></script>');
 	$App->AddExtraHtmlHeader('<link href="http://fonts.googleapis.com/css?family=EB+Garamond" rel="stylesheet" type="text/css">');
-	$App->AddExtraHtmlHeader('<link type="text/css" href="/kepler/css/styles.min.css" rel="stylesheet"/>');	
+	$App->AddExtraHtmlHeader('<link type="text/css" href="/kepler/css/styles.css" rel="stylesheet"/>');	
 	$App->AddExtraHtmlHeader('<!--[if IE 7]><link rel="stylesheet" type="text/css" href="/home/content/ie7_nova.css" media="screen"/><![endif]-->');
 	$App->generatePage('Nova', $Menu, NULL , $pageAuthor, $pageKeywords, $pageTitle, $html);
 ?>
