added github pages
diff --git a/.bundle/config b/.bundle/config
index 00a0edb..ed97d53 100644
--- a/.bundle/config
+++ b/.bundle/config
@@ -1,4 +1 @@
 ---
-BUNDLE_FROZEN: "1"
-BUNDLE_PATH: "vendor/bundle"
-BUNDLE_DISABLE_SHARED_GEMS: "true"
diff --git a/Gemfile b/Gemfile
index 7f21fd4..9a776ce 100644
--- a/Gemfile
+++ b/Gemfile
@@ -8,14 +8,14 @@
 #
 # This will help ensure the proper Jekyll version is running.
 # Happy Jekylling!
-gem "jekyll", "3.5.2"
+# gem "jekyll", "3.5.2"
 
 # This is the default theme for new Jekyll sites. You may change this to anything you like.
 gem "minima", "~> 2.0"
 
 # If you want to use GitHub Pages, remove the "gem "jekyll"" above and
 # uncomment the line below. To upgrade, run `bundle update github-pages`.
-# gem "github-pages", group: :jekyll_plugins
+gem "github-pages", group: :jekyll_plugins
 
 # If you have any plugins, put them here!
 group :jekyll_plugins do
diff --git a/Gemfile.lock b/Gemfile.lock
index 1b57b01..dc9d06f 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,11 +1,78 @@
 GEM
   remote: https://rubygems.org/
   specs:
+    activesupport (4.2.8)
+      i18n (~> 0.7)
+      minitest (~> 5.1)
+      thread_safe (~> 0.3, >= 0.3.4)
+      tzinfo (~> 1.1)
     addressable (2.5.2)
       public_suffix (>= 2.0.2, < 4.0)
+    coffee-script (2.4.1)
+      coffee-script-source
+      execjs
+    coffee-script-source (1.11.1)
     colorator (1.1.0)
+    ethon (0.10.1)
+      ffi (>= 1.3.0)
+    execjs (2.7.0)
+    faraday (0.13.1)
+      multipart-post (>= 1.2, < 3)
     ffi (1.9.18)
     forwardable-extended (2.6.0)
+    gemoji (3.0.0)
+    github-pages (161)
+      activesupport (= 4.2.8)
+      github-pages-health-check (= 1.3.5)
+      jekyll (= 3.5.2)
+      jekyll-avatar (= 0.5.0)
+      jekyll-coffeescript (= 1.0.2)
+      jekyll-default-layout (= 0.1.4)
+      jekyll-feed (= 0.9.2)
+      jekyll-gist (= 1.4.1)
+      jekyll-github-metadata (= 2.9.3)
+      jekyll-mentions (= 1.2.0)
+      jekyll-optional-front-matter (= 0.2.0)
+      jekyll-paginate (= 1.1.0)
+      jekyll-readme-index (= 0.1.0)
+      jekyll-redirect-from (= 0.12.1)
+      jekyll-relative-links (= 0.4.1)
+      jekyll-sass-converter (= 1.5.0)
+      jekyll-seo-tag (= 2.3.0)
+      jekyll-sitemap (= 1.1.1)
+      jekyll-swiss (= 0.4.0)
+      jekyll-theme-architect (= 0.1.0)
+      jekyll-theme-cayman (= 0.1.0)
+      jekyll-theme-dinky (= 0.1.0)
+      jekyll-theme-hacker (= 0.1.0)
+      jekyll-theme-leap-day (= 0.1.0)
+      jekyll-theme-merlot (= 0.1.0)
+      jekyll-theme-midnight (= 0.1.0)
+      jekyll-theme-minimal (= 0.1.0)
+      jekyll-theme-modernist (= 0.1.0)
+      jekyll-theme-primer (= 0.5.2)
+      jekyll-theme-slate (= 0.1.0)
+      jekyll-theme-tactile (= 0.1.0)
+      jekyll-theme-time-machine (= 0.1.0)
+      jekyll-titles-from-headings (= 0.4.0)
+      jemoji (= 0.8.0)
+      kramdown (= 1.13.2)
+      liquid (= 4.0.0)
+      listen (= 3.0.6)
+      mercenary (~> 0.3)
+      minima (= 2.1.1)
+      rouge (= 1.11.1)
+      terminal-table (~> 1.4)
+    github-pages-health-check (1.3.5)
+      addressable (~> 2.3)
+      net-dns (~> 0.8)
+      octokit (~> 4.0)
+      public_suffix (~> 2.0)
+      typhoeus (~> 0.7)
+    html-pipeline (2.7.0)
+      activesupport (>= 2)
+      nokogiri (>= 1.4)
+    i18n (0.8.6)
     jekyll (3.5.2)
       addressable (~> 2.4)
       colorator (~> 1.0)
@@ -17,23 +84,108 @@
       pathutil (~> 0.9)
       rouge (~> 1.7)
       safe_yaml (~> 1.0)
+    jekyll-avatar (0.5.0)
+      jekyll (~> 3.0)
+    jekyll-coffeescript (1.0.2)
+      coffee-script (~> 2.2)
+      coffee-script-source (~> 1.11.1)
+    jekyll-default-layout (0.1.4)
+      jekyll (~> 3.0)
     jekyll-feed (0.9.2)
       jekyll (~> 3.3)
+    jekyll-gist (1.4.1)
+      octokit (~> 4.2)
+    jekyll-github-metadata (2.9.3)
+      jekyll (~> 3.1)
+      octokit (~> 4.0, != 4.4.0)
+    jekyll-mentions (1.2.0)
+      activesupport (~> 4.0)
+      html-pipeline (~> 2.3)
+      jekyll (~> 3.0)
+    jekyll-optional-front-matter (0.2.0)
+      jekyll (~> 3.0)
+    jekyll-paginate (1.1.0)
+    jekyll-readme-index (0.1.0)
+      jekyll (~> 3.0)
+    jekyll-redirect-from (0.12.1)
+      jekyll (~> 3.3)
+    jekyll-relative-links (0.4.1)
+      jekyll (~> 3.3)
     jekyll-sass-converter (1.5.0)
       sass (~> 3.4)
+    jekyll-seo-tag (2.3.0)
+      jekyll (~> 3.3)
+    jekyll-sitemap (1.1.1)
+      jekyll (~> 3.3)
+    jekyll-swiss (0.4.0)
+    jekyll-theme-architect (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-cayman (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-dinky (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-hacker (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-leap-day (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-merlot (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-midnight (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-minimal (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-modernist (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-primer (0.5.2)
+      jekyll (~> 3.5)
+      jekyll-github-metadata (~> 2.9)
+      jekyll-seo-tag (~> 2.2)
+    jekyll-theme-slate (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-tactile (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-time-machine (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-titles-from-headings (0.4.0)
+      jekyll (~> 3.3)
     jekyll-watch (1.5.0)
       listen (~> 3.0, < 3.1)
-    kramdown (1.14.0)
+    jemoji (0.8.0)
+      activesupport (~> 4.0)
+      gemoji (~> 3.0)
+      html-pipeline (~> 2.2)
+      jekyll (>= 3.0)
+    kramdown (1.13.2)
     liquid (4.0.0)
-    listen (3.0.8)
-      rb-fsevent (~> 0.9, >= 0.9.4)
-      rb-inotify (~> 0.9, >= 0.9.7)
+    listen (3.0.6)
+      rb-fsevent (>= 0.9.3)
+      rb-inotify (>= 0.9.7)
     mercenary (0.3.6)
+    mini_portile2 (2.3.0)
     minima (2.1.1)
       jekyll (~> 3.3)
+    minitest (5.10.3)
+    multipart-post (2.0.0)
+    net-dns (0.8.0)
+    nokogiri (1.8.1)
+      mini_portile2 (~> 2.3.0)
+    octokit (4.7.0)
+      sawyer (~> 0.8.0, >= 0.5.3)
     pathutil (0.14.0)
       forwardable-extended (~> 2.6)
-    public_suffix (3.0.0)
+    public_suffix (2.0.5)
     rb-fsevent (0.10.2)
     rb-inotify (0.9.10)
       ffi (>= 0.5.0, < 2)
@@ -44,12 +196,23 @@
     sass-listen (4.0.0)
       rb-fsevent (~> 0.9, >= 0.9.4)
       rb-inotify (~> 0.9, >= 0.9.7)
+    sawyer (0.8.1)
+      addressable (>= 2.3.5, < 2.6)
+      faraday (~> 0.8, < 1.0)
+    terminal-table (1.8.0)
+      unicode-display_width (~> 1.1, >= 1.1.1)
+    thread_safe (0.3.6)
+    typhoeus (0.8.0)
+      ethon (>= 0.8.0)
+    tzinfo (1.2.3)
+      thread_safe (~> 0.1)
+    unicode-display_width (1.3.0)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  jekyll (= 3.5.2)
+  github-pages
   jekyll-feed (~> 0.6)
   minima (~> 2.0)
   tzinfo-data
diff --git a/_config.yml b/_config.yml
index 7ea7f91..c9072f9 100755
--- a/_config.yml
+++ b/_config.yml
@@ -7,6 +7,7 @@
 
 twitter_username: ApacheAmaterasu
 github_username: apache/incubator-amaterasu
+repository: apache/incubator-amaterasu-site
 
 # Build settings
 markdown: kramdown
diff --git a/_site/assets/css/style.css b/_site/assets/css/style.css
new file mode 100644
index 0000000..3b89a7d
--- /dev/null
+++ b/_site/assets/css/style.css
@@ -0,0 +1,2742 @@
+/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
+/** 1. Change the default font family in all browsers (opinionated). 2. Prevent adjustments of font size after orientation changes in IE and iOS. */
+html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
+
+/** Remove the margin in all browsers (opinionated). */
+body { margin: 0; }
+
+/* HTML5 display definitions ========================================================================== */
+/** Add the correct display in IE 9-. 1. Add the correct display in Edge, IE, and Firefox. 2. Add the correct display in IE. */
+article, aside, details, figcaption, figure, footer, header, main, menu, nav, section { /* 1 */ display: block; }
+
+summary { display: list-item; }
+
+/** Add the correct display in IE 9-. */
+audio, canvas, progress, video { display: inline-block; }
+
+/** Add the correct display in iOS 4-7. */
+audio:not([controls]) { display: none; height: 0; }
+
+/** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
+progress { vertical-align: baseline; }
+
+/** Add the correct display in IE 10-. 1. Add the correct display in IE. */
+template, [hidden] { display: none; }
+
+/* Links ========================================================================== */
+/** 1. Remove the gray background on active links in IE 10. 2. Remove gaps in links underline in iOS 8+ and Safari 8+. */
+a { background-color: transparent; /* 1 */ -webkit-text-decoration-skip: objects; /* 2 */ }
+
+/** Remove the outline on focused links when they are also active or hovered in all browsers (opinionated). */
+a:active, a:hover { outline-width: 0; }
+
+/* Text-level semantics ========================================================================== */
+/** 1. Remove the bottom border in Firefox 39-. 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
+abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }
+
+/** Prevent the duplicate application of `bolder` by the next rule in Safari 6. */
+b, strong { font-weight: inherit; }
+
+/** Add the correct font weight in Chrome, Edge, and Safari. */
+b, strong { font-weight: bolder; }
+
+/** Add the correct font style in Android 4.3-. */
+dfn { font-style: italic; }
+
+/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
+h1 { font-size: 2em; margin: 0.67em 0; }
+
+/** Add the correct background and color in IE 9-. */
+mark { background-color: #ff0; color: #000; }
+
+/** Add the correct font size in all browsers. */
+small { font-size: 80%; }
+
+/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
+sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
+
+sub { bottom: -0.25em; }
+
+sup { top: -0.5em; }
+
+/* Embedded content ========================================================================== */
+/** Remove the border on images inside links in IE 10-. */
+img { border-style: none; }
+
+/** Hide the overflow in IE. */
+svg:not(:root) { overflow: hidden; }
+
+/* Grouping content ========================================================================== */
+/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
+code, kbd, pre, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }
+
+/** Add the correct margin in IE 8. */
+figure { margin: 1em 40px; }
+
+/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
+hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }
+
+/* Forms ========================================================================== */
+/** 1. Change font properties to `inherit` in all browsers (opinionated). 2. Remove the margin in Firefox and Safari. */
+button, input, select, textarea { font: inherit; /* 1 */ margin: 0; /* 2 */ }
+
+/** Restore the font weight unset by the previous rule. */
+optgroup { font-weight: bold; }
+
+/** Show the overflow in IE. 1. Show the overflow in Edge. */
+button, input { /* 1 */ overflow: visible; }
+
+/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
+button, select { /* 1 */ text-transform: none; }
+
+/** 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` controls in Android 4. 2. Correct the inability to style clickable types in iOS and Safari. */
+button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; /* 2 */ }
+
+/** Remove the inner border and padding in Firefox. */
+button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
+
+/** Restore the focus styles unset by the previous rule. */
+button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
+
+/** Change the border, margin, and padding in all browsers (opinionated). */
+fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
+
+/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
+legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }
+
+/** Remove the default vertical scrollbar in IE. */
+textarea { overflow: auto; }
+
+/** 1. Add the correct box sizing in IE 10-. 2. Remove the padding in IE 10-. */
+[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
+
+/** Correct the cursor style of increment and decrement buttons in Chrome. */
+[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
+
+/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
+[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }
+
+/** Remove the inner padding and cancel buttons in Chrome and Safari on OS X. */
+[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
+
+/** Correct the text style of placeholders in Chrome, Edge, and Safari. */
+::-webkit-input-placeholder { color: inherit; opacity: 0.54; }
+
+/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
+::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }
+
+* { box-sizing: border-box; }
+
+input, select, textarea, button { font-family: inherit; font-size: inherit; line-height: inherit; }
+
+body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 14px; line-height: 1.5; color: #24292e; background-color: #fff; }
+
+a { color: #0366d6; text-decoration: none; }
+a:hover { text-decoration: underline; }
+
+b, strong { font-weight: 600; }
+
+hr, .rule { height: 0; margin: 15px 0; overflow: hidden; background: transparent; border: 0; border-bottom: 1px solid #dfe2e5; }
+hr::before, .rule::before { display: table; content: ""; }
+hr::after, .rule::after { display: table; clear: both; content: ""; }
+
+table { border-spacing: 0; border-collapse: collapse; }
+
+td, th { padding: 0; }
+
+button { cursor: pointer; }
+
+h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0; }
+
+h1 { font-size: 32px; font-weight: 600; }
+
+h2 { font-size: 24px; font-weight: 600; }
+
+h3 { font-size: 20px; font-weight: 600; }
+
+h4 { font-size: 16px; font-weight: 600; }
+
+h5 { font-size: 14px; font-weight: 600; }
+
+h6 { font-size: 12px; font-weight: 600; }
+
+p { margin-top: 0; margin-bottom: 10px; }
+
+small { font-size: 90%; }
+
+blockquote { margin: 0; }
+
+ul, ol { padding-left: 0; margin-top: 0; margin-bottom: 0; }
+
+ol ol, ul ol { list-style-type: lower-roman; }
+
+ul ul ol, ul ol ol, ol ul ol, ol ol ol { list-style-type: lower-alpha; }
+
+dd { margin-left: 0; }
+
+tt, code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; }
+
+pre { margin-top: 0; margin-bottom: 0; font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; }
+
+.octicon { vertical-align: text-bottom; }
+
+.anim-fade-in { animation-name: fade-in; animation-duration: 1s; animation-timing-function: ease-in-out; }
+.anim-fade-in.fast { animation-duration: 300ms; }
+
+@keyframes fade-in { 0% { opacity: 0; }
+  100% { opacity: 1; } }
+/* Fade in and slide up an element */
+.anim-fade-up { opacity: 0; animation-name: fade-up; animation-duration: 0.3s; animation-fill-mode: forwards; animation-timing-function: ease-out; animation-delay: 1s; }
+
+@keyframes fade-up { 0% { opacity: 0.8; transform: translateY(100%); }
+  100% { opacity: 1; transform: translateY(0); } }
+/* Fade an element out and slide down */
+.anim-fade-down { animation-name: fade-down; animation-duration: 0.3s; animation-fill-mode: forwards; animation-timing-function: ease-in; }
+
+@keyframes fade-down { 0% { opacity: 1; transform: translateY(0); }
+  100% { opacity: 0.5; transform: translateY(100%); } }
+/* Grow an element width from 0 to 100% */
+.anim-grow-x { width: 0%; animation-name: grow-x; animation-duration: 0.3s; animation-fill-mode: forwards; animation-timing-function: ease; animation-delay: 0.5s; }
+
+@keyframes grow-x { to { width: 100%; } }
+/* Shrink an element from 100% to 0% */
+.anim-shrink-x { animation-name: shrink-x; animation-duration: 0.3s; animation-fill-mode: forwards; animation-timing-function: ease-in-out; animation-delay: 0.5s; }
+
+@keyframes shrink-x { to { width: 0%; } }
+/* Fade in an element and scale it fast */
+.anim-scale-in { animation-name: scale-in; animation-duration: 0.15s; animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5); }
+
+@keyframes scale-in { 0% { opacity: 0; transform: scale(0.5); }
+  100% { opacity: 1; transform: scale(1); } }
+/* Pulse an element's opacity */
+.anim-pulse { animation-name: pulse; animation-duration: 2s; animation-timing-function: linear; animation-iteration-count: infinite; }
+
+@keyframes pulse { 0% { opacity: 0.3; }
+  10% { opacity: 1; }
+  100% { opacity: 0.3; } }
+/* Pulse in an element */
+.anim-pulse-in { animation-name: pulse-in; animation-duration: 0.5s; }
+
+@keyframes pulse-in { 0% { transform: scale3d(1, 1, 1); }
+  50% { transform: scale3d(1.1, 1.1, 1.1); }
+  100% { transform: scale3d(1, 1, 1); } }
+/* Add a gray border */
+.border { border: 1px #e1e4e8 solid !important; }
+
+/* Add a gray border to the top */
+.border-top { border-top: 1px #e1e4e8 solid !important; }
+
+/* Add a gray border to the right */
+.border-right { border-right: 1px #e1e4e8 solid !important; }
+
+/* Add a gray border to the bottom */
+.border-bottom { border-bottom: 1px #e1e4e8 solid !important; }
+
+/* Add a gray border to the left */
+.border-left { border-left: 1px #e1e4e8 solid !important; }
+
+/* Add a gray border to the left and right */
+.border-y { border-top: 1px #e1e4e8 solid !important; border-bottom: 1px #e1e4e8 solid !important; }
+
+.border-dashed { border-style: dashed !important; }
+
+/* Use with .border to turn the border blue */
+.border-blue { border-color: #0366d6 !important; }
+
+/* Use with .border to turn the border blue-light */
+.border-blue-light { border-color: #c8e1ff !important; }
+
+/* Use with .border to turn the border green */
+.border-green { border-color: #34d058 !important; }
+
+/* Use with .border to turn the border green light */
+.border-green-light { border-color: #a2cbac !important; }
+
+/* Use with .border to turn the border red */
+.border-red { border-color: #d73a49 !important; }
+
+/* Use with .border to turn the border red-light */
+.border-red-light { border-color: #cea0a5 !important; }
+
+/* Use with .border to turn the border purple */
+.border-purple { border-color: #6f42c1 !important; }
+
+/* Use with .border to turn the border yellow */
+.border-yellow { border-color: #d9d0a5 !important; }
+
+/* Use with .border to turn the border gray-light */
+.border-gray-light { border-color: #eaecef !important; }
+
+/* Use with .border to turn the border gray-dark */
+.border-gray-dark { border-color: #d1d5da !important; }
+
+/* Use with .border to turn the border rgba black 0.15 */
+.border-black-fade { border-color: rgba(27, 31, 35, 0.15) !important; }
+
+/* Remove all borders */
+.border-0 { border: 0 !important; }
+
+/* Remove the top border */
+.border-top-0 { border-top: 0 !important; }
+
+/* Remove the right border */
+.border-right-0 { border-right: 0 !important; }
+
+/* Remove the bottom border */
+.border-bottom-0 { border-bottom: 0 !important; }
+
+/* Remove the left border */
+.border-left-0 { border-left: 0 !important; }
+
+/* Remove the border-radius */
+.rounded-0 { border-radius: 0 !important; }
+
+/* Add a border-radius to all corners */
+.rounded-1 { border-radius: 3px !important; }
+
+/* Add a 2x border-radius to all corners */
+.rounded-2 { border-radius: 6px !important; }
+
+.box-shadow { box-shadow: 0 1px 1px rgba(27, 31, 35, 0.1) !important; }
+
+.box-shadow-medium { box-shadow: 0 1px 5px rgba(27, 31, 35, 0.15) !important; }
+
+.box-shadow-large { box-shadow: 0 1px 15px rgba(27, 31, 35, 0.15) !important; }
+
+.box-shadow-extra-large { box-shadow: 0 10px 50px rgba(27, 31, 35, 0.07) !important; }
+
+.box-shadow-none { box-shadow: none !important; }
+
+/* Set the background to $bg-white */
+.bg-white { background-color: #fff !important; }
+
+/* Set the background to $bg-blue */
+.bg-blue { background-color: #0366d6 !important; }
+
+/* Set the background to $bg-blue-light */
+.bg-blue-light { background-color: #f1f8ff !important; }
+
+/* Set the background to $bg-gray-dark */
+.bg-gray-dark { background-color: #24292e !important; }
+
+/* Set the background to $bg-gray */
+.bg-gray { background-color: #f6f8fa !important; }
+
+/* Set the background to $bg-gray-light */
+.bg-gray-light { background-color: #fafbfc !important; }
+
+/* Set the background to $bg-green */
+.bg-green { background-color: #28a745 !important; }
+
+/* Set the background to $bg-green-light */
+.bg-green-light { background-color: #dcffe4 !important; }
+
+/* Set the background to $bg-red */
+.bg-red { background-color: #d73a49 !important; }
+
+/* Set the background to $bg-red-light */
+.bg-red-light { background-color: #ffdce0 !important; }
+
+/* Set the background to $bg-yellow */
+.bg-yellow { background-color: #ffd33d !important; }
+
+/* Set the background to $bg-yellow-light */
+.bg-yellow-light { background-color: #fff5b1 !important; }
+
+/* Set the background to $bg-purple */
+.bg-purple { background-color: #6f42c1 !important; }
+
+/* Set the background to $bg-purple-light */
+.bg-purple-light { background-color: #f5f0ff !important; }
+
+.bg-shade-gradient { background-image: linear-gradient(180deg, rgba(27, 31, 35, 0.065), rgba(27, 31, 35, 0)) !important; background-repeat: no-repeat !important; background-size: 100% 200px !important; }
+
+/* Set the text color to $text-blue */
+.text-blue { color: #0366d6 !important; }
+
+/* Set the text color to $text-red */
+.text-red { color: #cb2431 !important; }
+
+/* Set the text color to $text-gray-light */
+.text-gray-light { color: #6a737d !important; }
+
+/* Set the text color to $text-gray */
+.text-gray { color: #586069 !important; }
+
+/* Set the text color to $text-gray-dark */
+.text-gray-dark { color: #24292e !important; }
+
+/* Set the text color to $text-green */
+.text-green { color: #28a745 !important; }
+
+/* Set the text color to $text-orange */
+.text-orange { color: #a04100 !important; }
+
+/* Set the text color to $text-orange-light */
+.text-orange-light { color: #e36209 !important; }
+
+/* Set the text color to $text-purple */
+.text-purple { color: #6f42c1 !important; }
+
+/* Set the text color to $text-white */
+.text-white { color: #fff !important; }
+
+/* Set the text color to inherit */
+.text-inherit { color: inherit !important; }
+
+.text-pending { color: #b08800 !important; }
+
+.bg-pending { color: #dbab09 !important; }
+
+.link-gray { color: #586069 !important; }
+.link-gray:hover { color: #0366d6 !important; }
+
+.link-gray-dark { color: #24292e !important; }
+.link-gray-dark:hover { color: #0366d6 !important; }
+
+/* Set the link color to $text-blue on hover Useful when you want only part of a link to turn blue on hover */
+.link-hover-blue:hover { color: #0366d6 !important; }
+
+/* Make a link $text-gray, then $text-blue on hover and removes the underline */
+.muted-link { color: #586069 !important; }
+.muted-link:hover { color: #0366d6 !important; text-decoration: none; }
+
+.flex-row { flex-direction: row !important; }
+
+.flex-row-reverse { flex-direction: row-reverse !important; }
+
+.flex-column { flex-direction: column !important; }
+
+.flex-wrap { flex-wrap: wrap !important; }
+
+.flex-nowrap { flex-wrap: nowrap !important; }
+
+.flex-justify-start { justify-content: flex-start !important; }
+
+.flex-justify-end { justify-content: flex-end !important; }
+
+.flex-justify-center { justify-content: center !important; }
+
+.flex-justify-between { justify-content: space-between !important; }
+
+.flex-justify-around { justify-content: space-around !important; }
+
+.flex-items-start { align-items: flex-start !important; }
+
+.flex-items-end { align-items: flex-end !important; }
+
+.flex-items-center { align-items: center !important; }
+
+.flex-items-baseline { align-items: baseline !important; }
+
+.flex-items-stretch { align-items: stretch !important; }
+
+.flex-content-start { align-content: flex-start !important; }
+
+.flex-content-end { align-content: flex-end !important; }
+
+.flex-content-center { align-content: center !important; }
+
+.flex-content-between { align-content: space-between !important; }
+
+.flex-content-around { align-content: space-around !important; }
+
+.flex-content-stretch { align-content: stretch !important; }
+
+.flex-auto { flex: 1 1 auto !important; }
+
+.flex-shrink-0 { flex-shrink: 0 !important; }
+
+.flex-self-auto { align-self: auto !important; }
+
+.flex-self-start { align-self: flex-start !important; }
+
+.flex-self-end { align-self: flex-end !important; }
+
+.flex-self-center { align-self: center !important; }
+
+.flex-self-baseline { align-self: baseline !important; }
+
+.flex-self-stretch { align-self: stretch !important; }
+
+.flex-item-equal { flex-grow: 1; flex-basis: 0; }
+
+@media (min-width: 544px) { .flex-sm-row { flex-direction: row !important; }
+  .flex-sm-row-reverse { flex-direction: row-reverse !important; }
+  .flex-sm-column { flex-direction: column !important; }
+  .flex-sm-wrap { flex-wrap: wrap !important; }
+  .flex-sm-nowrap { flex-wrap: nowrap !important; }
+  .flex-sm-justify-start { justify-content: flex-start !important; }
+  .flex-sm-justify-end { justify-content: flex-end !important; }
+  .flex-sm-justify-center { justify-content: center !important; }
+  .flex-sm-justify-between { justify-content: space-between !important; }
+  .flex-sm-justify-around { justify-content: space-around !important; }
+  .flex-sm-items-start { align-items: flex-start !important; }
+  .flex-sm-items-end { align-items: flex-end !important; }
+  .flex-sm-items-center { align-items: center !important; }
+  .flex-sm-items-baseline { align-items: baseline !important; }
+  .flex-sm-items-stretch { align-items: stretch !important; }
+  .flex-sm-content-start { align-content: flex-start !important; }
+  .flex-sm-content-end { align-content: flex-end !important; }
+  .flex-sm-content-center { align-content: center !important; }
+  .flex-sm-content-between { align-content: space-between !important; }
+  .flex-sm-content-around { align-content: space-around !important; }
+  .flex-sm-content-stretch { align-content: stretch !important; }
+  .flex-sm-auto { flex: 1 1 auto !important; }
+  .flex-sm-shrink-0 { flex-shrink: 0 !important; }
+  .flex-sm-self-auto { align-self: auto !important; }
+  .flex-sm-self-start { align-self: flex-start !important; }
+  .flex-sm-self-end { align-self: flex-end !important; }
+  .flex-sm-self-center { align-self: center !important; }
+  .flex-sm-self-baseline { align-self: baseline !important; }
+  .flex-sm-self-stretch { align-self: stretch !important; }
+  .flex-sm-item-equal { flex-grow: 1; flex-basis: 0; } }
+@media (min-width: 768px) { .flex-md-row { flex-direction: row !important; }
+  .flex-md-row-reverse { flex-direction: row-reverse !important; }
+  .flex-md-column { flex-direction: column !important; }
+  .flex-md-wrap { flex-wrap: wrap !important; }
+  .flex-md-nowrap { flex-wrap: nowrap !important; }
+  .flex-md-justify-start { justify-content: flex-start !important; }
+  .flex-md-justify-end { justify-content: flex-end !important; }
+  .flex-md-justify-center { justify-content: center !important; }
+  .flex-md-justify-between { justify-content: space-between !important; }
+  .flex-md-justify-around { justify-content: space-around !important; }
+  .flex-md-items-start { align-items: flex-start !important; }
+  .flex-md-items-end { align-items: flex-end !important; }
+  .flex-md-items-center { align-items: center !important; }
+  .flex-md-items-baseline { align-items: baseline !important; }
+  .flex-md-items-stretch { align-items: stretch !important; }
+  .flex-md-content-start { align-content: flex-start !important; }
+  .flex-md-content-end { align-content: flex-end !important; }
+  .flex-md-content-center { align-content: center !important; }
+  .flex-md-content-between { align-content: space-between !important; }
+  .flex-md-content-around { align-content: space-around !important; }
+  .flex-md-content-stretch { align-content: stretch !important; }
+  .flex-md-auto { flex: 1 1 auto !important; }
+  .flex-md-shrink-0 { flex-shrink: 0 !important; }
+  .flex-md-self-auto { align-self: auto !important; }
+  .flex-md-self-start { align-self: flex-start !important; }
+  .flex-md-self-end { align-self: flex-end !important; }
+  .flex-md-self-center { align-self: center !important; }
+  .flex-md-self-baseline { align-self: baseline !important; }
+  .flex-md-self-stretch { align-self: stretch !important; }
+  .flex-md-item-equal { flex-grow: 1; flex-basis: 0; } }
+@media (min-width: 1012px) { .flex-lg-row { flex-direction: row !important; }
+  .flex-lg-row-reverse { flex-direction: row-reverse !important; }
+  .flex-lg-column { flex-direction: column !important; }
+  .flex-lg-wrap { flex-wrap: wrap !important; }
+  .flex-lg-nowrap { flex-wrap: nowrap !important; }
+  .flex-lg-justify-start { justify-content: flex-start !important; }
+  .flex-lg-justify-end { justify-content: flex-end !important; }
+  .flex-lg-justify-center { justify-content: center !important; }
+  .flex-lg-justify-between { justify-content: space-between !important; }
+  .flex-lg-justify-around { justify-content: space-around !important; }
+  .flex-lg-items-start { align-items: flex-start !important; }
+  .flex-lg-items-end { align-items: flex-end !important; }
+  .flex-lg-items-center { align-items: center !important; }
+  .flex-lg-items-baseline { align-items: baseline !important; }
+  .flex-lg-items-stretch { align-items: stretch !important; }
+  .flex-lg-content-start { align-content: flex-start !important; }
+  .flex-lg-content-end { align-content: flex-end !important; }
+  .flex-lg-content-center { align-content: center !important; }
+  .flex-lg-content-between { align-content: space-between !important; }
+  .flex-lg-content-around { align-content: space-around !important; }
+  .flex-lg-content-stretch { align-content: stretch !important; }
+  .flex-lg-auto { flex: 1 1 auto !important; }
+  .flex-lg-shrink-0 { flex-shrink: 0 !important; }
+  .flex-lg-self-auto { align-self: auto !important; }
+  .flex-lg-self-start { align-self: flex-start !important; }
+  .flex-lg-self-end { align-self: flex-end !important; }
+  .flex-lg-self-center { align-self: center !important; }
+  .flex-lg-self-baseline { align-self: baseline !important; }
+  .flex-lg-self-stretch { align-self: stretch !important; }
+  .flex-lg-item-equal { flex-grow: 1; flex-basis: 0; } }
+@media (min-width: 1280px) { .flex-xl-row { flex-direction: row !important; }
+  .flex-xl-row-reverse { flex-direction: row-reverse !important; }
+  .flex-xl-column { flex-direction: column !important; }
+  .flex-xl-wrap { flex-wrap: wrap !important; }
+  .flex-xl-nowrap { flex-wrap: nowrap !important; }
+  .flex-xl-justify-start { justify-content: flex-start !important; }
+  .flex-xl-justify-end { justify-content: flex-end !important; }
+  .flex-xl-justify-center { justify-content: center !important; }
+  .flex-xl-justify-between { justify-content: space-between !important; }
+  .flex-xl-justify-around { justify-content: space-around !important; }
+  .flex-xl-items-start { align-items: flex-start !important; }
+  .flex-xl-items-end { align-items: flex-end !important; }
+  .flex-xl-items-center { align-items: center !important; }
+  .flex-xl-items-baseline { align-items: baseline !important; }
+  .flex-xl-items-stretch { align-items: stretch !important; }
+  .flex-xl-content-start { align-content: flex-start !important; }
+  .flex-xl-content-end { align-content: flex-end !important; }
+  .flex-xl-content-center { align-content: center !important; }
+  .flex-xl-content-between { align-content: space-between !important; }
+  .flex-xl-content-around { align-content: space-around !important; }
+  .flex-xl-content-stretch { align-content: stretch !important; }
+  .flex-xl-auto { flex: 1 1 auto !important; }
+  .flex-xl-shrink-0 { flex-shrink: 0 !important; }
+  .flex-xl-self-auto { align-self: auto !important; }
+  .flex-xl-self-start { align-self: flex-start !important; }
+  .flex-xl-self-end { align-self: flex-end !important; }
+  .flex-xl-self-center { align-self: center !important; }
+  .flex-xl-self-baseline { align-self: baseline !important; }
+  .flex-xl-self-stretch { align-self: stretch !important; }
+  .flex-xl-item-equal { flex-grow: 1; flex-basis: 0; } }
+/* Set position to static */
+.position-static { position: static !important; }
+
+/* Set position to relative */
+.position-relative { position: relative !important; }
+
+/* Set position to absolute */
+.position-absolute { position: absolute !important; }
+
+/* Set position to fixed */
+.position-fixed { position: fixed !important; }
+
+/* Set top 0 */
+.top-0 { top: 0 !important; }
+
+/* Set right 0 */
+.right-0 { right: 0 !important; }
+
+/* Set bottom 0 */
+.bottom-0 { bottom: 0 !important; }
+
+/* Set left 0 */
+.left-0 { left: 0 !important; }
+
+/* Vertical align middle */
+.v-align-middle { vertical-align: middle !important; }
+
+/* Vertical align top */
+.v-align-top { vertical-align: top !important; }
+
+/* Vertical align bottom */
+.v-align-bottom { vertical-align: bottom !important; }
+
+/* Vertical align to the top of the text */
+.v-align-text-top { vertical-align: text-top !important; }
+
+/* Vertical align to the bottom of the text */
+.v-align-text-bottom { vertical-align: text-bottom !important; }
+
+/* Set the overflow hidden */
+.overflow-hidden { overflow: hidden !important; }
+
+/* Set the overflow scroll */
+.overflow-scroll { overflow: scroll !important; }
+
+/* Set the overflow auto */
+.overflow-auto { overflow: auto !important; }
+
+/* Clear floats around the element */
+.clearfix::before { display: table; content: ""; }
+.clearfix::after { display: table; clear: both; content: ""; }
+
+/* Float to the right */
+.float-right { float: right !important; }
+
+/* Float to the left */
+.float-left { float: left !important; }
+
+/* Don't float left or right */
+.float-none { float: none !important; }
+
+@media (min-width: 544px) { /* Float to the left at the sm breakpoint */
+  .float-sm-left { float: left !important; }
+  /* Float to the right at the sm breakpoint */
+  .float-sm-right { float: right !important; }
+  /* No float at the sm breakpoint */
+  .float-sm-none { float: none !important; } }
+@media (min-width: 768px) { /* Float to the left at the md breakpoint */
+  .float-md-left { float: left !important; }
+  /* Float to the right at the md breakpoint */
+  .float-md-right { float: right !important; }
+  /* No float at the md breakpoint */
+  .float-md-none { float: none !important; } }
+@media (min-width: 1012px) { /* Float to the left at the lg breakpoint */
+  .float-lg-left { float: left !important; }
+  /* Float to the right at the lg breakpoint */
+  .float-lg-right { float: right !important; }
+  /* No float at the lg breakpoint */
+  .float-lg-none { float: none !important; } }
+@media (min-width: 1280px) { /* Float to the left at the xl breakpoint */
+  .float-xl-left { float: left !important; }
+  /* Float to the right at the xl breakpoint */
+  .float-xl-right { float: right !important; }
+  /* No float at the xl breakpoint */
+  .float-xl-none { float: none !important; } }
+/* Max width 100% */
+.width-fit { max-width: 100% !important; }
+
+/* Set the width to 100% */
+.width-full { width: 100% !important; }
+
+/* Set the height to 100% */
+.height-full { height: 100% !important; }
+
+/* Remove min-width from element */
+.min-width-0 { min-width: 0 !important; }
+
+.direction-rtl { direction: rtl !important; }
+
+.direction-ltr { direction: ltr !important; }
+
+@media (min-width: 544px) { /* Set the direction to ltr at the sm breakpoint */
+  .direction-sm-rtl { direction: rtl !important; }
+  /* Set the direction to ltr at the sm breakpoint */
+  .direction-sm-ltr { direction: ltr !important; } }
+@media (min-width: 768px) { /* Set the direction to ltr at the md breakpoint */
+  .direction-md-rtl { direction: rtl !important; }
+  /* Set the direction to ltr at the md breakpoint */
+  .direction-md-ltr { direction: ltr !important; } }
+@media (min-width: 1012px) { /* Set the direction to ltr at the lg breakpoint */
+  .direction-lg-rtl { direction: rtl !important; }
+  /* Set the direction to ltr at the lg breakpoint */
+  .direction-lg-ltr { direction: ltr !important; } }
+@media (min-width: 1280px) { /* Set the direction to ltr at the xl breakpoint */
+  .direction-xl-rtl { direction: rtl !important; }
+  /* Set the direction to ltr at the xl breakpoint */
+  .direction-xl-ltr { direction: ltr !important; } }
+/* Set a 0 margin to all sides */
+.m-0 { margin: 0 !important; }
+
+/* Set a 0 margin on the top */
+.mt-0 { margin-top: 0 !important; }
+
+/* Set a 0 margin on the right */
+.mr-0 { margin-right: 0 !important; }
+
+/* Set a 0 margin on the bottom */
+.mb-0 { margin-bottom: 0 !important; }
+
+/* Set a 0 margin on the left */
+.ml-0 { margin-left: 0 !important; }
+
+/* Set a negative 0 margin on top */
+.mt-n0 { margin-top: -0 !important; }
+
+/* Set a negative 0 margin on the right */
+.mr-n0 { margin-right: -0 !important; }
+
+/* Set a negative 0 margin on the bottom */
+.mb-n0 { margin-bottom: -0 !important; }
+
+/* Set a negative 0 margin on the left */
+.ml-n0 { margin-left: -0 !important; }
+
+/* Set a 0 margin on the left & right */
+.mx-0 { margin-right: 0 !important; margin-left: 0 !important; }
+
+/* Set a 0 margin on the top & bottom */
+.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
+
+/* Set a 4px margin to all sides */
+.m-1 { margin: 4px !important; }
+
+/* Set a 4px margin on the top */
+.mt-1 { margin-top: 4px !important; }
+
+/* Set a 4px margin on the right */
+.mr-1 { margin-right: 4px !important; }
+
+/* Set a 4px margin on the bottom */
+.mb-1 { margin-bottom: 4px !important; }
+
+/* Set a 4px margin on the left */
+.ml-1 { margin-left: 4px !important; }
+
+/* Set a negative 4px margin on top */
+.mt-n1 { margin-top: -4px !important; }
+
+/* Set a negative 4px margin on the right */
+.mr-n1 { margin-right: -4px !important; }
+
+/* Set a negative 4px margin on the bottom */
+.mb-n1 { margin-bottom: -4px !important; }
+
+/* Set a negative 4px margin on the left */
+.ml-n1 { margin-left: -4px !important; }
+
+/* Set a 4px margin on the left & right */
+.mx-1 { margin-right: 4px !important; margin-left: 4px !important; }
+
+/* Set a 4px margin on the top & bottom */
+.my-1 { margin-top: 4px !important; margin-bottom: 4px !important; }
+
+/* Set a 8px margin to all sides */
+.m-2 { margin: 8px !important; }
+
+/* Set a 8px margin on the top */
+.mt-2 { margin-top: 8px !important; }
+
+/* Set a 8px margin on the right */
+.mr-2 { margin-right: 8px !important; }
+
+/* Set a 8px margin on the bottom */
+.mb-2 { margin-bottom: 8px !important; }
+
+/* Set a 8px margin on the left */
+.ml-2 { margin-left: 8px !important; }
+
+/* Set a negative 8px margin on top */
+.mt-n2 { margin-top: -8px !important; }
+
+/* Set a negative 8px margin on the right */
+.mr-n2 { margin-right: -8px !important; }
+
+/* Set a negative 8px margin on the bottom */
+.mb-n2 { margin-bottom: -8px !important; }
+
+/* Set a negative 8px margin on the left */
+.ml-n2 { margin-left: -8px !important; }
+
+/* Set a 8px margin on the left & right */
+.mx-2 { margin-right: 8px !important; margin-left: 8px !important; }
+
+/* Set a 8px margin on the top & bottom */
+.my-2 { margin-top: 8px !important; margin-bottom: 8px !important; }
+
+/* Set a 16px margin to all sides */
+.m-3 { margin: 16px !important; }
+
+/* Set a 16px margin on the top */
+.mt-3 { margin-top: 16px !important; }
+
+/* Set a 16px margin on the right */
+.mr-3 { margin-right: 16px !important; }
+
+/* Set a 16px margin on the bottom */
+.mb-3 { margin-bottom: 16px !important; }
+
+/* Set a 16px margin on the left */
+.ml-3 { margin-left: 16px !important; }
+
+/* Set a negative 16px margin on top */
+.mt-n3 { margin-top: -16px !important; }
+
+/* Set a negative 16px margin on the right */
+.mr-n3 { margin-right: -16px !important; }
+
+/* Set a negative 16px margin on the bottom */
+.mb-n3 { margin-bottom: -16px !important; }
+
+/* Set a negative 16px margin on the left */
+.ml-n3 { margin-left: -16px !important; }
+
+/* Set a 16px margin on the left & right */
+.mx-3 { margin-right: 16px !important; margin-left: 16px !important; }
+
+/* Set a 16px margin on the top & bottom */
+.my-3 { margin-top: 16px !important; margin-bottom: 16px !important; }
+
+/* Set a 24px margin to all sides */
+.m-4 { margin: 24px !important; }
+
+/* Set a 24px margin on the top */
+.mt-4 { margin-top: 24px !important; }
+
+/* Set a 24px margin on the right */
+.mr-4 { margin-right: 24px !important; }
+
+/* Set a 24px margin on the bottom */
+.mb-4 { margin-bottom: 24px !important; }
+
+/* Set a 24px margin on the left */
+.ml-4 { margin-left: 24px !important; }
+
+/* Set a negative 24px margin on top */
+.mt-n4 { margin-top: -24px !important; }
+
+/* Set a negative 24px margin on the right */
+.mr-n4 { margin-right: -24px !important; }
+
+/* Set a negative 24px margin on the bottom */
+.mb-n4 { margin-bottom: -24px !important; }
+
+/* Set a negative 24px margin on the left */
+.ml-n4 { margin-left: -24px !important; }
+
+/* Set a 24px margin on the left & right */
+.mx-4 { margin-right: 24px !important; margin-left: 24px !important; }
+
+/* Set a 24px margin on the top & bottom */
+.my-4 { margin-top: 24px !important; margin-bottom: 24px !important; }
+
+/* Set a 32px margin to all sides */
+.m-5 { margin: 32px !important; }
+
+/* Set a 32px margin on the top */
+.mt-5 { margin-top: 32px !important; }
+
+/* Set a 32px margin on the right */
+.mr-5 { margin-right: 32px !important; }
+
+/* Set a 32px margin on the bottom */
+.mb-5 { margin-bottom: 32px !important; }
+
+/* Set a 32px margin on the left */
+.ml-5 { margin-left: 32px !important; }
+
+/* Set a negative 32px margin on top */
+.mt-n5 { margin-top: -32px !important; }
+
+/* Set a negative 32px margin on the right */
+.mr-n5 { margin-right: -32px !important; }
+
+/* Set a negative 32px margin on the bottom */
+.mb-n5 { margin-bottom: -32px !important; }
+
+/* Set a negative 32px margin on the left */
+.ml-n5 { margin-left: -32px !important; }
+
+/* Set a 32px margin on the left & right */
+.mx-5 { margin-right: 32px !important; margin-left: 32px !important; }
+
+/* Set a 32px margin on the top & bottom */
+.my-5 { margin-top: 32px !important; margin-bottom: 32px !important; }
+
+/* Set a 40px margin to all sides */
+.m-6 { margin: 40px !important; }
+
+/* Set a 40px margin on the top */
+.mt-6 { margin-top: 40px !important; }
+
+/* Set a 40px margin on the right */
+.mr-6 { margin-right: 40px !important; }
+
+/* Set a 40px margin on the bottom */
+.mb-6 { margin-bottom: 40px !important; }
+
+/* Set a 40px margin on the left */
+.ml-6 { margin-left: 40px !important; }
+
+/* Set a negative 40px margin on top */
+.mt-n6 { margin-top: -40px !important; }
+
+/* Set a negative 40px margin on the right */
+.mr-n6 { margin-right: -40px !important; }
+
+/* Set a negative 40px margin on the bottom */
+.mb-n6 { margin-bottom: -40px !important; }
+
+/* Set a negative 40px margin on the left */
+.ml-n6 { margin-left: -40px !important; }
+
+/* Set a 40px margin on the left & right */
+.mx-6 { margin-right: 40px !important; margin-left: 40px !important; }
+
+/* Set a 40px margin on the top & bottom */
+.my-6 { margin-top: 40px !important; margin-bottom: 40px !important; }
+
+/* Set an auto margin on left & right */
+.mx-auto { margin-right: auto !important; margin-left: auto !important; }
+
+@media (min-width: 544px) { /* Set a 0 margin to all sides at the breakpoint sm */
+  .m-sm-0 { margin: 0 !important; }
+  /* Set a 0 margin on the top at the breakpoint sm */
+  .mt-sm-0 { margin-top: 0 !important; }
+  /* Set a 0 margin on the right at the breakpoint sm */
+  .mr-sm-0 { margin-right: 0 !important; }
+  /* Set a 0 margin on the bottom at the breakpoint sm */
+  .mb-sm-0 { margin-bottom: 0 !important; }
+  /* Set a 0 margin on the left at the breakpoint sm */
+  .ml-sm-0 { margin-left: 0 !important; }
+  /* Set a negative 0 margin on top at the breakpoint sm */
+  .mt-sm-n0 { margin-top: -0 !important; }
+  /* Set a negative 0 margin on the right at the breakpoint sm */
+  .mr-sm-n0 { margin-right: -0 !important; }
+  /* Set a negative 0 margin on the bottom at the breakpoint sm */
+  .mb-sm-n0 { margin-bottom: -0 !important; }
+  /* Set a negative 0 margin on the left at the breakpoint sm */
+  .ml-sm-n0 { margin-left: -0 !important; }
+  /* Set a 0 margin on the left & right at the breakpoint sm */
+  .mx-sm-0 { margin-right: 0 !important; margin-left: 0 !important; }
+  /* Set a 0 margin on the top & bottom at the breakpoint sm */
+  .my-sm-0 { margin-top: 0 !important; margin-bottom: 0 !important; } }
+@media (min-width: 544px) { /* Set a 4px margin to all sides at the breakpoint sm */
+  .m-sm-1 { margin: 4px !important; }
+  /* Set a 4px margin on the top at the breakpoint sm */
+  .mt-sm-1 { margin-top: 4px !important; }
+  /* Set a 4px margin on the right at the breakpoint sm */
+  .mr-sm-1 { margin-right: 4px !important; }
+  /* Set a 4px margin on the bottom at the breakpoint sm */
+  .mb-sm-1 { margin-bottom: 4px !important; }
+  /* Set a 4px margin on the left at the breakpoint sm */
+  .ml-sm-1 { margin-left: 4px !important; }
+  /* Set a negative 4px margin on top at the breakpoint sm */
+  .mt-sm-n1 { margin-top: -4px !important; }
+  /* Set a negative 4px margin on the right at the breakpoint sm */
+  .mr-sm-n1 { margin-right: -4px !important; }
+  /* Set a negative 4px margin on the bottom at the breakpoint sm */
+  .mb-sm-n1 { margin-bottom: -4px !important; }
+  /* Set a negative 4px margin on the left at the breakpoint sm */
+  .ml-sm-n1 { margin-left: -4px !important; }
+  /* Set a 4px margin on the left & right at the breakpoint sm */
+  .mx-sm-1 { margin-right: 4px !important; margin-left: 4px !important; }
+  /* Set a 4px margin on the top & bottom at the breakpoint sm */
+  .my-sm-1 { margin-top: 4px !important; margin-bottom: 4px !important; } }
+@media (min-width: 544px) { /* Set a 8px margin to all sides at the breakpoint sm */
+  .m-sm-2 { margin: 8px !important; }
+  /* Set a 8px margin on the top at the breakpoint sm */
+  .mt-sm-2 { margin-top: 8px !important; }
+  /* Set a 8px margin on the right at the breakpoint sm */
+  .mr-sm-2 { margin-right: 8px !important; }
+  /* Set a 8px margin on the bottom at the breakpoint sm */
+  .mb-sm-2 { margin-bottom: 8px !important; }
+  /* Set a 8px margin on the left at the breakpoint sm */
+  .ml-sm-2 { margin-left: 8px !important; }
+  /* Set a negative 8px margin on top at the breakpoint sm */
+  .mt-sm-n2 { margin-top: -8px !important; }
+  /* Set a negative 8px margin on the right at the breakpoint sm */
+  .mr-sm-n2 { margin-right: -8px !important; }
+  /* Set a negative 8px margin on the bottom at the breakpoint sm */
+  .mb-sm-n2 { margin-bottom: -8px !important; }
+  /* Set a negative 8px margin on the left at the breakpoint sm */
+  .ml-sm-n2 { margin-left: -8px !important; }
+  /* Set a 8px margin on the left & right at the breakpoint sm */
+  .mx-sm-2 { margin-right: 8px !important; margin-left: 8px !important; }
+  /* Set a 8px margin on the top & bottom at the breakpoint sm */
+  .my-sm-2 { margin-top: 8px !important; margin-bottom: 8px !important; } }
+@media (min-width: 544px) { /* Set a 16px margin to all sides at the breakpoint sm */
+  .m-sm-3 { margin: 16px !important; }
+  /* Set a 16px margin on the top at the breakpoint sm */
+  .mt-sm-3 { margin-top: 16px !important; }
+  /* Set a 16px margin on the right at the breakpoint sm */
+  .mr-sm-3 { margin-right: 16px !important; }
+  /* Set a 16px margin on the bottom at the breakpoint sm */
+  .mb-sm-3 { margin-bottom: 16px !important; }
+  /* Set a 16px margin on the left at the breakpoint sm */
+  .ml-sm-3 { margin-left: 16px !important; }
+  /* Set a negative 16px margin on top at the breakpoint sm */
+  .mt-sm-n3 { margin-top: -16px !important; }
+  /* Set a negative 16px margin on the right at the breakpoint sm */
+  .mr-sm-n3 { margin-right: -16px !important; }
+  /* Set a negative 16px margin on the bottom at the breakpoint sm */
+  .mb-sm-n3 { margin-bottom: -16px !important; }
+  /* Set a negative 16px margin on the left at the breakpoint sm */
+  .ml-sm-n3 { margin-left: -16px !important; }
+  /* Set a 16px margin on the left & right at the breakpoint sm */
+  .mx-sm-3 { margin-right: 16px !important; margin-left: 16px !important; }
+  /* Set a 16px margin on the top & bottom at the breakpoint sm */
+  .my-sm-3 { margin-top: 16px !important; margin-bottom: 16px !important; } }
+@media (min-width: 544px) { /* Set a 24px margin to all sides at the breakpoint sm */
+  .m-sm-4 { margin: 24px !important; }
+  /* Set a 24px margin on the top at the breakpoint sm */
+  .mt-sm-4 { margin-top: 24px !important; }
+  /* Set a 24px margin on the right at the breakpoint sm */
+  .mr-sm-4 { margin-right: 24px !important; }
+  /* Set a 24px margin on the bottom at the breakpoint sm */
+  .mb-sm-4 { margin-bottom: 24px !important; }
+  /* Set a 24px margin on the left at the breakpoint sm */
+  .ml-sm-4 { margin-left: 24px !important; }
+  /* Set a negative 24px margin on top at the breakpoint sm */
+  .mt-sm-n4 { margin-top: -24px !important; }
+  /* Set a negative 24px margin on the right at the breakpoint sm */
+  .mr-sm-n4 { margin-right: -24px !important; }
+  /* Set a negative 24px margin on the bottom at the breakpoint sm */
+  .mb-sm-n4 { margin-bottom: -24px !important; }
+  /* Set a negative 24px margin on the left at the breakpoint sm */
+  .ml-sm-n4 { margin-left: -24px !important; }
+  /* Set a 24px margin on the left & right at the breakpoint sm */
+  .mx-sm-4 { margin-right: 24px !important; margin-left: 24px !important; }
+  /* Set a 24px margin on the top & bottom at the breakpoint sm */
+  .my-sm-4 { margin-top: 24px !important; margin-bottom: 24px !important; } }
+@media (min-width: 544px) { /* Set a 32px margin to all sides at the breakpoint sm */
+  .m-sm-5 { margin: 32px !important; }
+  /* Set a 32px margin on the top at the breakpoint sm */
+  .mt-sm-5 { margin-top: 32px !important; }
+  /* Set a 32px margin on the right at the breakpoint sm */
+  .mr-sm-5 { margin-right: 32px !important; }
+  /* Set a 32px margin on the bottom at the breakpoint sm */
+  .mb-sm-5 { margin-bottom: 32px !important; }
+  /* Set a 32px margin on the left at the breakpoint sm */
+  .ml-sm-5 { margin-left: 32px !important; }
+  /* Set a negative 32px margin on top at the breakpoint sm */
+  .mt-sm-n5 { margin-top: -32px !important; }
+  /* Set a negative 32px margin on the right at the breakpoint sm */
+  .mr-sm-n5 { margin-right: -32px !important; }
+  /* Set a negative 32px margin on the bottom at the breakpoint sm */
+  .mb-sm-n5 { margin-bottom: -32px !important; }
+  /* Set a negative 32px margin on the left at the breakpoint sm */
+  .ml-sm-n5 { margin-left: -32px !important; }
+  /* Set a 32px margin on the left & right at the breakpoint sm */
+  .mx-sm-5 { margin-right: 32px !important; margin-left: 32px !important; }
+  /* Set a 32px margin on the top & bottom at the breakpoint sm */
+  .my-sm-5 { margin-top: 32px !important; margin-bottom: 32px !important; } }
+@media (min-width: 544px) { /* Set a 40px margin to all sides at the breakpoint sm */
+  .m-sm-6 { margin: 40px !important; }
+  /* Set a 40px margin on the top at the breakpoint sm */
+  .mt-sm-6 { margin-top: 40px !important; }
+  /* Set a 40px margin on the right at the breakpoint sm */
+  .mr-sm-6 { margin-right: 40px !important; }
+  /* Set a 40px margin on the bottom at the breakpoint sm */
+  .mb-sm-6 { margin-bottom: 40px !important; }
+  /* Set a 40px margin on the left at the breakpoint sm */
+  .ml-sm-6 { margin-left: 40px !important; }
+  /* Set a negative 40px margin on top at the breakpoint sm */
+  .mt-sm-n6 { margin-top: -40px !important; }
+  /* Set a negative 40px margin on the right at the breakpoint sm */
+  .mr-sm-n6 { margin-right: -40px !important; }
+  /* Set a negative 40px margin on the bottom at the breakpoint sm */
+  .mb-sm-n6 { margin-bottom: -40px !important; }
+  /* Set a negative 40px margin on the left at the breakpoint sm */
+  .ml-sm-n6 { margin-left: -40px !important; }
+  /* Set a 40px margin on the left & right at the breakpoint sm */
+  .mx-sm-6 { margin-right: 40px !important; margin-left: 40px !important; }
+  /* Set a 40px margin on the top & bottom at the breakpoint sm */
+  .my-sm-6 { margin-top: 40px !important; margin-bottom: 40px !important; } }
+@media (min-width: 768px) { /* Set a 0 margin to all sides at the breakpoint md */
+  .m-md-0 { margin: 0 !important; }
+  /* Set a 0 margin on the top at the breakpoint md */
+  .mt-md-0 { margin-top: 0 !important; }
+  /* Set a 0 margin on the right at the breakpoint md */
+  .mr-md-0 { margin-right: 0 !important; }
+  /* Set a 0 margin on the bottom at the breakpoint md */
+  .mb-md-0 { margin-bottom: 0 !important; }
+  /* Set a 0 margin on the left at the breakpoint md */
+  .ml-md-0 { margin-left: 0 !important; }
+  /* Set a negative 0 margin on top at the breakpoint md */
+  .mt-md-n0 { margin-top: -0 !important; }
+  /* Set a negative 0 margin on the right at the breakpoint md */
+  .mr-md-n0 { margin-right: -0 !important; }
+  /* Set a negative 0 margin on the bottom at the breakpoint md */
+  .mb-md-n0 { margin-bottom: -0 !important; }
+  /* Set a negative 0 margin on the left at the breakpoint md */
+  .ml-md-n0 { margin-left: -0 !important; }
+  /* Set a 0 margin on the left & right at the breakpoint md */
+  .mx-md-0 { margin-right: 0 !important; margin-left: 0 !important; }
+  /* Set a 0 margin on the top & bottom at the breakpoint md */
+  .my-md-0 { margin-top: 0 !important; margin-bottom: 0 !important; } }
+@media (min-width: 768px) { /* Set a 4px margin to all sides at the breakpoint md */
+  .m-md-1 { margin: 4px !important; }
+  /* Set a 4px margin on the top at the breakpoint md */
+  .mt-md-1 { margin-top: 4px !important; }
+  /* Set a 4px margin on the right at the breakpoint md */
+  .mr-md-1 { margin-right: 4px !important; }
+  /* Set a 4px margin on the bottom at the breakpoint md */
+  .mb-md-1 { margin-bottom: 4px !important; }
+  /* Set a 4px margin on the left at the breakpoint md */
+  .ml-md-1 { margin-left: 4px !important; }
+  /* Set a negative 4px margin on top at the breakpoint md */
+  .mt-md-n1 { margin-top: -4px !important; }
+  /* Set a negative 4px margin on the right at the breakpoint md */
+  .mr-md-n1 { margin-right: -4px !important; }
+  /* Set a negative 4px margin on the bottom at the breakpoint md */
+  .mb-md-n1 { margin-bottom: -4px !important; }
+  /* Set a negative 4px margin on the left at the breakpoint md */
+  .ml-md-n1 { margin-left: -4px !important; }
+  /* Set a 4px margin on the left & right at the breakpoint md */
+  .mx-md-1 { margin-right: 4px !important; margin-left: 4px !important; }
+  /* Set a 4px margin on the top & bottom at the breakpoint md */
+  .my-md-1 { margin-top: 4px !important; margin-bottom: 4px !important; } }
+@media (min-width: 768px) { /* Set a 8px margin to all sides at the breakpoint md */
+  .m-md-2 { margin: 8px !important; }
+  /* Set a 8px margin on the top at the breakpoint md */
+  .mt-md-2 { margin-top: 8px !important; }
+  /* Set a 8px margin on the right at the breakpoint md */
+  .mr-md-2 { margin-right: 8px !important; }
+  /* Set a 8px margin on the bottom at the breakpoint md */
+  .mb-md-2 { margin-bottom: 8px !important; }
+  /* Set a 8px margin on the left at the breakpoint md */
+  .ml-md-2 { margin-left: 8px !important; }
+  /* Set a negative 8px margin on top at the breakpoint md */
+  .mt-md-n2 { margin-top: -8px !important; }
+  /* Set a negative 8px margin on the right at the breakpoint md */
+  .mr-md-n2 { margin-right: -8px !important; }
+  /* Set a negative 8px margin on the bottom at the breakpoint md */
+  .mb-md-n2 { margin-bottom: -8px !important; }
+  /* Set a negative 8px margin on the left at the breakpoint md */
+  .ml-md-n2 { margin-left: -8px !important; }
+  /* Set a 8px margin on the left & right at the breakpoint md */
+  .mx-md-2 { margin-right: 8px !important; margin-left: 8px !important; }
+  /* Set a 8px margin on the top & bottom at the breakpoint md */
+  .my-md-2 { margin-top: 8px !important; margin-bottom: 8px !important; } }
+@media (min-width: 768px) { /* Set a 16px margin to all sides at the breakpoint md */
+  .m-md-3 { margin: 16px !important; }
+  /* Set a 16px margin on the top at the breakpoint md */
+  .mt-md-3 { margin-top: 16px !important; }
+  /* Set a 16px margin on the right at the breakpoint md */
+  .mr-md-3 { margin-right: 16px !important; }
+  /* Set a 16px margin on the bottom at the breakpoint md */
+  .mb-md-3 { margin-bottom: 16px !important; }
+  /* Set a 16px margin on the left at the breakpoint md */
+  .ml-md-3 { margin-left: 16px !important; }
+  /* Set a negative 16px margin on top at the breakpoint md */
+  .mt-md-n3 { margin-top: -16px !important; }
+  /* Set a negative 16px margin on the right at the breakpoint md */
+  .mr-md-n3 { margin-right: -16px !important; }
+  /* Set a negative 16px margin on the bottom at the breakpoint md */
+  .mb-md-n3 { margin-bottom: -16px !important; }
+  /* Set a negative 16px margin on the left at the breakpoint md */
+  .ml-md-n3 { margin-left: -16px !important; }
+  /* Set a 16px margin on the left & right at the breakpoint md */
+  .mx-md-3 { margin-right: 16px !important; margin-left: 16px !important; }
+  /* Set a 16px margin on the top & bottom at the breakpoint md */
+  .my-md-3 { margin-top: 16px !important; margin-bottom: 16px !important; } }
+@media (min-width: 768px) { /* Set a 24px margin to all sides at the breakpoint md */
+  .m-md-4 { margin: 24px !important; }
+  /* Set a 24px margin on the top at the breakpoint md */
+  .mt-md-4 { margin-top: 24px !important; }
+  /* Set a 24px margin on the right at the breakpoint md */
+  .mr-md-4 { margin-right: 24px !important; }
+  /* Set a 24px margin on the bottom at the breakpoint md */
+  .mb-md-4 { margin-bottom: 24px !important; }
+  /* Set a 24px margin on the left at the breakpoint md */
+  .ml-md-4 { margin-left: 24px !important; }
+  /* Set a negative 24px margin on top at the breakpoint md */
+  .mt-md-n4 { margin-top: -24px !important; }
+  /* Set a negative 24px margin on the right at the breakpoint md */
+  .mr-md-n4 { margin-right: -24px !important; }
+  /* Set a negative 24px margin on the bottom at the breakpoint md */
+  .mb-md-n4 { margin-bottom: -24px !important; }
+  /* Set a negative 24px margin on the left at the breakpoint md */
+  .ml-md-n4 { margin-left: -24px !important; }
+  /* Set a 24px margin on the left & right at the breakpoint md */
+  .mx-md-4 { margin-right: 24px !important; margin-left: 24px !important; }
+  /* Set a 24px margin on the top & bottom at the breakpoint md */
+  .my-md-4 { margin-top: 24px !important; margin-bottom: 24px !important; } }
+@media (min-width: 768px) { /* Set a 32px margin to all sides at the breakpoint md */
+  .m-md-5 { margin: 32px !important; }
+  /* Set a 32px margin on the top at the breakpoint md */
+  .mt-md-5 { margin-top: 32px !important; }
+  /* Set a 32px margin on the right at the breakpoint md */
+  .mr-md-5 { margin-right: 32px !important; }
+  /* Set a 32px margin on the bottom at the breakpoint md */
+  .mb-md-5 { margin-bottom: 32px !important; }
+  /* Set a 32px margin on the left at the breakpoint md */
+  .ml-md-5 { margin-left: 32px !important; }
+  /* Set a negative 32px margin on top at the breakpoint md */
+  .mt-md-n5 { margin-top: -32px !important; }
+  /* Set a negative 32px margin on the right at the breakpoint md */
+  .mr-md-n5 { margin-right: -32px !important; }
+  /* Set a negative 32px margin on the bottom at the breakpoint md */
+  .mb-md-n5 { margin-bottom: -32px !important; }
+  /* Set a negative 32px margin on the left at the breakpoint md */
+  .ml-md-n5 { margin-left: -32px !important; }
+  /* Set a 32px margin on the left & right at the breakpoint md */
+  .mx-md-5 { margin-right: 32px !important; margin-left: 32px !important; }
+  /* Set a 32px margin on the top & bottom at the breakpoint md */
+  .my-md-5 { margin-top: 32px !important; margin-bottom: 32px !important; } }
+@media (min-width: 768px) { /* Set a 40px margin to all sides at the breakpoint md */
+  .m-md-6 { margin: 40px !important; }
+  /* Set a 40px margin on the top at the breakpoint md */
+  .mt-md-6 { margin-top: 40px !important; }
+  /* Set a 40px margin on the right at the breakpoint md */
+  .mr-md-6 { margin-right: 40px !important; }
+  /* Set a 40px margin on the bottom at the breakpoint md */
+  .mb-md-6 { margin-bottom: 40px !important; }
+  /* Set a 40px margin on the left at the breakpoint md */
+  .ml-md-6 { margin-left: 40px !important; }
+  /* Set a negative 40px margin on top at the breakpoint md */
+  .mt-md-n6 { margin-top: -40px !important; }
+  /* Set a negative 40px margin on the right at the breakpoint md */
+  .mr-md-n6 { margin-right: -40px !important; }
+  /* Set a negative 40px margin on the bottom at the breakpoint md */
+  .mb-md-n6 { margin-bottom: -40px !important; }
+  /* Set a negative 40px margin on the left at the breakpoint md */
+  .ml-md-n6 { margin-left: -40px !important; }
+  /* Set a 40px margin on the left & right at the breakpoint md */
+  .mx-md-6 { margin-right: 40px !important; margin-left: 40px !important; }
+  /* Set a 40px margin on the top & bottom at the breakpoint md */
+  .my-md-6 { margin-top: 40px !important; margin-bottom: 40px !important; } }
+@media (min-width: 1012px) { /* Set a 0 margin to all sides at the breakpoint lg */
+  .m-lg-0 { margin: 0 !important; }
+  /* Set a 0 margin on the top at the breakpoint lg */
+  .mt-lg-0 { margin-top: 0 !important; }
+  /* Set a 0 margin on the right at the breakpoint lg */
+  .mr-lg-0 { margin-right: 0 !important; }
+  /* Set a 0 margin on the bottom at the breakpoint lg */
+  .mb-lg-0 { margin-bottom: 0 !important; }
+  /* Set a 0 margin on the left at the breakpoint lg */
+  .ml-lg-0 { margin-left: 0 !important; }
+  /* Set a negative 0 margin on top at the breakpoint lg */
+  .mt-lg-n0 { margin-top: -0 !important; }
+  /* Set a negative 0 margin on the right at the breakpoint lg */
+  .mr-lg-n0 { margin-right: -0 !important; }
+  /* Set a negative 0 margin on the bottom at the breakpoint lg */
+  .mb-lg-n0 { margin-bottom: -0 !important; }
+  /* Set a negative 0 margin on the left at the breakpoint lg */
+  .ml-lg-n0 { margin-left: -0 !important; }
+  /* Set a 0 margin on the left & right at the breakpoint lg */
+  .mx-lg-0 { margin-right: 0 !important; margin-left: 0 !important; }
+  /* Set a 0 margin on the top & bottom at the breakpoint lg */
+  .my-lg-0 { margin-top: 0 !important; margin-bottom: 0 !important; } }
+@media (min-width: 1012px) { /* Set a 4px margin to all sides at the breakpoint lg */
+  .m-lg-1 { margin: 4px !important; }
+  /* Set a 4px margin on the top at the breakpoint lg */
+  .mt-lg-1 { margin-top: 4px !important; }
+  /* Set a 4px margin on the right at the breakpoint lg */
+  .mr-lg-1 { margin-right: 4px !important; }
+  /* Set a 4px margin on the bottom at the breakpoint lg */
+  .mb-lg-1 { margin-bottom: 4px !important; }
+  /* Set a 4px margin on the left at the breakpoint lg */
+  .ml-lg-1 { margin-left: 4px !important; }
+  /* Set a negative 4px margin on top at the breakpoint lg */
+  .mt-lg-n1 { margin-top: -4px !important; }
+  /* Set a negative 4px margin on the right at the breakpoint lg */
+  .mr-lg-n1 { margin-right: -4px !important; }
+  /* Set a negative 4px margin on the bottom at the breakpoint lg */
+  .mb-lg-n1 { margin-bottom: -4px !important; }
+  /* Set a negative 4px margin on the left at the breakpoint lg */
+  .ml-lg-n1 { margin-left: -4px !important; }
+  /* Set a 4px margin on the left & right at the breakpoint lg */
+  .mx-lg-1 { margin-right: 4px !important; margin-left: 4px !important; }
+  /* Set a 4px margin on the top & bottom at the breakpoint lg */
+  .my-lg-1 { margin-top: 4px !important; margin-bottom: 4px !important; } }
+@media (min-width: 1012px) { /* Set a 8px margin to all sides at the breakpoint lg */
+  .m-lg-2 { margin: 8px !important; }
+  /* Set a 8px margin on the top at the breakpoint lg */
+  .mt-lg-2 { margin-top: 8px !important; }
+  /* Set a 8px margin on the right at the breakpoint lg */
+  .mr-lg-2 { margin-right: 8px !important; }
+  /* Set a 8px margin on the bottom at the breakpoint lg */
+  .mb-lg-2 { margin-bottom: 8px !important; }
+  /* Set a 8px margin on the left at the breakpoint lg */
+  .ml-lg-2 { margin-left: 8px !important; }
+  /* Set a negative 8px margin on top at the breakpoint lg */
+  .mt-lg-n2 { margin-top: -8px !important; }
+  /* Set a negative 8px margin on the right at the breakpoint lg */
+  .mr-lg-n2 { margin-right: -8px !important; }
+  /* Set a negative 8px margin on the bottom at the breakpoint lg */
+  .mb-lg-n2 { margin-bottom: -8px !important; }
+  /* Set a negative 8px margin on the left at the breakpoint lg */
+  .ml-lg-n2 { margin-left: -8px !important; }
+  /* Set a 8px margin on the left & right at the breakpoint lg */
+  .mx-lg-2 { margin-right: 8px !important; margin-left: 8px !important; }
+  /* Set a 8px margin on the top & bottom at the breakpoint lg */
+  .my-lg-2 { margin-top: 8px !important; margin-bottom: 8px !important; } }
+@media (min-width: 1012px) { /* Set a 16px margin to all sides at the breakpoint lg */
+  .m-lg-3 { margin: 16px !important; }
+  /* Set a 16px margin on the top at the breakpoint lg */
+  .mt-lg-3 { margin-top: 16px !important; }
+  /* Set a 16px margin on the right at the breakpoint lg */
+  .mr-lg-3 { margin-right: 16px !important; }
+  /* Set a 16px margin on the bottom at the breakpoint lg */
+  .mb-lg-3 { margin-bottom: 16px !important; }
+  /* Set a 16px margin on the left at the breakpoint lg */
+  .ml-lg-3 { margin-left: 16px !important; }
+  /* Set a negative 16px margin on top at the breakpoint lg */
+  .mt-lg-n3 { margin-top: -16px !important; }
+  /* Set a negative 16px margin on the right at the breakpoint lg */
+  .mr-lg-n3 { margin-right: -16px !important; }
+  /* Set a negative 16px margin on the bottom at the breakpoint lg */
+  .mb-lg-n3 { margin-bottom: -16px !important; }
+  /* Set a negative 16px margin on the left at the breakpoint lg */
+  .ml-lg-n3 { margin-left: -16px !important; }
+  /* Set a 16px margin on the left & right at the breakpoint lg */
+  .mx-lg-3 { margin-right: 16px !important; margin-left: 16px !important; }
+  /* Set a 16px margin on the top & bottom at the breakpoint lg */
+  .my-lg-3 { margin-top: 16px !important; margin-bottom: 16px !important; } }
+@media (min-width: 1012px) { /* Set a 24px margin to all sides at the breakpoint lg */
+  .m-lg-4 { margin: 24px !important; }
+  /* Set a 24px margin on the top at the breakpoint lg */
+  .mt-lg-4 { margin-top: 24px !important; }
+  /* Set a 24px margin on the right at the breakpoint lg */
+  .mr-lg-4 { margin-right: 24px !important; }
+  /* Set a 24px margin on the bottom at the breakpoint lg */
+  .mb-lg-4 { margin-bottom: 24px !important; }
+  /* Set a 24px margin on the left at the breakpoint lg */
+  .ml-lg-4 { margin-left: 24px !important; }
+  /* Set a negative 24px margin on top at the breakpoint lg */
+  .mt-lg-n4 { margin-top: -24px !important; }
+  /* Set a negative 24px margin on the right at the breakpoint lg */
+  .mr-lg-n4 { margin-right: -24px !important; }
+  /* Set a negative 24px margin on the bottom at the breakpoint lg */
+  .mb-lg-n4 { margin-bottom: -24px !important; }
+  /* Set a negative 24px margin on the left at the breakpoint lg */
+  .ml-lg-n4 { margin-left: -24px !important; }
+  /* Set a 24px margin on the left & right at the breakpoint lg */
+  .mx-lg-4 { margin-right: 24px !important; margin-left: 24px !important; }
+  /* Set a 24px margin on the top & bottom at the breakpoint lg */
+  .my-lg-4 { margin-top: 24px !important; margin-bottom: 24px !important; } }
+@media (min-width: 1012px) { /* Set a 32px margin to all sides at the breakpoint lg */
+  .m-lg-5 { margin: 32px !important; }
+  /* Set a 32px margin on the top at the breakpoint lg */
+  .mt-lg-5 { margin-top: 32px !important; }
+  /* Set a 32px margin on the right at the breakpoint lg */
+  .mr-lg-5 { margin-right: 32px !important; }
+  /* Set a 32px margin on the bottom at the breakpoint lg */
+  .mb-lg-5 { margin-bottom: 32px !important; }
+  /* Set a 32px margin on the left at the breakpoint lg */
+  .ml-lg-5 { margin-left: 32px !important; }
+  /* Set a negative 32px margin on top at the breakpoint lg */
+  .mt-lg-n5 { margin-top: -32px !important; }
+  /* Set a negative 32px margin on the right at the breakpoint lg */
+  .mr-lg-n5 { margin-right: -32px !important; }
+  /* Set a negative 32px margin on the bottom at the breakpoint lg */
+  .mb-lg-n5 { margin-bottom: -32px !important; }
+  /* Set a negative 32px margin on the left at the breakpoint lg */
+  .ml-lg-n5 { margin-left: -32px !important; }
+  /* Set a 32px margin on the left & right at the breakpoint lg */
+  .mx-lg-5 { margin-right: 32px !important; margin-left: 32px !important; }
+  /* Set a 32px margin on the top & bottom at the breakpoint lg */
+  .my-lg-5 { margin-top: 32px !important; margin-bottom: 32px !important; } }
+@media (min-width: 1012px) { /* Set a 40px margin to all sides at the breakpoint lg */
+  .m-lg-6 { margin: 40px !important; }
+  /* Set a 40px margin on the top at the breakpoint lg */
+  .mt-lg-6 { margin-top: 40px !important; }
+  /* Set a 40px margin on the right at the breakpoint lg */
+  .mr-lg-6 { margin-right: 40px !important; }
+  /* Set a 40px margin on the bottom at the breakpoint lg */
+  .mb-lg-6 { margin-bottom: 40px !important; }
+  /* Set a 40px margin on the left at the breakpoint lg */
+  .ml-lg-6 { margin-left: 40px !important; }
+  /* Set a negative 40px margin on top at the breakpoint lg */
+  .mt-lg-n6 { margin-top: -40px !important; }
+  /* Set a negative 40px margin on the right at the breakpoint lg */
+  .mr-lg-n6 { margin-right: -40px !important; }
+  /* Set a negative 40px margin on the bottom at the breakpoint lg */
+  .mb-lg-n6 { margin-bottom: -40px !important; }
+  /* Set a negative 40px margin on the left at the breakpoint lg */
+  .ml-lg-n6 { margin-left: -40px !important; }
+  /* Set a 40px margin on the left & right at the breakpoint lg */
+  .mx-lg-6 { margin-right: 40px !important; margin-left: 40px !important; }
+  /* Set a 40px margin on the top & bottom at the breakpoint lg */
+  .my-lg-6 { margin-top: 40px !important; margin-bottom: 40px !important; } }
+@media (min-width: 1280px) { /* Set a 0 margin to all sides at the breakpoint xl */
+  .m-xl-0 { margin: 0 !important; }
+  /* Set a 0 margin on the top at the breakpoint xl */
+  .mt-xl-0 { margin-top: 0 !important; }
+  /* Set a 0 margin on the right at the breakpoint xl */
+  .mr-xl-0 { margin-right: 0 !important; }
+  /* Set a 0 margin on the bottom at the breakpoint xl */
+  .mb-xl-0 { margin-bottom: 0 !important; }
+  /* Set a 0 margin on the left at the breakpoint xl */
+  .ml-xl-0 { margin-left: 0 !important; }
+  /* Set a negative 0 margin on top at the breakpoint xl */
+  .mt-xl-n0 { margin-top: -0 !important; }
+  /* Set a negative 0 margin on the right at the breakpoint xl */
+  .mr-xl-n0 { margin-right: -0 !important; }
+  /* Set a negative 0 margin on the bottom at the breakpoint xl */
+  .mb-xl-n0 { margin-bottom: -0 !important; }
+  /* Set a negative 0 margin on the left at the breakpoint xl */
+  .ml-xl-n0 { margin-left: -0 !important; }
+  /* Set a 0 margin on the left & right at the breakpoint xl */
+  .mx-xl-0 { margin-right: 0 !important; margin-left: 0 !important; }
+  /* Set a 0 margin on the top & bottom at the breakpoint xl */
+  .my-xl-0 { margin-top: 0 !important; margin-bottom: 0 !important; } }
+@media (min-width: 1280px) { /* Set a 4px margin to all sides at the breakpoint xl */
+  .m-xl-1 { margin: 4px !important; }
+  /* Set a 4px margin on the top at the breakpoint xl */
+  .mt-xl-1 { margin-top: 4px !important; }
+  /* Set a 4px margin on the right at the breakpoint xl */
+  .mr-xl-1 { margin-right: 4px !important; }
+  /* Set a 4px margin on the bottom at the breakpoint xl */
+  .mb-xl-1 { margin-bottom: 4px !important; }
+  /* Set a 4px margin on the left at the breakpoint xl */
+  .ml-xl-1 { margin-left: 4px !important; }
+  /* Set a negative 4px margin on top at the breakpoint xl */
+  .mt-xl-n1 { margin-top: -4px !important; }
+  /* Set a negative 4px margin on the right at the breakpoint xl */
+  .mr-xl-n1 { margin-right: -4px !important; }
+  /* Set a negative 4px margin on the bottom at the breakpoint xl */
+  .mb-xl-n1 { margin-bottom: -4px !important; }
+  /* Set a negative 4px margin on the left at the breakpoint xl */
+  .ml-xl-n1 { margin-left: -4px !important; }
+  /* Set a 4px margin on the left & right at the breakpoint xl */
+  .mx-xl-1 { margin-right: 4px !important; margin-left: 4px !important; }
+  /* Set a 4px margin on the top & bottom at the breakpoint xl */
+  .my-xl-1 { margin-top: 4px !important; margin-bottom: 4px !important; } }
+@media (min-width: 1280px) { /* Set a 8px margin to all sides at the breakpoint xl */
+  .m-xl-2 { margin: 8px !important; }
+  /* Set a 8px margin on the top at the breakpoint xl */
+  .mt-xl-2 { margin-top: 8px !important; }
+  /* Set a 8px margin on the right at the breakpoint xl */
+  .mr-xl-2 { margin-right: 8px !important; }
+  /* Set a 8px margin on the bottom at the breakpoint xl */
+  .mb-xl-2 { margin-bottom: 8px !important; }
+  /* Set a 8px margin on the left at the breakpoint xl */
+  .ml-xl-2 { margin-left: 8px !important; }
+  /* Set a negative 8px margin on top at the breakpoint xl */
+  .mt-xl-n2 { margin-top: -8px !important; }
+  /* Set a negative 8px margin on the right at the breakpoint xl */
+  .mr-xl-n2 { margin-right: -8px !important; }
+  /* Set a negative 8px margin on the bottom at the breakpoint xl */
+  .mb-xl-n2 { margin-bottom: -8px !important; }
+  /* Set a negative 8px margin on the left at the breakpoint xl */
+  .ml-xl-n2 { margin-left: -8px !important; }
+  /* Set a 8px margin on the left & right at the breakpoint xl */
+  .mx-xl-2 { margin-right: 8px !important; margin-left: 8px !important; }
+  /* Set a 8px margin on the top & bottom at the breakpoint xl */
+  .my-xl-2 { margin-top: 8px !important; margin-bottom: 8px !important; } }
+@media (min-width: 1280px) { /* Set a 16px margin to all sides at the breakpoint xl */
+  .m-xl-3 { margin: 16px !important; }
+  /* Set a 16px margin on the top at the breakpoint xl */
+  .mt-xl-3 { margin-top: 16px !important; }
+  /* Set a 16px margin on the right at the breakpoint xl */
+  .mr-xl-3 { margin-right: 16px !important; }
+  /* Set a 16px margin on the bottom at the breakpoint xl */
+  .mb-xl-3 { margin-bottom: 16px !important; }
+  /* Set a 16px margin on the left at the breakpoint xl */
+  .ml-xl-3 { margin-left: 16px !important; }
+  /* Set a negative 16px margin on top at the breakpoint xl */
+  .mt-xl-n3 { margin-top: -16px !important; }
+  /* Set a negative 16px margin on the right at the breakpoint xl */
+  .mr-xl-n3 { margin-right: -16px !important; }
+  /* Set a negative 16px margin on the bottom at the breakpoint xl */
+  .mb-xl-n3 { margin-bottom: -16px !important; }
+  /* Set a negative 16px margin on the left at the breakpoint xl */
+  .ml-xl-n3 { margin-left: -16px !important; }
+  /* Set a 16px margin on the left & right at the breakpoint xl */
+  .mx-xl-3 { margin-right: 16px !important; margin-left: 16px !important; }
+  /* Set a 16px margin on the top & bottom at the breakpoint xl */
+  .my-xl-3 { margin-top: 16px !important; margin-bottom: 16px !important; } }
+@media (min-width: 1280px) { /* Set a 24px margin to all sides at the breakpoint xl */
+  .m-xl-4 { margin: 24px !important; }
+  /* Set a 24px margin on the top at the breakpoint xl */
+  .mt-xl-4 { margin-top: 24px !important; }
+  /* Set a 24px margin on the right at the breakpoint xl */
+  .mr-xl-4 { margin-right: 24px !important; }
+  /* Set a 24px margin on the bottom at the breakpoint xl */
+  .mb-xl-4 { margin-bottom: 24px !important; }
+  /* Set a 24px margin on the left at the breakpoint xl */
+  .ml-xl-4 { margin-left: 24px !important; }
+  /* Set a negative 24px margin on top at the breakpoint xl */
+  .mt-xl-n4 { margin-top: -24px !important; }
+  /* Set a negative 24px margin on the right at the breakpoint xl */
+  .mr-xl-n4 { margin-right: -24px !important; }
+  /* Set a negative 24px margin on the bottom at the breakpoint xl */
+  .mb-xl-n4 { margin-bottom: -24px !important; }
+  /* Set a negative 24px margin on the left at the breakpoint xl */
+  .ml-xl-n4 { margin-left: -24px !important; }
+  /* Set a 24px margin on the left & right at the breakpoint xl */
+  .mx-xl-4 { margin-right: 24px !important; margin-left: 24px !important; }
+  /* Set a 24px margin on the top & bottom at the breakpoint xl */
+  .my-xl-4 { margin-top: 24px !important; margin-bottom: 24px !important; } }
+@media (min-width: 1280px) { /* Set a 32px margin to all sides at the breakpoint xl */
+  .m-xl-5 { margin: 32px !important; }
+  /* Set a 32px margin on the top at the breakpoint xl */
+  .mt-xl-5 { margin-top: 32px !important; }
+  /* Set a 32px margin on the right at the breakpoint xl */
+  .mr-xl-5 { margin-right: 32px !important; }
+  /* Set a 32px margin on the bottom at the breakpoint xl */
+  .mb-xl-5 { margin-bottom: 32px !important; }
+  /* Set a 32px margin on the left at the breakpoint xl */
+  .ml-xl-5 { margin-left: 32px !important; }
+  /* Set a negative 32px margin on top at the breakpoint xl */
+  .mt-xl-n5 { margin-top: -32px !important; }
+  /* Set a negative 32px margin on the right at the breakpoint xl */
+  .mr-xl-n5 { margin-right: -32px !important; }
+  /* Set a negative 32px margin on the bottom at the breakpoint xl */
+  .mb-xl-n5 { margin-bottom: -32px !important; }
+  /* Set a negative 32px margin on the left at the breakpoint xl */
+  .ml-xl-n5 { margin-left: -32px !important; }
+  /* Set a 32px margin on the left & right at the breakpoint xl */
+  .mx-xl-5 { margin-right: 32px !important; margin-left: 32px !important; }
+  /* Set a 32px margin on the top & bottom at the breakpoint xl */
+  .my-xl-5 { margin-top: 32px !important; margin-bottom: 32px !important; } }
+@media (min-width: 1280px) { /* Set a 40px margin to all sides at the breakpoint xl */
+  .m-xl-6 { margin: 40px !important; }
+  /* Set a 40px margin on the top at the breakpoint xl */
+  .mt-xl-6 { margin-top: 40px !important; }
+  /* Set a 40px margin on the right at the breakpoint xl */
+  .mr-xl-6 { margin-right: 40px !important; }
+  /* Set a 40px margin on the bottom at the breakpoint xl */
+  .mb-xl-6 { margin-bottom: 40px !important; }
+  /* Set a 40px margin on the left at the breakpoint xl */
+  .ml-xl-6 { margin-left: 40px !important; }
+  /* Set a negative 40px margin on top at the breakpoint xl */
+  .mt-xl-n6 { margin-top: -40px !important; }
+  /* Set a negative 40px margin on the right at the breakpoint xl */
+  .mr-xl-n6 { margin-right: -40px !important; }
+  /* Set a negative 40px margin on the bottom at the breakpoint xl */
+  .mb-xl-n6 { margin-bottom: -40px !important; }
+  /* Set a negative 40px margin on the left at the breakpoint xl */
+  .ml-xl-n6 { margin-left: -40px !important; }
+  /* Set a 40px margin on the left & right at the breakpoint xl */
+  .mx-xl-6 { margin-right: 40px !important; margin-left: 40px !important; }
+  /* Set a 40px margin on the top & bottom at the breakpoint xl */
+  .my-xl-6 { margin-top: 40px !important; margin-bottom: 40px !important; } }
+/* Set a 0 padding to all sides */
+.p-0 { padding: 0 !important; }
+
+/* Set a 0 padding to the top */
+.pt-0 { padding-top: 0 !important; }
+
+/* Set a 0 padding to the right */
+.pr-0 { padding-right: 0 !important; }
+
+/* Set a 0 padding to the bottom */
+.pb-0 { padding-bottom: 0 !important; }
+
+/* Set a 0 padding to the left */
+.pl-0 { padding-left: 0 !important; }
+
+/* Set a 0 padding to the left & right */
+.px-0 { padding-right: 0 !important; padding-left: 0 !important; }
+
+/* Set a 0 padding to the top & bottom */
+.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
+
+/* Set a 4px padding to all sides */
+.p-1 { padding: 4px !important; }
+
+/* Set a 4px padding to the top */
+.pt-1 { padding-top: 4px !important; }
+
+/* Set a 4px padding to the right */
+.pr-1 { padding-right: 4px !important; }
+
+/* Set a 4px padding to the bottom */
+.pb-1 { padding-bottom: 4px !important; }
+
+/* Set a 4px padding to the left */
+.pl-1 { padding-left: 4px !important; }
+
+/* Set a 4px padding to the left & right */
+.px-1 { padding-right: 4px !important; padding-left: 4px !important; }
+
+/* Set a 4px padding to the top & bottom */
+.py-1 { padding-top: 4px !important; padding-bottom: 4px !important; }
+
+/* Set a 8px padding to all sides */
+.p-2 { padding: 8px !important; }
+
+/* Set a 8px padding to the top */
+.pt-2 { padding-top: 8px !important; }
+
+/* Set a 8px padding to the right */
+.pr-2 { padding-right: 8px !important; }
+
+/* Set a 8px padding to the bottom */
+.pb-2 { padding-bottom: 8px !important; }
+
+/* Set a 8px padding to the left */
+.pl-2 { padding-left: 8px !important; }
+
+/* Set a 8px padding to the left & right */
+.px-2 { padding-right: 8px !important; padding-left: 8px !important; }
+
+/* Set a 8px padding to the top & bottom */
+.py-2 { padding-top: 8px !important; padding-bottom: 8px !important; }
+
+/* Set a 16px padding to all sides */
+.p-3 { padding: 16px !important; }
+
+/* Set a 16px padding to the top */
+.pt-3 { padding-top: 16px !important; }
+
+/* Set a 16px padding to the right */
+.pr-3 { padding-right: 16px !important; }
+
+/* Set a 16px padding to the bottom */
+.pb-3 { padding-bottom: 16px !important; }
+
+/* Set a 16px padding to the left */
+.pl-3 { padding-left: 16px !important; }
+
+/* Set a 16px padding to the left & right */
+.px-3 { padding-right: 16px !important; padding-left: 16px !important; }
+
+/* Set a 16px padding to the top & bottom */
+.py-3 { padding-top: 16px !important; padding-bottom: 16px !important; }
+
+/* Set a 24px padding to all sides */
+.p-4 { padding: 24px !important; }
+
+/* Set a 24px padding to the top */
+.pt-4 { padding-top: 24px !important; }
+
+/* Set a 24px padding to the right */
+.pr-4 { padding-right: 24px !important; }
+
+/* Set a 24px padding to the bottom */
+.pb-4 { padding-bottom: 24px !important; }
+
+/* Set a 24px padding to the left */
+.pl-4 { padding-left: 24px !important; }
+
+/* Set a 24px padding to the left & right */
+.px-4 { padding-right: 24px !important; padding-left: 24px !important; }
+
+/* Set a 24px padding to the top & bottom */
+.py-4 { padding-top: 24px !important; padding-bottom: 24px !important; }
+
+/* Set a 32px padding to all sides */
+.p-5 { padding: 32px !important; }
+
+/* Set a 32px padding to the top */
+.pt-5 { padding-top: 32px !important; }
+
+/* Set a 32px padding to the right */
+.pr-5 { padding-right: 32px !important; }
+
+/* Set a 32px padding to the bottom */
+.pb-5 { padding-bottom: 32px !important; }
+
+/* Set a 32px padding to the left */
+.pl-5 { padding-left: 32px !important; }
+
+/* Set a 32px padding to the left & right */
+.px-5 { padding-right: 32px !important; padding-left: 32px !important; }
+
+/* Set a 32px padding to the top & bottom */
+.py-5 { padding-top: 32px !important; padding-bottom: 32px !important; }
+
+/* Set a 40px padding to all sides */
+.p-6 { padding: 40px !important; }
+
+/* Set a 40px padding to the top */
+.pt-6 { padding-top: 40px !important; }
+
+/* Set a 40px padding to the right */
+.pr-6 { padding-right: 40px !important; }
+
+/* Set a 40px padding to the bottom */
+.pb-6 { padding-bottom: 40px !important; }
+
+/* Set a 40px padding to the left */
+.pl-6 { padding-left: 40px !important; }
+
+/* Set a 40px padding to the left & right */
+.px-6 { padding-right: 40px !important; padding-left: 40px !important; }
+
+/* Set a 40px padding to the top & bottom */
+.py-6 { padding-top: 40px !important; padding-bottom: 40px !important; }
+
+@media (min-width: 544px) { /* Set a 0 padding to all sides at the sm breakpoint */
+  .p-sm-0 { padding: 0 !important; }
+  /* Set a 0 padding to the top at the sm breakpoint */
+  .pt-sm-0 { padding-top: 0 !important; }
+  /* Set a 0 padding to the right at the sm breakpoint */
+  .pr-sm-0 { padding-right: 0 !important; }
+  /* Set a 0 padding to the bottom at the sm breakpoint */
+  .pb-sm-0 { padding-bottom: 0 !important; }
+  /* Set a 0 padding to the left at the sm breakpoint */
+  .pl-sm-0 { padding-left: 0 !important; }
+  /* Set a 0 padding to the left & right at the sm breakpoint */
+  .px-sm-0 { padding-right: 0 !important; padding-left: 0 !important; }
+  /* Set a 0 padding to the top & bottom at the sm breakpoint */
+  .py-sm-0 { padding-top: 0 !important; padding-bottom: 0 !important; } }
+@media (min-width: 544px) { /* Set a 4px padding to all sides at the sm breakpoint */
+  .p-sm-1 { padding: 4px !important; }
+  /* Set a 4px padding to the top at the sm breakpoint */
+  .pt-sm-1 { padding-top: 4px !important; }
+  /* Set a 4px padding to the right at the sm breakpoint */
+  .pr-sm-1 { padding-right: 4px !important; }
+  /* Set a 4px padding to the bottom at the sm breakpoint */
+  .pb-sm-1 { padding-bottom: 4px !important; }
+  /* Set a 4px padding to the left at the sm breakpoint */
+  .pl-sm-1 { padding-left: 4px !important; }
+  /* Set a 4px padding to the left & right at the sm breakpoint */
+  .px-sm-1 { padding-right: 4px !important; padding-left: 4px !important; }
+  /* Set a 4px padding to the top & bottom at the sm breakpoint */
+  .py-sm-1 { padding-top: 4px !important; padding-bottom: 4px !important; } }
+@media (min-width: 544px) { /* Set a 8px padding to all sides at the sm breakpoint */
+  .p-sm-2 { padding: 8px !important; }
+  /* Set a 8px padding to the top at the sm breakpoint */
+  .pt-sm-2 { padding-top: 8px !important; }
+  /* Set a 8px padding to the right at the sm breakpoint */
+  .pr-sm-2 { padding-right: 8px !important; }
+  /* Set a 8px padding to the bottom at the sm breakpoint */
+  .pb-sm-2 { padding-bottom: 8px !important; }
+  /* Set a 8px padding to the left at the sm breakpoint */
+  .pl-sm-2 { padding-left: 8px !important; }
+  /* Set a 8px padding to the left & right at the sm breakpoint */
+  .px-sm-2 { padding-right: 8px !important; padding-left: 8px !important; }
+  /* Set a 8px padding to the top & bottom at the sm breakpoint */
+  .py-sm-2 { padding-top: 8px !important; padding-bottom: 8px !important; } }
+@media (min-width: 544px) { /* Set a 16px padding to all sides at the sm breakpoint */
+  .p-sm-3 { padding: 16px !important; }
+  /* Set a 16px padding to the top at the sm breakpoint */
+  .pt-sm-3 { padding-top: 16px !important; }
+  /* Set a 16px padding to the right at the sm breakpoint */
+  .pr-sm-3 { padding-right: 16px !important; }
+  /* Set a 16px padding to the bottom at the sm breakpoint */
+  .pb-sm-3 { padding-bottom: 16px !important; }
+  /* Set a 16px padding to the left at the sm breakpoint */
+  .pl-sm-3 { padding-left: 16px !important; }
+  /* Set a 16px padding to the left & right at the sm breakpoint */
+  .px-sm-3 { padding-right: 16px !important; padding-left: 16px !important; }
+  /* Set a 16px padding to the top & bottom at the sm breakpoint */
+  .py-sm-3 { padding-top: 16px !important; padding-bottom: 16px !important; } }
+@media (min-width: 544px) { /* Set a 24px padding to all sides at the sm breakpoint */
+  .p-sm-4 { padding: 24px !important; }
+  /* Set a 24px padding to the top at the sm breakpoint */
+  .pt-sm-4 { padding-top: 24px !important; }
+  /* Set a 24px padding to the right at the sm breakpoint */
+  .pr-sm-4 { padding-right: 24px !important; }
+  /* Set a 24px padding to the bottom at the sm breakpoint */
+  .pb-sm-4 { padding-bottom: 24px !important; }
+  /* Set a 24px padding to the left at the sm breakpoint */
+  .pl-sm-4 { padding-left: 24px !important; }
+  /* Set a 24px padding to the left & right at the sm breakpoint */
+  .px-sm-4 { padding-right: 24px !important; padding-left: 24px !important; }
+  /* Set a 24px padding to the top & bottom at the sm breakpoint */
+  .py-sm-4 { padding-top: 24px !important; padding-bottom: 24px !important; } }
+@media (min-width: 544px) { /* Set a 32px padding to all sides at the sm breakpoint */
+  .p-sm-5 { padding: 32px !important; }
+  /* Set a 32px padding to the top at the sm breakpoint */
+  .pt-sm-5 { padding-top: 32px !important; }
+  /* Set a 32px padding to the right at the sm breakpoint */
+  .pr-sm-5 { padding-right: 32px !important; }
+  /* Set a 32px padding to the bottom at the sm breakpoint */
+  .pb-sm-5 { padding-bottom: 32px !important; }
+  /* Set a 32px padding to the left at the sm breakpoint */
+  .pl-sm-5 { padding-left: 32px !important; }
+  /* Set a 32px padding to the left & right at the sm breakpoint */
+  .px-sm-5 { padding-right: 32px !important; padding-left: 32px !important; }
+  /* Set a 32px padding to the top & bottom at the sm breakpoint */
+  .py-sm-5 { padding-top: 32px !important; padding-bottom: 32px !important; } }
+@media (min-width: 544px) { /* Set a 40px padding to all sides at the sm breakpoint */
+  .p-sm-6 { padding: 40px !important; }
+  /* Set a 40px padding to the top at the sm breakpoint */
+  .pt-sm-6 { padding-top: 40px !important; }
+  /* Set a 40px padding to the right at the sm breakpoint */
+  .pr-sm-6 { padding-right: 40px !important; }
+  /* Set a 40px padding to the bottom at the sm breakpoint */
+  .pb-sm-6 { padding-bottom: 40px !important; }
+  /* Set a 40px padding to the left at the sm breakpoint */
+  .pl-sm-6 { padding-left: 40px !important; }
+  /* Set a 40px padding to the left & right at the sm breakpoint */
+  .px-sm-6 { padding-right: 40px !important; padding-left: 40px !important; }
+  /* Set a 40px padding to the top & bottom at the sm breakpoint */
+  .py-sm-6 { padding-top: 40px !important; padding-bottom: 40px !important; } }
+@media (min-width: 768px) { /* Set a 0 padding to all sides at the md breakpoint */
+  .p-md-0 { padding: 0 !important; }
+  /* Set a 0 padding to the top at the md breakpoint */
+  .pt-md-0 { padding-top: 0 !important; }
+  /* Set a 0 padding to the right at the md breakpoint */
+  .pr-md-0 { padding-right: 0 !important; }
+  /* Set a 0 padding to the bottom at the md breakpoint */
+  .pb-md-0 { padding-bottom: 0 !important; }
+  /* Set a 0 padding to the left at the md breakpoint */
+  .pl-md-0 { padding-left: 0 !important; }
+  /* Set a 0 padding to the left & right at the md breakpoint */
+  .px-md-0 { padding-right: 0 !important; padding-left: 0 !important; }
+  /* Set a 0 padding to the top & bottom at the md breakpoint */
+  .py-md-0 { padding-top: 0 !important; padding-bottom: 0 !important; } }
+@media (min-width: 768px) { /* Set a 4px padding to all sides at the md breakpoint */
+  .p-md-1 { padding: 4px !important; }
+  /* Set a 4px padding to the top at the md breakpoint */
+  .pt-md-1 { padding-top: 4px !important; }
+  /* Set a 4px padding to the right at the md breakpoint */
+  .pr-md-1 { padding-right: 4px !important; }
+  /* Set a 4px padding to the bottom at the md breakpoint */
+  .pb-md-1 { padding-bottom: 4px !important; }
+  /* Set a 4px padding to the left at the md breakpoint */
+  .pl-md-1 { padding-left: 4px !important; }
+  /* Set a 4px padding to the left & right at the md breakpoint */
+  .px-md-1 { padding-right: 4px !important; padding-left: 4px !important; }
+  /* Set a 4px padding to the top & bottom at the md breakpoint */
+  .py-md-1 { padding-top: 4px !important; padding-bottom: 4px !important; } }
+@media (min-width: 768px) { /* Set a 8px padding to all sides at the md breakpoint */
+  .p-md-2 { padding: 8px !important; }
+  /* Set a 8px padding to the top at the md breakpoint */
+  .pt-md-2 { padding-top: 8px !important; }
+  /* Set a 8px padding to the right at the md breakpoint */
+  .pr-md-2 { padding-right: 8px !important; }
+  /* Set a 8px padding to the bottom at the md breakpoint */
+  .pb-md-2 { padding-bottom: 8px !important; }
+  /* Set a 8px padding to the left at the md breakpoint */
+  .pl-md-2 { padding-left: 8px !important; }
+  /* Set a 8px padding to the left & right at the md breakpoint */
+  .px-md-2 { padding-right: 8px !important; padding-left: 8px !important; }
+  /* Set a 8px padding to the top & bottom at the md breakpoint */
+  .py-md-2 { padding-top: 8px !important; padding-bottom: 8px !important; } }
+@media (min-width: 768px) { /* Set a 16px padding to all sides at the md breakpoint */
+  .p-md-3 { padding: 16px !important; }
+  /* Set a 16px padding to the top at the md breakpoint */
+  .pt-md-3 { padding-top: 16px !important; }
+  /* Set a 16px padding to the right at the md breakpoint */
+  .pr-md-3 { padding-right: 16px !important; }
+  /* Set a 16px padding to the bottom at the md breakpoint */
+  .pb-md-3 { padding-bottom: 16px !important; }
+  /* Set a 16px padding to the left at the md breakpoint */
+  .pl-md-3 { padding-left: 16px !important; }
+  /* Set a 16px padding to the left & right at the md breakpoint */
+  .px-md-3 { padding-right: 16px !important; padding-left: 16px !important; }
+  /* Set a 16px padding to the top & bottom at the md breakpoint */
+  .py-md-3 { padding-top: 16px !important; padding-bottom: 16px !important; } }
+@media (min-width: 768px) { /* Set a 24px padding to all sides at the md breakpoint */
+  .p-md-4 { padding: 24px !important; }
+  /* Set a 24px padding to the top at the md breakpoint */
+  .pt-md-4 { padding-top: 24px !important; }
+  /* Set a 24px padding to the right at the md breakpoint */
+  .pr-md-4 { padding-right: 24px !important; }
+  /* Set a 24px padding to the bottom at the md breakpoint */
+  .pb-md-4 { padding-bottom: 24px !important; }
+  /* Set a 24px padding to the left at the md breakpoint */
+  .pl-md-4 { padding-left: 24px !important; }
+  /* Set a 24px padding to the left & right at the md breakpoint */
+  .px-md-4 { padding-right: 24px !important; padding-left: 24px !important; }
+  /* Set a 24px padding to the top & bottom at the md breakpoint */
+  .py-md-4 { padding-top: 24px !important; padding-bottom: 24px !important; } }
+@media (min-width: 768px) { /* Set a 32px padding to all sides at the md breakpoint */
+  .p-md-5 { padding: 32px !important; }
+  /* Set a 32px padding to the top at the md breakpoint */
+  .pt-md-5 { padding-top: 32px !important; }
+  /* Set a 32px padding to the right at the md breakpoint */
+  .pr-md-5 { padding-right: 32px !important; }
+  /* Set a 32px padding to the bottom at the md breakpoint */
+  .pb-md-5 { padding-bottom: 32px !important; }
+  /* Set a 32px padding to the left at the md breakpoint */
+  .pl-md-5 { padding-left: 32px !important; }
+  /* Set a 32px padding to the left & right at the md breakpoint */
+  .px-md-5 { padding-right: 32px !important; padding-left: 32px !important; }
+  /* Set a 32px padding to the top & bottom at the md breakpoint */
+  .py-md-5 { padding-top: 32px !important; padding-bottom: 32px !important; } }
+@media (min-width: 768px) { /* Set a 40px padding to all sides at the md breakpoint */
+  .p-md-6 { padding: 40px !important; }
+  /* Set a 40px padding to the top at the md breakpoint */
+  .pt-md-6 { padding-top: 40px !important; }
+  /* Set a 40px padding to the right at the md breakpoint */
+  .pr-md-6 { padding-right: 40px !important; }
+  /* Set a 40px padding to the bottom at the md breakpoint */
+  .pb-md-6 { padding-bottom: 40px !important; }
+  /* Set a 40px padding to the left at the md breakpoint */
+  .pl-md-6 { padding-left: 40px !important; }
+  /* Set a 40px padding to the left & right at the md breakpoint */
+  .px-md-6 { padding-right: 40px !important; padding-left: 40px !important; }
+  /* Set a 40px padding to the top & bottom at the md breakpoint */
+  .py-md-6 { padding-top: 40px !important; padding-bottom: 40px !important; } }
+@media (min-width: 1012px) { /* Set a 0 padding to all sides at the lg breakpoint */
+  .p-lg-0 { padding: 0 !important; }
+  /* Set a 0 padding to the top at the lg breakpoint */
+  .pt-lg-0 { padding-top: 0 !important; }
+  /* Set a 0 padding to the right at the lg breakpoint */
+  .pr-lg-0 { padding-right: 0 !important; }
+  /* Set a 0 padding to the bottom at the lg breakpoint */
+  .pb-lg-0 { padding-bottom: 0 !important; }
+  /* Set a 0 padding to the left at the lg breakpoint */
+  .pl-lg-0 { padding-left: 0 !important; }
+  /* Set a 0 padding to the left & right at the lg breakpoint */
+  .px-lg-0 { padding-right: 0 !important; padding-left: 0 !important; }
+  /* Set a 0 padding to the top & bottom at the lg breakpoint */
+  .py-lg-0 { padding-top: 0 !important; padding-bottom: 0 !important; } }
+@media (min-width: 1012px) { /* Set a 4px padding to all sides at the lg breakpoint */
+  .p-lg-1 { padding: 4px !important; }
+  /* Set a 4px padding to the top at the lg breakpoint */
+  .pt-lg-1 { padding-top: 4px !important; }
+  /* Set a 4px padding to the right at the lg breakpoint */
+  .pr-lg-1 { padding-right: 4px !important; }
+  /* Set a 4px padding to the bottom at the lg breakpoint */
+  .pb-lg-1 { padding-bottom: 4px !important; }
+  /* Set a 4px padding to the left at the lg breakpoint */
+  .pl-lg-1 { padding-left: 4px !important; }
+  /* Set a 4px padding to the left & right at the lg breakpoint */
+  .px-lg-1 { padding-right: 4px !important; padding-left: 4px !important; }
+  /* Set a 4px padding to the top & bottom at the lg breakpoint */
+  .py-lg-1 { padding-top: 4px !important; padding-bottom: 4px !important; } }
+@media (min-width: 1012px) { /* Set a 8px padding to all sides at the lg breakpoint */
+  .p-lg-2 { padding: 8px !important; }
+  /* Set a 8px padding to the top at the lg breakpoint */
+  .pt-lg-2 { padding-top: 8px !important; }
+  /* Set a 8px padding to the right at the lg breakpoint */
+  .pr-lg-2 { padding-right: 8px !important; }
+  /* Set a 8px padding to the bottom at the lg breakpoint */
+  .pb-lg-2 { padding-bottom: 8px !important; }
+  /* Set a 8px padding to the left at the lg breakpoint */
+  .pl-lg-2 { padding-left: 8px !important; }
+  /* Set a 8px padding to the left & right at the lg breakpoint */
+  .px-lg-2 { padding-right: 8px !important; padding-left: 8px !important; }
+  /* Set a 8px padding to the top & bottom at the lg breakpoint */
+  .py-lg-2 { padding-top: 8px !important; padding-bottom: 8px !important; } }
+@media (min-width: 1012px) { /* Set a 16px padding to all sides at the lg breakpoint */
+  .p-lg-3 { padding: 16px !important; }
+  /* Set a 16px padding to the top at the lg breakpoint */
+  .pt-lg-3 { padding-top: 16px !important; }
+  /* Set a 16px padding to the right at the lg breakpoint */
+  .pr-lg-3 { padding-right: 16px !important; }
+  /* Set a 16px padding to the bottom at the lg breakpoint */
+  .pb-lg-3 { padding-bottom: 16px !important; }
+  /* Set a 16px padding to the left at the lg breakpoint */
+  .pl-lg-3 { padding-left: 16px !important; }
+  /* Set a 16px padding to the left & right at the lg breakpoint */
+  .px-lg-3 { padding-right: 16px !important; padding-left: 16px !important; }
+  /* Set a 16px padding to the top & bottom at the lg breakpoint */
+  .py-lg-3 { padding-top: 16px !important; padding-bottom: 16px !important; } }
+@media (min-width: 1012px) { /* Set a 24px padding to all sides at the lg breakpoint */
+  .p-lg-4 { padding: 24px !important; }
+  /* Set a 24px padding to the top at the lg breakpoint */
+  .pt-lg-4 { padding-top: 24px !important; }
+  /* Set a 24px padding to the right at the lg breakpoint */
+  .pr-lg-4 { padding-right: 24px !important; }
+  /* Set a 24px padding to the bottom at the lg breakpoint */
+  .pb-lg-4 { padding-bottom: 24px !important; }
+  /* Set a 24px padding to the left at the lg breakpoint */
+  .pl-lg-4 { padding-left: 24px !important; }
+  /* Set a 24px padding to the left & right at the lg breakpoint */
+  .px-lg-4 { padding-right: 24px !important; padding-left: 24px !important; }
+  /* Set a 24px padding to the top & bottom at the lg breakpoint */
+  .py-lg-4 { padding-top: 24px !important; padding-bottom: 24px !important; } }
+@media (min-width: 1012px) { /* Set a 32px padding to all sides at the lg breakpoint */
+  .p-lg-5 { padding: 32px !important; }
+  /* Set a 32px padding to the top at the lg breakpoint */
+  .pt-lg-5 { padding-top: 32px !important; }
+  /* Set a 32px padding to the right at the lg breakpoint */
+  .pr-lg-5 { padding-right: 32px !important; }
+  /* Set a 32px padding to the bottom at the lg breakpoint */
+  .pb-lg-5 { padding-bottom: 32px !important; }
+  /* Set a 32px padding to the left at the lg breakpoint */
+  .pl-lg-5 { padding-left: 32px !important; }
+  /* Set a 32px padding to the left & right at the lg breakpoint */
+  .px-lg-5 { padding-right: 32px !important; padding-left: 32px !important; }
+  /* Set a 32px padding to the top & bottom at the lg breakpoint */
+  .py-lg-5 { padding-top: 32px !important; padding-bottom: 32px !important; } }
+@media (min-width: 1012px) { /* Set a 40px padding to all sides at the lg breakpoint */
+  .p-lg-6 { padding: 40px !important; }
+  /* Set a 40px padding to the top at the lg breakpoint */
+  .pt-lg-6 { padding-top: 40px !important; }
+  /* Set a 40px padding to the right at the lg breakpoint */
+  .pr-lg-6 { padding-right: 40px !important; }
+  /* Set a 40px padding to the bottom at the lg breakpoint */
+  .pb-lg-6 { padding-bottom: 40px !important; }
+  /* Set a 40px padding to the left at the lg breakpoint */
+  .pl-lg-6 { padding-left: 40px !important; }
+  /* Set a 40px padding to the left & right at the lg breakpoint */
+  .px-lg-6 { padding-right: 40px !important; padding-left: 40px !important; }
+  /* Set a 40px padding to the top & bottom at the lg breakpoint */
+  .py-lg-6 { padding-top: 40px !important; padding-bottom: 40px !important; } }
+@media (min-width: 1280px) { /* Set a 0 padding to all sides at the xl breakpoint */
+  .p-xl-0 { padding: 0 !important; }
+  /* Set a 0 padding to the top at the xl breakpoint */
+  .pt-xl-0 { padding-top: 0 !important; }
+  /* Set a 0 padding to the right at the xl breakpoint */
+  .pr-xl-0 { padding-right: 0 !important; }
+  /* Set a 0 padding to the bottom at the xl breakpoint */
+  .pb-xl-0 { padding-bottom: 0 !important; }
+  /* Set a 0 padding to the left at the xl breakpoint */
+  .pl-xl-0 { padding-left: 0 !important; }
+  /* Set a 0 padding to the left & right at the xl breakpoint */
+  .px-xl-0 { padding-right: 0 !important; padding-left: 0 !important; }
+  /* Set a 0 padding to the top & bottom at the xl breakpoint */
+  .py-xl-0 { padding-top: 0 !important; padding-bottom: 0 !important; } }
+@media (min-width: 1280px) { /* Set a 4px padding to all sides at the xl breakpoint */
+  .p-xl-1 { padding: 4px !important; }
+  /* Set a 4px padding to the top at the xl breakpoint */
+  .pt-xl-1 { padding-top: 4px !important; }
+  /* Set a 4px padding to the right at the xl breakpoint */
+  .pr-xl-1 { padding-right: 4px !important; }
+  /* Set a 4px padding to the bottom at the xl breakpoint */
+  .pb-xl-1 { padding-bottom: 4px !important; }
+  /* Set a 4px padding to the left at the xl breakpoint */
+  .pl-xl-1 { padding-left: 4px !important; }
+  /* Set a 4px padding to the left & right at the xl breakpoint */
+  .px-xl-1 { padding-right: 4px !important; padding-left: 4px !important; }
+  /* Set a 4px padding to the top & bottom at the xl breakpoint */
+  .py-xl-1 { padding-top: 4px !important; padding-bottom: 4px !important; } }
+@media (min-width: 1280px) { /* Set a 8px padding to all sides at the xl breakpoint */
+  .p-xl-2 { padding: 8px !important; }
+  /* Set a 8px padding to the top at the xl breakpoint */
+  .pt-xl-2 { padding-top: 8px !important; }
+  /* Set a 8px padding to the right at the xl breakpoint */
+  .pr-xl-2 { padding-right: 8px !important; }
+  /* Set a 8px padding to the bottom at the xl breakpoint */
+  .pb-xl-2 { padding-bottom: 8px !important; }
+  /* Set a 8px padding to the left at the xl breakpoint */
+  .pl-xl-2 { padding-left: 8px !important; }
+  /* Set a 8px padding to the left & right at the xl breakpoint */
+  .px-xl-2 { padding-right: 8px !important; padding-left: 8px !important; }
+  /* Set a 8px padding to the top & bottom at the xl breakpoint */
+  .py-xl-2 { padding-top: 8px !important; padding-bottom: 8px !important; } }
+@media (min-width: 1280px) { /* Set a 16px padding to all sides at the xl breakpoint */
+  .p-xl-3 { padding: 16px !important; }
+  /* Set a 16px padding to the top at the xl breakpoint */
+  .pt-xl-3 { padding-top: 16px !important; }
+  /* Set a 16px padding to the right at the xl breakpoint */
+  .pr-xl-3 { padding-right: 16px !important; }
+  /* Set a 16px padding to the bottom at the xl breakpoint */
+  .pb-xl-3 { padding-bottom: 16px !important; }
+  /* Set a 16px padding to the left at the xl breakpoint */
+  .pl-xl-3 { padding-left: 16px !important; }
+  /* Set a 16px padding to the left & right at the xl breakpoint */
+  .px-xl-3 { padding-right: 16px !important; padding-left: 16px !important; }
+  /* Set a 16px padding to the top & bottom at the xl breakpoint */
+  .py-xl-3 { padding-top: 16px !important; padding-bottom: 16px !important; } }
+@media (min-width: 1280px) { /* Set a 24px padding to all sides at the xl breakpoint */
+  .p-xl-4 { padding: 24px !important; }
+  /* Set a 24px padding to the top at the xl breakpoint */
+  .pt-xl-4 { padding-top: 24px !important; }
+  /* Set a 24px padding to the right at the xl breakpoint */
+  .pr-xl-4 { padding-right: 24px !important; }
+  /* Set a 24px padding to the bottom at the xl breakpoint */
+  .pb-xl-4 { padding-bottom: 24px !important; }
+  /* Set a 24px padding to the left at the xl breakpoint */
+  .pl-xl-4 { padding-left: 24px !important; }
+  /* Set a 24px padding to the left & right at the xl breakpoint */
+  .px-xl-4 { padding-right: 24px !important; padding-left: 24px !important; }
+  /* Set a 24px padding to the top & bottom at the xl breakpoint */
+  .py-xl-4 { padding-top: 24px !important; padding-bottom: 24px !important; } }
+@media (min-width: 1280px) { /* Set a 32px padding to all sides at the xl breakpoint */
+  .p-xl-5 { padding: 32px !important; }
+  /* Set a 32px padding to the top at the xl breakpoint */
+  .pt-xl-5 { padding-top: 32px !important; }
+  /* Set a 32px padding to the right at the xl breakpoint */
+  .pr-xl-5 { padding-right: 32px !important; }
+  /* Set a 32px padding to the bottom at the xl breakpoint */
+  .pb-xl-5 { padding-bottom: 32px !important; }
+  /* Set a 32px padding to the left at the xl breakpoint */
+  .pl-xl-5 { padding-left: 32px !important; }
+  /* Set a 32px padding to the left & right at the xl breakpoint */
+  .px-xl-5 { padding-right: 32px !important; padding-left: 32px !important; }
+  /* Set a 32px padding to the top & bottom at the xl breakpoint */
+  .py-xl-5 { padding-top: 32px !important; padding-bottom: 32px !important; } }
+@media (min-width: 1280px) { /* Set a 40px padding to all sides at the xl breakpoint */
+  .p-xl-6 { padding: 40px !important; }
+  /* Set a 40px padding to the top at the xl breakpoint */
+  .pt-xl-6 { padding-top: 40px !important; }
+  /* Set a 40px padding to the right at the xl breakpoint */
+  .pr-xl-6 { padding-right: 40px !important; }
+  /* Set a 40px padding to the bottom at the xl breakpoint */
+  .pb-xl-6 { padding-bottom: 40px !important; }
+  /* Set a 40px padding to the left at the xl breakpoint */
+  .pl-xl-6 { padding-left: 40px !important; }
+  /* Set a 40px padding to the left & right at the xl breakpoint */
+  .px-xl-6 { padding-right: 40px !important; padding-left: 40px !important; }
+  /* Set a 40px padding to the top & bottom at the xl breakpoint */
+  .py-xl-6 { padding-top: 40px !important; padding-bottom: 40px !important; } }
+.p-responsive { padding-right: 16px !important; padding-left: 16px !important; }
+@media (min-width: 544px) { .p-responsive { padding-right: 40px !important; padding-left: 40px !important; } }
+@media (min-width: 1012px) { .p-responsive { padding-right: 16px !important; padding-left: 16px !important; } }
+
+/* Set the font size to 26px */
+.h1 { font-size: 26px !important; }
+@media (min-width: 768px) { .h1 { font-size: 32px !important; } }
+
+/* Set the font size to 22px */
+.h2 { font-size: 22px !important; }
+@media (min-width: 768px) { .h2 { font-size: 24px !important; } }
+
+/* Set the font size to 18px */
+.h3 { font-size: 18px !important; }
+@media (min-width: 768px) { .h3 { font-size: 20px !important; } }
+
+/* Set the font size to 16px */
+.h4 { font-size: 16px !important; }
+
+/* Set the font size to 14px */
+.h5 { font-size: 14px !important; }
+
+/* Set the font size to 12px */
+.h6 { font-size: 12px !important; }
+
+.h1, .h2, .h3, .h4, .h5, .h6 { font-weight: 600 !important; }
+
+/* Set the font size to 26px */
+.f1 { font-size: 26px !important; }
+@media (min-width: 768px) { .f1 { font-size: 32px !important; } }
+
+/* Set the font size to 22px */
+.f2 { font-size: 22px !important; }
+@media (min-width: 768px) { .f2 { font-size: 24px !important; } }
+
+/* Set the font size to 18px */
+.f3 { font-size: 18px !important; }
+@media (min-width: 768px) { .f3 { font-size: 20px !important; } }
+
+/* Set the font size to 16px */
+.f4 { font-size: 16px !important; }
+@media (min-width: 768px) { .f4 { font-size: 16px !important; } }
+
+/* Set the font size to 14px */
+.f5 { font-size: 14px !important; }
+
+/* Set the font size to 12px */
+.f6 { font-size: 12px !important; }
+
+/* Set the font size to 40px and weight to light */
+.f00-light { font-size: 40px !important; font-weight: 300 !important; }
+@media (min-width: 768px) { .f00-light { font-size: 48px !important; } }
+
+/* Set the font size to 32px and weight to light */
+.f0-light { font-size: 32px !important; font-weight: 300 !important; }
+@media (min-width: 768px) { .f0-light { font-size: 40px !important; } }
+
+/* Set the font size to 26px and weight to light */
+.f1-light { font-size: 26px !important; font-weight: 300 !important; }
+@media (min-width: 768px) { .f1-light { font-size: 32px !important; } }
+
+/* Set the font size to 22px and weight to light */
+.f2-light { font-size: 22px !important; font-weight: 300 !important; }
+@media (min-width: 768px) { .f2-light { font-size: 24px !important; } }
+
+/* Set the font size to 18px and weight to light */
+.f3-light { font-size: 18px !important; font-weight: 300 !important; }
+@media (min-width: 768px) { .f3-light { font-size: 20px !important; } }
+
+/* Set the font size to ${#h6-size} */
+.text-small { font-size: 12px !important; }
+
+/* Large leading paragraphs */
+.lead { margin-bottom: 30px; font-size: 20px; font-weight: 300; color: #586069; }
+
+/* Set the line height to ultra condensed */
+.lh-condensed-ultra { line-height: 1 !important; }
+
+/* Set the line height to condensed */
+.lh-condensed { line-height: 1.25 !important; }
+
+/* Set the line height to default */
+.lh-default { line-height: 1.5 !important; }
+
+/* Text align to the right */
+.text-right { text-align: right !important; }
+
+/* Text align to the left */
+.text-left { text-align: left !important; }
+
+/* Text align to the center */
+.text-center { text-align: center !important; }
+
+@media (min-width: 544px) { .text-sm-right { text-align: right !important; }
+  .text-sm-left { text-align: left !important; }
+  .text-sm-center { text-align: center !important; } }
+@media (min-width: 768px) { .text-md-right { text-align: right !important; }
+  .text-md-left { text-align: left !important; }
+  .text-md-center { text-align: center !important; } }
+@media (min-width: 1012px) { .text-lg-right { text-align: right !important; }
+  .text-lg-left { text-align: left !important; }
+  .text-lg-center { text-align: center !important; } }
+@media (min-width: 1280px) { .text-xl-right { text-align: right !important; }
+  .text-xl-left { text-align: left !important; }
+  .text-xl-center { text-align: center !important; } }
+/* Set the font weight to normal */
+.text-normal { font-weight: 400 !important; }
+
+/* Set the font weight to bold */
+.text-bold { font-weight: 600 !important; }
+
+/* Set the font to italic */
+.text-italic { font-style: italic !important; }
+
+/* Make text uppercase */
+.text-uppercase { text-transform: uppercase !important; }
+
+/* Underline text */
+.no-underline { text-decoration: none !important; }
+
+/* Don't wrap white space */
+.no-wrap { white-space: nowrap !important; }
+
+/* Normal white space */
+.ws-normal { white-space: normal !important; }
+
+/* Allow long lines with no spaces to line break */
+.wb-break-all { word-break: break-all !important; }
+
+.text-emphasized { font-weight: 600; color: #24292e; }
+
+.list-style-none { list-style: none !important; }
+
+/* Add a dark text shadow */
+.text-shadow-dark { text-shadow: 0 1px 1px rgba(27, 31, 35, 0.25), 0 1px 25px rgba(27, 31, 35, 0.75); }
+
+/* Add a light text shadow */
+.text-shadow-light { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); }
+
+/* Visibility hidden */
+.v-hidden { visibility: hidden !important; }
+
+/* Visibility visible */
+.v-visible { visibility: visible !important; }
+
+/* Set the display to table */
+.d-table { display: table !important; }
+
+/* Set the display to table-cell */
+.d-table-cell { display: table-cell !important; }
+
+/* Set the table-layout to fixed */
+.table-fixed { table-layout: fixed !important; }
+
+/* Set the display to block */
+.d-block { display: block !important; }
+
+/* Set the display to inline */
+.d-inline { display: inline !important; }
+
+/* Set the display to inline-block */
+.d-inline-block { display: inline-block !important; }
+
+/* Set the display to flex */
+.d-flex { display: flex !important; }
+
+/* Set the display to inline-flex */
+.d-inline-flex { display: inline-flex !important; }
+
+/* Set the display to none */
+.d-none { display: none !important; }
+
+@media (min-width: 544px) { /* Set the display to table at the sm breakpoint */
+  .d-sm-table { display: table !important; }
+  /* Set the display to table cell at the sm breakpoint */
+  .d-sm-table-cell { display: table-cell !important; }
+  /* Set the display to block at the sm breakpoint */
+  .d-sm-block { display: block !important; }
+  /* Set the display to inline at the sm breakpoint */
+  .d-sm-inline { display: inline !important; }
+  /* Set the display to inline block at the sm breakpoint */
+  .d-sm-inline-block { display: inline-block !important; }
+  /* Set the display to flex at the sm breakpoint */
+  .d-sm-flex { display: flex !important; }
+  /* Set the display to flex at the sm breakpoint */
+  .d-sm-inline-flex { display: inline-flex !important; }
+  /* Set the display to none at the sm breakpoint */
+  .d-sm-none { display: none !important; } }
+@media (min-width: 768px) { /* Set the display to table at the md breakpoint */
+  .d-md-table { display: table !important; }
+  /* Set the display to table cell at the md breakpoint */
+  .d-md-table-cell { display: table-cell !important; }
+  /* Set the display to block at the md breakpoint */
+  .d-md-block { display: block !important; }
+  /* Set the display to inline at the md breakpoint */
+  .d-md-inline { display: inline !important; }
+  /* Set the display to inline block at the md breakpoint */
+  .d-md-inline-block { display: inline-block !important; }
+  /* Set the display to flex at the md breakpoint */
+  .d-md-flex { display: flex !important; }
+  /* Set the display to flex at the md breakpoint */
+  .d-md-inline-flex { display: inline-flex !important; }
+  /* Set the display to none at the md breakpoint */
+  .d-md-none { display: none !important; } }
+@media (min-width: 1012px) { /* Set the display to table at the lg breakpoint */
+  .d-lg-table { display: table !important; }
+  /* Set the display to table cell at the lg breakpoint */
+  .d-lg-table-cell { display: table-cell !important; }
+  /* Set the display to block at the lg breakpoint */
+  .d-lg-block { display: block !important; }
+  /* Set the display to inline at the lg breakpoint */
+  .d-lg-inline { display: inline !important; }
+  /* Set the display to inline block at the lg breakpoint */
+  .d-lg-inline-block { display: inline-block !important; }
+  /* Set the display to flex at the lg breakpoint */
+  .d-lg-flex { display: flex !important; }
+  /* Set the display to flex at the lg breakpoint */
+  .d-lg-inline-flex { display: inline-flex !important; }
+  /* Set the display to none at the lg breakpoint */
+  .d-lg-none { display: none !important; } }
+@media (min-width: 1280px) { /* Set the display to table at the xl breakpoint */
+  .d-xl-table { display: table !important; }
+  /* Set the display to table cell at the xl breakpoint */
+  .d-xl-table-cell { display: table-cell !important; }
+  /* Set the display to block at the xl breakpoint */
+  .d-xl-block { display: block !important; }
+  /* Set the display to inline at the xl breakpoint */
+  .d-xl-inline { display: inline !important; }
+  /* Set the display to inline block at the xl breakpoint */
+  .d-xl-inline-block { display: inline-block !important; }
+  /* Set the display to flex at the xl breakpoint */
+  .d-xl-flex { display: flex !important; }
+  /* Set the display to flex at the xl breakpoint */
+  .d-xl-inline-flex { display: inline-flex !important; }
+  /* Set the display to none at the xl breakpoint */
+  .d-xl-none { display: none !important; } }
+@media (max-width: 544px) { .hide-sm { display: none !important; } }
+@media (min-width: 544px) and (max-width: 768px) { .hide-md { display: none !important; } }
+@media (min-width: 768px) and (max-width: 1012px) { .hide-lg { display: none !important; } }
+@media (min-width: 1012px) { .hide-xl { display: none !important; } }
+.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); word-wrap: normal; border: 0; }
+
+.show-on-focus { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
+.show-on-focus:focus { z-index: 20; width: auto; height: auto; clip: auto; }
+
+.container { width: 980px; margin-right: auto; margin-left: auto; }
+.container::before { display: table; content: ""; }
+.container::after { display: table; clear: both; content: ""; }
+
+.container-md { max-width: 768px; margin-right: auto; margin-left: auto; }
+
+.container-lg { max-width: 1012px; margin-right: auto; margin-left: auto; }
+
+.container-xl { max-width: 1280px; margin-right: auto; margin-left: auto; }
+
+.columns { margin-right: -10px; margin-left: -10px; }
+.columns::before { display: table; content: ""; }
+.columns::after { display: table; clear: both; content: ""; }
+
+.column { float: left; padding-right: 10px; padding-left: 10px; }
+
+.one-third { width: 33.333333%; }
+
+.two-thirds { width: 66.666667%; }
+
+.one-fourth { width: 25%; }
+
+.one-half { width: 50%; }
+
+.three-fourths { width: 75%; }
+
+.one-fifth { width: 20%; }
+
+.four-fifths { width: 80%; }
+
+.centered { display: block; float: none; margin-right: auto; margin-left: auto; }
+
+.col-1 { width: 8.3333333333%; }
+
+.col-2 { width: 16.6666666667%; }
+
+.col-3 { width: 25%; }
+
+.col-4 { width: 33.3333333333%; }
+
+.col-5 { width: 41.6666666667%; }
+
+.col-6 { width: 50%; }
+
+.col-7 { width: 58.3333333333%; }
+
+.col-8 { width: 66.6666666667%; }
+
+.col-9 { width: 75%; }
+
+.col-10 { width: 83.3333333333%; }
+
+.col-11 { width: 91.6666666667%; }
+
+.col-12 { width: 100%; }
+
+@media (min-width: 544px) { .col-sm-1 { width: 8.3333333333%; }
+  .col-sm-2 { width: 16.6666666667%; }
+  .col-sm-3 { width: 25%; }
+  .col-sm-4 { width: 33.3333333333%; }
+  .col-sm-5 { width: 41.6666666667%; }
+  .col-sm-6 { width: 50%; }
+  .col-sm-7 { width: 58.3333333333%; }
+  .col-sm-8 { width: 66.6666666667%; }
+  .col-sm-9 { width: 75%; }
+  .col-sm-10 { width: 83.3333333333%; }
+  .col-sm-11 { width: 91.6666666667%; }
+  .col-sm-12 { width: 100%; } }
+@media (min-width: 768px) { .col-md-1 { width: 8.3333333333%; }
+  .col-md-2 { width: 16.6666666667%; }
+  .col-md-3 { width: 25%; }
+  .col-md-4 { width: 33.3333333333%; }
+  .col-md-5 { width: 41.6666666667%; }
+  .col-md-6 { width: 50%; }
+  .col-md-7 { width: 58.3333333333%; }
+  .col-md-8 { width: 66.6666666667%; }
+  .col-md-9 { width: 75%; }
+  .col-md-10 { width: 83.3333333333%; }
+  .col-md-11 { width: 91.6666666667%; }
+  .col-md-12 { width: 100%; } }
+@media (min-width: 1012px) { .col-lg-1 { width: 8.3333333333%; }
+  .col-lg-2 { width: 16.6666666667%; }
+  .col-lg-3 { width: 25%; }
+  .col-lg-4 { width: 33.3333333333%; }
+  .col-lg-5 { width: 41.6666666667%; }
+  .col-lg-6 { width: 50%; }
+  .col-lg-7 { width: 58.3333333333%; }
+  .col-lg-8 { width: 66.6666666667%; }
+  .col-lg-9 { width: 75%; }
+  .col-lg-10 { width: 83.3333333333%; }
+  .col-lg-11 { width: 91.6666666667%; }
+  .col-lg-12 { width: 100%; } }
+@media (min-width: 1280px) { .col-xl-1 { width: 8.3333333333%; }
+  .col-xl-2 { width: 16.6666666667%; }
+  .col-xl-3 { width: 25%; }
+  .col-xl-4 { width: 33.3333333333%; }
+  .col-xl-5 { width: 41.6666666667%; }
+  .col-xl-6 { width: 50%; }
+  .col-xl-7 { width: 58.3333333333%; }
+  .col-xl-8 { width: 66.6666666667%; }
+  .col-xl-9 { width: 75%; }
+  .col-xl-10 { width: 83.3333333333%; }
+  .col-xl-11 { width: 91.6666666667%; }
+  .col-xl-12 { width: 100%; } }
+.gutter { margin-right: -16px; margin-left: -16px; }
+.gutter > [class*="col-"] { padding-right: 16px !important; padding-left: 16px !important; }
+
+.gutter-condensed { margin-right: -8px; margin-left: -8px; }
+.gutter-condensed > [class*="col-"] { padding-right: 8px !important; padding-left: 8px !important; }
+
+.gutter-spacious { margin-right: -24px; margin-left: -24px; }
+.gutter-spacious > [class*="col-"] { padding-right: 24px !important; padding-left: 24px !important; }
+
+@media (min-width: 544px) { .gutter-sm { margin-right: -16px; margin-left: -16px; }
+  .gutter-sm > [class*="col-"] { padding-right: 16px !important; padding-left: 16px !important; }
+  .gutter-sm-condensed { margin-right: -8px; margin-left: -8px; }
+  .gutter-sm-condensed > [class*="col-"] { padding-right: 8px !important; padding-left: 8px !important; }
+  .gutter-sm-spacious { margin-right: -24px; margin-left: -24px; }
+  .gutter-sm-spacious > [class*="col-"] { padding-right: 24px !important; padding-left: 24px !important; } }
+@media (min-width: 768px) { .gutter-md { margin-right: -16px; margin-left: -16px; }
+  .gutter-md > [class*="col-"] { padding-right: 16px !important; padding-left: 16px !important; }
+  .gutter-md-condensed { margin-right: -8px; margin-left: -8px; }
+  .gutter-md-condensed > [class*="col-"] { padding-right: 8px !important; padding-left: 8px !important; }
+  .gutter-md-spacious { margin-right: -24px; margin-left: -24px; }
+  .gutter-md-spacious > [class*="col-"] { padding-right: 24px !important; padding-left: 24px !important; } }
+@media (min-width: 1012px) { .gutter-lg { margin-right: -16px; margin-left: -16px; }
+  .gutter-lg > [class*="col-"] { padding-right: 16px !important; padding-left: 16px !important; }
+  .gutter-lg-condensed { margin-right: -8px; margin-left: -8px; }
+  .gutter-lg-condensed > [class*="col-"] { padding-right: 8px !important; padding-left: 8px !important; }
+  .gutter-lg-spacious { margin-right: -24px; margin-left: -24px; }
+  .gutter-lg-spacious > [class*="col-"] { padding-right: 24px !important; padding-left: 24px !important; } }
+@media (min-width: 1280px) { .gutter-xl { margin-right: -16px; margin-left: -16px; }
+  .gutter-xl > [class*="col-"] { padding-right: 16px !important; padding-left: 16px !important; }
+  .gutter-xl-condensed { margin-right: -8px; margin-left: -8px; }
+  .gutter-xl-condensed > [class*="col-"] { padding-right: 8px !important; padding-left: 8px !important; }
+  .gutter-xl-spacious { margin-right: -24px; margin-left: -24px; }
+  .gutter-xl-spacious > [class*="col-"] { padding-right: 24px !important; padding-left: 24px !important; } }
+.offset-1 { margin-left: 8.3333333333%; }
+
+.offset-2 { margin-left: 16.6666666667%; }
+
+.offset-3 { margin-left: 25%; }
+
+.offset-4 { margin-left: 33.3333333333%; }
+
+.offset-5 { margin-left: 41.6666666667%; }
+
+.offset-6 { margin-left: 50%; }
+
+.offset-7 { margin-left: 58.3333333333%; }
+
+.offset-8 { margin-left: 66.6666666667%; }
+
+.offset-9 { margin-left: 75%; }
+
+.offset-10 { margin-left: 83.3333333333%; }
+
+.offset-11 { margin-left: 91.6666666667%; }
+
+@media (min-width: 544px) { .offset-sm-1 { margin-left: 8.3333333333%; }
+  .offset-sm-2 { margin-left: 16.6666666667%; }
+  .offset-sm-3 { margin-left: 25%; }
+  .offset-sm-4 { margin-left: 33.3333333333%; }
+  .offset-sm-5 { margin-left: 41.6666666667%; }
+  .offset-sm-6 { margin-left: 50%; }
+  .offset-sm-7 { margin-left: 58.3333333333%; }
+  .offset-sm-8 { margin-left: 66.6666666667%; }
+  .offset-sm-9 { margin-left: 75%; }
+  .offset-sm-10 { margin-left: 83.3333333333%; }
+  .offset-sm-11 { margin-left: 91.6666666667%; } }
+@media (min-width: 768px) { .offset-md-1 { margin-left: 8.3333333333%; }
+  .offset-md-2 { margin-left: 16.6666666667%; }
+  .offset-md-3 { margin-left: 25%; }
+  .offset-md-4 { margin-left: 33.3333333333%; }
+  .offset-md-5 { margin-left: 41.6666666667%; }
+  .offset-md-6 { margin-left: 50%; }
+  .offset-md-7 { margin-left: 58.3333333333%; }
+  .offset-md-8 { margin-left: 66.6666666667%; }
+  .offset-md-9 { margin-left: 75%; }
+  .offset-md-10 { margin-left: 83.3333333333%; }
+  .offset-md-11 { margin-left: 91.6666666667%; } }
+@media (min-width: 1012px) { .offset-lg-1 { margin-left: 8.3333333333%; }
+  .offset-lg-2 { margin-left: 16.6666666667%; }
+  .offset-lg-3 { margin-left: 25%; }
+  .offset-lg-4 { margin-left: 33.3333333333%; }
+  .offset-lg-5 { margin-left: 41.6666666667%; }
+  .offset-lg-6 { margin-left: 50%; }
+  .offset-lg-7 { margin-left: 58.3333333333%; }
+  .offset-lg-8 { margin-left: 66.6666666667%; }
+  .offset-lg-9 { margin-left: 75%; }
+  .offset-lg-10 { margin-left: 83.3333333333%; }
+  .offset-lg-11 { margin-left: 91.6666666667%; } }
+@media (min-width: 1280px) { .offset-xl-1 { margin-left: 8.3333333333%; }
+  .offset-xl-2 { margin-left: 16.6666666667%; }
+  .offset-xl-3 { margin-left: 25%; }
+  .offset-xl-4 { margin-left: 33.3333333333%; }
+  .offset-xl-5 { margin-left: 41.6666666667%; }
+  .offset-xl-6 { margin-left: 50%; }
+  .offset-xl-7 { margin-left: 58.3333333333%; }
+  .offset-xl-8 { margin-left: 66.6666666667%; }
+  .offset-xl-9 { margin-left: 75%; }
+  .offset-xl-10 { margin-left: 83.3333333333%; }
+  .offset-xl-11 { margin-left: 91.6666666667%; } }
+.markdown-body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; line-height: 1.5; word-wrap: break-word; }
+.markdown-body::before { display: table; content: ""; }
+.markdown-body::after { display: table; clear: both; content: ""; }
+.markdown-body > *:first-child { margin-top: 0 !important; }
+.markdown-body > *:last-child { margin-bottom: 0 !important; }
+.markdown-body a:not([href]) { color: inherit; text-decoration: none; }
+.markdown-body .absent { color: #cb2431; }
+.markdown-body .anchor { float: left; padding-right: 4px; margin-left: -20px; line-height: 1; }
+.markdown-body .anchor:focus { outline: none; }
+.markdown-body p, .markdown-body blockquote, .markdown-body ul, .markdown-body ol, .markdown-body dl, .markdown-body table, .markdown-body pre { margin-top: 0; margin-bottom: 16px; }
+.markdown-body hr { height: 0.25em; padding: 0; margin: 24px 0; background-color: #e1e4e8; border: 0; }
+.markdown-body blockquote { padding: 0 1em; color: #6a737d; border-left: 0.25em solid #dfe2e5; }
+.markdown-body blockquote > :first-child { margin-top: 0; }
+.markdown-body blockquote > :last-child { margin-bottom: 0; }
+.markdown-body kbd { display: inline-block; padding: 3px 5px; font-size: 11px; line-height: 10px; color: #444d56; vertical-align: middle; background-color: #fafbfc; border: solid 1px #c6cbd1; border-bottom-color: #959da5; border-radius: 3px; box-shadow: inset 0 -1px 0 #959da5; }
+
+.markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { margin-top: 24px; margin-bottom: 16px; font-weight: 600; line-height: 1.25; }
+.markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { color: #1b1f23; vertical-align: middle; visibility: hidden; }
+.markdown-body h1:hover .anchor, .markdown-body h2:hover .anchor, .markdown-body h3:hover .anchor, .markdown-body h4:hover .anchor, .markdown-body h5:hover .anchor, .markdown-body h6:hover .anchor { text-decoration: none; }
+.markdown-body h1:hover .anchor .octicon-link, .markdown-body h2:hover .anchor .octicon-link, .markdown-body h3:hover .anchor .octicon-link, .markdown-body h4:hover .anchor .octicon-link, .markdown-body h5:hover .anchor .octicon-link, .markdown-body h6:hover .anchor .octicon-link { visibility: visible; }
+.markdown-body h1 tt, .markdown-body h1 code, .markdown-body h2 tt, .markdown-body h2 code, .markdown-body h3 tt, .markdown-body h3 code, .markdown-body h4 tt, .markdown-body h4 code, .markdown-body h5 tt, .markdown-body h5 code, .markdown-body h6 tt, .markdown-body h6 code { font-size: inherit; }
+.markdown-body h1 { padding-bottom: 0.3em; font-size: 2em; border-bottom: 1px solid #eaecef; }
+.markdown-body h2 { padding-bottom: 0.3em; font-size: 1.5em; border-bottom: 1px solid #eaecef; }
+.markdown-body h3 { font-size: 1.25em; }
+.markdown-body h4 { font-size: 1em; }
+.markdown-body h5 { font-size: 0.875em; }
+.markdown-body h6 { font-size: 0.85em; color: #6a737d; }
+
+.markdown-body ul, .markdown-body ol { padding-left: 2em; }
+.markdown-body ul.no-list, .markdown-body ol.no-list { padding: 0; list-style-type: none; }
+.markdown-body ul ul, .markdown-body ul ol, .markdown-body ol ol, .markdown-body ol ul { margin-top: 0; margin-bottom: 0; }
+.markdown-body li > p { margin-top: 16px; }
+.markdown-body li + li { margin-top: 0.25em; }
+.markdown-body dl { padding: 0; }
+.markdown-body dl dt { padding: 0; margin-top: 16px; font-size: 1em; font-style: italic; font-weight: 600; }
+.markdown-body dl dd { padding: 0 16px; margin-bottom: 16px; }
+
+.markdown-body table { display: block; width: 100%; overflow: auto; }
+.markdown-body table th { font-weight: 600; }
+.markdown-body table th, .markdown-body table td { padding: 6px 13px; border: 1px solid #dfe2e5; }
+.markdown-body table tr { background-color: #fff; border-top: 1px solid #c6cbd1; }
+.markdown-body table tr:nth-child(2n) { background-color: #f6f8fa; }
+.markdown-body table img { background-color: transparent; }
+
+.markdown-body img { max-width: 100%; box-sizing: content-box; background-color: #fff; }
+.markdown-body img[align=right] { padding-left: 20px; }
+.markdown-body img[align=left] { padding-right: 20px; }
+.markdown-body .emoji { max-width: none; vertical-align: text-top; background-color: transparent; }
+.markdown-body span.frame { display: block; overflow: hidden; }
+.markdown-body span.frame > span { display: block; float: left; width: auto; padding: 7px; margin: 13px 0 0; overflow: hidden; border: 1px solid #dfe2e5; }
+.markdown-body span.frame span img { display: block; float: left; }
+.markdown-body span.frame span span { display: block; padding: 5px 0 0; clear: both; color: #24292e; }
+.markdown-body span.align-center { display: block; overflow: hidden; clear: both; }
+.markdown-body span.align-center > span { display: block; margin: 13px auto 0; overflow: hidden; text-align: center; }
+.markdown-body span.align-center span img { margin: 0 auto; text-align: center; }
+.markdown-body span.align-right { display: block; overflow: hidden; clear: both; }
+.markdown-body span.align-right > span { display: block; margin: 13px 0 0; overflow: hidden; text-align: right; }
+.markdown-body span.align-right span img { margin: 0; text-align: right; }
+.markdown-body span.float-left { display: block; float: left; margin-right: 13px; overflow: hidden; }
+.markdown-body span.float-left span { margin: 13px 0 0; }
+.markdown-body span.float-right { display: block; float: right; margin-left: 13px; overflow: hidden; }
+.markdown-body span.float-right > span { display: block; margin: 13px auto 0; overflow: hidden; text-align: right; }
+
+.markdown-body code, .markdown-body tt { padding: 0; padding-top: 0.2em; padding-bottom: 0.2em; margin: 0; font-size: 85%; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; }
+.markdown-body code::before, .markdown-body code::after, .markdown-body tt::before, .markdown-body tt::after { letter-spacing: -0.2em; content: "\00a0"; }
+.markdown-body code br, .markdown-body tt br { display: none; }
+.markdown-body del code { text-decoration: inherit; }
+.markdown-body pre { word-wrap: normal; }
+.markdown-body pre > code { padding: 0; margin: 0; font-size: 100%; word-break: normal; white-space: pre; background: transparent; border: 0; }
+.markdown-body .highlight { margin-bottom: 16px; }
+.markdown-body .highlight pre { margin-bottom: 0; word-break: normal; }
+.markdown-body .highlight pre, .markdown-body pre { padding: 16px; overflow: auto; font-size: 85%; line-height: 1.45; background-color: #f6f8fa; border-radius: 3px; }
+.markdown-body pre code, .markdown-body pre tt { display: inline; max-width: auto; padding: 0; margin: 0; overflow: visible; line-height: inherit; word-wrap: normal; background-color: transparent; border: 0; }
+.markdown-body pre code::before, .markdown-body pre code::after, .markdown-body pre tt::before, .markdown-body pre tt::after { content: normal; }
+
+.markdown-body .csv-data td, .markdown-body .csv-data th { padding: 5px; overflow: hidden; font-size: 12px; line-height: 1; text-align: left; white-space: nowrap; }
+.markdown-body .csv-data .blob-num { padding: 10px 8px 9px; text-align: right; background: #fff; border: 0; }
+.markdown-body .csv-data tr { border-top: 0; }
+.markdown-body .csv-data th { font-weight: 600; background: #f6f8fa; border-top: 0; }
+
+.highlight table td { padding: 5px; }
+
+.highlight table pre { margin: 0; }
+
+.highlight .cm { color: #999988; font-style: italic; }
+
+.highlight .cp { color: #999999; font-weight: bold; }
+
+.highlight .c1 { color: #999988; font-style: italic; }
+
+.highlight .cs { color: #999999; font-weight: bold; font-style: italic; }
+
+.highlight .c, .highlight .cd { color: #999988; font-style: italic; }
+
+.highlight .err { color: #a61717; background-color: #e3d2d2; }
+
+.highlight .gd { color: #000000; background-color: #ffdddd; }
+
+.highlight .ge { color: #000000; font-style: italic; }
+
+.highlight .gr { color: #aa0000; }
+
+.highlight .gh { color: #999999; }
+
+.highlight .gi { color: #000000; background-color: #ddffdd; }
+
+.highlight .go { color: #888888; }
+
+.highlight .gp { color: #555555; }
+
+.highlight .gs { font-weight: bold; }
+
+.highlight .gu { color: #aaaaaa; }
+
+.highlight .gt { color: #aa0000; }
+
+.highlight .kc { color: #000000; font-weight: bold; }
+
+.highlight .kd { color: #000000; font-weight: bold; }
+
+.highlight .kn { color: #000000; font-weight: bold; }
+
+.highlight .kp { color: #000000; font-weight: bold; }
+
+.highlight .kr { color: #000000; font-weight: bold; }
+
+.highlight .kt { color: #445588; font-weight: bold; }
+
+.highlight .k, .highlight .kv { color: #000000; font-weight: bold; }
+
+.highlight .mf { color: #009999; }
+
+.highlight .mh { color: #009999; }
+
+.highlight .il { color: #009999; }
+
+.highlight .mi { color: #009999; }
+
+.highlight .mo { color: #009999; }
+
+.highlight .m, .highlight .mb, .highlight .mx { color: #009999; }
+
+.highlight .sb { color: #d14; }
+
+.highlight .sc { color: #d14; }
+
+.highlight .sd { color: #d14; }
+
+.highlight .s2 { color: #d14; }
+
+.highlight .se { color: #d14; }
+
+.highlight .sh { color: #d14; }
+
+.highlight .si { color: #d14; }
+
+.highlight .sx { color: #d14; }
+
+.highlight .sr { color: #009926; }
+
+.highlight .s1 { color: #d14; }
+
+.highlight .ss { color: #990073; }
+
+.highlight .s { color: #d14; }
+
+.highlight .na { color: #008080; }
+
+.highlight .bp { color: #999999; }
+
+.highlight .nb { color: #0086B3; }
+
+.highlight .nc { color: #445588; font-weight: bold; }
+
+.highlight .no { color: #008080; }
+
+.highlight .nd { color: #3c5d5d; font-weight: bold; }
+
+.highlight .ni { color: #800080; }
+
+.highlight .ne { color: #990000; font-weight: bold; }
+
+.highlight .nf { color: #990000; font-weight: bold; }
+
+.highlight .nl { color: #990000; font-weight: bold; }
+
+.highlight .nn { color: #555555; }
+
+.highlight .nt { color: #000080; }
+
+.highlight .vc { color: #008080; }
+
+.highlight .vg { color: #008080; }
+
+.highlight .vi { color: #008080; }
+
+.highlight .nv { color: #008080; }
+
+.highlight .ow { color: #000000; font-weight: bold; }
+
+.highlight .o { color: #000000; font-weight: bold; }
+
+.highlight .w { color: #bbbbbb; }
+
+.highlight { background-color: #f8f8f8; }
diff --git a/_site/assets/javascript/anchor-js/.eslintrc b/_site/assets/javascript/anchor-js/.eslintrc
new file mode 100644
index 0000000..9f486e0
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/.eslintrc
@@ -0,0 +1,77 @@
+{
+    "env": {
+        "browser": true
+    },
+
+    "rules": {
+        "array-bracket-spacing": [2, "never"],
+        "block-scoped-var": 2,
+        "brace-style": [2, "1tbs"],
+        "camelcase": 2,
+        "comma-spacing": [2, {"before": false, "after": true}],
+        "comma-style": [2, "last"],
+        "computed-property-spacing": [2, "never"],
+        "consistent-this": [2, "that"],
+        "curly": 2,
+        "eol-last": 2,
+        "eqeqeq": 2,
+        "guard-for-in": 2,
+        "handle-callback-err": 2,
+        "indent": [2, 2, {"VariableDeclarator": 2}],
+        "key-spacing": [2, {"beforeColon": false, "afterColon": true}],
+        "keyword-spacing": 2,
+        "no-caller": 2,
+        "new-cap": 2,
+        "new-parens": 2,
+        "no-array-constructor": 2,
+        "no-bitwise": 2,
+        "no-constant-condition": 2,
+        "no-else-return": 2,
+        "no-empty": 2,
+        "no-eq-null": 2,
+        "no-extra-parens": 0,
+        "no-extra-semi": 2,
+        "no-undef": 2,
+        "no-floating-decimal": 2,
+        "no-invalid-regexp": 2,
+        "no-irregular-whitespace": 2,
+        "no-lonely-if": 2,
+        "no-mixed-requires": 2,
+        "no-mixed-spaces-and-tabs": 2,
+        "no-multiple-empty-lines": 2,
+        "no-multi-spaces": 0,
+        "no-negated-in-lhs": 2,
+        "no-new-object": 2,
+        "no-path-concat": 2,
+        "no-process-env": 2,
+        "no-regex-spaces": 2,
+        "no-self-compare": 2,
+        "no-sequences": 2,
+        "no-spaced-func": 2,
+        "no-trailing-spaces": 2,
+        "no-underscore-dangle": 0,
+        "no-unused-vars": 0, // we should find a way to only exclude addAnchors and enable this
+        "no-use-before-define": [2, "nofunc"],
+        "no-void": 2,
+        "object-curly-spacing": [2, "always"],
+        "operator-assignment": [2, "always"],
+        "quotes": [2, "single"],
+        "quote-props": [2, "as-needed"],
+        "radix": 2,
+        "semi": [2, "always"],
+        "semi-spacing": 2,
+        "space-before-blocks": [2, "always"],
+        "spaced-comment": [2, "always"],
+        "space-in-parens": [2, "never"],
+        "space-unary-ops": [2, {"words": true, "nonwords": false}],
+        "strict": [2, "function"],
+        "valid-jsdoc": [2, {"requireReturn": false}],
+        "valid-typeof": 2,
+        "wrap-iife": [2, "outside"],
+        "yoda": [2, "never"]
+    },
+
+    "globals": {
+        "DocumentTouch": true,
+    }
+}
diff --git a/_site/assets/javascript/anchor-js/.gitattributes b/_site/assets/javascript/anchor-js/.gitattributes
new file mode 100644
index 0000000..72af4ec
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/.gitattributes
@@ -0,0 +1,2 @@
+# Enforce Unix newlines
+*.js    text eol=lf
diff --git a/_site/assets/javascript/anchor-js/.npmignore b/_site/assets/javascript/anchor-js/.npmignore
new file mode 100644
index 0000000..536e87f
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/.npmignore
@@ -0,0 +1,4 @@
+/_site/
+/node_modules/
+/npm-debug.log
+/_config.yml
diff --git a/_site/assets/javascript/anchor-js/.travis.yml b/_site/assets/javascript/anchor-js/.travis.yml
new file mode 100644
index 0000000..93f5f8b
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/.travis.yml
@@ -0,0 +1,6 @@
+language: node_js
+node_js:
+    - "node"
+branches:
+  only:
+    - master
diff --git a/_site/assets/javascript/anchor-js/anchor.js b/_site/assets/javascript/anchor-js/anchor.js
new file mode 100644
index 0000000..800ccf1
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/anchor.js
@@ -0,0 +1,334 @@
+/* eslint-env amd, node */
+
+// https://github.com/umdjs/umd/blob/master/templates/returnExports.js
+(function (root, factory) {
+  'use strict';
+
+  if (typeof define === 'function' && define.amd) {
+    // AMD. Register as an anonymous module.
+    define([], factory);
+  } else if (typeof module === 'object' && module.exports) {
+    // Node. Does not work with strict CommonJS, but
+    // only CommonJS-like environments that support module.exports,
+    // like Node.
+    module.exports = factory();
+  } else {
+    // Browser globals (root is window)
+    root.AnchorJS = factory();
+    root.anchors = new root.AnchorJS();
+  }
+}(this, function () {
+  'use strict';
+
+  function AnchorJS(options) {
+    this.options = options || {};
+    this.elements = [];
+
+    /**
+     * Assigns options to the internal options object, and provides defaults.
+     * @param {Object} opts - Options object
+     */
+    function _applyRemainingDefaultOptions(opts) {
+      opts.icon = opts.hasOwnProperty('icon') ? opts.icon : '\ue9cb'; // Accepts characters (and also URLs?), like  '#', '¶', '❡', or '§'.
+      opts.visible = opts.hasOwnProperty('visible') ? opts.visible : 'hover'; // Also accepts 'always' & 'touch'
+      opts.placement = opts.hasOwnProperty('placement') ? opts.placement : 'right'; // Also accepts 'left'
+      opts.class = opts.hasOwnProperty('class') ? opts.class : ''; // Accepts any class name.
+      // Using Math.floor here will ensure the value is Number-cast and an integer.
+      opts.truncate = opts.hasOwnProperty('truncate') ? Math.floor(opts.truncate) : 64; // Accepts any value that can be typecast to a number.
+    }
+
+    _applyRemainingDefaultOptions(this.options);
+
+    /**
+     * Checks to see if this device supports touch. Uses criteria pulled from Modernizr:
+     * https://github.com/Modernizr/Modernizr/blob/da22eb27631fc4957f67607fe6042e85c0a84656/feature-detects/touchevents.js#L40
+     * @return {Boolean} - true if the current device supports touch.
+     */
+    this.isTouchDevice = function() {
+      return !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch);
+    };
+
+    /**
+     * Add anchor links to page elements.
+     * @param  {String|Array|Nodelist} selector - A CSS selector for targeting the elements you wish to add anchor links
+     *                                            to. Also accepts an array or nodeList containing the relavant elements.
+     * @return {this}                           - The AnchorJS object
+     */
+    this.add = function(selector) {
+      var elements,
+          elsWithIds,
+          idList,
+          elementID,
+          i,
+          index,
+          count,
+          tidyText,
+          newTidyText,
+          readableID,
+          anchor,
+          visibleOptionToUse,
+          indexesToDrop = [];
+
+      // We reapply options here because somebody may have overwritten the default options object when setting options.
+      // For example, this overwrites all options but visible:
+      //
+      // anchors.options = { visible: 'always'; }
+      _applyRemainingDefaultOptions(this.options);
+
+      visibleOptionToUse = this.options.visible;
+      if (visibleOptionToUse === 'touch') {
+        visibleOptionToUse = this.isTouchDevice() ? 'always' : 'hover';
+      }
+
+      // Provide a sensible default selector, if none is given.
+      if (!selector) {
+        selector = 'h2, h3, h4, h5, h6';
+      }
+
+      elements = _getElements(selector);
+
+      if (elements.length === 0) {
+        return this;
+      }
+
+      _addBaselineStyles();
+
+      // We produce a list of existing IDs so we don't generate a duplicate.
+      elsWithIds = document.querySelectorAll('[id]');
+      idList = [].map.call(elsWithIds, function assign(el) {
+        return el.id;
+      });
+
+      for (i = 0; i < elements.length; i++) {
+        if (this.hasAnchorJSLink(elements[i])) {
+          indexesToDrop.push(i);
+          continue;
+        }
+
+        if (elements[i].hasAttribute('id')) {
+          elementID = elements[i].getAttribute('id');
+        } else if (elements[i].hasAttribute('data-anchor-id')) {
+          elementID = elements[i].getAttribute('data-anchor-id');
+        } else {
+          tidyText = this.urlify(elements[i].textContent);
+
+          // Compare our generated ID to existing IDs (and increment it if needed)
+          // before we add it to the page.
+          newTidyText = tidyText;
+          count = 0;
+          do {
+            if (index !== undefined) {
+              newTidyText = tidyText + '-' + count;
+            }
+
+            index = idList.indexOf(newTidyText);
+            count += 1;
+          } while (index !== -1);
+          index = undefined;
+          idList.push(newTidyText);
+
+          elements[i].setAttribute('id', newTidyText);
+          elementID = newTidyText;
+        }
+
+        readableID = elementID.replace(/-/g, ' ');
+
+        // The following code builds the following DOM structure in a more effiecient (albeit opaque) way.
+        // '<a class="anchorjs-link ' + this.options.class + '" href="#' + elementID + '" aria-label="Anchor link for: ' + readableID + '" data-anchorjs-icon="' + this.options.icon + '"></a>';
+        anchor = document.createElement('a');
+        anchor.className = 'anchorjs-link ' + this.options.class;
+        anchor.href = '#' + elementID;
+        anchor.setAttribute('aria-label', 'Anchor link for: ' + readableID);
+        anchor.setAttribute('data-anchorjs-icon', this.options.icon);
+
+        if (visibleOptionToUse === 'always') {
+          anchor.style.opacity = '1';
+        }
+
+        if (this.options.icon === '\ue9cb') {
+          anchor.style.font = '1em/1 anchorjs-icons';
+
+          // We set lineHeight = 1 here because the `anchorjs-icons` font family could otherwise affect the
+          // height of the heading. This isn't the case for icons with `placement: left`, so we restore
+          // line-height: inherit in that case, ensuring they remain positioned correctly. For more info,
+          // see https://github.com/bryanbraun/anchorjs/issues/39.
+          if (this.options.placement === 'left') {
+            anchor.style.lineHeight = 'inherit';
+          }
+        }
+
+        if (this.options.placement === 'left') {
+          anchor.style.position = 'absolute';
+          anchor.style.marginLeft = '-1em';
+          anchor.style.paddingRight = '0.5em';
+          elements[i].insertBefore(anchor, elements[i].firstChild);
+        } else { // if the option provided is `right` (or anything else).
+          anchor.style.paddingLeft = '0.375em';
+          elements[i].appendChild(anchor);
+        }
+      }
+
+      for (i = 0; i < indexesToDrop.length; i++) {
+        elements.splice(indexesToDrop[i] - i, 1);
+      }
+      this.elements = this.elements.concat(elements);
+
+      return this;
+    };
+
+    /**
+     * Removes all anchorjs-links from elements targed by the selector.
+     * @param  {String|Array|Nodelist} selector - A CSS selector string targeting elements with anchor links,
+     *                                            OR a nodeList / array containing the DOM elements.
+     * @return {this}                           - The AnchorJS object
+     */
+    this.remove = function(selector) {
+      var index,
+          domAnchor,
+          elements = _getElements(selector);
+
+      for (var i = 0; i < elements.length; i++) {
+        domAnchor = elements[i].querySelector('.anchorjs-link');
+        if (domAnchor) {
+          // Drop the element from our main list, if it's in there.
+          index = this.elements.indexOf(elements[i]);
+          if (index !== -1) {
+            this.elements.splice(index, 1);
+          }
+          // Remove the anchor from the DOM.
+          elements[i].removeChild(domAnchor);
+        }
+      }
+      return this;
+    };
+
+    /**
+     * Removes all anchorjs links. Mostly used for tests.
+     */
+    this.removeAll = function() {
+      this.remove(this.elements);
+    };
+
+    /**
+     * Urlify - Refine text so it makes a good ID.
+     *
+     * To do this, we remove apostrophes, replace nonsafe characters with hyphens,
+     * remove extra hyphens, truncate, trim hyphens, and make lowercase.
+     *
+     * @param  {String} text - Any text. Usually pulled from the webpage element we are linking to.
+     * @return {String}      - hyphen-delimited text for use in IDs and URLs.
+     */
+    this.urlify = function(text) {
+      // Regex for finding the nonsafe URL characters (many need escaping): & +$,:;=?@"#{}|^~[`%!'<>]./()*\
+      var nonsafeChars = /[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\]/g,
+          urlText;
+
+      // The reason we include this _applyRemainingDefaultOptions is so urlify can be called independently,
+      // even after setting options. This can be useful for tests or other applications.
+      if (!this.options.truncate) {
+        _applyRemainingDefaultOptions(this.options);
+      }
+
+      // Note: we trim hyphens after truncating because truncating can cause dangling hyphens.
+      // Example string:                                  // " ⚡⚡ Don't forget: URL fragments should be i18n-friendly, hyphenated, short, and clean."
+      urlText = text.trim()                               // "⚡⚡ Don't forget: URL fragments should be i18n-friendly, hyphenated, short, and clean."
+                    .replace(/\'/gi, '')                  // "⚡⚡ Dont forget: URL fragments should be i18n-friendly, hyphenated, short, and clean."
+                    .replace(nonsafeChars, '-')           // "⚡⚡-Dont-forget--URL-fragments-should-be-i18n-friendly--hyphenated--short--and-clean-"
+                    .replace(/-{2,}/g, '-')               // "⚡⚡-Dont-forget-URL-fragments-should-be-i18n-friendly-hyphenated-short-and-clean-"
+                    .substring(0, this.options.truncate)  // "⚡⚡-Dont-forget-URL-fragments-should-be-i18n-friendly-hyphenated-"
+                    .replace(/^-+|-+$/gm, '')             // "⚡⚡-Dont-forget-URL-fragments-should-be-i18n-friendly-hyphenated"
+                    .toLowerCase();                       // "⚡⚡-dont-forget-url-fragments-should-be-i18n-friendly-hyphenated"
+
+      return urlText;
+    };
+
+    /**
+     * Determines if this element already has an AnchorJS link on it.
+     * Uses this technique: http://stackoverflow.com/a/5898748/1154642
+     * @param    {HTMLElemnt}  el - a DOM node
+     * @return   {Boolean}     true/false
+     */
+    this.hasAnchorJSLink = function(el) {
+      var hasLeftAnchor = el.firstChild && ((' ' + el.firstChild.className + ' ').indexOf(' anchorjs-link ') > -1),
+          hasRightAnchor = el.lastChild && ((' ' + el.lastChild.className + ' ').indexOf(' anchorjs-link ') > -1);
+
+      return hasLeftAnchor || hasRightAnchor || false;
+    };
+
+    /**
+     * Turns a selector, nodeList, or array of elements into an array of elements (so we can use array methods).
+     * It also throws errors on any other inputs. Used to handle inputs to .add and .remove.
+     * @param  {String|Array|Nodelist} input - A CSS selector string targeting elements with anchor links,
+     *                                         OR a nodeList / array containing the DOM elements.
+     * @return {Array} - An array containing the elements we want.
+     */
+    function _getElements(input) {
+      var elements;
+      if (typeof input === 'string' || input instanceof String) {
+        // See https://davidwalsh.name/nodelist-array for the technique transforming nodeList -> Array.
+        elements = [].slice.call(document.querySelectorAll(input));
+      // I checked the 'input instanceof NodeList' test in IE9 and modern browsers and it worked for me.
+      } else if (Array.isArray(input) || input instanceof NodeList) {
+        elements = [].slice.call(input);
+      } else {
+        throw new Error('The selector provided to AnchorJS was invalid.');
+      }
+      return elements;
+    }
+
+    /**
+     * _addBaselineStyles
+     * Adds baseline styles to the page, used by all AnchorJS links irregardless of configuration.
+     */
+    function _addBaselineStyles() {
+      // We don't want to add global baseline styles if they've been added before.
+      if (document.head.querySelector('style.anchorjs') !== null) {
+        return;
+      }
+
+      var style = document.createElement('style'),
+          linkRule =
+          ' .anchorjs-link {'                       +
+          '   opacity: 0;'                          +
+          '   text-decoration: none;'               +
+          '   -webkit-font-smoothing: antialiased;' +
+          '   -moz-osx-font-smoothing: grayscale;'  +
+          ' }',
+          hoverRule =
+          ' *:hover > .anchorjs-link,'              +
+          ' .anchorjs-link:focus  {'                +
+          '   opacity: 1;'                          +
+          ' }',
+          anchorjsLinkFontFace =
+          ' @font-face {'                           +
+          '   font-family: "anchorjs-icons";'       + // Icon from icomoon; 10px wide & 10px tall; 2 empty below & 4 above
+          '   src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype");' +
+          ' }',
+          pseudoElContent =
+          ' [data-anchorjs-icon]::after {'          +
+          '   content: attr(data-anchorjs-icon);'   +
+          ' }',
+          firstStyleEl;
+
+      style.className = 'anchorjs';
+      style.appendChild(document.createTextNode('')); // Necessary for Webkit.
+
+      // We place it in the head with the other style tags, if possible, so as to
+      // not look out of place. We insert before the others so these styles can be
+      // overridden if necessary.
+      firstStyleEl = document.head.querySelector('[rel="stylesheet"], style');
+      if (firstStyleEl === undefined) {
+        document.head.appendChild(style);
+      } else {
+        document.head.insertBefore(style, firstStyleEl);
+      }
+
+      style.sheet.insertRule(linkRule, style.sheet.cssRules.length);
+      style.sheet.insertRule(hoverRule, style.sheet.cssRules.length);
+      style.sheet.insertRule(pseudoElContent, style.sheet.cssRules.length);
+      style.sheet.insertRule(anchorjsLinkFontFace, style.sheet.cssRules.length);
+    }
+  }
+
+  return AnchorJS;
+}));
diff --git a/_site/assets/javascript/anchor-js/anchor.min.js b/_site/assets/javascript/anchor-js/anchor.min.js
new file mode 100644
index 0000000..35575f1
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/anchor.min.js
@@ -0,0 +1,6 @@
+/**
+ * AnchorJS - v4.0.0 - 2017-06-02
+ * https://github.com/bryanbraun/anchorjs
+ * Copyright (c) 2017 Bryan Braun; Licensed MIT
+ */
+!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";function A(A){function e(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.class=A.hasOwnProperty("class")?A.class:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64}function t(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}function n(){if(null===document.head.querySelector("style.anchorjs")){var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A),e.sheet.insertRule(" .anchorjs-link {   opacity: 0;   text-decoration: none;   -webkit-font-smoothing: antialiased;   -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus  {   opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after {   content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face {   font-family: "anchorjs-icons";   src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}}this.options=A||{},this.elements=[],e(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var i,o,s,c,r,a,h,l,u,d,f,g,p=[];if(e(this.options),"touch"===(g=this.options.visible)&&(g=this.isTouchDevice()?"always":"hover"),A||(A="h2, h3, h4, h5, h6"),0===(i=t(A)).length)return this;for(n(),o=document.querySelectorAll("[id]"),s=[].map.call(o,function(A){return A.id}),r=0;r<i.length;r++)if(this.hasAnchorJSLink(i[r]))p.push(r);else{if(i[r].hasAttribute("id"))c=i[r].getAttribute("id");else if(i[r].hasAttribute("data-anchor-id"))c=i[r].getAttribute("data-anchor-id");else{u=l=this.urlify(i[r].textContent),h=0;do{void 0!==a&&(u=l+"-"+h),a=s.indexOf(u),h+=1}while(-1!==a);a=void 0,s.push(u),i[r].setAttribute("id",u),c=u}d=c.replace(/-/g," "),(f=document.createElement("a")).className="anchorjs-link "+this.options.class,f.href="#"+c,f.setAttribute("aria-label","Anchor link for: "+d),f.setAttribute("data-anchorjs-icon",this.options.icon),"always"===g&&(f.style.opacity="1"),""===this.options.icon&&(f.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(f.style.lineHeight="inherit")),"left"===this.options.placement?(f.style.position="absolute",f.style.marginLeft="-1em",f.style.paddingRight="0.5em",i[r].insertBefore(f,i[r].firstChild)):(f.style.paddingLeft="0.375em",i[r].appendChild(f))}for(r=0;r<p.length;r++)i.splice(p[r]-r,1);return this.elements=this.elements.concat(i),this},this.remove=function(A){for(var e,n,i=t(A),o=0;o<i.length;o++)(n=i[o].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(i[o]))&&this.elements.splice(e,1),i[o].removeChild(n));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){var t=/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\]/g;return this.options.truncate||e(this.options),A.trim().replace(/\'/gi,"").replace(t,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&(" "+A.firstChild.className+" ").indexOf(" anchorjs-link ")>-1,t=A.lastChild&&(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return e||t||!1}}return A});
\ No newline at end of file
diff --git a/_site/assets/javascript/anchor-js/banner.js b/_site/assets/javascript/anchor-js/banner.js
new file mode 100644
index 0000000..6bd551e
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/banner.js
@@ -0,0 +1,17 @@
+const fs = require('fs');
+const pkg = require('./package.json');
+const filename = 'anchor.min.js';
+const script = fs.readFileSync(filename);
+const padStart = str => ('0' + str).slice(-2)
+const dateObj = new Date;
+const date = `${dateObj.getFullYear()}-${padStart(dateObj.getMonth() + 1)}-${padStart(dateObj.getDate())}`;
+const banner = `/**
+ * AnchorJS - v${pkg.version} - ${date}
+ * ${pkg.homepage}
+ * Copyright (c) ${dateObj.getFullYear()} Bryan Braun; Licensed ${pkg.license}
+ */
+`;
+
+if (script.slice(0, 3) != '/**') {
+  fs.writeFileSync(filename, banner + script);
+}
diff --git a/_site/assets/javascript/anchor-js/docs/anchor.js b/_site/assets/javascript/anchor-js/docs/anchor.js
new file mode 100644
index 0000000..800ccf1
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/anchor.js
@@ -0,0 +1,334 @@
+/* eslint-env amd, node */
+
+// https://github.com/umdjs/umd/blob/master/templates/returnExports.js
+(function (root, factory) {
+  'use strict';
+
+  if (typeof define === 'function' && define.amd) {
+    // AMD. Register as an anonymous module.
+    define([], factory);
+  } else if (typeof module === 'object' && module.exports) {
+    // Node. Does not work with strict CommonJS, but
+    // only CommonJS-like environments that support module.exports,
+    // like Node.
+    module.exports = factory();
+  } else {
+    // Browser globals (root is window)
+    root.AnchorJS = factory();
+    root.anchors = new root.AnchorJS();
+  }
+}(this, function () {
+  'use strict';
+
+  function AnchorJS(options) {
+    this.options = options || {};
+    this.elements = [];
+
+    /**
+     * Assigns options to the internal options object, and provides defaults.
+     * @param {Object} opts - Options object
+     */
+    function _applyRemainingDefaultOptions(opts) {
+      opts.icon = opts.hasOwnProperty('icon') ? opts.icon : '\ue9cb'; // Accepts characters (and also URLs?), like  '#', '¶', '❡', or '§'.
+      opts.visible = opts.hasOwnProperty('visible') ? opts.visible : 'hover'; // Also accepts 'always' & 'touch'
+      opts.placement = opts.hasOwnProperty('placement') ? opts.placement : 'right'; // Also accepts 'left'
+      opts.class = opts.hasOwnProperty('class') ? opts.class : ''; // Accepts any class name.
+      // Using Math.floor here will ensure the value is Number-cast and an integer.
+      opts.truncate = opts.hasOwnProperty('truncate') ? Math.floor(opts.truncate) : 64; // Accepts any value that can be typecast to a number.
+    }
+
+    _applyRemainingDefaultOptions(this.options);
+
+    /**
+     * Checks to see if this device supports touch. Uses criteria pulled from Modernizr:
+     * https://github.com/Modernizr/Modernizr/blob/da22eb27631fc4957f67607fe6042e85c0a84656/feature-detects/touchevents.js#L40
+     * @return {Boolean} - true if the current device supports touch.
+     */
+    this.isTouchDevice = function() {
+      return !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch);
+    };
+
+    /**
+     * Add anchor links to page elements.
+     * @param  {String|Array|Nodelist} selector - A CSS selector for targeting the elements you wish to add anchor links
+     *                                            to. Also accepts an array or nodeList containing the relavant elements.
+     * @return {this}                           - The AnchorJS object
+     */
+    this.add = function(selector) {
+      var elements,
+          elsWithIds,
+          idList,
+          elementID,
+          i,
+          index,
+          count,
+          tidyText,
+          newTidyText,
+          readableID,
+          anchor,
+          visibleOptionToUse,
+          indexesToDrop = [];
+
+      // We reapply options here because somebody may have overwritten the default options object when setting options.
+      // For example, this overwrites all options but visible:
+      //
+      // anchors.options = { visible: 'always'; }
+      _applyRemainingDefaultOptions(this.options);
+
+      visibleOptionToUse = this.options.visible;
+      if (visibleOptionToUse === 'touch') {
+        visibleOptionToUse = this.isTouchDevice() ? 'always' : 'hover';
+      }
+
+      // Provide a sensible default selector, if none is given.
+      if (!selector) {
+        selector = 'h2, h3, h4, h5, h6';
+      }
+
+      elements = _getElements(selector);
+
+      if (elements.length === 0) {
+        return this;
+      }
+
+      _addBaselineStyles();
+
+      // We produce a list of existing IDs so we don't generate a duplicate.
+      elsWithIds = document.querySelectorAll('[id]');
+      idList = [].map.call(elsWithIds, function assign(el) {
+        return el.id;
+      });
+
+      for (i = 0; i < elements.length; i++) {
+        if (this.hasAnchorJSLink(elements[i])) {
+          indexesToDrop.push(i);
+          continue;
+        }
+
+        if (elements[i].hasAttribute('id')) {
+          elementID = elements[i].getAttribute('id');
+        } else if (elements[i].hasAttribute('data-anchor-id')) {
+          elementID = elements[i].getAttribute('data-anchor-id');
+        } else {
+          tidyText = this.urlify(elements[i].textContent);
+
+          // Compare our generated ID to existing IDs (and increment it if needed)
+          // before we add it to the page.
+          newTidyText = tidyText;
+          count = 0;
+          do {
+            if (index !== undefined) {
+              newTidyText = tidyText + '-' + count;
+            }
+
+            index = idList.indexOf(newTidyText);
+            count += 1;
+          } while (index !== -1);
+          index = undefined;
+          idList.push(newTidyText);
+
+          elements[i].setAttribute('id', newTidyText);
+          elementID = newTidyText;
+        }
+
+        readableID = elementID.replace(/-/g, ' ');
+
+        // The following code builds the following DOM structure in a more effiecient (albeit opaque) way.
+        // '<a class="anchorjs-link ' + this.options.class + '" href="#' + elementID + '" aria-label="Anchor link for: ' + readableID + '" data-anchorjs-icon="' + this.options.icon + '"></a>';
+        anchor = document.createElement('a');
+        anchor.className = 'anchorjs-link ' + this.options.class;
+        anchor.href = '#' + elementID;
+        anchor.setAttribute('aria-label', 'Anchor link for: ' + readableID);
+        anchor.setAttribute('data-anchorjs-icon', this.options.icon);
+
+        if (visibleOptionToUse === 'always') {
+          anchor.style.opacity = '1';
+        }
+
+        if (this.options.icon === '\ue9cb') {
+          anchor.style.font = '1em/1 anchorjs-icons';
+
+          // We set lineHeight = 1 here because the `anchorjs-icons` font family could otherwise affect the
+          // height of the heading. This isn't the case for icons with `placement: left`, so we restore
+          // line-height: inherit in that case, ensuring they remain positioned correctly. For more info,
+          // see https://github.com/bryanbraun/anchorjs/issues/39.
+          if (this.options.placement === 'left') {
+            anchor.style.lineHeight = 'inherit';
+          }
+        }
+
+        if (this.options.placement === 'left') {
+          anchor.style.position = 'absolute';
+          anchor.style.marginLeft = '-1em';
+          anchor.style.paddingRight = '0.5em';
+          elements[i].insertBefore(anchor, elements[i].firstChild);
+        } else { // if the option provided is `right` (or anything else).
+          anchor.style.paddingLeft = '0.375em';
+          elements[i].appendChild(anchor);
+        }
+      }
+
+      for (i = 0; i < indexesToDrop.length; i++) {
+        elements.splice(indexesToDrop[i] - i, 1);
+      }
+      this.elements = this.elements.concat(elements);
+
+      return this;
+    };
+
+    /**
+     * Removes all anchorjs-links from elements targed by the selector.
+     * @param  {String|Array|Nodelist} selector - A CSS selector string targeting elements with anchor links,
+     *                                            OR a nodeList / array containing the DOM elements.
+     * @return {this}                           - The AnchorJS object
+     */
+    this.remove = function(selector) {
+      var index,
+          domAnchor,
+          elements = _getElements(selector);
+
+      for (var i = 0; i < elements.length; i++) {
+        domAnchor = elements[i].querySelector('.anchorjs-link');
+        if (domAnchor) {
+          // Drop the element from our main list, if it's in there.
+          index = this.elements.indexOf(elements[i]);
+          if (index !== -1) {
+            this.elements.splice(index, 1);
+          }
+          // Remove the anchor from the DOM.
+          elements[i].removeChild(domAnchor);
+        }
+      }
+      return this;
+    };
+
+    /**
+     * Removes all anchorjs links. Mostly used for tests.
+     */
+    this.removeAll = function() {
+      this.remove(this.elements);
+    };
+
+    /**
+     * Urlify - Refine text so it makes a good ID.
+     *
+     * To do this, we remove apostrophes, replace nonsafe characters with hyphens,
+     * remove extra hyphens, truncate, trim hyphens, and make lowercase.
+     *
+     * @param  {String} text - Any text. Usually pulled from the webpage element we are linking to.
+     * @return {String}      - hyphen-delimited text for use in IDs and URLs.
+     */
+    this.urlify = function(text) {
+      // Regex for finding the nonsafe URL characters (many need escaping): & +$,:;=?@"#{}|^~[`%!'<>]./()*\
+      var nonsafeChars = /[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\]/g,
+          urlText;
+
+      // The reason we include this _applyRemainingDefaultOptions is so urlify can be called independently,
+      // even after setting options. This can be useful for tests or other applications.
+      if (!this.options.truncate) {
+        _applyRemainingDefaultOptions(this.options);
+      }
+
+      // Note: we trim hyphens after truncating because truncating can cause dangling hyphens.
+      // Example string:                                  // " ⚡⚡ Don't forget: URL fragments should be i18n-friendly, hyphenated, short, and clean."
+      urlText = text.trim()                               // "⚡⚡ Don't forget: URL fragments should be i18n-friendly, hyphenated, short, and clean."
+                    .replace(/\'/gi, '')                  // "⚡⚡ Dont forget: URL fragments should be i18n-friendly, hyphenated, short, and clean."
+                    .replace(nonsafeChars, '-')           // "⚡⚡-Dont-forget--URL-fragments-should-be-i18n-friendly--hyphenated--short--and-clean-"
+                    .replace(/-{2,}/g, '-')               // "⚡⚡-Dont-forget-URL-fragments-should-be-i18n-friendly-hyphenated-short-and-clean-"
+                    .substring(0, this.options.truncate)  // "⚡⚡-Dont-forget-URL-fragments-should-be-i18n-friendly-hyphenated-"
+                    .replace(/^-+|-+$/gm, '')             // "⚡⚡-Dont-forget-URL-fragments-should-be-i18n-friendly-hyphenated"
+                    .toLowerCase();                       // "⚡⚡-dont-forget-url-fragments-should-be-i18n-friendly-hyphenated"
+
+      return urlText;
+    };
+
+    /**
+     * Determines if this element already has an AnchorJS link on it.
+     * Uses this technique: http://stackoverflow.com/a/5898748/1154642
+     * @param    {HTMLElemnt}  el - a DOM node
+     * @return   {Boolean}     true/false
+     */
+    this.hasAnchorJSLink = function(el) {
+      var hasLeftAnchor = el.firstChild && ((' ' + el.firstChild.className + ' ').indexOf(' anchorjs-link ') > -1),
+          hasRightAnchor = el.lastChild && ((' ' + el.lastChild.className + ' ').indexOf(' anchorjs-link ') > -1);
+
+      return hasLeftAnchor || hasRightAnchor || false;
+    };
+
+    /**
+     * Turns a selector, nodeList, or array of elements into an array of elements (so we can use array methods).
+     * It also throws errors on any other inputs. Used to handle inputs to .add and .remove.
+     * @param  {String|Array|Nodelist} input - A CSS selector string targeting elements with anchor links,
+     *                                         OR a nodeList / array containing the DOM elements.
+     * @return {Array} - An array containing the elements we want.
+     */
+    function _getElements(input) {
+      var elements;
+      if (typeof input === 'string' || input instanceof String) {
+        // See https://davidwalsh.name/nodelist-array for the technique transforming nodeList -> Array.
+        elements = [].slice.call(document.querySelectorAll(input));
+      // I checked the 'input instanceof NodeList' test in IE9 and modern browsers and it worked for me.
+      } else if (Array.isArray(input) || input instanceof NodeList) {
+        elements = [].slice.call(input);
+      } else {
+        throw new Error('The selector provided to AnchorJS was invalid.');
+      }
+      return elements;
+    }
+
+    /**
+     * _addBaselineStyles
+     * Adds baseline styles to the page, used by all AnchorJS links irregardless of configuration.
+     */
+    function _addBaselineStyles() {
+      // We don't want to add global baseline styles if they've been added before.
+      if (document.head.querySelector('style.anchorjs') !== null) {
+        return;
+      }
+
+      var style = document.createElement('style'),
+          linkRule =
+          ' .anchorjs-link {'                       +
+          '   opacity: 0;'                          +
+          '   text-decoration: none;'               +
+          '   -webkit-font-smoothing: antialiased;' +
+          '   -moz-osx-font-smoothing: grayscale;'  +
+          ' }',
+          hoverRule =
+          ' *:hover > .anchorjs-link,'              +
+          ' .anchorjs-link:focus  {'                +
+          '   opacity: 1;'                          +
+          ' }',
+          anchorjsLinkFontFace =
+          ' @font-face {'                           +
+          '   font-family: "anchorjs-icons";'       + // Icon from icomoon; 10px wide & 10px tall; 2 empty below & 4 above
+          '   src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype");' +
+          ' }',
+          pseudoElContent =
+          ' [data-anchorjs-icon]::after {'          +
+          '   content: attr(data-anchorjs-icon);'   +
+          ' }',
+          firstStyleEl;
+
+      style.className = 'anchorjs';
+      style.appendChild(document.createTextNode('')); // Necessary for Webkit.
+
+      // We place it in the head with the other style tags, if possible, so as to
+      // not look out of place. We insert before the others so these styles can be
+      // overridden if necessary.
+      firstStyleEl = document.head.querySelector('[rel="stylesheet"], style');
+      if (firstStyleEl === undefined) {
+        document.head.appendChild(style);
+      } else {
+        document.head.insertBefore(style, firstStyleEl);
+      }
+
+      style.sheet.insertRule(linkRule, style.sheet.cssRules.length);
+      style.sheet.insertRule(hoverRule, style.sheet.cssRules.length);
+      style.sheet.insertRule(pseudoElContent, style.sheet.cssRules.length);
+      style.sheet.insertRule(anchorjsLinkFontFace, style.sheet.cssRules.length);
+    }
+  }
+
+  return AnchorJS;
+}));
diff --git a/_site/assets/javascript/anchor-js/docs/favicon.ico b/_site/assets/javascript/anchor-js/docs/favicon.ico
new file mode 100644
index 0000000..2a6c767
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/favicon.ico
Binary files differ
diff --git a/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.eot b/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.eot
new file mode 100755
index 0000000..350ea35
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.eot
Binary files differ
diff --git a/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.svg b/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.svg
new file mode 100755
index 0000000..5e14922
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Generated by IcoMoon</metadata>
+<defs>
+<font id="anchorjs-extras" horiz-adv-x="1024">
+<font-face units-per-em="1024" ascent="960" descent="-64" />
+<missing-glyph horiz-adv-x="1024" />
+<glyph unicode="&#x20;" d="" horiz-adv-x="512" />
+<glyph unicode="&#xf0c1;" d="M832 182.858q0 22.857-16 38.857l-118.857 118.857q-16 16-38.857 16-24 0-41.143-18.286 1.714-1.714 10.857-10.571t12.286-12.286 8.571-10.857 7.429-14.571 2-15.714q0-22.857-16-38.857t-38.857-16q-8.571 0-15.714 2t-14.571 7.429-10.857 8.571-12.286 12.286-10.571 10.857q-18.857-17.714-18.857-41.714 0-22.857 16-38.857l117.714-118.286q15.429-15.429 38.857-15.429 22.857 0 38.857 14.857l84 83.429q16 16 16 38.286zM430.286 585.715q0 22.857-16 38.857l-117.714 118.286q-16 16-38.857 16-22.286 0-38.857-15.429l-84-83.429q-16-16-16-38.286 0-22.857 16-38.857l118.857-118.857q15.429-15.429 38.857-15.429 24 0 41.143 17.714-1.714 1.714-10.857 10.571t-12.286 12.286-8.571 10.857-7.429 14.571-2 15.714q0 22.857 16 38.857t38.857 16q8.571 0 15.714-2t14.571-7.429 10.857-8.571 12.286-12.286 10.571-10.857q18.857 17.714 18.857 41.714zM941.714 182.858q0-68.571-48.571-116l-84-83.429q-47.429-47.429-116-47.429-69.143 0-116.571 48.571l-117.714 118.286q-47.429 47.429-47.429 116 0 70.286 50.286 119.429l-50.286 50.286q-49.143-50.286-118.857-50.286-68.571 0-116.571 48l-118.857 118.857q-48 48-48 116.571t48.571 116l84 83.429q47.429 47.429 116 47.429 69.143 0 116.571-48.571l117.714-118.286q47.429-47.429 47.429-116 0-70.286-50.286-119.429l50.286-50.286q49.143 50.286 118.857 50.286 68.571 0 116.571-48l118.857-118.857q48-48 48-116.571z" horiz-adv-x="951" />
+</font></defs></svg>
\ No newline at end of file
diff --git a/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.ttf b/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.ttf
new file mode 100755
index 0000000..1971eb1
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.ttf
Binary files differ
diff --git a/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.woff b/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.woff
new file mode 100755
index 0000000..fb3b104
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.woff
Binary files differ
diff --git a/_site/assets/javascript/anchor-js/docs/fonts/fonts.css b/_site/assets/javascript/anchor-js/docs/fonts/fonts.css
new file mode 100755
index 0000000..c0b57b8
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/fonts/fonts.css
@@ -0,0 +1,24 @@
+@font-face {
+	font-family: 'anchorjs-extras';
+	src:url('anchorjs-extras.eot?-qcq09q');
+	src:url('anchorjs-extras.eot?#iefix-qcq09q') format('embedded-opentype'),
+		url('anchorjs-extras.woff?-qcq09q') format('woff'),
+		url('anchorjs-extras.ttf?-qcq09q') format('truetype'),
+		url('anchorjs-extras.svg?-qcq09q#anchorjs-extras') format('svg');
+	font-weight: normal;
+	font-style: normal;
+}
+
+[class^="ajs-"], [class*=" ajs-"] {
+	font-family: 'anchorjs-extras';
+	speak: none;
+	font-style: normal;
+	font-weight: normal;
+	font-variant: normal;
+	text-transform: none;
+	line-height: 1;
+
+	/* Better Font Rendering =========== */
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+}
diff --git a/_site/assets/javascript/anchor-js/docs/grunticon/grunticon.loader.js b/_site/assets/javascript/anchor-js/docs/grunticon/grunticon.loader.js
new file mode 100755
index 0000000..de17974
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/grunticon/grunticon.loader.js
@@ -0,0 +1,3 @@
+/*! grunt-grunticon Stylesheet Loader - v2.1.2 | https://github.com/filamentgroup/grunticon | (c) 2015 Scott Jehl, Filament Group, Inc. | MIT license. */
+
+(function(e){function t(t,n,r,o){"use strict";function a(){for(var e,n=0;u.length>n;n++)u[n].href&&u[n].href.indexOf(t)>-1&&(e=!0);e?i.media=r||"all":setTimeout(a)}var i=e.document.createElement("link"),l=n||e.document.getElementsByTagName("script")[0],u=e.document.styleSheets;return i.rel="stylesheet",i.href=t,i.media="only x",i.onload=o||null,l.parentNode.insertBefore(i,l),a(),i}var n=function(r,o){"use strict";if(r&&3===r.length){var a=e.navigator,i=e.Image,l=!(!document.createElementNS||!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect||!document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image","1.1")||e.opera&&-1===a.userAgent.indexOf("Chrome")||-1!==a.userAgent.indexOf("Series40")),u=new i;u.onerror=function(){n.method="png",n.href=r[2],t(r[2])},u.onload=function(){var e=1===u.width&&1===u.height,a=r[e&&l?0:e?1:2];n.method=e&&l?"svg":e?"datapng":"png",n.href=a,t(a,null,null,o)},u.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",document.documentElement.className+=" grunticon"}};n.loadCSS=t,e.grunticon=n})(this);(function(e,t){"use strict";var n=t.document,r="grunticon:",o=function(e){if(n.attachEvent?"complete"===n.readyState:"loading"!==n.readyState)e();else{var t=!1;n.addEventListener("readystatechange",function(){t||(t=!0,e())},!1)}},a=function(e){return t.document.querySelector('link[href$="'+e+'"]')},c=function(e){var t,n,o,a,c,i,u={};if(t=e.sheet,!t)return u;n=t.cssRules?t.cssRules:t.rules;for(var l=0;n.length>l;l++)o=n[l].cssText,a=r+n[l].selectorText,c=o.split(");")[0].match(/US\-ASCII\,([^"']+)/),c&&c[1]&&(i=decodeURIComponent(c[1]),u[a]=i);return u},i=function(e){var t,o,a;o="data-grunticon-embed";for(var c in e)if(a=c.slice(r.length),t=n.querySelectorAll(a+"["+o+"]"),t.length)for(var i=0;t.length>i;i++)t[i].innerHTML=e[c],t[i].style.backgroundImage="none",t[i].removeAttribute(o);return t},u=function(t){"svg"===e.method&&o(function(){i(c(a(e.href))),"function"==typeof t&&t()})};e.embedIcons=i,e.getCSS=a,e.getIcons=c,e.ready=o,e.svgLoadedCallback=u,e.embedSVG=u})(grunticon,this);
\ No newline at end of file
diff --git a/_site/assets/javascript/anchor-js/docs/grunticon/icons.data.png.css b/_site/assets/javascript/anchor-js/docs/grunticon/icons.data.png.css
new file mode 100755
index 0000000..f0bab86
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/grunticon/icons.data.png.css
@@ -0,0 +1,5 @@
+
+.icon-grunticon-link {
+	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABuklEQVQ4T52U4VnCMBiE71hAnECcgLCBblBYAJxANgAmEDfABWg3kA2IE6ATWBbo+XwplLaWguZnm765fncX4h9LkesC6DHxvv45/8JT5CIQLyB74TspBbFChgUTn9qjq4EauhXIMYA9pBWIFKId0IfkITwa9CpgARM+ID0c1QSRIzcHOIP0ythPLwLbYMdxaTjwgO4Y+9uLwKAicjaztKysPPtCZab7VqAi9wBSkPZNjp4UuiXIZ2RqVqiRm0KYgbR45Csf/FMdHCJE7EDuud72fiksufkFaIkMnyBM6QSSDm6G/B1g7yAdMg2Z+KQCbHUzcg4dbiwy5mYFJr0x9pNKDptgGrolgHFZ1S9lJVgBDA3oMEYtZzqpEogEQgLCQZiEttRgJ+Bo8Amgi0zWz1ChwguDktaMfunxHtCca29/UFkMs+jw+5j0c90Oau1Q62viN+f2GdCGvQW04NrPmzYebpcuE29/0rqCyxoNUkg7xn5Q333OzbMKA9DctKTnc1mU5mehzXPWYEATNFcY0s5NcRWZozav3M3utbBqDvMKzUMjgJvD6V/INLUGXJrd8X3j5XDpdmmD/wAyTxBSftthKwAAAABJRU5ErkJggg==');
+	background-repeat: no-repeat;
+}
\ No newline at end of file
diff --git a/_site/assets/javascript/anchor-js/docs/grunticon/icons.data.svg.css b/_site/assets/javascript/anchor-js/docs/grunticon/icons.data.svg.css
new file mode 100755
index 0000000..ea5bd00
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/grunticon/icons.data.svg.css
@@ -0,0 +1,5 @@
+
+.icon-grunticon-link {
+	background-image: url('data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C%21--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C%21DOCTYPE%20svg%20PUBLIC%20%22-//W3C//DTD%20SVG%201.1//EN%22%20%22http%3A//www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%20768%20768%22%3E%0A%20%20%3Cg%20fill%3D%22%23FF5231%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M544%2032q37.75%200%2072.875%2014.25t62.875%2042%2042%2062.875%2014.25%2072.875q0%2037.5-14.375%2072.875t-41.875%2062.875l-96%2096q-2.75%202.75-8.25%207.75-26.75%2023.75-59.75%2036.125t-67.75%2012.375q-43.75%200-82.75-18.75-29.25-13.75-53-37.5t-37.5-53q18.75-18.75%2045.25-18.75%209.25%200%2018.75%202.75%2016.25%2026.25%2042.5%2042.5%2030.75%2018.75%2066.75%2018.75%2025%200%2048.5-9.5t42-28l96-96q18.5-18.5%2028-42t9.5-48.5-9.5-48.5-28-42-42-28-48.5-9.5-48.5%209.5-42%2028l-67.25%2067.25q-32-8.75-66.25-8.75-5.5%200-15.5%200.5%205-5.5%207.75-8.25l96-96q27.5-27.5%2062.875-41.875t72.875-14.375zM320%20256q43.75%200%2082.75%2018.75%2029.25%2013.75%2053%2037.5t37.5%2053q-18.75%2018.75-45.25%2018.75-9.25%200-18.75-2.75-16.25-26.25-42.5-42.5-30.75-18.75-66.75-18.75-25%200-48.5%209.5t-42%2028l-96%2096q-18.5%2018.5-28%2042t-9.5%2048.5%209.5%2048.5%2028%2042%2042%2028%2048.5%209.5%2048.5-9.5%2042-28l67.25-67.25q32%208.75%2066.25%208.75%205.5%200%2015.5-0.5-5%205.5-7.75%208.25l-96%2096q-27.75%2027.75-62.875%2042t-72.875%2014.25q-37.5%200-72.875-14.375t-62.875-41.875q-27.75-27.75-42-62.875t-14.25-72.875%2014.25-72.875%2042-62.875l96-96q2.75-2.75%208.25-7.75%2026.75-23.75%2059.75-36.125t67.75-12.375z%22%3E%3C/path%3E%0A%20%20%3C/g%3E%0A%3C/svg%3E%0A');
+	background-repeat: no-repeat;
+}
\ No newline at end of file
diff --git a/_site/assets/javascript/anchor-js/docs/grunticon/icons.fallback.css b/_site/assets/javascript/anchor-js/docs/grunticon/icons.fallback.css
new file mode 100755
index 0000000..832f36f
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/grunticon/icons.fallback.css
@@ -0,0 +1,5 @@
+
+.icon-grunticon-link {
+	background-image: url('png/grunticon-link.png');
+	background-repeat: no-repeat;
+}
\ No newline at end of file
diff --git a/_site/assets/javascript/anchor-js/docs/grunticon/png/grunticon-link.png b/_site/assets/javascript/anchor-js/docs/grunticon/png/grunticon-link.png
new file mode 100755
index 0000000..eefa53f
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/grunticon/png/grunticon-link.png
Binary files differ
diff --git a/_site/assets/javascript/anchor-js/docs/img/anchoring-links.png b/_site/assets/javascript/anchor-js/docs/img/anchoring-links.png
new file mode 100644
index 0000000..9d28abc
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/img/anchoring-links.png
Binary files differ
diff --git a/_site/assets/javascript/anchor-js/docs/img/anchorjs_logo.png b/_site/assets/javascript/anchor-js/docs/img/anchorjs_logo.png
new file mode 100644
index 0000000..06c8b4d
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/img/anchorjs_logo.png
Binary files differ
diff --git a/_site/assets/javascript/anchor-js/docs/img/anchorlinks2.png b/_site/assets/javascript/anchor-js/docs/img/anchorlinks2.png
new file mode 100644
index 0000000..9118b1e
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/img/anchorlinks2.png
Binary files differ
diff --git a/_site/assets/javascript/anchor-js/docs/img/gh-link.svg b/_site/assets/javascript/anchor-js/docs/img/gh-link.svg
new file mode 100644
index 0000000..24abb41
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/img/gh-link.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="24px" height="12px" viewBox="0 0 24 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <defs></defs>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="link" fill="#FF5231">
+            <path d="M18,0 L14.765625,0 C15.890625,0.75 16.9453125,2.0859375 17.2734375,3 L17.9765625,3 C19.5,3 20.9765625,4.5 20.9765625,6 C20.9765625,7.5 19.453125,9 17.9765625,9 L13.4765625,9 C12,9 10.4765625,7.5 10.4765625,6 C10.4765625,5.4609375 10.640625,4.9453125 10.8984375,4.5 L7.6875,4.5 C7.5703125,4.9921875 7.5,5.484375 7.5,6 C7.5,9 10.4765625,12 13.4765625,12 L18,12 C21,12 24,9 24,6 C24,3 21,0 18,0 L18,0 Z M6.7265625,9 L6.0234375,9 C4.5,9 3.0234375,7.5 3.0234375,6 C3.0234375,4.5 4.546875,3 6.0234375,3 L10.5234375,3 C12,3 13.5234375,4.5 13.5234375,6 C13.5234375,6.5390625 13.359375,7.0546875 13.1015625,7.5 L16.3125,7.5 C16.4296875,7.0078125 16.5,6.515625 16.5,6 C16.5,3 13.5234375,0 10.5234375,0 L6,0 C3,0 0,3 0,6 C0,9 3,12 6,12 L9.234375,12 C8.109375,11.25 7.0546875,9.9140625 6.7265625,9 L6.7265625,9 Z" id="Shape"></path>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/_site/assets/javascript/anchor-js/docs/img/gh_link.svg b/_site/assets/javascript/anchor-js/docs/img/gh_link.svg
new file mode 100644
index 0000000..8e43abb
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/img/gh_link.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="20px" height="10px" viewBox="0 0 20 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <defs></defs>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="link" fill="#FF5231">
+            <path d="M15,0 L12.3046875,0 C13.2421875,0.625 14.1210938,1.73828125 14.3945312,2.5 L14.9804688,2.5 C16.25,2.5 17.4804688,3.75 17.4804688,5 C17.4804688,6.25 16.2109375,7.5 14.9804688,7.5 L11.2304688,7.5 C10,7.5 8.73046875,6.25 8.73046875,5 C8.73046875,4.55078125 8.8671875,4.12109375 9.08203125,3.75 L6.40625,3.75 C6.30859375,4.16015625 6.25,4.5703125 6.25,5 C6.25,7.5 8.73046875,10 11.2304688,10 L15,10 C17.5,10 20,7.5 20,5 C20,2.5 17.5,0 15,0 L15,0 Z M5.60546875,7.5 L5.01953125,7.5 C3.75,7.5 2.51953125,6.25 2.51953125,5 C2.51953125,3.75 3.7890625,2.5 5.01953125,2.5 L8.76953125,2.5 C10,2.5 11.2695312,3.75 11.2695312,5 C11.2695312,5.44921875 11.1328125,5.87890625 10.9179688,6.25 L13.59375,6.25 C13.6914062,5.83984375 13.75,5.4296875 13.75,5 C13.75,2.5 11.2695312,0 8.76953125,0 L5,0 C2.5,0 0,2.5 0,5 C0,7.5 2.5,10 5,10 L7.6953125,10 C6.7578125,9.375 5.87890625,8.26171875 5.60546875,7.5 L5.60546875,7.5 Z" id="Shape"></path>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/_site/assets/javascript/anchor-js/docs/img/hyperlink.svg b/_site/assets/javascript/anchor-js/docs/img/hyperlink.svg
new file mode 100644
index 0000000..3a8745a
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/img/hyperlink.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <defs></defs>
+    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="hyperlink" fill="#FF5231">
+            <path d="M23.5548327,6.22263035 L17.7774163,0.445167315 C17.2460545,-0.0861478599 16.3834086,-0.0861478599 15.8520934,0.445167315 L10.0747237,6.22263035 C9.5419144,6.75394553 9.5419144,7.61659144 10.0747237,8.14940078 L11.0366381,9.11131518 L16.8140545,3.33389883 L20.6661479,7.18599222 L14.8887315,12.9634086 L15.8520934,13.9267704 C16.3834086,14.4581323 17.2460545,14.4581323 17.7774163,13.9267704 L23.554786,8.14940078 C24.0861479,7.61659144 24.0861479,6.75389883 23.5548327,6.22263035 L23.5548327,6.22263035 Z M12.9634086,14.8886848 L7.18599222,20.6661479 L3.33389883,16.8140545 L9.11126848,11.0366381 L8.14790661,10.0732763 C7.61659144,9.5419144 6.75394553,9.5419144 6.22263035,10.0732763 L0.445167315,15.8506459 C-0.0861478599,16.3834086 -0.0861478599,17.2461012 0.445167315,17.7774163 L6.22258366,23.5548327 C6.75389883,24.0861479 7.61654475,24.0861479 8.14785992,23.5548327 L13.9252763,17.7774163 C14.4580389,17.2461012 14.4580389,16.3834553 13.9252763,15.8506459 L12.9634086,14.8886848 L12.9634086,14.8886848 Z M8.14790661,15.8506459 C8.68071595,16.3834086 9.5418677,16.3834086 10.0747237,15.8506459 L15.8520934,10.0732763 C16.3834086,9.5419144 16.3834086,8.68071595 15.8520934,8.14940078 C15.3193307,7.61663813 14.4581323,7.61663813 13.925323,8.14940078 L8.14790661,13.9267704 C7.61659144,14.4581323 7.61659144,15.3193307 8.14790661,15.8506459 L8.14790661,15.8506459 Z" id="Shape"></path>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/_site/assets/javascript/anchor-js/docs/img/link.svg b/_site/assets/javascript/anchor-js/docs/img/link.svg
new file mode 100644
index 0000000..5aaef2f
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/img/link.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="512" height="512" viewBox="0 0 512 512"><g id="icomoon-ignore">
+</g>
+<path d="M384 128h-69c24 16 46.5 44.5 53.5 64h15c32.5 0 64 32 64 64s-32.5 64-64 64h-96c-31.5 0-64-32-64-64 0-11.5 3.5-22.5 9-32h-68.5c-2.5 10.5-4 21-4 32 0 64 63.5 128 127.5 128s32.5 0 96.5 0 128-64 128-128-64-128-128-128zM143.5 320h-15c-32.5 0-64-32-64-64s32.5-64 64-64h96c31.5 0 64 32 64 64 0 11.5-3.5 22.5-9 32h68.5c2.5-10.5 4-21 4-32 0-64-63.5-128-127.5-128s-32.5 0-96.5 0-128 64-128 128 64 128 128 128h69c-24-16-46.5-44.5-53.5-64z"></path>
+</svg>
diff --git a/_site/assets/javascript/anchor-js/docs/img/mini-logo.png b/_site/assets/javascript/anchor-js/docs/img/mini-logo.png
new file mode 100644
index 0000000..3806c67
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/img/mini-logo.png
Binary files differ
diff --git a/_site/assets/javascript/anchor-js/docs/img/primer-md.png b/_site/assets/javascript/anchor-js/docs/img/primer-md.png
new file mode 100644
index 0000000..1db2cb6
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/img/primer-md.png
Binary files differ
diff --git a/_site/assets/javascript/anchor-js/docs/scripts.js b/_site/assets/javascript/anchor-js/docs/scripts.js
new file mode 100644
index 0000000..c283e73
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/scripts.js
@@ -0,0 +1,12 @@
+$(document).ready(function() {
+  var preEls = $('pre');
+
+  $('.example-code-link').click(function(e) {
+    e.preventDefault();
+    $(this).parent().next().slideToggle();
+  });
+
+  // Dynamically add PrismJS class for syntax highlight
+  preEls.filter('[class*="js"]').find('code').addClass('language-javascript');
+  preEls.filter('.css').find('code').addClass('language-css');
+});
diff --git a/_site/assets/javascript/anchor-js/docs/styles.css b/_site/assets/javascript/anchor-js/docs/styles.css
new file mode 100644
index 0000000..b4b71af
--- /dev/null
+++ b/_site/assets/javascript/anchor-js/docs/styles.css
@@ -0,0 +1,493 @@
+/*//// Base Styles ////*/
+
+div,
+article,
+section,
+main,
+footer,
+header,
+form,
+fieldset,
+pre,
+code,
+p,
+input[type="text"],
+input[type="tel"],
+input[type="email"],
+input[type="url"],
+input[type="password"] {
+  box-sizing: border-box;
+}
+
+body {
+  font-family: 'Source Sans Pro', sans-serif;
+  background-color: rgb(162, 255, 224);
+  color: #262626;
+  margin: 0 1.5em;
+}
+
+h1 {
+  font-size: 2.2em;
+}
+h2 {
+  font-size: 2.0em;
+  margin-top: 1.5em;
+}
+h3 {
+  font-size: 1.8em;
+}
+
+table {
+  border-collapse: collapse;
+  background: white;
+  box-shadow: 0px 0px 10px -4px #666;
+  border: 1px solid white;
+}
+
+table td,
+table th {
+  padding: 0.5em;
+  border: 1px solid #ddd;
+}
+
+img {
+  max-width: 100%;
+}
+
+a {
+  color: black;
+  text-decoration: underline;
+}
+
+/*//// Code Snippet Styles  ////*/
+
+code,
+samp,
+kbd {
+  background-color: #141414;
+  color: #f7f7f7;
+  font-family: "Inconsolata", "Menlo", "Consolas", monospace;
+  font-size: 0.9em;
+  padding: 2px 6px;
+  text-align: left;
+  border-radius: 3px;
+}
+
+pre {
+  background-color: #141414;
+  color: #f7f7f7;
+  font-family: "Inconsolata", "Menlo", "Consolas", monospace;
+  font-size: 0.9em;
+  line-height: 1.2em;
+  margin: 0;
+  overflow: auto;
+  padding: 1em;
+  border-radius: 3px;
+}
+
+.examples pre,
+.hover-examples pre,
+.preview-examples pre {
+  padding-left: 2.75em;
+  border-radius: 0;
+}
+
+/* Override 'code' css rules if using 'pre > code' markup. */
+pre > code {
+  font-size: 1em;
+  padding: 0px;
+}
+
+/* for IE7 and IE6 */
+*:first-child+html pre {
+  overflow: visible;
+  overflow-x: auto;
+  overflow-y: hidden;
+  padding-bottom: 2em;
+}
+
+* html pre {
+  overflow: visible;
+  overflow-x: auto;
+  padding-bottom: 2em;
+}
+
+/* Reset PrismJS' border styles */
+.main pre[class*="language-"],
+.example pre[class*="language-"] {
+  border: 0;
+  border-radius: 3px;
+}
+
+/*//// Page Styles ////*/
+.header {
+  max-width: 720px;
+  margin: 0 auto;
+  padding-top: 1.5em;
+}
+
+.page-title {
+  text-align: center;
+}
+
+.logo {
+  display: block;
+  margin: 0 auto;
+}
+
+.desc {
+  padding: 1em 0;
+  text-align: center;
+}
+.maindesc {
+  font-size: 30px;
+  margin-bottom: 1em;
+}
+.subdesc {
+  font-size: 15px;
+}
+
+.more-examples {
+  text-align: right;
+  font-size: 12px;
+  margin: 0 5px 0 0;
+}
+
+.main {
+  line-height: 1.4;
+  margin: 0 auto;
+  max-width: 720px;
+}
+.used-by {
+  text-align: center;
+  position: relative;
+  padding: 1em 0;
+}
+.used-by-label {
+  font-size: 20px;
+  text-align: center;
+  font-weight: normal;
+}
+.used-by img {
+  border-radius: 8px;
+  opacity: 1;
+  margin: 0px 10px;
+}
+
+.anchorlink-examples {
+  float: right;
+  margin: 0 0 1em 1em;
+  box-shadow: 0px 0px 10px -3px #666;
+}
+
+.options-table {
+  width: 100%;
+  margin: 1em 0;
+}
+
+.minicol {
+  width: 62px;
+}
+
+.footer {
+  text-align: center;
+  color: #777;
+}
+.footer a {
+  color: #777;
+}
+
+/*///////////// Examples /////////////*/
+
+.examples,
+.hover-examples,
+.preview-examples {
+  max-width: 720px;
+  margin: 0 auto;
+  display: -webkit-flex;
+  display: flex;
+  -webkit-flex-direction: row;
+  flex-direction: row;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-align-content: flex-end;
+  align-content: flex-end;
+}
+
+.example {
+  max-width: 350px;
+  min-height: 160px;
+  margin: 5px;
+}
+.example-label {
+  font-size: 12px;
+  color: #777;
+  display: none;
+}
+.example-content {
+  padding: 0 0 0 3.5em;
+  overflow: hidden;
+  position: relative;
+  background: #fff;
+  box-shadow: 0px 0px 10px -3px #666;
+}
+
+.example-code-link {
+  width: 16px;
+  position: absolute;
+  top: 8px;
+  right: 8px;
+  font-family: Courier monospace;
+  color: #aaa;
+  text-decoration: none;
+}
+
+.example-code-link:hover:after,
+.example-code-link:focus:after {
+  left: -50px;
+  opacity: 1;
+  -webkit-transition: all 0.25s ease-in;
+  transition: all 0.25s ease-in;
+}
+
+.example-code-link:after {
+  content: "SOURCE";
+  font-family: Helvetica, Arial, sans-serif;
+  font-size: 10px;
+  line-height: 1;
+  display: block;
+  position: absolute;
+  text-transform: uppercase;
+  top: 7px;
+  left: -45px;
+  opacity: 0;
+  -webkit-transition: all 0.25s ease-in;
+  transition: all 0.25s ease-in;
+}
+
+.example-code {
+  display: none;
+}
+
+.css {
+  border-top: 1px solid #666;
+}
+
+.css,
+.js {
+  position: relative;
+}
+
+.css::before,
+.js::before {
+  left: 0;
+  top: 0;
+  padding: 1px 4px;
+  color: white;
+  background: #FF5231;
+  position: absolute;
+  font-size: 11px;
+  text-transform: uppercase;
+}
+
+.css::before {
+  content: 'css';
+}
+.js::before {
+  content: 'js';
+}
+
+.example-content > p {
+  width: 310px;
+}
+
+.anchorjs-link {
+  color: #FF5231;
+}
+
+/*///// Styles within Examples /////*/
+.examples .example:nth-child(3) .anchorjs-link,
+.preview-examples .example:nth-child(2) .anchorjs-link {
+  font-family: Helvetica, Arial, sans-serif;
+}
+
+.examples .example:nth-child(7) .anchorjs-link {
+  font-weight: 200;
+  margin-left: 1em;
+  padding-right: 0.375em;
+  font-size: 0.5em;
+  border: 1px dashed #FFBAAC;
+  vertical-align: middle;
+}
+
+.examples .example:nth-child(8) .anchorjs-link {
+  width: 14px;
+  height: 32px;
+  margin-top: 6px;
+  background: url('img/mini-logo.png') no-repeat;
+  margin-left: -1.25em !important;
+}
+
+.examples .example:nth-child(9) .anchorjs-link:after {
+  margin-left: 7px;
+  margin-top: -4px;
+  display: block;
+}
+
+.examples .example:nth-child(9) .anchorjs-link {
+  background-color: #FF5231;
+  height: 32px;
+  width: 18px;
+  border-radius: 50%;
+  display: inline-block;
+  color: white;
+  margin-top: 4px;
+  margin-left: -1.4em !important;
+}
+
+.examples .example:nth-child(11) .anchorjs-link {
+  display: inline-block;
+  background: url('img/hyperlink.svg') no-repeat;
+  margin-left: 8px;
+  width: 14px;
+  height: 24px;
+}
+
+.examples .example:nth-child(12) .anchorjs-link {
+  background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMTBweCIgdmlld0JveD0iMCAwIDIwIDEwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImxpbmsiIGZpbGw9IiNGRjUyMzEiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTUsMCBMMTIuMzA0Njg3NSwwIEMxMy4yNDIxODc1LDAuNjI1IDE0LjEyMTA5MzgsMS43MzgyODEyNSAxNC4zOTQ1MzEyLDIuNSBMMTQuOTgwNDY4OCwyLjUgQzE2LjI1LDIuNSAxNy40ODA0Njg4LDMuNzUgMTcuNDgwNDY4OCw1IEMxNy40ODA0Njg4LDYuMjUgMTYuMjEwOTM3NSw3LjUgMTQuOTgwNDY4OCw3LjUgTDExLjIzMDQ2ODgsNy41IEMxMCw3LjUgOC43MzA0Njg3NSw2LjI1IDguNzMwNDY4NzUsNSBDOC43MzA0Njg3NSw0LjU1MDc4MTI1IDguODY3MTg3NSw0LjEyMTA5Mzc1IDkuMDgyMDMxMjUsMy43NSBMNi40MDYyNSwzLjc1IEM2LjMwODU5Mzc1LDQuMTYwMTU2MjUgNi4yNSw0LjU3MDMxMjUgNi4yNSw1IEM2LjI1LDcuNSA4LjczMDQ2ODc1LDEwIDExLjIzMDQ2ODgsMTAgTDE1LDEwIEMxNy41LDEwIDIwLDcuNSAyMCw1IEMyMCwyLjUgMTcuNSwwIDE1LDAgTDE1LDAgWiBNNS42MDU0Njg3NSw3LjUgTDUuMDE5NTMxMjUsNy41IEMzLjc1LDcuNSAyLjUxOTUzMTI1LDYuMjUgMi41MTk1MzEyNSw1IEMyLjUxOTUzMTI1LDMuNzUgMy43ODkwNjI1LDIuNSA1LjAxOTUzMTI1LDIuNSBMOC43Njk1MzEyNSwyLjUgQzEwLDIuNSAxMS4yNjk1MzEyLDMuNzUgMTEuMjY5NTMxMiw1IEMxMS4yNjk1MzEyLDUuNDQ5MjE4NzUgMTEuMTMyODEyNSw1Ljg3ODkwNjI1IDEwLjkxNzk2ODgsNi4yNSBMMTMuNTkzNzUsNi4yNSBDMTMuNjkxNDA2Miw1LjgzOTg0Mzc1IDEzLjc1LDUuNDI5Njg3NSAxMy43NSw1IEMxMy43NSwyLjUgMTEuMjY5NTMxMiwwIDguNzY5NTMxMjUsMCBMNSwwIEMyLjUsMCAwLDIuNSAwLDUgQzAsNy41IDIuNSwxMCA1LDEwIEw3LjY5NTMxMjUsMTAgQzYuNzU3ODEyNSw5LjM3NSA1Ljg3ODkwNjI1LDguMjYxNzE4NzUgNS42MDU0Njg3NSw3LjUgTDUuNjA1NDY4NzUsNy41IFoiIGlkPSJTaGFwZSI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+") no-repeat;
+  margin-top: 15px;
+  height: 16px;
+  width: 20px;
+}
+
+.examples .example:nth-child(13) .anchorjs-link {
+  border-color: #FF5231 #FF5231 transparent;
+  border-width: 15px 7px 6px;
+  border-style: solid;
+  margin-top: 10px;
+  font-size: 22px;
+  padding-right: 0 !important;
+}
+
+.examples .example:nth-child(14) .anchorjs-link {
+  margin-left: -1.8em !important;
+}
+
+.examples .example:nth-child(15) .anchorjs-link {
+  display: inline-block;
+  width: 0.375em;
+  height: 20px;
+  margin-left: 0.375em;
+}
+
+/* Hover Examples */
+
+.hover-examples .example:nth-child(2) *:hover > .anchorjs-link,
+.hover-examples .example:nth-child(2) .anchorjs-link:focus  {
+  transition: color .25s linear;
+}
+.hover-examples .example:nth-child(2) .anchorjs-link:hover {
+  color: #2500AD;
+}
+
+.hover-examples .example:nth-child(3) .anchorjs-link {
+    transition: all .25s linear;
+}
+.hover-examples .example:nth-child(3) *:hover > .anchorjs-link,
+.hover-examples .example:nth-child(3) .anchorjs-link:focus  {
+  margin-left: -1.125em !important;
+}
+
+
+.hover-examples .example:nth-child(4) h3 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+}
+.hover-examples .example:nth-child(4) .anchorjs-link {
+  background: #FF5231;
+  color: white;
+  font-family: Helvetica, Arial, sans-serif;
+  font-weight: 200;
+  font-size: 1rem;
+  position: relative;
+  top: 2px;
+  -webkit-box-flex: 1;
+  -webkit-flex: 1;
+      -ms-flex: 1;
+          flex: 1;
+  margin-right: -6%;
+  padding-right: 6%;
+  padding-left: 42px !important;
+  height: 36px;
+  line-height: 38px;
+  -webkit-transition: all 0.5s ease;
+  transition: all 0.5s ease;
+  -webkit-transform: translateX(100%);
+      -ms-transform: translateX(100%);
+          transform: translateX(100%);
+}
+.hover-examples .example:nth-child(4) .anchorjs-link::before {
+  position: absolute;
+  left: 0;
+  display: block;
+  width: 0;
+  height: 0;
+  border: 18px solid #fff;
+  border-right-color: #FF5231;
+  content: '';
+  transition: all 0.5s ease;
+}
+.hover-examples .example:nth-child(4) *:hover > .anchorjs-link,
+.hover-examples .example:nth-child(4) .anchorjs-link:focus {
+  -webkit-transform: translateX(0);
+      -ms-transform: translateX(0);
+
+  transform: translateX(0);
+}
+.hover-examples .example:nth-child(4) *:hover > .anchorjs-link:hover,
+.hover-examples .example:nth-child(4) .anchorjs-link:focus {
+  background: #FF806A;
+}
+.hover-examples .example:nth-child(4) *:hover > .anchorjs-link:hover::before,
+.hover-examples .example:nth-child(4) .anchorjs-link:focus {
+  border-right-color: #FF806A;
+}
+
+.hover-examples .example:nth-child(5) .anchorjs-link:after {
+  display: inline-block;
+  transition: opacity .25s linear;
+  font-family: Verdana, sans-serif;
+  font-size: 0.75ex;
+  font-weight: 100;
+  padding: 0.5ex 1.5ex;
+  background: #444;
+  color: #fff;
+  border-radius: 0.6ex;
+  vertical-align: 0.8ex;
+}
+.hover-examples .example:nth-child(5) .anchorjs-link:before {
+  content: '';
+  display: inline-block;
+  border-top: 0.3ex solid transparent;
+  border-right: 0.5ex solid #444;
+  border-bottom: 0.3ex solid transparent;
+  vertical-align: 0.35ex;
+}
+.hover-examples .example:nth-child(5) .anchorjs-link:hover:after {
+  background-color: #666;
+}
+.hover-examples .example:nth-child(5) .anchorjs-link:hover:before {
+  border-right-color: #666;
+}
+
+/*////// Utilities ////////*/
+/* Clearfix */
+.group:after {
+  content: "";
+  display: table;
+  clear: both;
+}
diff --git a/_site/css/main.css b/_site/css/main.css
index 20fe95a..c004837 100644
--- a/_site/css/main.css
+++ b/_site/css/main.css
@@ -1,339 +1,119 @@
 /*$theme-dark: #222;*/
-html,
-body {
-  height: 100%;
-  width: 100%; }
+html, body { height: 100%; width: 100%; }
 
-body {
-  font-family: sans-serif,'Merriweather', 'Helvetica Neue', Arial; }
+body { font-family: sans-serif,'Merriweather', 'Helvetica Neue', Arial; }
 
-hr {
-  border-color: #F98B07;
-  border-width: 3px;
-  max-width: 50px; }
+hr { border-color: #F98B07; border-width: 3px; max-width: 50px; }
 
-hr.light {
-  border-color: white; }
+hr.light { border-color: white; }
 
-a {
-  -webkit-transition: all 0.35s;
-  -moz-transition: all 0.35s;
-  transition: all 0.35s;
-  color: #F98B07; }
-  a:hover, a:focus {
-    color: #c86f05; }
+a { -webkit-transition: all 0.35s; -moz-transition: all 0.35s; transition: all 0.35s; color: #F98B07; }
+a:hover, a:focus { color: #c86f05; }
 
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  font-family: sans-serif,'Open Sans', 'Helvetica Neue', Arial; }
+h1, h2, h3, h4, h5, h6 { font-family: sans-serif,'Open Sans', 'Helvetica Neue', Arial; }
 
-p {
-  font-size: 16px;
-  line-height: 1.5;
-  margin-bottom: 20px; }
+p { font-size: 16px; line-height: 1.5; margin-bottom: 20px; }
 
-.bg-primary {
-  background-color: #F98B07; }
+.bg-primary { background-color: #F98B07; }
 
-.bg-dark {
-  background-color: #1F181A;
-  color: white; }
+.bg-dark { background-color: #1F181A; color: white; }
 
-.text-faded {
-  color: rgba(255, 255, 255, 0.7); }
+.text-faded { color: rgba(255, 255, 255, 0.7); }
 
-section {
-  padding: 100px 0; }
+section { padding: 100px 0; }
 
-aside {
-  padding: 75px 0; }
+aside { padding: 75px 0; }
 
-.no-padding {
-  padding: 0; }
+.no-padding { padding: 0; }
 
-.no-padding-bottom {
-  padding-bottom: 0px; }
+.no-padding-bottom { padding-bottom: 0px; }
 
-.navbar-default {
-  background-color: white;
-  border-color: rgba(31, 24, 26, 0.5);
-  font-family: sans-serif,'Open Sans', 'Helvetica Neue', Arial;
-  -webkit-transition: all 0.35s;
-  -moz-transition: all 0.35s;
-  transition: all 0.35s; }
-  .navbar-default .navbar-header .navbar-brand {
-    color: #F98B07;
-    font-family: sans-serif,'Open Sans', 'Helvetica Neue', Arial;
-    font-weight: 700;
-    text-transform: uppercase; }
-    .navbar-default .navbar-header .navbar-brand:hover, .navbar-default .navbar-header .navbar-brand:focus {
-      color: #c86f05; }
-  .navbar-default .nav > li > a,
-  .navbar-default .nav > li > a:focus {
-    text-transform: uppercase;
-    font-weight: 700;
-    font-size: 13px;
-    color: #1F181A; }
-    .navbar-default .nav > li > a:hover,
-    .navbar-default .nav > li > a:focus:hover {
-      color: #F98B07; }
-  .navbar-default .nav > li.active > a,
-  .navbar-default .nav > li.active > a:focus {
-    color: #F98B07 !important;
-    background-color: transparent; }
-    .navbar-default .nav > li.active > a:hover,
-    .navbar-default .nav > li.active > a:focus:hover {
-      background-color: transparent; }
-  @media (min-width: 768px) {
-    .navbar-default {
-      background-color: #241E22;
-      /*background-color: #1F181A;*/
-      border-color: rgba(255, 255, 255, 0.3); }
-      .navbar-default .navbar-header .navbar-brand {
-        color: rgba(255, 255, 255, 0.7); }
-        .navbar-default .navbar-header .navbar-brand:hover, .navbar-default .navbar-header .navbar-brand:focus {
-          color: white; }
-      .navbar-default .nav > li > a,
-      .navbar-default .nav > li > a:focus {
-        color: rgba(255, 255, 255, 0.7); }
-        .navbar-default .nav > li > a:hover,
-        .navbar-default .nav > li > a:focus:hover {
-          color: white; }
-      .navbar-default.affix {
-        background-color: white;
-        border-color: rgba(31, 24, 26, 0.5); }
-        .navbar-default.affix .navbar-header .navbar-brand {
-          color: #F98B07;
-          font-size: 14px; }
-          .navbar-default.affix .navbar-header .navbar-brand:hover, .navbar-default.affix .navbar-header .navbar-brand:focus {
-            color: #c86f05; }
-        .navbar-default.affix .nav > li > a,
-        .navbar-default.affix .nav > li > a:focus {
-          color: #1F181A; }
-          .navbar-default.affix .nav > li > a:hover,
-          .navbar-default.affix .nav > li > a:focus:hover {
-            color: #F98B07; } }
+.navbar-default { background-color: white; border-color: rgba(31, 24, 26, 0.5); font-family: sans-serif,'Open Sans', 'Helvetica Neue', Arial; -webkit-transition: all 0.35s; -moz-transition: all 0.35s; transition: all 0.35s; }
+.navbar-default .navbar-header .navbar-brand { color: #F98B07; font-family: sans-serif,'Open Sans', 'Helvetica Neue', Arial; font-weight: 700; text-transform: uppercase; }
+.navbar-default .navbar-header .navbar-brand:hover, .navbar-default .navbar-header .navbar-brand:focus { color: #c86f05; }
+.navbar-default .nav > li > a, .navbar-default .nav > li > a:focus { text-transform: uppercase; font-weight: 700; font-size: 13px; color: #1F181A; }
+.navbar-default .nav > li > a:hover, .navbar-default .nav > li > a:focus:hover { color: #F98B07; }
+.navbar-default .nav > li.active > a, .navbar-default .nav > li.active > a:focus { color: #F98B07 !important; background-color: transparent; }
+.navbar-default .nav > li.active > a:hover, .navbar-default .nav > li.active > a:focus:hover { background-color: transparent; }
+@media (min-width: 768px) { .navbar-default { background-color: #241E22; /*background-color: #1F181A;*/ border-color: rgba(255, 255, 255, 0.3); }
+  .navbar-default .navbar-header .navbar-brand { color: rgba(255, 255, 255, 0.7); }
+  .navbar-default .navbar-header .navbar-brand:hover, .navbar-default .navbar-header .navbar-brand:focus { color: white; }
+  .navbar-default .nav > li > a, .navbar-default .nav > li > a:focus { color: rgba(255, 255, 255, 0.7); }
+  .navbar-default .nav > li > a:hover, .navbar-default .nav > li > a:focus:hover { color: white; }
+  .navbar-default.affix { background-color: white; border-color: rgba(31, 24, 26, 0.5); }
+  .navbar-default.affix .navbar-header .navbar-brand { color: #F98B07; font-size: 14px; }
+  .navbar-default.affix .navbar-header .navbar-brand:hover, .navbar-default.affix .navbar-header .navbar-brand:focus { color: #c86f05; }
+  .navbar-default.affix .nav > li > a, .navbar-default.affix .nav > li > a:focus { color: #1F181A; }
+  .navbar-default.affix .nav > li > a:hover, .navbar-default.affix .nav > li > a:focus:hover { color: #F98B07; } }
 
-header {
-  position: relative;
-  width: 100%;
-  min-height: auto;
-  -webkit-background-size: cover;
-  -moz-background-size: cover;
-  background-size: cover;
-  -o-background-size: cover;
-  background-position: center;
-  /*background-color: #241E22;*/
-  background-color: #1F181A;
-  /*background-image: url('../img/header.jpg');*/
-  text-align: center;
-  color: white; }
-  header .header-content {
-    position: relative;
-    text-align: center;
-    padding: 100px 15px 100px;
-    width: 100%; }
-    header .header-content .header-content-inner h1 {
-      font-weight: 700;
-      text-transform: uppercase;
-      margin-top: 0;
-      margin-bottom: 0; }
-    header .header-content .header-content-inner img {
-      width: 30%;
-      /*60% for big logo*/ }
-    header .header-content .header-content-inner hr {
-      margin: 25px auto; }
-    header .header-content .header-content-inner p {
-      font-weight: 300;
-      color: rgba(255, 255, 255, 0.7);
-      margin-bottom: 50px;
-      font-family: sans-serif;
-      font-size: 20px; }
-  @media (min-width: 768px) {
-    header {
-      min-height: 100%; }
-      header .header-content {
-        position: absolute;
-        top: 50%;
-        -webkit-transform: translateY(-50%);
-        -ms-transform: translateY(-50%);
-        transform: translateY(-50%);
-        padding: 0 50px; }
-        header .header-content .header-content-inner {
-          max-width: 1000px;
-          margin-left: auto;
-          margin-right: auto;
-          margin-top: 5%; }
-          header .header-content .header-content-inner p {
-            font-size: 20px;
-            max-width: 80%;
-            margin-left: auto;
-            margin-right: auto; } }
+header { position: relative; width: 100%; min-height: auto; -webkit-background-size: cover; -moz-background-size: cover; background-size: cover; -o-background-size: cover; background-position: center; /*background-color: #241E22;*/ background-color: #1F181A; /*background-image: url('../img/header.jpg');*/ text-align: center; color: white; }
+header .header-content { position: relative; text-align: center; padding: 100px 15px 100px; width: 100%; }
+header .header-content .header-content-inner h1 { font-weight: 700; text-transform: uppercase; margin-top: 0; margin-bottom: 0; }
+header .header-content .header-content-inner img { width: 30%; /*60% for big logo*/ }
+header .header-content .header-content-inner hr { margin: 25px auto; }
+header .header-content .header-content-inner p { font-weight: 300; color: rgba(255, 255, 255, 0.7); margin-bottom: 50px; font-family: sans-serif; font-size: 20px; }
+@media (min-width: 768px) { header { min-height: 100%; }
+  header .header-content { position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); padding: 0 50px; }
+  header .header-content .header-content-inner { max-width: 1000px; margin-left: auto; margin-right: auto; margin-top: 5%; }
+  header .header-content .header-content-inner p { font-size: 20px; max-width: 80%; margin-left: auto; margin-right: auto; } }
 
-.section-heading {
-  margin-top: 0;
-  margin-bottom: 40px; }
+.section-heading { margin-top: 0; margin-bottom: 40px; }
 
-.service-box {
-  max-width: 400px;
-  margin: 50px auto 0; }
-  @media (min-width: 992px) {
-    .service-box {
-      margin: 20px auto 0; } }
-  .service-box p {
-    margin-bottom: 0; }
+.service-box { max-width: 400px; margin: 50px auto 0; }
+@media (min-width: 992px) { .service-box { margin: 20px auto 0; } }
+.service-box p { margin-bottom: 0; }
 
-.portfolio-box {
-  position: relative;
-  display: block;
-  max-width: 650px;
-  margin: 0 auto; }
-  .portfolio-box .portfolio-box-caption {
-    color: white;
-    opacity: 0;
-    display: block;
-    background: rgba(249, 139, 7, 0.9);
-    position: absolute;
-    bottom: 0;
-    text-align: center;
-    width: 100%;
-    height: 100%;
-    -webkit-transition: all 0.35s;
-    -moz-transition: all 0.35s;
-    transition: all 0.35s; }
-    .portfolio-box .portfolio-box-caption .portfolio-box-caption-content {
-      width: 100%;
-      text-align: center;
-      position: absolute;
-      top: 50%;
-      transform: translateY(-50%); }
-      .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category,
-      .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
-        font-family: sans-serif,'Open Sans', 'Helvetica Neue', Arial;
-        padding: 0 15px; }
-      .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
-        text-transform: uppercase;
-        font-weight: 600;
-        font-size: 14px; }
-      .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
-        font-size: 18px; }
-  .portfolio-box:hover .portfolio-box-caption {
-    opacity: 1; }
-  @media (min-width: 768px) {
-    .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
-      font-size: 16px; }
-    .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
-      font-size: 22px; } }
+.portfolio-box { position: relative; display: block; max-width: 650px; margin: 0 auto; }
+.portfolio-box .portfolio-box-caption { color: white; opacity: 0; display: block; background: rgba(249, 139, 7, 0.9); position: absolute; bottom: 0; text-align: center; width: 100%; height: 100%; -webkit-transition: all 0.35s; -moz-transition: all 0.35s; transition: all 0.35s; }
+.portfolio-box .portfolio-box-caption .portfolio-box-caption-content { width: 100%; text-align: center; position: absolute; top: 50%; transform: translateY(-50%); }
+.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category, .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name { font-family: sans-serif,'Open Sans', 'Helvetica Neue', Arial; padding: 0 15px; }
+.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category { text-transform: uppercase; font-weight: 600; font-size: 14px; }
+.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name { font-size: 18px; }
+.portfolio-box:hover .portfolio-box-caption { opacity: 1; }
+@media (min-width: 768px) { .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category { font-size: 16px; }
+  .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name { font-size: 22px; } }
 
-.call-to-action h2 {
-  margin: 0 auto 43px; }
+.call-to-action h2 { margin: 0 auto 43px; }
 
-.text-primary {
-  color: #F98B07; }
+.text-primary { color: #F98B07; }
 
-.no-gutter > [class*='col-'] {
-  padding-right: 0;
-  padding-left: 0; }
+.no-gutter > [class*='col-'] { padding-right: 0; padding-left: 0; }
 
-.btn-default {
-  color: #1F181A;
-  background-color: white;
-  border-color: white;
-  -webkit-transition: all 0.35s;
-  -moz-transition: all 0.35s;
-  transition: all 0.35s; }
-  .btn-default:hover, .btn-default:focus, .btn-default.focus, .btn-default:active, .btn-default.active, .open > .dropdown-toggle .btn-default {
-    color: #1F181A;
-    background-color: #f2f2f2;
-    border-color: #ededed; }
-  .btn-default:active, .btn-default.active, .open > .dropdown-toggle .btn-default {
-    background-image: none; }
-  .btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active {
-    background-color: white;
-    border-color: white; }
-  .btn-default .badge {
-    color: white;
-    background-color: #1F181A; }
+.btn-default { color: #1F181A; background-color: white; border-color: white; -webkit-transition: all 0.35s; -moz-transition: all 0.35s; transition: all 0.35s; }
+.btn-default:hover, .btn-default:focus, .btn-default.focus, .btn-default:active, .btn-default.active, .open > .dropdown-toggle .btn-default { color: #1F181A; background-color: #f2f2f2; border-color: #ededed; }
+.btn-default:active, .btn-default.active, .open > .dropdown-toggle .btn-default { background-image: none; }
+.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { background-color: white; border-color: white; }
+.btn-default .badge { color: white; background-color: #1F181A; }
 
-.btn-primary {
-  color: white;
-  background-color: #F98B07;
-  border-color: #F98B07;
-  -webkit-transition: all 0.35s;
-  -moz-transition: all 0.35s;
-  transition: all 0.35s; }
-  .btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle .btn-primary {
-    color: white;
-    background-color: #e17d05;
-    border-color: #d77805; }
-  .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle .btn-primary {
-    background-image: none; }
-  .btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active {
-    background-color: #F98B07;
-    border-color: #F98B07; }
-  .btn-primary .badge {
-    color: #F98B07;
-    background-color: white; }
+.btn-primary { color: white; background-color: #F98B07; border-color: #F98B07; -webkit-transition: all 0.35s; -moz-transition: all 0.35s; transition: all 0.35s; }
+.btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle .btn-primary { color: white; background-color: #e17d05; border-color: #d77805; }
+.btn-primary:active, .btn-primary.active, .open > .dropdown-toggle .btn-primary { background-image: none; }
+.btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active { background-color: #F98B07; border-color: #F98B07; }
+.btn-primary .badge { color: #F98B07; background-color: white; }
 
-.btn {
-  font-family: sans-serif,'Open Sans', 'Helvetica Neue', Arial;
-  border: none;
-  border-radius: 300px;
-  font-weight: 700;
-  text-transform: uppercase; }
+.btn { font-family: sans-serif,'Open Sans', 'Helvetica Neue', Arial; border: none; border-radius: 300px; font-weight: 700; text-transform: uppercase; }
 
-.btn-xl {
-  padding: 15px 30px; }
+.btn-xl { padding: 15px 30px; }
 
-#contact .fa {
-  color: #1F181A;
-  font-size: 4em; }
+#contact .fa { color: #1F181A; font-size: 4em; }
 
-@media (min-width: 1200px) {
-  #contact .col-lg-offset-3 {
-    margin-left: 23%; }
+@media (min-width: 1200px) { #contact .col-lg-offset-3 { margin-left: 23%; }
+  #contact .col-lg-4 { width: 24.333333%; }
+  #contact .col-lg-offset-1 { margin-left: 5.333333%; }
+  #contact .col-lg-2 { width: 24.666667%; }
+  #contact .col-lg-offset-media { margin-left: 22%; } }
+.thin-border { border: solid 1px #d6cccc; }
 
-  #contact .col-lg-4 {
-    width: 24.333333%; }
+#samples { padding: 76px 0 0 0; }
 
-  #contact .col-lg-offset-1 {
-    margin-left: 5.333333%; }
+#about p { font-size: 20px; }
 
-  #contact .col-lg-2 {
-    width: 24.666667%; }
+::-moz-selection { color: white; text-shadow: none; background: #1F181A; }
 
-  #contact .col-lg-offset-media {
-    margin-left: 22%; } }
-.thin-border {
-  border: solid 1px #d6cccc; }
+::selection { color: white; text-shadow: none; background: #1F181A; }
 
-#samples {
-  padding: 76px 0 0 0; }
+img::selection { color: white; background: transparent; }
 
-#about p {
-  font-size: 20px; }
+img::-moz-selection { color: white; background: transparent; }
 
-::-moz-selection {
-  color: white;
-  text-shadow: none;
-  background: #1F181A; }
-
-::selection {
-  color: white;
-  text-shadow: none;
-  background: #1F181A; }
-
-img::selection {
-  color: white;
-  background: transparent; }
-
-img::-moz-selection {
-  color: white;
-  background: transparent; }
-
-body {
-  -webkit-tap-highlight-color: #1F181A; }
+body { -webkit-tap-highlight-color: #1F181A; }
diff --git a/_site/feed.xml b/_site/feed.xml
index 97c6f44..9bd3762 100644
--- a/_site/feed.xml
+++ b/_site/feed.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.5.2">Jekyll</generator><link href="http://localhost:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2017-09-21T22:20:00+10:00</updated><id>http://localhost:4000/</id><subtitle></subtitle></feed>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.5.2">Jekyll</generator><link href="http://localhost:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2017-09-21T22:32:03+10:00</updated><id>http://localhost:4000/</id><title type="html">incubator-amaterasu-site</title><subtitle></subtitle></feed>
\ No newline at end of file