diff --git a/.project b/.project
new file mode 100644
index 0000000..ab86d48
--- /dev/null
+++ b/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>libra</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>
diff --git a/_projectCommon.php b/_projectCommon.php
new file mode 100755
index 0000000..022c20d
--- /dev/null
+++ b/_projectCommon.php
@@ -0,0 +1,57 @@
+<?php
+
+/*******************************************************************************
+ * Copyright (c) 2009 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:
+ *    
+ *******************************************************************************/
+
+	# Set the theme for your project's web pages.
+	# See http://eclipse.org/phoenix/
+	$theme = "Nova";
+	
+
+	# Define your project-wide Navigation here
+	# This appears on the left of the page if you define a left nav
+	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
+	# these are optional
+	
+	# If you want to override the eclipse.org navigation, uncomment below.
+	# $Nav->setLinkList(array());
+	
+	# Break the navigation into sections
+	$Nav->addNavSeparator("MyProject", 	"/default");
+	$Nav->addCustomNav("Download", "/project/download.php", "_self", 3);
+	$Nav->addCustomNav("Documentation", "/project/documentation.php", "_blank", 3);
+	$Nav->addCustomNav("Support", "/project/support.php", "_blank", 3);
+	$Nav->addCustomNav("Getting Involved", "/project/developers", "_blank", 3);
+
+	# Define keywords, author and title here, or in each PHP page specifically
+	$pageKeywords	= "xtext, dsl, modeling, domain specific language, textual";
+	$pageAuthor		= "Your name";
+	# $pageTitle 		= "Xtext";
+
+
+	# top navigation bar
+	# To override and replace the navigation with your own, uncomment the line below.
+	# $Menu->setMenuItemList(array());
+	# $Menu->addMenuItem("Home", "/project", "_self");
+	# $Menu->addMenuItem("Download", "/project/download.php", "_self");
+	# $Menu->addMenuItem("Documentation", "/project/documentation.php", "_self");
+	# $Menu->addMenuItem("Support", "/project/support.php", "_self");
+	# $Menu->addMenuItem("Developers", "/project/developers", "_self");
+	
+	# To define additional CSS or other pre-body headers
+	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="/default/style.css"/>');
+	
+	# To enable occasional Eclipse Foundation Promotion banners on your pages (EclipseCon, etc)
+	$App->Promotion = TRUE;
+	
+	# If you have Google Analytics code, use it here
+	# $App->SetGoogleAnalyticsTrackingCode("YOUR_CODE");
+?>
\ No newline at end of file
diff --git a/download.php b/download.php
new file mode 100644
index 0000000..df9b528
--- /dev/null
+++ b/download.php
@@ -0,0 +1,33 @@
+<?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 
+ * 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:
+ *    
+ *******************************************************************************/
+
+	$pageTitle 		= "MyProject - Download";
+
+	$html  = <<<EOHTML
+<div id="midcolumn">
+<h2>$pageTitle</h2>
+<p>All downloads are provided under the terms and conditions of the <a href="/legal/epl/notice.php">Eclipse Foundation Software User Agreement</a> unless otherwise specified.</p>
+
+<h3>Galileo - Eclipse 3.5</h3>
+<p><b>Update site:</b> http://download.eclipse.org/myproject/<br />
+<b>ZIP file: </b><a href="/downloads/download.php?file=/myproject/file.zip">file.zip</a> (10 MiB)</p>
+
+<h3>Helios - Eclipse 3.6 (unreleased)</h3>
+<p><b>Update site:</b> http://download.eclipse.org/myproject/<br />
+<b>ZIP file: </b><a href="/downloads/download.php?file=/myproject/file.zip">file.zip</a> (10 MiB)</p>
+
+
+</div>
+EOHTML;
+	# Generate the web page
+	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
\ No newline at end of file
diff --git a/images/backgroundMain.png b/images/backgroundMain.png
new file mode 100644
index 0000000..6a8578c
--- /dev/null
+++ b/images/backgroundMain.png
Binary files differ
diff --git a/images/backgroundMainEmpty.png b/images/backgroundMainEmpty.png
new file mode 100644
index 0000000..9487b21
--- /dev/null
+++ b/images/backgroundMainEmpty.png
Binary files differ
diff --git a/images/buttonDocumentation.png b/images/buttonDocumentation.png
new file mode 100644
index 0000000..bbfdde0
--- /dev/null
+++ b/images/buttonDocumentation.png
Binary files differ
diff --git a/images/buttonDocumentation_sel.png b/images/buttonDocumentation_sel.png
new file mode 100644
index 0000000..8affb93
--- /dev/null
+++ b/images/buttonDocumentation_sel.png
Binary files differ
diff --git a/images/buttonDownload.png b/images/buttonDownload.png
new file mode 100644
index 0000000..e620092
--- /dev/null
+++ b/images/buttonDownload.png
Binary files differ
diff --git a/images/buttonDownload_new.png b/images/buttonDownload_new.png
new file mode 100644
index 0000000..e620092
--- /dev/null
+++ b/images/buttonDownload_new.png
Binary files differ
diff --git a/images/buttonDownload_sel.png b/images/buttonDownload_sel.png
new file mode 100644
index 0000000..d3a0330
--- /dev/null
+++ b/images/buttonDownload_sel.png
Binary files differ
diff --git a/images/buttonInvolved.png b/images/buttonInvolved.png
new file mode 100644
index 0000000..b3e9a82
--- /dev/null
+++ b/images/buttonInvolved.png
Binary files differ
diff --git a/images/buttonInvolved_sel.png b/images/buttonInvolved_sel.png
new file mode 100644
index 0000000..346a452
--- /dev/null
+++ b/images/buttonInvolved_sel.png
Binary files differ
diff --git a/images/buttonSupport.png b/images/buttonSupport.png
new file mode 100644
index 0000000..bd36086
--- /dev/null
+++ b/images/buttonSupport.png
Binary files differ
diff --git a/images/buttonSupport_sel.png b/images/buttonSupport_sel.png
new file mode 100644
index 0000000..a535fe8
--- /dev/null
+++ b/images/buttonSupport_sel.png
Binary files differ
diff --git a/index.php b/index.php
new file mode 100755
index 0000000..c7417a1
--- /dev/null
+++ b/index.php
@@ -0,0 +1,29 @@
+<?php
+/*******************************************************************************
+ * Copyright (c) 2009 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:
+ *    
+ *******************************************************************************/
+
+	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());
+	
+	$localVersion = false;
+	
+	# Define these here, or in _projectCommon.php for site-wide values
+	$pageKeywords	= "eclipse, project";
+	$pageAuthor		= "Your name";
+	$pageTitle 		= "My project home";
+	
+	
+	// 	# Paste your HTML content between the EOHTML markers!
+	$html = file_get_contents('pages/_index.html');
+
+	# Generate the web page
+	$App->generatePage($theme, $Menu, null, $pageAuthor, $pageKeywords, $pageTitle, $html);
+
+?>
\ No newline at end of file
diff --git a/pages/_index.html b/pages/_index.html
new file mode 100644
index 0000000..17e0645
--- /dev/null
+++ b/pages/_index.html
@@ -0,0 +1,91 @@
+<div id="bigbuttons">
+<h3>Primary Links</h3>
+<ul>
+	<li><a id="buttonDownload" href="download.php" title="Download">Eclipse
+	Distribution, Update Site, Dropins</a></li>
+	<li><a id="buttonDocumentation" href="midcolumn_example.php"
+		title="Documentation">Tutorials, Examples, Videos, Reference Documentation</a></li>
+	<li><a id="buttonSupport" href="midcolumn_example.php" title="Download">Bug
+	Tracker, Newsgroup, Professional Support</a></li>
+	<li><a id="buttonInvolved" href="midcolumn_example.php" title="Getting Involved">CVS,
+	Workspace Setup, Wiki, Committers</a></li>
+</ul>
+</div>
+
+<div id="midcolumn">
+<h3>MyProject - use this header describe what it does</h3>
+<div id="introText">
+
+<p class="left">MyProject is a framework for development of cool stuff and
+more cool stuff. Just describe your project here very briefly. Use the center 
+section below for a screenshot, a screenshot collage or a screencast.</p>
+
+<p class="right"> This project was just provisioned.  You can see the proposal 
+<a href="/proposals/libra">here</a>
+
+</p>
+
+</div>
+
+ 
+
+<div id="screencast">
+<object width="640" height="480"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8260921&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=DBD7EF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8260921&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=DBD7EF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="480"></embed></object>
+</div>
+
+<!-- 
+<h3>...and yet powerful</h3>
+ -->
+<div id="feature_1">
+
+<h4>Some cool feature</h4>
+<p>MyProject has this really cool feature that you describe here in few words, just as a teaser.</p>
+</div>
+
+<div id="feature_2">
+<h4>Another Feature</h4>
+<p>When working with MyProject, great things happen, and one of them is described here.</p>
+</div>
+
+<div id="feature_3">
+<h4>Another Feature</h4>
+<p>When working with MyProject, great things happen, and one of them is described here.</p>
+</div>
+
+<div id="feature_4">
+<h4>User Experience</h4>
+<p>
+Experiment with style.css to create columns for text, just the way you want it. This section 
+is a bit wider and can contain more words, even small logos or graphics to describe a neat feature in more detail.</p>
+</div>
+
+<div id="feature_more">
+<h4>and much more...</h4>
+<p>Read the MyProject <a href="/project/documentation.php">documentation</a> and join the discussion at the <a href="http://www.eclipse.org/forums/eclipse.newsgroup.name">forum</a> to understand how powerful MyProject is.</p>
+<p> Want to know more? <a href="/projects/project_summary.php?projectid=webtools.libra">About This Project</a>
+</div>
+
+</div>
+
+<div id="rightcolumn">
+
+<div>
+<h3>Current Status</h3>
+<p>Update this section occasionally to let your community know what's new and exciting with your project....</p>
+</div>
+
+<div id="headlines">
+<h3>New and Noteworthy</h3>
+<p>... or a link to your new and noteworthy.</p>
+</div>
+
+<div id="headlines">
+<h3>Headlines on the web</h3>
+<p>Project headlines...</p>
+</div>
+
+<div id="headlines">
+<h3>Another announcement</h3>
+<p>MyProject is pleased to announce...</p>
+</div>
+</div>
\ No newline at end of file
diff --git a/project-info/executive-summary.html b/project-info/executive-summary.html
new file mode 100755
index 0000000..e69de29
--- /dev/null
+++ b/project-info/executive-summary.html
diff --git a/project-info/home-page-one-liner.html b/project-info/home-page-one-liner.html
new file mode 100755
index 0000000..e9b2050
--- /dev/null
+++ b/project-info/home-page-one-liner.html
@@ -0,0 +1 @@
+Phoenix
\ No newline at end of file
diff --git a/project-info/maillist b/project-info/maillist
new file mode 100755
index 0000000..c191d00
--- /dev/null
+++ b/project-info/maillist
@@ -0,0 +1 @@
+::epf-dev::Mailing list for the Eclipse Process Framework Project.
\ No newline at end of file
diff --git a/project-info/newsgroup b/project-info/newsgroup
new file mode 100755
index 0000000..4cb94f6
--- /dev/null
+++ b/project-info/newsgroup
@@ -0,0 +1 @@
+::eclipse.technology.epf::The Eclipse Process Framework (EPF) aims at producing a customizable software process enginering framework, with exemplary process content and tools, supporting a broad variety of project types and development styles. Want to know more? See the EPF home page.
\ No newline at end of file
diff --git a/project-info/project-info.xml b/project-info/project-info.xml
new file mode 100755
index 0000000..c3bf39f
--- /dev/null
+++ b/project-info/project-info.xml
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project>
+  <!--
+     - This example is annotated to be instructive. In order to be instructive, the
+     - example is a mish-mash of information from a variety of projects. Obviously, 
+     - when you write the project-info.xml file for your project, the file will 
+     - contain information only about your one project.
+    -->
+  <!--
+     - Unless otherwise specified, all URLs are to be specified using rooted relative
+     - paths. In other words:
+     -    CORRECT: "/webtools/foo/bar.php"
+     -    INCORRECT: "foo/bar.php"
+     -    INCORRECT: "http://www.eclipse.org/webtools/foo/bar.php"
+    -->
+  
+  <!--
+     - Each Eclipse project as an official name, e.g., 
+     - "AJDT - AspectJ Development Tools Project" and a foundation database 
+     - key, e.g., "technology.ajdt". These are stored in an Eclipse Foundation
+     - database; You can override the name stored on the database by filling 
+     - the <name/> tag
+    -->
+  <name>Phoenix Project</name>
+    
+  <!--     
+     - Each project can also have a short name to be used in HTML lists and 
+     - other horizontally challenged places.
+    -->
+  <short-name>Phoenix</short-name>
+  
+  <!--
+     - Each Eclipse project has one or more Bugzilla products and components.
+     - Some projects also have a separate web page describing how to submit
+     - a bug, how bugs are prioritized, and other useful information.
+     - The <bugzilla> collects this information.
+     - 
+     - <bugzilla url="..."> <product name="..."/> ... </bugzilla>
+     - The url is optional; if absent, the url will default to the Bugzilla
+     - page of the first product. Multiple <product>s are allowed.
+    -->
+  <bugzilla>
+    <product name="Phoenix"/>
+  </bugzilla>
+
+  <!--
+     - Committers and non-committer Contributors are the raison d'etre of 
+     - an Eclipse project, thus each project should list and acknowledge these
+     - developers. Some of the Committers are 'special' in the sense that
+     - they are the project leaders.  The <team> element contains the 
+     - URL of the project's pages listing these important people.
+    -->
+  <team url="/phoenix/about.php" />
+  
+  <!--
+     - The source code of each Eclipse project is stored in CVS. Eclipse maintains
+     - a number of CVS repositories, thus the <cvs> element specifies which
+     - CVS repository and (if applicable) which root path stores this project's
+     - source code.
+     -
+     - A top-level project typically specifies only the repository:
+     -     <cvs repository="/cvsroot/tptp"/>
+     - A sub-project includes the root path as well:
+     -     <cvs repository="/cvsroot/technology/">
+     -       <module path="org.eclipse.higgins" />
+     -     </cvs>
+    -->
+  <cvs repository="/cvsroot/technology/">
+    <module path="org.eclipse.phoenix" /> 
+  </cvs>
+
+  <!--
+     - The description of an Eclipse project shows up in many places: the
+     - project's home page, perhaps the /projects/ page listing all the
+     - top-level projects, in the Roadmap, and so on. Some of the descriptions
+     - are separate HTML files (such as those described in 
+     - http://phoenix.eclipse.org/projects/dev_process/project-status-infrastructure.php).
+     - It would be nice 
+     - This <description> element contains two additional descriptions.
+     -    1. The optional <description url="..."> points to a web page with a larger
+     -       description of the entire project. 
+     -    2. The required <description paragraph-url="..."> points to a file
+     -       containing a couple of simple HTML paragraphs describing the project. 
+     -       This file is often stored in the /project-info/ directory, thus the
+     -       url would be something like "/tptp/project-info/description.html".
+    -->
+  <description url="/phoenix/about.php"
+     paragraph-url="/phoenix/project-info/project-page-paragraph.html"/>
+  
+  <!--
+     - In addition to the description, each Eclipse project is also required to
+     - provide an up-to-date status summary. "Up to date" means revised at least
+     - quarterly. 
+     - The required <summary paragraph-url="..."> points to a file
+     - containing a number of simple HTML paragraphs with an executive summary
+     - of the project status.
+     - This file is often stored in the /project-info/ directory, thus the
+     - url would be something like "/technology/project-info/executive-summary.html".
+    -->
+  <summary paragraph-url="/technology/phoenix/project-info/executive-summary.html"/>
+
+  <!--
+     - It is important to help new users get started with an Eclipse project
+     - because most Eclipse projects are solving some difficult technical
+     - problem and thus are somewhat complex. The <getting-started> element
+     - points to a web page on the project's site that describes how to
+     - get started using and extending the project's tools and frameworks.
+    -->
+  <getting-started url="/phoenix/docs/" />
+  
+  <!--
+     - It is also important to help new contributors get started with an Eclipse project.
+     - Most Eclipse projects have interesting/complex development environment
+     - setups or to-do lists. The <contributing> element
+     - points to a web page on the project's site that describes how to
+     - get started developing on, and contributing to, the project.
+    -->
+  <contributing url="/phoenix/docs/" />
+  
+  <!--
+     - Each Eclipse project is required to maintain a current Project IP Log.
+     - See http://www.eclipse.org/projects/dev_process/project-log.php
+     - The <ip-log> contains the URL of that log.  If the project has
+     - other legal information as well, it can use the <legal> element
+     - instead and then include the IP Log information on the Legal web page.
+    -->
+  <ip-log url="" /> 
+  <legal url="" /> 
+
+  <!--
+     - Each Eclipse project has one or more mailing lists.
+     - Some projects also have a separate web page describing these lists
+     - while others rely on the main Eclipse mailing lists page.
+     - 
+     - <mailing-lists url="..."> <list name="..."/> ... </mailing-lists>
+     - The url is optional; if absent, the url will default to the Eclipse
+     - mailing lists page. Multiple <lists>s are allowed.
+     -
+     - Note that currently mailing lists must be redundantly listed in
+     - the separate project-info/maillist file as well.
+    -->
+  <mailing-lists>
+    <list name="phoenix-dev"/>
+  </mailing-lists>
+  
+  <!--
+     - Each Eclipse project has one or more newsgroups.
+     - Some projects also have a separate web page describing these lists
+     - while others rely on the main Eclipse newsgroups page.
+     - 
+     - <newsgroups url="..."> <newsgroup name="..."/> ... </newsgroups>
+     - The url is optional; if absent, the url will default to the Eclipse
+     - newsgroups page. Multiple <newsgroups>s are allowed.
+    -->
+  <newsgroups>
+    <newsgroup name="eclipse.technology.phoenix" />
+  </newsgroups>
+  
+  <!--
+     - The dashboard attempts to measure the liveness of a project in many
+     - ways including the traffic on the mailing lists and newsgroups. There
+     - are other places where significant project-related traffic can occur
+     - including blogs and articles. When listed here, the dashboard incorporates
+     - them into the liveness measure (or rather, "will incorporate").
+    -->
+  <articles>
+  </articles>
+  
+  <blogs>
+  </blogs>
+  
+  <!--
+     - Each Eclipse project needs to have a plan both for its internal purposes
+     - (to guide development and resource allocation) and for the larger Eclipse
+     - community and ecosystem to understand what will be delivered and when
+     - it will be delivered.
+    -->
+  <project-plan url="" />
+
+  <!--
+     - Each Eclipse project creates (optional) nightly builds and milestone builds,
+     - but the important builds of a project are the releases. This section of the
+     - status file records the completed (past) and scheduled (future) releases of
+     - the project. 
+     - The status, name, and date are required attributes. The download is optional
+     - and only valid for completed releases; the plan is optional and valid for
+     - all releases.  The three valid types of releases are, in order of ascending 
+     - uncertainity: "completed", "scheduled", and "tentative".  Dates can be
+     - specified as particular day DD/MM/YYYY (e.g., 22/03/2005) or a particular
+     - month MM/YYYY (e.g., 10/2005), or a quarter NQYYYY (e.g., 3Q2005). Obviously
+     - completed releases should include the exact day the release was completed.
+     -
+     - In the following example, we have three completed, two scheduled, and one 
+     - tentative release.
+    -->
+  <releases>
+  </releases>
+</project>
\ No newline at end of file
diff --git a/project-info/project-page-paragraph.html b/project-info/project-page-paragraph.html
new file mode 100755
index 0000000..184c8df
--- /dev/null
+++ b/project-info/project-page-paragraph.html
@@ -0,0 +1 @@
+The purpose of this project is to improve the usability of the eclipse.org site, improving productivity and reducing duplication of effort across the eclipse user community.
\ No newline at end of file
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..edf76c9
--- /dev/null
+++ b/style.css
@@ -0,0 +1,190 @@
+@CHARSET "UTF-8";
+#novaContent {
+	background: url("images/backgroundMain.png") no-repeat;
+	padding-top: 210px;
+}
+
+#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;
+}
+
+
+#novaContent {
+	background: url("images/backgroundMain.png") no-repeat white;
+	padding-top: 170px;
+}
+
+#introText p.left {
+	width: 48%;
+	float: left;
+}
+
+#introText p.right {
+	width: 48%;
+	float: right;
+}
+
+#feature_1 {
+	float: left;
+	width: 30%;
+	margin-right: 3%;
+}
+
+#feature_2 {
+	float: left;
+	width: 30%;
+	margin-right: 3%
+}
+
+#feature_3 {
+	float: left;
+	width: 30%;
+}
+
+#feature_4 {
+	clear: both;
+	float: left;
+	width: 63%;
+	margin-right: 3%;	
+}
+
+#feature_more {
+	float: left;
+	width: 30%;
+}
+	
+#bigbuttons {
+	position: relative;
+	left: 420px;
+	top: -170px;
+}
+#bigbuttons h3{
+	visibility: hidden;
+}
+
+#bigbuttons a {
+}
+
+#bigbuttons ul li {
+   display:block;
+   list-style-type:none;
+   background-color: red;
+   padding: 0;
+   margin: 0;
+}
+
+#bigbuttons a:hover {
+	text-decoration: none;
+}
+
+#bigbuttons a {
+   display: block;
+   height:77px; width:250px;
+   padding: 0;
+   margin: 20px;
+   text-indent: -9000px;
+   position: absolute;
+}
+
+#buttonDownload {
+   background:transparent url("images/buttonDownload.png") no-repeat 0 0;
+   top: 0px;
+   left: 0px;
+}
+
+#buttonDownload:hover {
+   background:transparent url("images/buttonDownload_sel.png") no-repeat 0 0;
+}
+
+   
+#buttonDocumentation {
+   background:transparent url("images/buttonDocumentation.png") no-repeat 0 0;
+   top: 87px;
+   left: 0px;
+}
+
+#buttonDocumentation:hover {
+   background:transparent url("images/buttonDocumentation_sel.png") no-repeat 0 0;
+}
+
+#buttonSupport {
+   background:transparent url("images/buttonSupport.png") no-repeat 0 0;
+   top: 0px;
+   left: 280px;
+}
+
+#buttonSupport:hover {
+   background:transparent url("images/buttonSupport_sel.png") no-repeat 0 0;
+}
+
+#buttonInvolved {
+   background:transparent url("images/buttonInvolved.png") no-repeat 0 0;
+   top: 87px;
+   left: 280px;
+}
+
+#buttonInvolved:hover {
+   background:transparent url("images/buttonInvolved_sel.png") no-repeat 0 0;
+}
+
+#bigbuttons a * {
+	visibility: hidden;
+}
+
+#headlines {
+}
+
+#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;
+	}
+	
+#screencast {
+	margin-bottom: 10px;
+}
+
+#newAndNoteworthy a {
+   display: block;
+   width:218px; 
+   height:51px;
+   padding: 0;
+   text-indent: -9000px;
+   background:transparent url("images/bannerNewAndNoteworthy08M4.png") no-repeat 0 0;
+   margin-top: 10px;
+}
\ No newline at end of file
