diff --git a/content/allura/css/style.css b/content/allura/css/style.css
new file mode 100644
index 0000000..7de1707
--- /dev/null
+++ b/content/allura/css/style.css
@@ -0,0 +1,357 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+body {
+  color: white;
+  font-family: Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif;
+  font-size: 12pt;
+  margin: 0;
+}
+
+#banner {
+  height: 150px;
+  padding: 0 0 0 0;
+  color: black;
+  font-family: Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif;
+  font-size:16pt;
+  vertical-align: middle;
+}
+
+#bannerright {
+  text-align: right;
+  float: right;
+  padding: 34pt 36pt 26pt 36pt;
+}
+
+#bannercenter {
+  padding: 46pt 2pt 50pt 2pt;
+  float: center;
+  color: #107EC0;
+}
+
+#bannerleft {
+  text-align: left;
+  float: left;
+}
+
+#bannerleft a:hover {
+ color: #107EC0;
+ background-color: white;
+}
+
+a {
+  color: #107EC0;
+}
+
+a:visited {
+ color: #107EC0;
+}
+
+a:hover {
+ color: #107EC0;
+ text-decoration:underline;
+}
+
+a img { border: none; }
+
+h1,h2,h3,h4,h5,h6 {
+  color: #193240;
+  text-transform:uppercase;
+}
+
+#clear {
+  overflow: auto;
+  clear: both;
+}
+
+#content {
+  margin: 0 50px 20px 50px;
+  padding: 0 8px 40px;
+  color: #333;
+  overflow: auto;
+  clear: both;
+}
+
+#content h1,h2,h3,h4,h5,h6 {
+  font-weight: normal;
+  text-transform:none;
+  margin: 10px 0 15px;
+  padding: 5px 0;
+}
+
+#content h1 {
+  font-size: 1.4em;
+  padding: 15px;
+  border-top: 1px solid #a3afb6;
+}
+
+#content h2 {
+  font-size: 1.2em;
+  margin-top: 2em;
+}
+
+#content h3,h4,h5,h6 {
+  border-bottom: none;
+  font-size: 1em;
+  margin-bottom: 0;
+}
+
+#content li {
+  margin-bottom: 0.5em;
+}
+
+#contenta {
+  margin: 0 150px 20px 250px;
+  padding: 0 8px 40px;
+  color: #333;
+}
+
+#contenta h1,h2,h3,h4,h5,h6 {
+  font-weight: normal;
+  margin: 10px 0 15px;
+  padding: 5px 0;
+}
+
+#contenta h1 {
+  font-size: 1.4em;
+  padding: 15px;
+  border-top: 1px solid #a3afb6;
+}
+
+#contenta h2 {
+  font-size: 1.2em;
+  margin-top: 2em;
+  border-bottom: 1px solid #a3afb6;
+}
+
+#contenta h3,h4,h5,h6 {
+  border-bottom: none;
+  font-size: 1em;
+  margin-bottom: 0;
+}
+
+#contenta li {
+  margin-bottom: 0.5em;
+}
+
+#contenta a:hover {
+ color: #107EC0;
+ text-decoration:underline;
+ background-color: #e6ebed;
+}
+
+table {
+  border-collapse:collapse;
+  margin: auto;
+}
+
+th {
+  height: 40px;
+  background: #f5f8fa;
+  border: 1px solid #a3afb6;
+  vertical-align: middle;
+  font-size: 0.9em;
+}
+
+td {
+  vertical-align: top;
+  border: 1px solid #a3afb6;
+  padding: 0.4em 0.5em 0.4em 0.5em;
+  font-size: 0.9em;
+}
+
+.w140 {
+  width: 140px;
+}
+
+.w160 {
+  width: 160px;
+}
+
+.w180 {
+  width: 180px;
+}
+
+.w200 {
+  width: 200px;
+}
+
+.w220 {
+  width: 220px;
+}
+
+.codehilite {
+  background-color: #F0F000;
+  padding: 0.01em 1em;
+  border-radius: 10px;
+}
+
+#sidenav {
+  border: 1px solid #e6ebed;
+  border-left: none;
+  -moz-border-radius: 0 10px 10px 0;
+  border-radius: 0 10px 10px 0;
+  font-size: 0.9em;
+  color: #003;
+  float: left;
+  padding: 15px 15px 5px 25px;
+  width: 180px;
+  background: none repeat scroll 0 0 #f5f8fa;
+  margin: 0 0 20px 0;
+}
+
+#sidenav img {
+  padding-bottom: 15px;
+  margin-left: auto;
+  margin-right: auto;
+  display: block;
+}
+
+#sidenav h1 {
+  color: #000;
+  font-size: 1em;
+  padding: 0;
+  margin-top: 0.8em;
+  margin-bottom: 0;
+  border-bottom: 1px solid #a3afb6;
+}
+
+#sidenav ul {
+  margin: 0 0;
+  padding: 0;
+  list-style: none;
+}
+
+#sidenav li {
+  border-bottom: 1px solid #e6ebed; 
+  margin: 0.2em 0;
+  padding: 0;
+}
+
+#sidenav li a {
+  margin: 0;
+  text-decoration:none;
+}
+
+#sidenav li a:hover {
+  color: #193240;
+  background: none;
+}
+
+#navigation {
+  border: 1px solid #e6ebed;
+  border-left: none;
+  -moz-border-radius: 0 10px 10px 0;
+  border-radius: 0 10px 10px 0;
+  font-size: 0.9em;
+  color: #003;
+  float: left;
+  padding: 15px 15px 5px 25px;
+  width: 180px;
+  background: none repeat scroll 0 0 #f5f8fa;
+  margin: 0 0 20px 0;
+}
+
+#navigation img {
+  padding-bottom: 15px;
+  margin-left: auto;
+  margin-right: auto;
+  display: block;
+}
+
+#navigation h1 {
+  color: #000;
+  font-size: 1em;
+  padding: 0;
+  margin-top: 0.8em;
+  margin-bottom: 0;
+  border-bottom: 1px solid #a3afb6;
+}
+
+#navigation ul {
+  margin: 0 0;
+  padding: 0;
+  list-style: none;
+}
+
+#navigation li {
+  border-bottom: 1px solid #e6ebed; 
+  margin: 0.2em 0;
+  padding: 0;
+}
+
+#navigation li a {
+  margin: 0;
+  text-decoration:none;
+}
+
+#navigation li a:hover {
+ color: #107EC0;
+ background-color: #e6ebed;
+}
+
+#footera {
+  margin: 20px 0px 0px 0px;
+  padding: 8px 0px 12px 0px;
+  border-top: 2px solid #ccc;
+  color:#666;
+  font-size: 8pt;
+  padding: 0 8px;
+  text-align: left;
+  overflow: auto;
+  clear: both;
+  line-height: 10pt;
+}
+
+#copyrighta {
+}
+
+#copyrighta p {
+  padding-left: 20px;
+  line-height: 10pt;
+  padding-bottom: 5px;
+}
+
+#copyrighta a {
+ color: #107EC0;
+ text-decoration:underline;
+}
+
+#copyrighta a:hover {
+ background-color: #e6ebed;
+}
+
+#poweredby {
+  float: right;
+  text-align: right;
+  width: 210px;
+  height: 100px;
+}
+
+#asf-logo {
+  width: 180px;
+  padding-top: 20px;
+}
+
+
+
+/* definition lists */
+dd {}
+dl {}
+dt {
+  display: inline;
+  float: left;
+}
\ No newline at end of file
