diff --git a/node_modules/material-design-lite/dist/customize/index.html b/node_modules/material-design-lite/dist/customize/index.html
new file mode 100644
index 0000000..0346d00
--- /dev/null
+++ b/node_modules/material-design-lite/dist/customize/index.html
@@ -0,0 +1,240 @@
+<!doctype html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="description" content="A front-end template that helps you build fast, modern mobile web apps.">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
+    <title>Material Design Lite</title>
+
+    <!-- Add to homescreen -->
+    <link rel="manifest" href="manifest.json">
+
+    <!-- Fallback to homescreen for Chrome <39 on Android -->
+    <meta name="mobile-web-app-capable" content="yes">
+    <meta name="application-name" content="Material Design Lite">
+    <link rel="icon" sizes="192x192" href="../assets/android-desktop.png">
+
+    <!-- Add to homescreen for Safari on iOS -->
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <meta name="apple-mobile-web-app-title" content="Material Design Lite">
+    <link rel="apple-touch-icon" href="../assets/ios-desktop.png">
+
+    <!-- TODO: Tile icon for Win8 (144x144 + tile color) -->
+    <!-- <meta name="msapplication-TileImage" content="images/touch/ms-touch-icon-144x144-precomposed.png"> -->
+    <!-- <meta name="msapplication-TileColor" content="#3372DF"> -->
+
+    <meta name="theme-color" content="#263238">
+
+    <link rel="shortcut icon" href="../assets/favicon.png">
+    <!-- SEO: If your mobile URL is different from the desktop URL, add a canonical link to the desktop page https://developers.google.com/webmasters/smartphone-sites/feature-phones -->
+    <!--
+    <link rel="canonical" href="http://www.example.com/">
+    -->
+
+    <!-- Page styles -->
+    <link rel="stylesheet" href="../assets/prism-default.css">
+    <link rel="stylesheet" href="../material.min.css">
+    <link rel="stylesheet" href="../assets/main.css">
+
+    <!-- Fonts -->
+    <link href='https://fonts.googleapis.com/css?family=Roboto:regular,bold,italic,thin,light,bolditalic,black,medium&amp;lang=en' rel='stylesheet' type='text/css'>
+    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
+  </head>
+  <body class="customize">
+  <!-- Google Analytics: change UA-XXXXX-X to be your site's ID -->
+  <script>
+    // if (document.location.hostname !== 'localhost' &&
+    //     document.location.hostname !== '127.0.0.1' &&
+    //     document.location.hostname.search('.corp.') === -1) {
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+      ga('create', 'UA-25993200-9', 'auto');
+      // If a specific component page is loaded directly we'll attribute the
+      // page view to the specific component's page
+      if (window.location.pathname.indexOf('/components/') !== -1 &&
+          window.location.hash.indexOf('-section') !== -1) {
+        ga('send', 'pageview', '/components/' +
+            window.location.hash.split('#')[1].split('/')[0]);
+      } else {
+        ga('send', 'pageview');
+      }
+    // }
+
+    // Setup error tracking before anything else runs.
+  window.onerror = function(message, file, lineNumber, columnNumber, error) {
+    try {
+      if (error !== undefined) {
+        message = error.stack;
+      }
+       ga('send', 'event', 'error', file + ':' + lineNumber, String(message));
+    } catch (e) {
+      // no-op
+    }
+  };
+  </script>
+  <div class="image-preloader"></div>
+  <div class="docs-layout mdl-layout mdl-js-layout">
+    <header class="docs-layout-header mdl-layout__header">
+      <div class="mdl-layout__header-row">
+        <span class="docs-layout-title mdl-layout-title"><a href="../">Material<br>Design<br>Lite</a></span>
+      </div>
+      <div class="docs-navigation__container">
+        <nav class="docs-navigation mdl-navigation">
+          <a href="../index.html" class="mdl-navigation__link about">About</a>
+          <a href="../started/index.html" class="mdl-navigation__link started">Getting Started</a>
+          <a href="../templates/index.html" class="mdl-navigation__link templates">Templates</a>
+          <a href="../components/index.html" class="mdl-navigation__link components">Components</a>
+          <a href="../styles/index.html" class="mdl-navigation__link styles">Styles</a>
+          <a href="../customize/index.html" class="mdl-navigation__link customize">Customize</a>
+          <a href="../showcase/index.html" class="mdl-navigation__link showcase">Showcase</a>
+          <a href="../faq/index.html" class="mdl-navigation__link faq">FAQ</a>
+          <div class="spacer"></div>
+          <a href="https://github.com/google/material-design-lite" class="mdl-navigation__link mdl-navigation__link--icon github"><i class="material-icons">link</i><span>GitHub</span></a>
+          <a href="../started/index.html#download" class="mdl-navigation__link mdl-navigation__link--icon download">
+            <i class="material-icons">&#xE2C4;</i><span>Download</span>
+            <button class="mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--fab mdl-button--mini-fab mdl-color--lime-A200">
+              <i class="material-icons">&#xE2C4;</i>
+            </button>
+          </a>
+        </nav>
+      </div>
+      <i class="material-icons scrollindicator scrollindicator--right">&#xE315;</i>
+      <i class="material-icons scrollindicator scrollindicator--left">&#xE314;</i>
+    </header>
+    <main class="docs-layout-content mdl-layout__content mdl-color-text--grey-600">
+      <div class="content mdl-grid mdl-grid--no-spacing" id="content">
+        <div class="subpageheader mdl-cell--12-col">Customize &amp; Download</div>
+        
+<link rel="stylesheet" href="../assets/customizer.css">
+<div class="mdl-gen mdl-cell mdl-cell--12-col">
+  <div class="mdl-grid">
+    <div class="mdl-gen__panel mdl-gen__panel--left mdl-cell mdl-cell--6-col-desktop mdl-cell--8-col">
+      <div id="wheel">
+        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+          <defs>
+            <filter id="drop-shadow">
+              <feGaussianBlur in="SourceAlpha" stdDeviation="3.2" />
+              <feOffset dx="0" dy="0" result="offsetblur" />
+              <feFlood flood-color="rgba(0,0,0,1)" />
+              <feComposite in2="offsetblur" operator="in" />
+              <feMerge>
+                <feMergeNode />
+                <feMergeNode in="SourceGraphic" />
+              </feMerge>
+            </filter>
+          </defs>
+          <g class="wheel--maing"></g>
+        </svg>
+        <div class="mdl-gen-download">
+          <a href="#" id="download" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--fab"><i class="material-icons">file_download</i></a>
+        </div>
+      </div>
+    </div>
+    <div class="mdl-gen__panel--right mdl-gen__panel mdl-cell mdl-cell--6-col-desktop mdl-cell--8-col">
+      <div class="mdl-gen__desc docs-text-styling">
+        <strong>Custom CSS theme builder</strong>
+        <p>Click on the color wheel to choose a primary (1) and accent (2) color to preview the theme below. When you’ve selected a color combination you like, either reference our <a href="#cdn-code">hosted CSS</a> or download the CSS by clicking the white button in the middle. You will need to include MDL’s JavaScript alongside your customised CSS to get the full experience. This is included in our default Download from the <a href="../started/index.html#download">Getting Started guide</a>.</p>
+      </div>
+      <div class="mdl-gen__preview">
+        <div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
+          <header class="mdl-layout__header">
+            <svg class="mdl-layout-icon" width="411px" height="406px" viewBox="0 0 411 406" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+              <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+                <g transform="translate(-51.000000, -54.000000)" fill="currentColor">
+                  <path d="M253.532807,381.627 L205.905373,459.1512 L75.2987939,365.2047 L137.208794,290.0547 L51,265.8834 L100.217083,116.7498 L183.176447,150.0543 L176.402456,54 L337.901996,54 L331.203531,149.0202 L409.306732,116.4465 L461.243662,265.7448 L371.760263,290.7036 L429.826513,365.6628 L302.333596,459.2493 L253.532807,381.627 Z M222.176831,106.2 L291.098533,106.2 L282.729084,224.796484 L383.182429,182.939488 L404.947387,245.446521 L297.795289,275.304737 L368.114228,365.995226 L313.701833,405.9 L252.592681,308.789934 L192.876775,405.9 L137.348587,365.995226 L212.130699,275.304737 L105.539492,245.446521 L126.18666,182.939488 L230.548276,224.796484 L222.176831,106.2 Z"></path>
+                </g>
+              </g>
+            </svg>
+            <div class="mdl-layout__header-row">
+              <span class="mdl-layout-title">Theme Preview</span>
+            </div>
+          </header>
+          <div class="mdl-layout__drawer">
+            <span class="mdl-layout-title">Theme Preview</span>
+            <nav class="mdl-navigation">
+              <a class="mdl-navigation__link" href="#">Some</a>
+              <a class="mdl-navigation__link" href="#">Links</a>
+              <a class="mdl-navigation__link" href="#">Here</a>
+            </nav>
+          </div>
+          <main class="mdl-layout__content">
+            <h3>Try it out</h3>
+            <p>
+              Lorem ipsum dolor sit amet.
+            </p>
+            <button class="mdl-button mdl-button--colored mdl-button--raised mdl-js-button mdl-js-ripple-effect">BUTTON</button>
+            <button class="mdl-button mdl-js-button mdl-button--fab mdl-button--colored mdl-js-ripple-effect">
+              <i class="material-icons">email</i>
+            </button>
+          </main>
+        </div>
+      </div>
+    </div>
+    <div class="mdl-gen__cdn mdl-cell mdl-cell--12-col">
+      <div class="code-with-text" id="cdn-code">
+        CSS hosted on our CDN (17.6kB gzipped):
+        <pre class="demo-code language-markup codepen-button-disabled"><code class="language-markup mdl-gen__cdn-link" data-language="markup"> &lt;link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.$primary-$accent.min.css" /&gt; </code></pre>
+      </div>
+    </div>
+  </div>
+</div>
+<script src="../assets/customizer.js"></script>
+<script>init();</script>
+
+      </div>
+      <section class="docs-text-styling download mdl-color--grey-800">
+        <a href="../started/index.html#download" class="mdl-color-text--grey-50">Download Kit</a>
+      </section>
+      <footer class="docs-text-styling docs-footer mdl-mini-footer mdl-color--grey-900">
+        <ul>
+          <li class="mdl-mini-footer--social-btn">
+            <a href="https://twitter.com/googledesign" class="social-btn social-btn__twitter" role="button" title="Twitter"></a>
+          </li>
+          <li class="mdl-mini-footer--social-btn">
+            <a href="https://github.com/google/material-design-lite" class="social-btn social-btn__github" role="button" title="GitHub"></a>
+          </li>
+          <li class="mdl-mini-footer--social-btn">
+            <a href="https://plus.google.com/+googledesign" class="social-btn social-btn__gplus" role="button" title="Google+"></a>
+          </li>
+        </ul>
+        <ul class="docs-link-list">
+          <li><a class="mdl-color-text--grey-600" href="https://developers.google.com/web/starter-kit/">Web Starter Kit</a></li>
+          <li><a class="mdl-color-text--grey-600" href="https://github.com/google/material-design-lite/issues">Help</a></li>
+        </ul>
+      </footer>
+    </main>
+  </div>
+
+    <!-- IE Compatibility shims -->
+      <!--[if lt IE 9]>
+        <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js""></script>
+      <![endif]-->
+
+      <!--[if IE]>
+        <script src="//cdnjs.cloudflare.com/ajax/libs/es5-shim/4.1.7/es5-shim.min.js"></script>
+        <script src="//cdnjs.cloudflare.com/ajax/libs/classlist/2014.01.31/classList.min.js"></script>
+        <script src="//cdnjs.cloudflare.com/ajax/libs/selectivizr/1.0.2/selectivizr-min.js"></script>
+        <script src="//cdnjs.cloudflare.com/ajax/libs/flexie/1.0.3/flexie.min.js"></script>
+        <link href="../assets/ie.css" rel="stylesheet">
+      <![endif]-->
+    <!-- end shims -->
+
+
+    <!-- Material Design Lite -->
+    <script src="../material.min.js"></script>
+    <!-- Add Copy-to-CodePen buttons to code blocks -->
+    <script src="../assets/codepen.js"></script>
+    <!-- Enable Prism syntax highlighting -->
+    <script src="../assets/prism.js"></script>
+    <script src="../assets/prism-markup.min.js"></script>
+    <script src="../assets/prism-javascript.min.js"></script>
+    <script src="../assets/prism-css.min.js"></script>
+    <script src="../assets/prism-bash.min.js"></script>
+    <script src="../assets/main.js"></script>
+    <!-- Built with love using Material Design Lite -->
+  </body>
+</html>
