From 594385ae7bd94db98bf47d20670e4556c9a996f2 Mon Sep 17 00:00:00 2001
From: Patrick Marsceill <patrick.marsceill@gmail.com>
Date: Fri, 24 Mar 2017 09:47:37 -0400
Subject: [PATCH] initial commit

---
 _config.yml                                   |   1 +
 _includes/head.html                           |   3 +
 _includes/nav.html                            |   2 +-
 _layouts/default.html                         |  46 ++--
 _sass/base.scss                               |  74 +++--
 _sass/buttons.scss                            | 112 ++++++++
 _sass/code.scss                               |  36 +++
 _sass/content.scss                            |  48 ++++
 _sass/layout.scss                             |  50 ++--
 _sass/navigation.scss                         |  85 ++++++
 _sass/search.scss                             |   6 +
 _sass/support/_variables.scss                 |  81 +++---
 _sass/support/mixins/_buttons.scss            |  25 ++
 .../{_mixins.scss => mixins/_layout.scss}     |  54 +---
 _sass/support/mixins/_typography.scss         |  81 ++++++
 _sass/support/mixins/mixins.scss              |   3 +
 _sass/support/support.scss                    |   2 +-
 _sass/tables.scss                             |  19 +-
 _sass/typography.scss                         |  18 +-
 _sass/utilities/_colors.scss                  |  70 +++--
 _sass/utilities/_layout.scss                  |  26 ++
 _sass/utilities/_lists.scss                   |   4 +
 _sass/utilities/_spacing.scss                 |  12 +-
 _sass/utilities/_typography.scss              |  36 +++
 assets/css/just-the-docs.scss                 |  19 +-
 assets/images/just-the-docs.png               | Bin 53240 -> 20992 bytes
 assets/js/just-the-docs.js                    | 125 +++++++++
 assets/js/vendor/lunr.min.js                  |   6 +
 docs/navigation-structure.md                  |  22 ++
 docs/page-architecture.md                     |   5 -
 docs/ui-components/buttons.md                 | 100 +++++++
 docs/ui-components/code.md                    |  80 +++++-
 docs/ui-components/tables.md                  |  40 +++
 docs/ui-components/typography.md              | 108 ++++++++
 docs/ui-components/ui-components.md           |   3 +-
 docs/utilities.md                             | 259 ++++++++++++++++++
 index.md                                      |  23 +-
 search-data.json                              |  13 +
 38 files changed, 1482 insertions(+), 215 deletions(-)
 create mode 100644 _sass/buttons.scss
 create mode 100644 _sass/content.scss
 create mode 100644 _sass/search.scss
 create mode 100644 _sass/support/mixins/_buttons.scss
 rename _sass/support/{_mixins.scss => mixins/_layout.scss} (52%)
 create mode 100644 _sass/support/mixins/_typography.scss
 create mode 100644 _sass/support/mixins/mixins.scss
 create mode 100644 assets/js/vendor/lunr.min.js
 create mode 100644 docs/navigation-structure.md
 delete mode 100644 docs/page-architecture.md
 create mode 100644 docs/ui-components/tables.md
 create mode 100644 docs/utilities.md

diff --git a/_config.yml b/_config.yml
index eaff727c..b87bd8ef 100644
--- a/_config.yml
+++ b/_config.yml
@@ -23,4 +23,5 @@ sass:
   load_paths:
     - node_modules/
 
+permalink: pretty
 exclude: ["node_modules/", "*.gemspec", "Gemfile", "Gemfile.lock", "package.json", "LICENSE.txt"]
diff --git a/_includes/head.html b/_includes/head.html
index 39bc633b..1ac4771b 100644
--- a/_includes/head.html
+++ b/_includes/head.html
@@ -4,5 +4,8 @@
 
   <title>{{ page.title }} - {{ site.title }}</title>
   <link rel="stylesheet" href="/assets/css/just-the-docs.css">
+  <script type="text/javascript" src="/assets/js/vendor/lunr.min.js"></script>
+  <script type="text/javascript" src="/assets/js/just-the-docs.js"></script>
 
+  <meta name="viewport" content="width=device-width, initial-scale=1">
 </head>
diff --git a/_includes/nav.html b/_includes/nav.html
index 6b649149..87435742 100644
--- a/_includes/nav.html
+++ b/_includes/nav.html
@@ -10,7 +10,7 @@
             <ul class="navigation-list-child-list">
               {% for child in children_list %}
                 {% if child.parent == node.parent and child.title != node.title %}
-                <li class="navigation-list-item">
+                <li class="navigation-list-item {% if page.url == child.url %} active{% endif %}">
                   <a href="{{ child.url | absolute_url }}" class="navigation-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a>
                 </li>
                 {% endif %}
diff --git a/_layouts/default.html b/_layouts/default.html
index 1e16fd47..23d5b429 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -6,18 +6,20 @@
 <div class="page-wrap">
   <div class="side-bar">
     <a href="{{ site.url }}" class="site-title fs-6 fw-300 text-grey-dk-300">Just the <span class="fw-700">/docs</span></a>
-    <div class="navigation">
+    <span class="fs-3"><button class="js-main-nav-trigger navigation-list-toggle btn btn-outline" type="button" data-text-toggle="Hide">Menu</button></span>
+    <div class="navigation main-nav js-main-nav">
       {% include nav.html %}
+      <footer role="contentinfo" class="site-footer">
+        <p class="text-small text-grey-dk-000">This site uses <a href="https://github.com/pmarsceill/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.</p>
+      </footer>
     </div>
-    <footer role="contentinfo" class="site-footer">
-      <p class="text-small text-grey-dk-000">This site uses <a href="https://github.com/pmarsceill/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.</p>
-    </footer>
-
   </div>
   <div class="main-content-wrap">
     <div class="main-content">
+      <input type="text" class="js-search-input" />
+      <div class="js-search-results search-results-wrap"></div>
       {% unless page.url == "/" %}
-      <nav>
+      <nav class="breadcrumb-nav">
         <ol class="breadcrumb-nav-list">
           <li class="breadcrumb-nav-list-item"><a href="{{ site.url }}">Home</a></li>
           {% if page.parent != nil and page.parent != page.title %}
@@ -27,22 +29,24 @@
         </ol>
       </nav>
       {% endunless %}
-      {{ content }}
+      <div class="page-content">
+        {{ content }}
 
-      {% if page.has_children == true %}
-      <hr>
-      <h2 class="text-delta">Table of contents</h2>
-      {% assign children_list = site.pages | sort:"nav_order" %}
-      <ol>
-        {% for child in children_list %}
-          {% if child.parent == page.title and child.title != page.title %}
-          <li>
-            <a href="{{ child.url | absolute_url }}">{{ child.title }}</a>
-          </li>
-          {% endif %}
-        {% endfor %}
-      </ol>
-      {% endif %}
+        {% if page.has_children == true %}
+        <hr>
+        <h2 class="text-delta">Table of contents</h2>
+        {% assign children_list = site.pages | sort:"nav_order" %}
+        <ol>
+          {% for child in children_list %}
+            {% if child.parent == page.title and child.title != page.title %}
+            <li>
+              <a href="{{ child.url | absolute_url }}">{{ child.title }}</a>
+            </li>
+            {% endif %}
+          {% endfor %}
+        </ol>
+        {% endif %}
+      </div>
     </div>
   </div>
 </div>
diff --git a/_sass/base.scss b/_sass/base.scss
index 68990200..5566b5cc 100644
--- a/_sass/base.scss
+++ b/_sass/base.scss
@@ -1,3 +1,7 @@
+//
+// Base element style overrides
+//
+
 // stylelint-disable selector-no-type
 
 * {
@@ -5,36 +9,16 @@
 }
 
 html {
-  font-size: $root-font-size;
+  @include fs-4;
 }
 
 body {
   font-family: $body-font-family;
   font-size: inherit;
-  line-height: 1.4;
+  line-height: $body-line-height;
   color: $body-text-color;
 }
 
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  font-weight: 500;
-  color: $body-heading-color;
-  line-height: 1.1;
-  margin-bottom: .8em;
-
-  &:not(:first-child) {
-    margin-top: 1.2  em;
-  }
-}
-
-p {
-  margin-bottom: 1em;
-}
-
 p,
 h1,
 h2,
@@ -57,18 +41,54 @@ table {
   margin-top: 0;
 }
 
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  font-weight: 500;
+  color: $body-heading-color;
+  line-height: $body-heading-line-height;
+  margin-bottom: .8em;
+  margin-top: 1.2em;
+}
+
+p {
+  margin-bottom: 1em;
+}
+
+
 a {
   color: $link-color;
   text-decoration: none;
 }
 
+a:not([class]) {
+  text-decoration: none;
+  background-image: linear-gradient($grey-lt-100 0%, $grey-lt-100 100%);
+  background-repeat: repeat-x;
+  background-position: 0 100%;
+  background-size: 1px 1px;
+
+  &:hover {
+    background-image: linear-gradient(rgba($link-color, 0.45) 0%, rgba($link-color, 0.45) 100%);
+    background-size: 1px 1px;
+
+  }
+}
+
 pre,
 code {
   font-size: 90%;
-  line-height: 1.3;
+  line-height: $body-line-height;
   font-family: $mono-font-family;
 }
 
+figure {
+  margin: 0;
+}
+
 li {
   margin: 0.25em 0;
 }
@@ -77,3 +97,11 @@ img {
   max-width: 100%;
   height: auto;
 }
+
+hr {
+  height: 1px;
+  padding: 0;
+  margin: $sp-6 0;
+  background-color: $grey-lt-100;
+  border: 0;
+}
diff --git a/_sass/buttons.scss b/_sass/buttons.scss
new file mode 100644
index 00000000..559d1dba
--- /dev/null
+++ b/_sass/buttons.scss
@@ -0,0 +1,112 @@
+//
+// Buttons and things that look like buttons
+//
+
+.btn {
+  display: inline-block;
+  box-sizing: border-box;
+  padding-top: 0.25em;
+  padding-right: 1em;
+  padding-bottom: 0.25em;
+  padding-left: 1em;
+  margin: 0;
+  font-family: inherit;
+  font-size: inherit;
+  line-height: 1.5;
+  color: $purple-200;
+  text-decoration: none;
+  vertical-align: baseline;
+  cursor: pointer;
+  background-color: #f7f7f7;
+  border-width: 0;
+  border-radius: 3px;
+  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
+  appearance: none;
+
+  &:focus {
+    text-decoration: none;
+    outline: none;
+    box-shadow: 0 0 0 3px rgba(blue, 0.25);
+  }
+
+  &:focus:hover,
+  &.selected:focus {
+    box-shadow: 0 0 0 3px rgba(blue, 0.25);
+  }
+
+  &:hover,
+  &.zeroclipboard-is-hover {
+    color: $purple-300;
+  }
+
+  &:hover,
+  &:active,
+  &.zeroclipboard-is-hover,
+  &.zeroclipboard-is-active {
+    text-decoration: none;
+    background-color: #f4f4f4;
+  }
+
+  &:active,
+  &.selected,
+  &.zeroclipboard-is-active {
+    background-color: #ededed;
+    background-image: none;
+    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
+  }
+
+  &.selected:hover {
+    background-color: darken(#dcdcdc, 5%);
+  }
+
+  &:disabled,
+  &.disabled {
+    &,
+    &:hover {
+      color: rgba(102, 102, 102, 0.5);
+      cursor: default;
+      background-color: rgba(229, 229, 229, 0.5);
+      background-image: none;
+      box-shadow: none;
+    }
+  }
+}
+
+.btn-outline {
+  box-shadow: inset 0 0 0 2px $grey-lt-300;
+  background: transparent;
+  color: $blue-100;
+
+  &:hover,
+  &:active,
+  &.zeroclipboard-is-hover,
+  &.zeroclipboard-is-active {
+    box-shadow: inset 0 0 0 3px $grey-lt-300;
+    text-decoration: none;
+    background-color: transparent;
+    color: $grey-dk-100;
+  }
+
+  &:focus {
+    text-decoration: none;
+    outline: none;
+    box-shadow: inset 0 0 0 2px $grey-dk-100, 0 0 0 3px rgba(blue, 0.25);
+  }
+
+  &:focus:hover,
+  &.selected:focus {
+    box-shadow: inset 0 0 0 2px $grey-dk-100;
+  }
+}
+
+.btn-purple {
+  @include btn-color($white, $purple-100);
+}
+
+.btn-blue {
+  @include btn-color($white, $blue-000);
+}
+
+.btn-green {
+  @include btn-color($white, $green-100);
+}
diff --git a/_sass/code.scss b/_sass/code.scss
index caa0f407..bb534f6d 100644
--- a/_sass/code.scss
+++ b/_sass/code.scss
@@ -1,13 +1,19 @@
+//
+// Code and syntax highlighting
+//
+
 code {
   background-color: $grey-lt-000;
   padding: 0.2em 0.15em;
   border: $border $border-color;
   border-radius: $border-radius;
+  font-weight: 400;
 }
 
 .highlight {
   background-color: $grey-lt-000;
   padding: $sp-3;
+  margin-bottom: 0;
 
   code {
     border: 0;
@@ -15,6 +21,12 @@ code {
   }
 }
 
+.highlighter-rouge {
+  margin-bottom: $sp-3;
+  border-radius: $border-radius;
+  overflow: hidden;
+}
+
 .highlight .c { color: #586E75 } /* Comment */
 .highlight .err { color: #93A1A1 } /* Error */
 .highlight .g { color: #93A1A1 } /* Generic */
@@ -83,3 +95,27 @@ code {
 .highlight .vg { color: #268BD2 } /* Name.Variable.Global */
 .highlight .vi { color: #268BD2 } /* Name.Variable.Instance */
 .highlight .il { color: #2AA198 } /* Literal.Number.Integer.Long */
+
+//
+// Code examples (rendered)
+//
+
+.code-example {
+  border: 1px solid $border-color;
+  padding: $sp-3;
+  border-radius: $border-radius;
+  margin-bottom: $sp-3;
+  overflow: scroll;
+
+  + .highlighter-rouge,
+  + figure.highlight {
+    position: relative;
+    border-left: 1px solid $border-color;
+    border-right: 1px solid $border-color;
+    border-bottom: 1px solid $border-color;
+    border-top-left-radius: 0;
+    border-top-right-radius: 0;
+    margin-top: -$sp-4;
+  }
+
+}
diff --git a/_sass/content.scss b/_sass/content.scss
new file mode 100644
index 00000000..e40ad336
--- /dev/null
+++ b/_sass/content.scss
@@ -0,0 +1,48 @@
+//
+// Styles for rendered markdown in the .main-content container
+//
+
+// stylelint-disable selector-no-type
+
+.page-content {
+  ul,
+  ol,
+  dl {
+    padding-left: 1.5em;
+  }
+
+  ol {
+    list-style-type: none;
+    counter-reset: step-counter;
+
+    li {
+      position: relative;
+
+      &::before {
+        counter-increment: step-counter;
+        content: counter(step-counter);
+        left: -1.5em;
+        top: 0.11em;
+        position: absolute;
+        color: $grey-dk-000;
+        @include fs-3;
+      }
+
+      ol {
+        counter-reset: sub-counter;
+
+        li {
+          &::before {
+            counter-increment: sub-counter;
+            content: counter(sub-counter, lower-alpha);
+          }
+        }
+      }
+    }
+  }
+
+  hr + *,
+  h1:first-of-type {
+    margin-top: 0;
+  }
+}
diff --git a/_sass/layout.scss b/_sass/layout.scss
index 35370a54..6dffabab 100644
--- a/_sass/layout.scss
+++ b/_sass/layout.scss
@@ -1,3 +1,7 @@
+//
+// The basic two column layout
+//
+
 .page-wrap {
   @include mq(md) {
     display: flex;
@@ -12,9 +16,8 @@
 }
 
 .side-bar {
-
-  padding-top: $gutter-spacing;
-  padding-bottom: $gutter-spacing;
+  padding-top: $gutter-spacing-sm;
+  padding-bottom: $gutter-spacing-sm;
   background-color: $grey-lt-000;
   z-index: 100;
 
@@ -28,6 +31,7 @@
     align-items: flex-end;
     width: $nav-width + 16px;
     height: 100%;
+    min-height: 400px;
   }
 
   @include mq(lg) {
@@ -41,6 +45,7 @@
     position: absolute;
     width: 100%;
     height: 100%;
+    min-height: 600px;
     top: 0;
     left: 0;
     -webkit-overflow-scrolling: touch;
@@ -50,14 +55,14 @@
 }
 
 .main-content {
-  padding-top: $gutter-spacing;
-  padding-right: $gutter-spacing;
-  padding-left: $gutter-spacing;
+  padding-top: $gutter-spacing-sm;
+  @include container;
+
   @include mq(md) {
     position: relative;
     margin-left: $nav-width;
     max-width: $content-width;
-    padding-right: $gutter-spacing;
+    padding-top: $gutter-spacing;
     padding-left: $gutter-spacing * 1.5;
     padding-bottom: $gutter-spacing;
   }
@@ -68,23 +73,11 @@
   }
 }
 
+.navigation,
 .site-title {
-  display: block;
 
-  @include mq(md) {
-    position: absolute;
-    top: $gutter-spacing;
-    right: 0;
-    width: $nav-width;
-    z-index: 101;
-  }
-}
+  @include container;
 
-.navigation,
-.site-title,
-.site-footer {
-  padding-left: $gutter-spacing;
-  padding-right: $gutter-spacing;
   width: 100%;
 
   @include mq(lg) {
@@ -95,21 +88,22 @@
 .navigation {
   @include mq(md) {
     position: absolute;
-    top: $sp-8;
+    padding-top: $sp-8;
+    top: 0;
     right: 0;
+    height: 100%;
   }
 }
 
 .site-footer {
+
   @include mq(md) {
+    display: block;
     position: absolute;
-    bottom: $sp-8;
     right: 0;
+    bottom: $sp-8;
     z-index: 100;
-  }
-}
 
-.img-logo {
-  width: 150px;
-  height: auto;
+    @include container;
+  }
 }
diff --git a/_sass/navigation.scss b/_sass/navigation.scss
index 76672222..4d226c18 100644
--- a/_sass/navigation.scss
+++ b/_sass/navigation.scss
@@ -1,3 +1,21 @@
+//
+// Main nav, breadcrumb, etc...
+//
+
+.site-title {
+  display: block;
+  flex-grow: 1;
+  flex-shrink: 1;
+  flex-basis: auto;
+
+  @include mq(md) {
+    position: absolute;
+    top: $gutter-spacing;
+    right: 0;
+    z-index: 101;
+  }
+}
+
 .navigation-list {
   list-style: none;
   padding: 0;
@@ -11,6 +29,8 @@
 .navigation-list-child-list {
   list-style: none;
   padding-left: $sp-3;
+  margin-top: $sp-2;
+  margin-bottom: $sp-2;
 
   .navigation-list-link {
     color: $grey-dk-100;
@@ -23,6 +43,12 @@
       margin-left: -0.8em;
       color: $grey-dk-000;
     }
+
+    &.active {
+      &::before {
+        color: $grey-dk-100;
+      }
+    }
   }
 }
 
@@ -40,6 +66,39 @@
   }
 }
 
+// Small screen nav
+
+.main-nav {
+  display: none;
+
+  &.nav-open {
+    display: block;
+  }
+  @include mq(md) {
+    display: block;
+  }
+}
+
+.side-bar {
+  display: flex;
+  flex-wrap: wrap;
+
+  @include mq(md) {
+    display: block;
+  }
+}
+
+.navigation-list-toggle {
+  position: absolute;
+  right: $sp-4;
+
+  @include mq(md) {
+    display: none !important;
+  }
+}
+
+// Breadcrumb nav
+
 .breadcrumb-nav-list {
   list-style: none;
   padding-left: 0;
@@ -51,6 +110,10 @@
   display: table-cell;
   @include fs-2;
 
+  &::before {
+    display: none;
+  }
+
   &::after {
     display: inline-block;
     margin-left: $sp-2;
@@ -65,3 +128,25 @@
     }
   }
 }
+
+ // Table of contents
+
+#markdown-toc {
+  counter-reset: toc-counter;
+  li {
+    &::before {
+      counter-increment: toc-counter;
+      content: counter(toc-counter, upper-roman);
+    }
+    ol {
+      counter-reset: toc-sub-counter;
+    }
+
+    li {
+      &::before {
+        counter-increment: toc-sub-counter;
+        content: counter(toc-sub-counter, lower-roman);
+      }
+    }
+  }
+}
diff --git a/_sass/search.scss b/_sass/search.scss
new file mode 100644
index 00000000..10c37869
--- /dev/null
+++ b/_sass/search.scss
@@ -0,0 +1,6 @@
+.search-results-wrap {
+  position: absolute;
+  background: $white;
+  width: 400px;
+  z-index: 100;
+}
diff --git a/_sass/support/_variables.scss b/_sass/support/_variables.scss
index 629c2e67..96abff68 100644
--- a/_sass/support/_variables.scss
+++ b/_sass/support/_variables.scss
@@ -1,31 +1,47 @@
+//
+// Typography
+//
+
+$body-font-family: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif !default;
+$mono-font-family: "SFMono-Regular", Menlo, Consolas, Monospace !default;
+$root-font-size: 16px !default;         // Base font-size for rems
+$body-line-height: 1.4;
+$body-heading-line-height: 1.15;
+
 //
 // Colors
 //
 
-$grey-dk-000: #959396;
-$grey-dk-100: #5c5962;
-$grey-dk-200: #44434d;
-$grey-dk-300: #27262b;
+$white: #fff !default;
+
+$grey-dk-000: #959396 !default;
+$grey-dk-100: #5c5962 !default;
+$grey-dk-200: #44434d !default;
+$grey-dk-300: #27262b !default;
+
+$grey-lt-000: #f5f6fa !default;
+$grey-lt-100: #eeebee !default;
+$grey-lt-200: #ecebed !default;
+$grey-lt-300: #e6e1e8 !default;
 
-$grey-lt-000: #f5f6fa;
-$grey-lt-100: #efebf0;
-$grey-lt-200: #ecebed;
-$grey-lt-300: #e6e1e8;
+$purple-000: #7253ed !default;
+$purple-100: #5e41d0 !default;
+$purple-200: #4e26af !default;
+$purple-300: #381885 !default;
 
-$purple-000: #7253ed;
-$purple-100: #5e41d0;
-$purple-200: #4e26af;
-$purple-300: #381885;
+$blue-000: #2c84fa !default;
+$blue-100: #2869e6 !default;
+$blue-200: #264caf !default;
+$blue-300: #183385 !default;
 
-$green-000: #41d66f;
-$green-100: #2bb45a;
-$green-200: #299950;
-$green-300: #156f49;
+$green-000: #41d693 !default;
+$green-100: #11b584 !default;
+$green-200: #009c7b !default;
+$green-300: #026e57 !default;
 
-$body-text-color: $grey-dk-100;
-$body-heading-color: $grey-dk-300;
-$root-font-size: 16px;         // Base font-size for rems
-$link-color: $purple-000;
+$body-text-color: $grey-dk-100 !default;
+$body-heading-color: $grey-dk-300 !default;
+$link-color: $purple-000 !default;
 
 //
 // Media queries in pixels
@@ -36,7 +52,7 @@ $media-queries: (
   sm: 500px,
   md: 740px,
   lg: 1120px,
-  xl: 1200px
+  xl: 1400px
 ) !default;
 
 //
@@ -55,7 +71,7 @@ $spacers: (
   sp-6: $spacing-unit * 2,
   sp-7: $spacing-unit * 2.5,
   sp-8: $spacing-unit * 3
-);
+) !default;
 
 $sp-1: map-get($spacers, sp-1); // 0.25 rem == 4px
 $sp-2: map-get($spacers, sp-2); // 0.5  rem == 8px
@@ -70,17 +86,18 @@ $sp-8: map-get($spacers, sp-8); // 3    rem == 48px
 // Borders
 //
 
-$border: 1px solid;
-$border-radius: 4px;
-$border-color: $grey-lt-100;
+$border: 1px solid !default;
+$border-radius: 4px !default;
+$border-color: $grey-lt-100 !default;
 
 //
 // Grid system
 //
 
-$gutter-spacing: $sp-6;
-$nav-width: 232px;
-$content-width: 800px;
+$gutter-spacing: $sp-6 !default;
+$gutter-spacing-sm: $sp-4 !default;
+$nav-width: 232px !default;
+$content-width: 800px !default;
 
 $media-queries: (
   xs: 320px,
@@ -89,11 +106,3 @@ $media-queries: (
   lg: 800px,
   xl: 1316px
 ) !default;
-
-//
-// Typography
-//
-
-$body-font-family: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif;
-
-$mono-font-family: Menlo, Consolas, Monospace;
diff --git a/_sass/support/mixins/_buttons.scss b/_sass/support/mixins/_buttons.scss
new file mode 100644
index 00000000..9a6b84fe
--- /dev/null
+++ b/_sass/support/mixins/_buttons.scss
@@ -0,0 +1,25 @@
+// Colored button
+
+@mixin btn-color($fg, $bg) {
+  color: $fg;
+  background-image: linear-gradient(lighten($bg, 5%), darken($bg, 2%));
+  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
+
+  &:hover,
+  &.zeroclipboard-is-hover {
+    color: $fg;
+    background-image: linear-gradient((lighten($bg, 2%), darken($bg, 4%)));
+  }
+
+  &:active,
+  &.selected,
+  &.zeroclipboard-is-active {
+    background-color: darken($bg, 5%);
+    background-image: none;
+    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
+  }
+
+  &.selected:hover {
+    background-color: darken($bg, 10%);
+  }
+}
diff --git a/_sass/support/_mixins.scss b/_sass/support/mixins/_layout.scss
similarity index 52%
rename from _sass/support/_mixins.scss
rename to _sass/support/mixins/_layout.scss
index d63845aa..52b9e3cb 100644
--- a/_sass/support/_mixins.scss
+++ b/_sass/support/mixins/_layout.scss
@@ -1,45 +1,3 @@
-// Font size
-
-@mixin fs-1 {
-  font-size: 10px !important;
-}
-
-@mixin fs-2 {
-  font-size: 12px !important;
-}
-
-@mixin fs-3 {
-  font-size: 14px !important;
-}
-
-@mixin fs-4 {
-  font-size: 16px !important;
-}
-
-@mixin fs-5 {
-  font-size: 18px !important;
-}
-
-@mixin fs-6 {
-  font-size: 24px !important;
-}
-
-@mixin fs-7 {
-  font-size: 32px !important;
-}
-
-@mixin fs-8 {
-  font-size: 36px !important;
-}
-
-@mixin fs-9 {
-  font-size: 42px !important;
-}
-
-@mixin fs-10 {
-  font-size: 48px !important;
-}
-
 // Media query
 
 // Media query mixin
@@ -62,3 +20,15 @@
         + "Please make sure it is defined in `$media-queries` map.";
   }
 }
+
+// Responsive container
+
+@mixin container {
+  padding-left: $gutter-spacing-sm;
+  padding-right: $gutter-spacing-sm;
+
+  @include mq(md) {
+    padding-left: $gutter-spacing;
+    padding-right: $gutter-spacing;
+  }
+}
diff --git a/_sass/support/mixins/_typography.scss b/_sass/support/mixins/_typography.scss
new file mode 100644
index 00000000..e6d85bea
--- /dev/null
+++ b/_sass/support/mixins/_typography.scss
@@ -0,0 +1,81 @@
+// Font size
+
+@mixin fs-1 {
+  font-size: 9px !important;
+
+  @include mq(sm) {
+    font-size: 10px !important;
+  }
+}
+
+@mixin fs-2 {
+  font-size: 11px !important;
+
+  @include mq(sm) {
+    font-size: 12px !important;
+  }
+}
+
+@mixin fs-3 {
+  font-size: 12px !important;
+
+  @include mq(sm) {
+    font-size: 14px !important;
+  }
+}
+
+@mixin fs-4 {
+  font-size: 14px !important;
+
+  @include mq(sm) {
+    font-size: 16px !important;
+  }
+}
+
+@mixin fs-5 {
+  font-size: 16px !important;
+
+  @include mq(sm) {
+    font-size: 18px !important;
+  }
+}
+
+@mixin fs-6 {
+  font-size: 18px !important;
+
+  @include mq(sm) {
+    font-size: 24px !important;
+  }
+}
+
+@mixin fs-7 {
+  font-size: 24px !important;
+
+  @include mq(sm) {
+    font-size: 32px !important;
+  }
+}
+
+@mixin fs-8 {
+  font-size: 32px !important;
+
+  @include mq(sm) {
+    font-size: 36px !important;
+  }
+}
+
+@mixin fs-9 {
+  font-size: 36px !important;
+
+  @include mq(sm) {
+    font-size: 42px !important;
+  }
+}
+
+@mixin fs-10 {
+  font-size: 42px !important;
+
+  @include mq(sm) {
+    font-size: 48px !important;
+  }
+}
diff --git a/_sass/support/mixins/mixins.scss b/_sass/support/mixins/mixins.scss
new file mode 100644
index 00000000..0506fbf5
--- /dev/null
+++ b/_sass/support/mixins/mixins.scss
@@ -0,0 +1,3 @@
+@import "./layout";
+@import "./buttons";
+@import "./typography";
diff --git a/_sass/support/support.scss b/_sass/support/support.scss
index e060be55..8131a320 100644
--- a/_sass/support/support.scss
+++ b/_sass/support/support.scss
@@ -1,3 +1,3 @@
 @import "./variables";
 @import "./functions";
-@import "./mixins";
+@import "./mixins/mixins";
diff --git a/_sass/tables.scss b/_sass/tables.scss
index 1b551563..e1071512 100644
--- a/_sass/tables.scss
+++ b/_sass/tables.scss
@@ -1,8 +1,19 @@
+//
+// Tables
+//
+
 table {
+  display: block;
   width: 100%;
+  max-width: 100%;
+  overflow-x: auto;
   margin-bottom: $sp-5;
   border-collapse: separate;
-  box-shadow: 0 3px 12px 0 transparentize($grey-dk-300, 0.9);
+  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07), 0 4px 14px rgba(0, 0, 0, 0.05);
+
+  @include mq(sm) {
+    display: table;
+  }
 }
 
 th,
@@ -14,6 +25,7 @@ td {
   padding-right: $sp-3;
   border-bottom: $border $grey-lt-000;
   border-left: $border $border-color;
+  min-width: 120px;
 
   &:first-of-type {
     border-left: 0;
@@ -54,11 +66,8 @@ tbody {
   }
 }
 
-
-
-
-
 thead {
   th {
+    border-bottom: 1px solid $border-color;
   }
 }
diff --git a/_sass/typography.scss b/_sass/typography.scss
index b5944b94..1b2cb28c 100644
--- a/_sass/typography.scss
+++ b/_sass/typography.scss
@@ -1,3 +1,7 @@
+//
+// Typography
+//
+
 h1,
 .text-alpha {
   @include fs-8;
@@ -29,7 +33,7 @@ h5,
 }
 
 h6,
-.text-epsilon {
+.text-zeta {
   @include fs-2;
   color: $grey-dk-200;
 }
@@ -40,14 +44,10 @@ li {
   }
 }
 
-hr {
-  height: 1px;
-  padding: 0;
-  margin: $sp-6 0;
-  background-color: $grey-lt-100;
-  border: 0;
-}
-
 .text-small {
   @include fs-2;
 }
+
+.text-mono {
+  font-family: $mono-font-family;
+}
diff --git a/_sass/utilities/_colors.scss b/_sass/utilities/_colors.scss
index aa8e0d88..6ea15786 100644
--- a/_sass/utilities/_colors.scss
+++ b/_sass/utilities/_colors.scss
@@ -1,17 +1,23 @@
-.text-purple-000 {
-  color: $purple-000 !important;
+//
+// Utility classes for colors
+//
+
+// Text colors
+
+.text-grey-dk-000 {
+  color: $grey-dk-000 !important;
 }
 
-.text-purple-100 {
-  color: $purple-100 !important;
+.text-grey-dk-100 {
+  color: $grey-dk-100 !important;
 }
 
-.text-purple-200 {
-  color: $purple-200 !important;
+.text-grey-dk-200 {
+  color: $grey-dk-200 !important;
 }
 
-.text-purple-300 {
-  color: $purple-300 !important;
+.text-grey-dk-300 {
+  color: $grey-dk-300 !important;
 }
 
 .text-grey-lt-000 {
@@ -30,18 +36,50 @@
   color: $grey-lt-300 !important;
 }
 
-.text-grey-dk-000 {
-  color: $grey-dk-000 !important;
+.text-blue-000 {
+  color: $blue-000 !important;
 }
 
-.text-grey-dk-100 {
-  color: $grey-dk-100 !important;
+.text-blue-100 {
+  color: $blue-100 !important;
 }
 
-.text-grey-dk-200 {
-  color: $grey-dk-200 !important;
+.text-blue-200 {
+  color: $blue-200 !important;
 }
 
-.text-grey-dk-300 {
-  color: $grey-dk-300 !important;
+.text-blue-300 {
+  color: $blue-300 !important;
+}
+
+.text-green-000 {
+  color: $green-000 !important;
+}
+
+.text-green-100 {
+  color: $green-100 !important;
+}
+
+.text-green-200 {
+  color: $green-200 !important;
+}
+
+.text-green-300 {
+  color: $green-300 !important;
+}
+
+.text-purple-000 {
+  color: $purple-000 !important;
+}
+
+.text-purple-100 {
+  color: $purple-100 !important;
+}
+
+.text-purple-200 {
+  color: $purple-200 !important;
+}
+
+.text-purple-300 {
+  color: $purple-300 !important;
 }
diff --git a/_sass/utilities/_layout.scss b/_sass/utilities/_layout.scss
index e69de29b..24f4fe12 100644
--- a/_sass/utilities/_layout.scss
+++ b/_sass/utilities/_layout.scss
@@ -0,0 +1,26 @@
+//
+// Utility classes for layout and spacing
+//
+
+.d-block { display: block !important; }
+.d-flex { display: flex !important; }
+.d-inline { display: inline !important; }
+.d-inline-block { display: inline-block !important; }
+.d-none { display: none !important; }
+
+@each $media-query in map-keys($media-queries) {
+  @for $i from 1 through length($spacers) {
+    @include mq($media-query) {
+      $size: #{map-get($spacers, sp-#{$i - 1})};
+      $scale: #{$i - 1};
+
+      // .d-sm-block, .d-md-none, .d-lg-inline
+      .d-#{$media-query}-block { display: block !important; }
+      .d-#{$media-query}-flex { display: flex !important; }
+      .d-#{$media-query}-inline { display: inline !important; }
+      .d-#{$media-query}-inline-block { display: inline-block !important; }
+      .d-#{$media-query}-none { display: none !important; }
+
+    }
+  }
+}
diff --git a/_sass/utilities/_lists.scss b/_sass/utilities/_lists.scss
index 6fea9fca..0c5bcad7 100644
--- a/_sass/utilities/_lists.scss
+++ b/_sass/utilities/_lists.scss
@@ -1,3 +1,7 @@
+//
+// Utility classes for lists
+//
+
 // stylelint-disable primer/selector-no-utility
 
 .list-style-none {
diff --git a/_sass/utilities/_spacing.scss b/_sass/utilities/_spacing.scss
index cd8214c5..9b428169 100644
--- a/_sass/utilities/_spacing.scss
+++ b/_sass/utilities/_spacing.scss
@@ -1,10 +1,10 @@
-// scss-lint:disable SpaceAfterPropertyName
-// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before, primer/selector-no-utility
-
-// Margin spacer utilities
+//
+// Utility classes for margins and padding
+//
 
 // scss-lint:disable SpaceAfterPropertyName
 // stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before, primer/selector-no-utility
+
 // Margin spacer utilities
 
 @for $i from 1 through length($spacers) {
@@ -42,7 +42,7 @@
 @each $media-query in map-keys($media-queries) {
   @for $i from 1 through length($spacers) {
     @include mq($media-query) {
-      $size: #{map-get($spacers, spacer#{$i - 1})};
+      $size: #{map-get($spacers, sp-#{$i - 1})};
       $scale: #{$i - 1};
 
       // .m-sm-0, .m-md-1, .m-lg-2...
@@ -97,7 +97,7 @@
 @each $media-query in map-keys($media-queries) {
   @include mq($media-query) {
     @for $i from 1 through length($spacers) {
-      $size: #{map-get($spacers, spacer#{$i - 1})};
+      $size: #{map-get($spacers, sp-#{$i - 1})};
       $scale: #{$i - 1};
 
       // .p-sm-0, .p-md-1, .p-lg-2...
diff --git a/_sass/utilities/_typography.scss b/_sass/utilities/_typography.scss
index f9625fba..7206deff 100644
--- a/_sass/utilities/_typography.scss
+++ b/_sass/utilities/_typography.scss
@@ -1,3 +1,9 @@
+//
+// Utility classes for typography
+//
+
+// stylelint-disable primer/selector-no-utility
+
 .fs-1 {
   @include fs-1;
 }
@@ -53,3 +59,33 @@
 .fw-700 {
   font-weight: 700 !important;
 }
+
+.lh-0 {
+  line-height: 0 !important;
+}
+
+.lh-default {
+  line-height: $body-line-height;
+}
+
+.lh-tight {
+  line-height: $body-heading-line-height;
+}
+
+.ls-5 {
+  letter-spacing: 0.05em !important;
+}
+
+.ls-10 {
+  letter-spacing: 0.1em !important;
+}
+
+.ls-0 {
+  letter-spacing: 0 !important;
+}
+
+.text-uppercase {
+  text-transform: uppercase !important;
+}
+
+// stylelint-enable primer/selector-no-utility
diff --git a/assets/css/just-the-docs.scss b/assets/css/just-the-docs.scss
index dce54397..4fc74eaa 100644
--- a/assets/css/just-the-docs.scss
+++ b/assets/css/just-the-docs.scss
@@ -15,24 +15,13 @@
 
 // Support
 @import "./support/support";
-
-// Utilities
-@import "./utilities/utilities";
-
-// Base
 @import "./base";
-
-// Layout
 @import "./layout";
-
-// Navigation
+@import "./content";
 @import "./navigation";
-
-// Typography
 @import "./typography";
-
-// Tables
+@import "./buttons";
+@import "./search";
 @import "./tables";
-
-// Code blocks and inline code
 @import "./code";
+@import "./utilities/utilities";
diff --git a/assets/images/just-the-docs.png b/assets/images/just-the-docs.png
index a2a57a94a432c6060942394854e99f9c11b91635..81c33065f2794814cbe1a53791d8bc4bfbb91cb1 100644
GIT binary patch
literal 20992
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

literal 53240
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
LNkvXXu0mjf%j11)

diff --git a/assets/js/just-the-docs.js b/assets/js/just-the-docs.js
index e69de29b..4d297991 100644
--- a/assets/js/just-the-docs.js
+++ b/assets/js/just-the-docs.js
@@ -0,0 +1,125 @@
+// Event handling
+
+function addEvent(el, type, handler) {
+    if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler);
+}
+function removeEvent(el, type, handler) {
+    if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler);
+}
+
+// Show/hide mobile menu
+
+function toggleNav(){
+  const nav = document.querySelector('.js-main-nav');
+  const navTrigger = document.querySelector('.js-main-nav-trigger');
+
+
+  addEvent(navTrigger, 'click', function(){
+    var text = navTrigger.innerText;
+    var textToggle = navTrigger.getAttribute('data-text-toggle');
+
+    nav.classList.toggle('nav-open');
+    navTrigger.classList.toggle('nav-open');
+    navTrigger.innerText = textToggle;
+    navTrigger.setAttribute('data-text-toggle', text);
+    textToggle = text;
+  })
+}
+
+// Site search
+
+function initSearch() {
+  var index = lunr(function () {
+    this.ref('id');
+    this.field('title');
+    this.field('content', { boost: 10 });
+    this.field('url');
+  });
+
+  // Get the generated search_data.json file so lunr.js can search it locally.
+
+  var request = new XMLHttpRequest();
+  request.open('GET', '/search-data.json', true);
+
+  request.onload = function() {
+    if (request.status >= 200 && request.status < 400) {
+      // Success!
+      var data = JSON.parse(request.responseText);
+      var keys = Object.keys(data);
+
+      for(var i in data) {
+        index.add({
+          id: data[i].id,
+          title: data[i].title,
+          content: data[i].content,
+          url: data[i].url
+        });
+      }
+      searchResults(data);
+    } else {
+      // We reached our target server, but it returned an error
+      console.log('Error loading ajax request. Request status:' + request.status);
+    }
+  };
+
+  request.onerror = function() {
+    // There was a connection error of some sort
+    console.log('There was a connection error');
+  };
+
+  request.send();
+
+  function searchResults(dataStore) {
+    var searchInput = document.querySelector('.js-search-input');
+    var searchResults = document.querySelector('.js-search-results');
+    var store = dataStore;
+
+    addEvent(searchInput, 'keyup', function(){
+        var query = this.value;
+
+        searchResults.innerHTML = '';
+
+        if (query === '') {
+          searchResults.innerHTML = '';
+        } else {
+          var results = index.search(query);
+          for (var i in results) {
+            var resultsList = document.createElement("ul");
+            var resultsListItem = document.createElement("li");
+            var resultsLink = document.createElement("a");
+            var resultsUrl = store[results[i].ref].url;
+            var resultsTitle = store[results[i].ref].title;
+
+            resultsLink.setAttribute("href", store[results[i].ref].url);
+            resultsLink.innerText = resultsTitle;
+
+            resultsList.classList.add("search-results-list");
+            searchResults.appendChild(resultsList);
+            resultsList.appendChild(resultsListItem);
+            resultsListItem.appendChild(resultsLink)
+          }
+        }
+    });
+
+    addEvent(searchInput, 'blur', function(){
+      setTimeout(function(){searchResults.innerHTML = '';}, 300);
+    });
+  }
+}
+
+
+// Document ready
+
+function ready(){
+  toggleNav();
+  initSearch();
+}
+
+// in case the document is already rendered
+if (document.readyState!='loading') ready();
+// modern browsers
+else if (document.addEventListener) document.addEventListener('DOMContentLoaded', ready);
+// IE <= 8
+else document.attachEvent('onreadystatechange', function(){
+    if (document.readyState=='complete') ready();
+});
diff --git a/assets/js/vendor/lunr.min.js b/assets/js/vendor/lunr.min.js
new file mode 100644
index 00000000..9960ccd2
--- /dev/null
+++ b/assets/js/vendor/lunr.min.js
@@ -0,0 +1,6 @@
+/**
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 1.0.0
+ * Copyright (C) 2017 Oliver Nightingale
+ * @license MIT
+ */
+!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="1.0.0",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.utils.asString=function(t){return void 0===t||null===t?"":t.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(e){return arguments.length&&null!=e&&void 0!=e?Array.isArray(e)?e.map(function(e){return t.utils.asString(e).toLowerCase()}):e.toString().trim().toLowerCase().split(t.tokenizer.separator):[]},t.tokenizer.separator=/[\s\-]+/,t.tokenizer.load=function(t){var e=this.registeredFunctions[t];if(!e)throw new Error("Cannot load un-registered function: "+t);return e},t.tokenizer.label="default",t.tokenizer.registeredFunctions={"default":t.tokenizer},t.tokenizer.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing tokenizer: "+n),e.label=n,this.registeredFunctions[n]=e},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,r=0;n>r;r++){for(var o=t[r],s=0;i>s&&(o=this._stack[s](o,r,t),void 0!==o&&""!==o);s++);void 0!==o&&""!==o&&e.push(o)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(e<i.idx)return this.list=new t.Vector.Node(e,n,i),this.length++;for(var r=i,o=i.next;void 0!=o;){if(e<o.idx)return r.next=new t.Vector.Node(e,n,o),this.length++;r=o,o=o.next}return r.next=new t.Vector.Node(e,n,o),this.length++},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var t,e=this.list,n=0;e;)t=e.val,n+=t*t,e=e.next;return this._magnitude=Math.sqrt(n)},t.Vector.prototype.dot=function(t){for(var e=this.list,n=t.list,i=0;e&&n;)e.idx<n.idx?e=e.next:e.idx>n.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t<arguments.length;t++)e=arguments[t],~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},t.SortedSet.prototype.toArray=function(){return this.elements.slice()},t.SortedSet.prototype.map=function(t,e){return this.elements.map(t,e)},t.SortedSet.prototype.forEach=function(t,e){return this.elements.forEach(t,e)},t.SortedSet.prototype.indexOf=function(t){for(var e=0,n=this.elements.length,i=n-e,r=e+Math.floor(i/2),o=this.elements[r];i>1;){if(o===t)return r;t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r]}return o===t?r:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,r=e+Math.floor(i/2),o=this.elements[r];i>1;)t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r];return o>t?r:t>o?r+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,r=0,o=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>o-1||r>s-1)break;a[i]!==h[r]?a[i]<h[r]?i++:a[i]>h[r]&&r++:(n.add(a[i]),i++,r++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone();for(var r=0,o=n.toArray();r<o.length;r++)i.add(o[r]);return i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this.tokenizerFn=t.tokenizer,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.tokenizer(t.tokenizer.load(e.tokenizer)),n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.tokenizer=function(e){var n=e.label&&e.label in t.tokenizer.registeredFunctions;return n||t.utils.warn("Function is not a registered tokenizer. This may cause problems when serialising the index"),this.tokenizerFn=e,this},t.Index.prototype.add=function(e,n){var i={},r=new t.SortedSet,o=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(t){var n=this.pipeline.run(this.tokenizerFn(e[t.name]));i[t.name]=n;for(var o=0;o<n.length;o++){var s=n[o];r.add(s),this.corpusTokens.add(s)}},this),this.documentStore.set(o,r);for(var s=0;s<r.length;s++){for(var a=r.elements[s],h=0,u=0;u<this._fields.length;u++){var l=this._fields[u],c=i[l.name],f=c.length;if(f){for(var d=0,p=0;f>p;p++)c[p]===a&&d++;h+=d/f*l.boost}}this.tokenStore.add(a,{ref:o,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(this.tokenizerFn(e)),i=new t.Vector,r=[],o=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*o,h=this,u=this.tokenStore.expand(e).reduce(function(n,r){var o=h.corpusTokens.indexOf(r),s=h.idf(r),u=1,l=new t.SortedSet;if(r!==e){var c=Math.max(3,r.length-e.length);u=1/Math.log(c)}o>-1&&i.insert(o,a*s*u);for(var f=h.tokenStore.get(r),d=Object.keys(f),p=d.length,v=0;p>v;v++)l.add(f[d[v]].ref);return n.union(l)},new t.SortedSet);r.push(u)},this);var a=r.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,r=new t.Vector,o=0;i>o;o++){var s=n.elements[o],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);r.insert(this.corpusTokens.indexOf(s),a*h)}return r},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,tokenizer:this.tokenizerFn.label,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",r=n+"[^aeiouy]*",o=i+"[aeiou]*",s="^("+r+")?"+o+r,a="^("+r+")?"+o+r+"("+o+")?$",h="^("+r+")?"+o+r+o+r,u="^("+r+")?"+i,l=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(u),p=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,g=/^(.+?)eed$/,m=/^(.+?)(ed|ing)$/,y=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),k=new RegExp("^"+r+i+"[^aeiouwxy]$"),x=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,F=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,_=/^(.+?)(s|t)(ion)$/,z=/^(.+?)e$/,O=/ll$/,P=new RegExp("^"+r+i+"[^aeiouwxy]$"),T=function(n){var i,r,o,s,a,h,u;if(n.length<3)return n;if(o=n.substr(0,1),"y"==o&&(n=o.toUpperCase()+n.substr(1)),s=p,a=v,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=g,a=m,s.test(n)){var T=s.exec(n);s=l,s.test(T[1])&&(s=y,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,u=k,a.test(n)?n+="e":h.test(n)?(s=y,n=n.replace(s,"")):u.test(n)&&(n+="e"))}if(s=x,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+t[r])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+e[r])}if(s=F,a=_,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=z,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=P,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=O,a=c,s.test(n)&&a.test(n)&&(s=y,n=n.replace(s,"")),"y"==o&&(n=o.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.generateStopWordFilter=function(t){var e=t.reduce(function(t,e){return t[e]=e,t},{});return function(t){return t&&e[t]!==t?t:void 0}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){return t.replace(/^\W+/,"").replace(/\W+$/,"")},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t.charAt(0),r=t.slice(1);return i in n||(n[i]={docs:{}}),0===r.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(r,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n<t.length;n++){if(!e[t.charAt(n)])return!1;e=e[t.charAt(n)]}return!0},t.TokenStore.prototype.getNode=function(t){if(!t)return{};for(var e=this.root,n=0;n<t.length;n++){if(!e[t.charAt(n)])return{};e=e[t.charAt(n)]}return e},t.TokenStore.prototype.get=function(t,e){return this.getNode(t,e).docs||{}},t.TokenStore.prototype.count=function(t,e){return Object.keys(this.get(t,e)).length},t.TokenStore.prototype.remove=function(t,e){if(t){for(var n=this.root,i=0;i<t.length;i++){if(!(t.charAt(i)in n))return;n=n[t.charAt(i)]}delete n.docs[e]}},t.TokenStore.prototype.expand=function(t,e){var n=this.getNode(t),i=n.docs||{},e=e||[];return Object.keys(i).length&&e.push(t),Object.keys(n).forEach(function(n){"docs"!==n&&e.concat(this.expand(t+n,e))},this),e},t.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.lunr=e()}(this,function(){return t})}();
\ No newline at end of file
diff --git a/docs/navigation-structure.md b/docs/navigation-structure.md
new file mode 100644
index 00000000..83516b67
--- /dev/null
+++ b/docs/navigation-structure.md
@@ -0,0 +1,22 @@
+---
+layout: default
+title: Navigation Structure
+nav_order: 4
+---
+
+# Navigation Structure
+{:.no_toc}
+
+## Table of contents
+{: .no_toc .text-delta }
+
+1. TOC
+{:toc}
+
+---
+
+## Main navigation
+
+---
+
+## In-page navigation with Table of Contents
diff --git a/docs/page-architecture.md b/docs/page-architecture.md
deleted file mode 100644
index b28f3cf7..00000000
--- a/docs/page-architecture.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-layout: default
-title: Navigation Structure
-nav_order: 3
----
diff --git a/docs/ui-components/buttons.md b/docs/ui-components/buttons.md
index cc8a644c..eec5deff 100644
--- a/docs/ui-components/buttons.md
+++ b/docs/ui-components/buttons.md
@@ -4,3 +4,103 @@ title: Buttons
 parent: UI Components
 nav_order: 2
 ---
+
+# Buttons
+{:.no_toc}
+
+## Table of contents
+{: .no_toc .text-delta }
+
+1. TOC
+{:toc}
+
+---
+
+## Basic button styles
+
+### Links that look like buttons
+
+<div class="code-example" markdown="1">
+
+[Link button](http://example.com/){: .btn }
+
+[Link button](http://example.com/){: .btn .btn-purple }
+[Link button](http://example.com/){: .btn .btn-blue }
+[Link button](http://example.com/){: .btn .btn-green }
+
+[Link button](http://example.com/){: .btn .btn-outline }
+
+</div>
+```markdown
+
+[Link button](http://example.com/){: .btn }
+
+[Link button](http://example.com/){: .btn .btn-purple }
+[Link button](http://example.com/){: .btn .btn-blue }
+[Link button](http://example.com/){: .btn .btn-green }
+
+[Link button](http://example.com/){: .btn .btn-outline }
+```
+
+### Button element
+
+GitHub flavored markdown does not support the `button` element, so you'll have to use inline HTML for this:
+
+
+<div class="code-example">
+
+<button type="button" name="button" class="btn">Button element</button>
+
+</div>
+```html
+<button type="button" name="button" class="btn">Button element</button>
+```
+
+---
+
+## Using utilities with buttons
+
+### Button size
+
+Wrap the button in container that uses the [font-size utility classes]({{ site.baseurl }}{% link docs/utilities.md %}#typography) to scale buttons:
+
+<div class="code-example" markdown="1">
+
+<span class="fs-6">
+[Big ass button](http://example.com/){: .btn }
+</span>
+
+<span class="fs-3">
+[Tiny ass button](http://example.com/){: .btn }
+</span>
+
+</div>
+```markdown
+<span class="fs-8">
+[Link button](http://example.com/){: .btn }
+</span>
+
+<span class="fs-3">
+[Tiny ass button](http://example.com/){: .btn }
+</span>
+```
+
+### Spacing between buttons
+
+Use the [margin utility classes]({{ site.baseurl }}{% link docs/utilities.md %}#spacing) to add spacing between two buttons in the same block.
+
+<div class="code-example" markdown="1">
+
+[Button with space](http://example.com/){: .btn .btn-purple .mr-2}
+[Button ](http://example.com/){: .btn .btn-blue .mr-2}
+
+[Button with more space](http://example.com/){: .btn .btn-green .mr-4}
+[Button ](http://example.com/){: .btn .btn-blue }
+</div>
+```markdown
+[Button with space](http://example.com/){: .btn .btn-purple .mr-2}
+[Button ](http://example.com/){: .btn .btn-blue }
+
+[Button with more space](http://example.com/){: .btn .btn-green .mr-4}
+[Button ](http://example.com/){: .btn .btn-blue }
+```
diff --git a/docs/ui-components/code.md b/docs/ui-components/code.md
index daf5ec40..bc1baf2d 100644
--- a/docs/ui-components/code.md
+++ b/docs/ui-components/code.md
@@ -2,5 +2,83 @@
 layout: default
 title: Code
 parent: UI Components
-nav_order: 3
+nav_order: 4
 ---
+
+# Code
+{:.no_toc}
+
+## Table of contents
+{: .no_toc .text-delta }
+
+1. TOC
+{:toc}
+
+---
+
+## Inline code
+
+Code can be rendered inline using single ticks by wrapping your code in single back ticks.
+
+<div class="code-example" markdown="1">
+
+Lorem ipsum dolor sit amet, `<inline code snippet>` adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+</div>
+```markdown
+Lorem ipsum dolor sit amet, `<inline code snippet>` adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+```
+
+---
+
+## Syntax highlighted code blocks
+
+Use Jekyll's built in syntax highlighting with Rouge for code blocks by using three backticks, followed by the language name:
+
+<div class="code-example" markdown="1">
+```js
+// Javascript code with syntax highlighting.
+var fun = function lang(l) {
+  dateformat.i18n = require('./lang/' + l)
+  return true;
+}
+```
+</div>
+{% highlight markdown %}
+```js
+// Javascript code with syntax highlighting.
+var fun = function lang(l) {
+  dateformat.i18n = require('./lang/' + l)
+  return true;
+}
+```
+{% endhighlight %}
+
+---
+
+## Code blocks with rendered examples
+
+To demonstrate front end code, sometimes it useful to show a rendered example of that code. After including the styles from your project that you'll need to show the rendering, you can use a div with the `code-example` class, followed by the code block syntax. If you want to render your output with Markdown instead of HTML, use the `markdown="1"` attribute to tell Jekyll that the code you are rendering will be in Markdown format... This is about to get meta...
+
+<div class="code-example" markdown="1">
+
+<div class="code-example" markdown="1">
+
+[Link button](http://example.com/){: .btn }
+
+</div>
+```markdown
+[Link button](http://example.com/){: .btn }
+```
+
+</div>
+{% highlight markdown %}
+<div class="code-example" markdown="1">
+
+[Link button](http://example.com/){: .btn }
+
+</div>
+```markdown
+[Link button](http://example.com/){: .btn }
+```
+{% endhighlight %}
diff --git a/docs/ui-components/tables.md b/docs/ui-components/tables.md
new file mode 100644
index 00000000..a26082db
--- /dev/null
+++ b/docs/ui-components/tables.md
@@ -0,0 +1,40 @@
+---
+layout: default
+title: Tables
+parent: UI Components
+nav_order: 3
+---
+
+# Tables
+{:.no_toc}
+
+## Table of contents
+{: .no_toc .text-delta }
+
+1. TOC
+{:toc }
+
+---
+
+## Default tables
+
+Tables are responsive by default, allowing wide tables to have a horizontal scroll to access columns outside of the normal viewport.
+
+<div class="code-example" markdown="1">
+
+| head1        | head two          | three |
+|:-------------|:------------------|:------|
+| ok           | good swedish fish | nice  |
+| out of stock | good and plenty   | nice  |
+| ok           | good `oreos`      | hmm   |
+| ok           | good `zoute` drop | yumm  |
+
+</div>
+```markdown
+| head1        | head two          | three |
+|:-------------|:------------------|:------|
+| ok           | good swedish fish | nice  |
+| out of stock | good and plenty   | nice  |
+| ok           | good `oreos`      | hmm   |
+| ok           | good `zoute` drop | yumm  |
+```
diff --git a/docs/ui-components/typography.md b/docs/ui-components/typography.md
index 8fa122fb..5b434d5b 100644
--- a/docs/ui-components/typography.md
+++ b/docs/ui-components/typography.md
@@ -4,3 +4,111 @@ title: Typography
 parent: UI Components
 nav_order: 1
 ---
+
+# Typography
+{:.no_toc}
+
+## Table of contents
+{: .no_toc .text-delta }
+
+1. TOC
+{:toc}
+
+---
+
+## Font stack
+
+By default, Just the Docs uses a native system font stack for sans-serif fonts:
+
+```scss
+-apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif
+```
+
+ABCDEFGHIJKLMNOPQRSTUVWXYZ  
+abcdefghijklmnopqrstuvwxyz
+{: .fs-5 .ls-10 .code-example }
+
+For monospace type, like code snippets or the pre `<pre>` element, Just the Docs uses a native system font stack for monospace fonts:
+
+```scss
+"SFMono-Regular", Menlo, Consolas, Monospace
+```
+
+ABCDEFGHIJKLMNOPQRSTUVWXYZ  
+abcdefghijklmnopqrstuvwxyz
+{: .fs-5 .ls-10 .text-mono .code-example }
+
+---
+
+## Responsive type scale
+
+Just the docs uses a responsive type scale that shifts depending on the viewport size. Common elements text elements rendered from markdown use a
+
+| Selector              | Small screen size `font-size`    | Large screen size `font-size` |
+|:----------------------|:---------------------------------|:------------------------------|
+| `h1`, `.text-alpha`   | 32px                             | 36px                          |
+| `h2`, `.text-beta`    | 18px                             | 24px                          |
+| `h3`, `.text-gamma`   | 16px                             | 18px                          |
+| `h4`, `.text-delta`   | 14px                             | 16px                          |
+| `h5`, `.text-epsilon` | 16px                             | 18px                          |
+| `h6`, `.text-zeta  `   | 18px                             | 24px                          |
+| `body`                | 14px                             | 16px                          |
+
+---
+
+## Headings
+
+Headings are rendered like this:
+
+<div class="code-example">
+<h1>Heading 1</h1>
+<h2>Heading 2</h2>
+<h3>Heading 3</h3>
+<h4>Heading 4</h4>
+<h5>Heading 5</h5>
+<h6>Heading 6</h6>
+</div>
+```markdown
+# Heading 1
+## Heading 2
+### Heading 3
+#### Heading 4
+##### Heading 5
+###### Heading 6
+```
+
+---
+
+## Body text
+
+Default body text is rendered like this:
+
+<div class="code-example" markdown="1">
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+</div>
+```markdown
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+```
+
+---
+
+## Inline elements
+
+<div class="code-example" markdown="1">
+Text can be **bold**, _italic_, or ~~strikethrough~~.
+
+[Link to another page](another-page).
+</div>
+```markdown
+Text can be **bold**, _italic_, or ~~strikethrough~~.
+
+[Link to another page](another-page).
+```
+
+---
+
+## Typographic Utilities
+
+There are a number of specific typographic CSS classes that allow you to do override default styling for font size, font-weight, line height, and capitalization.
+
+[View typography utilities]({{ site.base_url }}{% link docs/utilities.md %}#typography){: .btn .btn-outline }
diff --git a/docs/ui-components/ui-components.md b/docs/ui-components/ui-components.md
index 49e68124..96088a80 100644
--- a/docs/ui-components/ui-components.md
+++ b/docs/ui-components/ui-components.md
@@ -9,4 +9,5 @@ permalink: /ui-components
 
 # UI Components
 
-Just the Docs includes styles for displaying clear and readable typography, nicely formatted code, and easily identifiable buttons. The goal of this theme is to make it as easy as possible to write code documentation in markdown and have the Just the Docs take care of the rest, so very few CSS classes are required to render commonly used UI elements.
+Just the Docs includes all the CSS you need to create structured documentation for your next project. To make it as easy as possible to write documentation in plain Markdown, most styles will require no additional CSS classes.
+{: .fs-6 .fw-300 }
diff --git a/docs/utilities.md b/docs/utilities.md
new file mode 100644
index 00000000..384820a3
--- /dev/null
+++ b/docs/utilities.md
@@ -0,0 +1,259 @@
+---
+layout: default
+title: Utilities
+nav_order: 3
+---
+
+# Utilities
+{:.no_toc}
+
+CSS utility classes come in handy when you to want to override default styles to give create additional whitespace (margins/padding), unexpected shifts in font-size or weight, add color, or to hide (or show) something a specific screen size.
+{: .fs-6 .fw-300 }
+
+## Table of contents
+{: .no_toc .text-delta }
+
+1. TOC
+{:toc}
+
+---
+
+## Responsive modifiers
+
+Just the Docs spacing works in conjunction with a variety of modifiers that allow you to target specific screen sizes responsively. Use these in conjunction with spacing and display prexix and suffix classes. For example `prefix-modifier-suffix`
+
+| Modifier  | Screen size   |
+|:----------|:-------------------------------------|
+| (none)    | All screens until the next modifier  |
+| `xs`      | 320px (20rem) and up                 |
+| `sm`      | 500px (31.25rem) and up              |
+| `md`      | 740px (46.25rem) and up              |
+| `lg`      | 1120px (70rem) and up                |
+| `xl`      | 1400px (87.5rem) and up              |
+
+## Layout Utilities
+
+### Spacing
+
+These spacers are available to use for margins and padding with responsive utility classes. Combine these prefixes with a screen size and spacing scale to use them responsively.
+
+| Classname prefix | What it does                  |
+|:-----------------|:------------------------------|
+| `.m-`            | `margin`                      |
+| `.mx-`           | `margin-left`, `margin-right` |
+| `.my-`           | `margin top`, `margin bottom` |
+| `.mt-`           | `margin-top`                  |
+| `.mr-`           | `margin-right`                |
+| `.mb-`           | `margin-bottom`               |
+| `.ml-`           | `margin-left`                 |
+
+| Classname prefix | What it does                    |
+|:-----------------|:--------------------------------|
+| `.p-`            | `padding`                       |
+| `.px-`           | `padding-left`, `padding-right` |
+| `.py-`           | `padding top`, `padding bottom` |
+| `.pt-`           | `padding-top`                   |
+| `.pr-`           | `padding-right`                 |
+| `.pb-`           | `padding-bottom`                |
+| `.pl-`           | `padding-left`                  |
+
+Spacing values are based on a `1rem = 16px` spacing scale, broken down into these units:
+
+| Spacer/suffix  | Size in rems  | Rem converted to px |
+|:---------------|:--------------|:--------------------|
+| `1`            | 0.25rem       | 4px                 |
+| `2`            | 0.5rem        | 8px                 |
+| `3`            | 0.75rem       | 12px                |
+| `4`            | 1rem          | 16px                |
+| `5`            | 1.5rem        | 24px                |
+| `6`            | 2rem          | 32px                |
+| `7`            | 2.5rem        | 40px                |
+| `8`            | 3rem          | 48px                |
+
+#### Examples
+{: .no_toc }
+
+```markdown
+In Markdown, use the `{: }` wrapper to apply custom classes:
+
+This paragraph will have a margin bottom of 1rem/16px at large screens.
+{: .mb-lg-4 }
+
+This paragraph will have 2rem/32px of padding on the right and left at all screen sizes.
+{: .px-6 }
+
+```
+
+### Display
+
+Display classes aid in adapting the layout of the elements on a page:
+
+| Class             |                         |
+|:------------------|:------------------------|
+| `.d-block`        | `display: block`        |
+| `.d-flex`         | `display: flex`         |
+| `.d-inline`       | `display: inline`       |
+| `.d-inline-block` | `display: inline-block` |
+| `.d-none`         | `display: none`         |
+
+Use these classes in conjunction with the responsive modifiers.
+
+#### Examples
+{: .no_toc }
+
+```markdown
+In Markdown, use the `{: }` wrapper to apply custom classes:
+
+This button will be hidden until medium screen sizes:
+
+[ A button ](#url)
+{: .d-none .d-md-inline-block }
+
+These headings will be `inline-block`:
+
+### heading 3
+{ .d-inline-block }
+
+### heading 3
+{ .d-inline-block }
+
+```
+
+---
+## Typography
+
+### Font size
+
+Use the `.fs-1` - `.fs-10` to set an explicit font-size.
+
+| Class   | Small screen size `font-size`  | Large screen size `font-size` |
+|:--------|:-------------------------------|:------------------------------|
+| `.fs-1` | 9px                            | 10px                          |
+| `.fs-2` | 11px                           | 12px                          |
+| `.fs-3` | 12px                           | 14px                          |
+| `.fs-4` | 14px                           | 16px                          |
+| `.fs-5` | 16px                           | 18px                          |
+| `.fs-6` | 18px                           | 24px                          |
+| `.fs-7` | 24px                           | 32px                          |
+| `.fs-8` | 32px                           | 38px                          |
+| `.fs-9` | 38px                           | 42px                          |
+| `.fs-10`| 42px                           | 48px                          |
+
+<div class="code-example" markdown="1">
+Font size 1
+{: .fs-1 }
+Font size 2
+{: .fs-2 }
+Font size 3
+{: .fs-3 }
+Font size 4
+{: .fs-4 }
+Font size 5
+{: .fs-5 }
+Font size 6
+{: .fs-6 }
+Font size 7
+{: .fs-7 }
+Font size 8
+{: .fs-8 }
+Font size 9
+{: .fs-9 }
+Font size 10
+{: .fs-10 }
+</div>
+```markdown
+In Markdown, use the `{: }` wrapper to apply custom classes:
+
+Font size 1
+{: .fs-1 }
+Font size 2
+{: .fs-2 }
+Font size 3
+{: .fs-3 }
+Font size 4
+{: .fs-4 }
+Font size 5
+{: .fs-5 }
+Font size 6
+{: .fs-6 }
+Font size 7
+{: .fs-7 }
+Font size 8
+{: .fs-8 }
+Font size 9
+{: .fs-9 }
+Font size 10
+{: .fs-10 }
+```
+
+### Font weight
+
+Use the `.fw-300` - `.fw-700` to set an explicit font-size.
+
+<div class="code-example" markdown="1">
+Font weight 300
+{: .fw-300 }
+Font weight 400
+{: .fw-400 }
+Font weight 500
+{: .fw-500 }
+Font weight 700
+{: .fw-700 }
+</div>
+```markdown
+In Markdown, use the `{: }` wrapper to apply custom classes:
+
+Font weight 300
+{: .fw-300 }
+Font weight 400
+{: .fw-400 }
+Font weight 500
+{: .fw-500 }
+Font weight 700
+{: .fw-700 }
+```
+
+### Line height
+
+Use the `lh-` classes to explicitly apply line height to text.
+
+| Class         | `line-height` value  | Notes                         |
+|:--------------|:---------------------|:------------------------------|
+| `.lh-0`       | 0                    |                               |
+| `.lh-tight`   | 1.1                  | Default for headings          |
+| `.lh-default` | 1.4                  | Default for body (paragraphs) |
+
+
+
+<div class="code-example" markdown="1">
+No Line height  
+No Line height
+{: .lh-0 }
+
+Tight line height  
+Tight line height
+{: .lh-tight }
+
+Default line height  
+Default line height
+{: .fh-default }
+</div>
+```markdown
+In Markdown, use the `{: }` wrapper to apply custom classes:
+
+No Line height  
+No Line height
+{: .lh-0 }
+
+Tight line height  
+Tight line height
+{: .lh-tight }
+
+Default line height  
+Default line height
+{: .fh-default }
+```
+---
+## Color
+### Font color
+### Background color
diff --git a/index.md b/index.md
index c978ace1..703b0c90 100644
--- a/index.md
+++ b/index.md
@@ -4,12 +4,21 @@ title: Home
 nav_order: 1
 ---
 
-![Just the Docs](/assets/images/just-the-docs.png){:.img-logo}
 
-# A Jekyll theme for documentation
+# Focus on writing documentation, not building a website for it.
+{: .mt-4 .mt-md-0 :}
 
-Focus on writing good docs, not building a site for it. Just the docs allows you to create your documentation site with a Jekyll theme that is easily hosted on GitHub pages.
-{: .fs-6 .fw-300 }
+<div class="d-sm-flex my-sm-7">
+  <div class="px-8 pl-sm-0 pr-sm-6 mb-5 mb-sm-0">
+    <img src="/assets/images/just-the-docs.png" alt="" class="mt-sm-2">
+  </div>
+  <div markdown="1">
+  Just the Docs gives your documentation a home with a responsive Jekyll theme that is easily customizable and hosted on GitHub pages.
+  {: .fs-6 .fw-300 }
+
+  [Get Started](#getting-started){: .btn .btn-purple .mr-2 } [View GitHub](https://github.com/pmarsceill/just-the-docs){: .btn }
+  </div>
+</div>
 
 ---
 
@@ -32,6 +41,10 @@ theme: "just-the-docs"
 ```
 3. Run you local Jekyll server
 ```bash
+$ jekyll serve
+```
+```bash
+# .. or if you're using a Gemfile (bundler)
 $ bundle exec jekyll serve
 ```
 4. Point your web browser to [http://localhost:4000](http://localhost:4000)
@@ -40,7 +53,7 @@ $ bundle exec jekyll serve
 
 ## About the project
 
-Just the Docs is &copy; 2016 by [Patrick Marsceill](http://patrickmarsceill.com).
+Just the Docs is &copy; 2017 by [Patrick Marsceill](http://patrickmarsceill.com).
 
 ### License
 
diff --git a/search-data.json b/search-data.json
index a845151c..0c01c809 100644
--- a/search-data.json
+++ b/search-data.json
@@ -1,2 +1,15 @@
 ---
 ---
+{
+  {% for page in site.pages %}
+    {% unless page.url contains "css" %}
+    "{{ forloop.index - 1 }}": {
+      "id": "{{ forloop.index - 1 }}",
+      "title": "{{ page.title | xml_escape }}",
+      "content": "{{ page.content | strip_html | strip_newlines | escape | remove: "\"}}",
+      "url": " {{ page.url | xml_escape }}"
+    }
+    {% unless forloop.last %},{% endunless %}
+    {% endunless %}
+  {% endfor %}
+}
-- 
GitLab