diff --git a/docs/doxygen.conf.in b/docs/Doxyfile.in
similarity index 98%
rename from docs/doxygen.conf.in
rename to docs/Doxyfile.in
index dbf27ba..d64587c 100644
--- a/docs/doxygen.conf.in
+++ b/docs/Doxyfile.in
@@ -51,7 +51,7 @@
 # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
 # the logo to the output directory.
 
-PROJECT_LOGO           =
+PROJECT_LOGO           = ../docs/ndn-logo.svg
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
 # into which the generated documentation will be written. If a relative path is
@@ -1091,7 +1091,7 @@
 # of the possible markers and block names see the documentation.
 # This tag requires that the tag GENERATE_HTML is set to YES.
 
-HTML_HEADER            = ../docs/named_data_theme/named_data_header.html
+HTML_HEADER            =
 
 # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
 # generated HTML page. If the tag is left blank doxygen will generate a standard
@@ -1101,7 +1101,7 @@
 # that doxygen normally uses.
 # This tag requires that the tag GENERATE_HTML is set to YES.
 
-HTML_FOOTER            = @HTML_FOOTER@
+HTML_FOOTER            =
 
 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
 # sheet that is used by each HTML page. It can be used to fine-tune the look of
@@ -1113,7 +1113,7 @@
 # obsolete.
 # This tag requires that the tag GENERATE_HTML is set to YES.
 
-HTML_STYLESHEET        = ../docs/named_data_theme/static/named_data_doxygen.css
+HTML_STYLESHEET        =
 
 # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
 # cascading style sheets that are included after the standard style sheets
@@ -1126,7 +1126,7 @@
 # list). For an example see the documentation.
 # This tag requires that the tag GENERATE_HTML is set to YES.
 
-HTML_EXTRA_STYLESHEET  =
+HTML_EXTRA_STYLESHEET  = ../docs/doxygen-logo.css
 
 # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
 # other source files which should be copied to the HTML output directory. Note
@@ -1136,10 +1136,20 @@
 # files will be copied as-is; there are no commands or markers available.
 # This tag requires that the tag GENERATE_HTML is set to YES.
 
-HTML_EXTRA_FILES       = ../docs/named_data_theme/static/doxygen.css \
-                         ../docs/named_data_theme/static/base.css \
-                         ../docs/named_data_theme/static/foundation.css \
-                         ../docs/named_data_theme/static/bar-top.png
+HTML_EXTRA_FILES       =
+
+# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output
+# should be rendered with a dark or light theme.
+# Possible values are: LIGHT always generate light mode output, DARK always
+# generate dark mode output, AUTO_LIGHT automatically set the mode according to
+# the user preference, use light mode if no preference is set (the default),
+# AUTO_DARK automatically set the mode according to the user preference, use
+# dark mode if no preference is set and TOGGLE allow to user to switch between
+# light and dark mode via a button.
+# The default value is: AUTO_LIGHT.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE        = TOGGLE
 
 # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
 # will adjust the colors in the style sheet and background images according to
@@ -1150,7 +1160,7 @@
 # Minimum value: 0, maximum value: 359, default value: 220.
 # This tag requires that the tag GENERATE_HTML is set to YES.
 
-HTML_COLORSTYLE_HUE    = 0
+HTML_COLORSTYLE_HUE    =
 
 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
 # in the HTML output. For a value of 0 the output will use grayscales only. A
@@ -1158,7 +1168,7 @@
 # Minimum value: 0, maximum value: 255, default value: 100.
 # This tag requires that the tag GENERATE_HTML is set to YES.
 
-HTML_COLORSTYLE_SAT    = 0
+HTML_COLORSTYLE_SAT    =
 
 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
 # luminance component of the colors in the HTML output. Values below 100
@@ -1169,7 +1179,7 @@
 # Minimum value: 40, maximum value: 240, default value: 80.
 # This tag requires that the tag GENERATE_HTML is set to YES.
 
-HTML_COLORSTYLE_GAMMA  = 91
+HTML_COLORSTYLE_GAMMA  = 65
 
 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
 # documentation will contain sections that can be hidden and shown after the
diff --git a/docs/doxygen-logo.css b/docs/doxygen-logo.css
new file mode 100644
index 0000000..0d1e003
--- /dev/null
+++ b/docs/doxygen-logo.css
@@ -0,0 +1,2 @@
+#projectlogo { vertical-align: middle; }
+#projectlogo img { height: 50px; width: 200px; }
diff --git a/docs/named_data_theme/named_data_footer-with-analytics.html.in b/docs/named_data_theme/named_data_footer-with-analytics.html.in
deleted file mode 100644
index 68a4a9d..0000000
--- a/docs/named_data_theme/named_data_footer-with-analytics.html.in
+++ /dev/null
@@ -1,32 +0,0 @@
-<!-- start footer part -->
-<!--BEGIN GENERATE_TREEVIEW-->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
-  <ul>
-    $navpath
-    <li class="footer">$generatedby
-    <a href="http://www.doxygen.org/index.html">
-    <img class="footer" src="$relpath$doxygen.png" alt="doxygen"/></a> $doxygenversion </li>
-  </ul>
-</div>
-<!--END GENERATE_TREEVIEW-->
-<!--BEGIN !GENERATE_TREEVIEW-->
-<hr class="footer"/>
-<address class="footer"><small>
-$generatedby &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="$relpath$doxygen.png" alt="doxygen"/>
-</a> $doxygenversion
-</small></address>
-<!--END !GENERATE_TREEVIEW-->
-
-<script>
-  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-
-  ga('create', '@GOOGLE_ANALYTICS@', 'auto');
-  ga('send', 'pageview');
-</script>
-
-</body>
-</html>
diff --git a/docs/named_data_theme/named_data_footer.html b/docs/named_data_theme/named_data_footer.html
deleted file mode 100644
index 77fc327..0000000
--- a/docs/named_data_theme/named_data_footer.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!-- start footer part -->
-<!--BEGIN GENERATE_TREEVIEW-->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
-  <ul>
-    $navpath
-    <li class="footer">$generatedby
-    <a href="http://www.doxygen.org/index.html">
-    <img class="footer" src="$relpath$doxygen.png" alt="doxygen"/></a> $doxygenversion </li>
-  </ul>
-</div>
-<!--END GENERATE_TREEVIEW-->
-<!--BEGIN !GENERATE_TREEVIEW-->
-<hr class="footer"/>
-<address class="footer"><small>
-$generatedby &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="$relpath$doxygen.png" alt="doxygen"/>
-</a> $doxygenversion
-</small></address>
-<!--END !GENERATE_TREEVIEW-->
-
-<script type="text/javascript">
-</script>
-</body>
-</html>
diff --git a/docs/named_data_theme/named_data_header.html b/docs/named_data_theme/named_data_header.html
deleted file mode 100644
index 1bb6abc..0000000
--- a/docs/named_data_theme/named_data_header.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
-<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
-<link href="$relpath$tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="$relpath$jquery.js"></script>
-<script type="text/javascript" src="$relpath$dynsections.js"></script>
-$treeview
-$search
-$mathjax
-<link href="$relpath$doxygen.css" rel="stylesheet" type="text/css"/>
-<link href="$relpath$named_data_doxygen.css" rel="stylesheet" type="text/css" />
-<link href="$relpath$favicon.ico" rel="shortcut icon" type="image/ico" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-
-<!--BEGIN TITLEAREA-->
-<!--headercontainer-->
-<div id="header_container">
-
-    <!--header-->
-    <div class="row">
-         <div class="three columns">
-              <div id="logo">
-                    <a href="https://named-data.net" title="A Future Internet Architecture"><img src="https://named-data.net/wp-content/uploads/cropped-20130722_Logo2.png" alt="" /></a>
-              </div><!--logo end-->
-         </div>
-
-         <!--top menu-->
-         <div class="nine columns" id="menu_container" >
-           <h1><a href="https://docs.named-data.net/ndn-cxx/$projectnumber/">$projectname $projectnumber documentation</a></h1>
-         </div>
-    </div>
-</div><!--header container end-->
-<!--END TITLEAREA-->
-
-<!-- end header part -->
diff --git a/docs/named_data_theme/static/bar-top.png b/docs/named_data_theme/static/bar-top.png
deleted file mode 100644
index 07cafb6..0000000
--- a/docs/named_data_theme/static/bar-top.png
+++ /dev/null
Binary files differ
diff --git a/docs/named_data_theme/static/base.css b/docs/named_data_theme/static/base.css
deleted file mode 100644
index 164d1c1..0000000
--- a/docs/named_data_theme/static/base.css
+++ /dev/null
@@ -1,71 +0,0 @@
-* {
-  margin: 0px;
-  padding: 0px;
-}
-
-html { font-size: 62.5%; }
-
-body {
-  font-family: "Verdana", Arial, sans-serif;
-  background-color: #eeeeec;
-  color: #777;
-  border-top: 4px solid #fd7800;
-}
-
-body { background: white; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1; color: #222222; position: relative; -webkit-font-smoothing: antialiased; }
-
-.clearer {
-  clear: both;
-}
-
-.left {
-  float: left;
-}
-
-.right {
-  float: right;
-}
-
-.line-block {
-    display: block;
-    margin-top: 1em;
-    margin-bottom: 1em;
-}
-
-.line-block .line-block {
-    margin-top: 0;
-    margin-bottom: 0;
-    margin-left: 1.5em;
-}
-
-h1, h2, h3, h4 {
-  font-family: "Georgia", "Times New Roman", serif;
-  font-weight: normal;
-  color: #3465a4;
-  margin-bottom: .8em;
-}
-
-h1 {
-  color: #204a87;
-}
-
-h2 {
-  padding-bottom: .5em;
-  border-bottom: 1px solid #3465a4;
-}
-
-a.headerlink {
-  visibility: hidden;
-  color: #dddddd;
-  padding-left: .3em;
-}
-
-h1:hover > a.headerlink,
-h2:hover > a.headerlink,
-h3:hover > a.headerlink,
-h4:hover > a.headerlink,
-h5:hover > a.headerlink,
-h6:hover > a.headerlink,
-dt:hover > a.headerlink {
-  visibility: visible;
-}
diff --git a/docs/named_data_theme/static/bc_s.png b/docs/named_data_theme/static/bc_s.png
deleted file mode 100644
index eebf862..0000000
--- a/docs/named_data_theme/static/bc_s.png
+++ /dev/null
Binary files differ
diff --git a/docs/named_data_theme/static/doxygen.css b/docs/named_data_theme/static/doxygen.css
deleted file mode 100644
index e5c796e..0000000
--- a/docs/named_data_theme/static/doxygen.css
+++ /dev/null
@@ -1,1157 +0,0 @@
-/* The standard CSS for doxygen */
-
-body, table, div, p, dl {
-	font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
-	font-size: 13px;
-	line-height: 1.3;
-}
-
-/* @group Heading Levels */
-
-h1 {
-	font-size: 150%;
-}
-
-.title {
-	font-size: 150%;
-	font-weight: bold;
-	margin: 10px 2px;
-}
-
-h2 {
-	font-size: 120%;
-}
-
-h3 {
-	font-size: 100%;
-}
-
-h1, h2, h3, h4, h5, h6 {
-	-webkit-transition: text-shadow 0.5s linear;
-	-moz-transition: text-shadow 0.5s linear;
-	-ms-transition: text-shadow 0.5s linear;
-	-o-transition: text-shadow 0.5s linear;
-	transition: text-shadow 0.5s linear;
-	margin-right: 15px;
-}
-
-h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
-	text-shadow: 0 0 15px cyan;
-}
-
-dt {
-	font-weight: bold;
-}
-
-div.multicol {
-	-moz-column-gap: 1em;
-	-webkit-column-gap: 1em;
-	-moz-column-count: 3;
-	-webkit-column-count: 3;
-}
-
-p.startli, p.startdd, p.starttd {
-	margin-top: 2px;
-}
-
-p.endli {
-	margin-bottom: 0px;
-}
-
-p.enddd {
-	margin-bottom: 4px;
-}
-
-p.endtd {
-	margin-bottom: 2px;
-}
-
-/* @end */
-
-caption {
-	font-weight: bold;
-}
-
-span.legend {
-        font-size: 70%;
-        text-align: center;
-}
-
-h3.version {
-        font-size: 90%;
-        text-align: center;
-}
-
-div.qindex, div.navtab{
-	background-color: #EFEFEF;
-	border: 1px solid #B5B5B5;
-	text-align: center;
-}
-
-div.qindex, div.navpath {
-	width: 100%;
-	line-height: 140%;
-}
-
-div.navtab {
-	margin-right: 15px;
-}
-
-/* @group Link Styling */
-
-a {
-	color: #585858;
-	font-weight: normal;
-	text-decoration: none;
-}
-
-/*.contents a:visited {
-	color: #686868;
-}*/
-
-a:hover {
-	text-decoration: underline;
-}
-
-a.qindex {
-	font-weight: bold;
-}
-
-a.qindexHL {
-	font-weight: bold;
-	background-color: #B0B0B0;
-	color: #ffffff;
-	border: 1px double #9F9F9F;
-}
-
-.contents a.qindexHL:visited {
-        color: #ffffff;
-}
-
-a.el {
-	font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code, a.code:visited {
-	color: #4665A2;
-}
-
-a.codeRef, a.codeRef:visited {
-	color: #4665A2;
-}
-
-/* @end */
-
-dl.el {
-	margin-left: -1cm;
-}
-
-pre.fragment {
-        border: 1px solid #C4CFE5;
-        background-color: #FBFCFD;
-        padding: 4px 6px;
-        margin: 4px 8px 4px 2px;
-        overflow: auto;
-        word-wrap: break-word;
-        font-size:  9pt;
-        line-height: 125%;
-        font-family: monospace, fixed;
-        font-size: 105%;
-}
-
-div.fragment {
-        padding: 4px;
-        margin: 4px;
-	background-color: #FCFCFC;
-	border: 1px solid #D0D0D0;
-}
-
-div.line {
-	font-family: monospace, fixed;
-        font-size: 13px;
-	min-height: 13px;
-	line-height: 1.0;
-	text-wrap: unrestricted;
-	white-space: -moz-pre-wrap; /* Moz */
-	white-space: -pre-wrap;     /* Opera 4-6 */
-	white-space: -o-pre-wrap;   /* Opera 7 */
-	white-space: pre-wrap;      /* CSS3  */
-	word-wrap: break-word;      /* IE 5.5+ */
-	text-indent: -53px;
-	padding-left: 53px;
-	padding-bottom: 0px;
-	margin: 0px;
-	-webkit-transition-property: background-color, box-shadow;
-	-webkit-transition-duration: 0.5s;
-	-moz-transition-property: background-color, box-shadow;
-	-moz-transition-duration: 0.5s;
-	-ms-transition-property: background-color, box-shadow;
-	-ms-transition-duration: 0.5s;
-	-o-transition-property: background-color, box-shadow;
-	-o-transition-duration: 0.5s;
-	transition-property: background-color, box-shadow;
-	transition-duration: 0.5s;
-}
-
-div.line.glow {
-	background-color: cyan;
-	box-shadow: 0 0 10px cyan;
-}
-
-
-span.lineno {
-	padding-right: 4px;
-	text-align: right;
-	border-right: 2px solid #0F0;
-	background-color: #E8E8E8;
-        white-space: pre;
-}
-span.lineno a {
-	background-color: #D8D8D8;
-}
-
-span.lineno a:hover {
-	background-color: #C8C8C8;
-}
-
-div.ah {
-	background-color: black;
-	font-weight: bold;
-	color: #ffffff;
-	margin-bottom: 3px;
-	margin-top: 3px;
-	padding: 0.2em;
-	border: solid thin #333;
-	border-radius: 0.5em;
-	-webkit-border-radius: .5em;
-	-moz-border-radius: .5em;
-	box-shadow: 2px 2px 3px #999;
-	-webkit-box-shadow: 2px 2px 3px #999;
-	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
-	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
-	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
-}
-
-div.groupHeader {
-	margin-left: 16px;
-	margin-top: 12px;
-	font-weight: bold;
-}
-
-div.groupText {
-	margin-left: 16px;
-	font-style: italic;
-}
-
-body {
-	background-color: white;
-	color: black;
-        margin: 0;
-}
-
-div.contents {
-	margin-top: 10px;
-	margin-left: 12px;
-	margin-right: 8px;
-}
-
-td.indexkey {
-	background-color: #EFEFEF;
-	font-weight: bold;
-	border: 1px solid #D0D0D0;
-	margin: 2px 0px 2px 0;
-	padding: 2px 10px;
-        white-space: nowrap;
-        vertical-align: top;
-}
-
-td.indexvalue {
-	background-color: #EFEFEF;
-	border: 1px solid #D0D0D0;
-	padding: 2px 10px;
-	margin: 2px 0px;
-}
-
-tr.memlist {
-	background-color: #F1F1F1;
-}
-
-p.formulaDsp {
-	text-align: center;
-}
-
-img.formulaDsp {
-
-}
-
-img.formulaInl {
-	vertical-align: middle;
-}
-
-div.center {
-	text-align: center;
-        margin-top: 0px;
-        margin-bottom: 0px;
-        padding: 0px;
-}
-
-div.center img {
-	border: 0px;
-}
-
-address.footer {
-	text-align: right;
-	padding-right: 12px;
-}
-
-img.footer {
-	border: 0px;
-	vertical-align: middle;
-}
-
-/* @group Code Colorization */
-
-span.keyword {
-	color: #008000
-}
-
-span.keywordtype {
-	color: #604020
-}
-
-span.keywordflow {
-	color: #e08000
-}
-
-span.comment {
-	color: #800000
-}
-
-span.preprocessor {
-	color: #806020
-}
-
-span.stringliteral {
-	color: #002080
-}
-
-span.charliteral {
-	color: #008080
-}
-
-span.vhdldigit {
-	color: #ff00ff
-}
-
-span.vhdlchar {
-	color: #000000
-}
-
-span.vhdlkeyword {
-	color: #700070
-}
-
-span.vhdllogic {
-	color: #ff0000
-}
-
-blockquote {
-        background-color: #F8F8F8;
-        border-left: 2px solid #B0B0B0;
-        margin: 0 24px 0 4px;
-        padding: 0 12px 0 16px;
-}
-
-/* @end */
-
-/*
-.search {
-	color: #003399;
-	font-weight: bold;
-}
-
-form.search {
-	margin-bottom: 0px;
-	margin-top: 0px;
-}
-
-input.search {
-	font-size: 75%;
-	color: #000080;
-	font-weight: normal;
-	background-color: #e8eef2;
-}
-*/
-
-td.tiny {
-	font-size: 75%;
-}
-
-.dirtab {
-	padding: 4px;
-	border-collapse: collapse;
-	border: 1px solid #B5B5B5;
-}
-
-th.dirtab {
-	background: #EFEFEF;
-	font-weight: bold;
-}
-
-hr {
-	height: 0px;
-	border: none;
-	border-top: 1px solid #6E6E6E;
-}
-
-hr.footer {
-	height: 1px;
-}
-
-/* @group Member Descriptions */
-
-table.memberdecls {
-	border-spacing: 0px;
-	padding: 0px;
-}
-
-.memberdecls td {
-	-webkit-transition-property: background-color, box-shadow;
-	-webkit-transition-duration: 0.5s;
-	-moz-transition-property: background-color, box-shadow;
-	-moz-transition-duration: 0.5s;
-	-ms-transition-property: background-color, box-shadow;
-	-ms-transition-duration: 0.5s;
-	-o-transition-property: background-color, box-shadow;
-	-o-transition-duration: 0.5s;
-	transition-property: background-color, box-shadow;
-	transition-duration: 0.5s;
-}
-
-.memberdecls td.glow {
-	background-color: cyan;
-	box-shadow: 0 0 15px cyan;
-}
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
-	background-color: #FAFAFA;
-	border: none;
-	margin: 4px;
-	padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
-	padding: 0px 8px 4px 8px;
-	color: #555;
-}
-
-.memItemLeft, .memItemRight, .memTemplParams {
-	border-top: 1px solid #D0D0D0;
-}
-
-.memItemLeft, .memTemplItemLeft {
-        white-space: nowrap;
-}
-
-.memItemRight {
-	width: 100%;
-}
-
-.memTemplParams {
-	color: #686868;
-        white-space: nowrap;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation */
-
-.memtemplate {
-	font-size: 80%;
-	color: #686868;
-	font-weight: normal;
-	margin-left: 9px;
-}
-
-.memnav {
-	background-color: #EFEFEF;
-	border: 1px solid #B5B5B5;
-	text-align: center;
-	margin: 2px;
-	margin-right: 15px;
-	padding: 2px;
-}
-
-.mempage {
-	width: 100%;
-}
-
-.memitem {
-	padding: 0;
-	margin-bottom: 10px;
-	margin-right: 5px;
-        -webkit-transition: box-shadow 0.5s linear;
-        -moz-transition: box-shadow 0.5s linear;
-        -ms-transition: box-shadow 0.5s linear;
-        -o-transition: box-shadow 0.5s linear;
-        transition: box-shadow 0.5s linear;
-        display: table !important;
-        width: 100%;
-}
-
-.memitem.glow {
-         box-shadow: 0 0 15px cyan;
-}
-
-.memname {
-        font-weight: bold;
-        margin-left: 6px;
-}
-
-.memname td {
-	vertical-align: bottom;
-}
-
-.memproto, dl.reflist dt {
-        border-top: 1px solid #B9B9B9;
-        border-left: 1px solid #B9B9B9;
-        border-right: 1px solid #B9B9B9;
-        padding: 6px 0px 6px 0px;
-        color: #323232;
-        font-weight: bold;
-        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
-        background-image:url('nav_f.png');
-        background-repeat:repeat-x;
-        background-color: #E8E8E8;
-        /* opera specific markup */
-        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        border-top-right-radius: 4px;
-        border-top-left-radius: 4px;
-        /* firefox specific markup */
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-        -moz-border-radius-topright: 4px;
-        -moz-border-radius-topleft: 4px;
-        /* webkit specific markup */
-        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        -webkit-border-top-right-radius: 4px;
-        -webkit-border-top-left-radius: 4px;
-
-}
-
-.memdoc, dl.reflist dd {
-        border-bottom: 1px solid #B9B9B9;
-        border-left: 1px solid #B9B9B9;
-        border-right: 1px solid #B9B9B9;
-        padding: 6px 10px 2px 10px;
-        background-color: #FCFCFC;
-        border-top-width: 0;
-        background-image:url('nav_g.png');
-        background-repeat:repeat-x;
-        background-color: #FFFFFF;
-        /* opera specific markup */
-        border-bottom-left-radius: 4px;
-        border-bottom-right-radius: 4px;
-        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        /* firefox specific markup */
-        -moz-border-radius-bottomleft: 4px;
-        -moz-border-radius-bottomright: 4px;
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-        /* webkit specific markup */
-        -webkit-border-bottom-left-radius: 4px;
-        -webkit-border-bottom-right-radius: 4px;
-        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-}
-
-dl.reflist dt {
-        padding: 5px;
-}
-
-dl.reflist dd {
-        margin: 0px 0px 10px 0px;
-        padding: 5px;
-}
-
-.paramkey {
-	text-align: right;
-}
-
-.paramtype {
-	white-space: nowrap;
-}
-
-.paramname {
-	color: #602020;
-	white-space: nowrap;
-}
-.paramname em {
-	font-style: normal;
-}
-.paramname code {
-        line-height: 14px;
-}
-
-.params, .retval, .exception, .tparams {
-        margin-left: 0px;
-        padding-left: 0px;
-}
-
-.params .paramname, .retval .paramname {
-        font-weight: bold;
-        vertical-align: top;
-}
-
-.params .paramtype {
-        font-style: italic;
-        vertical-align: top;
-}
-
-.params .paramdir {
-        font-family: "courier new",courier,monospace;
-        vertical-align: top;
-}
-
-table.mlabels {
-	border-spacing: 0px;
-}
-
-td.mlabels-left {
-	width: 100%;
-	padding: 0px;
-}
-
-td.mlabels-right {
-	vertical-align: bottom;
-	padding: 0px;
-	white-space: nowrap;
-}
-
-span.mlabels {
-        margin-left: 8px;
-}
-
-span.mlabel {
-        background-color: #8F8F8F;
-        border-top:1px solid #787878;
-        border-left:1px solid #787878;
-        border-right:1px solid #D0D0D0;
-        border-bottom:1px solid #D0D0D0;
-	text-shadow: none;
-        color: white;
-        margin-right: 4px;
-        padding: 2px 3px;
-        border-radius: 3px;
-        font-size: 7pt;
-	white-space: nowrap;
-}
-
-
-
-/* @end */
-
-/* these are for tree view when not used as main index */
-
-div.directory {
-        margin: 10px 0px;
-        border-top: 1px solid #A8B8D9;
-        border-bottom: 1px solid #A8B8D9;
-        width: 100%;
-}
-
-.directory table {
-        border-collapse:collapse;
-        width: 100%;
-}
-
-.directory td {
-        margin: 0px;
-        padding: 0px;
-	vertical-align: top;
-}
-
-.directory td.entry {
-        width: 20%;
-        white-space: nowrap;
-        padding-right: 6px;
-}
-
-.directory td.entry a {
-        outline:none;
-}
-
-.directory td.entry a img {
-        border: none;
-}
-
-.directory td.desc {
-        width: 80%;
-        padding-left: 6px;
-	padding-right: 6px;
-	border-left: 1px solid rgba(0,0,0,0.05);
-}
-
-.directory tr.even {
-	padding-left: 6px;
-	background-color: #F8F8F8;
-}
-
-.directory img {
-	vertical-align: -30%;
-}
-
-.directory .levels {
-        white-space: nowrap;
-        width: 100%;
-        text-align: right;
-        font-size: 9pt;
-}
-
-.directory .levels span {
-        cursor: pointer;
-        padding-left: 2px;
-        padding-right: 2px;
-	color: #585858;
-}
-
-div.dynheader {
-        margin-top: 8px;
-	-webkit-touch-callout: none;
-	-webkit-user-select: none;
-	-khtml-user-select: none;
-	-moz-user-select: none;
-	-ms-user-select: none;
-	user-select: none;
-}
-
-address {
-	font-style: normal;
-	color: #3A3A3A;
-}
-
-table.doxtable {
-	border-collapse:collapse;
-        margin-top: 4px;
-        margin-bottom: 4px;
-}
-
-table.doxtable td, table.doxtable th {
-	border: 1px solid #3F3F3F;
-	padding: 3px 7px 2px;
-}
-
-table.doxtable th {
-	background-color: #4F4F4F;
-	color: #FFFFFF;
-	font-size: 110%;
-	padding-bottom: 4px;
-	padding-top: 5px;
-}
-
-table.fieldtable {
-        width: 100%;
-        margin-bottom: 10px;
-        border: 1px solid #B9B9B9;
-        border-spacing: 0px;
-        -moz-border-radius: 4px;
-        -webkit-border-radius: 4px;
-        border-radius: 4px;
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
-        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
-        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
-}
-
-.fieldtable td, .fieldtable th {
-        padding: 3px 7px 2px;
-}
-
-.fieldtable td.fieldtype, .fieldtable td.fieldname {
-        white-space: nowrap;
-        border-right: 1px solid #B9B9B9;
-        border-bottom: 1px solid #B9B9B9;
-        vertical-align: top;
-}
-
-.fieldtable td.fielddoc {
-        border-bottom: 1px solid #B9B9B9;
-        width: 100%;
-}
-
-.fieldtable tr:last-child td {
-        border-bottom: none;
-}
-
-.fieldtable th {
-        background-image:url('nav_f.png');
-        background-repeat:repeat-x;
-        background-color: #E8E8E8;
-        font-size: 90%;
-        color: #323232;
-        padding-bottom: 4px;
-        padding-top: 5px;
-        text-align:left;
-        -moz-border-radius-topleft: 4px;
-        -moz-border-radius-topright: 4px;
-        -webkit-border-top-left-radius: 4px;
-        -webkit-border-top-right-radius: 4px;
-        border-top-left-radius: 4px;
-        border-top-right-radius: 4px;
-        border-bottom: 1px solid #B9B9B9;
-}
-
-
-.tabsearch {
-	top: 0px;
-	left: 10px;
-	height: 36px;
-	background-image: url('tab_b.png');
-	z-index: 101;
-	overflow: hidden;
-	font-size: 13px;
-}
-
-.navpath ul
-{
-	font-size: 11px;
-	background-image:url('tab_b.png');
-	background-repeat:repeat-x;
-	height:30px;
-	line-height:30px;
-	color:#A2A2A2;
-	border:solid 1px #CECECE;
-	overflow:hidden;
-	margin:0px;
-	padding:0px;
-}
-
-.navpath li
-{
-	list-style-type:none;
-	float:left;
-	padding-left:10px;
-	padding-right:15px;
-	background-image:url('bc_s.png');
-	background-repeat:no-repeat;
-	background-position:right;
-	color:#4D4D4D;
-}
-
-.navpath li.navelem a
-{
-	height:32px;
-	display:block;
-	text-decoration: none;
-	outline: none;
-}
-
-.navpath li.navelem a:hover
-{
-	color:#888888;
-}
-
-.navpath li.footer
-{
-        list-style-type:none;
-        float:right;
-        padding-left:10px;
-        padding-right:15px;
-        background-image:none;
-        background-repeat:no-repeat;
-        background-position:right;
-        color:#4D4D4D;
-        font-size: 8pt;
-}
-
-
-div.summary
-{
-	float: right;
-	font-size: 8pt;
-	padding-right: 5px;
-	width: 50%;
-	text-align: right;
-}
-
-div.summary a
-{
-	white-space: nowrap;
-}
-
-div.ingroups
-{
-	font-size: 8pt;
-	width: 50%;
-	text-align: left;
-}
-
-div.ingroups a
-{
-	white-space: nowrap;
-}
-
-div.header
-{
-        background-image:url('nav_h.png');
-        background-repeat:repeat-x;
-	background-color: #FAFAFA;
-	margin:  0px;
-	border-bottom: 1px solid #D0D0D0;
-}
-
-div.headertitle
-{
-	padding: 5px 5px 5px 7px;
-}
-
-dl
-{
-        padding: 0 0 0 10px;
-}
-
-/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
-dl.section
-{
-	margin-left: 0px;
-	padding-left: 0px;
-}
-
-dl.note
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #D0C000;
-}
-
-dl.warning, dl.attention
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #FF0000;
-}
-
-dl.pre, dl.post, dl.invariant
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #00D000;
-}
-
-dl.deprecated
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #505050;
-}
-
-dl.todo
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border:4px solid;
-        border-color: #00C0E0;
-}
-
-dl.test
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #3030E0;
-}
-
-dl.bug
-{
-        margin-left:-7px;
-        padding-left: 3px;
-        border-left:4px solid;
-        border-color: #C08050;
-}
-
-dl.section dd {
-	margin-bottom: 6px;
-}
-
-
-#projectlogo
-{
-	text-align: center;
-	vertical-align: bottom;
-	border-collapse: separate;
-}
-
-#projectlogo img
-{
-	border: 0px none;
-}
-
-#projectname
-{
-	font: 300% Tahoma, Arial,sans-serif;
-	margin: 0px;
-	padding: 2px 0px;
-}
-
-#projectbrief
-{
-	font: 120% Tahoma, Arial,sans-serif;
-	margin: 0px;
-	padding: 0px;
-}
-
-#projectnumber
-{
-	font: 50% Tahoma, Arial,sans-serif;
-	margin: 0px;
-	padding: 0px;
-}
-
-#titlearea
-{
-	padding: 0px;
-	margin: 0px;
-	width: 100%;
-	border-bottom: 1px solid #787878;
-}
-
-.image
-{
-        text-align: center;
-}
-
-.dotgraph
-{
-        text-align: center;
-}
-
-.mscgraph
-{
-        text-align: center;
-}
-
-.caption
-{
-	font-weight: bold;
-}
-
-div.zoom
-{
-	border: 1px solid #A6A6A6;
-}
-
-dl.citelist {
-        margin-bottom:50px;
-}
-
-dl.citelist dt {
-        color:#484848;
-        float:left;
-        font-weight:bold;
-        margin-right:10px;
-        padding:5px;
-}
-
-dl.citelist dd {
-        margin:2px 0;
-        padding:5px 0;
-}
-
-div.toc {
-        padding: 14px 25px;
-        background-color: #F6F6F6;
-        border: 1px solid #DFDFDF;
-        border-radius: 7px 7px 7px 7px;
-        float: right;
-        height: auto;
-        margin: 0 20px 10px 10px;
-        width: 200px;
-}
-
-div.toc li {
-        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
-        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
-        margin-top: 5px;
-        padding-left: 10px;
-        padding-top: 2px;
-}
-
-div.toc h3 {
-        font: bold 12px/1.2 Arial,FreeSans,sans-serif;
-	color: #686868;
-        border-bottom: 0 none;
-        margin: 0;
-}
-
-div.toc ul {
-        list-style: none outside none;
-        border: medium none;
-        padding: 0px;
-}
-
-div.toc li.level1 {
-        margin-left: 0px;
-}
-
-div.toc li.level2 {
-        margin-left: 15px;
-}
-
-div.toc li.level3 {
-        margin-left: 30px;
-}
-
-div.toc li.level4 {
-        margin-left: 45px;
-}
-
-.inherit_header {
-        font-weight: bold;
-        color: gray;
-        cursor: pointer;
-	-webkit-touch-callout: none;
-	-webkit-user-select: none;
-	-khtml-user-select: none;
-	-moz-user-select: none;
-	-ms-user-select: none;
-	user-select: none;
-}
-
-.inherit_header td {
-        padding: 6px 0px 2px 5px;
-}
-
-.inherit {
-        display: none;
-}
-
-tr.heading h2 {
-        margin-top: 12px;
-        margin-bottom: 4px;
-}
-
-@media print
-{
-  #top { display: none; }
-  #side-nav { display: none; }
-  #nav-path { display: none; }
-  body { overflow:visible; }
-  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
-  .summary { display: none; }
-  .memitem { page-break-inside: avoid; }
-  #doc-content
-  {
-    margin-left:0 !important;
-    height:auto !important;
-    width:auto !important;
-    overflow:inherit;
-    display:inline;
-  }
-}
diff --git a/docs/named_data_theme/static/foundation.css b/docs/named_data_theme/static/foundation.css
deleted file mode 100644
index 9024410..0000000
--- a/docs/named_data_theme/static/foundation.css
+++ /dev/null
@@ -1,811 +0,0 @@
-.c-1, .c-2, .c-3, .c-4, .c-5, .c-6, .c-7, .c-8, .c-9, .c-10, .c-11, .c-12 { float: left; }
-
-.c-1, .c-2, .c-3, .c-4, .c-5, .c-6, .c-7, .c-8, .c-9, .c-10, .c-11, .c-12 { position: relative; min-height: 1px; padding: 0 15px; }
-
-.c-1 { width: 8.33333%; }
-
-.c-2 { width: 16.66667%; }
-
-.c-3 { width: 25%; }
-
-.c-4 { width: 33.33333%; }
-
-.c-5 { width: 41.66667%; }
-
-.c-6 { width: 50%; }
-
-.c-7 { width: 58.33333%; }
-
-.c-8 { width: 66.66667%; }
-
-.c-9 { width: 75%; }
-
-.c-10 { width: 83.33333%; }
-
-.c-11 { width: 91.66667%; }
-
-.c-12 { width: 100%; }
-
-/* Requires: normalize.css */
-/* Global Reset & Standards ---------------------- */
-* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
-
-html { font-size: 62.5%; }
-
-body { background: white; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1; color: #222222; position: relative; -webkit-font-smoothing: antialiased; }
-
-/* Links ---------------------- */
-a { color: #fd7800; text-decoration: none; line-height: inherit; }
-
-a:hover { color: #2795b6; }
-
-a:focus { color: #fd7800; outline: none; }
-
-p a, p a:visited { line-height: inherit; }
-
-/* Misc ---------------------- */
-.left { float: left; }
-@media only screen and (max-width: 767px) { .left { float: none; } }
-
-.right { float: right; }
-@media only screen and (max-width: 767px) { .right { float: none; } }
-
-.text-left { text-align: left; }
-
-.text-right { text-align: right; }
-
-.text-center { text-align: center; }
-
-.hide { display: none; }
-
-.highlight { background: #ffff99; }
-
-#googlemap img, object, embed { max-width: none; }
-
-#map_canvas embed { max-width: none; }
-
-#map_canvas img { max-width: none; }
-
-#map_canvas object { max-width: none; }
-
-/* Reset for strange margins by default on <figure> elements */
-figure { margin: 0; }
-
-/* Base Type Styles Using Modular Scale ---------------------- */
-body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; font-size: 14px; direction: ltr; }
-
-p { font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-size: 14px; line-height: 1.6; margin-bottom: 17px; }
-p.lead { font-size: 17.5px; line-height: 1.6; margin-bottom: 17px; }
-
-aside p { font-size: 13px; line-height: 1.35; font-style: italic; }
-
-h1, h2, h3, h4, h5, h6 { font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: bold; color: #222222; text-rendering: optimizeLegibility; line-height: 1.0; margin-bottom: 14px; margin-top: 14px; }
-h1 small, h2 small, h3 small, h4 small, h5 small, h6 small { font-size: 60%; color: #6f6f6f; line-height: 0; }
-
-h1 { font-size: 24px; }
-
-h2 { font-size: 18px; }
-
-h3 { font-size: 14px; }
-
-h4 { font-size: 12px; }
-
-h5 { font-weight: bold; font-size: 12px; }
-
-h6 { font-style: italic; font-size: 12px; }
-
-hr { border: solid #c6c6c6; border-width: 1px 0 0; clear: both; margin: 22px 0 21px; height: 0; }
-
-.subheader { line-height: 1.3; color: #6f6f6f; font-weight: 300; margin-bottom: 17px; }
-
-em, i { font-style: italic; line-height: inherit; }
-
-strong, b { font-weight: bold; line-height: inherit; }
-
-small { font-size: 60%; line-height: inherit; }
-
-code { font-weight: bold; background: #ffff99; }
-
-/* Lists ---------------------- */
-ul, ol { font-size: 14px; line-height: 1.6; margin-bottom: 17px; list-style-position: inside; }
-
-ul li ul, ul li ol { margin-left: 20px; margin-bottom: 0; }
-ul.square, ul.circle, ul.disc { margin-left: 17px; }
-ul.square { list-style-type: square; }
-ul.square li ul { list-style: inherit; }
-ul.circle { list-style-type: circle; }
-ul.circle li ul { list-style: inherit; }
-ul.disc { list-style-type: disc; }
-ul.disc li ul { list-style: inherit; }
-ul.no-bullet { list-style: none; }
-ul.large li { line-height: 21px; }
-
-ol li ul, ol li ol { margin-left: 20px; margin-bottom: 0; }
-
-/* Blockquotes ---------------------- */
-blockquote, blockquote p { line-height: 1.5; color: #6f6f6f; }
-
-blockquote { margin: 0 0 17px; padding: 9px 20px 0 19px; border-left: 1px solid #ddd; }
-blockquote cite { display: block; font-size: 13px; color: #555555; }
-blockquote cite:before { content: "\2014 \0020"; }
-blockquote cite a, blockquote cite a:visited { color: #555555; }
-
-abbr, acronym { text-transform: uppercase; font-size: 90%; color: #222222; border-bottom: 1px solid #ddd; cursor: help; }
-
-abbr { text-transform: none; }
-
-/* Print styles.  Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
-*/
-.print-only { display: none !important; }
-
-@media print { * { background: transparent !important; color: black !important; box-shadow: none !important; text-shadow: none !important; filter: none !important; -ms-filter: none !important; }
-  /* Black prints faster: h5bp.com/s */
-  a, a:visited { text-decoration: underline; }
-  a[href]:after { content: " (" attr(href) ")"; }
-  abbr[title]:after { content: " (" attr(title) ")"; }
-  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
-  /* Don't show links for images, or javascript/internal links */
-  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
-  thead { display: table-header-group; }
-  /* h5bp.com/t */
-  tr, img { page-break-inside: avoid; }
-  img { max-width: 100% !important; }
-  @page { margin: 0.5cm; }
-  p, h2, h3 { orphans: 3; widows: 3; }
-  h2, h3 { page-break-after: avoid; }
-  .hide-on-print { display: none !important; }
-  .print-only { display: block !important; } }
-/* Requires globals.css */
-/* Standard Forms ---------------------- */
-form { margin: 0 0 19.41641px; }
-
-.row form .row { margin: 0 -6px; }
-.row form .row .column, .row form .row .columns { padding: 0 6px; }
-.row form .row.collapse { margin: 0; }
-.row form .row.collapse .column, .row form .row.collapse .columns { padding: 0; }
-
-label { font-size: 14px; color: #4d4d4d; cursor: pointer; display: block; font-weight: 500; margin-bottom: 3px; }
-label.right { float: none; text-align: right; }
-label.inline { line-height: 32px; margin: 0 0 12px 0; }
-
-@media only screen and (max-width: 767px) { label.right { text-align: left; } }
-.prefix, .postfix { display: block; position: relative; z-index: 2; text-align: center; width: 100%; padding-top: 0; padding-bottom: 0; height: 32px; line-height: 31px; }
-
-a.button.prefix, a.button.postfix { padding-left: 0; padding-right: 0; text-align: center; }
-
-span.prefix, span.postfix { background: #f2f2f2; border: 1px solid #cccccc; }
-
-.prefix { left: 2px; -moz-border-radius-topleft: 2px; -webkit-border-top-left-radius: 2px; border-top-left-radius: 2px; -moz-border-radius-bottomleft: 2px; -webkit-border-bottom-left-radius: 2px; border-bottom-left-radius: 2px; overflow: hidden; }
-
-.postfix { right: 2px; -moz-border-radius-topright: 2px; -webkit-border-top-right-radius: 2px; border-top-right-radius: 2px; -moz-border-radius-bottomright: 2px; -webkit-border-bottom-right-radius: 2px; border-bottom-right-radius: 2px; }
-
-input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea { font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; border: 1px solid #cccccc; -webkit-border-radius: 2px; -moz-border-radius: 2px; -ms-border-radius: 2px; -o-border-radius: 2px; border-radius: 2px; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); color: rgba(0, 0, 0, 0.75); display: block; font-size: 14px; margin: 0 0 12px 0; padding: 6px; height: 32px; width: 100%; -webkit-transition: all 0.15s linear; -moz-transition: all 0.15s linear; -o-transition: all 0.15s linear; transition: all 0.15s linear; }
-input[type="text"].oversize, input[type="password"].oversize, input[type="date"].oversize, input[type="datetime"].oversize, input[type="email"].oversize, input[type="number"].oversize, input[type="search"].oversize, input[type="tel"].oversize, input[type="time"].oversize, input[type="url"].oversize, textarea.oversize { font-size: 17px; padding: 4px 6px; }
-input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, textarea:focus { background: #fafafa; outline: none !important; border-color: #b3b3b3; }
-input[type="text"][disabled], input[type="password"][disabled], input[type="date"][disabled], input[type="datetime"][disabled], input[type="email"][disabled], input[type="number"][disabled], input[type="search"][disabled], input[type="tel"][disabled], input[type="time"][disabled], input[type="url"][disabled], textarea[disabled] { background-color: #ddd; }
-
-textarea { height: auto; }
-
-select { width: 100%; }
-
-/* Fieldsets */
-fieldset { border: solid 1px #ddd; border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; padding: 12px 12px 0; margin: 18px 0; }
-fieldset legend { font-weight: bold; background: white; padding: 0 3px; margin: 0; margin-left: -3px; }
-
-/* Errors */
-.error input, input.error, .error textarea, textarea.error { border-color: #c60f13; background-color: rgba(198, 15, 19, 0.1); }
-
-.error label, label.error { color: #c60f13; }
-
-.error small, small.error { display: block; padding: 6px 4px; margin-top: -13px; margin-bottom: 12px; background: #c60f13; color: #fff; font-size: 12px; font-size: 1.2rem; font-weight: bold; -moz-border-radius-bottomleft: 2px; -webkit-border-bottom-left-radius: 2px; border-bottom-left-radius: 2px; -moz-border-radius-bottomright: 2px; -webkit-border-bottom-right-radius: 2px; border-bottom-right-radius: 2px; }
-
-@media only screen and (max-width: 767px) { input[type="text"].one, input[type="password"].one, input[type="date"].one, input[type="datetime"].one, input[type="email"].one, input[type="number"].one, input[type="search"].one, input[type="tel"].one, input[type="time"].one, input[type="url"].one, textarea.one, .row textarea.one { width: 100% !important; }
-  input[type="text"].two, .row input[type="text"].two, input[type="password"].two, .row input[type="password"].two, input[type="date"].two, .row input[type="date"].two, input[type="datetime"].two, .row input[type="datetime"].two, input[type="email"].two, .row input[type="email"].two, input[type="number"].two, .row input[type="number"].two, input[type="search"].two, .row input[type="search"].two, input[type="tel"].two, .row input[type="tel"].two, input[type="time"].two, .row input[type="time"].two, input[type="url"].two, .row input[type="url"].two, textarea.two, .row textarea.two { width: 100% !important; }
-  input[type="text"].three, .row input[type="text"].three, input[type="password"].three, .row input[type="password"].three, input[type="date"].three, .row input[type="date"].three, input[type="datetime"].three, .row input[type="datetime"].three, input[type="email"].three, .row input[type="email"].three, input[type="number"].three, .row input[type="number"].three, input[type="search"].three, .row input[type="search"].three, input[type="tel"].three, .row input[type="tel"].three, input[type="time"].three, .row input[type="time"].three, input[type="url"].three, .row input[type="url"].three, textarea.three, .row textarea.three { width: 100% !important; }
-  input[type="text"].four, .row input[type="text"].four, input[type="password"].four, .row input[type="password"].four, input[type="date"].four, .row input[type="date"].four, input[type="datetime"].four, .row input[type="datetime"].four, input[type="email"].four, .row input[type="email"].four, input[type="number"].four, .row input[type="number"].four, input[type="search"].four, .row input[type="search"].four, input[type="tel"].four, .row input[type="tel"].four, input[type="time"].four, .row input[type="time"].four, input[type="url"].four, .row input[type="url"].four, textarea.four, .row textarea.four { width: 100% !important; }
-  input[type="text"].five, .row input[type="text"].five, input[type="password"].five, .row input[type="password"].five, input[type="date"].five, .row input[type="date"].five, input[type="datetime"].five, .row input[type="datetime"].five, input[type="email"].five, .row input[type="email"].five, input[type="number"].five, .row input[type="number"].five, input[type="search"].five, .row input[type="search"].five, input[type="tel"].five, .row input[type="tel"].five, input[type="time"].five, .row input[type="time"].five, input[type="url"].five, .row input[type="url"].five, textarea.five, .row textarea.five { width: 100% !important; }
-  input[type="text"].six, .row input[type="text"].six, input[type="password"].six, .row input[type="password"].six, input[type="date"].six, .row input[type="date"].six, input[type="datetime"].six, .row input[type="datetime"].six, input[type="email"].six, .row input[type="email"].six, input[type="number"].six, .row input[type="number"].six, input[type="search"].six, .row input[type="search"].six, input[type="tel"].six, .row input[type="tel"].six, input[type="time"].six, .row input[type="time"].six, input[type="url"].six, .row input[type="url"].six, textarea.six, .row textarea.six { width: 100% !important; }
-  input[type="text"].seven, .row input[type="text"].seven, input[type="password"].seven, .row input[type="password"].seven, input[type="date"].seven, .row input[type="date"].seven, input[type="datetime"].seven, .row input[type="datetime"].seven, input[type="email"].seven, .row input[type="email"].seven, input[type="number"].seven, .row input[type="number"].seven, input[type="search"].seven, .row input[type="search"].seven, input[type="tel"].seven, .row input[type="tel"].seven, input[type="time"].seven, .row input[type="time"].seven, input[type="url"].seven, .row input[type="url"].seven, textarea.seven, .row textarea.seven { width: 100% !important; }
-  input[type="text"].eight, .row input[type="text"].eight, input[type="password"].eight, .row input[type="password"].eight, input[type="date"].eight, .row input[type="date"].eight, input[type="datetime"].eight, .row input[type="datetime"].eight, input[type="email"].eight, .row input[type="email"].eight, input[type="number"].eight, .row input[type="number"].eight, input[type="search"].eight, .row input[type="search"].eight, input[type="tel"].eight, .row input[type="tel"].eight, input[type="time"].eight, .row input[type="time"].eight, input[type="url"].eight, .row input[type="url"].eight, textarea.eight, .row textarea.eight { width: 100% !important; }
-  input[type="text"].nine, .row input[type="text"].nine, input[type="password"].nine, .row input[type="password"].nine, input[type="date"].nine, .row input[type="date"].nine, input[type="datetime"].nine, .row input[type="datetime"].nine, input[type="email"].nine, .row input[type="email"].nine, input[type="number"].nine, .row input[type="number"].nine, input[type="search"].nine, .row input[type="search"].nine, input[type="tel"].nine, .row input[type="tel"].nine, input[type="time"].nine, .row input[type="time"].nine, input[type="url"].nine, .row input[type="url"].nine, textarea.nine, .row textarea.nine { width: 100% !important; }
-  input[type="text"].ten, .row input[type="text"].ten, input[type="password"].ten, .row input[type="password"].ten, input[type="date"].ten, .row input[type="date"].ten, input[type="datetime"].ten, .row input[type="datetime"].ten, input[type="email"].ten, .row input[type="email"].ten, input[type="number"].ten, .row input[type="number"].ten, input[type="search"].ten, .row input[type="search"].ten, input[type="tel"].ten, .row input[type="tel"].ten, input[type="time"].ten, .row input[type="time"].ten, input[type="url"].ten, .row input[type="url"].ten, textarea.ten, .row textarea.ten { width: 100% !important; }
-  input[type="text"].eleven, .row input[type="text"].eleven, input[type="password"].eleven, .row input[type="password"].eleven, input[type="date"].eleven, .row input[type="date"].eleven, input[type="datetime"].eleven, .row input[type="datetime"].eleven, input[type="email"].eleven, .row input[type="email"].eleven, input[type="number"].eleven, .row input[type="number"].eleven, input[type="search"].eleven, .row input[type="search"].eleven, input[type="tel"].eleven, .row input[type="tel"].eleven, input[type="time"].eleven, .row input[type="time"].eleven, input[type="url"].eleven, .row input[type="url"].eleven, textarea.eleven, .row textarea.eleven { width: 100% !important; }
-  input[type="text"].twelve, .row input[type="text"].twelve, input[type="password"].twelve, .row input[type="password"].twelve, input[type="date"].twelve, .row input[type="date"].twelve, input[type="datetime"].twelve, .row input[type="datetime"].twelve, input[type="email"].twelve, .row input[type="email"].twelve, input[type="number"].twelve, .row input[type="number"].twelve, input[type="search"].twelve, .row input[type="search"].twelve, input[type="tel"].twelve, .row input[type="tel"].twelve, input[type="time"].twelve, .row input[type="time"].twelve, input[type="url"].twelve, .row input[type="url"].twelve, textarea.twelve, .row textarea.twelve { width: 100% !important; } }
-/* Custom Forms ---------------------- */
-form.custom { /* Custom input, disabled */ }
-form.custom span.custom { display: inline-block; width: 16px; height: 16px; position: relative; top: 2px; border: solid 1px #ccc; background: #fff; }
-form.custom span.custom.radio { -webkit-border-radius: 100px; -moz-border-radius: 100px; -ms-border-radius: 100px; -o-border-radius: 100px; border-radius: 100px; }
-form.custom span.custom.checkbox:before { content: ""; display: block; line-height: 0.8; height: 14px; width: 14px; text-align: center; position: absolute; top: 0; left: 0; font-size: 14px; color: #fff; }
-form.custom span.custom.radio.checked:before { content: ""; display: block; width: 8px; height: 8px; -webkit-border-radius: 100px; -moz-border-radius: 100px; -ms-border-radius: 100px; -o-border-radius: 100px; border-radius: 100px; background: #222; position: relative; top: 3px; left: 3px; }
-form.custom span.custom.checkbox.checked:before { content: "\00d7"; color: #222; }
-form.custom div.custom.dropdown { display: block; position: relative; width: auto; height: 28px; margin-bottom: 9px; margin-top: 2px; }
-form.custom div.custom.dropdown a.current { display: block; width: auto; line-height: 26px; min-height: 28px; padding: 0; padding-left: 6px; padding-right: 38px; border: solid 1px #ddd; color: #141414; background-color: #fff; white-space: nowrap; }
-form.custom div.custom.dropdown a.selector { position: absolute; width: 27px; height: 28px; display: block; right: 0; top: 0; border: solid 1px #ddd; }
-form.custom div.custom.dropdown a.selector:after { content: ""; display: block; content: ""; display: block; width: 0; height: 0; border: solid 5px; border-color: #aaaaaa transparent transparent transparent; position: absolute; left: 50%; top: 50%; margin-top: -2px; margin-left: -5px; }
-form.custom div.custom.dropdown:hover a.selector:after, form.custom div.custom.dropdown.open a.selector:after { content: ""; display: block; width: 0; height: 0; border: solid 5px; border-color: #222222 transparent transparent transparent; }
-form.custom div.custom.dropdown.open ul { display: block; z-index: 10; }
-form.custom div.custom.dropdown.small { width: 134px !important; }
-form.custom div.custom.dropdown.medium { width: 254px !important; }
-form.custom div.custom.dropdown.large { width: 434px !important; }
-form.custom div.custom.dropdown.expand { width: 100% !important; }
-form.custom div.custom.dropdown.open.small ul { width: 134px !important; }
-form.custom div.custom.dropdown.open.medium ul { width: 254px !important; }
-form.custom div.custom.dropdown.open.large ul { width: 434px !important; }
-form.custom div.custom.dropdown.open.expand ul { width: 100% !important; }
-form.custom div.custom.dropdown ul { position: absolute; width: auto; display: none; margin: 0; left: 0; top: 27px; margin: 0; padding: 0; background: #fff; background: rgba(255, 255, 255, 0.95); border: solid 1px #cccccc; }
-form.custom div.custom.dropdown ul li { color: #555; font-size: 13px; cursor: pointer; padding: 3px; padding-left: 6px; padding-right: 38px; min-height: 18px; line-height: 18px; margin: 0; white-space: nowrap; list-style: none; }
-form.custom div.custom.dropdown ul li.selected { background: #cdebf5; color: #000; }
-form.custom div.custom.dropdown ul li.selected:after { content: "\2013"; position: absolute; right: 10px; }
-form.custom div.custom.dropdown ul li:hover { background-color: #e3f4f9; color: #222; }
-form.custom div.custom.dropdown ul li:hover:after { content: "\2013"; position: absolute; right: 10px; color: #8ed3e7; }
-form.custom div.custom.dropdown ul li.selected:hover { background: #cdebf5; cursor: default; color: #000; }
-form.custom div.custom.dropdown ul li.selected:hover:after { color: #000; }
-form.custom div.custom.dropdown ul.show { display: block; }
-form.custom .custom.disabled { background-color: #ddd; }
-
-/* Correct FF custom dropdown height */
-@-moz-document url-prefix() { form.custom div.custom.dropdown a.selector { height: 30px; } }
-
-.lt-ie9 form.custom div.custom.dropdown a.selector { height: 30px; }
-
-/* The Grid ---------------------- */
-.row { width: 1000px; max-width: 100%; min-width: 768px; margin: 0 auto; }
-.row .row { width: auto; max-width: none; min-width: 0; margin: 0 -15px; }
-.row.collapse .column, .row.collapse .columns { padding: 0; }
-.row .row { width: auto; max-width: none; min-width: 0; margin: 0 -15px; }
-.row .row.collapse { margin: 0; }
-
-.column, .columns { float: left; min-height: 1px; padding: 0 15px; position: relative; }
-.column.centered, .columns.centered { float: none; margin: 0 auto; }
-
-[class*="column"] + [class*="column"]:last-child { float: right; }
-
-[class*="column"] + [class*="column"].end { float: left; }
-
-.one, .row .one { width: 8.33333%; }
-
-.two, .row .two { width: 16.66667%; }
-
-.three, .row .three { width: 25%; }
-
-.four, .row .four { width: 33.33333%; }
-
-.five, .row .five { width: 41.66667%; }
-
-.six, .row .six { width: 50%; }
-
-.seven, .row .seven { width: 58.33333%; }
-
-.eight, .row .eight { width: 66.66667%; }
-
-.nine, .row .nine { width: 75%; }
-
-.ten, .row .ten { width: 83.33333%; }
-
-.eleven, .row .eleven { width: 91.66667%; }
-
-.twelve, .row .twelve { width: 100%; }
-
-.row .offset-by-one { margin-left: 8.33333%; }
-
-.row .offset-by-two { margin-left: 16.66667%; }
-
-.row .offset-by-three { margin-left: 25%; }
-
-.row .offset-by-four { margin-left: 33.33333%; }
-
-.row .offset-by-five { margin-left: 41.66667%; }
-
-.row .offset-by-six { margin-left: 50%; }
-
-.row .offset-by-seven { margin-left: 58.33333%; }
-
-.row .offset-by-eight { margin-left: 66.66667%; }
-
-.row .offset-by-nine { margin-left: 75%; }
-
-.row .offset-by-ten { margin-left: 83.33333%; }
-
-.push-two { left: 16.66667%; }
-
-.pull-two { right: 16.66667%; }
-
-.push-three { left: 25%; }
-
-.pull-three { right: 25%; }
-
-.push-four { left: 33.33333%; }
-
-.pull-four { right: 33.33333%; }
-
-.push-five { left: 41.66667%; }
-
-.pull-five { right: 41.66667%; }
-
-.push-six { left: 50%; }
-
-.pull-six { right: 50%; }
-
-.push-seven { left: 58.33333%; }
-
-.pull-seven { right: 58.33333%; }
-
-.push-eight { left: 66.66667%; }
-
-.pull-eight { right: 66.66667%; }
-
-.push-nine { left: 75%; }
-
-.pull-nine { right: 75%; }
-
-.push-ten { left: 83.33333%; }
-
-.pull-ten { right: 83.33333%; }
-
-img, object, embed { max-width: 100%; height: auto; }
-
-object, embed { height: 100%; }
-
-img { -ms-interpolation-mode: bicubic; }
-
-#map_canvas img, .map_canvas img { max-width: none!important; }
-
-/* Nicolas Gallagher's micro clearfix */
-.row { *zoom: 1; }
-.row:before, .row:after { content: ""; display: table; }
-.row:after { clear: both; }
-
-/* Mobile Grid and Overrides ---------------------- */
-@media only screen and (max-width: 767px) { body { -webkit-text-size-adjust: none; -ms-text-size-adjust: none; width: 100%; min-width: 0; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
-  .row { width: auto; min-width: 0; margin-left: 0; margin-right: 0; }
-  .column, .columns { width: auto !important; float: none; }
-  .column:last-child, .columns:last-child { float: none; }
-  [class*="column"] + [class*="column"]:last-child { float: none; }
-  .column:before, .columns:before, .column:after, .columns:after { content: ""; display: table; }
-  .column:after, .columns:after { clear: both; }
-  .offset-by-one, .offset-by-two, .offset-by-three, .offset-by-four, .offset-by-five, .offset-by-six, .offset-by-seven, .offset-by-eight, .offset-by-nine, .offset-by-ten { margin-left: 0 !important; }
-  .push-two, .push-three, .push-four, .push-five, .push-six, .push-seven, .push-eight, .push-nine, .push-ten { left: auto; }
-  .pull-two, .pull-three, .pull-four, .pull-five, .pull-six, .pull-seven, .pull-eight, .pull-nine, .pull-ten { right: auto; }
-  /* Mobile 4-column Grid */
-  .row .mobile-one { width: 25% !important; float: left; padding: 0 15px; }
-  .row .mobile-one:last-child { float: right; }
-  .row.collapse .mobile-one { padding: 0; }
-  .row .mobile-two { width: 50% !important; float: left; padding: 0 15px; }
-  .row .mobile-two:last-child { float: right; }
-  .row.collapse .mobile-two { padding: 0; }
-  .row .mobile-three { width: 75% !important; float: left; padding: 0 15px; }
-  .row .mobile-three:last-child { float: right; }
-  .row.collapse .mobile-three { padding: 0; }
-  .row .mobile-four { width: 100% !important; float: left; padding: 0 15px; }
-  .row .mobile-four:last-child { float: right; }
-  .row.collapse .mobile-four { padding: 0; }
-  .push-one-mobile { left: 25%; }
-  .pull-one-mobile { right: 25%; }
-  .push-two-mobile { left: 50%; }
-  .pull-two-mobile { right: 50%; }
-  .push-three-mobile { left: 75%; }
-  .pull-three-mobile { right: 75%; } }
-/* Block Grids ---------------------- */
-/* These are 2-up, 3-up, 4-up and 5-up ULs, suited
-for repeating blocks of content. Add 'mobile' to
-them to switch them just like the layout grid
-(one item per line) on phones
-
-For IE7/8 compatibility block-grid items need to be
-the same height. You can optionally uncomment the
-lines below to support arbitrary height, but know
-that IE7/8 do not support :nth-child.
--------------------------------------------------- */
-.block-grid { display: block; overflow: hidden; padding: 0; }
-.block-grid > li { display: block; height: auto; float: left; }
-.block-grid.one-up { margin: 0; }
-.block-grid.one-up > li { width: 100%; padding: 0 0 15px; }
-.block-grid.two-up { margin: 0 -15px; }
-.block-grid.two-up > li { width: 50%; padding: 0 15px 15px; }
-.block-grid.two-up > li:nth-child(2n+1) { clear: both; }
-.block-grid.three-up { margin: 0 -12px; }
-.block-grid.three-up > li { width: 33.33%; padding: 0 12px 12px; }
-.block-grid.three-up > li:nth-child(3n+1) { clear: both; }
-.block-grid.four-up { margin: 0 -10px; }
-.block-grid.four-up > li { width: 25%; padding: 0 10px 10px; }
-.block-grid.four-up > li:nth-child(4n+1) { clear: both; }
-.block-grid.five-up { margin: 0 -8px; }
-.block-grid.five-up > li { width: 20%; padding: 0 8px 8px; }
-.block-grid.five-up > li:nth-child(5n+1) { clear: both; }
-
-/* Mobile Block Grids */
-@media only screen and (max-width: 767px) { .block-grid.mobile > li { float: none; width: 100%; margin-left: 0; }
-  .block-grid > li { clear: none !important; }
-  .block-grid.mobile-two-up > li { width: 50%; }
-  .block-grid.mobile-two-up > li:nth-child(2n+1) { clear: both; }
-  .block-grid.mobile-three-up > li { width: 33.33%; }
-  .block-grid.mobile-three-up > li:nth-child(3n+1) { clear: both !important; }
-  .block-grid.mobile-four-up > li { width: 25%; }
-  .block-grid.mobile-four-up > li:nth-child(4n+1) { clear: both; }
-  .block-grid.mobile-five-up > li:nth-child(5n+1) { clear: both; } }
-/* Requires globals.css */
-/* Normal Buttons ---------------------- */
-.button { width: auto; background: #fd7800; border: 1px solid #ce6200; -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset; -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset; color: white; cursor: pointer; display: inline-block; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: bold; line-height: 1; margin: 0; outline: none; padding: 10px 20px 11px; position: relative; text-align: center; text-decoration: none; -webkit-transition: background-color 0.15s ease-in-out; -moz-transition: background-color 0.15s ease-in-out; -o-transition: background-color 0.15s ease-in-out; transition: background-color 0.15s ease-in-out; /* Hovers */ /* Sizes */ /* Colors */ /* Radii */ /* Layout */ /* Disabled ---------- */ }
-.button:hover { color: white; background-color: #ce6200; }
-.button:active { -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset; }
-.button:focus { -webkit-box-shadow: 0 0 4px #fd7800, 0 1px 0 rgba(255, 255, 255, 0.5) inset; -moz-box-shadow: 0 0 4px #fd7800, 0 1px 0 rgba(255, 255, 255, 0.5) inset; box-shadow: 0 0 4px #fd7800, 0 1px 0 rgba(255, 255, 255, 0.5) inset; color: white; }
-.button.large { font-size: 17px; padding: 15px 30px 16px; }
-.button.medium { font-size: 14px; }
-.button.small { font-size: 11px; padding: 7px 14px 8px; }
-.button.tiny { font-size: 10px; padding: 5px 10px 6px; }
-.button.expand { width: 100%; text-align: center; }
-.button.primary { background-color: #fd7800; border: 1px solid #1e728c; }
-.button.primary:hover { background-color: #2284a1; }
-.button.primary:focus { -webkit-box-shadow: 0 0 4px #fd7800, 0 1px 0 rgba(255, 255, 255, 0.5) inset; -moz-box-shadow: 0 0 4px #fd7800, 0 1px 0 rgba(255, 255, 255, 0.5) inset; box-shadow: 0 0 4px #fd7800, 0 1px 0 rgba(255, 255, 255, 0.5) inset; }
-.button.success { background-color: #5da423; border: 1px solid #396516; }
-.button.success:hover { background-color: #457a1a; }
-.button.success:focus { -webkit-box-shadow: 0 0 5px #5da423, 0 1px 0 rgba(255, 255, 255, 0.5) inset; -moz-box-shadow: 0 0 5px #5da423, 0 1px 0 rgba(255, 255, 255, 0.5) inset; box-shadow: 0 0 5px #5da423, 0 1px 0 rgba(255, 255, 255, 0.5) inset; }
-.button.alert { background-color: #c60f13; border: 1px solid #7f0a0c; }
-.button.alert:hover { background-color: #970b0e; }
-.button.alert:focus { -webkit-box-shadow: 0 0 4px #c60f13, 0 1px 0 rgba(255, 255, 255, 0.5) inset; -moz-box-shadow: 0 0 4px #c60f13, 0 1px 0 rgba(255, 255, 255, 0.5) inset; box-shadow: 0 0 4px #c60f13, 0 1px 0 rgba(255, 255, 255, 0.5) inset; }
-.button.secondary { background-color: #e9e9e9; color: #1d1d1d; border: 1px solid #c3c3c3; }
-.button.secondary:hover { background-color: #d0d0d0; }
-.button.secondary:focus { -webkit-box-shadow: 0 0 5px #e9e9e9, 0 1px 0 rgba(255, 255, 255, 0.5) inset; -moz-box-shadow: 0 0 5px #e9e9e9, 0 1px 0 rgba(255, 255, 255, 0.5) inset; box-shadow: 0 0 5px #e9e9e9, 0 1px 0 rgba(255, 255, 255, 0.5) inset; }
-.button.radius { -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; }
-.button.round { -webkit-border-radius: 1000px; -moz-border-radius: 1000px; -ms-border-radius: 1000px; -o-border-radius: 1000px; border-radius: 1000px; }
-.button.full-width { width: 100%; text-align: center; padding-left: 0px !important; padding-right: 0px !important; }
-.button.left-align { text-align: left; text-indent: 12px; }
-.button.disabled, .button[disabled] { opacity: 0.6; cursor: default; background: #fd7800; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
-.button.disabled :hover, .button[disabled] :hover { background: #fd7800; }
-.button.disabled.success, .button[disabled].success { background-color: #5da423; }
-.button.disabled.success:hover, .button[disabled].success:hover { background-color: #5da423; }
-.button.disabled.alert, .button[disabled].alert { background-color: #c60f13; }
-.button.disabled.alert:hover, .button[disabled].alert:hover { background-color: #c60f13; }
-.button.disabled.secondary, .button[disabled].secondary { background-color: #e9e9e9; }
-.button.disabled.secondary:hover, .button[disabled].secondary:hover { background-color: #e9e9e9; }
-
-/* Don't use native buttons on iOS */
-input[type=submit].button, button.button { -webkit-appearance: none; }
-
-@media only screen and (max-width: 767px) { .button { display: block; }
-  button.button, input[type="submit"].button { width: 100%; padding-left: 0; padding-right: 0; } }
-/* Correct FF button padding */
-@-moz-document url-prefix() { button::-moz-focus-inner, input[type="reset"]::-moz-focus-inner, input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="file"] > input[type="button"]::-moz-focus-inner { border: none; padding: 0; }
-  input[type="submit"].tiny.button { padding: 3px 10px 4px; }
-  input[type="submit"].small.button { padding: 5px 14px 6px; }
-  input[type="submit"].button, input[type=submit].medium.button { padding: 8px 20px 9px; }
-  input[type="submit"].large.button { padding: 13px 30px 14px; } }
-
-/* Buttons with Dropdowns ---------------------- */
-.button.dropdown { position: relative; padding-right: 44px; /* Sizes */ /* Triangles */ /* Flyout List */ /* Split Dropdown Buttons */ }
-.button.dropdown.large { padding-right: 60px; }
-.button.dropdown.small { padding-right: 28px; }
-.button.dropdown.tiny { padding-right: 20px; }
-.button.dropdown:after { content: ""; display: block; width: 0; height: 0; border: solid 6px; border-color: white transparent transparent transparent; position: absolute; top: 50%; right: 20px; margin-top: -2px; }
-.button.dropdown.large:after { content: ""; display: block; width: 0; height: 0; border: solid 7px; border-color: white transparent transparent transparent; margin-top: -3px; right: 30px; }
-.button.dropdown.small:after { content: ""; display: block; width: 0; height: 0; border: solid 5px; border-color: white transparent transparent transparent; margin-top: -2px; right: 14px; }
-.button.dropdown.tiny:after { content: ""; display: block; width: 0; height: 0; border: solid 4px; border-color: white transparent transparent transparent; margin-top: -1px; right: 10px; }
-.button.dropdown > ul { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; display: none; position: absolute; left: -1px; background: #fff; background: rgba(255, 255, 255, 0.95); list-style: none; margin: 0; padding: 0; border: 1px solid #cccccc; border-top: none; min-width: 100%; z-index: 40; }
-.button.dropdown > ul li { width: 100%; cursor: pointer; padding: 0; min-height: 18px; line-height: 18px; margin: 0; white-space: nowrap; list-style: none; }
-.button.dropdown > ul li a { display: block; color: #555; font-size: 13px; font-weight: normal; padding: 6px 14px; text-align: left; }
-.button.dropdown > ul li:hover { background-color: #e3f4f9; color: #222; }
-.button.dropdown > ul li.divider { min-height: 0; padding: 0; height: 1px; margin: 4px 0; background: #ededed; }
-.button.dropdown.up > ul { border-top: 1px solid #cccccc; border-bottom: none; }
-.button.dropdown ul.no-hover.show-dropdown { display: block !important; }
-.button.dropdown:hover > ul.no-hover { display: none; }
-.button.dropdown.split { padding: 0; position: relative; /* Sizes */ /* Triangle Spans */ /* Colors */ }
-.button.dropdown.split:after { display: none; }
-.button.dropdown.split:hover { background-color: #fd7800; }
-.button.dropdown.split.alert:hover { background-color: #c60f13; }
-.button.dropdown.split.success:hover { background-color: #5da423; }
-.button.dropdown.split.secondary:hover { background-color: #e9e9e9; }
-.button.dropdown.split > a { color: white; display: block; padding: 10px 50px 11px 20px; padding-left: 20px; padding-right: 50px; -webkit-transition: background-color 0.15s ease-in-out; -moz-transition: background-color 0.15s ease-in-out; -o-transition: background-color 0.15s ease-in-out; transition: background-color 0.15s ease-in-out; }
-.button.dropdown.split > a:hover { background-color: #2284a1; }
-.button.dropdown.split.large > a { padding: 15px 75px 16px 30px; padding-left: 30px; padding-right: 75px; }
-.button.dropdown.split.small > a { padding: 7px 35px 8px 14px; padding-left: 14px; padding-right: 35px; }
-.button.dropdown.split.tiny > a { padding: 5px 25px 6px 10px; padding-left: 10px; padding-right: 25px; }
-.button.dropdown.split > span { background-color: #fd7800; position: absolute; right: 0; top: 0; height: 100%; width: 30px; border-left: 1px solid #1e728c; -webkit-box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5) inset; -moz-box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5) inset; box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5) inset; -webkit-transition: background-color 0.15s ease-in-out; -moz-transition: background-color 0.15s ease-in-out; -o-transition: background-color 0.15s ease-in-out; transition: background-color 0.15s ease-in-out; }
-.button.dropdown.split > span:hover { background-color: #2284a1; }
-.button.dropdown.split > span:after { content: ""; display: block; width: 0; height: 0; border: solid 6px; border-color: white transparent transparent transparent; position: absolute; top: 50%; left: 50%; margin-left: -6px; margin-top: -2px; }
-.button.dropdown.split.secondary > span:after { content: ""; display: block; width: 0; height: 0; border: solid 6px; border-color: #1d1d1d transparent transparent transparent; }
-.button.dropdown.split.large span { width: 45px; }
-.button.dropdown.split.small span { width: 21px; }
-.button.dropdown.split.tiny span { width: 15px; }
-.button.dropdown.split.large span:after { content: ""; display: block; width: 0; height: 0; border: solid 7px; border-color: white transparent transparent transparent; margin-top: -3px; margin-left: -7px; }
-.button.dropdown.split.small span:after { content: ""; display: block; width: 0; height: 0; border: solid 4px; border-color: white transparent transparent transparent; margin-top: -1px; margin-left: -4px; }
-.button.dropdown.split.tiny span:after { content: ""; display: block; width: 0; height: 0; border: solid 3px; border-color: white transparent transparent transparent; margin-top: -1px; margin-left: -3px; }
-.button.dropdown.split.alert > span { background-color: #c60f13; border-left-color: #7f0a0c; }
-.button.dropdown.split.success > span { background-color: #5da423; border-left-color: #396516; }
-.button.dropdown.split.secondary > span { background-color: #e9e9e9; border-left-color: #c3c3c3; }
-.button.dropdown.split.secondary > a { color: #1d1d1d; }
-.button.dropdown.split.alert > a:hover, .button.dropdown.split.alert > span:hover { background-color: #970b0e; }
-.button.dropdown.split.success > a:hover, .button.dropdown.split.success > span:hover { background-color: #457a1a; }
-.button.dropdown.split.secondary > a:hover, .button.dropdown.split.secondary > span:hover { background-color: #d0d0d0; }
-
-/* Button Groups ---------------------- */
-ul.button-group { list-style: none; padding: 0; margin: 0 0 12px; *zoom: 1; }
-ul.button-group:before, ul.button-group:after { content: ""; display: table; }
-ul.button-group:after { clear: both; }
-ul.button-group li { padding: 0; margin: 0 0 0 -1px; float: left; }
-ul.button-group li:first-child { margin-left: 0; }
-ul.button-group.radius li a.button, ul.button-group.radius li a.button.radius, ul.button-group.radius li a.button-rounded { -webkit-border-radius: 0px; -moz-border-radius: 0px; -ms-border-radius: 0px; -o-border-radius: 0px; border-radius: 0px; }
-ul.button-group.radius li:first-child a.button, ul.button-group.radius li:first-child a.button.radius { -moz-border-radius-left3px: 5px; -webkit-border-left-3px-radius: 5px; border-left-3px-radius: 5px; }
-ul.button-group.radius li:first-child a.button.rounded { -moz-border-radius-left1000px: 5px; -webkit-border-left-1000px-radius: 5px; border-left-1000px-radius: 5px; }
-ul.button-group.radius li:last-child a.button, ul.button-group.radius li:last-child a.button.radius { -moz-border-radius-right3px: 5px; -webkit-border-right-3px-radius: 5px; border-right-3px-radius: 5px; }
-ul.button-group.radius li:last-child a.button.rounded { -moz-border-radius-right1000px: 5px; -webkit-border-right-1000px-radius: 5px; border-right-1000px-radius: 5px; }
-ul.button-group.even a.button { width: 100%; }
-ul.button-group.even.two-up li { width: 50%; }
-ul.button-group.even.three-up li { width: 33.3%; }
-ul.button-group.even.three-up li:first-child { width: 33.4%; }
-ul.button-group.even.four-up li { width: 25%; }
-ul.button-group.even.five-up li { width: 20%; }
-
-@media only screen and (max-width: 767px) { .button-group button.button, .button-group input[type="submit"].button { width: auto; padding: 10px 20px 11px; }
-  .button-group button.button.large, .button-group input[type="submit"].button.large { padding: 15px 30px 16px; }
-  .button-group button.button.medium, .button-group input[type="submit"].button.medium { padding: 10px 20px 11px; }
-  .button-group button.button.small, .button-group input[type="submit"].button.small { padding: 7px 14px 8px; }
-  .button-group button.button.tiny, .button-group input[type="submit"].button.tiny { padding: 5px 10px 6px; }
-  .button-group.even button.button, .button-group.even input[type="submit"].button { width: 100%; padding-left: 0; padding-right: 0; } }
-div.button-bar { overflow: hidden; }
-div.button-bar ul.button-group { float: left; margin-right: 8px; }
-div.button-bar ul.button-group:last-child { margin-left: 0; }
-
-/* CSS for jQuery Reveal Plugin Maintained for Foundation. foundation.zurb.com Free to use under the MIT license. http://www.opensource.org/licenses/mit-license.php */
-/* Reveal Modals ---------------------- */
-.reveal-modal-bg { position: fixed; height: 100%; width: 100%; background: #000; background: rgba(0, 0, 0, 0.45); z-index: 40; display: none; top: 0; left: 0; }
-
-.reveal-modal { background: white; visibility: hidden; display: none; top: 100px; left: 50%; margin-left: -260px; width: 520px; position: absolute; z-index: 41; padding: 30px; -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }
-.reveal-modal *:first-child { margin-top: 0; }
-.reveal-modal *:last-child { margin-bottom: 0; }
-.reveal-modal .close-reveal-modal { font-size: 22px; font-size: 2.2rem; line-height: .5; position: absolute; top: 8px; right: 11px; color: #aaa; text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.6); font-weight: bold; cursor: pointer; }
-.reveal-modal.small { width: 30%; margin-left: -15%; }
-.reveal-modal.medium { width: 40%; margin-left: -20%; }
-.reveal-modal.large { width: 60%; margin-left: -30%; }
-.reveal-modal.xlarge { width: 70%; margin-left: -35%; }
-.reveal-modal.expand { width: 90%; margin-left: -45%; }
-.reveal-modal .row { min-width: 0; margin-bottom: 10px; }
-
-/* Mobile */
-@media only screen and (max-width: 767px) { .reveal-modal-bg { position: absolute; }
-  .reveal-modal, .reveal-modal.small, .reveal-modal.medium, .reveal-modal.large, .reveal-modal.xlarge { width: 80%; top: 15px; left: 50%; margin-left: -40%; padding: 20px; height: auto; } }
-  /* NOTES Close button entity is &#215;
- Example markup <div id="myModal" class="reveal-modal"> <h2>Awesome. I have it.</h2> <p class="lead">Your couch.  I it's mine.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ultrices aliquet placerat. Duis pulvinar orci et nisi euismod vitae tempus lorem consectetur. Duis at magna quis turpis mattis venenatis eget id diam. </p> <a class="close-reveal-modal">&#215;</a> </div> */
-/* Requires -globals.css -app.js */
-/* Tabs ---------------------- */
-dl.tabs { border-bottom: solid 1px #e6e6e6; display: block; height: 40px; padding: 0; margin-bottom: 20px; }
-dl.tabs.contained { margin-bottom: 0; }
-dl.tabs dt { color: #b3b3b3; cursor: default; display: block; float: left; font-size: 12px; height: 40px; line-height: 40px; padding: 0; padding-right: 9px; padding-left: 20px; width: auto; text-transform: uppercase; }
-dl.tabs dt:first-child { padding: 0; padding-right: 9px; }
-dl.tabs dd { display: block; float: left; padding: 0; margin: 0; }
-dl.tabs dd a { color: #6f6f6f; display: block; font-size: 14px; height: 40px; line-height: 40px; padding: 0px 23.8px; }
-dl.tabs dd a:focus { font-weight: bold; color: #fd7800; }
-dl.tabs dd.active { border-top: 3px solid #fd7800; margin-top: -3px; }
-dl.tabs dd.active a { cursor: default; color: #3c3c3c; background: #fff; border-left: 1px solid #e6e6e6; border-right: 1px solid #e6e6e6; font-weight: bold; }
-dl.tabs dd:first-child { margin-left: 0; }
-dl.tabs.vertical { height: auto; border-bottom: 1px solid #e6e6e6; }
-dl.tabs.vertical dt, dl.tabs.vertical dd { float: none; height: auto; }
-dl.tabs.vertical dd { border-left: 3px solid #cccccc; }
-dl.tabs.vertical dd a { background: #f2f2f2; border: none; border: 1px solid #e6e6e6; border-width: 1px 1px 0 0; color: #555; display: block; font-size: 14px; height: auto; line-height: 1; padding: 15px 20px; -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset; -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset; }
-dl.tabs.vertical dd.active { margin-top: 0; border-top: 1px solid #4d4d4d; border-left: 4px solid #1a1a1a; }
-dl.tabs.vertical dd.active a { background: #4d4d4d; border: none; color: #fff; height: auto; margin: 0; position: static; top: 0; -webkit-box-shadow: 0 0 0; -moz-box-shadow: 0 0 0; box-shadow: 0 0 0; }
-dl.tabs.vertical dd:first-child a.active { margin: 0; }
-dl.tabs.pill { border-bottom: none; margin-bottom: 10px; }
-dl.tabs.pill dd { margin-right: 10px; }
-dl.tabs.pill dd:last-child { margin-right: 0; }
-dl.tabs.pill dd a { -webkit-border-radius: 1000px; -moz-border-radius: 1000px; -ms-border-radius: 1000px; -o-border-radius: 1000px; border-radius: 1000px; background: #e6e6e6; height: 26px; line-height: 26px; color: #666; }
-dl.tabs.pill dd.active { border: none; margin-top: 0; }
-dl.tabs.pill dd.active a { background-color: #fd7800; border: none; color: #fff; }
-dl.tabs.pill.contained { border-bottom: solid 1px #eee; margin-bottom: 0; }
-dl.tabs.pill.two-up dd, dl.tabs.pill.three-up dd, dl.tabs.pill.four-up dd, dl.tabs.pill.five-up dd { margin-right: 0; }
-dl.tabs.two-up dt a, dl.tabs.two-up dd a, dl.tabs.three-up dt a, dl.tabs.three-up dd a, dl.tabs.four-up dt a, dl.tabs.four-up dd a, dl.tabs.five-up dt a, dl.tabs.five-up dd a { padding: 0 17px; text-align: center; overflow: hidden; }
-dl.tabs.two-up dt, dl.tabs.two-up dd { width: 50%; }
-dl.tabs.three-up dt, dl.tabs.three-up dd { width: 33.33%; }
-dl.tabs.four-up dt, dl.tabs.four-up dd { width: 25%; }
-dl.tabs.five-up dt, dl.tabs.five-up dd { width: 20%; }
-
-ul.tabs-content { display: block; margin: 0 0 20px; padding: 0; }
-ul.tabs-content > li { display: none; }
-ul.tabs-content > li.active { display: block; }
-ul.tabs-content.contained { padding: 0; }
-ul.tabs-content.contained > li { border: solid 0 #e6e6e6; border-width: 0 1px 1px 1px; padding: 20px; }
-ul.tabs-content.contained.vertical > li { border-width: 1px 1px 1px 1px; }
-
-.no-js ul.tabs-content > li { display: block; }
-
-@media only screen and (max-width: 767px) { dl.tabs.mobile { width: auto; margin: 20px -20px 40px; height: auto; }
-  dl.tabs.mobile dt, dl.tabs.mobile dd { float: none; height: auto; }
-  dl.tabs.mobile dd a { display: block; width: auto; height: auto; padding: 18px 20px; line-height: 1; border: solid 0 #ccc; border-width: 1px 0 0; margin: 0; color: #555; background: #eee; font-size: 15px; font-size: 1.5rem; }
-  dl.tabs.mobile dd a.active { height: auto; margin: 0; border-width: 1px 0 0; }
-  .tabs.mobile { border-bottom: solid 1px #ccc; height: auto; }
-  .tabs.mobile dd a { padding: 18px 20px; border: none; border-left: none; border-right: none; border-top: 1px solid #ccc; background: #fff; }
-  .tabs.mobile dd a.active { border: none; background: #fd7800; color: #fff; margin: 0; position: static; top: 0; height: auto; }
-  .tabs.mobile dd:first-child a.active { margin: 0; }
-  dl.contained.mobile { margin-bottom: 0; }
-  dl.contained.tabs.mobile dd a { padding: 18px 20px; }
-  dl.tabs.mobile + ul.contained { margin-left: -20px; margin-right: -20px; border-width: 0 0 1px 0; } }
-/* Requires: globals.css */
-/* Table of Contents
-
-:: Visibility
-:: Alerts
-:: Labels
-:: Tooltips
-:: Panels
-:: Accordion
-:: Side Nav
-:: Sub Nav
-:: Pagination
-:: Breadcrumbs
-:: Lists
-:: Link Lists
-:: Keystroke Chars
-:: Image Thumbnails
-:: Video
-:: Tables
-:: Microformats
-:: Progress Bars
-
-*/
-/* Visibility Classes ---------------------- */
-/* Standard (large) display targeting */
-.show-for-small, .show-for-medium, .show-for-medium-down, .hide-for-large, .hide-for-large-up, .show-for-xlarge { display: none !important; }
-
-.hide-for-xlarge, .show-for-large, .show-for-large-up, .hide-for-small, .hide-for-medium, .hide-for-medium-down { display: block !important; }
-
-/* Very large display targeting */
-@media only screen and (min-width: 1441px) { .hide-for-small, .hide-for-medium, .hide-for-medium-down, .hide-for-large, .show-for-large-up, .show-for-xlarge { display: block !important; }
-  .show-for-small, .show-for-medium, .show-for-medium-down, .show-for-large, .hide-for-large-up, .hide-for-xlarge { display: none !important; } }
-/* Medium display targeting */
-@media only screen and (max-width: 1279px) and (min-width: 768px) { .hide-for-small, .show-for-medium, .show-for-medium-down, .hide-for-large, .hide-for-large-up, .hide-for-xlarge { display: block !important; }
-  .show-for-small, .hide-for-medium, .hide-for-medium-down, .show-for-large, .show-for-large-up, .show-for-xlarge { display: none !important; } }
-/* Small display targeting */
-@media only screen and (max-width: 767px) { .show-for-small, .hide-for-medium, .show-for-medium-down, .hide-for-large, .hide-for-large-up, .hide-for-xlarge { display: block !important; }
-  .hide-for-small, .show-for-medium, .hide-for-medium-down, .show-for-large, .show-for-large-up, .show-for-xlarge { display: none !important; } }
-/* Orientation targeting */
-.show-for-landscape, .hide-for-portrait { display: block !important; }
-
-.hide-for-landscape, .show-for-portrait { display: none !important; }
-
-@media screen and (orientation: landscape) { .show-for-landscape, .hide-for-portrait { display: block !important; }
-  .hide-for-landscape, .show-for-portrait { display: none !important; } }
-@media screen and (orientation: portrait) { .show-for-portrait, .hide-for-landscape { display: block !important; }
-  .hide-for-portrait, .show-for-landscape { display: none !important; } }
-/* Touch-enabled device targeting */
-.show-for-touch { display: none !important; }
-
-.hide-for-touch { display: block !important; }
-
-.touch .show-for-touch { display: block !important; }
-
-.touch .hide-for-touch { display: none !important; }
-
-/* Specific overrides for elements that require something other than display: block */
-table.show-for-xlarge, table.show-for-large, table.hide-for-small, table.hide-for-medium { display: table !important; }
-
-@media only screen and (max-width: 1279px) and (min-width: 768px) { .touch table.hide-for-xlarge, .touch table.hide-for-large, .touch table.hide-for-small, .touch table.show-for-medium { display: table !important; } }
-@media only screen and (max-width: 767px) { table.hide-for-xlarge, table.hide-for-large, table.hide-for-medium, table.show-for-small { display: table !important; } }
-/* Alerts ---------------------- */
-div.alert-box { display: block; padding: 6px 7px 7px; font-weight: bold; font-size: 14px; color: white; background-color: #fd7800; border: 1px solid rgba(0, 0, 0, 0.1); margin-bottom: 12px; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; text-shadow: 0 -1px rgba(0, 0, 0, 0.3); position: relative; }
-div.alert-box.success { background-color: #5da423; color: #fff; text-shadow: 0 -1px rgba(0, 0, 0, 0.3); }
-div.alert-box.alert { background-color: #c60f13; color: #fff; text-shadow: 0 -1px rgba(0, 0, 0, 0.3); }
-div.alert-box.secondary { background-color: #e9e9e9; color: #505050; text-shadow: 0 1px rgba(255, 255, 255, 0.3); }
-div.alert-box a.close { color: #333; position: absolute; right: 4px; top: -1px; font-size: 17px; opacity: 0.2; padding: 4px; }
-div.alert-box a.close:hover, div.alert-box a.close:focus { opacity: 0.4; }
-
-/* Labels ---------------------- */
-
-
-/* Tooltips ---------------------- */
-.has-tip { border-bottom: dotted 1px #cccccc; cursor: help; font-weight: bold; color: #333333; }
-.has-tip:hover { border-bottom: dotted 1px #196177; color: #fd7800; }
-.has-tip.tip-left, .has-tip.tip-right { float: none !important; }
-
-.tooltip { display: none; background: black; background: rgba(0, 0, 0, 0.85); position: absolute; color: white; font-weight: bold; font-size: 12px; font-size: 1.2rem; padding: 5px; z-index: 999; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; line-height: normal; }
-.tooltip > .nub { display: block; width: 0; height: 0; border: solid 5px; border-color: transparent transparent black transparent; border-color: transparent transparent rgba(0, 0, 0, 0.85) transparent; position: absolute; top: -10px; left: 10px; }
-.tooltip.tip-override > .nub { border-color: transparent transparent black transparent !important; border-color: transparent transparent rgba(0, 0, 0, 0.85) transparent !important; top: -10px !important; }
-.tooltip.tip-top > .nub { border-color: black transparent transparent transparent; border-color: rgba(0, 0, 0, 0.85) transparent transparent transparent; top: auto; bottom: -10px; }
-.tooltip.tip-left, .tooltip.tip-right { float: none !important; }
-.tooltip.tip-left > .nub { border-color: transparent transparent transparent black; border-color: transparent transparent transparent rgba(0, 0, 0, 0.85); right: -10px; left: auto; }
-.tooltip.tip-right > .nub { border-color: transparent black transparent transparent; border-color: transparent rgba(0, 0, 0, 0.85) transparent transparent; right: auto; left: -10px; }
-.tooltip.noradius { -webkit-border-radius: 0; -moz-border-radius: 0; -ms-border-radius: 0; -o-border-radius: 0; border-radius: 0; }
-.tooltip.opened { color: #fd7800 !important; border-bottom: dotted 1px #196177 !important; }
-
-.tap-to-close { display: block; font-size: 10px; font-size: 1rem; color: #888888; font-weight: normal; }
-
-@media only screen and (max-width: 767px) { .tooltip { font-size: 14px; font-size: 1.4rem; line-height: 1.4; padding: 7px 10px 9px 10px; }
-  .tooltip > .nub, .tooltip.top > .nub, .tooltip.left > .nub, .tooltip.right > .nub { border-color: transparent transparent black transparent; border-color: transparent transparent rgba(0, 0, 0, 0.85) transparent; top: -12px; left: 10px; } }
-/* Panels ---------------------- */
-.panel { background: #f2f2f2; border: solid 1px #e6e6e6; margin: 0 0 22px 0; padding: 20px; }
-.panel > :first-child { margin-top: 0; }
-.panel > :last-child { margin-bottom: 0; }
-.panel.callout { background: #fd7800; color: #fff; border-color: #2284a1; -webkit-box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.5); -moz-box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.5); box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.5); }
-.panel.callout a { color: #fff; }
-.panel.callout .button { background: white; border: none; color: #fd7800; text-shadow: none; }
-.panel.callout .button:hover { background: rgba(255, 255, 255, 0.8); }
-.panel.radius { -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; }
-
-/* Accordion ---------------------- */
-ul.accordion { margin: 0 0 22px 0; border-bottom: 1px solid #e9e9e9; }
-ul.accordion > li { list-style: none; margin: 0; padding: 0; border-top: 1px solid #e9e9e9; }
-ul.accordion > li .title { cursor: pointer; background: #f6f6f6; padding: 15px; margin: 0; position: relative; border-left: 1px solid #e9e9e9; border-right: 1px solid #e9e9e9; -webkit-transition: 0.15s background linear; -moz-transition: 0.15s background linear; -o-transition: 0.15s background linear; transition: 0.15s background linear; }
-ul.accordion > li .title h1, ul.accordion > li .title h2, ul.accordion > li .title h3, ul.accordion > li .title h4, ul.accordion > li .title h5 { margin: 0; }
-ul.accordion > li .title:after { content: ""; display: block; width: 0; height: 0; border: solid 6px; border-color: transparent #9d9d9d transparent transparent; position: absolute; right: 15px; top: 21px; }
-ul.accordion > li .content { display: none; padding: 15px; }
-ul.accordion > li.active { border-top: 3px solid #fd7800; }
-ul.accordion > li.active .title { background: white; padding-top: 13px; }
-ul.accordion > li.active .title:after { content: ""; display: block; width: 0; height: 0; border: solid 6px; border-color: #9d9d9d transparent transparent transparent; }
-ul.accordion > li.active .content { background: white; display: block; border-left: 1px solid #e9e9e9; border-right: 1px solid #e9e9e9; }
-
-/* Side Nav ---------------------- */
-ul.side-nav { display: block; list-style: none; margin: 0; padding: 17px 0; }
-ul.side-nav li { display: block; list-style: none; margin: 0 0 7px 0; }
-ul.side-nav li a { display: block; }
-ul.side-nav li.active a { color: #4d4d4d; font-weight: bold; }
-ul.side-nav li.divider { border-top: 1px solid #e6e6e6; height: 0; padding: 0; }
-
-/* Sub Navs http://www.zurb.com/article/292/how-to-create-simple-and-effective-sub-na ---------------------- */
-dl.sub-nav { display: block; width: auto; overflow: hidden; margin: -4px 0 18px; margin-right: 0; margin-left: -9px; padding-top: 4px; }
-dl.sub-nav dt, dl.sub-nav dd { float: left; display: inline; margin-left: 9px; margin-bottom: 10px; }
-dl.sub-nav dt { color: #999; font-weight: normal; }
-dl.sub-nav dd a { text-decoration: none; -webkit-border-radius: 1000px; -moz-border-radius: 1000px; -ms-border-radius: 1000px; -o-border-radius: 1000px; border-radius: 1000px; }
-dl.sub-nav dd.active a { font-weight: bold; background: #fd7800; color: #fff; padding: 3px 9px; cursor: default; }
-
-/* Pagination ---------------------- */
-ul.pagination { display: block; height: 24px; margin-left: -5px; }
-ul.pagination li { float: left; display: block; height: 24px; color: #999; font-size: 14px; margin-left: 5px; }
-ul.pagination li a { display: block; padding: 1px 7px 1px; color: #555; }
-ul.pagination li:hover a, ul.pagination li a:focus { background: #e6e6e6; }
-ul.pagination li.unavailable a { cursor: default; color: #999; }
-ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus { background: transparent; }
-ul.pagination li.current a { background: #fd7800; color: white; font-weight: bold; cursor: default; }
-ul.pagination li.current a:hover { background: #fd7800; }
-
-/* Breadcrums ---------------------- */
-ul.breadcrumbs { display: block; background: #f6f6f6; padding: 6px 10px 7px; border: 1px solid #e9e9e9; -webkit-border-radius: 2px; -moz-border-radius: 2px; -ms-border-radius: 2px; -o-border-radius: 2px; border-radius: 2px; overflow: hidden; }
-ul.breadcrumbs li { margin: 0; padding: 0 12px 0 0; float: left; list-style: none; }
-ul.breadcrumbs li a, ul.breadcrumbs li span { text-transform: uppercase; font-size: 11px; font-size: 1.1rem; padding-left: 12px; }
-ul.breadcrumbs li:first-child a, ul.breadcrumbs li:first-child span { padding-left: 0; }
-ul.breadcrumbs li:before { content: "/"; color: #aaa; }
-ul.breadcrumbs li:first-child:before { content: " "; }
-ul.breadcrumbs li.current a { cursor: default; color: #333; }
-ul.breadcrumbs li:hover a, ul.breadcrumbs li a:focus { text-decoration: underline; }
-ul.breadcrumbs li.current:hover a, ul.breadcrumbs li.current a:focus { text-decoration: none; }
-ul.breadcrumbs li.unavailable a { color: #999; }
-ul.breadcrumbs li.unavailable:hover a, ul.breadcrumbs li.unavailable a:focus { text-decoration: none; color: #999; cursor: default; }
-
-/* Link List */
-ul.link-list { margin: 0 0 17px -22px; padding: 0; list-style: none; overflow: hidden; }
-ul.link-list li { list-style: none; float: left; margin-left: 22px; display: block; }
-ul.link-list li a { display: block; }
-
-/* Keytroke Characters ---------------------- */
-.keystroke, kbd { font-family: "Consolas", "Menlo", "Courier", monospace; font-size: 13px; padding: 2px 4px 0px; margin: 0; background: #ededed; border: solid 1px #dbdbdb; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; }
-
-/* Image Thumbnails ---------------------- */
-.th { display: block; }
-.th img { display: block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; -webkit-transition-property: border, box-shadow; -moz-transition-property: border, box-shadow; -o-transition-property: border, box-shadow; transition-property: border, box-shadow; -webkit-transition-duration: 300ms; -moz-transition-duration: 300ms; -o-transition-duration: 300ms; transition-duration: 300ms; }
-.th:hover img { -webkit-box-shadow: 0 0 6px 1px rgba(43, 166, 203, 0.5); -moz-box-shadow: 0 0 6px 1px rgba(43, 166, 203, 0.5); box-shadow: 0 0 6px 1px rgba(43, 166, 203, 0.5); }
-
-/* Video - Mad props to http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ ---------------------- */
-.flex-video { position: relative; padding-top: 25px; padding-bottom: 67.5%; height: 0; margin-bottom: 16px; overflow: hidden; }
-.flex-video.widescreen { padding-bottom: 57.25%; }
-.flex-video.vimeo { padding-top: 0; }
-.flex-video iframe, .flex-video object, .flex-video embed, .flex-video video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
-
-@media only screen and (max-device-width: 800px), only screen and (device-width: 1024px) and (device-height: 600px), only screen and (width: 1280px) and (orientation: landscape), only screen and (device-width: 800px), only screen and (max-width: 767px) { .flex-video { padding-top: 0; } }
-
-/* Microformats ---------------------- */
-ul.vcard { display: inline-block; margin: 0 0 12px 0; border: 1px solid #ddd; padding: 10px; }
-ul.vcard li { margin: 0; display: block; }
-ul.vcard li.fn { font-weight: bold; font-size: 15px; font-size: 1.5rem; }
-
-p.vevent span.summary { font-weight: bold; }
-p.vevent abbr { cursor: default; text-decoration: none; font-weight: bold; border: none; padding: 0 1px; }
-
-/* Progress Bar ---------------------- */
-div.progress { padding: 2px; margin-bottom: 10px; border: 1px solid #cccccc; height: 25px; /* meter */ /* border radii */ }
-div.progress .meter { background: #fd7800; height: 100%; display: block; width: 50%; }
-div.progress.secondary .meter { background: #e9e9e9; }
-div.progress.success .meter { background: #5da423; }
-div.progress.alert .meter { background: #c60f13; }
-div.progress.radius { -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; }
-div.progress.radius .meter { -webkit-border-radius: 2px; -moz-border-radius: 2px; -ms-border-radius: 2px; -o-border-radius: 2px; border-radius: 2px; }
-div.progress.round { -webkit-border-radius: 1000px; -moz-border-radius: 1000px; -ms-border-radius: 1000px; -o-border-radius: 1000px; border-radius: 1000px; }
-div.progress.round .meter { -webkit-border-radius: 1000px; -moz-border-radius: 1000px; -ms-border-radius: 1000px; -o-border-radius: 1000px; border-radius: 1000px; }
-
-ul li p { display: inline; }
diff --git a/docs/named_data_theme/static/named_data.css_t b/docs/named_data_theme/static/named_data.css_t
deleted file mode 100644
index 8fb8440..0000000
--- a/docs/named_data_theme/static/named_data.css_t
+++ /dev/null
@@ -1,75 +0,0 @@
-@import "agogo.css";
-@import "foundation.css";
-@import "named_data_style.css";
-
-body, h1, h2, h3, h4, p {
-    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
-}
-
-h1 { font-size: 26px; }
-h2 { font-size: 20px; }
-h3 { font-size: 17px; }
-h4 { font-size: 15px; }
-
-h1, h2, h3, h4 {
-    font-weight: bold;
-}
-
-h2, h3, h4 {
-    line-height: 1.2;
-}
-
-blockquote {
-    border-left: none;
-    font-style: normal;
-}
-
-blockquote p {
-    color: #222;
-}
-
-p.logo {
-    float: left;
-    margin: 1px 0 0 0;
-    padding: 0;
-}
-
-table {
-    border-collapse: collapse;
-}
-
-th, td {
-    border: 1px solid #666;
-    padding: 5px;
-}
-
-div.document p {
-    margin: 0.5em 0;
-    padding: 0;
-}
-
-div.document ol,
-div.document ul {
-    margin: 0 0 0 2em;
-}
-
-div.document pre {
-    font-size: 13px;
-    line-height: 1.3;
-    margin: 0;
-    padding: 10px 20px;
-}
-
-div.document table p {
-    margin: 0;
-}
-
-div.document th p {
-    font-weight: bold;
-}
-
-div.bodywrapper a,
-div.header a:hover,
-div.sidebar a:hover {
-    text-decoration: none;
-}
diff --git a/docs/named_data_theme/static/named_data_doxygen.css b/docs/named_data_theme/static/named_data_doxygen.css
deleted file mode 100644
index 02bcbf6..0000000
--- a/docs/named_data_theme/static/named_data_doxygen.css
+++ /dev/null
@@ -1,776 +0,0 @@
-@import url("base.css");
-
-@import url("foundation.css");
-
-table {
-      border: 0;
-}
-
-pre {
-    padding: 10px;
-    background-color: #fafafa;
-    color: #222;
-    line-height: 1.0em;
-    border: 2px solid #C6C9CB;
-    font-size: 0.9em;
-    /* margin: 1.5em 0 1.5em 0; */
-    margin: 0;
-    border-right-style: none;
-    border-left-style: none;
-}
-
-/* General */
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-a:link {
-    text-decoration: none;
-}
-a:visited {
-    text-decoration: none;
-}
-a:active,
-a:hover {
-    text-decoration: none;
-}
-
-h1,h2,h3,h4,h5,h6 {
-    color: #000;
-    margin-bottom: 18px;
-}
-
-h1 { font-weight: normal; font-size: 24px; line-height: 24px;  }
-h2 { font-weight: normal; font-size: 18px; line-height: 18px;  }
-h3 { font-weight: bold;   font-size: 18px; line-height: 18px; }
-h4 { font-weight: normal; font-size: 18px; line-height: 178px; }
-
-hr {
-    background-color: #c6c6c6;
-    border:0;
-    height: 1px;
-    margin-bottom: 18px;
-    clear:both;
-}
-
-div.hr {
-  height: 1px;
-  background: #c6c6c6;
-}
-
-div.hr2 {
-  height: 1px;
-  background: #c6c6c6;
-}
-
-div.hr hr, div.hr2 hr {
-  display: none;
-}
-
-p {
-    padding: 0 0 0.5em;
-    line-height:1.6em;
-}
-ul {
-    list-style: square;
-    margin: 0 0 18px 0;
-}
-ol {
-    list-style: decimal;
-    margin: 0 0 18px 1.5em;
-}
-ol ol {
-    list-style:upper-alpha;
-}
-ol ol ol {
-    list-style:lower-roman;
-}
-ol ol ol ol {
-    list-style:lower-alpha;
-}
-ul ul,
-ol ol,
-ul ol,
-ol ul {
-    margin-bottom:0;
-}
-dl {
-    margin:0 0 24px 0;
-}
-dt {
-    font-weight: bold;
-}
-dd {
-    margin-bottom: 18px;
-}
-strong {
-    font-weight: bold;
-    color: #000;
-}
-cite,
-em,
-i {
-    font-style: italic;
-    border: none;
-}
-big {
-    font-size: 131.25%;
-}
-ins {
-    background: #FFFFCC;
-    border: none;
-    color: #333;
-}
-del {
-    text-decoration: line-through;
-    color: #555;
-}
-blockquote {
-    font-style: italic;
-    padding: 0 3em;
-}
-blockquote cite,
-blockquote em,
-blockquote i {
-    font-style: normal;
-}
-pre {
-    background: #f7f7f7;
-    color: #222;
-    padding: 1.5em;
-}
-abbr,
-acronym {
-    border-bottom: 1px solid #666;
-    cursor: help;
-}
-ins {
-    text-decoration: none;
-}
-sup,
-sub {
-    height: 0;
-    line-height: 1;
-    vertical-align: baseline;
-    position: relative;
-    font-size: 10px;
-}
-sup {
-    bottom: 1ex;
-}
-sub {
-    top: .5ex;
-}
-
-p,
-ul,
-ol,
-dd,
-hr {
-    margin-bottom:10px;
-}
-ul ul,
-ol ol,
-ul ol,
-ol ul {
-    margin-bottom:0;
-}
-pre,
-kbd,
-tt,
-var {
-}
-code {
-    font-size: 13px;
-}
-strong,
-b,
-dt,
-th {
-    color: #000;
-}
-
-
-/* main_container */
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#wrapper {
-    padding: 0px 0px;
-    margin-top: 20px;
-}
-
-/* header*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#search-header{
-    margin-top:15px;
-    padding-bottom:13px;
-}
-
-#search-header #search{
-    background: #222;
-
-}
-
-#search-header #search #s{
-    background: #222;
-    font-size:12px;
-    color: #aaa;
-}
-
-#header_container{
-    padding-bottom: 25px;
-    padding-top: 0px;
-    background: #fff;
-}
-
-#header {
-
-}
-
-#header2 {
-
-}
-
-#content_container{
-    padding-top: 15px;
-}
-
-#left-col {
-    padding: 10px 20px;
-    padding-left: 0px;
-    background: #fff;
-
-}
-
-
-/*footer*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-
-#footer {
-    padding: 5px 20px;
-    background: #ddd;
-}
-
-#footer-container{
-    padding: 5px 20px;
-    background: #303030;
-    border-top: 8px solid #000;
-    font-size:11px;
-}
-
-#footer-info {
-    color:#ccc;
-    text-align:left;
-    background: #1b1b1b;
-    padding: 20px 0;
-}
-
-
-#footer-info a{
-    text-decoration:none;
-    color: #fff;
-}
-
-#footer-info a:hover{
-    color: #ebebeb;
-}
-
-#copyright{float: left;}
-
-.scroll-top {
-    text-align:right;
-}
-
-#footer-widget{
-    padding: 8px 0px 8px 0px;
-    color:#6f6f6f;
-}
-
-#footer-widget #search {
-    width:120px;
-    height:28px;
-    background: #222;
-    margin-left: 0px;
-    position: relative;
-    border: 1px solid #666;
-}
-
-#footer-widget #search #s {
-    width:110px;
-    height:23px;
-    border:0px;
-    margin-left:7px;
-    margin-right:10px;
-    margin-top:3px;
-    color:#fff;
-    display: inline;
-    background: #222;
-    float: left;
-}
-
-#footer-widget #calendar_wrap {
-    padding: 8px 0px;
-}
-
-#footer-widget #wp-calendar td{
-    padding:2px;
-}
-
-
-#footer-widget .textwidget {
-    padding: 5px 0px;
-    line-height: 23px;
-}
-
-
-#footer-widget .widget_tag_cloud a{
-    text-decoration: none;
-    margin: 5px;
-    line-height: 24px;
-    margin-left: 0px;
-    color: #6f6f6f;
-}
-
-#footer-widget .widget_tag_cloud a:hover{
-    color: #fff;
-}
-
-#footer-widget .widget-container ul li a    {
-    color:#fd7800;
-}
-
-#footer-widget .widget-container ul li a:hover    {
-    color: #ccc;
-}
-
-#footer-widget .widget-container h3 {
-    color: #a5a5a5;
-    text-transform: uppercase;
-    margin-bottom: 0px;
-    padding-top: 10px;
-    padding-left: 0px;
-    font-size: 25px;
-    padding-bottom: 8px;
-    font-weight: bold;
-}
-
-#footer-widget .widget-container ul li {
-    padding: 5px 0px;
-    background: none;
-    }
-
-#footer-widget ul {
-    margin-left: 0px;
-    }
-
-#footer-bar1 {
-    padding-right: 40px;
-}
-#footer-bar2 {
-    padding-right: 40px;
-}
-#footer-bar3 {
-}
-#footer-bar4 {
-}
-
-span#follow-box{
-    position: absolute;
-    right: 100px;
-}
-
-span#follow-box img{
-    margin: 0 2px;
-}
-
-/*logo*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#logo {
-    margin: 0px 0px 0px 0px;
-}
-
-#logo2 {
-    margin: 0px 0px 0px 0px;
-}
-
-#logo img{
-    border: none;
-}
-
-#logo2{
-    text-decoration: none;
-    font-size: 42px;
-    letter-spacing: -1pt;
-    font-weight: bold;
-    font-family:arial, "Times New Roman", Times, serif;
-    text-align: left;
-    line-height: 57px;
-    padding-left: 0px;
-}
-
-#logo2 a, #slogan{
-    color: #fd7800;
-}
-
-#slogan{
-    text-align: left;
-    padding-left: 0px;
-}
-
-/*search*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#search {
-    width:180px;
-    height:28px;
-    border: 1px solid #ccc;
-    margin-left: 10px;
-    position: relative;
-}
-
-#sidebar #search {
-    margin-top: 20px;
-}
-
-#search #searchsubmit {
-    background:url(images/go-btn.png) no-repeat top right;
-    width:28px;
-    height:28px;
-    border:0px;
-    position:absolute;
-    right: -35px;
-}
-
-#search #s {
-    width:170px;
-    height:23px;
-    border:0px;
-    margin-left:7px;
-    margin-right:10px;
-    margin-top:3px;
-    color:#000;
-    display: inline;
-    float: left;
-}
-
-/*menu bar*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#menu_container{
-    padding-top: 0px;
-}
-
-
-/*responsive menu*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-/* default style */
-.selectnav { display: none; }
-
-/* small screen */
-@media screen and (max-width: 600px) {
-  .js #nav { display: none; }
-   .js #nav2 { display: none; }
-  .js .selectnav { display: block; }
-}
-
-
-/*welcome*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-#welcome_container h1{
-    margin-top: 0px;
-}
-
-/*homepage boxes*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#box_container{
-    padding-top: 35px;
-    padding-bottom: 15px;
-}
-
-.box-head {
-    float: left;
-    padding-bottom: 20px;
-}
-
-.box-head img{
-
-}
-
-.title-head{
-    padding-top:2px;
-}
-
-.title-box{
-    color: #333;
-    line-height: 15px;
-    text-transform: uppercase;
-}
-
-.title-box h1 {
-    font-size: 18px;
-    margin-bottom: 3px;
-}
-
-.box-content {
-    float: left;
-    padding-top: 10px;
-    line-height: 20px;
-}
-
-
-/* POST */
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-
-.post {
-    overflow: hidden;
-
-}
-
-.post-shadow{
-    background: url("images/post_shadow.png") no-repeat bottom;
-    height: 9px;
-    margin-bottom: 25px;
-}
-
-.post ol{
-    margin-left: 20px;
-}
-
-.post ul {
-    margin-left: 15px;
-}
-.post-entry ul { margin: 0 0 10px 10px; }
-.post-entry ul li {
-    display: block;
-    margin: 5px 0;
-    padding: 0 0 0 20px;
-    /*background: url(images/bullet.png) no-repeat 0 7px;*/
-}
-
-.post-entry ol {
-    list-style: decimal;
-    margin: 0 0 18px 1.6em;
-}
-.post-entry ol li {
-    list-style: decimal;
- }
-
-.post-entry {
-    padding-bottom: 10px;
-    padding-top: 10px;
-    overflow: hidden;
-
-}
-
-.post-head {
-    margin-bottom: 5px;
-    padding-top: 15px;
-}
-
-.post-head h1 a, .post-head h1 {
-    text-decoration:none;
-    color:#000;
-    margin: 0px;
-    font-size: 27px;
-}
-
-.post-head h1 a:hover {
-    color:#777;
-}
-
-
-.post-head-notfound h1, .post-head-404 h1, .post-head-archive h1, .post-head-search h1 {
-    margin-bottom: 10px;
-    font-weight:normal;
-    text-decoration:none;
-    color:#000;
-    font-size: 27px;
-}
-
-.post-thumb img {
-    border: 0px solid #ebebeb;
-}
-
-.post-entry img{
-    margin-bottom: 10px;
-    height:auto;
-    max-width:100% !important;
-}
-
-.meta-data{
-    line-height: 16px;
-    padding: 6px 3px;
-    margin-bottom: 3px;
-    font-size: 11px;
-    border-bottom: 1px solid #e9e9e9;
-}
-
-.meta-data a{
-    color: #fd7800;
-}
-
-.meta-data a:hover{
-    color: #777;
-}
-
-.read-more {
-color: #000;
-    background: #fff;
-      padding: 4px 8px;
-      border-radius: 3px;
-      display: inline-block;
-      font-size: 11px;
-      font-weight: bold;
-      text-decoration: none;
-      text-transform: capitalize;
-      cursor: pointer;
-      margin-top: 20px;
-}
-
-.read-more:hover{
-    background: #fff;
-    color: #666;
-}
-
-.clear {
-    clear:both;
-}
-
-.sticky {
-
-}
-
-/* content */
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-#content_container table {
-    border: 1px solid #e7e7e7;
-    margin: 0 -1px 24px 0;
-    text-align: left;
-    width: 100%;
-
-}
-#content_container tr th,
-#content_container thead th {
-    color: #888;
-    font-size: 12px;
-    font-weight: bold;
-    line-height: 18px;
-    padding: 9px 10px;
-}
-#content_container tr td {
-
-    padding: 6px 10px;
-}
-#content_container tr.odd td {
-    background: #f2f7fc;
-}
-
-/*--navigation--*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-.navigation {
-    float: left;
-    width: 100%;
-    margin: 20px 0;
-}
-
-
-.navigation .alignleft a {
-    float: left;
-}
-
-.navigation .alignright a {
-    float: right;
-}
-
-#nav-single {
-    overflow:hidden;
-    margin-top:20px;
-    margin-bottom:10px;
-}
-.nav-previous {
-    float: left;
-    width: 50%;
-}
-.nav-next {
-    float: right;
-    text-align: right;
-    width: 50%;
-}
-
-/*--sub head and breadcrumbs--*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#subhead_container{
-    padding: 7px 0px;
-}
-
-#subhead h1{
-    color: #000;
-    padding-top: 10px;
-    padding-left: 0px;
-    font-size: 30px;
-}
-
-#breadcrumbs {
-    padding-left: 25px;
-    margin-bottom: 15px;
-    color: #9e9e9e;
-    margin:0 auto;
-    width: 964px;
-    font-size: 10px;
-}
-
-#breadcrumbs a{
-    text-decoration: none;
-    color: #9e9e9e;
-}
-
-/*Alignments */
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-.alignleft,
-img.alignleft {
-    display: inline;
-    float: left;
-    margin-right: 22px;
-    margin-top: 9px;
-}
-
-.alignright,
-img.alignright {
-    display: inline;
-    float: right;
-    margin-left: 22px;
-    margin-top: 8px;
-}
-.aligncenter,
-img.aligncenter {
-    clear: both;
-    display: block;
-    margin-left: auto;
-    margin-right: auto;
-}
-
-.alignleft,
-.alignright,
-.aligncenter,
-img.alignleft,
-img.alignright,
-img.aligncenter
-{
-    margin-bottom: 10px;
-}
-
-
-a img.aligncenter {
-    display:block;
-    margin-left:auto;
-    margin-right:auto;
-}
-
-img { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; }
diff --git a/docs/named_data_theme/static/named_data_style.css b/docs/named_data_theme/static/named_data_style.css
deleted file mode 100644
index fdcdc98..0000000
--- a/docs/named_data_theme/static/named_data_style.css
+++ /dev/null
@@ -1,713 +0,0 @@
-/* General */
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-body {
-	/* background: #ccc;
-	font: normal 12px Verdana, sans-serif;
-	color: #777;
-	line-height:18px; */
-	border-top: 4px solid #fd7800;
-}
-	
-a {
-	/* color: #000;
-	outline: 0; */
-}
-	
-a:link {
-	text-decoration: none;
-}
-a:visited {
-	text-decoration: none;
-}
-a:active,
-a:hover {
-	/* color: #ccc; */
-	text-decoration: none;
-}
-
-h1,h2,h3,h4,h5,h6 {
-	color: #000;
-	margin-bottom: 18px;
-}
-
-h1 { font-weight: normal; font-size: 24px; line-height: 24px;  }
-h2 { font-weight: normal; font-size: 18px; line-height: 18px;  }
-h3 { font-weight: normal; font-size: 14px; line-height: 14px; }
-h4 { font-weight: normal; font-size: 12px; line-height: 12px; }
-
-hr {
-	background-color: #c6c6c6;
-	border:0;
-	height: 1px;
-	margin-bottom: 18px;
-	clear:both;
-}
-
-div.hr {
-  height: 1px;
-  background: #c6c6c6;
-}
-
-div.hr2 {
-  height: 1px;
-  background: #c6c6c6;
-}
-
-div.hr hr, div.hr2 hr {
-  display: none;
-}
-
-p {
-	padding: 0 0 0.5em;
-	line-height:1.6em;
-}
-ul {
-	list-style: square;
-	margin: 0 0 18px 0;
-}
-ol {
-	list-style: decimal;
-	margin: 0 0 18px 1.5em;
-}
-ol ol {
-	list-style:upper-alpha;
-}
-ol ol ol {
-	list-style:lower-roman;
-}
-ol ol ol ol {
-	list-style:lower-alpha;
-}
-ul ul,
-ol ol,
-ul ol,
-ol ul {
-	margin-bottom:0;
-}
-dl {
-	margin:0 0 24px 0;
-}
-dt {
-	font-weight: bold;
-}
-dd {
-	margin-bottom: 18px;
-}
-strong {
-	font-weight: bold;
-	color: #000;
-}
-cite,
-em,
-i {
-	font-style: italic;
-	border: none;
-}
-big {
-	font-size: 131.25%;
-}
-ins {
-	background: #FFFFCC;
-	border: none;
-	color: #333;
-}
-del {
-	text-decoration: line-through;
-	color: #555;
-}
-blockquote {
-	font-style: italic;
-	padding: 0 3em;
-}
-blockquote cite,
-blockquote em,
-blockquote i {
-	font-style: normal;
-}
-pre {
-	background: #f7f7f7;
-	color: #222;
-	line-height: 18px;
-	margin-bottom: 18px;
-	padding: 1.5em;
-}
-abbr,
-acronym {
-	border-bottom: 1px solid #666;
-	cursor: help;
-}
-ins {
-	text-decoration: none;
-}
-sup,
-sub {
-	height: 0;
-	line-height: 1;
-	vertical-align: baseline;
-	position: relative;
-	font-size: 10px;
-}
-sup {
-	bottom: 1ex;
-}
-sub {
-	top: .5ex;
-}
-
-p,
-ul,
-ol,
-dd,
-pre,
-hr {
-	margin-bottom:10px;
-}
-ul ul,
-ol ol,
-ul ol,
-ol ul {
-	margin-bottom:0;
-}
-pre,
-kbd,
-tt,
-var {
-	font-size: 15px;
-	line-height: 21px;
-}
-code {
-	font-size: 13px;
-}
-strong,
-b,
-dt,
-th {
-	color: #000;
-}
-
-
-/* main_container */
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#wrapper {
-	padding: 0px 0px;
-	margin-top: 20px;
-}
-
-/* header*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#search-header{
-	margin-top:15px;
-	padding-bottom:13px;
-}
-
-#search-header #search{
-	background: #222;
-
-}
-
-#search-header #search #s{
-	background: #222;
-	font-size:12px;
-	color: #aaa;
-}
-
-#header_container{
-	padding-bottom: 25px;
-	padding-top: 0px;
-	background: #fff;
-}
-
-#header {
-
-}
-
-#header2 {
-
-}
-
-#content_container{
-	padding-top: 15px;
-}
-
-#left-col {
-	padding: 10px 20px;
-	padding-left: 0px;
-	background: #fff;
-
-}
-
-
-/*footer*/	
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-
-#footer {
-	padding: 5px 20px;
-	background: #ddd;
-}
-
-#footer-container{
-	padding: 5px 20px;
-	background: #303030;
-	border-top: 8px solid #000;
-	font-size:11px;
-}
-
-#footer-info {
-	color:#ccc;
-	text-align:left;
-	background: #1b1b1b;
-	padding: 20px 0;
-}
-
-
-#footer-info a{
-	text-decoration:none;
-	color: #fff;
-}
-
-#footer-info a:hover{
-	color: #ebebeb;
-}
-
-#copyright{float: left;}
-
-.scroll-top {
-	text-align:right;
-}
-
-#footer-bar1 {
-	padding-right: 40px;
-}
-#footer-bar2 {
-	padding-right: 40px;
-}
-#footer-bar3 {
-}
-#footer-bar4 {
-}
-
-span#follow-box{
-	position: absolute;
-	right: 100px;	
-}
-
-span#follow-box img{
-	margin: 0 2px;
-}
-
-/*logo*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#logo {
-	margin: 0px 0px 0px 0px;
-}
-
-#logo2 {
-	margin: 0px 0px 0px 0px;
-}
-
-#logo img{
-	border: none;
-}
-
-#logo2{
-	text-decoration: none;
-	font-size: 42px;
-	letter-spacing: -1pt;
-	font-weight: bold;
-	font-family:arial, "Times New Roman", Times, serif;
-	text-align: left;
-	line-height: 57px;
-	padding-left: 0px;
-}
-
-#logo2 a, #slogan{
-	color: #fd7800;
-}
-
-#slogan{
-	text-align: left;
-	padding-left: 0px;
-}
-
-/*search*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#search {
-	width:180px;
-	height:28px;
-	border: 1px solid #ccc;
-	margin-left: 10px;
-	position: relative;
-}
-
-#sidebar #search {
-	margin-top: 20px;
-}
-
-#search #searchsubmit {
-	background:url(images/go-btn.png) no-repeat top right;
-	width:28px;
-	height:28px;
-	border:0px;
-	position:absolute;
-	right: -35px;
-}
-
-#search #s {
-	width:170px;
-	height:23px;
-	border:0px;
-	margin-left:7px;
-	margin-right:10px;
-	margin-top:3px;
-	color:#000;
-	display: inline;
-	float: left;
-}
-
-/*menu bar*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#menu_container{
-	padding-top: 0px;
-}
-
-
-/*responsive menu*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-/* default style */
-.selectnav { display: none; }
-
-/* small screen */
-@media screen and (max-width: 600px) {
-  .js #nav { display: none; }
-   .js #nav2 { display: none; }
-  .js .selectnav { display: block; }
-}
-
-
-/*homepage boxes*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#box_container{
-	padding-top: 35px;
-	padding-bottom: 15px;
-}
-
-.box-head {
-	float: left;
-	padding-bottom: 20px;
-}
-
-.box-head img{
-
-}
-
-.title-head{
-	padding-top:2px;
-}
-
-.title-box{
-	color: #333;
-	line-height: 15px;
-	text-transform: uppercase;
-}
-
-.title-box h1 {
-	font-size: 18px;
-	margin-bottom: 3px;
-}
-
-.box-content {
-	float: left;
-	padding-top: 10px;
-	line-height: 20px;
-}
-
-
-/* POST */
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-
-.post {
-	overflow: hidden;
-	
-}
-
-.post-shadow{
-	background: url("images/post_shadow.png") no-repeat bottom;
-	height: 9px;
-	margin-bottom: 25px;
-}
-
-.post ol{
-	margin-left: 20px;
-}
-
-.post ul {
-	margin-left: 15px;
-}
-.post-entry ul { margin: 0 0 10px 10px; }
-.post-entry ul li {
-	display: block;
-	margin: 5px 0;
-	padding: 0 0 0 20px;
-	/*background: url(images/bullet.png) no-repeat 0 7px;*/
-}
-
-.post-entry ol {
-	list-style: decimal;
-	margin: 0 0 18px 1.6em;
-}
-.post-entry ol li { 
-	list-style: decimal;
- }
-
-.post-entry {
-	padding-bottom: 10px;
-	padding-top: 10px;
-	overflow: hidden;
-
-}
-
-.post-head {
-	margin-bottom: 5px;
-	padding-top: 15px;
-}
-
-.post-head h1 a, .post-head h1 {
-	text-decoration:none;
-	color:#000;
-	margin: 0px;
-	font-size: 27px;
-}
-
-.post-head h1 a:hover {
-	color:#777;
-}
-
-
-.post-head-notfound h1, .post-head-404 h1, .post-head-archive h1, .post-head-search h1 {
-	margin-bottom: 10px;
-	font-weight:normal;
-	text-decoration:none;
-	color:#000;
-	font-size: 27px;
-}
-
-.post-thumb img {
-	border: 0px solid #ebebeb;
-}
-
-.post-entry img{
-	margin-bottom: 10px;
-	height:auto;
-  	max-width:100% !important;
-}
-
-.meta-data{
-	line-height: 16px;
-	padding: 6px 3px;
-	margin-bottom: 3px;
-	font-size: 11px;
-	border-bottom: 1px solid #e9e9e9;
-}
-
-.meta-data a{
-	color: #fd7800;
-}
-
-.meta-data a:hover{
-	color: #777;
-}
-
-.read-more {
-color: #000;
-	background: #fff;
-	  padding: 4px 8px;
-	  border-radius: 3px;	  
-	  display: inline-block;
-	  font-size: 11px;
-	  font-weight: bold;
-	  text-decoration: none;
-	  text-transform: capitalize;
-	  cursor: pointer;
-	  margin-top: 20px;
-}
-
-.read-more:hover{
-	background: #fff;
-	color: #666;	
-}
-
-.clear {
-	clear:both;
-}
-
-.sticky {
-  
-}
-
-/* content */
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-#content_container table {
-	border: 1px solid #e7e7e7;
-	margin: 0 -1px 24px 0;
-	text-align: left;
-	width: 100%;
-	
-}
-#content_container tr th,
-#content_container thead th {
-	color: #888;
-	font-size: 12px;
-	font-weight: bold;
-	line-height: 18px;
-	padding: 9px 10px;
-}
-#content_container tr td {
-
-	padding: 6px 10px;
-}
-#content_container tr.odd td {
-	background: #f2f7fc;
-}
-
-/* sidebar*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#sidebar {
-	padding:0px 20px 20px 0px;
-}
-
-#sidebar ul  {
-	list-style: none;
-}
-
-#sidebar { word-wrap: break-word;}
-
-/*--navigation--*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-.navigation {
-	float: left;
-	width: 100%;
-	margin: 20px 0;
-}
-
-
-.navigation .alignleft a {
-	float: left;
-}
-
-.navigation .alignright a {
-	float: right;
-}
-
-#nav-single {
-    overflow:hidden;
-    margin-top:20px;
-    margin-bottom:10px;
-}
-.nav-previous {
-    float: left;
-    width: 50%;
-}
-.nav-next {
-    float: right;
-    text-align: right;
-    width: 50%;
-}
-
-/*--slider--*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#slider_container {
-	background: #fff;
-}
-
-.flex-caption{
-background: #232323;	
-color: #fff;
-padding: 7px;
-}
-
-.flexslider p{
-	margin: 0px;
-}
-
-/*--sub head and breadcrumbs--*/
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-#subhead_container{
-	padding: 7px 0px;
-}
-
-#subhead h1{
-	color: #000;
-	padding-top: 10px;
-	padding-left: 0px;
-	font-size: 30px;
-}
-
-#breadcrumbs {
-	padding-left: 25px;
-	margin-bottom: 15px;
-	color: #9e9e9e;
-	margin:0 auto;
-	width: 964px;
-	font-size: 10px;
-}
-
-#breadcrumbs a{
-	text-decoration: none;
-	color: #9e9e9e;
-}
-
-/*Alignments */
-/*////////////////////////////////////////////////////////////////////////////////////////////*/
-
-.alignleft,
-img.alignleft {
-	display: inline;
-	float: left;
-	margin-right: 22px;
-	margin-top: 9px;
-}
-
-.alignright,
-img.alignright {
-	display: inline;
-	float: right;
-	margin-left: 22px;
-	margin-top: 8px;
-}
-.aligncenter,
-img.aligncenter {
-	clear: both;
-	display: block;
-	margin-left: auto;
-	margin-right: auto;
-}
-
-.alignleft,
-.alignright,
-.aligncenter,
-img.alignleft,
-img.alignright,
-img.aligncenter
-{
-	margin-bottom: 10px;
-}
-
-a img.aligncenter {
-	display:block;
-	margin-left:auto;
-	margin-right:auto;
-}
diff --git a/docs/named_data_theme/static/nav_f.png b/docs/named_data_theme/static/nav_f.png
deleted file mode 100644
index f09ac2f..0000000
--- a/docs/named_data_theme/static/nav_f.png
+++ /dev/null
Binary files differ
diff --git a/docs/named_data_theme/static/tab_b.png b/docs/named_data_theme/static/tab_b.png
deleted file mode 100644
index 801fb4e..0000000
--- a/docs/named_data_theme/static/tab_b.png
+++ /dev/null
Binary files differ
diff --git a/wscript b/wscript
index e0fd3af..826cdc6 100644
--- a/wscript
+++ b/wscript
@@ -331,21 +331,15 @@
         bld.fatal('Cannot build documentation ("doxygen" not found in PATH)')
 
     bld(features='subst',
-        name='doxygen.conf',
-        source=['docs/doxygen.conf.in',
-                'docs/named_data_theme/named_data_footer-with-analytics.html.in'],
-        target=['docs/doxygen.conf',
-                'docs/named_data_theme/named_data_footer-with-analytics.html'],
-        VERSION=VERSION,
+        name='doxyfile',
+        source='docs/Doxyfile.in',
+        target='docs/Doxyfile',
         HAVE_DOT='YES' if bld.env.DOT else 'NO',
-        HTML_FOOTER='../build/docs/named_data_theme/named_data_footer-with-analytics.html' \
-                        if os.getenv('GOOGLE_ANALYTICS', None) \
-                        else '../docs/named_data_theme/named_data_footer.html',
-        GOOGLE_ANALYTICS=os.getenv('GOOGLE_ANALYTICS', ''))
+        VERSION=VERSION)
 
     bld(features='doxygen',
-        doxyfile='docs/doxygen.conf',
-        use='doxygen.conf')
+        doxyfile='docs/Doxyfile',
+        use='doxyfile')
 
 def sphinx(bld):
     version(bld)
