diff --git a/docs/conf.py b/docs/conf.py
index cd2092d..a2df0fc 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,10 +1,8 @@
-# -*- coding: utf-8 -*-
-#
 # Configuration file for the Sphinx documentation builder.
 #
 # This file only contains a selection of the most common options. For a full
 # list see the documentation:
-# http://www.sphinx-doc.org/en/master/config
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
 
 # -- Path setup --------------------------------------------------------------
 
@@ -87,6 +85,9 @@
 # so a file named "default.css" will overwrite the builtin "default.css".
 html_static_path = ['_static']
 
+html_copy_source = False
+html_show_sourcelink = False
+
 # Disable syntax highlighting of code blocks by default.
 highlight_language = 'none'
 
diff --git a/docs/named_data_theme/layout.html b/docs/named_data_theme/layout.html
index 78b6477..0bd3fbe 100644
--- a/docs/named_data_theme/layout.html
+++ b/docs/named_data_theme/layout.html
@@ -1,86 +1,45 @@
 {#
     named_data_theme/layout.html
-    ~~~~~~~~~~~~~~~~~
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 #}
-{% extends "basic/layout.html" %}
+{%- extends "agogo/layout.html" %}
 
 {% block header %}
-    <!--headercontainer-->
     <div id="header_container">
-
-        <!--header-->
-        <div class="row">
-             <div class="three columns">
-                  <div id="logo">
-                        <a href="http://named-data.net" title="A Future Internet Architecture"><img src="http://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="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a></h1>
-             </div>
+      <div class="row">
+        <div class="three columns">
+          <p class="logo"><a href="https://named-data.net" title="A Future Internet Architecture">
+            <img class="logo" src="{{ pathto('_static/ndn-logo.svg', 1)|e }}" alt="Logo" width="210"/>
+          </a></p>
         </div>
-    </div><!--header container end-->
-
-{% endblock %}
-
-{% block content %}
-    <div class="content-wrapper">
-      <div class="content">
-        <div class="document">
-          {%- block document %}
-            {{ super() }}
-          {%- endblock %}
+        <div id="menu_container" class="nine columns">
+          <h1><a href="{{ pathto(master_doc)|e }}">{{ shorttitle|e }}</a></h1>
         </div>
-        <div class="sidebar">
-          {%- block sidebartoc %}
-          <h3>{{ _('Table Of Contents') }}</h3>
-          {{ toctree(includehidden=True) }}
-
-          <h3>{{ _('Developer documentation') }}</h3>
-          <ul>
-            <li class="toctree-l1"><a class="reference internal" href="doxygen/annotated.html">API documentation (doxygen)</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="code-style.html">ndn-cxx Code Style and Coding Guidelines</a></li>
-          </ul>
-          {%- endblock %}
-
-          {%- block sidebarsearch %}
-          <h3 style="margin-top: 1.5em;">{{ _('Search') }}</h3>
-          <form class="search" action="{{ pathto('search') }}" method="get">
-            <input type="text" name="q" />
-            <input type="submit" value="{{ _('Go') }}" />
-            <input type="hidden" name="check_keywords" value="yes" />
-            <input type="hidden" name="area" value="default" />
-          </form>
-          <p class="searchtip" style="font-size: 90%">
-            {{ _('Enter search terms or a module, class or function name.') }}
-          </p>
-          {%- endblock %}
-        </div>
-        <div class="clearer"></div>
       </div>
     </div>
 {% endblock %}
 
+{%- block sidebartoc %}
+    <h3>{{ _('Table of Contents') }}</h3>
+    {{ toctree(includehidden=True) }}
+    <h3>{{ _('Developer Documentation') }}</h3>
+    <ul>
+      <li class="toctree-l1"><a class="reference internal" href="doxygen/annotated.html">API Documentation (doxygen)</a></li>
+      <li class="toctree-l1"><a class="reference internal" href="code-style.html">ndn-cxx Code Style and Coding Guidelines</a></li>
+    </ul>
+{%- endblock %}
+
 {% block footer %}
     <div id="footer-container">
-        <!--footer container-->
-        <div class="row">
-        </div><!-- footer container-->
     </div>
-
     <div id="footer-info">
-        <!--footer container-->
-        <div class="row">
-            <div class="twelve columns">
-
-                <div id="copyright">This research is partially supported by NSF (Award <a href="http://www.nsf.gov/awardsearch/showAward?AWD_ID=1040868" target="_blank>">CNS-1040868</a>)<br/><br/><a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US" target="_blank">Creative Commons Attribution 3.0 Unported License</a> except where noted.</div>
-
-            </div>
+      <div class="row">
+        <div class="twelve columns">
+          <div id="copyright">
+            This research is partially supported by NSF (Award <a href="http://www.nsf.gov/awardsearch/showAward?AWD_ID=1040868" target="_blank">CNS-1040868</a>).<br/><br/>
+            Licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/3.0/" target="_blank">Creative Commons Attribution 3.0 Unported License</a> except where noted.
+          </div>
         </div>
-    </div><!--footer info end-->
+      </div>
+    </div>
 {% endblock %}
-
-{% block relbar1 %}{% endblock %}
-{% block relbar2 %}{% endblock %}
diff --git a/docs/named_data_theme/static/base.css_t b/docs/named_data_theme/static/base.css_t
deleted file mode 100644
index eed3973..0000000
--- a/docs/named_data_theme/static/base.css_t
+++ /dev/null
@@ -1,459 +0,0 @@
-* {
-  margin: 0px;
-  padding: 0px;
-}
-
-html { font-size: 62.5%; }
-
-body {
-  font-family: {{ theme_bodyfont }};
-  background-color: {{ theme_bgcolor }};
-  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; }
-
-/* Page layout */
-
-div.header, div.content, div.footer {
-  width: 90%;
-  margin-left: auto;
-  margin-right: auto;
-}
-
-div.header-wrapper {
-  background: {{ theme_headerbg }};
-  border-bottom: 3px solid #2e3436;
-}
-
-
-/* Default body styles */
-a {
-  color: {{ theme_linkcolor }};
-}
-
-div.bodywrapper a, div.footer a {
-  text-decoration: none;
-}
-
-.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: {{ theme_headerfont }};
-  font-weight: normal;
-  color: {{ theme_headercolor2 }};
-  margin-bottom: .8em;
-}
-
-h1 {
-  color: {{ theme_headercolor1 }};
-}
-
-h2 {
-  padding-bottom: .5em;
-  border-bottom: 1px solid {{ theme_headercolor2 }};
-}
-
-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;
-}
-
-img {
-  border: 0;
-}
-
-div.admonition {
-  margin-top: 10px;
-  margin-bottom: 10px;
-  padding: 2px 7px 1px 7px;
-  border-left: 0.2em solid black;
-}
-
-p.admonition-title {
-  margin: 0px 10px 5px 0px;
-  font-weight: bold;
-}
-
-dt:target, .highlighted {
-  background-color: #fbe54e;
-}
-
-/* Header */
-
-div.header {
-  padding-top: 10px;
-  padding-bottom: 10px;
-}
-
-div.header .headertitle {
-  font-family: {{ theme_headerfont }};
-  font-weight: normal;
-  font-size: 180%;
-  letter-spacing: .08em;
-  margin-bottom: .8em;
-}
-
-div.header .headertitle a {
-  color: white;
-}
-
-div.header div.rel {
-  margin-top: 1em;
-}
-
-div.header div.rel a {
-  color: {{ theme_headerlinkcolor }};
-  letter-spacing: .1em;
-  text-transform: uppercase;
-}
-
-p.logo {
-    float: right;
-}
-
-img.logo {
-    border: 0;
-}
-
-
-/* Content */
-div.content-wrapper {
-  background-color: white;
-  padding-top: 20px;
-  padding-bottom: 20px;
-}
-
-div.document {
-  width: 70%;
-  float: left;
-}
-
-div.body {
-  padding-right: 2em;
-  text-align: left;
-}
-
-div.document h1 {
-  line-height: 120%;
-}
-
-div.document ul {
-  margin-left: 1.5em;
-  list-style-type: square;
-}
-
-div.document dd {
-  margin-left: 1.2em;
-  margin-top: .4em;
-  margin-bottom: 1em;
-}
-
-div.document .section {
-  margin-top: 1.7em;
-}
-div.document .section:first-child {
-  margin-top: 0px;
-}
-
-div.document div.highlight {
-  padding: 3px;
-  background-color: #eeeeec;
-  border-top: 2px solid #dddddd;
-  border-bottom: 2px solid #dddddd;
-  margin-bottom: .8em;
-}
-
-div.document h2 {
-  margin-top: .7em;
-}
-
-div.document p {
-  margin-bottom: .5em;
-}
-
-div.document li.toctree-l1 {
-  margin-bottom: 1em;
-}
-
-div.document .descname {
-  font-weight: bold;
-}
-
-div.document .docutils.literal {
-  background-color: #eeeeec;
-  padding: 1px;
-}
-
-div.document .docutils.xref.literal {
-  background-color: transparent;
-  padding: 0px;
-}
-
-div.document ol {
-  margin: 1.5em;
-}
-
-
-/* Sidebar */
-
-div.sidebar {
-  width: 20%;
-  float: right;
-  font-size: .9em;
-}
-
-div.sidebar a, div.header a {
-  text-decoration: none;
-}
-
-div.sidebar a:hover, div.header a:hover {
-  text-decoration: none;
-}
-
-div.sidebar h3 {
-  color: #2e3436;
-  text-transform: uppercase;
-  font-size: 130%;
-  letter-spacing: .1em;
-}
-
-div.sidebar ul {
-  list-style-type: none;
-}
-
-div.sidebar li.toctree-l1 a {
-  display: block;
-  padding: 1px;
-  border: 1px solid #dddddd;
-  background-color: #eeeeec;
-  margin-bottom: .4em;
-  padding-left: 3px;
-  color: #2e3436;
-}
-
-div.sidebar li.toctree-l2 a {
-  background-color: transparent;
-  border: none;
-  margin-left: 1em;
-  border-bottom: 1px solid #dddddd;
-}
-
-div.sidebar li.toctree-l3 a {
-  background-color: transparent;
-  border: none;
-  margin-left: 2em;
-  border-bottom: 1px solid #dddddd;
-}
-
-div.sidebar li.toctree-l2:last-child a {
-  border-bottom: none;
-}
-
-div.sidebar li.toctree-l1.current a {
-  border-right: 5px solid {{ theme_headerlinkcolor }};
-}
-
-div.sidebar li.toctree-l1.current li.toctree-l2 a {
-  border-right: none;
-}
-
-div.sidebar input[type="text"] {
-  width: 170px;
-}
-
-div.sidebar input[type="submit"] {
-  width: 30px;
-}
-
-
-/* Footer */
-
-div.footer-wrapper {
-  background: {{ theme_footerbg }};
-  border-top: 4px solid #babdb6;
-  padding-top: 10px;
-  padding-bottom: 10px;
-  min-height: 80px;
-}
-
-div.footer, div.footer a {
-  color: #888a85;
-}
-
-div.footer .right {
-  text-align: right;
-}
-
-div.footer .left {
-  text-transform: uppercase;
-}
-
-
-/* Styles copied from basic theme */
-
-img.align-left, .figure.align-left, object.align-left {
-    clear: left;
-    float: left;
-    margin-right: 1em;
-}
-
-img.align-right, .figure.align-right, object.align-right {
-    clear: right;
-    float: right;
-    margin-left: 1em;
-}
-
-img.align-center, .figure.align-center, object.align-center {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
-
-.align-left {
-    text-align: left;
-}
-
-.align-center {
-    text-align: center;
-}
-
-.align-right {
-    text-align: right;
-}
-
-/* -- search page ----------------------------------------------------------- */
-
-ul.search {
-    margin: 10px 0 0 20px;
-    padding: 0;
-}
-
-ul.search li {
-    padding: 5px 0 5px 20px;
-    background-image: url(file.png);
-    background-repeat: no-repeat;
-    background-position: 0 7px;
-}
-
-ul.search li a {
-    font-weight: bold;
-}
-
-ul.search li div.context {
-    color: #888;
-    margin: 2px 0 0 30px;
-    text-align: left;
-}
-
-ul.keywordmatches li.goodmatch a {
-    font-weight: bold;
-}
-
-/* -- index page ------------------------------------------------------------ */
-
-table.contentstable {
-    width: 90%;
-}
-
-table.contentstable p.biglink {
-    line-height: 150%;
-}
-
-a.biglink {
-    font-size: 1.3em;
-}
-
-span.linkdescr {
-    font-style: italic;
-    padding-top: 5px;
-    font-size: 90%;
-}
-
-/* -- general index --------------------------------------------------------- */
-
-table.indextable td {
-    text-align: left;
-    vertical-align: top;
-}
-
-table.indextable dl, table.indextable dd {
-    margin-top: 0;
-    margin-bottom: 0;
-}
-
-table.indextable tr.pcap {
-    height: 10px;
-}
-
-table.indextable tr.cap {
-    margin-top: 10px;
-    background-color: #f2f2f2;
-}
-
-img.toggler {
-    margin-right: 3px;
-    margin-top: 3px;
-    cursor: pointer;
-}
-
-/* -- viewcode extension ---------------------------------------------------- */
-
-.viewcode-link {
-    float: right;
-}
-
-.viewcode-back {
-    float: right;
-    font-family:: {{ theme_bodyfont }};
-}
-
-div.viewcode-block:target {
-    margin: -1px -3px;
-    padding: 0 3px;
-    background-color: #f4debf;
-    border-top: 1px solid #ac9;
-    border-bottom: 1px solid #ac9;
-}
-
-td.linenos pre {
-    padding: 5px 0px;
-    border: 0;
-    background-color: transparent;
-    color: #aaa;
-    margin-top: -10pt;
-}
\ No newline at end of file
diff --git a/docs/named_data_theme/static/default.css_t b/docs/named_data_theme/static/default.css_t
deleted file mode 100644
index b582768..0000000
--- a/docs/named_data_theme/static/default.css_t
+++ /dev/null
@@ -1,14 +0,0 @@
-@import url("agogo.css");
-
-pre {
-    padding: 10px;
-    background-color: #fafafa;
-    color: #222;
-    line-height: 1.2em;
-    border: 2px solid #C6C9CB;
-    font-size: 1.1em;
-    /* margin: 1.5em 0 1.5em 0; */
-    margin: 0;
-    border-right-style: none;
-    border-left-style: none;
-}
diff --git a/docs/named_data_theme/static/foundation.css b/docs/named_data_theme/static/foundation.css
index ff1330e..9024410 100644
--- a/docs/named_data_theme/static/foundation.css
+++ b/docs/named_data_theme/static/foundation.css
@@ -123,10 +123,10 @@
 ol li ul, ol li ol { margin-left: 20px; margin-bottom: 0; }
 
 /* Blockquotes ---------------------- */
-blockquote, blockquote p { line-height: 1.5; }
+blockquote, blockquote p { line-height: 1.5; color: #6f6f6f; }
 
-blockquote { margin: 0 0 17px; padding: 9px 20px 0 19px; }
-blockquote cite { display: block; font-size: 13pt; color: #555555; }
+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; }
 
@@ -786,3 +786,26 @@
 .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
new file mode 100644
index 0000000..8fb8440
--- /dev/null
+++ b/docs/named_data_theme/static/named_data.css_t
@@ -0,0 +1,75 @@
+@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_style.css b/docs/named_data_theme/static/named_data_style.css
new file mode 100644
index 0000000..fdcdc98
--- /dev/null
+++ b/docs/named_data_theme/static/named_data_style.css
@@ -0,0 +1,713 @@
+/* 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/named_data_style.css_t b/docs/named_data_theme/static/named_data_style.css_t
deleted file mode 100644
index 3edfb72..0000000
--- a/docs/named_data_theme/static/named_data_style.css_t
+++ /dev/null
@@ -1,813 +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: bold; font-size: 24px; }
-h2 { font-weight: bold; font-size: 18px; }
-h3 { font-weight: bold; font-size: 16px; }
-h4 { font-weight: bold; font-size: 14px; }
-
-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;
-    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 {
-    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;
-}
-
-/* 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;
-}
-
-
-table {
-    border-collapse:collapse;
-}
-table, th, td {
-    border: 1px solid black;
-    padding: 5px;
-}
\ No newline at end of file
diff --git a/docs/named_data_theme/static/ndn-logo.svg b/docs/named_data_theme/static/ndn-logo.svg
new file mode 100644
index 0000000..8fbb79a
--- /dev/null
+++ b/docs/named_data_theme/static/ndn-logo.svg
@@ -0,0 +1 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 152.13 43.86"><defs><style>.cls-1{fill:#dc9610;}.cls-2{fill:#fff;}.cls-3{fill:#bf4818;}</style></defs><rect class="cls-1" width="87.68" height="22.95" rx="5"/><rect class="cls-1" x="89.93" width="62.2" height="22.95" rx="5"/><path class="cls-2" d="M94.88,4.14h5.28c3.16,0,4.82.55,6.22,2.11a8.1,8.1,0,0,1,1.92,5.47,8.41,8.41,0,0,1-2,5.71c-1.35,1.42-3.08,2-6,2h-5.4Zm5.87,12.37A3.29,3.29,0,0,0,104,15a6.14,6.14,0,0,0,.77-3.24A5.94,5.94,0,0,0,104,8.62a3.09,3.09,0,0,0-3-1.54H98.39v9.43Z" transform="translate(-0.18)"/><path class="cls-2" d="M113.7,16.37l-1,3.08h-3.81l5.45-15.31h4.37l5,15.31h-4l-.84-3.08Zm2.76-8.81-1.89,6h3.53Z" transform="translate(-0.18)"/><path class="cls-2" d="M131,19.45h-3.5V7.08h-4.73V4.14h13V7.08H131Z" transform="translate(-0.18)"/><path class="cls-2" d="M139.37,16.37l-1,3.08h-3.81L140,4.14h4.37l4.95,15.31h-4l-.84-3.08Zm2.76-8.81-1.89,6h3.53Z" transform="translate(-0.18)"/><path class="cls-3" d="M10.82,43.52,6.4,35.69l-1.61-3c0,.8,0,1.38,0,1.83,0,.83,0,1.72,0,2.69v6.29H1.66V28.21H5.3l4.3,7.62c.61,1.15,1,2,1.59,3.1,0-.62,0-1,0-1.49l0-1.15V28.21h3.2V43.52Z" transform="translate(-0.18)"/><path class="cls-3" d="M29.23,31.15H21.12v3H28.2v2.71H21.12v3.74h8.25v2.94H17.61V28.21H29.23Z" transform="translate(-0.18)"/><path class="cls-3" d="M39,43.52H35.53V31.15H30.81V28.21H43.75v2.94H39Z" transform="translate(-0.18)"/><path class="cls-3" d="M49,43.52l-4.2-15.31h3.48L50,35.07c.3,1.29.47,2,.86,3.81.26-1.74.42-2.66.66-3.81L53,28.21h3.36l1.45,7c.31,1.51.47,2.34.68,3.69.14-.66.4-1.9.79-3.69l1.73-7h3.48L60.11,43.52H56.84l-1.43-6.38c-.35-1.59-.67-3.24-.77-4-.3,1.65-.49,2.64-.79,4l-1.47,6.38Z" transform="translate(-0.18)"/><path class="cls-3" d="M80.76,36c0,4.66-3.15,7.87-7.71,7.87s-7.73-3.21-7.73-8a7.92,7.92,0,0,1,2.4-6A7.73,7.73,0,0,1,73,27.87C77.72,27.87,80.76,31.06,80.76,36ZM69,35.85C69,39,70.5,41,73.05,41s4-1.91,4-5S75.6,30.78,73,30.78,69,32.68,69,35.85Z" transform="translate(-0.18)"/><path class="cls-3" d="M86.88,43.52H83.45V28.21h6.79c2,0,3.13.25,4.07.92a3.81,3.81,0,0,1,1.49,3.21A3.59,3.59,0,0,1,93.21,36c1.54.48,2.08,1.28,2.2,3.3l.11,2.18a3.24,3.24,0,0,0,.63,2H92.72c-.42-.32-.54-.55-.58-1.33L92,40.1c-.14-1.88-1-2.71-2.78-2.71H86.88Zm3.43-8.84c1.29,0,2-.64,2-1.77s-.7-1.76-2-1.76H86.88v3.53Z" transform="translate(-0.18)"/><path class="cls-3" d="M112.65,43.52h-4.21l-4.72-6.93L102.27,38v5.49H98.84V28.21h3.43v5.65l5.26-5.65h4.6l-6.07,6Z" transform="translate(-0.18)"/><path class="cls-3" d="M117.83,43.52h-3.5V28.21h3.5Z" transform="translate(-0.18)"/><path class="cls-3" d="M130.28,43.52l-4.41-7.83-1.61-3c0,.8,0,1.38,0,1.83,0,.83,0,1.72,0,2.69v6.29h-3.2V28.21h3.64l4.3,7.62c.61,1.15,1,2,1.59,3.1,0-.62,0-1,0-1.49l0-1.15V28.21h3.2V43.52Z" transform="translate(-0.18)"/><path class="cls-3" d="M151,35.05v8.47h-2.1l-.49-2c-1.08,1.65-2.41,2.29-4.67,2.29-4.42,0-7.13-3-7.13-7.89s3-8.1,7.57-8.1a6.48,6.48,0,0,1,6.71,5l-3.39.2a3.13,3.13,0,0,0-3.3-2.27c-2.52,0-4.08,1.88-4.08,5,0,3.3,1.51,5.28,4.06,5.28A3.71,3.71,0,0,0,148,37.87h-3.81V35.05Z" transform="translate(-0.18)"/><path class="cls-2" d="M14.72,19.45,10.3,11.62l-1.61-3c.05.8.05,1.38.05,1.84,0,.82,0,1.72,0,2.68v6.29H5.56V4.14H9.2l4.3,7.62c.61,1.15,1,2,1.59,3.1,0-.62,0-1,0-1.49l0-1.15V4.14h3.21V19.45Z" transform="translate(-0.18)"/><path class="cls-2" d="M24.82,16.37l-1,3.08H20L25.47,4.14h4.38L34.8,19.45h-4L30,16.37Zm2.76-8.81-1.89,6h3.52Z" transform="translate(-0.18)"/><path class="cls-2" d="M42.43,19.45,40.27,11.3c-.16-.69-.3-1.17-.39-1.49-.12-.48-.14-.57-.28-1,0,.55,0,.94,0,1.19l0,1.47v8H36.46V4.14H41.4l2,8c.31,1.19.57,2.46.75,3.47a4.72,4.72,0,0,0,.1-.49l.25-1c.05-.28.14-.62.24-1s.23-1,.23-1l2-8h4.89V19.45h-3.2v-8l0-1.47a11.79,11.79,0,0,1,.05-1.19c-.26.92-.42,1.54-.49,1.74-.14.42-.21.72-.24.74l-2.13,8.17Z" transform="translate(-0.18)"/><path class="cls-2" d="M66.81,7.08H58.7v3h7.08v2.71H58.7v3.74H67v2.94H55.19V4.14H66.81Z" transform="translate(-0.18)"/><path class="cls-2" d="M69.53,4.14h5.28c3.15,0,4.81.55,6.22,2.11a8.09,8.09,0,0,1,1.91,5.47,8.41,8.41,0,0,1-2,5.71c-1.36,1.42-3.09,2-6,2H69.53Zm5.86,12.37A3.29,3.29,0,0,0,78.59,15a6,6,0,0,0,.78-3.24,6,6,0,0,0-.75-3.16,3.11,3.11,0,0,0-3-1.54H73v9.43Z" transform="translate(-0.18)"/></svg>
\ No newline at end of file
diff --git a/docs/named_data_theme/theme.conf b/docs/named_data_theme/theme.conf
index aa5a7ff..1ff65dd 100644
--- a/docs/named_data_theme/theme.conf
+++ b/docs/named_data_theme/theme.conf
@@ -1,15 +1,12 @@
 [theme]
 inherit = agogo
-stylesheet = named_data_style.css
-# pygments_style = sphinx
-
-theme_bodyfont = "normal 12px Verdana, sans-serif"
-theme_bgcolor = "#ccc"
-
-theme_documentwidth = "100%"
-theme_textalign = "left"
+stylesheet = named_data.css
 
 [options]
-
-stickysidebar = true
-collapsiblesidebar = true
+pagewidth = 90%
+documentwidth = 70%
+sidebarwidth = 20%
+bgcolor = white
+headerbg = none
+footerbg = none
+textalign = left
