From d9014502472031b6ea83b23c1e0f473a99191c1e Mon Sep 17 00:00:00 2001
From: khawkins <khawkins98@gmail.com>
Date: Fri, 1 Jul 2016 12:25:03 +0100
Subject: [PATCH] Update to use foundation SCSS

---
 libraries/foundation-6/.babelrc               |    13 +
 libraries/foundation-6/.bowerrc               |     3 +
 libraries/foundation-6/.editorconfig          |    12 +
 libraries/foundation-6/.eslintrc              |    65 +
 .../foundation-6/.github/ISSUE_TEMPLATE.md    |    18 +
 .../.github/PULL_REQUEST_TEMPLATE.md          |     9 +
 libraries/foundation-6/.gitignore             |    57 +
 libraries/foundation-6/.npmignore             |    19 +
 libraries/foundation-6/.scss-lint.yml         |   189 +
 libraries/foundation-6/.travis.yml            |     9 +
 libraries/foundation-6/.versions              |    14 +
 libraries/foundation-6/CONTRIBUTING.md        |    46 +
 libraries/foundation-6/LICENSE                |    22 +
 libraries/foundation-6/README.md              |    44 +
 .../foundation-6/assets/foundation-flex.scss  |     3 +
 .../foundation-6/assets/foundation-rtl.scss   |     5 +
 libraries/foundation-6/assets/foundation.scss |     3 +
 libraries/foundation-6/bower.json             |    32 +
 libraries/foundation-6/code-of-conduct.md     |    43 +
 libraries/foundation-6/composer.json          |    28 +
 libraries/foundation-6/css/app.css            |     0
 libraries/foundation-6/css/foundation.css     |  1273 +-
 libraries/foundation-6/css/foundation.min.css |     3 +-
 .../foundation-6/customizer/complete.json     |    46 +
 libraries/foundation-6/customizer/config.yml  |   218 +
 .../foundation-6/customizer/essential.json    |    11 +
 .../foundation-6/{ => customizer}/index.html  |     0
 .../foundation-6/customizer/lib/index.js      |     4 +
 libraries/foundation-6/customizer/lib/js.js   |    45 +
 libraries/foundation-6/customizer/lib/sass.js |    76 +
 .../foundation-6/dist/foundation-flex.css     |  4028 +++++
 .../foundation-6/dist/foundation-flex.min.css |     2 +
 .../foundation-6/dist/foundation-rtl.css      |  3583 +++++
 .../foundation-6/dist/foundation-rtl.min.css  |     2 +
 libraries/foundation-6/dist/foundation.css    |  3578 +++++
 .../{js/vendor => dist}/foundation.js         |  1488 +-
 .../foundation-6/dist/foundation.min.css      |     2 +
 .../{js/vendor => dist}/foundation.min.js     |     4 +-
 .../dist/plugins/foundation.abide.js          |   600 +
 .../dist/plugins/foundation.accordion.js      |   262 +
 .../dist/plugins/foundation.accordionMenu.js  |   307 +
 .../dist/plugins/foundation.core.js           |   386 +
 .../dist/plugins/foundation.drilldown.js      |   409 +
 .../dist/plugins/foundation.dropdown.js       |   447 +
 .../dist/plugins/foundation.dropdownMenu.js   |   447 +
 .../dist/plugins/foundation.equalizer.js      |   364 +
 .../dist/plugins/foundation.interchange.js    |   227 +
 .../dist/plugins/foundation.magellan.js       |   257 +
 .../dist/plugins/foundation.offcanvas.js      |   438 +
 .../dist/plugins/foundation.orbit.js          |   484 +
 .../dist/plugins/foundation.responsiveMenu.js |   171 +
 .../plugins/foundation.responsiveToggle.js    |   142 +
 .../dist/plugins/foundation.reveal.js         |   623 +
 .../dist/plugins/foundation.slider.js         |   648 +
 .../dist/plugins/foundation.sticky.js         |   495 +
 .../dist/plugins/foundation.tabs.js           |   348 +
 .../dist/plugins/foundation.toggler.js        |   166 +
 .../dist/plugins/foundation.tooltip.js        |   468 +
 .../dist/plugins/foundation.util.box.js       |   196 +
 .../dist/plugins/foundation.util.keyboard.js  |   123 +
 .../plugins/foundation.util.mediaQuery.js     |   216 +
 .../dist/plugins/foundation.util.motion.js    |    97 +
 .../dist/plugins/foundation.util.nest.js      |    69 +
 .../foundation.util.timerAndImageLoader.js    |    84 +
 .../dist/plugins/foundation.util.touch.js     |   352 +
 .../dist/plugins/foundation.util.triggers.js  |   243 +
 .../assets/img/a11y/chrome-a11y-inspector.jpg |   Bin 0 -> 20979 bytes
 .../docs/assets/img/generic/rectangle-1.jpg   |   Bin 0 -> 9284 bytes
 .../docs/assets/img/generic/rectangle-2.jpg   |   Bin 0 -> 172889 bytes
 .../docs/assets/img/generic/rectangle-3.jpg   |   Bin 0 -> 14048 bytes
 .../docs/assets/img/generic/rectangle-4.jpg   |   Bin 0 -> 32780 bytes
 .../docs/assets/img/generic/rectangle-5.jpg   |   Bin 0 -> 31295 bytes
 .../docs/assets/img/generic/rectangle-6.jpg   |   Bin 0 -> 33578 bytes
 .../docs/assets/img/generic/rectangle-7.jpg   |   Bin 0 -> 30779 bytes
 .../docs/assets/img/generic/rectangle-8.jpg   |   Bin 0 -> 69069 bytes
 .../docs/assets/img/generic/square-1.jpg      |   Bin 0 -> 38630 bytes
 .../docs/assets/img/generic/square-2.jpg      |   Bin 0 -> 44931 bytes
 .../docs/assets/img/generic/square-3.jpg      |   Bin 0 -> 36494 bytes
 .../docs/assets/img/generic/square-4.jpg      |   Bin 0 -> 15982 bytes
 .../docs/assets/img/generic/square-5.jpg      |   Bin 0 -> 32614 bytes
 .../docs/assets/img/generic/square-6.jpg      |   Bin 0 -> 35787 bytes
 .../docs/assets/img/generic/voyager.jpg       |   Bin 0 -> 45757 bytes
 .../foundation-6/docs/assets/img/gulpfile.js  |   167 +
 .../docs/assets/img/icons/favicon.ico         |   Bin 0 -> 1406 bytes
 .../assets/img/icons/footer-expo-retina.png   |   Bin 0 -> 2137 bytes
 .../docs/assets/img/icons/footer-expo.png     |   Bin 0 -> 1353 bytes
 .../img/icons/footer-foundation-retina.png    |   Bin 0 -> 1980 bytes
 .../assets/img/icons/footer-foundation.png    |   Bin 0 -> 1297 bytes
 .../assets/img/icons/footer-icons-retina.png  |   Bin 0 -> 6389 bytes
 .../docs/assets/img/icons/footer-icons.png    |   Bin 0 -> 5662 bytes
 .../img/icons/footer-products-retina.png      |   Bin 0 -> 2187 bytes
 .../docs/assets/img/icons/footer-products.png |   Bin 0 -> 1466 bytes
 .../img/icons/footer-studios-retina.png       |   Bin 0 -> 2725 bytes
 .../docs/assets/img/icons/footer-studios.png  |   Bin 0 -> 1565 bytes
 .../img/icons/footer-top-icons-retina.png     |   Bin 0 -> 3647 bytes
 .../assets/img/icons/footer-top-icons.png     |   Bin 0 -> 4645 bytes
 .../assets/img/icons/footer-university.png    |   Bin 0 -> 1353 bytes
 .../docs/assets/img/icons/social-retina.png   |   Bin 0 -> 6847 bytes
 .../docs/assets/img/icons/social.png          |   Bin 0 -> 3815 bytes
 .../docs/assets/img/inky-banner-bg-boat.svg   |   563 +
 .../docs/assets/img/inky-banner-bg-clear.svg  |    22 +
 .../docs/assets/img/interchange/large.jpg     |   Bin 0 -> 56157 bytes
 .../assets/img/interchange/map-medium.png     |   Bin 0 -> 543557 bytes
 .../docs/assets/img/interchange/map-small.png |   Bin 0 -> 475516 bytes
 .../docs/assets/img/interchange/medium.jpg    |   Bin 0 -> 44438 bytes
 .../docs/assets/img/interchange/small.jpg     |   Bin 0 -> 28474 bytes
 .../docs/assets/img/logos/sass-logo.svg       |     1 +
 .../docs/assets/img/logos/zurb-logo.svg       |    26 +
 .../docs/assets/img/media-object/avatar-1.jpg |   Bin 0 -> 10402 bytes
 .../docs/assets/img/media-object/avatar-2.jpg |   Bin 0 -> 10407 bytes
 .../docs/assets/img/media-object/avatar-3.jpg |   Bin 0 -> 8028 bytes
 .../foundation-6/docs/assets/img/orbit/01.jpg |   Bin 0 -> 152776 bytes
 .../foundation-6/docs/assets/img/orbit/02.jpg |   Bin 0 -> 59854 bytes
 .../foundation-6/docs/assets/img/orbit/03.jpg |   Bin 0 -> 71336 bytes
 .../foundation-6/docs/assets/img/orbit/04.jpg |   Bin 0 -> 55713 bytes
 .../docs/assets/img/thumbnail/01.jpg          |   Bin 0 -> 6981 bytes
 .../docs/assets/img/thumbnail/02.jpg          |   Bin 0 -> 8554 bytes
 .../docs/assets/img/thumbnail/03.jpg          |   Bin 0 -> 14493 bytes
 .../foundation-6/docs/assets/img/yeti.svg     |   110 +
 .../docs/assets/js/docs.buildingBlocks.js     |    27 +
 .../docs/assets/js/docs.examples.js           |    30 +
 .../docs/assets/js/docs.interchangeMap.js     |    45 +
 libraries/foundation-6/docs/assets/js/docs.js |    18 +
 .../docs/assets/js/docs.kissmetrics.js        |    18 +
 .../assets/partials/interchange-default.html  |     1 +
 .../assets/partials/interchange-large.html    |    12 +
 .../assets/partials/interchange-medium.html   |     1 +
 .../docs/assets/partials/sticky-nav.html      |   229 +
 .../foundation-6/docs/assets/scss/docs.scss   |    27 +
 .../docs/assets/scss/examples/_grid.scss      |    77 +
 .../docs/assets/scss/examples/_motion-ui.scss |    25 +
 .../assets/scss/examples/_off-canvas.scss     |     7 +
 .../docs/assets/scss/examples/_orbit.scss     |    22 +
 .../docs/assets/scss/examples/_reveal.scss    |     7 +
 .../docs/assets/scss/examples/_top-bar.scss   |     5 +
 .../foundation-6/docs/layout/default.html     |    67 +
 libraries/foundation-6/docs/pages/abide.md    |   221 +
 .../foundation-6/docs/pages/accessibility.md  |    77 +
 .../foundation-6/docs/pages/accordion-menu.md |    59 +
 .../foundation-6/docs/pages/accordion.md      |   124 +
 libraries/foundation-6/docs/pages/badge.md    |    53 +
 .../docs/pages/base-typography.md             |   262 +
 .../foundation-6/docs/pages/breadcrumbs.md    |    28 +
 .../foundation-6/docs/pages/button-group.md   |   107 +
 libraries/foundation-6/docs/pages/button.md   |   110 +
 libraries/foundation-6/docs/pages/callout.md  |   113 +
 .../foundation-6/docs/pages/close-button.md   |    47 +
 .../foundation-6/docs/pages/compatibility.md  |    37 +
 .../foundation-6/docs/pages/drilldown-menu.md |    86 +
 .../foundation-6/docs/pages/dropdown-menu.md  |   162 +
 libraries/foundation-6/docs/pages/dropdown.md |    79 +
 .../foundation-6/docs/pages/equalizer.md      |   199 +
 .../foundation-6/docs/pages/flex-grid.md      |   333 +
 .../foundation-6/docs/pages/flex-video.md     |    33 +
 libraries/foundation-6/docs/pages/flexbox.md  |   195 +
 .../foundation-6/docs/pages/float-classes.md  |    29 +
 libraries/foundation-6/docs/pages/forms.md    |   264 +
 libraries/foundation-6/docs/pages/global.md   |   129 +
 libraries/foundation-6/docs/pages/grid.md     |   566 +
 libraries/foundation-6/docs/pages/index.md    |   180 +
 .../foundation-6/docs/pages/installation.md   |   162 +
 .../foundation-6/docs/pages/interchange.md    |    89 +
 .../docs/pages/javascript-utilities.md        |   177 +
 .../foundation-6/docs/pages/javascript.md     |   213 +
 .../foundation-6/docs/pages/kitchen-sink.md   |  1097 ++
 libraries/foundation-6/docs/pages/label.md    |    55 +
 libraries/foundation-6/docs/pages/magellan.md |    74 +
 .../foundation-6/docs/pages/media-object.md   |   143 +
 .../foundation-6/docs/pages/media-queries.md  |   215 +
 libraries/foundation-6/docs/pages/menu.md     |   206 +
 .../foundation-6/docs/pages/motion-ui.md      |   187 +
 .../foundation-6/docs/pages/navigation.md     |   280 +
 .../foundation-6/docs/pages/off-canvas.md     |   155 +
 libraries/foundation-6/docs/pages/orbit.md    |   246 +
 .../foundation-6/docs/pages/pagination.md     |    47 +
 libraries/foundation-6/docs/pages/panini.md   |   251 +
 .../foundation-6/docs/pages/progress-bar.md   |   115 +
 .../docs/pages/responsive-navigation.md       |   147 +
 libraries/foundation-6/docs/pages/reveal.md   |   207 +
 libraries/foundation-6/docs/pages/rtl.md      |    45 +
 .../foundation-6/docs/pages/sass-functions.md |    36 +
 .../foundation-6/docs/pages/sass-mixins.md    |    13 +
 libraries/foundation-6/docs/pages/sass.md     |   168 +
 libraries/foundation-6/docs/pages/slider.md   |   132 +
 .../docs/pages/starter-projects.md            |    76 +
 libraries/foundation-6/docs/pages/sticky.md   |   151 +
 .../foundation-6/docs/pages/style-sherpa.md   |   107 +
 libraries/foundation-6/docs/pages/switch.md   |   114 +
 libraries/foundation-6/docs/pages/table.md    |   228 +
 libraries/foundation-6/docs/pages/tabs.md     |   111 +
 .../foundation-6/docs/pages/thumbnail.md      |    23 +
 libraries/foundation-6/docs/pages/toggler.md  |   114 +
 libraries/foundation-6/docs/pages/tooltip.md  |    63 +
 libraries/foundation-6/docs/pages/top-bar.md  |   135 +
 .../docs/pages/typography-base.md             |   262 +
 .../docs/pages/typography-helpers.md          |    92 +
 .../foundation-6/docs/pages/visibility.md     |   128 +
 .../docs/partials/component-list.html         |    93 +
 .../foundation-6/docs/partials/footer.html    |   130 +
 .../docs/partials/info-banner.html            |     6 +
 .../docs/partials/mobile-navigation.html      |     6 +
 .../docs/partials/navigation.html             |    62 +
 .../foundation-6/docs/partials/off-canvi.html |    73 +
 libraries/foundation-6/docs/search.yml        |    33 +
 libraries/foundation-6/docslink.sh            |     3 +
 libraries/foundation-6/gulp/babel-error.js    |    16 +
 libraries/foundation-6/gulp/clean.js          |     7 +
 libraries/foundation-6/gulp/copy.js           |    13 +
 libraries/foundation-6/gulp/customizer.js     |   124 +
 libraries/foundation-6/gulp/deploy.js         |   164 +
 libraries/foundation-6/gulp/docs.js           |    76 +
 libraries/foundation-6/gulp/javascript.js     |    48 +
 libraries/foundation-6/gulp/lint.js           |    27 +
 libraries/foundation-6/gulp/sass.js           |    71 +
 libraries/foundation-6/gulp/test.js           |    43 +
 libraries/foundation-6/gulpfile.js            |    27 +
 libraries/foundation-6/js/app.js              |     1 -
 libraries/foundation-6/js/foundation.abide.js |   543 +
 .../foundation-6/js/foundation.accordion.js   |   237 +
 .../js/foundation.accordionMenu.js            |   274 +
 libraries/foundation-6/js/foundation.core.js  |   378 +
 .../foundation-6/js/foundation.drilldown.js   |   369 +
 .../foundation-6/js/foundation.dropdown.js    |   409 +
 .../js/foundation.dropdownMenu.js             |   404 +
 .../foundation-6/js/foundation.equalizer.js   |   306 +
 .../foundation-6/js/foundation.interchange.js |   198 +
 libraries/foundation-6/js/foundation.js       |  1488 +-
 .../foundation-6/js/foundation.magellan.js    |   223 +
 libraries/foundation-6/js/foundation.min.js   |     4 +-
 .../foundation-6/js/foundation.offcanvas.js   |   398 +
 libraries/foundation-6/js/foundation.orbit.js |   446 +
 .../js/foundation.responsiveMenu.js           |   148 +
 .../js/foundation.responsiveToggle.js         |   119 +
 .../foundation-6/js/foundation.reveal.js      |   576 +
 .../foundation-6/js/foundation.slider.js      |   597 +
 .../foundation-6/js/foundation.sticky.js      |   459 +
 libraries/foundation-6/js/foundation.tabs.js  |   333 +
 .../foundation-6/js/foundation.toggler.js     |   144 +
 .../foundation-6/js/foundation.tooltip.js     |   444 +
 .../foundation-6/js/foundation.util.box.js    |   195 +
 .../js/foundation.util.keyboard.js            |   115 +
 .../js/foundation.util.mediaQuery.js          |   214 +
 .../foundation-6/js/foundation.util.motion.js |    99 +
 .../foundation-6/js/foundation.util.nest.js   |    76 +
 .../js/foundation.util.timerAndImageLoader.js |    86 +
 .../foundation-6/js/foundation.util.touch.js  |   352 +
 .../js/foundation.util.triggers.js            |   239 +
 libraries/foundation-6/js/jquery.js           |  9842 ------------
 .../js/plugins/foundation.abide.js            |   600 +
 .../js/plugins/foundation.accordion.js        |   262 +
 .../js/plugins/foundation.accordionMenu.js    |   307 +
 .../js/plugins/foundation.core.js             |   386 +
 .../js/plugins/foundation.drilldown.js        |   409 +
 .../js/plugins/foundation.dropdown.js         |   447 +
 .../js/plugins/foundation.dropdownMenu.js     |   447 +
 .../js/plugins/foundation.equalizer.js        |   364 +
 .../js/plugins/foundation.interchange.js      |   227 +
 .../js/plugins/foundation.magellan.js         |   257 +
 .../js/plugins/foundation.offcanvas.js        |   438 +
 .../js/plugins/foundation.orbit.js            |   484 +
 .../js/plugins/foundation.responsiveMenu.js   |   171 +
 .../js/plugins/foundation.responsiveToggle.js |   142 +
 .../js/plugins/foundation.reveal.js           |   623 +
 .../js/plugins/foundation.slider.js           |   648 +
 .../js/plugins/foundation.sticky.js           |   495 +
 .../js/plugins/foundation.tabs.js             |   348 +
 .../js/plugins/foundation.toggler.js          |   166 +
 .../js/plugins/foundation.tooltip.js          |   468 +
 .../js/plugins/foundation.util.box.js         |   196 +
 .../js/plugins/foundation.util.keyboard.js    |   123 +
 .../js/plugins/foundation.util.mediaQuery.js  |   216 +
 .../js/plugins/foundation.util.motion.js      |    97 +
 .../js/plugins/foundation.util.nest.js        |    69 +
 .../foundation.util.timerAndImageLoader.js    |    84 +
 .../js/plugins/foundation.util.touch.js       |   352 +
 .../js/plugins/foundation.util.triggers.js    |   243 +
 libraries/foundation-6/js/vendor/jquery.js    |  9842 ------------
 .../foundation-6/js/vendor/what-input.js      |   295 -
 libraries/foundation-6/js/what-input.js       |   295 -
 libraries/foundation-6/meteor-README.md       |   150 +
 libraries/foundation-6/package.js             |    93 +
 libraries/foundation-6/package.json           |   116 +
 libraries/foundation-6/sache.json             |     5 +
 libraries/foundation-6/scss/_global.scss      |   638 +
 .../scss/components/_accordion-menu.scss      |    32 +
 .../scss/components/_accordion.scss           |   129 +
 .../foundation-6/scss/components/_badge.scss  |    55 +
 .../scss/components/_breadcrumbs.scss         |    95 +
 .../scss/components/_button-group.scss        |   195 +
 .../foundation-6/scss/components/_button.scss |   265 +
 .../scss/components/_callout.scss             |   105 +
 .../scss/components/_close-button.scss        |    61 +
 .../scss/components/_drilldown.scss           |    79 +
 .../scss/components/_dropdown-menu.scss       |   221 +
 .../scss/components/_dropdown.scss            |    65 +
 .../scss/components/_flex-video.scss          |    63 +
 .../foundation-6/scss/components/_flex.scss   |    28 +
 .../foundation-6/scss/components/_float.scss  |    27 +
 .../foundation-6/scss/components/_label.scss  |    56 +
 .../scss/components/_media-object.scss        |   115 +
 .../scss/components/_menu-icon.scss           |     9 +
 .../foundation-6/scss/components/_menu.scss   |   314 +
 .../scss/components/_off-canvas.scss          |   177 +
 .../foundation-6/scss/components/_orbit.scss  |   193 +
 .../scss/components/_pagination.scss          |   162 +
 .../scss/components/_progress-bar.scss        |    64 +
 .../foundation-6/scss/components/_reveal.scss |   172 +
 .../foundation-6/scss/components/_slider.scss |   133 +
 .../foundation-6/scss/components/_sticky.scss |    38 +
 .../foundation-6/scss/components/_switch.scss |   236 +
 .../foundation-6/scss/components/_table.scss  |   247 +
 .../foundation-6/scss/components/_tabs.scss   |   165 +
 .../scss/components/_thumbnail.scss           |    54 +
 .../scss/components/_title-bar.scss           |    89 +
 .../scss/components/_tooltip.scss             |   104 +
 .../scss/components/_top-bar.scss             |   168 +
 .../scss/components/_visibility.scss          |   132 +
 .../foundation-6/scss/forms/_checkbox.scss    |    40 +
 libraries/foundation-6/scss/forms/_error.scss |    84 +
 .../foundation-6/scss/forms/_fieldset.scss    |    54 +
 libraries/foundation-6/scss/forms/_forms.scss |    34 +
 .../foundation-6/scss/forms/_help-text.scss   |    30 +
 .../foundation-6/scss/forms/_input-group.scss |   128 +
 libraries/foundation-6/scss/forms/_label.scss |    48 +
 libraries/foundation-6/scss/forms/_meter.scss |   111 +
 .../foundation-6/scss/forms/_progress.scss    |    94 +
 libraries/foundation-6/scss/forms/_range.scss |   144 +
 .../foundation-6/scss/forms/_select.scss      |    67 +
 libraries/foundation-6/scss/forms/_text.scss  |   163 +
 libraries/foundation-6/scss/foundation.scss   |   102 +
 .../foundation-6/scss/grid/_classes.scss      |   151 +
 libraries/foundation-6/scss/grid/_column.scss |   126 +
 .../foundation-6/scss/grid/_flex-grid.scss    |   280 +
 libraries/foundation-6/scss/grid/_grid.scss   |    60 +
 libraries/foundation-6/scss/grid/_gutter.scss |    34 +
 libraries/foundation-6/scss/grid/_layout.scss |    51 +
 .../foundation-6/scss/grid/_position.scss     |    73 +
 libraries/foundation-6/scss/grid/_row.scss    |    95 +
 libraries/foundation-6/scss/grid/_size.scss   |    24 +
 .../foundation-6/scss/settings/_settings.scss |   568 +
 .../scss/typography/_alignment.scss           |    22 +
 .../foundation-6/scss/typography/_base.scss   |   443 +
 .../scss/typography/_helpers.scss             |    77 +
 .../foundation-6/scss/typography/_print.scss  |    77 +
 .../scss/typography/_typography.scss          |    28 +
 .../foundation-6/scss/util/_breakpoint.scss   |   275 +
 libraries/foundation-6/scss/util/_color.scss  |    60 +
 libraries/foundation-6/scss/util/_flex.scss   |    68 +
 libraries/foundation-6/scss/util/_mixins.scss |   235 +
 .../foundation-6/scss/util/_selector.scss     |    40 +
 libraries/foundation-6/scss/util/_unit.scss   |    90 +
 libraries/foundation-6/scss/util/_util.scss   |    11 +
 libraries/foundation-6/scss/util/_value.scss  |   107 +
 .../test/javascript/components/abide.js       |    39 +
 .../test/javascript/components/accordion.js   |    20 +
 .../javascript/components/accordionMenu.js    |    20 +
 .../test/javascript/components/drilldown.js   |    20 +
 .../test/javascript/components/dropdown.js    |    20 +
 .../javascript/components/dropdownMenu.js     |    20 +
 .../test/javascript/components/equalizer.js   |    20 +
 .../test/javascript/components/interchange.js |    20 +
 .../test/javascript/components/magellan.js    |    20 +
 .../test/javascript/components/offcanvas.js   |    20 +
 .../test/javascript/components/orbit.js       |    20 +
 .../javascript/components/responsiveMenu.js   |    20 +
 .../javascript/components/responsiveToggle.js |    20 +
 .../test/javascript/components/reveal.js      |    20 +
 .../test/javascript/components/slider.js      |    20 +
 .../test/javascript/components/sticky.js      |    20 +
 .../test/javascript/components/tabs.js        |    20 +
 .../test/javascript/components/toggler.js     |   135 +
 .../test/javascript/components/tooltip.js     |    20 +
 .../foundation-6/test/javascript/index.html   |    28 +
 .../test/javascript/lib/chai-jquery.js        |   231 +
 .../foundation-6/test/javascript/lib/chai.js  |  5332 +++++++
 .../test/javascript/lib/mocha.css             |   305 +
 .../foundation-6/test/javascript/lib/mocha.js | 12417 ++++++++++++++++
 .../foundation-6/test/javascript/lib/sinon.js |  6437 ++++++++
 .../foundation-6/test/javascript/util/core.js |    83 +
 .../foundation-6/test/sass/_breakpoint.scss   |   160 +
 libraries/foundation-6/test/sass/_color.scss  |    47 +
 .../foundation-6/test/sass/_components.scss   |    41 +
 .../foundation-6/test/sass/_selector.scss     |    17 +
 libraries/foundation-6/test/sass/_unit.scss   |    50 +
 libraries/foundation-6/test/sass/_value.scss  |   118 +
 libraries/foundation-6/test/sass/test_sass.js |    18 +
 .../foundation-6/test/visual/_template.html   |    22 +
 .../test/visual/abide/abide-radio.html        |    79 +
 .../abide/hidden_and_ignored_fields.html      |    51 +
 .../foundation-6/test/visual/abide/text.html  |   115 +
 .../test/visual/accordion-menu/keyboard.html  |    39 +
 .../test/visual/accordion/focus.html          |    73 +
 .../visual/accordion/item-attributes.html     |    80 +
 .../test/visual/accordion/nested.html         |    68 +
 .../drilldown/drilldown-menu-parent-link.html |    67 +
 .../visual/drilldown/long-drilldown-menu.html |    50 +
 .../basic-dropdown-menu-rtl.html              |    52 +
 .../right-aligned-dropdown-menu.html          |   135 +
 .../dropdown-menu/submenu-mouse-reenter.html  |    59 +
 .../visual/dropdown/basic-dropdown-rtl.html   |    50 +
 .../test/visual/dropdown/close-on-click.html  |    37 +
 .../test/visual/dropdown/in-top-bar.html      |    55 +
 .../test/visual/dropdown/long.html            |    51 +
 .../visual/equalizer/equalizer-events.html    |    88 +
 .../test/visual/flex-grid/column-row.html     |    26 +
 .../test/visual/flex-grid/nesting.html        |    44 +
 .../visual/flex-grid/unstack-block-grid.html  |    49 +
 .../test/visual/grid/nesting.html             |    44 +
 .../foundation-6/test/visual/orbit/touch.html |    63 +
 .../dropdown-on-right-middle.html             |   115 +
 .../test/visual/responsive-menu/re-init.html  |    57 +
 .../responsive-menu-left-dropdown.html        |    84 +
 .../responsive-menu-right-dropdown.html       |    85 +
 .../responsive-menu/responsive-menu.html      |    54 +
 .../various-menu-options-flex.html            |   146 +
 .../responsive-menu/various-menu-options.html |   146 +
 .../test/visual/reveal/basic.html             |    83 +
 .../test/visual/reveal/full-reveal.html       |    50 +
 .../reveal/long-page-with-add-this.html       |    50 +
 .../test/visual/reveal/long-page.html         |    47 +
 .../test/visual/reveal/reveal-callout.html    |    44 +
 .../reveal/reveal-test-data-options.html      |    66 +
 .../foundation-6/test/visual/reveal/tall.html |    63 +
 .../test/visual/slider/nonzero-start.html     |    45 +
 .../sticky/accordions-with-anchors.html       |   182 +
 .../visual/sticky/anchors-with-callouts.html  |   197 +
 .../test/visual/sticky/height-transition.html |   161 +
 .../visual/sticky/menus-with-anchors.html     |   201 +
 .../test/visual/top-bar/stacking.html         |    58 +
 .../test/visual/triggers/programmatic.html    |    42 +
 .../responsive-text-alignment.html            |    27 +
 431 files changed, 90952 insertions(+), 22759 deletions(-)
 create mode 100755 libraries/foundation-6/.babelrc
 create mode 100755 libraries/foundation-6/.bowerrc
 create mode 100755 libraries/foundation-6/.editorconfig
 create mode 100755 libraries/foundation-6/.eslintrc
 create mode 100755 libraries/foundation-6/.github/ISSUE_TEMPLATE.md
 create mode 100755 libraries/foundation-6/.github/PULL_REQUEST_TEMPLATE.md
 create mode 100755 libraries/foundation-6/.gitignore
 create mode 100755 libraries/foundation-6/.npmignore
 create mode 100755 libraries/foundation-6/.scss-lint.yml
 create mode 100755 libraries/foundation-6/.travis.yml
 create mode 100755 libraries/foundation-6/.versions
 create mode 100755 libraries/foundation-6/CONTRIBUTING.md
 create mode 100755 libraries/foundation-6/LICENSE
 create mode 100755 libraries/foundation-6/README.md
 create mode 100755 libraries/foundation-6/assets/foundation-flex.scss
 create mode 100755 libraries/foundation-6/assets/foundation-rtl.scss
 create mode 100755 libraries/foundation-6/assets/foundation.scss
 create mode 100755 libraries/foundation-6/bower.json
 create mode 100755 libraries/foundation-6/code-of-conduct.md
 create mode 100755 libraries/foundation-6/composer.json
 delete mode 100644 libraries/foundation-6/css/app.css
 create mode 100755 libraries/foundation-6/customizer/complete.json
 create mode 100755 libraries/foundation-6/customizer/config.yml
 create mode 100755 libraries/foundation-6/customizer/essential.json
 rename libraries/foundation-6/{ => customizer}/index.html (100%)
 mode change 100644 => 100755
 create mode 100755 libraries/foundation-6/customizer/lib/index.js
 create mode 100755 libraries/foundation-6/customizer/lib/js.js
 create mode 100755 libraries/foundation-6/customizer/lib/sass.js
 create mode 100755 libraries/foundation-6/dist/foundation-flex.css
 create mode 100755 libraries/foundation-6/dist/foundation-flex.min.css
 create mode 100755 libraries/foundation-6/dist/foundation-rtl.css
 create mode 100755 libraries/foundation-6/dist/foundation-rtl.min.css
 create mode 100755 libraries/foundation-6/dist/foundation.css
 rename libraries/foundation-6/{js/vendor => dist}/foundation.js (99%)
 mode change 100644 => 100755
 create mode 100755 libraries/foundation-6/dist/foundation.min.css
 rename libraries/foundation-6/{js/vendor => dist}/foundation.min.js (88%)
 mode change 100644 => 100755
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.abide.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.accordion.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.accordionMenu.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.core.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.drilldown.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.dropdown.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.dropdownMenu.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.equalizer.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.interchange.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.magellan.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.offcanvas.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.orbit.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.responsiveMenu.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.responsiveToggle.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.reveal.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.slider.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.sticky.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.tabs.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.toggler.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.tooltip.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.util.box.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.util.keyboard.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.util.mediaQuery.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.util.motion.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.util.nest.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.util.timerAndImageLoader.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.util.touch.js
 create mode 100755 libraries/foundation-6/dist/plugins/foundation.util.triggers.js
 create mode 100755 libraries/foundation-6/docs/assets/img/a11y/chrome-a11y-inspector.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/rectangle-1.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/rectangle-2.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/rectangle-3.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/rectangle-4.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/rectangle-5.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/rectangle-6.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/rectangle-7.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/rectangle-8.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/square-1.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/square-2.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/square-3.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/square-4.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/square-5.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/square-6.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/generic/voyager.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/gulpfile.js
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/favicon.ico
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/footer-expo-retina.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/footer-expo.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/footer-foundation-retina.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/footer-foundation.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/footer-icons-retina.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/footer-icons.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/footer-products-retina.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/footer-products.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/footer-studios-retina.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/footer-studios.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/footer-top-icons-retina.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/footer-top-icons.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/footer-university.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/social-retina.png
 create mode 100755 libraries/foundation-6/docs/assets/img/icons/social.png
 create mode 100755 libraries/foundation-6/docs/assets/img/inky-banner-bg-boat.svg
 create mode 100755 libraries/foundation-6/docs/assets/img/inky-banner-bg-clear.svg
 create mode 100755 libraries/foundation-6/docs/assets/img/interchange/large.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/interchange/map-medium.png
 create mode 100755 libraries/foundation-6/docs/assets/img/interchange/map-small.png
 create mode 100755 libraries/foundation-6/docs/assets/img/interchange/medium.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/interchange/small.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/logos/sass-logo.svg
 create mode 100755 libraries/foundation-6/docs/assets/img/logos/zurb-logo.svg
 create mode 100755 libraries/foundation-6/docs/assets/img/media-object/avatar-1.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/media-object/avatar-2.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/media-object/avatar-3.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/orbit/01.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/orbit/02.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/orbit/03.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/orbit/04.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/thumbnail/01.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/thumbnail/02.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/thumbnail/03.jpg
 create mode 100755 libraries/foundation-6/docs/assets/img/yeti.svg
 create mode 100755 libraries/foundation-6/docs/assets/js/docs.buildingBlocks.js
 create mode 100755 libraries/foundation-6/docs/assets/js/docs.examples.js
 create mode 100755 libraries/foundation-6/docs/assets/js/docs.interchangeMap.js
 create mode 100755 libraries/foundation-6/docs/assets/js/docs.js
 create mode 100755 libraries/foundation-6/docs/assets/js/docs.kissmetrics.js
 create mode 100755 libraries/foundation-6/docs/assets/partials/interchange-default.html
 create mode 100755 libraries/foundation-6/docs/assets/partials/interchange-large.html
 create mode 100755 libraries/foundation-6/docs/assets/partials/interchange-medium.html
 create mode 100755 libraries/foundation-6/docs/assets/partials/sticky-nav.html
 create mode 100755 libraries/foundation-6/docs/assets/scss/docs.scss
 create mode 100755 libraries/foundation-6/docs/assets/scss/examples/_grid.scss
 create mode 100755 libraries/foundation-6/docs/assets/scss/examples/_motion-ui.scss
 create mode 100755 libraries/foundation-6/docs/assets/scss/examples/_off-canvas.scss
 create mode 100755 libraries/foundation-6/docs/assets/scss/examples/_orbit.scss
 create mode 100755 libraries/foundation-6/docs/assets/scss/examples/_reveal.scss
 create mode 100755 libraries/foundation-6/docs/assets/scss/examples/_top-bar.scss
 create mode 100755 libraries/foundation-6/docs/layout/default.html
 create mode 100755 libraries/foundation-6/docs/pages/abide.md
 create mode 100755 libraries/foundation-6/docs/pages/accessibility.md
 create mode 100755 libraries/foundation-6/docs/pages/accordion-menu.md
 create mode 100755 libraries/foundation-6/docs/pages/accordion.md
 create mode 100755 libraries/foundation-6/docs/pages/badge.md
 create mode 100755 libraries/foundation-6/docs/pages/base-typography.md
 create mode 100755 libraries/foundation-6/docs/pages/breadcrumbs.md
 create mode 100755 libraries/foundation-6/docs/pages/button-group.md
 create mode 100755 libraries/foundation-6/docs/pages/button.md
 create mode 100755 libraries/foundation-6/docs/pages/callout.md
 create mode 100755 libraries/foundation-6/docs/pages/close-button.md
 create mode 100755 libraries/foundation-6/docs/pages/compatibility.md
 create mode 100755 libraries/foundation-6/docs/pages/drilldown-menu.md
 create mode 100755 libraries/foundation-6/docs/pages/dropdown-menu.md
 create mode 100755 libraries/foundation-6/docs/pages/dropdown.md
 create mode 100755 libraries/foundation-6/docs/pages/equalizer.md
 create mode 100755 libraries/foundation-6/docs/pages/flex-grid.md
 create mode 100755 libraries/foundation-6/docs/pages/flex-video.md
 create mode 100755 libraries/foundation-6/docs/pages/flexbox.md
 create mode 100755 libraries/foundation-6/docs/pages/float-classes.md
 create mode 100755 libraries/foundation-6/docs/pages/forms.md
 create mode 100755 libraries/foundation-6/docs/pages/global.md
 create mode 100755 libraries/foundation-6/docs/pages/grid.md
 create mode 100755 libraries/foundation-6/docs/pages/index.md
 create mode 100755 libraries/foundation-6/docs/pages/installation.md
 create mode 100755 libraries/foundation-6/docs/pages/interchange.md
 create mode 100755 libraries/foundation-6/docs/pages/javascript-utilities.md
 create mode 100755 libraries/foundation-6/docs/pages/javascript.md
 create mode 100755 libraries/foundation-6/docs/pages/kitchen-sink.md
 create mode 100755 libraries/foundation-6/docs/pages/label.md
 create mode 100755 libraries/foundation-6/docs/pages/magellan.md
 create mode 100755 libraries/foundation-6/docs/pages/media-object.md
 create mode 100755 libraries/foundation-6/docs/pages/media-queries.md
 create mode 100755 libraries/foundation-6/docs/pages/menu.md
 create mode 100755 libraries/foundation-6/docs/pages/motion-ui.md
 create mode 100755 libraries/foundation-6/docs/pages/navigation.md
 create mode 100755 libraries/foundation-6/docs/pages/off-canvas.md
 create mode 100755 libraries/foundation-6/docs/pages/orbit.md
 create mode 100755 libraries/foundation-6/docs/pages/pagination.md
 create mode 100755 libraries/foundation-6/docs/pages/panini.md
 create mode 100755 libraries/foundation-6/docs/pages/progress-bar.md
 create mode 100755 libraries/foundation-6/docs/pages/responsive-navigation.md
 create mode 100755 libraries/foundation-6/docs/pages/reveal.md
 create mode 100755 libraries/foundation-6/docs/pages/rtl.md
 create mode 100755 libraries/foundation-6/docs/pages/sass-functions.md
 create mode 100755 libraries/foundation-6/docs/pages/sass-mixins.md
 create mode 100755 libraries/foundation-6/docs/pages/sass.md
 create mode 100755 libraries/foundation-6/docs/pages/slider.md
 create mode 100755 libraries/foundation-6/docs/pages/starter-projects.md
 create mode 100755 libraries/foundation-6/docs/pages/sticky.md
 create mode 100755 libraries/foundation-6/docs/pages/style-sherpa.md
 create mode 100755 libraries/foundation-6/docs/pages/switch.md
 create mode 100755 libraries/foundation-6/docs/pages/table.md
 create mode 100755 libraries/foundation-6/docs/pages/tabs.md
 create mode 100755 libraries/foundation-6/docs/pages/thumbnail.md
 create mode 100755 libraries/foundation-6/docs/pages/toggler.md
 create mode 100755 libraries/foundation-6/docs/pages/tooltip.md
 create mode 100755 libraries/foundation-6/docs/pages/top-bar.md
 create mode 100755 libraries/foundation-6/docs/pages/typography-base.md
 create mode 100755 libraries/foundation-6/docs/pages/typography-helpers.md
 create mode 100755 libraries/foundation-6/docs/pages/visibility.md
 create mode 100755 libraries/foundation-6/docs/partials/component-list.html
 create mode 100755 libraries/foundation-6/docs/partials/footer.html
 create mode 100755 libraries/foundation-6/docs/partials/info-banner.html
 create mode 100755 libraries/foundation-6/docs/partials/mobile-navigation.html
 create mode 100755 libraries/foundation-6/docs/partials/navigation.html
 create mode 100755 libraries/foundation-6/docs/partials/off-canvi.html
 create mode 100755 libraries/foundation-6/docs/search.yml
 create mode 100755 libraries/foundation-6/docslink.sh
 create mode 100755 libraries/foundation-6/gulp/babel-error.js
 create mode 100755 libraries/foundation-6/gulp/clean.js
 create mode 100755 libraries/foundation-6/gulp/copy.js
 create mode 100755 libraries/foundation-6/gulp/customizer.js
 create mode 100755 libraries/foundation-6/gulp/deploy.js
 create mode 100755 libraries/foundation-6/gulp/docs.js
 create mode 100755 libraries/foundation-6/gulp/javascript.js
 create mode 100755 libraries/foundation-6/gulp/lint.js
 create mode 100755 libraries/foundation-6/gulp/sass.js
 create mode 100755 libraries/foundation-6/gulp/test.js
 create mode 100755 libraries/foundation-6/gulpfile.js
 delete mode 100644 libraries/foundation-6/js/app.js
 create mode 100755 libraries/foundation-6/js/foundation.abide.js
 create mode 100755 libraries/foundation-6/js/foundation.accordion.js
 create mode 100755 libraries/foundation-6/js/foundation.accordionMenu.js
 create mode 100755 libraries/foundation-6/js/foundation.core.js
 create mode 100755 libraries/foundation-6/js/foundation.drilldown.js
 create mode 100755 libraries/foundation-6/js/foundation.dropdown.js
 create mode 100755 libraries/foundation-6/js/foundation.dropdownMenu.js
 create mode 100755 libraries/foundation-6/js/foundation.equalizer.js
 create mode 100755 libraries/foundation-6/js/foundation.interchange.js
 create mode 100755 libraries/foundation-6/js/foundation.magellan.js
 create mode 100755 libraries/foundation-6/js/foundation.offcanvas.js
 create mode 100755 libraries/foundation-6/js/foundation.orbit.js
 create mode 100755 libraries/foundation-6/js/foundation.responsiveMenu.js
 create mode 100755 libraries/foundation-6/js/foundation.responsiveToggle.js
 create mode 100755 libraries/foundation-6/js/foundation.reveal.js
 create mode 100755 libraries/foundation-6/js/foundation.slider.js
 create mode 100755 libraries/foundation-6/js/foundation.sticky.js
 create mode 100755 libraries/foundation-6/js/foundation.tabs.js
 create mode 100755 libraries/foundation-6/js/foundation.toggler.js
 create mode 100755 libraries/foundation-6/js/foundation.tooltip.js
 create mode 100755 libraries/foundation-6/js/foundation.util.box.js
 create mode 100755 libraries/foundation-6/js/foundation.util.keyboard.js
 create mode 100755 libraries/foundation-6/js/foundation.util.mediaQuery.js
 create mode 100755 libraries/foundation-6/js/foundation.util.motion.js
 create mode 100755 libraries/foundation-6/js/foundation.util.nest.js
 create mode 100755 libraries/foundation-6/js/foundation.util.timerAndImageLoader.js
 create mode 100755 libraries/foundation-6/js/foundation.util.touch.js
 create mode 100755 libraries/foundation-6/js/foundation.util.triggers.js
 delete mode 100644 libraries/foundation-6/js/jquery.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.abide.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.accordion.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.accordionMenu.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.core.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.drilldown.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.dropdown.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.dropdownMenu.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.equalizer.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.interchange.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.magellan.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.offcanvas.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.orbit.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.responsiveMenu.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.responsiveToggle.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.reveal.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.slider.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.sticky.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.tabs.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.toggler.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.tooltip.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.util.box.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.util.keyboard.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.util.mediaQuery.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.util.motion.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.util.nest.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.util.timerAndImageLoader.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.util.touch.js
 create mode 100755 libraries/foundation-6/js/plugins/foundation.util.triggers.js
 delete mode 100644 libraries/foundation-6/js/vendor/jquery.js
 delete mode 100644 libraries/foundation-6/js/vendor/what-input.js
 delete mode 100644 libraries/foundation-6/js/what-input.js
 create mode 100755 libraries/foundation-6/meteor-README.md
 create mode 100755 libraries/foundation-6/package.js
 create mode 100755 libraries/foundation-6/package.json
 create mode 100755 libraries/foundation-6/sache.json
 create mode 100755 libraries/foundation-6/scss/_global.scss
 create mode 100755 libraries/foundation-6/scss/components/_accordion-menu.scss
 create mode 100755 libraries/foundation-6/scss/components/_accordion.scss
 create mode 100755 libraries/foundation-6/scss/components/_badge.scss
 create mode 100755 libraries/foundation-6/scss/components/_breadcrumbs.scss
 create mode 100755 libraries/foundation-6/scss/components/_button-group.scss
 create mode 100755 libraries/foundation-6/scss/components/_button.scss
 create mode 100755 libraries/foundation-6/scss/components/_callout.scss
 create mode 100755 libraries/foundation-6/scss/components/_close-button.scss
 create mode 100755 libraries/foundation-6/scss/components/_drilldown.scss
 create mode 100755 libraries/foundation-6/scss/components/_dropdown-menu.scss
 create mode 100755 libraries/foundation-6/scss/components/_dropdown.scss
 create mode 100755 libraries/foundation-6/scss/components/_flex-video.scss
 create mode 100755 libraries/foundation-6/scss/components/_flex.scss
 create mode 100755 libraries/foundation-6/scss/components/_float.scss
 create mode 100755 libraries/foundation-6/scss/components/_label.scss
 create mode 100755 libraries/foundation-6/scss/components/_media-object.scss
 create mode 100755 libraries/foundation-6/scss/components/_menu-icon.scss
 create mode 100755 libraries/foundation-6/scss/components/_menu.scss
 create mode 100755 libraries/foundation-6/scss/components/_off-canvas.scss
 create mode 100755 libraries/foundation-6/scss/components/_orbit.scss
 create mode 100755 libraries/foundation-6/scss/components/_pagination.scss
 create mode 100755 libraries/foundation-6/scss/components/_progress-bar.scss
 create mode 100755 libraries/foundation-6/scss/components/_reveal.scss
 create mode 100755 libraries/foundation-6/scss/components/_slider.scss
 create mode 100755 libraries/foundation-6/scss/components/_sticky.scss
 create mode 100755 libraries/foundation-6/scss/components/_switch.scss
 create mode 100755 libraries/foundation-6/scss/components/_table.scss
 create mode 100755 libraries/foundation-6/scss/components/_tabs.scss
 create mode 100755 libraries/foundation-6/scss/components/_thumbnail.scss
 create mode 100755 libraries/foundation-6/scss/components/_title-bar.scss
 create mode 100755 libraries/foundation-6/scss/components/_tooltip.scss
 create mode 100755 libraries/foundation-6/scss/components/_top-bar.scss
 create mode 100755 libraries/foundation-6/scss/components/_visibility.scss
 create mode 100755 libraries/foundation-6/scss/forms/_checkbox.scss
 create mode 100755 libraries/foundation-6/scss/forms/_error.scss
 create mode 100755 libraries/foundation-6/scss/forms/_fieldset.scss
 create mode 100755 libraries/foundation-6/scss/forms/_forms.scss
 create mode 100755 libraries/foundation-6/scss/forms/_help-text.scss
 create mode 100755 libraries/foundation-6/scss/forms/_input-group.scss
 create mode 100755 libraries/foundation-6/scss/forms/_label.scss
 create mode 100755 libraries/foundation-6/scss/forms/_meter.scss
 create mode 100755 libraries/foundation-6/scss/forms/_progress.scss
 create mode 100755 libraries/foundation-6/scss/forms/_range.scss
 create mode 100755 libraries/foundation-6/scss/forms/_select.scss
 create mode 100755 libraries/foundation-6/scss/forms/_text.scss
 create mode 100755 libraries/foundation-6/scss/foundation.scss
 create mode 100755 libraries/foundation-6/scss/grid/_classes.scss
 create mode 100755 libraries/foundation-6/scss/grid/_column.scss
 create mode 100755 libraries/foundation-6/scss/grid/_flex-grid.scss
 create mode 100755 libraries/foundation-6/scss/grid/_grid.scss
 create mode 100755 libraries/foundation-6/scss/grid/_gutter.scss
 create mode 100755 libraries/foundation-6/scss/grid/_layout.scss
 create mode 100755 libraries/foundation-6/scss/grid/_position.scss
 create mode 100755 libraries/foundation-6/scss/grid/_row.scss
 create mode 100755 libraries/foundation-6/scss/grid/_size.scss
 create mode 100755 libraries/foundation-6/scss/settings/_settings.scss
 create mode 100755 libraries/foundation-6/scss/typography/_alignment.scss
 create mode 100755 libraries/foundation-6/scss/typography/_base.scss
 create mode 100755 libraries/foundation-6/scss/typography/_helpers.scss
 create mode 100755 libraries/foundation-6/scss/typography/_print.scss
 create mode 100755 libraries/foundation-6/scss/typography/_typography.scss
 create mode 100755 libraries/foundation-6/scss/util/_breakpoint.scss
 create mode 100755 libraries/foundation-6/scss/util/_color.scss
 create mode 100755 libraries/foundation-6/scss/util/_flex.scss
 create mode 100755 libraries/foundation-6/scss/util/_mixins.scss
 create mode 100755 libraries/foundation-6/scss/util/_selector.scss
 create mode 100755 libraries/foundation-6/scss/util/_unit.scss
 create mode 100755 libraries/foundation-6/scss/util/_util.scss
 create mode 100755 libraries/foundation-6/scss/util/_value.scss
 create mode 100755 libraries/foundation-6/test/javascript/components/abide.js
 create mode 100755 libraries/foundation-6/test/javascript/components/accordion.js
 create mode 100755 libraries/foundation-6/test/javascript/components/accordionMenu.js
 create mode 100755 libraries/foundation-6/test/javascript/components/drilldown.js
 create mode 100755 libraries/foundation-6/test/javascript/components/dropdown.js
 create mode 100755 libraries/foundation-6/test/javascript/components/dropdownMenu.js
 create mode 100755 libraries/foundation-6/test/javascript/components/equalizer.js
 create mode 100755 libraries/foundation-6/test/javascript/components/interchange.js
 create mode 100755 libraries/foundation-6/test/javascript/components/magellan.js
 create mode 100755 libraries/foundation-6/test/javascript/components/offcanvas.js
 create mode 100755 libraries/foundation-6/test/javascript/components/orbit.js
 create mode 100755 libraries/foundation-6/test/javascript/components/responsiveMenu.js
 create mode 100755 libraries/foundation-6/test/javascript/components/responsiveToggle.js
 create mode 100755 libraries/foundation-6/test/javascript/components/reveal.js
 create mode 100755 libraries/foundation-6/test/javascript/components/slider.js
 create mode 100755 libraries/foundation-6/test/javascript/components/sticky.js
 create mode 100755 libraries/foundation-6/test/javascript/components/tabs.js
 create mode 100755 libraries/foundation-6/test/javascript/components/toggler.js
 create mode 100755 libraries/foundation-6/test/javascript/components/tooltip.js
 create mode 100755 libraries/foundation-6/test/javascript/index.html
 create mode 100755 libraries/foundation-6/test/javascript/lib/chai-jquery.js
 create mode 100755 libraries/foundation-6/test/javascript/lib/chai.js
 create mode 100755 libraries/foundation-6/test/javascript/lib/mocha.css
 create mode 100755 libraries/foundation-6/test/javascript/lib/mocha.js
 create mode 100755 libraries/foundation-6/test/javascript/lib/sinon.js
 create mode 100755 libraries/foundation-6/test/javascript/util/core.js
 create mode 100755 libraries/foundation-6/test/sass/_breakpoint.scss
 create mode 100755 libraries/foundation-6/test/sass/_color.scss
 create mode 100755 libraries/foundation-6/test/sass/_components.scss
 create mode 100755 libraries/foundation-6/test/sass/_selector.scss
 create mode 100755 libraries/foundation-6/test/sass/_unit.scss
 create mode 100755 libraries/foundation-6/test/sass/_value.scss
 create mode 100755 libraries/foundation-6/test/sass/test_sass.js
 create mode 100755 libraries/foundation-6/test/visual/_template.html
 create mode 100755 libraries/foundation-6/test/visual/abide/abide-radio.html
 create mode 100755 libraries/foundation-6/test/visual/abide/hidden_and_ignored_fields.html
 create mode 100755 libraries/foundation-6/test/visual/abide/text.html
 create mode 100755 libraries/foundation-6/test/visual/accordion-menu/keyboard.html
 create mode 100755 libraries/foundation-6/test/visual/accordion/focus.html
 create mode 100755 libraries/foundation-6/test/visual/accordion/item-attributes.html
 create mode 100755 libraries/foundation-6/test/visual/accordion/nested.html
 create mode 100755 libraries/foundation-6/test/visual/drilldown/drilldown-menu-parent-link.html
 create mode 100755 libraries/foundation-6/test/visual/drilldown/long-drilldown-menu.html
 create mode 100755 libraries/foundation-6/test/visual/dropdown-menu/basic-dropdown-menu-rtl.html
 create mode 100755 libraries/foundation-6/test/visual/dropdown-menu/right-aligned-dropdown-menu.html
 create mode 100755 libraries/foundation-6/test/visual/dropdown-menu/submenu-mouse-reenter.html
 create mode 100755 libraries/foundation-6/test/visual/dropdown/basic-dropdown-rtl.html
 create mode 100755 libraries/foundation-6/test/visual/dropdown/close-on-click.html
 create mode 100755 libraries/foundation-6/test/visual/dropdown/in-top-bar.html
 create mode 100755 libraries/foundation-6/test/visual/dropdown/long.html
 create mode 100755 libraries/foundation-6/test/visual/equalizer/equalizer-events.html
 create mode 100755 libraries/foundation-6/test/visual/flex-grid/column-row.html
 create mode 100755 libraries/foundation-6/test/visual/flex-grid/nesting.html
 create mode 100755 libraries/foundation-6/test/visual/flex-grid/unstack-block-grid.html
 create mode 100755 libraries/foundation-6/test/visual/grid/nesting.html
 create mode 100755 libraries/foundation-6/test/visual/orbit/touch.html
 create mode 100755 libraries/foundation-6/test/visual/responsive-menu/dropdown-on-right-middle.html
 create mode 100755 libraries/foundation-6/test/visual/responsive-menu/re-init.html
 create mode 100755 libraries/foundation-6/test/visual/responsive-menu/responsive-menu-left-dropdown.html
 create mode 100755 libraries/foundation-6/test/visual/responsive-menu/responsive-menu-right-dropdown.html
 create mode 100755 libraries/foundation-6/test/visual/responsive-menu/responsive-menu.html
 create mode 100755 libraries/foundation-6/test/visual/responsive-menu/various-menu-options-flex.html
 create mode 100755 libraries/foundation-6/test/visual/responsive-menu/various-menu-options.html
 create mode 100755 libraries/foundation-6/test/visual/reveal/basic.html
 create mode 100755 libraries/foundation-6/test/visual/reveal/full-reveal.html
 create mode 100755 libraries/foundation-6/test/visual/reveal/long-page-with-add-this.html
 create mode 100755 libraries/foundation-6/test/visual/reveal/long-page.html
 create mode 100755 libraries/foundation-6/test/visual/reveal/reveal-callout.html
 create mode 100755 libraries/foundation-6/test/visual/reveal/reveal-test-data-options.html
 create mode 100755 libraries/foundation-6/test/visual/reveal/tall.html
 create mode 100755 libraries/foundation-6/test/visual/slider/nonzero-start.html
 create mode 100755 libraries/foundation-6/test/visual/sticky/accordions-with-anchors.html
 create mode 100755 libraries/foundation-6/test/visual/sticky/anchors-with-callouts.html
 create mode 100755 libraries/foundation-6/test/visual/sticky/height-transition.html
 create mode 100755 libraries/foundation-6/test/visual/sticky/menus-with-anchors.html
 create mode 100755 libraries/foundation-6/test/visual/top-bar/stacking.html
 create mode 100755 libraries/foundation-6/test/visual/triggers/programmatic.html
 create mode 100755 libraries/foundation-6/test/visual/typography-helpers/responsive-text-alignment.html

diff --git a/libraries/foundation-6/.babelrc b/libraries/foundation-6/.babelrc
new file mode 100755
index 00000000..b673dfc0
--- /dev/null
+++ b/libraries/foundation-6/.babelrc
@@ -0,0 +1,13 @@
+{
+	"plugins": [
+  	"transform-es2015-arrow-functions",
+  	"transform-es2015-block-scoped-functions",
+  	"transform-es2015-block-scoping",
+  	"transform-es2015-classes",
+  	"transform-es2015-destructuring",
+  	"transform-es2015-template-literals",
+  	"transform-es2015-parameters",
+		"transform-es2015-shorthand-properties",
+  	"transform-es2015-spread",
+  ]
+}
diff --git a/libraries/foundation-6/.bowerrc b/libraries/foundation-6/.bowerrc
new file mode 100755
index 00000000..69fad358
--- /dev/null
+++ b/libraries/foundation-6/.bowerrc
@@ -0,0 +1,3 @@
+{
+  "directory": "bower_components"
+}
diff --git a/libraries/foundation-6/.editorconfig b/libraries/foundation-6/.editorconfig
new file mode 100755
index 00000000..561cd5ef
--- /dev/null
+++ b/libraries/foundation-6/.editorconfig
@@ -0,0 +1,12 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+indent_style = space
+indent_size = 2
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/libraries/foundation-6/.eslintrc b/libraries/foundation-6/.eslintrc
new file mode 100755
index 00000000..e457c2f6
--- /dev/null
+++ b/libraries/foundation-6/.eslintrc
@@ -0,0 +1,65 @@
+{
+  "ecmaVersion": 6,
+  "env": {
+    "browser": true,
+    "builtin": true,
+    "es6": true,
+    "jasmine": true,
+    "jquery": true,
+    "mocha": true,
+    "node": true
+  },
+  "globals": {
+    "Foundation": true
+    },
+  "parser": "babel-eslint",
+  "parserOptions": {
+    "ecmaFeatures": {
+      "impliedStrict": true,
+      "jsx": false
+    },
+    "ecmaVersion": 6,
+    "sourceType": "module"
+  },
+  "rules": {
+    "block-scoped-var": 2,
+    "camelcase": 2,
+    "comma-style": [2, "last"],
+    "curly": [0, "all"],
+    "dot-notation": [
+      2,
+      {
+        "allowKeywords": true
+      }
+    ],
+    "eqeqeq": [2, "allow-null"],
+    "guard-for-in": 2,
+    "new-cap": 2,
+    "no-bitwise": 2,
+    "no-caller": 2,
+    "no-cond-assign": [2, "except-parens"],
+    "no-debugger": 2,
+    "no-empty": 2,
+    "no-eval": 2,
+    "no-extend-native": 2,
+    "no-extra-parens": 1,
+    "no-irregular-whitespace": 2,
+    "no-iterator": 2,
+    "no-loop-func": 2,
+    "no-multi-str": 2,
+    "no-new": 2,
+    "no-plusplus": 0,
+    "no-proto": 2,
+    "no-script-url": 2,
+    "no-sequences": 2,
+    "no-shadow": 1,
+    "no-undef": 2,
+    "no-unused-vars": 1,
+    "no-with": 2,
+    "quotes": 0,
+    "semi": [0, "never"],
+    "strict": [1, "global"],
+    "valid-typeof": 2,
+    "wrap-iife": [2, "inside"]
+  }
+}
\ No newline at end of file
diff --git a/libraries/foundation-6/.github/ISSUE_TEMPLATE.md b/libraries/foundation-6/.github/ISSUE_TEMPLATE.md
new file mode 100755
index 00000000..c6dc6a27
--- /dev/null
+++ b/libraries/foundation-6/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,18 @@
+<!-- Please only file bugs with Foundation on GitHub. If you've got a more general question about how to use Foundation, we can help you on the Foundation Forum: http://foundation.zurb.com/forum -->
+
+**How can we reproduce this bug?**
+
+1. Step one
+2. Step two
+3. Step three
+
+**What did you expect to happen?**
+
+**What happened instead?**
+
+**Test case:**
+
+Give us a link to a CodePen or JSFiddle that recreates the issue.
+
+- [CodePen with Foundation 6 and MotionUI](http://codepen.io/rafibomb/pen/xVVGOB)
+- [CodePen with Foundation 6, Flexbox grid and MotionUI](http://codepen.io/rafibomb/pen/jqqPra)
diff --git a/libraries/foundation-6/.github/PULL_REQUEST_TEMPLATE.md b/libraries/foundation-6/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100755
index 00000000..3f4f466e
--- /dev/null
+++ b/libraries/foundation-6/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,9 @@
+Before submitting a pull request, make sure it's targeting the right branch:
+
+- For documentation fixes, use `master`.
+- For bug fixes, use `develop`.
+- For new features, use the branch for the next minor version, which will be formatted `v6.x`.
+
+If you're fixing a JavaScript issue, it would help to create a new test case under the folder `test/visual/` that recreates the issue and show's that it's been fixed. Run `npm test` to compile the testing folder.
+
+Happy coding! :)
diff --git a/libraries/foundation-6/.gitignore b/libraries/foundation-6/.gitignore
new file mode 100755
index 00000000..1c23ecef
--- /dev/null
+++ b/libraries/foundation-6/.gitignore
@@ -0,0 +1,57 @@
+*.DS_Store
+*.gem
+*.orig
+*.rbc
+*.rbenv-version
+*.ruby-version
+*.scssc
+*.sublime-*
+*.swp
+*.swo
+.bundle
+.config
+.grunt
+.idea
+.sass-cache/*
+.yardoc
+_build
+.customizer
+
+bower_components
+bundle
+build/*
+/docs2/public/*
+_yardoc
+coverage
+docs/public/*
+InstalledFiles
+lib/bundler/man
+marketing/.sass-cache/*
+node_modules
+pkg
+rdoc
+spec/reports
+npm-debug.log
+_debug.json
+
+*.orig
+node_modules
+docs/public/*
+*.scssc
+*.rbenv-version
+*.ruby-version
+/docs2/public/*
+.settings
+.project
+test/scss/output-test
+test/tmp
+test/version_tmp
+tmp
+testing/_build
+test/javascript/js-tests.js
+
+pizza/
+data.json
+npm-debug.log
+foundation-docs
+vendor
diff --git a/libraries/foundation-6/.npmignore b/libraries/foundation-6/.npmignore
new file mode 100755
index 00000000..95048910
--- /dev/null
+++ b/libraries/foundation-6/.npmignore
@@ -0,0 +1,19 @@
+.sass-cache
+_build
+bower_components
+config
+docs
+gulp
+lib
+spec
+bower.json
+composer.json
+CONTRIBUTING.md
+gulpfile.js
+meteor-README.md
+package.js
+sache.json
+test
+.editorconfig
+.versions
+.babelrc
diff --git a/libraries/foundation-6/.scss-lint.yml b/libraries/foundation-6/.scss-lint.yml
new file mode 100755
index 00000000..d267fd0b
--- /dev/null
+++ b/libraries/foundation-6/.scss-lint.yml
@@ -0,0 +1,189 @@
+# Default application configuration that all configurations inherit from.
+
+scss_files: "scss/**/*.scss"
+
+linters:
+  BangFormat:
+    enabled: true
+    space_before_bang: true
+    space_after_bang: false
+
+  BorderZero:
+    enabled: true
+    convention: zero # or `none`
+
+  ColorKeyword:
+    enabled: true
+
+  ColorVariable:
+    enabled: true
+
+  Comment:
+    enabled: false
+
+  DebugStatement:
+    enabled: true
+
+  DeclarationOrder:
+    enabled: true
+
+  DuplicateProperty:
+    enabled: true
+
+  ElsePlacement:
+    enabled: true
+    style: new_line # or 'same_line'
+
+  EmptyLineBetweenBlocks:
+    enabled: true
+    ignore_single_line_blocks: true
+
+  EmptyRule:
+    enabled: true
+
+  FinalNewline:
+    enabled: true
+    present: true
+
+  HexLength:
+    enabled: true
+    style: short # or 'long'
+
+  HexNotation:
+    enabled: true
+    style: lowercase # or 'uppercase'
+
+  HexValidation:
+    enabled: true
+
+  IdSelector:
+    enabled: true
+
+  ImportantRule:
+    enabled: false
+
+  ImportPath:
+    enabled: true
+    leading_underscore: false
+    filename_extension: false
+
+  Indentation:
+    enabled: true
+    allow_non_nested_indentation: false
+    character: space # or 'tab'
+    width: 2
+
+  LeadingZero:
+    enabled: true
+    style: include_zero # or 'include_zero'
+
+  MergeableSelector:
+    enabled: true
+    force_nesting: true
+
+  NameFormat:
+    enabled: true
+    allow_leading_underscore: true
+    convention: hyphenated_lowercase # or 'BEM', or a regex pattern
+
+  NestingDepth:
+    enabled: true
+    max_depth: 3
+
+  PlaceholderInExtend:
+    enabled: true
+
+  PropertyCount:
+    enabled: false
+    include_nested: false
+    max_properties: 10
+
+  PropertySortOrder:
+    enabled: false
+    ignore_unspecified: false
+    separate_groups: false
+
+  PropertySpelling:
+    enabled: true
+    extra_properties: []
+
+  QualifyingElement:
+    enabled: true
+    allow_element_with_attribute: false
+    allow_element_with_class: false
+    allow_element_with_id: false
+
+  SelectorDepth:
+    enabled: true
+    max_depth: 3
+
+  SelectorFormat:
+    enabled: true
+    convention: '([a-z0-9]+-?)+'
+
+  Shorthand:
+    enabled: true
+
+  SingleLinePerProperty:
+    enabled: true
+    allow_single_line_rule_sets: false
+
+  SingleLinePerSelector:
+    enabled: false
+
+  SpaceAfterComma:
+    enabled: true
+
+  SpaceAfterPropertyColon:
+    enabled: true
+    style: one_space # or 'no_space', or 'at_least_one_space', or 'aligned'
+
+  SpaceAfterPropertyName:
+    enabled: true
+
+  SpaceBeforeBrace:
+    enabled: true
+    style: space # or 'new_line'
+    allow_single_line_padding: true
+
+  SpaceBetweenParens:
+    enabled: true
+    spaces: 0
+
+  StringQuotes:
+    enabled: true
+    style: single_quotes # or double_quotes
+
+  TrailingSemicolon:
+    enabled: true
+
+  TrailingZero:
+    enabled: false
+
+  UnnecessaryMantissa:
+    enabled: true
+
+  UnnecessaryParentReference:
+    enabled: true
+
+  UrlFormat:
+    enabled: true
+
+  UrlQuotes:
+    enabled: true
+
+  VariableForProperty:
+    enabled: false
+    properties: []
+
+  VendorPrefixes:
+    enabled: true
+    identifier_list: base
+    include: []
+    exclude: []
+
+  ZeroUnit:
+    enabled: true
+
+  Compass::*:
+    enabled: false
\ No newline at end of file
diff --git a/libraries/foundation-6/.travis.yml b/libraries/foundation-6/.travis.yml
new file mode 100755
index 00000000..6b21648c
--- /dev/null
+++ b/libraries/foundation-6/.travis.yml
@@ -0,0 +1,9 @@
+language: node_js
+node_js:
+  - "0.12"
+before_install:
+  - rvm install 2.2.2
+install:
+  - npm install -g bower
+  - npm install
+  - gem install scss_lint
diff --git a/libraries/foundation-6/.versions b/libraries/foundation-6/.versions
new file mode 100755
index 00000000..eb5c7f6e
--- /dev/null
+++ b/libraries/foundation-6/.versions
@@ -0,0 +1,14 @@
+babel-compiler@6.6.4
+babel-runtime@0.1.8
+caching-compiler@1.0.4
+ecmascript@0.4.3
+ecmascript-runtime@0.2.10
+fourseven:scss@3.4.1
+jquery@1.11.8
+meteor@1.1.14
+modules@0.6.1
+modules-runtime@0.6.3
+promise@0.6.7
+random@1.0.9
+underscore@1.0.8
+zurb:foundation-sites@6.2.2_2
diff --git a/libraries/foundation-6/CONTRIBUTING.md b/libraries/foundation-6/CONTRIBUTING.md
new file mode 100755
index 00000000..db2be6c5
--- /dev/null
+++ b/libraries/foundation-6/CONTRIBUTING.md
@@ -0,0 +1,46 @@
+# Foundation Contributing Guidelines
+
+Although Foundation is maintained by ZURB, it’s also a community effort. Whether it’s bug fixing, feature development, or contributions to the ecosystem, designers and developers from all over the world help make Foundation the most advanced framework in the world.
+
+A select group of our contributors have been dubbed *Yetinauts*. They have direct write access to the codebase and support the core Foundation team on the development of the framework. Are you interested in making your mark on the Foundation framework? Whether you’re just submitting bugs or helping us write new features, there are many ways to contribute to Foundation.
+
+## Terms
+
+- The **community** is anyone commenting on issues or opening pull requests. That includes you!
+- A **Yetinaut** is anyone with write access to the repository.
+- The **Core Team** is anyone on the Foundation Team.
+
+## Issues
+
+Open an issue for any problem you have with the framework. If there's anything missing from your issue, such as extra context, a code sample, etc. a team member will ask for more info in the comments.
+
+Support requests are generally better suited for the [Foundation Forum](http://foundation.zurb.com), while GitHub is more appropriate for bugs. If you aren’t sure if your issue is a bug or not, don’t worry! Post your problem on GitHub and the team will help you along. Every participant is expected to follow the project's Code of Conduct so please be courteous and respectful.
+
+## Contributions
+
+All new features and bug fixes should be submitted as pull requests, so the community can review and discuss them. Core Team members can commit directly to the repository for very small changes, but should generally also submit new code as a pull request.
+
+When you submit a pull request, @mention a few people you’d like to help you review it. Once those people have signed off on it, the pull request can be merged! Core Team members will handle the merge itself.
+
+## Coding Standards
+
+If you aren't sure how a feature should be implemented, we recommend checking out our [standards document](https://github.com/zurb/foundation-standards), which outlines every aspect of writing framework features, from Sass to JavaScript.
+
+## Becoming a Yetinaut
+
+Want to join our crack team of Yetinauts? The Core Team is inviting active community members to become Yetinauts  on a case-by-case basis. If you want to become a contributor, engage the community on the Foundation Forum, help us close issues on GitHub, and review pull requests from other contributors.
+
+If you’ve made substantial contributions to a Foundation framework and haven’t heard from us yet, you can reach out at foundation@zurb.com.
+
+Contributors are expected to:
+
+- Engage the community on GitHub by responding to and tagging issues.
+- Write pull requests to address bugs and feature requests.
+- Help in reviewing pull requests from users, contributors, and the Core Team.
+- Follow the guidelines outlined in this document.
+
+Here are some example contributions from some of our awesome team members:
+
+- Colin Marshall converted our Sass unit tests to a newer test runner called True.
+- Andy Cochran reworked the CSS for button groups to fix issues with stacking and border radii.
+- designerno1 developed the Equalize by Row feature for the Equalizer plugin.
diff --git a/libraries/foundation-6/LICENSE b/libraries/foundation-6/LICENSE
new file mode 100755
index 00000000..a8abd4c6
--- /dev/null
+++ b/libraries/foundation-6/LICENSE
@@ -0,0 +1,22 @@
+Copyright (c) 2013-2016 ZURB, inc.
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/libraries/foundation-6/README.md b/libraries/foundation-6/README.md
new file mode 100755
index 00000000..1c201776
--- /dev/null
+++ b/libraries/foundation-6/README.md
@@ -0,0 +1,44 @@
+# [Foundation for Sites](http://foundation.zurb.com)
+
+[![npm version](https://badge.fury.io/js/foundation-sites.svg)](https://badge.fury.io/js/foundation-sites) [![Bower version](https://badge.fury.io/bo/foundation-sites.svg)](https://badge.fury.io/bo/foundation-sites) [![Gem Version](https://badge.fury.io/rb/foundation-rails.svg)](https://badge.fury.io/rb/foundation-rails) [![devDependency Status](https://david-dm.org/zurb/foundation-sites/dev-status.svg)](https://david-dm.org/zurb/foundation-sites#info=devDependencies) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/zurb/foundation-sites?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
+
+Foundation is the most advanced responsive front-end framework in the world. Quickly go from prototype to production, building sites or apps that work on any kind of device with Foundation. Includes a fully customizable, responsive grid, a large library of Sass mixins, commonly used JavaScript plugins, and full accessibility support.
+
+## Getting Started
+
+The quickest way to get started is with the [basic CSS download](http://foundation.zurb.com/sites/download/). You can get versions with every component, essential ones only, or a custom build.
+
+If you're a Sass user, we have two starter project templates, the [Basic Template](https://github.com/zurb/foundation-sites-template) and the [ZURB Template](https://github.com/zurb/foundation-zurb-template). You can install them by manually downloading them from GitHub, or using the [Foundation CLI](https://github.com/zurb/foundation-cli).
+
+Lastly, if you're rolling your own setup, you can install Foundation through a variety of [package managers](http://foundation.zurb.com/sites/docs/installation.html#package-managers).
+
+## Documentation
+
+The documentation can be found at <https://foundation.zurb.com/sites/docs>. To run the documentation locally on your machine, you need [Node.js](https://nodejs.org/en/) and [Ruby](https://www.ruby-lang.org/en/) installed on your computer. (Your Node.js version must be 0.12 or higher.)
+
+Run these commands to set up the documentation:
+
+```bash
+git clone https://github.com/zurb/foundation-sites
+cd foundation-sites
+gem install scss-lint
+npm install
+```
+
+Then run `npm start` to compile the documentation. When it finishes, a new browser window will open pointing to a BrowserSync server displaying the documentation.
+
+## Testing
+
+Foundation has three kinds of tests: JavaScript, Sass, and visual regression. Refer to our [testing guide](https://github.com/zurb/foundation-sites/wiki/Testing-Guide) for more details.
+
+These commands will run the various tests:
+
+- `npm run test:sass`
+- `npm run test:javascript`
+- `npm run test:visual`
+
+## Contributing
+
+Check out our [contributing guide](http://foundation.zurb.com/develop/contribute.html) to learn how you can contribute to Foundation. You can also browse the [Help Wanted](https://github.com/zurb/foundation-sites/labels/help%20wanted) tag in our issue tracker to find things to do.
+
+Copyright (c) 2016 ZURB, inc.
diff --git a/libraries/foundation-6/assets/foundation-flex.scss b/libraries/foundation-6/assets/foundation-flex.scss
new file mode 100755
index 00000000..7ae2ca55
--- /dev/null
+++ b/libraries/foundation-6/assets/foundation-flex.scss
@@ -0,0 +1,3 @@
+@import '../scss/foundation';
+
+@include foundation-everything($flex: true);
diff --git a/libraries/foundation-6/assets/foundation-rtl.scss b/libraries/foundation-6/assets/foundation-rtl.scss
new file mode 100755
index 00000000..4d31b780
--- /dev/null
+++ b/libraries/foundation-6/assets/foundation-rtl.scss
@@ -0,0 +1,5 @@
+$global-text-direction: rtl;
+
+@import '../scss/foundation';
+
+@include foundation-everything;
diff --git a/libraries/foundation-6/assets/foundation.scss b/libraries/foundation-6/assets/foundation.scss
new file mode 100755
index 00000000..09584ae1
--- /dev/null
+++ b/libraries/foundation-6/assets/foundation.scss
@@ -0,0 +1,3 @@
+@import '../scss/foundation';
+
+@include foundation-everything;
diff --git a/libraries/foundation-6/bower.json b/libraries/foundation-6/bower.json
new file mode 100755
index 00000000..7a09234e
--- /dev/null
+++ b/libraries/foundation-6/bower.json
@@ -0,0 +1,32 @@
+{
+  "name": "foundation-sites",
+  "version": "6.2.3",
+  "main": [
+    "scss/foundation.scss",
+    "dist/foundation.js"
+  ],
+  "ignore": [
+    "config",
+    "docs",
+    "gulp",
+    "lib",
+    "test",
+    "composer.json",
+    "CONTRIBUTING.md",
+    "gulpfile.js",
+    "meteor-README.md",
+    "package.js",
+    "package.json",
+    "sache.json",
+    ".editorconfig",
+    ".npm",
+    ".gitignore",
+    ".npmignore",
+    ".versions",
+    ".babelrc"
+  ],
+  "dependencies": {
+    "jquery": "~2.2.0",
+    "what-input": "~2.0.0"
+  }
+}
diff --git a/libraries/foundation-6/code-of-conduct.md b/libraries/foundation-6/code-of-conduct.md
new file mode 100755
index 00000000..4774add3
--- /dev/null
+++ b/libraries/foundation-6/code-of-conduct.md
@@ -0,0 +1,43 @@
+# Foundation Community Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as the Foundation team pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment include:
+
+- Using welcoming and inclusive language
+- Being respectful of differing viewpoints and experiences
+- Gracefully accepting constructive criticism
+- Focusing on what is best for the community
+- Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+- The use of sexualized language or imagery and unwelcome sexual attention or advances
+- Trolling, insulting/derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or electronic address, without explicit permission
+- Other conduct which could reasonably be considered inappropriate in a professional setting
+
+## Our Responsibilities
+
+The Foundation team is responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
+
+The Foundation team has the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces when an individual is representing Foundation or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by the Foundation team.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at foundation@zurb.com. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
+
+Contributors who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at <http://contributor-covenant.org/version/1/4>.
diff --git a/libraries/foundation-6/composer.json b/libraries/foundation-6/composer.json
new file mode 100755
index 00000000..034cca47
--- /dev/null
+++ b/libraries/foundation-6/composer.json
@@ -0,0 +1,28 @@
+{
+  "name": "zurb/foundation-sites",
+  "description": "The most advanced responsive front-end framework in the world.",
+  "version": "6.2.1",
+  "keywords": [
+    "css",
+    "scss",
+    "sass",
+    "js",
+    "responsive",
+    "mobile-first",
+    "framework"
+  ],
+  "homepage": "http://foundation.zurb.com",
+  "authors": [
+    {
+      "name": "ZURB, Inc.",
+      "homepage": "http://zurb.com",
+      "email": "foundation@zurb.com"
+    }
+  ],
+  "support": {
+    "email": "foundation@zurb.com",
+    "issues": "https://github.com/zurb/foundation-sites/issues",
+    "forum": "http://foundation.zurb.com/forum"
+  },
+  "license": "MIT"
+}
diff --git a/libraries/foundation-6/css/app.css b/libraries/foundation-6/css/app.css
deleted file mode 100644
index e69de29b..00000000
diff --git a/libraries/foundation-6/css/foundation.css b/libraries/foundation-6/css/foundation.css
index 66aca962..2e3b7d0e 100644
--- a/libraries/foundation-6/css/foundation.css
+++ b/libraries/foundation-6/css/foundation.css
@@ -1453,130 +1453,6 @@ kbd {
   h3 {
     page-break-after: avoid; } }
 
-.button {
-  display: inline-block;
-  text-align: center;
-  line-height: 1;
-  cursor: pointer;
-  -webkit-appearance: none;
-  transition: background-color 0.25s ease-out, color 0.25s ease-out;
-  vertical-align: middle;
-  border: 1px solid transparent;
-  border-radius: 0;
-  padding: 0.85em 1em;
-  margin: 0 0 1rem 0;
-  font-size: 0.9rem;
-  background-color: #2199e8;
-  color: #fefefe; }
-  [data-whatinput='mouse'] .button {
-    outline: 0; }
-  .button:hover, .button:focus {
-    background-color: #1583cc;
-    color: #fefefe; }
-  .button.tiny {
-    font-size: 0.6rem; }
-  .button.small {
-    font-size: 0.75rem; }
-  .button.large {
-    font-size: 1.25rem; }
-  .button.expanded {
-    display: block;
-    width: 100%;
-    margin-left: 0;
-    margin-right: 0; }
-  .button.primary {
-    background-color: #2199e8;
-    color: #fefefe; }
-    .button.primary:hover, .button.primary:focus {
-      background-color: #147cc0;
-      color: #fefefe; }
-  .button.secondary {
-    background-color: #777;
-    color: #fefefe; }
-    .button.secondary:hover, .button.secondary:focus {
-      background-color: #5f5f5f;
-      color: #fefefe; }
-  .button.success {
-    background-color: #3adb76;
-    color: #fefefe; }
-    .button.success:hover, .button.success:focus {
-      background-color: #22bb5b;
-      color: #fefefe; }
-  .button.warning {
-    background-color: #ffae00;
-    color: #fefefe; }
-    .button.warning:hover, .button.warning:focus {
-      background-color: #cc8b00;
-      color: #fefefe; }
-  .button.alert {
-    background-color: #ec5840;
-    color: #fefefe; }
-    .button.alert:hover, .button.alert:focus {
-      background-color: #da3116;
-      color: #fefefe; }
-  .button.hollow {
-    border: 1px solid #2199e8;
-    color: #2199e8; }
-    .button.hollow, .button.hollow:hover, .button.hollow:focus {
-      background-color: transparent; }
-    .button.hollow:hover, .button.hollow:focus {
-      border-color: #0c4d78;
-      color: #0c4d78; }
-    .button.hollow.primary {
-      border: 1px solid #2199e8;
-      color: #2199e8; }
-      .button.hollow.primary:hover, .button.hollow.primary:focus {
-        border-color: #0c4d78;
-        color: #0c4d78; }
-    .button.hollow.secondary {
-      border: 1px solid #777;
-      color: #777; }
-      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
-        border-color: #3c3c3c;
-        color: #3c3c3c; }
-    .button.hollow.success {
-      border: 1px solid #3adb76;
-      color: #3adb76; }
-      .button.hollow.success:hover, .button.hollow.success:focus {
-        border-color: #157539;
-        color: #157539; }
-    .button.hollow.warning {
-      border: 1px solid #ffae00;
-      color: #ffae00; }
-      .button.hollow.warning:hover, .button.hollow.warning:focus {
-        border-color: #805700;
-        color: #805700; }
-    .button.hollow.alert {
-      border: 1px solid #ec5840;
-      color: #ec5840; }
-      .button.hollow.alert:hover, .button.hollow.alert:focus {
-        border-color: #881f0e;
-        color: #881f0e; }
-  .button.disabled, .button[disabled] {
-    opacity: 0.25;
-    cursor: not-allowed; }
-    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
-      background-color: #2199e8;
-      color: #fefefe; }
-  .button.dropdown::after {
-    content: '';
-    display: block;
-    width: 0;
-    height: 0;
-    border: inset 0.4em;
-    border-color: #fefefe transparent transparent;
-    border-top-style: solid;
-    border-bottom-width: 0;
-    position: relative;
-    top: 0.4em;
-    float: right;
-    margin-left: 1em;
-    display: inline-block; }
-  .button.arrow-only::after {
-    margin-left: 0;
-    float: none;
-    top: -0.1em; }
-
 [type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
 textarea {
   display: block;
@@ -1608,18 +1484,6 @@ textarea {
   textarea[rows] {
     height: auto; }
 
-input::-webkit-input-placeholder,
-textarea::-webkit-input-placeholder {
-  color: #cacaca; }
-
-input::-moz-placeholder,
-textarea::-moz-placeholder {
-  color: #cacaca; }
-
-input:-ms-input-placeholder,
-textarea:-ms-input-placeholder {
-  color: #cacaca; }
-
 input::placeholder,
 textarea::placeholder {
   color: #cacaca; }
@@ -1793,6 +1657,130 @@ select {
   .form-error.is-visible {
     display: block; }
 
+.button {
+  display: inline-block;
+  text-align: center;
+  line-height: 1;
+  cursor: pointer;
+  -webkit-appearance: none;
+  transition: background-color 0.25s ease-out, color 0.25s ease-out;
+  vertical-align: middle;
+  border: 1px solid transparent;
+  border-radius: 0;
+  padding: 0.85em 1em;
+  margin: 0 0 1rem 0;
+  font-size: 0.9rem;
+  background-color: #2199e8;
+  color: #fefefe; }
+  [data-whatinput='mouse'] .button {
+    outline: 0; }
+  .button:hover, .button:focus {
+    background-color: #1583cc;
+    color: #fefefe; }
+  .button.tiny {
+    font-size: 0.6rem; }
+  .button.small {
+    font-size: 0.75rem; }
+  .button.large {
+    font-size: 1.25rem; }
+  .button.expanded {
+    display: block;
+    width: 100%;
+    margin-left: 0;
+    margin-right: 0; }
+  .button.primary {
+    background-color: #2199e8;
+    color: #fefefe; }
+    .button.primary:hover, .button.primary:focus {
+      background-color: #147cc0;
+      color: #fefefe; }
+  .button.secondary {
+    background-color: #777;
+    color: #fefefe; }
+    .button.secondary:hover, .button.secondary:focus {
+      background-color: #5f5f5f;
+      color: #fefefe; }
+  .button.success {
+    background-color: #3adb76;
+    color: #fefefe; }
+    .button.success:hover, .button.success:focus {
+      background-color: #22bb5b;
+      color: #fefefe; }
+  .button.warning {
+    background-color: #ffae00;
+    color: #fefefe; }
+    .button.warning:hover, .button.warning:focus {
+      background-color: #cc8b00;
+      color: #fefefe; }
+  .button.alert {
+    background-color: #ec5840;
+    color: #fefefe; }
+    .button.alert:hover, .button.alert:focus {
+      background-color: #da3116;
+      color: #fefefe; }
+  .button.hollow {
+    border: 1px solid #2199e8;
+    color: #2199e8; }
+    .button.hollow, .button.hollow:hover, .button.hollow:focus {
+      background-color: transparent; }
+    .button.hollow:hover, .button.hollow:focus {
+      border-color: #0c4d78;
+      color: #0c4d78; }
+    .button.hollow.primary {
+      border: 1px solid #2199e8;
+      color: #2199e8; }
+      .button.hollow.primary:hover, .button.hollow.primary:focus {
+        border-color: #0c4d78;
+        color: #0c4d78; }
+    .button.hollow.secondary {
+      border: 1px solid #777;
+      color: #777; }
+      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
+        border-color: #3c3c3c;
+        color: #3c3c3c; }
+    .button.hollow.success {
+      border: 1px solid #3adb76;
+      color: #3adb76; }
+      .button.hollow.success:hover, .button.hollow.success:focus {
+        border-color: #157539;
+        color: #157539; }
+    .button.hollow.warning {
+      border: 1px solid #ffae00;
+      color: #ffae00; }
+      .button.hollow.warning:hover, .button.hollow.warning:focus {
+        border-color: #805700;
+        color: #805700; }
+    .button.hollow.alert {
+      border: 1px solid #ec5840;
+      color: #ec5840; }
+      .button.hollow.alert:hover, .button.hollow.alert:focus {
+        border-color: #881f0e;
+        color: #881f0e; }
+  .button.disabled, .button[disabled] {
+    opacity: 0.25;
+    cursor: not-allowed; }
+    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
+      background-color: #2199e8;
+      color: #fefefe; }
+  .button.dropdown::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.4em;
+    border-color: #fefefe transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    position: relative;
+    top: 0.4em;
+    float: right;
+    margin-left: 1em;
+    display: inline-block; }
+  .button.arrow-only::after {
+    margin-left: 0;
+    float: none;
+    top: -0.1em; }
+
 .accordion {
   list-style-type: none;
   background: #fefefe;
@@ -1854,12 +1842,8 @@ select {
     right: 1rem; }
 
 .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
-  -webkit-transform-origin: 50% 50%;
-      -ms-transform-origin: 50% 50%;
-          transform-origin: 50% 50%;
-  -webkit-transform: scaleY(-1);
-      -ms-transform: scaleY(-1);
-          transform: scaleY(-1); }
+  transform-origin: 50% 50%;
+  transform: scaleY(-1); }
 
 .badge {
   display: inline-block;
@@ -2209,18 +2193,13 @@ select {
   height: 100%;
   width: 100%;
   background: #fefefe;
-  transition: -webkit-transform 0.15s linear;
   transition: transform 0.15s linear; }
   .is-drilldown-submenu.is-active {
     z-index: 1;
     display: block;
-    -webkit-transform: translateX(-100%);
-        -ms-transform: translateX(-100%);
-            transform: translateX(-100%); }
+    transform: translateX(-100%); }
   .is-drilldown-submenu.is-closing {
-    -webkit-transform: translateX(100%);
-        -ms-transform: translateX(100%);
-            transform: translateX(100%); }
+    transform: translateX(100%); }
 
 .is-drilldown-submenu-parent > a {
   position: relative; }
@@ -2590,14 +2569,12 @@ body {
   width: 100%;
   overflow-x: hidden;
   position: relative;
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden;
+  backface-visibility: hidden;
   -webkit-overflow-scrolling: auto; }
 
 .off-canvas-wrapper-inner {
   position: relative;
   width: 100%;
-  transition: -webkit-transform 0.5s ease;
   transition: transform 0.5s ease; }
   .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
     content: ' ';
@@ -2609,10 +2586,8 @@ body {
 .off-canvas-content {
   min-height: 100%;
   background: #fefefe;
-  transition: -webkit-transform 0.5s ease;
   transition: transform 0.5s ease;
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden;
+  backface-visibility: hidden;
   z-index: 1;
   padding-bottom: 0.1px;
   box-shadow: 0 0 10px rgba(10, 10, 10, 0.5); }
@@ -2634,9 +2609,7 @@ body {
   z-index: -1;
   max-height: 100%;
   overflow-y: auto;
-  -webkit-transform: translateX(0);
-      -ms-transform: translateX(0);
-          transform: translateX(0); }
+  transform: translateX(0); }
   [data-whatinput='mouse'] .off-canvas {
     outline: 0; }
   .off-canvas.position-left {
@@ -2644,17 +2617,13 @@ body {
     top: 0;
     width: 250px; }
     .is-open-left {
-      -webkit-transform: translateX(250px);
-          -ms-transform: translateX(250px);
-              transform: translateX(250px); }
+      transform: translateX(250px); }
   .off-canvas.position-right {
     right: -250px;
     top: 0;
     width: 250px; }
     .is-open-right {
-      -webkit-transform: translateX(-250px);
-          -ms-transform: translateX(-250px);
-              transform: translateX(-250px); }
+      transform: translateX(-250px); }
 
 @media screen and (min-width: 40em) {
   .position-left.reveal-for-medium {
@@ -2720,9 +2689,7 @@ body {
 .orbit-previous, .orbit-next {
   position: absolute;
   top: 50%;
-  -webkit-transform: translateY(-50%);
-      -ms-transform: translateY(-50%);
-          transform: translateY(-50%);
+  transform: translateY(-50%);
   z-index: 10;
   padding: 1rem;
   color: #fefefe; }
@@ -2838,9 +2805,7 @@ body {
   position: absolute;
   top: 50%;
   left: 50%;
-  -webkit-transform: translate(-50%, -50%);
-      -ms-transform: translate(-50%, -50%);
-          transform: translate(-50%, -50%);
+  transform: translate(-50%, -50%);
   position: absolute;
   margin: 0;
   font-size: 0.75rem;
@@ -2848,6 +2813,95 @@ body {
   color: #fefefe;
   white-space: nowrap; }
 
+.slider {
+  position: relative;
+  height: 0.5rem;
+  margin-top: 1.25rem;
+  margin-bottom: 2.25rem;
+  background-color: #e6e6e6;
+  cursor: pointer;
+  user-select: none;
+  touch-action: none; }
+
+.slider-fill {
+  position: absolute;
+  top: 0;
+  left: 0;
+  display: inline-block;
+  max-width: 100%;
+  height: 0.5rem;
+  background-color: #cacaca;
+  transition: all 0.2s ease-in-out; }
+  .slider-fill.is-dragging {
+    transition: all 0s linear; }
+
+.slider-handle {
+  position: absolute;
+  top: 50%;
+  transform: translateY(-50%);
+  position: absolute;
+  left: 0;
+  z-index: 1;
+  display: inline-block;
+  width: 1.4rem;
+  height: 1.4rem;
+  background-color: #2199e8;
+  transition: all 0.2s ease-in-out;
+  touch-action: manipulation;
+  border-radius: 0; }
+  [data-whatinput='mouse'] .slider-handle {
+    outline: 0; }
+  .slider-handle:hover {
+    background-color: #1583cc; }
+  .slider-handle.is-dragging {
+    transition: all 0s linear; }
+
+.slider.disabled,
+.slider[disabled] {
+  opacity: 0.25;
+  cursor: not-allowed; }
+
+.slider.vertical {
+  display: inline-block;
+  width: 0.5rem;
+  height: 12.5rem;
+  margin: 0 1.25rem;
+  transform: scale(1, -1); }
+  .slider.vertical .slider-fill {
+    top: 0;
+    width: 0.5rem;
+    max-height: 100%; }
+  .slider.vertical .slider-handle {
+    position: absolute;
+    top: 0;
+    left: 50%;
+    width: 1.4rem;
+    height: 1.4rem;
+    transform: translateX(-50%); }
+
+.sticky-container {
+  position: relative; }
+
+.sticky {
+  position: absolute;
+  z-index: 0;
+  transform: translate3d(0, 0, 0); }
+
+.sticky.is-stuck {
+  position: fixed;
+  z-index: 5; }
+  .sticky.is-stuck.is-at-top {
+    top: 0; }
+  .sticky.is-stuck.is-at-bottom {
+    bottom: 0; }
+
+.sticky.is-anchored {
+  position: absolute;
+  left: auto;
+  right: auto; }
+  .sticky.is-anchored.is-at-bottom {
+    bottom: 0; }
+
 body.is-reveal-open {
   overflow: hidden; }
 
@@ -2855,10 +2909,7 @@ html.is-reveal-open,
 html.is-reveal-open body {
   height: 100%;
   overflow: hidden;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none; }
+  user-select: none; }
 
 .reveal-overlay {
   display: none;
@@ -2942,122 +2993,20 @@ html.is-reveal-open body {
   .reveal.without-overlay {
     position: fixed; }
 
-.slider {
-  position: relative;
-  height: 0.5rem;
-  margin-top: 1.25rem;
-  margin-bottom: 2.25rem;
-  background-color: #e6e6e6;
-  cursor: pointer;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-  -ms-touch-action: none;
-      touch-action: none; }
-
-.slider-fill {
-  position: absolute;
-  top: 0;
-  left: 0;
-  display: inline-block;
-  max-width: 100%;
-  height: 0.5rem;
-  background-color: #cacaca;
-  transition: all 0.2s ease-in-out; }
-  .slider-fill.is-dragging {
-    transition: all 0s linear; }
-
-.slider-handle {
-  position: absolute;
-  top: 50%;
-  -webkit-transform: translateY(-50%);
-      -ms-transform: translateY(-50%);
-          transform: translateY(-50%);
-  position: absolute;
-  left: 0;
-  z-index: 1;
-  display: inline-block;
-  width: 1.4rem;
-  height: 1.4rem;
-  background-color: #2199e8;
-  transition: all 0.2s ease-in-out;
-  -ms-touch-action: manipulation;
-      touch-action: manipulation;
-  border-radius: 0; }
-  [data-whatinput='mouse'] .slider-handle {
-    outline: 0; }
-  .slider-handle:hover {
-    background-color: #1583cc; }
-  .slider-handle.is-dragging {
-    transition: all 0s linear; }
-
-.slider.disabled,
-.slider[disabled] {
-  opacity: 0.25;
-  cursor: not-allowed; }
-
-.slider.vertical {
-  display: inline-block;
-  width: 0.5rem;
-  height: 12.5rem;
-  margin: 0 1.25rem;
-  -webkit-transform: scale(1, -1);
-      -ms-transform: scale(1, -1);
-          transform: scale(1, -1); }
-  .slider.vertical .slider-fill {
-    top: 0;
-    width: 0.5rem;
-    max-height: 100%; }
-  .slider.vertical .slider-handle {
-    position: absolute;
-    top: 0;
-    left: 50%;
-    width: 1.4rem;
-    height: 1.4rem;
-    -webkit-transform: translateX(-50%);
-        -ms-transform: translateX(-50%);
-            transform: translateX(-50%); }
-
-.sticky-container {
-  position: relative; }
-
-.sticky {
-  position: absolute;
-  z-index: 0;
-  -webkit-transform: translate3d(0, 0, 0);
-          transform: translate3d(0, 0, 0); }
-
-.sticky.is-stuck {
-  position: fixed;
-  z-index: 5; }
-  .sticky.is-stuck.is-at-top {
-    top: 0; }
-  .sticky.is-stuck.is-at-bottom {
-    bottom: 0; }
-
-.sticky.is-anchored {
-  position: absolute;
-  left: auto;
-  right: auto; }
-  .sticky.is-anchored.is-at-bottom {
-    bottom: 0; }
-
 .switch {
+  height: 2rem;
   margin-bottom: 1rem;
   outline: 0;
   position: relative;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
+  user-select: none;
   color: #fefefe;
   font-weight: bold;
   font-size: 0.875rem; }
 
 .switch-input {
   opacity: 0;
-  position: absolute; }
+  position: absolute;
+  margin-bottom: 0; }
 
 .switch-paddle {
   background: #cacaca;
@@ -3082,8 +3031,7 @@ html.is-reveal-open body {
     top: 0.25rem;
     width: 1.5rem;
     transition: all 0.25s ease-out;
-    -webkit-transform: translate3d(0, 0, 0);
-            transform: translate3d(0, 0, 0);
+    transform: translate3d(0, 0, 0);
     border-radius: 0; }
   input:checked ~ .switch-paddle {
     background: #2199e8; }
@@ -3095,9 +3043,7 @@ html.is-reveal-open body {
 .switch-active, .switch-inactive {
   position: absolute;
   top: 50%;
-  -webkit-transform: translateY(-50%);
-      -ms-transform: translateY(-50%);
-          transform: translateY(-50%); }
+  transform: translateY(-50%); }
 
 .switch-active {
   left: 8%;
@@ -3110,41 +3056,41 @@ html.is-reveal-open body {
   input:checked + label > .switch-inactive {
     display: none; }
 
-.switch.tiny .switch-paddle {
-  width: 3rem;
-  height: 1.5rem;
-  font-size: 0.625rem; }
-
-.switch.tiny .switch-paddle::after {
-  width: 1rem;
-  height: 1rem; }
-
-.switch.tiny input:checked ~ .switch-paddle::after {
-  left: 1.75rem; }
-
-.switch.small .switch-paddle {
-  width: 3.5rem;
-  height: 1.75rem;
-  font-size: 0.75rem; }
-
-.switch.small .switch-paddle::after {
-  width: 1.25rem;
-  height: 1.25rem; }
-
-.switch.small input:checked ~ .switch-paddle::after {
-  left: 2rem; }
-
-.switch.large .switch-paddle {
-  width: 5rem;
-  height: 2.5rem;
-  font-size: 1rem; }
-
-.switch.large .switch-paddle::after {
-  width: 2rem;
-  height: 2rem; }
+.switch.tiny {
+  height: 1.5rem; }
+  .switch.tiny .switch-paddle {
+    width: 3rem;
+    height: 1.5rem;
+    font-size: 0.625rem; }
+  .switch.tiny .switch-paddle::after {
+    width: 1rem;
+    height: 1rem; }
+  .switch.tiny input:checked ~ .switch-paddle::after {
+    left: 1.75rem; }
+
+.switch.small {
+  height: 1.75rem; }
+  .switch.small .switch-paddle {
+    width: 3.5rem;
+    height: 1.75rem;
+    font-size: 0.75rem; }
+  .switch.small .switch-paddle::after {
+    width: 1.25rem;
+    height: 1.25rem; }
+  .switch.small input:checked ~ .switch-paddle::after {
+    left: 2rem; }
 
-.switch.large input:checked ~ .switch-paddle::after {
-  left: 2.75rem; }
+.switch.large {
+  height: 2.5rem; }
+  .switch.large .switch-paddle {
+    width: 5rem;
+    height: 2.5rem;
+    font-size: 1rem; }
+  .switch.large .switch-paddle::after {
+    width: 2rem;
+    height: 2rem; }
+  .switch.large input:checked ~ .switch-paddle::after {
+    left: 2.75rem; }
 
 table {
   width: 100%;
@@ -3158,20 +3104,22 @@ table {
   table caption {
     font-weight: bold;
     padding: 0.5rem 0.625rem 0.625rem; }
-  table thead,
-  table tfoot {
+  table thead {
     background: #f8f8f8;
     color: #0a0a0a; }
-    table thead tr,
-    table tfoot tr {
-      background: transparent; }
-    table thead th,
-    table thead td,
-    table tfoot th,
-    table tfoot td {
-      padding: 0.5rem 0.625rem 0.625rem;
-      font-weight: bold;
-      text-align: left; }
+  table tfoot {
+    background: #f1f1f1;
+    color: #0a0a0a; }
+  table thead tr,
+  table tfoot tr {
+    background: transparent; }
+  table thead th,
+  table thead td,
+  table tfoot th,
+  table tfoot td {
+    padding: 0.5rem 0.625rem 0.625rem;
+    font-weight: bold;
+    text-align: left; }
   table tbody tr:nth-child(even) {
     background-color: #f1f1f1; }
   table tbody th,
@@ -3349,9 +3297,7 @@ table.hover tr:nth-of-type(even):hover {
     bottom: 100%;
     position: absolute;
     left: 50%;
-    -webkit-transform: translateX(-50%);
-        -ms-transform: translateX(-50%);
-            transform: translateX(-50%); }
+    transform: translateX(-50%); }
   .tooltip.top::before {
     content: '';
     display: block;
@@ -3375,9 +3321,7 @@ table.hover tr:nth-of-type(even):hover {
     bottom: auto;
     left: 100%;
     top: 50%;
-    -webkit-transform: translateY(-50%);
-        -ms-transform: translateY(-50%);
-            transform: translateY(-50%); }
+    transform: translateY(-50%); }
   .tooltip.right::before {
     content: '';
     display: block;
@@ -3391,9 +3335,7 @@ table.hover tr:nth-of-type(even):hover {
     left: auto;
     right: 100%;
     top: 50%;
-    -webkit-transform: translateY(-50%);
-        -ms-transform: translateY(-50%);
-            transform: translateY(-50%); }
+    transform: translateY(-50%); }
 
 .top-bar {
   padding: 0.5rem; }
@@ -3541,654 +3483,3 @@ table.hover tr:nth-of-type(even):hover {
 
 .clearfix::after {
   clear: both; }
-
-.slide-in-down.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: translateY(-100%);
-      -ms-transform: translateY(-100%);
-          transform: translateY(-100%);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden; }
-
-.slide-in-down.mui-enter.mui-enter-active {
-  -webkit-transform: translateY(0);
-      -ms-transform: translateY(0);
-          transform: translateY(0); }
-
-.slide-in-left.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: translateX(-100%);
-      -ms-transform: translateX(-100%);
-          transform: translateX(-100%);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden; }
-
-.slide-in-left.mui-enter.mui-enter-active {
-  -webkit-transform: translateX(0);
-      -ms-transform: translateX(0);
-          transform: translateX(0); }
-
-.slide-in-up.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: translateY(100%);
-      -ms-transform: translateY(100%);
-          transform: translateY(100%);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden; }
-
-.slide-in-up.mui-enter.mui-enter-active {
-  -webkit-transform: translateY(0);
-      -ms-transform: translateY(0);
-          transform: translateY(0); }
-
-.slide-in-right.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: translateX(100%);
-      -ms-transform: translateX(100%);
-          transform: translateX(100%);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden; }
-
-.slide-in-right.mui-enter.mui-enter-active {
-  -webkit-transform: translateX(0);
-      -ms-transform: translateX(0);
-          transform: translateX(0); }
-
-.slide-out-down.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: translateY(0);
-      -ms-transform: translateY(0);
-          transform: translateY(0);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden; }
-
-.slide-out-down.mui-leave.mui-leave-active {
-  -webkit-transform: translateY(100%);
-      -ms-transform: translateY(100%);
-          transform: translateY(100%); }
-
-.slide-out-right.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: translateX(0);
-      -ms-transform: translateX(0);
-          transform: translateX(0);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden; }
-
-.slide-out-right.mui-leave.mui-leave-active {
-  -webkit-transform: translateX(100%);
-      -ms-transform: translateX(100%);
-          transform: translateX(100%); }
-
-.slide-out-up.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: translateY(0);
-      -ms-transform: translateY(0);
-          transform: translateY(0);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden; }
-
-.slide-out-up.mui-leave.mui-leave-active {
-  -webkit-transform: translateY(-100%);
-      -ms-transform: translateY(-100%);
-          transform: translateY(-100%); }
-
-.slide-out-left.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: translateX(0);
-      -ms-transform: translateX(0);
-          transform: translateX(0);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  -webkit-backface-visibility: hidden;
-          backface-visibility: hidden; }
-
-.slide-out-left.mui-leave.mui-leave-active {
-  -webkit-transform: translateX(-100%);
-      -ms-transform: translateX(-100%);
-          transform: translateX(-100%); }
-
-.fade-in.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  opacity: 0;
-  transition-property: opacity; }
-
-.fade-in.mui-enter.mui-enter-active {
-  opacity: 1; }
-
-.fade-out.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  opacity: 1;
-  transition-property: opacity; }
-
-.fade-out.mui-leave.mui-leave-active {
-  opacity: 0; }
-
-.hinge-in-from-top.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: perspective(2000px) rotateX(-90deg);
-          transform: perspective(2000px) rotateX(-90deg);
-  -webkit-transform-origin: top;
-      -ms-transform-origin: top;
-          transform-origin: top;
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 0; }
-
-.hinge-in-from-top.mui-enter.mui-enter-active {
-  -webkit-transform: perspective(2000px) rotate(0deg);
-          transform: perspective(2000px) rotate(0deg);
-  opacity: 1; }
-
-.hinge-in-from-right.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: perspective(2000px) rotateY(-90deg);
-          transform: perspective(2000px) rotateY(-90deg);
-  -webkit-transform-origin: right;
-      -ms-transform-origin: right;
-          transform-origin: right;
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 0; }
-
-.hinge-in-from-right.mui-enter.mui-enter-active {
-  -webkit-transform: perspective(2000px) rotate(0deg);
-          transform: perspective(2000px) rotate(0deg);
-  opacity: 1; }
-
-.hinge-in-from-bottom.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: perspective(2000px) rotateX(90deg);
-          transform: perspective(2000px) rotateX(90deg);
-  -webkit-transform-origin: bottom;
-      -ms-transform-origin: bottom;
-          transform-origin: bottom;
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 0; }
-
-.hinge-in-from-bottom.mui-enter.mui-enter-active {
-  -webkit-transform: perspective(2000px) rotate(0deg);
-          transform: perspective(2000px) rotate(0deg);
-  opacity: 1; }
-
-.hinge-in-from-left.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: perspective(2000px) rotateY(90deg);
-          transform: perspective(2000px) rotateY(90deg);
-  -webkit-transform-origin: left;
-      -ms-transform-origin: left;
-          transform-origin: left;
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 0; }
-
-.hinge-in-from-left.mui-enter.mui-enter-active {
-  -webkit-transform: perspective(2000px) rotate(0deg);
-          transform: perspective(2000px) rotate(0deg);
-  opacity: 1; }
-
-.hinge-in-from-middle-x.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: perspective(2000px) rotateX(-90deg);
-          transform: perspective(2000px) rotateX(-90deg);
-  -webkit-transform-origin: center;
-      -ms-transform-origin: center;
-          transform-origin: center;
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 0; }
-
-.hinge-in-from-middle-x.mui-enter.mui-enter-active {
-  -webkit-transform: perspective(2000px) rotate(0deg);
-          transform: perspective(2000px) rotate(0deg);
-  opacity: 1; }
-
-.hinge-in-from-middle-y.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: perspective(2000px) rotateY(-90deg);
-          transform: perspective(2000px) rotateY(-90deg);
-  -webkit-transform-origin: center;
-      -ms-transform-origin: center;
-          transform-origin: center;
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 0; }
-
-.hinge-in-from-middle-y.mui-enter.mui-enter-active {
-  -webkit-transform: perspective(2000px) rotate(0deg);
-          transform: perspective(2000px) rotate(0deg);
-  opacity: 1; }
-
-.hinge-out-from-top.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: perspective(2000px) rotate(0deg);
-          transform: perspective(2000px) rotate(0deg);
-  -webkit-transform-origin: top;
-      -ms-transform-origin: top;
-          transform-origin: top;
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 1; }
-
-.hinge-out-from-top.mui-leave.mui-leave-active {
-  -webkit-transform: perspective(2000px) rotateX(-90deg);
-          transform: perspective(2000px) rotateX(-90deg);
-  opacity: 0; }
-
-.hinge-out-from-right.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: perspective(2000px) rotate(0deg);
-          transform: perspective(2000px) rotate(0deg);
-  -webkit-transform-origin: right;
-      -ms-transform-origin: right;
-          transform-origin: right;
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 1; }
-
-.hinge-out-from-right.mui-leave.mui-leave-active {
-  -webkit-transform: perspective(2000px) rotateY(-90deg);
-          transform: perspective(2000px) rotateY(-90deg);
-  opacity: 0; }
-
-.hinge-out-from-bottom.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: perspective(2000px) rotate(0deg);
-          transform: perspective(2000px) rotate(0deg);
-  -webkit-transform-origin: bottom;
-      -ms-transform-origin: bottom;
-          transform-origin: bottom;
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 1; }
-
-.hinge-out-from-bottom.mui-leave.mui-leave-active {
-  -webkit-transform: perspective(2000px) rotateX(90deg);
-          transform: perspective(2000px) rotateX(90deg);
-  opacity: 0; }
-
-.hinge-out-from-left.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: perspective(2000px) rotate(0deg);
-          transform: perspective(2000px) rotate(0deg);
-  -webkit-transform-origin: left;
-      -ms-transform-origin: left;
-          transform-origin: left;
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 1; }
-
-.hinge-out-from-left.mui-leave.mui-leave-active {
-  -webkit-transform: perspective(2000px) rotateY(90deg);
-          transform: perspective(2000px) rotateY(90deg);
-  opacity: 0; }
-
-.hinge-out-from-middle-x.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: perspective(2000px) rotate(0deg);
-          transform: perspective(2000px) rotate(0deg);
-  -webkit-transform-origin: center;
-      -ms-transform-origin: center;
-          transform-origin: center;
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 1; }
-
-.hinge-out-from-middle-x.mui-leave.mui-leave-active {
-  -webkit-transform: perspective(2000px) rotateX(-90deg);
-          transform: perspective(2000px) rotateX(-90deg);
-  opacity: 0; }
-
-.hinge-out-from-middle-y.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: perspective(2000px) rotate(0deg);
-          transform: perspective(2000px) rotate(0deg);
-  -webkit-transform-origin: center;
-      -ms-transform-origin: center;
-          transform-origin: center;
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 1; }
-
-.hinge-out-from-middle-y.mui-leave.mui-leave-active {
-  -webkit-transform: perspective(2000px) rotateY(-90deg);
-          transform: perspective(2000px) rotateY(-90deg);
-  opacity: 0; }
-
-.scale-in-up.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: scale(0.5);
-      -ms-transform: scale(0.5);
-          transform: scale(0.5);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 0; }
-
-.scale-in-up.mui-enter.mui-enter-active {
-  -webkit-transform: scale(1);
-      -ms-transform: scale(1);
-          transform: scale(1);
-  opacity: 1; }
-
-.scale-in-down.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: scale(1.5);
-      -ms-transform: scale(1.5);
-          transform: scale(1.5);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 0; }
-
-.scale-in-down.mui-enter.mui-enter-active {
-  -webkit-transform: scale(1);
-      -ms-transform: scale(1);
-          transform: scale(1);
-  opacity: 1; }
-
-.scale-out-up.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: scale(1);
-      -ms-transform: scale(1);
-          transform: scale(1);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 1; }
-
-.scale-out-up.mui-leave.mui-leave-active {
-  -webkit-transform: scale(1.5);
-      -ms-transform: scale(1.5);
-          transform: scale(1.5);
-  opacity: 0; }
-
-.scale-out-down.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: scale(1);
-      -ms-transform: scale(1);
-          transform: scale(1);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 1; }
-
-.scale-out-down.mui-leave.mui-leave-active {
-  -webkit-transform: scale(0.5);
-      -ms-transform: scale(0.5);
-          transform: scale(0.5);
-  opacity: 0; }
-
-.spin-in.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: rotate(-0.75turn);
-      -ms-transform: rotate(-0.75turn);
-          transform: rotate(-0.75turn);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 0; }
-
-.spin-in.mui-enter.mui-enter-active {
-  -webkit-transform: rotate(0);
-      -ms-transform: rotate(0);
-          transform: rotate(0);
-  opacity: 1; }
-
-.spin-out.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: rotate(0);
-      -ms-transform: rotate(0);
-          transform: rotate(0);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 1; }
-
-.spin-out.mui-leave.mui-leave-active {
-  -webkit-transform: rotate(0.75turn);
-      -ms-transform: rotate(0.75turn);
-          transform: rotate(0.75turn);
-  opacity: 0; }
-
-.spin-in-ccw.mui-enter {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: rotate(0.75turn);
-      -ms-transform: rotate(0.75turn);
-          transform: rotate(0.75turn);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 0; }
-
-.spin-in-ccw.mui-enter.mui-enter-active {
-  -webkit-transform: rotate(0);
-      -ms-transform: rotate(0);
-          transform: rotate(0);
-  opacity: 1; }
-
-.spin-out-ccw.mui-leave {
-  transition-duration: 500ms;
-  transition-timing-function: linear;
-  -webkit-transform: rotate(0);
-      -ms-transform: rotate(0);
-          transform: rotate(0);
-  transition-property: -webkit-transform, opacity;
-  transition-property: transform, opacity;
-  opacity: 1; }
-
-.spin-out-ccw.mui-leave.mui-leave-active {
-  -webkit-transform: rotate(-0.75turn);
-      -ms-transform: rotate(-0.75turn);
-          transform: rotate(-0.75turn);
-  opacity: 0; }
-
-.slow {
-  transition-duration: 750ms !important; }
-
-.fast {
-  transition-duration: 250ms !important; }
-
-.linear {
-  transition-timing-function: linear !important; }
-
-.ease {
-  transition-timing-function: ease !important; }
-
-.ease-in {
-  transition-timing-function: ease-in !important; }
-
-.ease-out {
-  transition-timing-function: ease-out !important; }
-
-.ease-in-out {
-  transition-timing-function: ease-in-out !important; }
-
-.bounce-in {
-  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }
-
-.bounce-out {
-  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }
-
-.bounce-in-out {
-  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }
-
-.short-delay {
-  transition-delay: 300ms !important; }
-
-.long-delay {
-  transition-delay: 700ms !important; }
-
-.shake {
-  -webkit-animation-name: shake-7;
-          animation-name: shake-7; }
-
-@-webkit-keyframes shake-7 {
-  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
-    -webkit-transform: translateX(7%);
-            transform: translateX(7%); }
-  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
-    -webkit-transform: translateX(-7%);
-            transform: translateX(-7%); } }
-
-@keyframes shake-7 {
-  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
-    -webkit-transform: translateX(7%);
-            transform: translateX(7%); }
-  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
-    -webkit-transform: translateX(-7%);
-            transform: translateX(-7%); } }
-
-.spin-cw {
-  -webkit-animation-name: spin-cw-1turn;
-          animation-name: spin-cw-1turn; }
-
-@-webkit-keyframes spin-cw-1turn {
-  0% {
-    -webkit-transform: rotate(-1turn);
-            transform: rotate(-1turn); }
-  100% {
-    -webkit-transform: rotate(0);
-            transform: rotate(0); } }
-
-@keyframes spin-cw-1turn {
-  0% {
-    -webkit-transform: rotate(-1turn);
-            transform: rotate(-1turn); }
-  100% {
-    -webkit-transform: rotate(0);
-            transform: rotate(0); } }
-
-.spin-ccw {
-  -webkit-animation-name: spin-cw-1turn;
-          animation-name: spin-cw-1turn; }
-
-@keyframes spin-cw-1turn {
-  0% {
-    -webkit-transform: rotate(0);
-            transform: rotate(0); }
-  100% {
-    -webkit-transform: rotate(1turn);
-            transform: rotate(1turn); } }
-
-.wiggle {
-  -webkit-animation-name: wiggle-7deg;
-          animation-name: wiggle-7deg; }
-
-@-webkit-keyframes wiggle-7deg {
-  40%, 50%, 60% {
-    -webkit-transform: rotate(7deg);
-            transform: rotate(7deg); }
-  35%, 45%, 55%, 65% {
-    -webkit-transform: rotate(-7deg);
-            transform: rotate(-7deg); }
-  0%, 30%, 70%, 100% {
-    -webkit-transform: rotate(0);
-            transform: rotate(0); } }
-
-@keyframes wiggle-7deg {
-  40%, 50%, 60% {
-    -webkit-transform: rotate(7deg);
-            transform: rotate(7deg); }
-  35%, 45%, 55%, 65% {
-    -webkit-transform: rotate(-7deg);
-            transform: rotate(-7deg); }
-  0%, 30%, 70%, 100% {
-    -webkit-transform: rotate(0);
-            transform: rotate(0); } }
-
-.shake,
-.spin-cw,
-.spin-ccw,
-.wiggle {
-  -webkit-animation-duration: 500ms;
-          animation-duration: 500ms; }
-
-.infinite {
-  -webkit-animation-iteration-count: infinite;
-          animation-iteration-count: infinite; }
-
-.slow {
-  -webkit-animation-duration: 750ms !important;
-          animation-duration: 750ms !important; }
-
-.fast {
-  -webkit-animation-duration: 250ms !important;
-          animation-duration: 250ms !important; }
-
-.linear {
-  -webkit-animation-timing-function: linear !important;
-          animation-timing-function: linear !important; }
-
-.ease {
-  -webkit-animation-timing-function: ease !important;
-          animation-timing-function: ease !important; }
-
-.ease-in {
-  -webkit-animation-timing-function: ease-in !important;
-          animation-timing-function: ease-in !important; }
-
-.ease-out {
-  -webkit-animation-timing-function: ease-out !important;
-          animation-timing-function: ease-out !important; }
-
-.ease-in-out {
-  -webkit-animation-timing-function: ease-in-out !important;
-          animation-timing-function: ease-in-out !important; }
-
-.bounce-in {
-  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
-          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }
-
-.bounce-out {
-  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
-          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }
-
-.bounce-in-out {
-  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
-          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }
-
-.short-delay {
-  -webkit-animation-delay: 300ms !important;
-          animation-delay: 300ms !important; }
-
-.long-delay {
-  -webkit-animation-delay: 700ms !important;
-          animation-delay: 700ms !important; }
diff --git a/libraries/foundation-6/css/foundation.min.css b/libraries/foundation-6/css/foundation.min.css
index fe291e80..40fc1efa 100644
--- a/libraries/foundation-6/css/foundation.min.css
+++ b/libraries/foundation-6/css/foundation.min.css
@@ -1,2 +1,3 @@
 @charset "UTF-8";
-/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:not-allowed}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{font-size:100%;box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{padding:0;margin:0;font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:400;line-height:1.5;color:#0a0a0a;background:#fefefe;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;-ms-interpolation-mode:bicubic;display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px;border-radius:0}select{width:100%;border-radius:0}#map_canvas embed,#map_canvas img,#map_canvas object,.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{-webkit-appearance:none;-moz-appearance:none;background:transparent;padding:0;border:0;border-radius:0;line-height:1}[data-whatinput=mouse] button{outline:0}.is-visible{display:block!important}.is-hidden{display:none!important}.row{max-width:75rem;margin-left:auto;margin-right:auto}.row:after,.row:before{content:' ';display:table}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row .row{max-width:none;margin-left:-.625rem;margin-right:-.625rem}@media screen and (min-width:40em){.row .row{margin-left:-.9375rem;margin-right:-.9375rem}}.row .row.collapse{margin-left:0;margin-right:0}.row.expanded{max-width:none}.row.expanded .row{margin-left:auto;margin-right:auto}.column,.columns{width:100%;float:left;padding-left:.625rem;padding-right:.625rem}@media screen and (min-width:40em){.column,.columns{padding-left:.9375rem;padding-right:.9375rem}}.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:right}.column.end:last-child:last-child,.end.columns:last-child:last-child{float:left}.column.row.row,.row.row.columns{float:none}.row .column.row.row,.row .row.row.columns{padding-left:0;padding-right:0;margin-left:0;margin-right:0}.small-1{width:8.33333%}.small-push-1{position:relative;left:8.33333%}.small-pull-1{position:relative;left:-8.33333%}.small-offset-0{margin-left:0}.small-2{width:16.66667%}.small-push-2{position:relative;left:16.66667%}.small-pull-2{position:relative;left:-16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{width:25%}.small-push-3{position:relative;left:25%}.small-pull-3{position:relative;left:-25%}.small-offset-2{margin-left:16.66667%}.small-4{width:33.33333%}.small-push-4{position:relative;left:33.33333%}.small-pull-4{position:relative;left:-33.33333%}.small-offset-3{margin-left:25%}.small-5{width:41.66667%}.small-push-5{position:relative;left:41.66667%}.small-pull-5{position:relative;left:-41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{width:50%}.small-push-6{position:relative;left:50%}.small-pull-6{position:relative;left:-50%}.small-offset-5{margin-left:41.66667%}.small-7{width:58.33333%}.small-push-7{position:relative;left:58.33333%}.small-pull-7{position:relative;left:-58.33333%}.small-offset-6{margin-left:50%}.small-8{width:66.66667%}.small-push-8{position:relative;left:66.66667%}.small-pull-8{position:relative;left:-66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{width:75%}.small-push-9{position:relative;left:75%}.small-pull-9{position:relative;left:-75%}.small-offset-8{margin-left:66.66667%}.small-10{width:83.33333%}.small-push-10{position:relative;left:83.33333%}.small-pull-10{position:relative;left:-83.33333%}.small-offset-9{margin-left:75%}.small-11{width:91.66667%}.small-push-11{position:relative;left:91.66667%}.small-pull-11{position:relative;left:-91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{width:100%}.small-offset-11{margin-left:91.66667%}.small-up-1>.column,.small-up-1>.columns{width:100%;float:left}.small-up-1>.column:nth-of-type(1n),.small-up-1>.columns:nth-of-type(1n){clear:none}.small-up-1>.column:nth-of-type(1n+1),.small-up-1>.columns:nth-of-type(1n+1){clear:both}.small-up-1>.column:last-child,.small-up-1>.columns:last-child{float:left}.small-up-2>.column,.small-up-2>.columns{width:50%;float:left}.small-up-2>.column:nth-of-type(1n),.small-up-2>.columns:nth-of-type(1n){clear:none}.small-up-2>.column:nth-of-type(2n+1),.small-up-2>.columns:nth-of-type(2n+1){clear:both}.small-up-2>.column:last-child,.small-up-2>.columns:last-child{float:left}.small-up-3>.column,.small-up-3>.columns{width:33.33333%;float:left}.small-up-3>.column:nth-of-type(1n),.small-up-3>.columns:nth-of-type(1n){clear:none}.small-up-3>.column:nth-of-type(3n+1),.small-up-3>.columns:nth-of-type(3n+1){clear:both}.small-up-3>.column:last-child,.small-up-3>.columns:last-child{float:left}.small-up-4>.column,.small-up-4>.columns{width:25%;float:left}.small-up-4>.column:nth-of-type(1n),.small-up-4>.columns:nth-of-type(1n){clear:none}.small-up-4>.column:nth-of-type(4n+1),.small-up-4>.columns:nth-of-type(4n+1){clear:both}.small-up-4>.column:last-child,.small-up-4>.columns:last-child{float:left}.small-up-5>.column,.small-up-5>.columns{width:20%;float:left}.small-up-5>.column:nth-of-type(1n),.small-up-5>.columns:nth-of-type(1n){clear:none}.small-up-5>.column:nth-of-type(5n+1),.small-up-5>.columns:nth-of-type(5n+1){clear:both}.small-up-5>.column:last-child,.small-up-5>.columns:last-child{float:left}.small-up-6>.column,.small-up-6>.columns{width:16.66667%;float:left}.small-up-6>.column:nth-of-type(1n),.small-up-6>.columns:nth-of-type(1n){clear:none}.small-up-6>.column:nth-of-type(6n+1),.small-up-6>.columns:nth-of-type(6n+1){clear:both}.small-up-6>.column:last-child,.small-up-6>.columns:last-child{float:left}.small-up-7>.column,.small-up-7>.columns{width:14.28571%;float:left}.small-up-7>.column:nth-of-type(1n),.small-up-7>.columns:nth-of-type(1n){clear:none}.small-up-7>.column:nth-of-type(7n+1),.small-up-7>.columns:nth-of-type(7n+1){clear:both}.small-up-7>.column:last-child,.small-up-7>.columns:last-child{float:left}.small-up-8>.column,.small-up-8>.columns{width:12.5%;float:left}.small-up-8>.column:nth-of-type(1n),.small-up-8>.columns:nth-of-type(1n){clear:none}.small-up-8>.column:nth-of-type(8n+1),.small-up-8>.columns:nth-of-type(8n+1){clear:both}.small-up-8>.column:last-child,.small-up-8>.columns:last-child{float:left}.small-collapse>.column,.small-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .small-collapse.row,.small-collapse .row{margin-left:0;margin-right:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-left:.625rem;padding-right:.625rem}.small-centered{float:none;margin-left:auto;margin-right:auto}.small-pull-0,.small-push-0,.small-uncentered{position:static;margin-left:0;margin-right:0;float:left}@media screen and (min-width:40em){.medium-1{width:8.33333%}.medium-push-1{position:relative;left:8.33333%}.medium-pull-1{position:relative;left:-8.33333%}.medium-offset-0{margin-left:0}.medium-2{width:16.66667%}.medium-push-2{position:relative;left:16.66667%}.medium-pull-2{position:relative;left:-16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{width:25%}.medium-push-3{position:relative;left:25%}.medium-pull-3{position:relative;left:-25%}.medium-offset-2{margin-left:16.66667%}.medium-4{width:33.33333%}.medium-push-4{position:relative;left:33.33333%}.medium-pull-4{position:relative;left:-33.33333%}.medium-offset-3{margin-left:25%}.medium-5{width:41.66667%}.medium-push-5{position:relative;left:41.66667%}.medium-pull-5{position:relative;left:-41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{width:50%}.medium-push-6{position:relative;left:50%}.medium-pull-6{position:relative;left:-50%}.medium-offset-5{margin-left:41.66667%}.medium-7{width:58.33333%}.medium-push-7{position:relative;left:58.33333%}.medium-pull-7{position:relative;left:-58.33333%}.medium-offset-6{margin-left:50%}.medium-8{width:66.66667%}.medium-push-8{position:relative;left:66.66667%}.medium-pull-8{position:relative;left:-66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{width:75%}.medium-push-9{position:relative;left:75%}.medium-pull-9{position:relative;left:-75%}.medium-offset-8{margin-left:66.66667%}.medium-10{width:83.33333%}.medium-push-10{position:relative;left:83.33333%}.medium-pull-10{position:relative;left:-83.33333%}.medium-offset-9{margin-left:75%}.medium-11{width:91.66667%}.medium-push-11{position:relative;left:91.66667%}.medium-pull-11{position:relative;left:-91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{width:100%}.medium-offset-11{margin-left:91.66667%}.medium-up-1>.column,.medium-up-1>.columns{width:100%;float:left}.medium-up-1>.column:nth-of-type(1n),.medium-up-1>.columns:nth-of-type(1n){clear:none}.medium-up-1>.column:nth-of-type(1n+1),.medium-up-1>.columns:nth-of-type(1n+1){clear:both}.medium-up-1>.column:last-child,.medium-up-1>.columns:last-child{float:left}.medium-up-2>.column,.medium-up-2>.columns{width:50%;float:left}.medium-up-2>.column:nth-of-type(1n),.medium-up-2>.columns:nth-of-type(1n){clear:none}.medium-up-2>.column:nth-of-type(2n+1),.medium-up-2>.columns:nth-of-type(2n+1){clear:both}.medium-up-2>.column:last-child,.medium-up-2>.columns:last-child{float:left}.medium-up-3>.column,.medium-up-3>.columns{width:33.33333%;float:left}.medium-up-3>.column:nth-of-type(1n),.medium-up-3>.columns:nth-of-type(1n){clear:none}.medium-up-3>.column:nth-of-type(3n+1),.medium-up-3>.columns:nth-of-type(3n+1){clear:both}.medium-up-3>.column:last-child,.medium-up-3>.columns:last-child{float:left}.medium-up-4>.column,.medium-up-4>.columns{width:25%;float:left}.medium-up-4>.column:nth-of-type(1n),.medium-up-4>.columns:nth-of-type(1n){clear:none}.medium-up-4>.column:nth-of-type(4n+1),.medium-up-4>.columns:nth-of-type(4n+1){clear:both}.medium-up-4>.column:last-child,.medium-up-4>.columns:last-child{float:left}.medium-up-5>.column,.medium-up-5>.columns{width:20%;float:left}.medium-up-5>.column:nth-of-type(1n),.medium-up-5>.columns:nth-of-type(1n){clear:none}.medium-up-5>.column:nth-of-type(5n+1),.medium-up-5>.columns:nth-of-type(5n+1){clear:both}.medium-up-5>.column:last-child,.medium-up-5>.columns:last-child{float:left}.medium-up-6>.column,.medium-up-6>.columns{width:16.66667%;float:left}.medium-up-6>.column:nth-of-type(1n),.medium-up-6>.columns:nth-of-type(1n){clear:none}.medium-up-6>.column:nth-of-type(6n+1),.medium-up-6>.columns:nth-of-type(6n+1){clear:both}.medium-up-6>.column:last-child,.medium-up-6>.columns:last-child{float:left}.medium-up-7>.column,.medium-up-7>.columns{width:14.28571%;float:left}.medium-up-7>.column:nth-of-type(1n),.medium-up-7>.columns:nth-of-type(1n){clear:none}.medium-up-7>.column:nth-of-type(7n+1),.medium-up-7>.columns:nth-of-type(7n+1){clear:both}.medium-up-7>.column:last-child,.medium-up-7>.columns:last-child{float:left}.medium-up-8>.column,.medium-up-8>.columns{width:12.5%;float:left}.medium-up-8>.column:nth-of-type(1n),.medium-up-8>.columns:nth-of-type(1n){clear:none}.medium-up-8>.column:nth-of-type(8n+1),.medium-up-8>.columns:nth-of-type(8n+1){clear:both}.medium-up-8>.column:last-child,.medium-up-8>.columns:last-child{float:left}.medium-collapse>.column,.medium-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .medium-collapse.row,.medium-collapse .row{margin-left:0;margin-right:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}.medium-centered{float:none;margin-left:auto;margin-right:auto}.medium-pull-0,.medium-push-0,.medium-uncentered{position:static;margin-left:0;margin-right:0;float:left}}@media screen and (min-width:64em){.large-1{width:8.33333%}.large-push-1{position:relative;left:8.33333%}.large-pull-1{position:relative;left:-8.33333%}.large-offset-0{margin-left:0}.large-2{width:16.66667%}.large-push-2{position:relative;left:16.66667%}.large-pull-2{position:relative;left:-16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{width:25%}.large-push-3{position:relative;left:25%}.large-pull-3{position:relative;left:-25%}.large-offset-2{margin-left:16.66667%}.large-4{width:33.33333%}.large-push-4{position:relative;left:33.33333%}.large-pull-4{position:relative;left:-33.33333%}.large-offset-3{margin-left:25%}.large-5{width:41.66667%}.large-push-5{position:relative;left:41.66667%}.large-pull-5{position:relative;left:-41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{width:50%}.large-push-6{position:relative;left:50%}.large-pull-6{position:relative;left:-50%}.large-offset-5{margin-left:41.66667%}.large-7{width:58.33333%}.large-push-7{position:relative;left:58.33333%}.large-pull-7{position:relative;left:-58.33333%}.large-offset-6{margin-left:50%}.large-8{width:66.66667%}.large-push-8{position:relative;left:66.66667%}.large-pull-8{position:relative;left:-66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{width:75%}.large-push-9{position:relative;left:75%}.large-pull-9{position:relative;left:-75%}.large-offset-8{margin-left:66.66667%}.large-10{width:83.33333%}.large-push-10{position:relative;left:83.33333%}.large-pull-10{position:relative;left:-83.33333%}.large-offset-9{margin-left:75%}.large-11{width:91.66667%}.large-push-11{position:relative;left:91.66667%}.large-pull-11{position:relative;left:-91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{width:100%}.large-offset-11{margin-left:91.66667%}.large-up-1>.column,.large-up-1>.columns{width:100%;float:left}.large-up-1>.column:nth-of-type(1n),.large-up-1>.columns:nth-of-type(1n){clear:none}.large-up-1>.column:nth-of-type(1n+1),.large-up-1>.columns:nth-of-type(1n+1){clear:both}.large-up-1>.column:last-child,.large-up-1>.columns:last-child{float:left}.large-up-2>.column,.large-up-2>.columns{width:50%;float:left}.large-up-2>.column:nth-of-type(1n),.large-up-2>.columns:nth-of-type(1n){clear:none}.large-up-2>.column:nth-of-type(2n+1),.large-up-2>.columns:nth-of-type(2n+1){clear:both}.large-up-2>.column:last-child,.large-up-2>.columns:last-child{float:left}.large-up-3>.column,.large-up-3>.columns{width:33.33333%;float:left}.large-up-3>.column:nth-of-type(1n),.large-up-3>.columns:nth-of-type(1n){clear:none}.large-up-3>.column:nth-of-type(3n+1),.large-up-3>.columns:nth-of-type(3n+1){clear:both}.large-up-3>.column:last-child,.large-up-3>.columns:last-child{float:left}.large-up-4>.column,.large-up-4>.columns{width:25%;float:left}.large-up-4>.column:nth-of-type(1n),.large-up-4>.columns:nth-of-type(1n){clear:none}.large-up-4>.column:nth-of-type(4n+1),.large-up-4>.columns:nth-of-type(4n+1){clear:both}.large-up-4>.column:last-child,.large-up-4>.columns:last-child{float:left}.large-up-5>.column,.large-up-5>.columns{width:20%;float:left}.large-up-5>.column:nth-of-type(1n),.large-up-5>.columns:nth-of-type(1n){clear:none}.large-up-5>.column:nth-of-type(5n+1),.large-up-5>.columns:nth-of-type(5n+1){clear:both}.large-up-5>.column:last-child,.large-up-5>.columns:last-child{float:left}.large-up-6>.column,.large-up-6>.columns{width:16.66667%;float:left}.large-up-6>.column:nth-of-type(1n),.large-up-6>.columns:nth-of-type(1n){clear:none}.large-up-6>.column:nth-of-type(6n+1),.large-up-6>.columns:nth-of-type(6n+1){clear:both}.large-up-6>.column:last-child,.large-up-6>.columns:last-child{float:left}.large-up-7>.column,.large-up-7>.columns{width:14.28571%;float:left}.large-up-7>.column:nth-of-type(1n),.large-up-7>.columns:nth-of-type(1n){clear:none}.large-up-7>.column:nth-of-type(7n+1),.large-up-7>.columns:nth-of-type(7n+1){clear:both}.large-up-7>.column:last-child,.large-up-7>.columns:last-child{float:left}.large-up-8>.column,.large-up-8>.columns{width:12.5%;float:left}.large-up-8>.column:nth-of-type(1n),.large-up-8>.columns:nth-of-type(1n){clear:none}.large-up-8>.column:nth-of-type(8n+1),.large-up-8>.columns:nth-of-type(8n+1){clear:both}.large-up-8>.column:last-child,.large-up-8>.columns:last-child{float:left}.large-collapse>.column,.large-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .large-collapse.row,.large-collapse .row{margin-left:0;margin-right:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}.large-centered{float:none;margin-left:auto;margin-right:auto}.large-pull-0,.large-push-0,.large-uncentered{position:static;margin-left:0;margin-right:0;float:left}}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}p{font-size:inherit;line-height:1.6;margin-bottom:1rem;text-rendering:optimizeLegibility}em,i{font-style:italic}b,em,i,strong{line-height:inherit}b,strong{font-weight:700}small{font-size:80%;line-height:inherit}h1,h2,h3,h4,h5,h6{font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:400;font-style:normal;color:inherit;text-rendering:optimizeLegibility;margin-top:0;margin-bottom:.5rem;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#cacaca;line-height:0}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1875rem}h4{font-size:1.125rem}h5{font-size:1.0625rem}h6{font-size:1rem}@media screen and (min-width:40em){h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:1.9375rem}h4{font-size:1.5625rem}h5{font-size:1.25rem}h6{font-size:1rem}}a{color:#2199e8;text-decoration:none;line-height:inherit;cursor:pointer}a:focus,a:hover{color:#1585cf}a img{border:0}hr{max-width:75rem;height:0;border-right:0;border-top:0;border-bottom:1px solid #cacaca;border-left:0;margin:1.25rem auto;clear:both}dl,ol,ul{line-height:1.6;margin-bottom:1rem;list-style-position:outside}li{font-size:inherit}ul{list-style-type:disc}ol,ul{margin-left:1.25rem}ol ol,ol ul,ul ol,ul ul{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:700}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}cite{display:block;font-size:.8125rem;color:#8a8a8a}cite:before{content:'\2014 \0020'}abbr{color:#0a0a0a;cursor:help;border-bottom:1px dotted #0a0a0a}code{font-weight:400;border:1px solid #cacaca;padding:.125rem .3125rem .0625rem}code,kbd{font-family:Consolas,Liberation Mono,Courier,monospace;color:#0a0a0a;background-color:#e6e6e6}kbd{padding:.125rem .25rem 0;margin:0}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:400;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}.no-bullet{margin-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media screen and (min-width:40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media screen and (min-width:64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none!important}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.show-for-print{display:block!important}.hide-for-print{display:none!important}table.show-for-print{display:table!important}thead.show-for-print{display:table-header-group!important}tbody.show-for-print{display:table-row-group!important}tr.show-for-print{display:table-row!important}td.show-for-print,th.show-for-print{display:table-cell!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='#']:after,a[href^='javascript:']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.button{display:inline-block;text-align:center;line-height:1;cursor:pointer;-webkit-appearance:none;transition:background-color .25s ease-out,color .25s ease-out;vertical-align:middle;border:1px solid transparent;border-radius:0;padding:.85em 1em;margin:0 0 1rem;font-size:.9rem;background-color:#2199e8;color:#fefefe}[data-whatinput=mouse] .button{outline:0}.button:focus,.button:hover{background-color:#1583cc;color:#fefefe}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-left:0;margin-right:0}.button.primary{background-color:#2199e8;color:#fefefe}.button.primary:focus,.button.primary:hover{background-color:#147cc0;color:#fefefe}.button.secondary{background-color:#777;color:#fefefe}.button.secondary:focus,.button.secondary:hover{background-color:#5f5f5f;color:#fefefe}.button.success{background-color:#3adb76;color:#fefefe}.button.success:focus,.button.success:hover{background-color:#22bb5b;color:#fefefe}.button.warning{background-color:#ffae00;color:#fefefe}.button.warning:focus,.button.warning:hover{background-color:#cc8b00;color:#fefefe}.button.alert{background-color:#ec5840;color:#fefefe}.button.alert:focus,.button.alert:hover{background-color:#da3116;color:#fefefe}.button.hollow{border:1px solid #2199e8;color:#2199e8}.button.hollow,.button.hollow:focus,.button.hollow:hover{background-color:transparent}.button.hollow:focus,.button.hollow:hover{border-color:#0c4d78;color:#0c4d78}.button.hollow.primary{border:1px solid #2199e8;color:#2199e8}.button.hollow.primary:focus,.button.hollow.primary:hover{border-color:#0c4d78;color:#0c4d78}.button.hollow.secondary{border:1px solid #777;color:#777}.button.hollow.secondary:focus,.button.hollow.secondary:hover{border-color:#3c3c3c;color:#3c3c3c}.button.hollow.success{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:focus,.button.hollow.success:hover{border-color:#157539;color:#157539}.button.hollow.warning{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:#805700;color:#805700}.button.hollow.alert{border:1px solid #ec5840;color:#ec5840}.button.hollow.alert:focus,.button.hollow.alert:hover{border-color:#881f0e;color:#881f0e}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled:focus,.button.disabled:hover,.button[disabled]:focus,.button[disabled]:hover{background-color:#2199e8;color:#fefefe}.button.dropdown:after{content:'';display:block;width:0;height:0;border:.4em inset;border-color:#fefefe transparent transparent;border-top-style:solid;border-bottom-width:0;position:relative;top:.4em;float:right;margin-left:1em;display:inline-block}.button.arrow-only:after{margin-left:0;float:none;top:-.1em}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{display:block;box-sizing:border-box;width:100%;height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-family:inherit;font-size:1rem;color:#0a0a0a;background-color:#fefefe;box-shadow:inset 0 1px 2px hsla(0,0%,4%,.1);border-radius:0;transition:box-shadow .5s,border-color .25s ease-in-out;-webkit-appearance:none;-moz-appearance:none}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{border:1px solid #8a8a8a;background-color:#fefefe;outline:none;box-shadow:0 0 5px #cacaca;transition:box-shadow .5s,border-color .25s ease-in-out}textarea{max-width:100%}textarea[rows]{height:auto}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#cacaca}input::-moz-placeholder,textarea::-moz-placeholder{color:#cacaca}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#cacaca}input::placeholder,textarea::placeholder{color:#cacaca}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type=button],[type=submit]{border-radius:0;-webkit-appearance:none;-moz-appearance:none}input[type=search]{box-sizing:border-box}[type=checkbox],[type=file],[type=radio]{margin:0 0 1rem}[type=checkbox]+label,[type=radio]+label{display:inline-block;margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}[type=checkbox]+label[for],[type=radio]+label[for]{cursor:pointer}label>[type=checkbox],label>[type=radio]{margin-right:.5rem}[type=file]{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:400;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:table;width:100%;margin-bottom:1rem}.input-group>:first-child,.input-group>:last-child>*{border-radius:0 0 0 0}.input-group-button,.input-group-field,.input-group-label{margin:0;white-space:nowrap;display:table-cell;vertical-align:middle}.input-group-label{text-align:center;padding:0 1rem;background:#e6e6e6;color:#0a0a0a;border:1px solid #cacaca;white-space:nowrap;width:1%;height:100%}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;height:2.5rem}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;height:100%;width:1%}.input-group-button a,.input-group-button button,.input-group-button input{margin:0}.input-group .input-group-button{display:table-cell}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:.5rem;max-width:100%}.fieldset{border:1px solid #cacaca;padding:1.25rem;margin:1.125rem 0}.fieldset legend{background:#fefefe;padding:0 .1875rem;margin:0;margin-left:-.1875rem}select{height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-size:1rem;font-family:inherit;line-height:normal;color:#0a0a0a;background-color:#fefefe;border-radius:0;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-size:9px 6px;background-position:right -1rem center;background-origin:content-box;background-repeat:no-repeat;padding-right:1.5rem}@media screen and (min-width:0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){background-color:rgba(236,88,64,.1);border-color:#ec5840}.form-error,.is-invalid-label{color:#ec5840}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:700}.form-error.is-visible{display:block}.accordion{list-style-type:none;background:#fefefe;margin-left:0}.accordion-item:first-child>:first-child,.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{display:block;padding:1.25rem 1rem;line-height:1;font-size:.75rem;color:#2199e8;position:relative;border:1px solid #e6e6e6;border-bottom:0}:last-child:not(.is-active)>.accordion-title{border-radius:0 0 0 0;border-bottom:1px solid #e6e6e6}.accordion-title:focus,.accordion-title:hover{background-color:#e6e6e6}.accordion-title:before{content:'+';position:absolute;right:1rem;top:50%;margin-top:-.5rem}.is-active>.accordion-title:before{content:'–'}.accordion-content{padding:1rem;display:none;border:1px solid #e6e6e6;border-bottom:0;background-color:#fefefe;color:#0a0a0a}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.is-accordion-submenu-parent>a{position:relative}.is-accordion-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:6px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;position:absolute;top:50%;margin-top:-4px;right:1rem}.is-accordion-submenu-parent[aria-expanded=true]>a:after{-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:scaleY(-1);transform:scaleY(-1)}.badge{display:inline-block;padding:.3em;min-width:2.1em;font-size:.6rem;text-align:center;border-radius:50%;background:#2199e8;color:#fefefe}.badge.secondary{background:#777;color:#fefefe}.badge.success{background:#3adb76;color:#fefefe}.badge.warning{background:#ffae00;color:#fefefe}.badge.alert{background:#ec5840;color:#fefefe}.breadcrumbs{list-style:none;margin:0 0 1rem}.breadcrumbs:after,.breadcrumbs:before{content:' ';display:table}.breadcrumbs:after{clear:both}.breadcrumbs li{float:left;color:#0a0a0a;font-size:.6875rem;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child):after{color:#cacaca;content:"/";margin:0 .75rem;position:relative;top:1px;opacity:1}.breadcrumbs a{color:#2199e8}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.button-group{margin-bottom:1rem;font-size:0}.button-group:after,.button-group:before{content:' ';display:table}.button-group:after{clear:both}.button-group .button{margin:0;margin-right:1px;margin-bottom:1px;font-size:.9rem}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded{margin-right:-1px}.button-group.expanded:after,.button-group.expanded:before{display:none}.button-group.expanded .button:first-child:nth-last-child(2),.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2)~.button{display:inline-block;width:calc(50% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(2):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(3),.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3)~.button{display:inline-block;width:calc(33.33333% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(3):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(4),.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4)~.button{display:inline-block;width:calc(25% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(4):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(5),.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5)~.button{display:inline-block;width:calc(20% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(5):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(6),.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6)~.button{display:inline-block;width:calc(16.66667% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(6):last-child{margin-right:-6px}.button-group.primary .button{background-color:#2199e8;color:#fefefe}.button-group.primary .button:focus,.button-group.primary .button:hover{background-color:#147cc0;color:#fefefe}.button-group.secondary .button{background-color:#777;color:#fefefe}.button-group.secondary .button:focus,.button-group.secondary .button:hover{background-color:#5f5f5f;color:#fefefe}.button-group.success .button{background-color:#3adb76;color:#fefefe}.button-group.success .button:focus,.button-group.success .button:hover{background-color:#22bb5b;color:#fefefe}.button-group.warning .button{background-color:#ffae00;color:#fefefe}.button-group.warning .button:focus,.button-group.warning .button:hover{background-color:#cc8b00;color:#fefefe}.button-group.alert .button{background-color:#ec5840;color:#fefefe}.button-group.alert .button:focus,.button-group.alert .button:hover{background-color:#da3116;color:#fefefe}.button-group.stacked-for-medium .button,.button-group.stacked-for-small .button,.button-group.stacked .button{width:100%}.button-group.stacked-for-medium .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked .button:last-child{margin-bottom:0}@media screen and (min-width:40em){.button-group.stacked-for-small .button{width:auto;margin-bottom:0}}@media screen and (min-width:64em){.button-group.stacked-for-medium .button{width:auto;margin-bottom:0}}@media screen and (max-width:39.9375em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}.callout{margin:0 0 1rem;padding:1rem;border:1px solid hsla(0,0%,4%,.25);border-radius:0;position:relative;color:#0a0a0a;background-color:#fff}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#def0fc}.callout.secondary{background-color:#ebebeb}.callout.success{background-color:#e1faea}.callout.warning{background-color:#fff3d9}.callout.alert{background-color:#fce6e2}.callout.small{padding:.5rem}.callout.large{padding:3rem}.close-button{position:absolute;color:#8a8a8a;right:1rem;top:.5rem;font-size:2em;line-height:1;cursor:pointer}[data-whatinput=mouse] .close-button{outline:0}.close-button:focus,.close-button:hover{color:#0a0a0a}.menu{margin:0;list-style-type:none}.menu>li{display:table-cell;vertical-align:middle}[data-whatinput=mouse] .menu>li{outline:0}.menu>li>a{display:block;padding:.7rem 1rem;line-height:1}.menu a,.menu button,.menu input{margin-bottom:0}.menu>li>a i,.menu>li>a i+span,.menu>li>a img,.menu>li>a img+span,.menu>li>a svg,.menu>li>a svg+span{vertical-align:middle}.menu>li>a i,.menu>li>a img,.menu>li>a svg{margin-right:.25rem;display:inline-block}.menu>li{display:table-cell}.menu.vertical>li{display:block}@media screen and (min-width:40em){.menu.medium-horizontal>li{display:table-cell}.menu.medium-vertical>li{display:block}}@media screen and (min-width:64em){.menu.large-horizontal>li{display:table-cell}.menu.large-vertical>li{display:block}}.menu.simple li{line-height:1;display:inline-block;margin-right:1rem}.menu.simple a{padding:0}.menu.align-right:after,.menu.align-right:before{content:' ';display:table}.menu.align-right:after{clear:both}.menu.align-right>li{float:right}.menu.expanded{width:100%;display:table;table-layout:fixed}.menu.expanded>li:first-child:last-child{width:100%}.menu.icon-top>li>a{text-align:center}.menu.icon-top>li>a i,.menu.icon-top>li>a img,.menu.icon-top>li>a svg{display:block;margin:0 auto .25rem}.menu.nested{margin-left:1rem}.menu .active>a{color:#fefefe;background:#2199e8}.menu-text{font-weight:700;color:inherit;line-height:1;padding-top:0;padding-bottom:0;padding:.7rem 1rem}.menu-centered{text-align:center}.menu-centered>.menu{display:inline-block}.no-js [data-responsive-menu] ul{display:none}.menu-icon{position:relative;display:inline-block;vertical-align:middle;cursor:pointer;width:20px;height:16px}.menu-icon:after{content:'';position:absolute;display:block;width:100%;height:2px;background:#fefefe;top:0;left:0;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe}.menu-icon:hover:after{background:#cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block!important}.is-drilldown-submenu{position:absolute;top:0;left:100%;z-index:-1;height:100%;width:100%;background:#fefefe;transition:-webkit-transform .15s linear;transition:transform .15s linear}.is-drilldown-submenu.is-active{z-index:1;display:block;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.is-drilldown-submenu.is-closing{-webkit-transform:translateX(100%);transform:translateX(100%)}.is-drilldown-submenu-parent>a{position:relative}.is-drilldown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:6px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0;position:absolute;top:50%;margin-top:-6px;right:1rem}.js-drilldown-back>a:before{content:'';display:block;width:0;height:0;border:6px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0;display:inline-block;vertical-align:middle;margin-right:.75rem}.dropdown-pane{background-color:#fefefe;border:1px solid #cacaca;border-radius:0;display:block;font-size:1rem;padding:1rem;position:absolute;visibility:hidden;width:300px;z-index:3}.dropdown-pane.is-open{visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.dropdown.menu>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}[data-whatinput=mouse] .dropdown.menu a{outline:0}.no-js .dropdown.menu ul{display:none}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a:after{right:14px;margin-top:-3px}.dropdown.menu.vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}@media screen and (min-width:40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a:after{right:14px;margin-top:-3px}.dropdown.menu.medium-vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.medium-vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}@media screen and (min-width:64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a:after{right:14px;margin-top:-3px}.dropdown.menu.large-vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.large-vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;left:auto;right:0}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a:after{position:absolute;top:50%;right:5px;margin-top:-2px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{left:auto;right:100%}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{display:none;position:absolute;top:0;left:100%;min-width:200px;z-index:1;background:#fefefe;border:1px solid #cacaca}.is-dropdown-submenu .is-dropdown-submenu-parent>a:after{right:14px;margin-top:-3px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.flex-video{position:relative;height:0;padding-bottom:75%;margin-bottom:1rem;overflow:hidden}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.flex-video.widescreen{padding-bottom:56.25%}.flex-video.vimeo{padding-top:0}.label{display:inline-block;padding:.33333rem .5rem;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;border-radius:0;background:#2199e8;color:#fefefe}.label.secondary{background:#777;color:#fefefe}.label.success{background:#3adb76;color:#fefefe}.label.warning{background:#ffae00;color:#fefefe}.label.alert{background:#ec5840;color:#fefefe}.media-object{margin-bottom:1rem;display:block}.media-object img{max-width:none}@media screen and (max-width:39.9375em){.media-object.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;display:block}.media-object.stack-for-small .media-object-section img{width:100%}}.media-object-section{display:table-cell;vertical-align:top}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}.media-object-section.middle{vertical-align:middle}.media-object-section.bottom{vertical-align:bottom}body,html{height:100%}.off-canvas-wrapper{width:100%;overflow-x:hidden;position:relative;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:auto}.off-canvas-wrapper-inner{position:relative;width:100%;transition:-webkit-transform .5s ease;transition:transform .5s ease}.off-canvas-wrapper-inner:after,.off-canvas-wrapper-inner:before{content:' ';display:table}.off-canvas-wrapper-inner:after{clear:both}.off-canvas-content{min-height:100%;background:#fefefe;transition:-webkit-transform .5s ease;transition:transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;padding-bottom:.1px;box-shadow:0 0 10px hsla(0,0%,4%,.5)}.js-off-canvas-exit{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:hsla(0,0%,100%,.25);cursor:pointer;transition:background .5s ease}.off-canvas{position:absolute;background:#e6e6e6;z-index:-1;max-height:100%;overflow-y:auto;-webkit-transform:translateX(0);transform:translateX(0)}[data-whatinput=mouse] .off-canvas{outline:0}.off-canvas.position-left{left:-250px;top:0;width:250px}.is-open-left{-webkit-transform:translateX(250px);transform:translateX(250px)}.off-canvas.position-right{right:-250px;top:0;width:250px}.is-open-right{-webkit-transform:translateX(-250px);transform:translateX(-250px)}@media screen and (min-width:40em){.position-left.reveal-for-medium{left:0;z-index:auto;position:fixed}.position-left.reveal-for-medium~.off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{right:0;z-index:auto;position:fixed}.position-right.reveal-for-medium~.off-canvas-content{margin-right:250px}}@media screen and (min-width:64em){.position-left.reveal-for-large{left:0;z-index:auto;position:fixed}.position-left.reveal-for-large~.off-canvas-content{margin-left:250px}.position-right.reveal-for-large{right:0;z-index:auto;position:fixed}.position-right.reveal-for-large~.off-canvas-content{margin-right:250px}}.orbit,.orbit-container{position:relative}.orbit-container{margin:0;overflow:hidden;list-style:none}.orbit-slide{width:100%;max-height:100%}.orbit-slide.no-motionui.is-active{top:0;left:0}.orbit-figure{margin:0}.orbit-image{margin:0;width:100%;max-width:100%}.orbit-caption{bottom:0;width:100%;margin-bottom:0;background-color:hsla(0,0%,4%,.5)}.orbit-caption,.orbit-next,.orbit-previous{position:absolute;padding:1rem;color:#fefefe}.orbit-next,.orbit-previous{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:3}[data-whatinput=mouse] .orbit-next,[data-whatinput=mouse] .orbit-previous{outline:0}.orbit-next:active,.orbit-next:focus,.orbit-next:hover,.orbit-previous:active,.orbit-previous:focus,.orbit-previous:hover{background-color:hsla(0,0%,4%,.5)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{position:relative;margin-top:.8rem;margin-bottom:.8rem;text-align:center}[data-whatinput=mouse] .orbit-bullets{outline:0}.orbit-bullets button{width:1.2rem;height:1.2rem;margin:.1rem;background-color:#cacaca;border-radius:50%}.orbit-bullets button.is-active,.orbit-bullets button:hover{background-color:#8a8a8a}.pagination{margin-left:0;margin-bottom:1rem}.pagination:after,.pagination:before{content:' ';display:table}.pagination:after{clear:both}.pagination li{font-size:.875rem;margin-right:.0625rem;border-radius:0;display:none}.pagination li:first-child,.pagination li:last-child{display:inline-block}@media screen and (min-width:40em){.pagination li{display:inline-block}}.pagination a,.pagination button{color:#0a0a0a;display:block;padding:.1875rem .625rem;border-radius:0}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{padding:.1875rem .625rem;background:#2199e8;color:#fefefe;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#cacaca;cursor:not-allowed}.pagination .disabled:hover{background:transparent}.pagination .ellipsis:after{content:'\2026';padding:.1875rem .625rem;color:#0a0a0a}.pagination-previous.disabled:before,.pagination-previous a:before{content:'\00ab';display:inline-block;margin-right:.5rem}.pagination-next.disabled:after,.pagination-next a:after{content:'\00bb';display:inline-block;margin-left:.5rem}.progress{background-color:#cacaca;height:1rem;margin-bottom:1rem;border-radius:0}.progress.primary .progress-meter{background-color:#2199e8}.progress.secondary .progress-meter{background-color:#777}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffae00}.progress.alert .progress-meter{background-color:#ec5840}.progress-meter{position:relative;display:block;width:0;height:100%;background-color:#2199e8}.progress-meter-text{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);position:absolute;margin:0;font-size:.75rem;font-weight:700;color:#fefefe;white-space:nowrap}body.is-reveal-open{overflow:hidden}html.is-reveal-open,html.is-reveal-open body{height:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reveal-overlay{display:none;position:fixed;top:0;bottom:0;left:0;right:0;z-index:4;background-color:hsla(0,0%,4%,.45);overflow-y:scroll}.reveal{display:none;z-index:5;padding:1rem;border:1px solid #cacaca;background-color:#fefefe;border-radius:0;position:relative;top:100px;margin-left:auto;margin-right:auto;overflow-y:auto}[data-whatinput=mouse] .reveal{outline:0}@media screen and (min-width:40em){.reveal{min-height:0}}.reveal .column,.reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media screen and (min-width:40em){.reveal{width:600px;max-width:75rem}}@media screen and (min-width:40em){.reveal .reveal{left:auto;right:auto;margin:0 auto}}.reveal.collapse{padding:0}@media screen and (min-width:40em){.reveal.tiny{width:30%;max-width:75rem}}@media screen and (min-width:40em){.reveal.small{width:50%;max-width:75rem}}@media screen and (min-width:40em){.reveal.large{width:90%;max-width:75rem}}.reveal.full{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}@media screen and (max-width:39.9375em){.reveal{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#e6e6e6;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.5rem;background-color:#cacaca;transition:all .2s ease-in-out}.slider-fill.is-dragging{transition:all 0s linear}.slider-handle{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);position:absolute;left:0;z-index:1;display:inline-block;width:1.4rem;height:1.4rem;background-color:#2199e8;transition:all .2s ease-in-out;-ms-touch-action:manipulation;touch-action:manipulation;border-radius:0}[data-whatinput=mouse] .slider-handle{outline:0}.slider-handle:hover{background-color:#1583cc}.slider-handle.is-dragging{transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;-webkit-transform:scaleY(-1);transform:scaleY(-1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.sticky-container{position:relative}.sticky{position:absolute;z-index:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.sticky.is-stuck{position:fixed;z-index:2}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:absolute;left:auto;right:auto}.sticky.is-anchored.is-at-bottom{bottom:0}.switch{margin-bottom:1rem;outline:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fefefe;font-weight:700;font-size:.875rem}.switch-input{opacity:0;position:absolute}.switch-paddle{background:#cacaca;cursor:pointer;display:block;position:relative;width:4rem;height:2rem;transition:all .25s ease-out;border-radius:0;color:inherit;font-weight:inherit}input+.switch-paddle{margin:0}.switch-paddle:after{background:#fefefe;content:'';display:block;position:absolute;height:1.5rem;left:.25rem;top:.25rem;width:1.5rem;transition:all .25s ease-out;-webkit-transform:translateZ(0);transform:translateZ(0);border-radius:0}input:checked~.switch-paddle{background:#2199e8}input:checked~.switch-paddle:after{left:2.25rem}[data-whatinput=mouse] input:focus~.switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle:after{width:1rem;height:1rem}.switch.tiny input:checked~.switch-paddle:after{left:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle:after{width:1.25rem;height:1.25rem}.switch.small input:checked~.switch-paddle:after{left:2rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle:after{width:2rem;height:2rem}.switch.large input:checked~.switch-paddle:after{left:2.75rem}table{width:100%;margin-bottom:1rem;border-radius:0}table tbody,table tfoot,table thead{border:1px solid #f1f1f1;background-color:#fefefe}table caption{font-weight:700;padding:.5rem .625rem .625rem}table tfoot,table thead{background:#f8f8f8;color:#0a0a0a}table tfoot tr,table thead tr{background:transparent}table tfoot td,table tfoot th,table thead td,table thead th{padding:.5rem .625rem .625rem;font-weight:700;text-align:left}table tbody tr:nth-child(even){background-color:#f1f1f1}table tbody td,table tbody th{padding:.5rem .625rem .625rem}@media screen and (max-width:63.9375em){table.stack tfoot,table.stack thead{display:none}table.stack td,table.stack th,table.stack tr{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover tr:hover{background-color:#f9f9f9}table.hover tr:nth-of-type(even):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.table-scroll table{width:auto}.tabs{margin:0;list-style-type:none;background:#fefefe;border:1px solid #e6e6e6}.tabs:after,.tabs:before{content:' ';display:table}.tabs:after{clear:both}.tabs.vertical>li{width:auto;float:none;display:block}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:transparent}.tabs.primary{background:#2199e8}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:focus,.tabs.primary>li>a:hover{background:#1893e4}.tabs-title{float:left}.tabs-title>a{display:block;padding:1.25rem 1.5rem;line-height:1;font-size:.75rem}.tabs-title>a:hover{background:#fefefe}.tabs-title>a:focus,.tabs-title>a[aria-selected=true]{background:#e6e6e6}.tabs-content{background:#fefefe;transition:all .5s ease;border:1px solid #e6e6e6;border-top:0}.tabs-content.vertical{border:1px solid #e6e6e6;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{border:4px solid #fefefe;box-shadow:0 0 0 1px hsla(0,0%,4%,.2);display:inline-block;line-height:0;max-width:100%;transition:box-shadow .2s ease-out;border-radius:0;margin-bottom:1rem}.thumbnail:focus,.thumbnail:hover{box-shadow:0 0 6px 1px rgba(33,153,232,.5)}.title-bar{background:#0a0a0a;color:#fefefe;padding:.5rem}.title-bar:after,.title-bar:before{content:' ';display:table}.title-bar:after{clear:both}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left{float:left}.title-bar-right{float:right;text-align:right}.title-bar-title{font-weight:700}.menu-icon.dark,.title-bar-title{vertical-align:middle;display:inline-block}.menu-icon.dark{position:relative;cursor:pointer;width:20px;height:16px}.menu-icon.dark:after{content:'';position:absolute;display:block;width:100%;height:2px;background:#0a0a0a;top:0;left:0;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a}.menu-icon.dark:hover:after{background:#8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.has-tip{border-bottom:1px dotted #8a8a8a;font-weight:700;position:relative;display:inline-block;cursor:help}.tooltip{background-color:#0a0a0a;color:#fefefe;font-size:80%;padding:.75rem;position:absolute;z-index:3;top:calc(100% + .6495rem);max-width:10rem!important;border-radius:0}.tooltip:before{border-color:transparent transparent #0a0a0a;border-bottom-style:solid;border-top-width:0;bottom:100%;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top:before,.tooltip:before{content:'';display:block;width:0;height:0;border:.75rem inset}.tooltip.top:before{border-color:#0a0a0a transparent transparent;border-top-style:solid;border-bottom-width:0;top:100%;bottom:auto}.tooltip.left:before{border-color:transparent transparent transparent #0a0a0a;border-left-style:solid;border-right-width:0;left:100%}.tooltip.left:before,.tooltip.right:before{content:'';display:block;width:0;height:0;border:.75rem inset;bottom:auto;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right:before{border-color:transparent #0a0a0a transparent transparent;border-right-style:solid;border-left-width:0;left:auto;right:100%}.top-bar{padding:.5rem}.top-bar:after,.top-bar:before{content:' ';display:table}.top-bar:after{clear:both}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{width:100%}@media screen and (min-width:40em){.top-bar .top-bar-left,.top-bar .top-bar-right{width:auto}}@media screen and (max-width:63.9375em){.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{width:100%}}@media screen and (max-width:74.9375em){.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{width:100%}}.top-bar-title{float:left;margin-right:1rem}.top-bar-left{float:left}.top-bar-right{float:right}.hide{display:none!important}.invisible{visibility:hidden}@media screen and (max-width:39.9375em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:40em){.show-for-small-only{display:none!important}}@media screen and (min-width:40em){.hide-for-medium{display:none!important}}@media screen and (max-width:39.9375em){.show-for-medium{display:none!important}}@media screen and (min-width:40em) and (max-width:63.9375em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:39.9375em),screen and (min-width:64em){.show-for-medium-only{display:none!important}}@media screen and (min-width:64em){.hide-for-large{display:none!important}}@media screen and (max-width:63.9375em){.show-for-large{display:none!important}}@media screen and (min-width:64em) and (max-width:74.9375em){.hide-for-large-only{display:none!important}}@media screen and (max-width:63.9375em),screen and (min-width:75em){.show-for-large-only{display:none!important}}.show-for-sr,.show-on-focus{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.show-on-focus:active,.show-on-focus:focus{position:static!important;height:auto;width:auto;overflow:visible;clip:auto}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{display:none!important}}.hide-for-landscape,.show-for-portrait{display:none!important}@media screen and (orientation:landscape){.hide-for-landscape,.show-for-portrait{display:none!important}}@media screen and (orientation:portrait){.hide-for-landscape,.show-for-portrait{display:block!important}}.float-left{float:left!important}.float-right{float:right!important}.float-center{display:block;margin-left:auto;margin-right:auto}.clearfix:after,.clearfix:before{content:' ';display:table}.clearfix:after{clear:both}.slide-in-down.mui-enter{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:translateY(-100%);transform:translateY(-100%);transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-down.mui-enter.mui-enter-active{-webkit-transform:translateY(0);transform:translateY(0)}.slide-in-left.mui-enter{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:translateX(-100%);transform:translateX(-100%);transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-left.mui-enter.mui-enter-active{-webkit-transform:translateX(0);transform:translateX(0)}.slide-in-up.mui-enter{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:translateY(100%);transform:translateY(100%);transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-up.mui-enter.mui-enter-active{-webkit-transform:translateY(0);transform:translateY(0)}.slide-in-right.mui-enter{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:translateX(100%);transform:translateX(100%);transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-right.mui-enter.mui-enter-active{-webkit-transform:translateX(0);transform:translateX(0)}.slide-out-down.mui-leave{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:translateY(0);transform:translateY(0);transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-down.mui-leave.mui-leave-active{-webkit-transform:translateY(100%);transform:translateY(100%)}.slide-out-right.mui-leave{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:translateX(0);transform:translateX(0);transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-right.mui-leave.mui-leave-active{-webkit-transform:translateX(100%);transform:translateX(100%)}.slide-out-up.mui-leave{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:translateY(0);transform:translateY(0);transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-up.mui-leave.mui-leave-active{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.slide-out-left.mui-leave{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:translateX(0);transform:translateX(0);transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-left.mui-leave.mui-leave-active{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.fade-in.mui-enter{transition-duration:.5s;transition-timing-function:linear;opacity:0;transition-property:opacity}.fade-in.mui-enter.mui-enter-active{opacity:1}.fade-out.mui-leave{transition-duration:.5s;transition-timing-function:linear;opacity:1;transition-property:opacity}.fade-out.mui-leave.mui-leave-active{opacity:0}.hinge-in-from-top.mui-enter{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);-webkit-transform-origin:top;transform-origin:top;transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:0}.hinge-in-from-top.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-right.mui-enter{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);-webkit-transform-origin:right;transform-origin:right;transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:0}.hinge-in-from-right.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-bottom.mui-enter{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);-webkit-transform-origin:bottom;transform-origin:bottom;transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:0}.hinge-in-from-bottom.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-left.mui-enter{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);-webkit-transform-origin:left;transform-origin:left;transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:0}.hinge-in-from-left.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-x.mui-enter{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);-webkit-transform-origin:center;transform-origin:center;transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:0}.hinge-in-from-middle-x.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-y.mui-enter{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);-webkit-transform-origin:center;transform-origin:center;transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:0}.hinge-in-from-middle-y.mui-enter.mui-enter-active,.hinge-out-from-top.mui-leave{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-out-from-top.mui-leave{transition-duration:.5s;transition-timing-function:linear;-webkit-transform-origin:top;transform-origin:top;transition-property:-webkit-transform,opacity;transition-property:transform,opacity}.hinge-out-from-top.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}.hinge-out-from-right.mui-leave{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:right;transform-origin:right;transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:1}.hinge-out-from-right.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);opacity:0}.hinge-out-from-bottom.mui-leave{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:bottom;transform-origin:bottom;transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:1}.hinge-out-from-bottom.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-left.mui-leave{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:left;transform-origin:left;transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:1}.hinge-out-from-left.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}.hinge-out-from-middle-x.mui-leave{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:center;transform-origin:center;transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:1}.hinge-out-from-middle-x.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}.hinge-out-from-middle-y.mui-leave{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:center;transform-origin:center;transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:1}.hinge-out-from-middle-y.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);opacity:0}.scale-in-up.mui-enter{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:scale(.5);transform:scale(.5);transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:0}.scale-in-up.mui-enter.mui-enter-active{-webkit-transform:scale(1);transform:scale(1);opacity:1}.scale-in-down.mui-enter{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:scale(1.5);transform:scale(1.5);transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:0}.scale-in-down.mui-enter.mui-enter-active,.scale-out-up.mui-leave{-webkit-transform:scale(1);transform:scale(1);opacity:1}.scale-out-up.mui-leave{transition-duration:.5s;transition-timing-function:linear;transition-property:-webkit-transform,opacity;transition-property:transform,opacity}.scale-out-up.mui-leave.mui-leave-active{-webkit-transform:scale(1.5);transform:scale(1.5);opacity:0}.scale-out-down.mui-leave{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:scale(1);transform:scale(1);transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:1}.scale-out-down.mui-leave.mui-leave-active{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}.spin-in.mui-enter{transition-duration:.5s;transition-timing-function:linear;-webkit-transform:rotate(-270deg);transform:rotate(-270deg);transition-property:-webkit-transform,opacity;transition-property:transform,opacity;opacity:0}.spin-in.mui-enter.mui-enter-active,.spin-out.mui-leave{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}.spin-out.mui-leave{transition-duration:.5s;transition-timing-function:linear;transition-property:-webkit-transform,opacity;transition-property:transform,opacity}.spin-in-ccw.mui-enter,.spin-out.mui-leave.mui-leave-active{-webkit-transform:rotate(270deg);transform:rotate(270deg);opacity:0}.spin-in-ccw.mui-enter{transition-duration:.5s;transition-timing-function:linear;transition-property:-webkit-transform,opacity;transition-property:transform,opacity}.spin-in-ccw.mui-enter.mui-enter-active,.spin-out-ccw.mui-leave{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}.spin-out-ccw.mui-leave{transition-duration:.5s;transition-timing-function:linear;transition-property:-webkit-transform,opacity;transition-property:transform,opacity}.spin-out-ccw.mui-leave.mui-leave-active{-webkit-transform:rotate(-270deg);transform:rotate(-270deg);opacity:0}.slow{transition-duration:.75s!important}.fast{transition-duration:.25s!important}.linear{transition-timing-function:linear!important}.ease{transition-timing-function:ease!important}.ease-in{transition-timing-function:ease-in!important}.ease-out{transition-timing-function:ease-out!important}.ease-in-out{transition-timing-function:ease-in-out!important}.bounce-in{transition-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.bounce-out{transition-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.bounce-in-out{transition-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.short-delay{transition-delay:.3s!important}.long-delay{transition-delay:.7s!important}.shake{-webkit-animation-name:a;animation-name:a}@-webkit-keyframes a{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{-webkit-transform:translateX(7%);transform:translateX(7%)}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{-webkit-transform:translateX(-7%);transform:translateX(-7%)}}@keyframes a{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{-webkit-transform:translateX(7%);transform:translateX(7%)}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{-webkit-transform:translateX(-7%);transform:translateX(-7%)}}.spin-cw{-webkit-animation-name:b;animation-name:b}@-webkit-keyframes b{0%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}to{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes b{0%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}to{-webkit-transform:rotate(0);transform:rotate(0)}}.spin-ccw{-webkit-animation-name:b;animation-name:b}@keyframes b{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.wiggle{-webkit-animation-name:c;animation-name:c}@-webkit-keyframes c{40%,50%,60%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}35%,45%,55%,65%{-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}0%,30%,70%,to{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes c{40%,50%,60%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}35%,45%,55%,65%{-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}0%,30%,70%,to{-webkit-transform:rotate(0);transform:rotate(0)}}.shake,.spin-ccw,.spin-cw,.wiggle{-webkit-animation-duration:.5s;animation-duration:.5s}.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.slow{-webkit-animation-duration:.75s!important;animation-duration:.75s!important}.fast{-webkit-animation-duration:.25s!important;animation-duration:.25s!important}.linear{-webkit-animation-timing-function:linear!important;animation-timing-function:linear!important}.ease{-webkit-animation-timing-function:ease!important;animation-timing-function:ease!important}.ease-in{-webkit-animation-timing-function:ease-in!important;animation-timing-function:ease-in!important}.ease-out{-webkit-animation-timing-function:ease-out!important;animation-timing-function:ease-out!important}.ease-in-out{-webkit-animation-timing-function:ease-in-out!important;animation-timing-function:ease-in-out!important}.bounce-in{-webkit-animation-timing-function:cubic-bezier(.485,.155,.24,1.245)!important;animation-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.bounce-out{-webkit-animation-timing-function:cubic-bezier(.485,.155,.515,.845)!important;animation-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.bounce-in-out{-webkit-animation-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important;animation-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.short-delay{-webkit-animation-delay:.3s!important;animation-delay:.3s!important}.long-delay{-webkit-animation-delay:.7s!important;animation-delay:.7s!important}
\ No newline at end of file
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-size:100%;box-sizing:border-box}body{padding:0;margin:0;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:400;line-height:1.5;color:#0a0a0a;background:#fefefe;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a,small{line-height:inherit}a{background-color:transparent;color:#2199e8;text-decoration:none;cursor:pointer}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}dfn{font-style:italic}h1{font-size:2em}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0;max-width:100%;height:auto;-ms-interpolation-mode:bicubic;display:inline-block;vertical-align:middle}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;max-width:75rem;height:0;border-right:0;border-top:0;border-bottom:1px solid #cacaca;border-left:0;margin:1.25rem auto;clear:both}pre{overflow:auto}code,kbd,pre,samp{font-size:1em}pre,samp{font-family:monospace,monospace}button,input,optgroup{color:inherit;font:inherit;margin:0}select,textarea{font:inherit;margin:0}button{overflow:visible;cursor:pointer}button,select{text-transform:none}html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:not-allowed}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0;margin-bottom:.5rem;max-width:100%}textarea{overflow:auto;height:auto;min-height:50px}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:1rem;border-radius:0}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}*,::after,::before{box-sizing:inherit}button,select{-webkit-appearance:none;-moz-appearance:none;border-radius:0}select{width:100%;height:2.4375rem;margin:0 0 1rem;font-size:1rem;font-family:inherit;color:#0a0a0a;background-color:#fefefe;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-size:9px 6px;background-position:right -1rem center;background-origin:content-box;background-repeat:no-repeat;padding:.5rem 1.5rem .5rem .5rem;border:1px solid #cacaca;line-height:normal}#map_canvas embed,#map_canvas img,#map_canvas object,.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{background:0 0;padding:0;border:0;line-height:1}[data-whatinput=mouse] button{outline:0}.is-visible{display:block!important}.is-hidden{display:none!important}.row{max-width:75rem;margin-left:auto;margin-right:auto}.row::after,.row::before{content:' ';display:table}.row::after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row .row{max-width:none;margin-left:-.625rem;margin-right:-.625rem}@media screen and (min-width:40em){.row .row{margin-left:-.9375rem;margin-right:-.9375rem}}.row .row.collapse{margin-left:0;margin-right:0}.media-object img,.row.expanded{max-width:none}.row.expanded .row{margin-left:auto;margin-right:auto}.column,.columns{width:100%;float:left;padding-left:.625rem;padding-right:.625rem}@media screen and (min-width:40em){.column,.columns{padding-left:.9375rem;padding-right:.9375rem}}.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:right}.column.end:last-child:last-child,.end.columns:last-child:last-child{float:left}.column.row.row,.row.row.columns{float:none}.row .column.row.row,.row .row.row.columns{padding-left:0;padding-right:0;margin-left:0;margin-right:0}.small-1{width:8.33333%}.small-pull-1,.small-push-1{position:relative;left:8.33333%}.small-pull-1{left:-8.33333%}.small-offset-0{margin-left:0%}.small-2{width:16.66667%}.small-pull-2,.small-push-2{position:relative;left:16.66667%}.small-pull-2{left:-16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{width:25%}.small-pull-3,.small-push-3{position:relative;left:25%}.small-pull-3{left:-25%}.small-offset-2{margin-left:16.66667%}.small-4{width:33.33333%}.small-pull-4,.small-push-4{position:relative;left:33.33333%}.small-pull-4{left:-33.33333%}.small-offset-3{margin-left:25%}.small-5{width:41.66667%}.small-pull-5,.small-push-5{position:relative;left:41.66667%}.small-pull-5{left:-41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{width:50%}.small-pull-6,.small-push-6{position:relative;left:50%}.small-pull-6{left:-50%}.small-offset-5{margin-left:41.66667%}.small-7{width:58.33333%}.small-pull-7,.small-push-7{position:relative;left:58.33333%}.small-pull-7{left:-58.33333%}.small-offset-6{margin-left:50%}.small-8{width:66.66667%}.small-pull-8,.small-push-8{position:relative;left:66.66667%}.small-pull-8{left:-66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{width:75%}.small-pull-9,.small-push-9{position:relative;left:75%}.small-pull-9{left:-75%}.small-offset-8{margin-left:66.66667%}.small-10{width:83.33333%}.small-pull-10,.small-push-10{position:relative;left:83.33333%}.small-pull-10{left:-83.33333%}.small-offset-9{margin-left:75%}.small-11{width:91.66667%}.small-pull-11,.small-push-11{position:relative;left:91.66667%}.small-pull-11{left:-91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{width:100%}.small-offset-11{margin-left:91.66667%}.small-up-1>.column,.small-up-1>.columns{width:100%;float:left}.small-up-1>.column:nth-of-type(1n),.small-up-1>.columns:nth-of-type(1n){clear:none}.small-up-1>.column:nth-of-type(1n+1),.small-up-1>.columns:nth-of-type(1n+1){clear:both}.small-up-1>.column:last-child,.small-up-1>.columns:last-child{float:left}.small-up-2>.column,.small-up-2>.columns{width:50%;float:left}.small-up-2>.column:nth-of-type(1n),.small-up-2>.columns:nth-of-type(1n){clear:none}.small-up-2>.column:nth-of-type(2n+1),.small-up-2>.columns:nth-of-type(2n+1){clear:both}.small-up-2>.column:last-child,.small-up-2>.columns:last-child{float:left}.small-up-3>.column,.small-up-3>.columns{width:33.33333%;float:left}.small-up-3>.column:nth-of-type(1n),.small-up-3>.columns:nth-of-type(1n){clear:none}.small-up-3>.column:nth-of-type(3n+1),.small-up-3>.columns:nth-of-type(3n+1){clear:both}.small-up-3>.column:last-child,.small-up-3>.columns:last-child{float:left}.small-up-4>.column,.small-up-4>.columns{width:25%;float:left}.small-up-4>.column:nth-of-type(1n),.small-up-4>.columns:nth-of-type(1n){clear:none}.small-up-4>.column:nth-of-type(4n+1),.small-up-4>.columns:nth-of-type(4n+1){clear:both}.small-up-4>.column:last-child,.small-up-4>.columns:last-child{float:left}.small-up-5>.column,.small-up-5>.columns{width:20%;float:left}.small-up-5>.column:nth-of-type(1n),.small-up-5>.columns:nth-of-type(1n){clear:none}.small-up-5>.column:nth-of-type(5n+1),.small-up-5>.columns:nth-of-type(5n+1){clear:both}.small-up-5>.column:last-child,.small-up-5>.columns:last-child{float:left}.small-up-6>.column,.small-up-6>.columns{width:16.66667%;float:left}.small-up-6>.column:nth-of-type(1n),.small-up-6>.columns:nth-of-type(1n){clear:none}.small-up-6>.column:nth-of-type(6n+1),.small-up-6>.columns:nth-of-type(6n+1){clear:both}.small-up-6>.column:last-child,.small-up-6>.columns:last-child{float:left}.small-up-7>.column,.small-up-7>.columns{width:14.28571%;float:left}.small-up-7>.column:nth-of-type(1n),.small-up-7>.columns:nth-of-type(1n){clear:none}.small-up-7>.column:nth-of-type(7n+1),.small-up-7>.columns:nth-of-type(7n+1){clear:both}.small-up-7>.column:last-child,.small-up-7>.columns:last-child{float:left}.small-up-8>.column,.small-up-8>.columns{width:12.5%;float:left}.small-up-8>.column:nth-of-type(1n),.small-up-8>.columns:nth-of-type(1n){clear:none}.small-up-8>.column:nth-of-type(8n+1),.small-up-8>.columns:nth-of-type(8n+1){clear:both}.small-up-8>.column:last-child,.small-up-8>.columns:last-child{float:left}.small-collapse>.column,.small-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .small-collapse.row,.small-collapse .row{margin-left:0;margin-right:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-left:.625rem;padding-right:.625rem}.small-centered{float:none;margin-left:auto;margin-right:auto}.small-pull-0,.small-push-0,.small-uncentered{position:static;margin-left:0;margin-right:0;float:left}@media screen and (min-width:40em){.medium-1{width:8.33333%}.medium-pull-1,.medium-push-1{position:relative;left:8.33333%}.medium-pull-1{left:-8.33333%}.medium-offset-0{margin-left:0%}.medium-2{width:16.66667%}.medium-pull-2,.medium-push-2{position:relative;left:16.66667%}.medium-pull-2{left:-16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{width:25%}.medium-pull-3,.medium-push-3{position:relative;left:25%}.medium-pull-3{left:-25%}.medium-offset-2{margin-left:16.66667%}.medium-4{width:33.33333%}.medium-pull-4,.medium-push-4{position:relative;left:33.33333%}.medium-pull-4{left:-33.33333%}.medium-offset-3{margin-left:25%}.medium-5{width:41.66667%}.medium-pull-5,.medium-push-5{position:relative;left:41.66667%}.medium-pull-5{left:-41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{width:50%}.medium-pull-6,.medium-push-6{position:relative;left:50%}.medium-pull-6{left:-50%}.medium-offset-5{margin-left:41.66667%}.medium-7{width:58.33333%}.medium-pull-7,.medium-push-7{position:relative;left:58.33333%}.medium-pull-7{left:-58.33333%}.medium-offset-6{margin-left:50%}.medium-8{width:66.66667%}.medium-pull-8,.medium-push-8{position:relative;left:66.66667%}.medium-pull-8{left:-66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{width:75%}.medium-pull-9,.medium-push-9{position:relative;left:75%}.medium-pull-9{left:-75%}.medium-offset-8{margin-left:66.66667%}.medium-10{width:83.33333%}.medium-pull-10,.medium-push-10{position:relative;left:83.33333%}.medium-pull-10{left:-83.33333%}.medium-offset-9{margin-left:75%}.medium-11{width:91.66667%}.medium-pull-11,.medium-push-11{position:relative;left:91.66667%}.medium-pull-11{left:-91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{width:100%}.medium-offset-11{margin-left:91.66667%}.medium-up-1>.column,.medium-up-1>.columns{width:100%;float:left}.medium-up-1>.column:nth-of-type(1n),.medium-up-1>.columns:nth-of-type(1n){clear:none}.medium-up-1>.column:nth-of-type(1n+1),.medium-up-1>.columns:nth-of-type(1n+1){clear:both}.medium-up-1>.column:last-child,.medium-up-1>.columns:last-child{float:left}.medium-up-2>.column,.medium-up-2>.columns{width:50%;float:left}.medium-up-2>.column:nth-of-type(1n),.medium-up-2>.columns:nth-of-type(1n){clear:none}.medium-up-2>.column:nth-of-type(2n+1),.medium-up-2>.columns:nth-of-type(2n+1){clear:both}.medium-up-2>.column:last-child,.medium-up-2>.columns:last-child{float:left}.medium-up-3>.column,.medium-up-3>.columns{width:33.33333%;float:left}.medium-up-3>.column:nth-of-type(1n),.medium-up-3>.columns:nth-of-type(1n){clear:none}.medium-up-3>.column:nth-of-type(3n+1),.medium-up-3>.columns:nth-of-type(3n+1){clear:both}.medium-up-3>.column:last-child,.medium-up-3>.columns:last-child{float:left}.medium-up-4>.column,.medium-up-4>.columns{width:25%;float:left}.medium-up-4>.column:nth-of-type(1n),.medium-up-4>.columns:nth-of-type(1n){clear:none}.medium-up-4>.column:nth-of-type(4n+1),.medium-up-4>.columns:nth-of-type(4n+1){clear:both}.medium-up-4>.column:last-child,.medium-up-4>.columns:last-child{float:left}.medium-up-5>.column,.medium-up-5>.columns{width:20%;float:left}.medium-up-5>.column:nth-of-type(1n),.medium-up-5>.columns:nth-of-type(1n){clear:none}.medium-up-5>.column:nth-of-type(5n+1),.medium-up-5>.columns:nth-of-type(5n+1){clear:both}.medium-up-5>.column:last-child,.medium-up-5>.columns:last-child{float:left}.medium-up-6>.column,.medium-up-6>.columns{width:16.66667%;float:left}.medium-up-6>.column:nth-of-type(1n),.medium-up-6>.columns:nth-of-type(1n){clear:none}.medium-up-6>.column:nth-of-type(6n+1),.medium-up-6>.columns:nth-of-type(6n+1){clear:both}.medium-up-6>.column:last-child,.medium-up-6>.columns:last-child{float:left}.medium-up-7>.column,.medium-up-7>.columns{width:14.28571%;float:left}.medium-up-7>.column:nth-of-type(1n),.medium-up-7>.columns:nth-of-type(1n){clear:none}.medium-up-7>.column:nth-of-type(7n+1),.medium-up-7>.columns:nth-of-type(7n+1){clear:both}.medium-up-7>.column:last-child,.medium-up-7>.columns:last-child{float:left}.medium-up-8>.column,.medium-up-8>.columns{width:12.5%;float:left}.medium-up-8>.column:nth-of-type(1n),.medium-up-8>.columns:nth-of-type(1n){clear:none}.medium-up-8>.column:nth-of-type(8n+1),.medium-up-8>.columns:nth-of-type(8n+1){clear:both}.medium-up-8>.column:last-child,.medium-up-8>.columns:last-child{float:left}.medium-collapse>.column,.medium-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .medium-collapse.row,.medium-collapse .row{margin-left:0;margin-right:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}.medium-centered{float:none;margin-left:auto;margin-right:auto}.medium-pull-0,.medium-push-0,.medium-uncentered{position:static;margin-left:0;margin-right:0;float:left}}@media screen and (min-width:64em){.large-1{width:8.33333%}.large-pull-1,.large-push-1{position:relative;left:8.33333%}.large-pull-1{left:-8.33333%}.large-offset-0{margin-left:0%}.large-2{width:16.66667%}.large-pull-2,.large-push-2{position:relative;left:16.66667%}.large-pull-2{left:-16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{width:25%}.large-pull-3,.large-push-3{position:relative;left:25%}.large-pull-3{left:-25%}.large-offset-2{margin-left:16.66667%}.large-4{width:33.33333%}.large-pull-4,.large-push-4{position:relative;left:33.33333%}.large-pull-4{left:-33.33333%}.large-offset-3{margin-left:25%}.large-5{width:41.66667%}.large-pull-5,.large-push-5{position:relative;left:41.66667%}.large-pull-5{left:-41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{width:50%}.large-pull-6,.large-push-6{position:relative;left:50%}.large-pull-6{left:-50%}.large-offset-5{margin-left:41.66667%}.large-7{width:58.33333%}.large-pull-7,.large-push-7{position:relative;left:58.33333%}.large-pull-7{left:-58.33333%}.large-offset-6{margin-left:50%}.large-8{width:66.66667%}.large-pull-8,.large-push-8{position:relative;left:66.66667%}.large-pull-8{left:-66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{width:75%}.large-pull-9,.large-push-9{position:relative;left:75%}.large-pull-9{left:-75%}.large-offset-8{margin-left:66.66667%}.large-10{width:83.33333%}.large-pull-10,.large-push-10{position:relative;left:83.33333%}.large-pull-10{left:-83.33333%}.large-offset-9{margin-left:75%}.large-11{width:91.66667%}.large-pull-11,.large-push-11{position:relative;left:91.66667%}.large-pull-11{left:-91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{width:100%}.large-offset-11{margin-left:91.66667%}.large-up-1>.column,.large-up-1>.columns{width:100%;float:left}.large-up-1>.column:nth-of-type(1n),.large-up-1>.columns:nth-of-type(1n){clear:none}.large-up-1>.column:nth-of-type(1n+1),.large-up-1>.columns:nth-of-type(1n+1){clear:both}.large-up-1>.column:last-child,.large-up-1>.columns:last-child{float:left}.large-up-2>.column,.large-up-2>.columns{width:50%;float:left}.large-up-2>.column:nth-of-type(1n),.large-up-2>.columns:nth-of-type(1n){clear:none}.large-up-2>.column:nth-of-type(2n+1),.large-up-2>.columns:nth-of-type(2n+1){clear:both}.large-up-2>.column:last-child,.large-up-2>.columns:last-child{float:left}.large-up-3>.column,.large-up-3>.columns{width:33.33333%;float:left}.large-up-3>.column:nth-of-type(1n),.large-up-3>.columns:nth-of-type(1n){clear:none}.large-up-3>.column:nth-of-type(3n+1),.large-up-3>.columns:nth-of-type(3n+1){clear:both}.large-up-3>.column:last-child,.large-up-3>.columns:last-child{float:left}.large-up-4>.column,.large-up-4>.columns{width:25%;float:left}.large-up-4>.column:nth-of-type(1n),.large-up-4>.columns:nth-of-type(1n){clear:none}.large-up-4>.column:nth-of-type(4n+1),.large-up-4>.columns:nth-of-type(4n+1){clear:both}.large-up-4>.column:last-child,.large-up-4>.columns:last-child{float:left}.large-up-5>.column,.large-up-5>.columns{width:20%;float:left}.large-up-5>.column:nth-of-type(1n),.large-up-5>.columns:nth-of-type(1n){clear:none}.large-up-5>.column:nth-of-type(5n+1),.large-up-5>.columns:nth-of-type(5n+1){clear:both}.large-up-5>.column:last-child,.large-up-5>.columns:last-child{float:left}.large-up-6>.column,.large-up-6>.columns{width:16.66667%;float:left}.large-up-6>.column:nth-of-type(1n),.large-up-6>.columns:nth-of-type(1n){clear:none}.large-up-6>.column:nth-of-type(6n+1),.large-up-6>.columns:nth-of-type(6n+1){clear:both}.large-up-6>.column:last-child,.large-up-6>.columns:last-child{float:left}.large-up-7>.column,.large-up-7>.columns{width:14.28571%;float:left}.large-up-7>.column:nth-of-type(1n),.large-up-7>.columns:nth-of-type(1n){clear:none}.large-up-7>.column:nth-of-type(7n+1),.large-up-7>.columns:nth-of-type(7n+1){clear:both}.large-up-7>.column:last-child,.large-up-7>.columns:last-child{float:left}.large-up-8>.column,.large-up-8>.columns{width:12.5%;float:left}.large-up-8>.column:nth-of-type(1n),.large-up-8>.columns:nth-of-type(1n){clear:none}.large-up-8>.column:nth-of-type(8n+1),.large-up-8>.columns:nth-of-type(8n+1){clear:both}.large-up-8>.column:last-child,.large-up-8>.columns:last-child{float:left}.large-collapse>.column,.large-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .large-collapse.row,.large-collapse .row{margin-left:0;margin-right:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}.large-centered{float:none;margin-left:auto;margin-right:auto}.large-pull-0,.large-push-0,.large-uncentered{position:static;margin-left:0;margin-right:0;float:left}}blockquote,dd,div,dl,dt,form,li,ol,p,pre,td,th,ul{margin:0;padding:0}h1,h2,h3,h4,h5,h6{padding:0}h1,h2,h3,h4,h5,h6,p{text-rendering:optimizeLegibility}p{font-size:inherit;line-height:1.6;margin-bottom:1rem}b,em,i,strong{line-height:inherit}em,i{font-style:italic}b,strong{font-weight:700}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:400;font-style:normal;color:inherit;margin:0;margin-bottom:.5rem;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#cacaca;line-height:0}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1875rem}h4{font-size:1.125rem}h5{font-size:1.0625rem}h6{font-size:1rem}@media screen and (min-width:40em){h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:1.9375rem}h4{font-size:1.5625rem}h5{font-size:1.25rem}h6{font-size:1rem}}a:focus,a:hover{color:#1585cf}a img{border:0}dl,ol,ul{line-height:1.6;list-style-position:outside;margin-bottom:1rem}li{font-size:inherit}ul{list-style-type:disc}ol,ul{margin-left:1.25rem}ol ol,ol ul,ul ol,ul ul{margin-left:1.25rem;margin-bottom:0}dl dt{margin-bottom:.3rem;font-weight:700}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}.subheader,blockquote,blockquote p{line-height:1.6;color:#8a8a8a}cite{display:block;font-size:.8125rem;color:#8a8a8a}cite:before{content:'\2014 \0020'}abbr{color:#0a0a0a;cursor:help;border-bottom:1px dotted #0a0a0a}code,kbd{background-color:#e6e6e6;color:#0a0a0a;font-family:Consolas,"Liberation Mono",Courier,monospace}code{font-weight:400;border:1px solid #cacaca;padding:.125rem .3125rem .0625rem}kbd{padding:.125rem .25rem 0;margin:0}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:400;line-height:1.4}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}.no-bullet{margin-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media screen and (min-width:40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media screen and (min-width:64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none!important}@media print{*{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.show-for-print{display:block!important}.hide-for-print{display:none!important}table.show-for-print{display:table!important}thead.show-for-print{display:table-header-group!important}tbody.show-for-print{display:table-row-group!important}tr.show-for-print{display:table-row!important}td.show-for-print,th.show-for-print{display:table-cell!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='#']:after,a[href^='javascript:']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #8a8a8a}thead{display:table-header-group}blockquote,img,pre,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{display:block;box-sizing:border-box;width:100%;height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-family:inherit;font-size:1rem;color:#0a0a0a;background-color:#fefefe;box-shadow:inset 0 1px 2px rgba(10,10,10,.1);border-radius:0;transition:box-shadow .5s,border-color .25s ease-in-out;-webkit-appearance:none;-moz-appearance:none}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{border:1px solid #8a8a8a;background-color:#fefefe;outline:none;box-shadow:0 0 5px #cacaca;transition:box-shadow .5s,border-color .25s ease-in-out}textarea{max-width:100%}textarea[rows]{height:auto}input::placeholder,textarea::placeholder{color:#cacaca}input:disabled,input[readonly],select:disabled,textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type=button],[type=submit]{border-radius:0;-webkit-appearance:none;-moz-appearance:none}input[type=search]{box-sizing:border-box}[type=checkbox],[type=file],[type=radio]{margin:0 0 1rem}[type=checkbox]+label,[type=radio]+label{display:inline-block;margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}[type=checkbox]+label[for],[type=radio]+label[for]{cursor:pointer}label>[type=checkbox],label>[type=radio]{margin-right:.5rem}[type=file]{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:400;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:table;width:100%;margin-bottom:1rem}.input-group>:first-child{border-radius:0 0 0 0}.input-group>:last-child>*{border-radius:0 0 0 0}.input-group-button,.input-group-field,.input-group-label{margin:0;display:table-cell;vertical-align:middle}.input-group-button,.input-group-field{white-space:nowrap}.input-group-label{text-align:center;padding:0 1rem;background:#e6e6e6;color:#0a0a0a;border:1px solid #cacaca;white-space:nowrap;width:1%;height:100%}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;height:2.5rem}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;height:100%;width:1%}.input-group-button a,.input-group-button button,.input-group-button input{margin:0}.input-group .input-group-button{display:table-cell}fieldset{border:0;padding:0;margin:0}.fieldset{border:1px solid #cacaca;padding:1.25rem;margin:1.125rem 0}.fieldset legend{background:#fefefe;padding:0 .1875rem;margin:0;margin-left:-.1875rem}@media screen and (min-width:0\0){select{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==)}}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){background-color:rgba(236,88,64,.1);border-color:#ec5840}.form-error,.is-invalid-label{color:#ec5840}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:700}.form-error.is-visible{display:block}.button{display:inline-block;text-align:center;line-height:1;cursor:pointer;-webkit-appearance:none;transition:background-color .25s ease-out,color .25s ease-out;vertical-align:middle;border:1px solid transparent;border-radius:0;padding:.85em 1em;margin:0 0 1rem;font-size:.9rem;background-color:#2199e8;color:#fefefe}[data-whatinput=mouse] .button{outline:0}.button:focus,.button:hover{background-color:#1583cc;color:#fefefe}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-left:0;margin-right:0}.button.primary{background-color:#2199e8;color:#fefefe}.button.primary:focus,.button.primary:hover{background-color:#147cc0;color:#fefefe}.button.secondary{background-color:#777;color:#fefefe}.button.secondary:focus,.button.secondary:hover{background-color:#5f5f5f;color:#fefefe}.button.success{background-color:#3adb76;color:#fefefe}.button.success:focus,.button.success:hover{background-color:#22bb5b;color:#fefefe}.button.warning{background-color:#ffae00;color:#fefefe}.button.warning:focus,.button.warning:hover{background-color:#cc8b00;color:#fefefe}.button.alert{background-color:#ec5840;color:#fefefe}.button.alert:focus,.button.alert:hover{background-color:#da3116;color:#fefefe}.button.hollow{border:1px solid #2199e8;color:#2199e8}.button.hollow,.button.hollow:focus,.button.hollow:hover{background-color:transparent}.button.hollow.primary:focus,.button.hollow.primary:hover,.button.hollow:focus,.button.hollow:hover{border-color:#0c4d78;color:#0c4d78}.button.hollow.primary{border:1px solid #2199e8;color:#2199e8}.button.hollow.secondary{border:1px solid #777;color:#777}.button.hollow.secondary:focus,.button.hollow.secondary:hover{border-color:#3c3c3c;color:#3c3c3c}.button.hollow.success{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:focus,.button.hollow.success:hover{border-color:#157539;color:#157539}.button.hollow.warning{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:#805700;color:#805700}.button.hollow.alert{border:1px solid #ec5840;color:#ec5840}.button.hollow.alert:focus,.button.hollow.alert:hover{border-color:#881f0e;color:#881f0e}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled:focus,.button.disabled:hover,.button[disabled]:focus,.button[disabled]:hover{background-color:#2199e8;color:#fefefe}.button.dropdown::after{content:'';width:0;height:0;border:inset .4em;border-color:#fefefe transparent transparent;border-top-style:solid;border-bottom-width:0;position:relative;top:.4em;float:right;margin-left:1em;display:inline-block}.button.arrow-only::after{margin-left:0;float:none;top:-.1em}.accordion{list-style-type:none;background:#fefefe;margin-left:0}.accordion-item:first-child>:first-child{border-radius:0 0 0 0}.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{display:block;padding:1.25rem 1rem;line-height:1;font-size:.75rem;color:#2199e8;position:relative;border:1px solid #e6e6e6;border-bottom:0}:last-child:not(.is-active)>.accordion-title{border-radius:0 0 0 0;border-bottom:1px solid #e6e6e6}.accordion-title:focus,.accordion-title:hover{background-color:#e6e6e6}.accordion-title::before{content:'+';position:absolute;right:1rem;top:50%;margin-top:-.5rem}.is-active>.accordion-title::before{content:'–'}.accordion-content{padding:1rem;display:none;border:1px solid #e6e6e6;border-bottom:0;background-color:#fefefe;color:#0a0a0a}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.is-accordion-submenu-parent>a{position:relative}.is-accordion-submenu-parent>a::after{content:'';display:block;width:0;height:0;border:inset 6px;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;position:absolute;top:50%;margin-top:-4px;right:1rem}.is-accordion-submenu-parent[aria-expanded=true]>a::after{transform-origin:50% 50%;transform:scaleY(-1)}.badge{display:inline-block;padding:.3em;min-width:2.1em;font-size:.6rem;text-align:center;border-radius:50%;background:#2199e8;color:#fefefe}.badge.secondary{background:#777;color:#fefefe}.badge.success{background:#3adb76;color:#fefefe}.badge.warning{background:#ffae00;color:#fefefe}.badge.alert{background:#ec5840;color:#fefefe}.breadcrumbs{list-style:none;margin:0 0 1rem}.breadcrumbs::after,.breadcrumbs::before{content:' ';display:table}.breadcrumbs::after{clear:both}.breadcrumbs li{float:left;color:#0a0a0a;font-size:.6875rem;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child)::after{color:#cacaca;content:"/";margin:0 .75rem;position:relative;top:1px;opacity:1}.breadcrumbs a{color:#2199e8}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.button-group{margin-bottom:1rem;font-size:0}.button-group::after,.button-group::before{content:' ';display:table}.button-group::after{clear:both}.button-group .button{margin:0 1px 1px 0;font-size:.9rem}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded{margin-right:-1px}.button-group.expanded::after,.button-group.expanded::before,.no-js .dropdown.menu ul,.no-js [data-responsive-menu] ul{display:none}.button-group.expanded .button:first-child:nth-last-child(2),.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2)~.button{display:inline-block;width:calc(50% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(2):last-child,.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(3):last-child,.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(4):last-child,.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(5):last-child,.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(6):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(3),.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3)~.button{display:inline-block;width:calc(33.33333% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(4),.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4)~.button{display:inline-block;width:calc(25% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(5),.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5)~.button{display:inline-block;width:calc(20% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(6),.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6)~.button{display:inline-block;width:calc(16.66667% - 1px);margin-right:1px}.button-group.primary .button{background-color:#2199e8;color:#fefefe}.button-group.primary .button:focus,.button-group.primary .button:hover{background-color:#147cc0;color:#fefefe}.button-group.secondary .button{background-color:#777;color:#fefefe}.button-group.secondary .button:focus,.button-group.secondary .button:hover{background-color:#5f5f5f;color:#fefefe}.button-group.success .button{background-color:#3adb76;color:#fefefe}.button-group.success .button:focus,.button-group.success .button:hover{background-color:#22bb5b;color:#fefefe}.button-group.warning .button{background-color:#ffae00;color:#fefefe}.button-group.warning .button:focus,.button-group.warning .button:hover{background-color:#cc8b00;color:#fefefe}.button-group.alert .button{background-color:#ec5840;color:#fefefe}.button-group.alert .button:focus,.button-group.alert .button:hover{background-color:#da3116;color:#fefefe}.button-group.stacked .button,.button-group.stacked-for-medium .button,.button-group.stacked-for-small .button{width:100%}.button-group.stacked .button:last-child,.button-group.stacked-for-medium .button:last-child,.button-group.stacked-for-small .button:last-child{margin-bottom:0}@media screen and (min-width:40em){.button-group.stacked-for-small .button{width:auto;margin-bottom:0}}@media screen and (min-width:64em){.button-group.stacked-for-medium .button{width:auto;margin-bottom:0}}@media screen and (max-width:39.9375em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}.callout{margin:0 0 1rem;padding:1rem;border:1px solid rgba(10,10,10,.25);border-radius:0;position:relative;color:#0a0a0a;background-color:#fff}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#def0fc}.callout.secondary{background-color:#ebebeb}.callout.success{background-color:#e1faea}.callout.warning{background-color:#fff3d9}.callout.alert{background-color:#fce6e2}.callout.small{padding:.5rem}.callout.large{padding:3rem}.close-button{position:absolute;color:#8a8a8a;right:1rem;top:.5rem;font-size:2em;line-height:1;cursor:pointer}[data-whatinput=mouse] .close-button,[data-whatinput=mouse] .dropdown.menu a,[data-whatinput=mouse] .menu>li{outline:0}.close-button:focus,.close-button:hover{color:#0a0a0a}.menu{margin:0;list-style-type:none}.menu>li{display:table-cell}.menu>li>a{display:block;padding:.7rem 1rem;line-height:1}.menu a,.menu button,.menu input{margin-bottom:0}.menu>li,.menu>li>a i,.menu>li>a i+span,.menu>li>a img,.menu>li>a img+span,.menu>li>a svg,.menu>li>a svg+span{vertical-align:middle}.menu>li>a i,.menu>li>a img,.menu>li>a svg{margin-right:.25rem;display:inline-block}.menu.vertical>li{display:block}@media screen and (min-width:40em){.menu.medium-horizontal>li{display:table-cell}.menu.medium-vertical>li{display:block}}@media screen and (min-width:64em){.menu.large-horizontal>li{display:table-cell}.menu.large-vertical>li{display:block}}.menu.simple li{line-height:1;display:inline-block;margin-right:1rem}.menu.simple a{padding:0}.menu.align-right::after,.menu.align-right::before{content:' ';display:table}.menu.align-right::after{clear:both}.is-dropdown-menu.vertical.align-right,.menu.align-right>li{float:right}.menu.expanded{width:100%;display:table;table-layout:fixed}.menu.expanded>li:first-child:last-child{width:100%}.menu.icon-top>li>a i,.menu.icon-top>li>a img,.menu.icon-top>li>a svg{display:block;margin:0 auto .25rem}.menu.nested{margin-left:1rem}.menu .active>a{color:#fefefe;background:#2199e8}.menu-text{font-weight:700;color:inherit;line-height:1;padding-top:0;padding-bottom:0;padding:.7rem 1rem}.menu-centered,.menu.icon-top>li>a{text-align:center}.menu-centered>.menu,.menu-icon{display:inline-block}.menu-icon{position:relative;vertical-align:middle;cursor:pointer;width:20px;height:16px}.is-drilldown-submenu,.menu-icon::after{position:absolute;top:0;width:100%;background:#fefefe}.menu-icon::after{content:'';display:block;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;height:2px;left:0}.menu-icon:hover::after{background:#cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block!important}.is-drilldown-submenu{left:100%;z-index:-1;height:100%;transition:transform .15s linear}.is-drilldown-submenu.is-active{z-index:1;display:block;transform:translateX(-100%)}.is-drilldown-submenu.is-closing{transform:translateX(100%)}.is-drilldown-submenu-parent>a{position:relative}.is-drilldown-submenu-parent>a::after{content:'';display:block;width:0;height:0;border:inset 6px;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0;position:absolute;top:50%;margin-top:-6px;right:1rem}.js-drilldown-back>a::before{content:'';width:0;height:0;border:inset 6px;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0;display:inline-block;vertical-align:middle;margin-right:.75rem}.dropdown-pane{background-color:#fefefe;border:1px solid #cacaca;border-radius:0;display:block;font-size:1rem;padding:1rem;position:absolute;visibility:hidden;width:300px;z-index:10}.dropdown-pane.is-open{visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.dropdown.menu>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu>li.is-dropdown-submenu-parent>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a::after,.is-dropdown-submenu .is-dropdown-submenu-parent>a::after{right:14px;margin-top:-3px}.dropdown.menu.vertical>li.opens-left>a::after,.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.vertical>li.opens-right>a::after,.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}@media screen and (min-width:40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a::after{right:14px;margin-top:-3px}.dropdown.menu.medium-vertical>li.opens-left>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.medium-vertical>li.opens-right>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}@media screen and (min-width:64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a::after{right:14px;margin-top:-3px}.dropdown.menu.large-vertical>li.opens-left>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.large-vertical>li.opens-right>a::after{content:'';display:block;width:0;height:0;border:inset 5px;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;left:auto;right:0}.is-dropdown-menu.vertical{width:100px}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a::after{position:absolute;top:50%;right:5px;margin-top:-2px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{left:auto;right:100%}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{display:none;position:absolute;top:0;left:100%;min-width:200px;z-index:1;background:#fefefe;border:1px solid #cacaca}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.flex-video{position:relative;height:0;padding-bottom:75%;margin-bottom:1rem;overflow:hidden}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.flex-video.widescreen{padding-bottom:56.25%}.flex-video.vimeo{padding-top:0}.label{display:inline-block;padding:.33333rem .5rem;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;border-radius:0;background:#2199e8;color:#fefefe}.label.secondary{background:#777;color:#fefefe}.label.success{background:#3adb76;color:#fefefe}.label.warning{background:#ffae00;color:#fefefe}.label.alert{background:#ec5840;color:#fefefe}.media-object{margin-bottom:1rem;display:block}@media screen and (max-width:39.9375em){.media-object.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;display:block}.media-object.stack-for-small .media-object-section img{width:100%}}.media-object-section{display:table-cell;vertical-align:top}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}.media-object-section.middle{vertical-align:middle}.media-object-section.bottom{vertical-align:bottom}body,html{height:100%}.off-canvas-wrapper{width:100%;overflow-x:hidden;position:relative;backface-visibility:hidden;-webkit-overflow-scrolling:auto}.off-canvas-wrapper-inner{position:relative;width:100%;transition:transform .5s ease}.off-canvas-wrapper-inner::after,.off-canvas-wrapper-inner::before{content:' ';display:table}.off-canvas-wrapper-inner::after{clear:both}.off-canvas-content{min-height:100%;background:#fefefe;transition:transform .5s ease;backface-visibility:hidden;z-index:1;padding-bottom:.1px;box-shadow:0 0 10px rgba(10,10,10,.5)}.js-off-canvas-exit{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(254,254,254,.25);cursor:pointer;transition:background .5s ease}.off-canvas{position:absolute;background:#e6e6e6;z-index:-1;max-height:100%;overflow-y:auto;transform:translateX(0)}[data-whatinput=mouse] .off-canvas{outline:0}.off-canvas.position-left{left:-250px;top:0;width:250px}.is-open-left{transform:translateX(250px)}.off-canvas.position-right{right:-250px;top:0;width:250px}.is-open-right{transform:translateX(-250px)}@media screen and (min-width:40em){.position-left.reveal-for-medium{left:0;z-index:auto;position:fixed}.position-left.reveal-for-medium~.off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{right:0;z-index:auto;position:fixed}.position-right.reveal-for-medium~.off-canvas-content{margin-right:250px}}@media screen and (min-width:64em){.position-left.reveal-for-large{left:0;z-index:auto;position:fixed}.position-left.reveal-for-large~.off-canvas-content{margin-left:250px}.position-right.reveal-for-large{right:0;z-index:auto;position:fixed}.position-right.reveal-for-large~.off-canvas-content{margin-right:250px}}.orbit,.orbit-container{position:relative}.orbit-container{margin:0;overflow:hidden;list-style:none}.orbit-slide{width:100%;max-height:100%}.orbit-slide.no-motionui.is-active{top:0;left:0}.orbit-figure{margin:0}.orbit-image{margin:0;width:100%;max-width:100%}.orbit-caption,.orbit-next,.orbit-previous{position:absolute;padding:1rem;color:#fefefe}.orbit-caption{bottom:0;width:100%;margin-bottom:0;background-color:rgba(10,10,10,.5)}.orbit-next,.orbit-previous{top:50%;transform:translateY(-50%);z-index:10}[data-whatinput=mouse] .orbit-next,[data-whatinput=mouse] .orbit-previous{outline:0}.orbit-next:active,.orbit-next:focus,.orbit-next:hover,.orbit-previous:active,.orbit-previous:focus,.orbit-previous:hover{background-color:rgba(10,10,10,.5)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{position:relative;margin-top:.8rem;margin-bottom:.8rem;text-align:center}[data-whatinput=mouse] .orbit-bullets{outline:0}.orbit-bullets button{width:1.2rem;height:1.2rem;margin:.1rem;background-color:#cacaca;border-radius:50%}.orbit-bullets button.is-active,.orbit-bullets button:hover{background-color:#8a8a8a}.pagination{margin-left:0;margin-bottom:1rem}.pagination::after,.pagination::before{content:' ';display:table}.pagination::after{clear:both}.pagination li{font-size:.875rem;margin-right:.0625rem;border-radius:0;display:none}.pagination li:first-child,.pagination li:last-child{display:inline-block}@media screen and (min-width:40em){.pagination li{display:inline-block}}.pagination a,.pagination button{color:#0a0a0a;display:block;padding:.1875rem .625rem;border-radius:0}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{padding:.1875rem .625rem;background:#2199e8;color:#fefefe;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#cacaca;cursor:not-allowed}.pagination .disabled:hover,.tabs.simple>li>a:hover,table tfoot tr,table thead tr{background:0 0}.pagination .ellipsis::after{content:'\2026';padding:.1875rem .625rem;color:#0a0a0a}.pagination-previous a::before,.pagination-previous.disabled::before{content:'\00ab';display:inline-block;margin-right:.5rem}.pagination-next a::after,.pagination-next.disabled::after{content:'\00bb';display:inline-block;margin-left:.5rem}.progress{background-color:#cacaca;height:1rem;margin-bottom:1rem;border-radius:0}.progress.primary .progress-meter{background-color:#2199e8}.progress.secondary .progress-meter{background-color:#777}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffae00}.progress.alert .progress-meter{background-color:#ec5840}.progress-meter{position:relative;display:block;width:0%;height:100%;background-color:#2199e8}.progress-meter-text{top:50%;left:50%;transform:translate(-50%,-50%);position:absolute;margin:0;font-size:.75rem;font-weight:700;color:#fefefe;white-space:nowrap}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#e6e6e6;cursor:pointer;user-select:none;touch-action:none}.slider-fill,.slider-handle{position:absolute;left:0;display:inline-block;transition:all .2s ease-in-out}.slider-fill{max-width:100%;top:0;height:.5rem;background-color:#cacaca}.slider-fill.is-dragging{transition:all 0s linear}.slider-handle{top:50%;transform:translateY(-50%);z-index:1;width:1.4rem;height:1.4rem;background-color:#2199e8;touch-action:manipulation;border-radius:0}[data-whatinput=mouse] .slider-handle{outline:0}.slider-handle:hover{background-color:#1583cc}.slider-handle.is-dragging{transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;transform:scale(1,-1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;transform:translateX(-50%)}.sticky-container{position:relative}.sticky{position:absolute;z-index:0;transform:translate3d(0,0,0)}.sticky.is-stuck{position:fixed;z-index:5}.sticky.is-stuck.is-at-top{top:0}.sticky.is-anchored.is-at-bottom,.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:absolute;left:auto;right:auto}body.is-reveal-open{overflow:hidden}html.is-reveal-open,html.is-reveal-open body{height:100%;overflow:hidden;user-select:none}.reveal-overlay{display:none;position:fixed;top:0;bottom:0;left:0;right:0;z-index:1005;background-color:rgba(10,10,10,.45);overflow-y:scroll}.reveal{display:none;z-index:1006;padding:1rem;border:1px solid #cacaca;background-color:#fefefe;border-radius:0;position:relative;top:100px;margin-left:auto;margin-right:auto;overflow-y:auto}[data-whatinput=mouse] .reveal{outline:0}@media screen and (min-width:40em){.reveal{min-height:0}}.reveal .column,.reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media screen and (min-width:40em){.reveal{width:600px;max-width:75rem}.reveal .reveal{left:auto;right:auto;margin:0 auto}}.reveal.collapse,.tabs.simple>li>a{padding:0}@media screen and (min-width:40em){.reveal.tiny{width:30%;max-width:75rem}.reveal.large,.reveal.small{width:50%;max-width:75rem}.reveal.large{width:90%}}.reveal.full{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}@media screen and (max-width:39.9375em){.reveal{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.switch{height:2rem;margin-bottom:1rem;outline:0;position:relative;user-select:none;color:#fefefe;font-weight:700;font-size:.875rem}.switch-input{opacity:0;position:absolute;margin-bottom:0}.switch-paddle,.switch-paddle::after{display:block;transition:all .25s ease-out;border-radius:0}.switch-paddle{background:#cacaca;cursor:pointer;color:inherit;font-weight:inherit;position:relative;width:4rem;height:2rem}input+.switch-paddle{margin:0}.switch-paddle::after{background:#fefefe;content:'';position:absolute;height:1.5rem;left:.25rem;top:.25rem;width:1.5rem;transform:translate3d(0,0,0)}input:checked~.switch-paddle{background:#2199e8}input:checked~.switch-paddle::after{left:2.25rem}[data-whatinput=mouse] input:focus~.switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny{height:1.5rem}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle::after{width:1rem;height:1rem}.switch.tiny input:checked~.switch-paddle::after{left:1.75rem}.switch.small{height:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle::after{width:1.25rem;height:1.25rem}.switch.small input:checked~.switch-paddle::after{left:2rem}.switch.large{height:2.5rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle::after{width:2rem;height:2rem}.switch.large input:checked~.switch-paddle::after{left:2.75rem}table tbody,table tfoot,table thead{border:1px solid #f1f1f1;background-color:#fefefe}table caption{font-weight:700;padding:.5rem .625rem .625rem}table thead{background:#f8f8f8;color:#0a0a0a}table tfoot{background:#f1f1f1;color:#0a0a0a}table tfoot td,table tfoot th,table thead td,table thead th{padding:.5rem .625rem .625rem;font-weight:700;text-align:left}table tbody tr:nth-child(even){background-color:#f1f1f1}table tbody td,table tbody th{padding:.5rem .625rem .625rem}@media screen and (max-width:63.9375em){table.stack tfoot,table.stack thead{display:none}table.stack td,table.stack th,table.stack tr{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover tr:hover{background-color:#f9f9f9}table.hover tr:nth-of-type(even):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.table-scroll table,.top-bar input.button{width:auto}.tabs{margin:0;list-style-type:none;background:#fefefe;border:1px solid #e6e6e6}.tabs::after,.tabs::before{content:' ';display:table}.tabs::after{clear:both}.tabs.vertical>li{width:auto;float:none;display:block}.tabs.primary{background:#2199e8}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:focus,.tabs.primary>li>a:hover{background:#1893e4}.tabs-title{float:left}.tabs-title>a{display:block;padding:1.25rem 1.5rem;line-height:1;font-size:.75rem}.tabs-title>a:hover{background:#fefefe}.tabs-title>a:focus,.tabs-title>a[aria-selected=true]{background:#e6e6e6}.tabs-content{background:#fefefe;transition:all .5s ease;border:1px solid #e6e6e6;border-top:0}.tabs-content.vertical{border:1px solid #e6e6e6;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{border:solid 4px #fefefe;box-shadow:0 0 0 1px rgba(10,10,10,.2);display:inline-block;line-height:0;max-width:100%;transition:box-shadow 200ms ease-out;border-radius:0;margin-bottom:1rem}.thumbnail:focus,.thumbnail:hover{box-shadow:0 0 6px 1px rgba(33,153,232,.5)}.title-bar{background:#0a0a0a;color:#fefefe;padding:.5rem}.title-bar::after,.title-bar::before{content:' ';display:table}.title-bar::after{clear:both}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left{float:left}.title-bar-right{float:right;text-align:right}.title-bar-title{font-weight:700;vertical-align:middle;display:inline-block}.has-tip,.menu-icon.dark{position:relative;display:inline-block}.menu-icon.dark{vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon.dark::after{content:'';position:absolute;display:block;width:100%;height:2px;background:#0a0a0a;top:0;left:0;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a}.menu-icon.dark:hover::after{background:#8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.has-tip{border-bottom:dotted 1px #8a8a8a;font-weight:700;cursor:help}.tooltip{background-color:#0a0a0a;color:#fefefe;font-size:80%;padding:.75rem;position:absolute;z-index:10;top:calc(100% + .6495rem);max-width:10rem!important;border-radius:0}.tooltip::before{content:'';display:block;width:0;height:0;border:inset .75rem;border-color:transparent transparent #0a0a0a;border-bottom-style:solid;border-top-width:0;bottom:100%;position:absolute;left:50%;transform:translateX(-50%)}.tooltip.left::before,.tooltip.right::before,.tooltip.top::before{content:'';display:block;width:0;height:0;border:inset .75rem;bottom:auto}.tooltip.top::before{border-color:#0a0a0a transparent transparent;border-top-style:solid;border-bottom-width:0;top:100%}.tooltip.left::before,.tooltip.right::before{top:50%;transform:translateY(-50%)}.tooltip.left::before{border-left-style:solid;border-right-width:0;border-color:transparent transparent transparent #0a0a0a;left:100%}.tooltip.right::before{border-color:transparent #0a0a0a transparent transparent;border-right-style:solid;border-left-width:0;left:auto;right:100%}.top-bar{padding:.5rem}.top-bar::after,.top-bar::before{content:' ';display:table}.top-bar::after{clear:both}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar .top-bar-left,.top-bar .top-bar-right{width:100%}@media screen and (min-width:40em){.top-bar .top-bar-left,.top-bar .top-bar-right{width:auto}}@media screen and (max-width:63.9375em){.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{width:100%}}@media screen and (max-width:74.9375em){.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{width:100%}}.top-bar-title{float:left;margin-right:1rem}.top-bar-left{float:left}.top-bar-right{float:right}.hide{display:none!important}.invisible{visibility:hidden}@media screen and (max-width:39.9375em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:40em){.show-for-small-only{display:none!important}}@media screen and (min-width:40em){.hide-for-medium{display:none!important}}@media screen and (max-width:39.9375em){.show-for-medium{display:none!important}}@media screen and (min-width:40em) and (max-width:63.9375em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:39.9375em),screen and (min-width:64em){.show-for-medium-only{display:none!important}}@media screen and (min-width:64em){.hide-for-large{display:none!important}}@media screen and (max-width:63.9375em){.show-for-large{display:none!important}}@media screen and (min-width:64em) and (max-width:74.9375em){.hide-for-large-only{display:none!important}}@media screen and (max-width:63.9375em),screen and (min-width:75em){.show-for-large-only{display:none!important}}.show-for-sr,.show-on-focus{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.show-on-focus:active,.show-on-focus:focus{position:static!important;height:auto;width:auto;overflow:visible;clip:auto}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{display:none!important}}.hide-for-landscape,.show-for-portrait{display:none!important}@media screen and (orientation:landscape){.hide-for-landscape,.show-for-portrait{display:none!important}}@media screen and (orientation:portrait){.hide-for-landscape,.show-for-portrait{display:block!important}}.float-left{float:left!important}.float-right{float:right!important}.float-center{display:block;margin-left:auto;margin-right:auto}.clearfix::after,.clearfix::before{content:' ';display:table}.clearfix::after{clear:both}
\ No newline at end of file
diff --git a/libraries/foundation-6/customizer/complete.json b/libraries/foundation-6/customizer/complete.json
new file mode 100755
index 00000000..9244c561
--- /dev/null
+++ b/libraries/foundation-6/customizer/complete.json
@@ -0,0 +1,46 @@
+{
+  "modules": [
+    "grid",
+    "typography",
+    "button",
+    "forms",
+    "abide",
+    "accordion",
+    "accordion_menu",
+    "badge",
+    "breadcrumbs",
+    "button_group",
+    "callout",
+    "close_button",
+    "menu",
+    "menu_icon",
+    "drilldown_menu",
+    "dropdown",
+    "dropdown_menu",
+    "equalizer",
+    "flex_video",
+    "interchange",
+    "label",
+    "magellan",
+    "media_object",
+    "off_canvas",
+    "orbit",
+    "pagination",
+    "progress_bar",
+    "responsive_menu",
+    "responsive_toggle",
+    "reveal",
+    "slider",
+    "sticky",
+    "switch",
+    "table",
+    "tabs",
+    "thumbnail",
+    "title_bar",
+    "toggler",
+    "tooltip",
+    "top_bar",
+    "visibility",
+    "float"
+  ]
+}
diff --git a/libraries/foundation-6/customizer/config.yml b/libraries/foundation-6/customizer/config.yml
new file mode 100755
index 00000000..de290ce1
--- /dev/null
+++ b/libraries/foundation-6/customizer/config.yml
@@ -0,0 +1,218 @@
+# This is the customizer's master module list.
+# Each item in the list is a module with any of these keys:
+#   - sass: Name of the CSS export. 'grid' becomes '@include foundation-grid;'
+#   - js: Name of the JavaScript file. 'accordion' becomes 'foundation.accordion.js'
+#   - js_utils: Names of plugin dependencies. 'box' becomes 'foundation.util.box.js'
+
+grid:
+  sass: grid
+
+flex_grid:
+  sass: flex-grid
+
+flex_classes:
+  sass: flex-classes
+
+typography:
+  sass: typography
+
+button:
+  sass: button
+
+forms:
+  sass: forms
+
+input_range:
+  sass: range-input
+
+abide:
+  js: abide
+
+accordion:
+  sass: accordion
+  js: accordion
+  js_utils:
+    - keyboard
+    - motion
+
+accordion_menu:
+  sass: accordion-menu
+  js: accordionMenu
+  js_utils:
+    - keyboard
+    - motion
+    - nest
+
+badge:
+  sass: badge
+
+breadcrumbs:
+  sass: breadcrumbs
+
+button_group:
+  sass: button-group
+
+callout:
+  sass: callout
+
+close_button:
+  sass: close-button
+
+drilldown_menu:
+  sass: drilldown-menu
+  js: drilldown
+  js_utils:
+    - keyboard
+    - motion
+    - nest
+
+dropdown:
+  sass: dropdown
+  js: dropdown
+  js_utils:
+    - keyboard
+    - box
+    - triggers
+
+dropdown_menu:
+  sass: dropdown-menu
+  js: dropdownMenu
+  js_utils:
+    - keyboard
+    - motion
+    - box
+    - nest
+
+equalizer:
+  js: equalizer
+
+flex_video:
+  sass: flex-video
+
+interchange:
+  js: interchange
+  js_utils:
+    - triggers
+    - timerAndImageLoader
+
+label:
+  sass: label
+
+magellan:
+  js: magellan
+  js_utils:
+    - motion
+
+media_object:
+  sass: media-object
+
+menu:
+  sass: menu
+
+menu_icon:
+  sass: menu-icon
+
+off_canvas:
+  sass: off-canvas
+  js: offcanvas
+
+orbit:
+  sass: orbit
+  js: orbit
+  js_utils:
+    - motion
+    - timerAndImageLoader
+    - keyboard
+    - touch
+
+pagination:
+  sass: pagination
+
+progress_bar:
+  sass: progress-bar
+
+progress_element:
+  sass: progress-element
+
+responsive_menu:
+  js: responsiveMenu
+  js_utils:
+    - triggers
+    - mediaQuery
+
+responsive_toggle:
+  js: responsiveToggle
+  js_utils:
+    - mediaQuery
+
+meter_element:
+  sass: meter-element
+
+slider:
+  sass: slider
+  js: slider
+  js_utils:
+    - box
+    - motion
+    - triggers
+    - mediaQuery
+    - keyboard
+
+sticky:
+  sass: sticky
+  js: sticky
+  js_utils:
+    - triggers
+    - mediaQuery
+
+reveal:
+  sass: reveal
+  js: reveal
+  js_utils:
+    - box
+    - motion
+    - triggers
+    - mediaQuery
+    - keyboard
+
+switch:
+  sass: switch
+
+table:
+  sass: table
+
+tabs:
+  sass: tabs
+  js: tabs
+  js_utils:
+    - keyboard
+    - timerAndImageLoader
+
+thumbnail:
+  sass: thumbnail
+
+title_bar:
+  sass: title-bar
+
+toggler:
+  js: toggler
+  js_utils:
+    - motion
+
+tooltip:
+  sass: tooltip
+  js: tooltip
+  js_utils:
+    - box
+    - triggers
+    - mediaQuery
+    - motion
+
+top_bar:
+  sass: top-bar
+
+visibility:
+  sass: visibility-classes
+
+float:
+  sass: float-classes
diff --git a/libraries/foundation-6/customizer/essential.json b/libraries/foundation-6/customizer/essential.json
new file mode 100755
index 00000000..05ed3630
--- /dev/null
+++ b/libraries/foundation-6/customizer/essential.json
@@ -0,0 +1,11 @@
+{
+  "modules": [
+    "typography",
+    "grid",
+    "forms",
+    "button",
+    "callout",
+    "reveal"
+  ],
+  "variables": {}
+}
diff --git a/libraries/foundation-6/index.html b/libraries/foundation-6/customizer/index.html
old mode 100644
new mode 100755
similarity index 100%
rename from libraries/foundation-6/index.html
rename to libraries/foundation-6/customizer/index.html
diff --git a/libraries/foundation-6/customizer/lib/index.js b/libraries/foundation-6/customizer/lib/index.js
new file mode 100755
index 00000000..ba43e9a8
--- /dev/null
+++ b/libraries/foundation-6/customizer/lib/index.js
@@ -0,0 +1,4 @@
+module.exports = {
+  sass: require('./sass'),
+  js: require('./js')
+}
diff --git a/libraries/foundation-6/customizer/lib/js.js b/libraries/foundation-6/customizer/lib/js.js
new file mode 100755
index 00000000..e7763d1f
--- /dev/null
+++ b/libraries/foundation-6/customizer/lib/js.js
@@ -0,0 +1,45 @@
+var empty = require('is-empty-object');
+var unique = require('array-uniq');
+
+/**
+ * Creates an array of file paths that can be passed to `gulp.src()`.
+ * @param {Object} config - Customizer configuration file.
+ * @param {String[]} modules - Modules to include in the file list.
+ * @returns {String[]} Array of file paths.
+ */
+module.exports = function(config, modules) {
+  var files = ['core'];
+  var utils = ['mediaQuery'];
+  var libraries = [];
+
+  if (empty(modules)) {
+    modules = Object.keys(config);
+  }
+
+  for (var i in modules) {
+    var name = modules[i];
+
+    // Check if the module has JS files
+    if (config[name] && config[name].js) {
+      libraries.push(config[name].js);
+
+      // Check if the module has dependencies
+      if (config[name].js_utils) {
+        utils = utils.concat(config[name].js_utils);
+      }
+    }
+  }
+
+  // Prune duplicate entries from the list of utility files
+  utils = unique(utils).map(function(name) {
+    return 'util.' + name;
+  });
+
+  // Combine foundation.core.js, utilities, and plugins into one array
+  files = files.concat(utils, libraries);
+
+  // Format the modules as paths
+  return files.map(function(file) {
+    return 'js/foundation.' + file + '.js';
+  });
+}
diff --git a/libraries/foundation-6/customizer/lib/sass.js b/libraries/foundation-6/customizer/lib/sass.js
new file mode 100755
index 00000000..1df0a107
--- /dev/null
+++ b/libraries/foundation-6/customizer/lib/sass.js
@@ -0,0 +1,76 @@
+var empty = require('is-empty-object');
+var format = require('util').format;
+var multiline = require('multiline').stripIndent;
+
+var SASS_TEMPLATE = multiline(function() {/*
+  @charset 'utf-8';
+
+  // Variables go here
+  %s
+
+  // Core imports go here
+  @import 'foundation';
+  @import 'motion-ui';
+
+  // Modules go here
+  %s
+
+  // Motion UI goes here
+  @include motion-ui-transitions;
+  @include motion-ui-animations;
+*/});
+
+/**
+ * Generates an entry point Sass file with a custom list of CSS exports and Sass variables.
+ * @param {Object} config - Customizer configuration object.
+ * @param {String[]} modules - Modules to include CSS for.
+ * @param {Object} variables - Sass variable overrides to include. The key is the name of the variable, and the value is the value.
+ * @returns {String} Formatted Sass file.
+ */
+module.exports = function(config, modules, variables) {
+  var variableList = [];
+  var colorList = {};
+  var exportList = ['@include foundation-global-styles;'];
+
+  if (empty(modules)) {
+    modules = Object.keys(config);
+  }
+
+  // Create variable overrides code
+  for (var i in variables) {
+    var name = i.replace('_', '-');
+    if (name.match(/-color$/)) {
+      var key = name.replace('-color', '');
+      colorList[key] = variables[i];
+    }
+    else {
+      variableList.push(format('$%s: %s;', name, variables[i]));
+    }
+  }
+
+  if (!empty(colorList)) {
+    variableList.push(createPaletteMap(colorList));
+  }
+
+  // Create module exports with @include
+  for (var i in modules) {
+    var name = modules[i];
+
+    if (config[name] && config[name].sass) {
+      exportList.push(format('@include foundation-%s;', config[name].sass));
+    }
+  }
+
+  return format(SASS_TEMPLATE, variableList.join('\n'), exportList.join('\n'))
+}
+
+function createPaletteMap(colors) {
+  var output = '$foundation-palette: (%s\n);';
+  var keys = '';
+
+  for (var i in colors) {
+    keys += format('\n  %s: %s,', i, colors[i]);
+  }
+
+  return format(output, keys);
+}
diff --git a/libraries/foundation-6/dist/foundation-flex.css b/libraries/foundation-6/dist/foundation-flex.css
new file mode 100755
index 00000000..3e7e2886
--- /dev/null
+++ b/libraries/foundation-6/dist/foundation-flex.css
@@ -0,0 +1,4028 @@
+@charset "UTF-8";
+/**
+ * Foundation for Sites by ZURB
+ * Version 6.2.3
+ * foundation.zurb.com
+ * Licensed under MIT Open Source
+ */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+/**
+   * 1. Set default font family to sans-serif.
+   * 2. Prevent iOS and IE text size adjust after device orientation change,
+   *    without disabling user zoom.
+   */
+html {
+  font-family: sans-serif;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */ }
+
+/**
+   * Remove default margin.
+   */
+body {
+  margin: 0; }
+
+/* HTML5 display definitions
+     ========================================================================== */
+/**
+   * Correct `block` display not defined for any HTML5 element in IE 8/9.
+   * Correct `block` display not defined for `details` or `summary` in IE 10/11
+   * and Firefox.
+   * Correct `block` display not defined for `main` in IE 11.
+   */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+  display: block; }
+
+/**
+   * 1. Correct `inline-block` display not defined in IE 8/9.
+   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+   */
+audio,
+canvas,
+progress,
+video {
+  display: inline-block;
+  /* 1 */
+  vertical-align: baseline;
+  /* 2 */ }
+
+/**
+   * Prevent modern browsers from displaying `audio` without controls.
+   * Remove excess height in iOS 5 devices.
+   */
+audio:not([controls]) {
+  display: none;
+  height: 0; }
+
+/**
+   * Address `[hidden]` styling not present in IE 8/9/10.
+   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
+   */
+[hidden],
+template {
+  display: none; }
+
+/* Links
+     ========================================================================== */
+/**
+   * Remove the gray background color from active links in IE 10.
+   */
+a {
+  background-color: transparent; }
+
+/**
+   * Improve readability of focused elements when they are also in an
+   * active/hover state.
+   */
+a:active,
+a:hover {
+  outline: 0; }
+
+/* Text-level semantics
+     ========================================================================== */
+/**
+   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+   */
+abbr[title] {
+  border-bottom: 1px dotted; }
+
+/**
+   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+   */
+b,
+strong {
+  font-weight: bold; }
+
+/**
+   * Address styling not present in Safari and Chrome.
+   */
+dfn {
+  font-style: italic; }
+
+/**
+   * Address variable `h1` font-size and margin within `section` and `article`
+   * contexts in Firefox 4+, Safari, and Chrome.
+   */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0; }
+
+/**
+   * Address styling not present in IE 8/9.
+   */
+mark {
+  background: #ff0;
+  color: #000; }
+
+/**
+   * Address inconsistent and variable font size in all browsers.
+   */
+small {
+  font-size: 80%; }
+
+/**
+   * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+   */
+sub,
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline; }
+
+sup {
+  top: -0.5em; }
+
+sub {
+  bottom: -0.25em; }
+
+/* Embedded content
+     ========================================================================== */
+/**
+   * Remove border when inside `a` element in IE 8/9/10.
+   */
+img {
+  border: 0; }
+
+/**
+   * Correct overflow not hidden in IE 9/10/11.
+   */
+svg:not(:root) {
+  overflow: hidden; }
+
+/* Grouping content
+     ========================================================================== */
+/**
+   * Address margin not present in IE 8/9 and Safari.
+   */
+figure {
+  margin: 1em 40px; }
+
+/**
+   * Address differences between Firefox and other browsers.
+   */
+hr {
+  -webkit-box-sizing: content-box;
+          box-sizing: content-box;
+  height: 0; }
+
+/**
+   * Contain overflow in all browsers.
+   */
+pre {
+  overflow: auto; }
+
+/**
+   * Address odd `em`-unit font size rendering in all browsers.
+   */
+code,
+kbd,
+pre,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em; }
+
+/* Forms
+     ========================================================================== */
+/**
+   * Known limitation: by default, Chrome and Safari on OS X allow very limited
+   * styling of `select`, unless a `border` property is set.
+   */
+/**
+   * 1. Correct color not being inherited.
+   *    Known issue: affects color of disabled elements.
+   * 2. Correct font properties not being inherited.
+   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+   */
+button,
+input,
+optgroup,
+select,
+textarea {
+  color: inherit;
+  /* 1 */
+  font: inherit;
+  /* 2 */
+  margin: 0;
+  /* 3 */ }
+
+/**
+   * Address `overflow` set to `hidden` in IE 8/9/10/11.
+   */
+button {
+  overflow: visible; }
+
+/**
+   * Address inconsistent `text-transform` inheritance for `button` and `select`.
+   * All other form control elements do not inherit `text-transform` values.
+   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+   * Correct `select` style inheritance in Firefox.
+   */
+button,
+select {
+  text-transform: none; }
+
+/**
+   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+   *    and `video` controls.
+   * 2. Correct inability to style clickable `input` types in iOS.
+   * 3. Improve usability and consistency of cursor style between image-type
+   *    `input` and others.
+   */
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */ }
+
+/**
+   * Re-set default cursor for disabled elements.
+   */
+button[disabled],
+html input[disabled] {
+  cursor: not-allowed; }
+
+/**
+   * Remove inner padding and border in Firefox 4+.
+   */
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  border: 0;
+  padding: 0; }
+
+/**
+   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+   * the UA stylesheet.
+   */
+input {
+  line-height: normal; }
+
+/**
+   * It's recommended that you don't attempt to style these elements.
+   * Firefox's implementation doesn't respect box-sizing, padding, or width.
+   *
+   * 1. Address box sizing set to `content-box` in IE 8/9/10.
+   * 2. Remove excess padding in IE 8/9/10.
+   */
+input[type="checkbox"],
+input[type="radio"] {
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */ }
+
+/**
+   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+   * `font-size` values of the `input`, it causes the cursor style of the
+   * decrement button to change from `default` to `text`.
+   */
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+  height: auto; }
+
+/**
+   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
+   */
+input[type="search"] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  -webkit-box-sizing: content-box;
+          box-sizing: content-box;
+  /* 2 */ }
+
+/**
+   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+   * Safari (but not Chrome) clips the cancel button when the search input has
+   * padding (and `textfield` appearance).
+   */
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none; }
+
+/**
+   * Define consistent border, margin, and padding.
+   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
+   */
+/* fieldset {
+    border: 1px solid #c0c0c0;
+    margin: 0 2px;
+    padding: 0.35em 0.625em 0.75em;
+  } */
+/**
+   * 1. Correct `color` not being inherited in IE 8/9/10/11.
+   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+   */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  /* 2 */ }
+
+/**
+   * Remove default vertical scrollbar in IE 8/9/10/11.
+   */
+textarea {
+  overflow: auto; }
+
+/**
+   * Don't inherit the `font-weight` (applied by a rule above).
+   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+   */
+optgroup {
+  font-weight: bold; }
+
+/* Tables
+     ========================================================================== */
+/**
+   * Remove most spacing between table cells.
+   */
+table {
+  border-collapse: collapse;
+  border-spacing: 0; }
+
+td,
+th {
+  padding: 0; }
+
+.foundation-mq {
+  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }
+
+html {
+  font-size: 100%;
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box; }
+
+*,
+*::before,
+*::after {
+  -webkit-box-sizing: inherit;
+          box-sizing: inherit; }
+
+body {
+  padding: 0;
+  margin: 0;
+  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
+  font-weight: normal;
+  line-height: 1.5;
+  color: #0a0a0a;
+  background: #fefefe;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale; }
+
+img {
+  max-width: 100%;
+  height: auto;
+  -ms-interpolation-mode: bicubic;
+  display: inline-block;
+  vertical-align: middle; }
+
+textarea {
+  height: auto;
+  min-height: 50px;
+  border-radius: 0; }
+
+select {
+  width: 100%;
+  border-radius: 0; }
+
+#map_canvas img,
+#map_canvas embed,
+#map_canvas object,
+.map_canvas img,
+.map_canvas embed,
+.map_canvas object,
+.mqa-display img,
+.mqa-display embed,
+.mqa-display object {
+  max-width: none !important; }
+
+button {
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  background: transparent;
+  padding: 0;
+  border: 0;
+  border-radius: 0;
+  line-height: 1; }
+  [data-whatinput='mouse'] button {
+    outline: 0; }
+
+.is-visible {
+  display: block !important; }
+
+.is-hidden {
+  display: none !important; }
+
+.row {
+  max-width: 75rem;
+  margin-left: auto;
+  margin-right: auto;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-flow: row wrap;
+      -ms-flex-flow: row wrap;
+          flex-flow: row wrap; }
+  .row .row {
+    max-width: none;
+    margin-left: -0.625rem;
+    margin-right: -0.625rem; }
+    @media screen and (min-width: 40em) {
+      .row .row {
+        margin-left: -0.9375rem;
+        margin-right: -0.9375rem; } }
+  .row.expanded {
+    max-width: none; }
+  .row.collapse > .column, .row.collapse > .columns {
+    padding-left: 0;
+    padding-right: 0; }
+
+.column, .columns {
+  -webkit-box-flex: 1;
+  -webkit-flex: 1 1 0px;
+      -ms-flex: 1 1 0px;
+          flex: 1 1 0px;
+  padding-left: 0.625rem;
+  padding-right: 0.625rem;
+  min-width: initial; }
+  @media screen and (min-width: 40em) {
+    .column, .columns {
+      padding-left: 0.9375rem;
+      padding-right: 0.9375rem; } }
+
+.column.row.row, .row.row.columns {
+  float: none;
+  display: block; }
+  .row .column.row.row, .row .row.row.columns {
+    padding-left: 0;
+    padding-right: 0;
+    margin-left: 0;
+    margin-right: 0; }
+
+.small-1 {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 8.33333%;
+      -ms-flex: 0 0 8.33333%;
+          flex: 0 0 8.33333%;
+  max-width: 8.33333%; }
+
+.small-offset-0 {
+  margin-left: 0%; }
+
+.small-2 {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 16.66667%;
+      -ms-flex: 0 0 16.66667%;
+          flex: 0 0 16.66667%;
+  max-width: 16.66667%; }
+
+.small-offset-1 {
+  margin-left: 8.33333%; }
+
+.small-3 {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 25%;
+      -ms-flex: 0 0 25%;
+          flex: 0 0 25%;
+  max-width: 25%; }
+
+.small-offset-2 {
+  margin-left: 16.66667%; }
+
+.small-4 {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 33.33333%;
+      -ms-flex: 0 0 33.33333%;
+          flex: 0 0 33.33333%;
+  max-width: 33.33333%; }
+
+.small-offset-3 {
+  margin-left: 25%; }
+
+.small-5 {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 41.66667%;
+      -ms-flex: 0 0 41.66667%;
+          flex: 0 0 41.66667%;
+  max-width: 41.66667%; }
+
+.small-offset-4 {
+  margin-left: 33.33333%; }
+
+.small-6 {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 50%;
+      -ms-flex: 0 0 50%;
+          flex: 0 0 50%;
+  max-width: 50%; }
+
+.small-offset-5 {
+  margin-left: 41.66667%; }
+
+.small-7 {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 58.33333%;
+      -ms-flex: 0 0 58.33333%;
+          flex: 0 0 58.33333%;
+  max-width: 58.33333%; }
+
+.small-offset-6 {
+  margin-left: 50%; }
+
+.small-8 {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 66.66667%;
+      -ms-flex: 0 0 66.66667%;
+          flex: 0 0 66.66667%;
+  max-width: 66.66667%; }
+
+.small-offset-7 {
+  margin-left: 58.33333%; }
+
+.small-9 {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 75%;
+      -ms-flex: 0 0 75%;
+          flex: 0 0 75%;
+  max-width: 75%; }
+
+.small-offset-8 {
+  margin-left: 66.66667%; }
+
+.small-10 {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 83.33333%;
+      -ms-flex: 0 0 83.33333%;
+          flex: 0 0 83.33333%;
+  max-width: 83.33333%; }
+
+.small-offset-9 {
+  margin-left: 75%; }
+
+.small-11 {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 91.66667%;
+      -ms-flex: 0 0 91.66667%;
+          flex: 0 0 91.66667%;
+  max-width: 91.66667%; }
+
+.small-offset-10 {
+  margin-left: 83.33333%; }
+
+.small-12 {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 100%;
+      -ms-flex: 0 0 100%;
+          flex: 0 0 100%;
+  max-width: 100%; }
+
+.small-offset-11 {
+  margin-left: 91.66667%; }
+
+.small-order-1 {
+  -webkit-box-ordinal-group: 2;
+  -webkit-order: 1;
+      -ms-flex-order: 1;
+          order: 1; }
+
+.small-order-2 {
+  -webkit-box-ordinal-group: 3;
+  -webkit-order: 2;
+      -ms-flex-order: 2;
+          order: 2; }
+
+.small-order-3 {
+  -webkit-box-ordinal-group: 4;
+  -webkit-order: 3;
+      -ms-flex-order: 3;
+          order: 3; }
+
+.small-order-4 {
+  -webkit-box-ordinal-group: 5;
+  -webkit-order: 4;
+      -ms-flex-order: 4;
+          order: 4; }
+
+.small-order-5 {
+  -webkit-box-ordinal-group: 6;
+  -webkit-order: 5;
+      -ms-flex-order: 5;
+          order: 5; }
+
+.small-order-6 {
+  -webkit-box-ordinal-group: 7;
+  -webkit-order: 6;
+      -ms-flex-order: 6;
+          order: 6; }
+
+.small-up-1 {
+  -webkit-flex-wrap: wrap;
+      -ms-flex-wrap: wrap;
+          flex-wrap: wrap; }
+  .small-up-1 > .column, .small-up-1 > .columns {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 100%;
+        -ms-flex: 0 0 100%;
+            flex: 0 0 100%;
+    max-width: 100%; }
+
+.small-up-2 {
+  -webkit-flex-wrap: wrap;
+      -ms-flex-wrap: wrap;
+          flex-wrap: wrap; }
+  .small-up-2 > .column, .small-up-2 > .columns {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 50%;
+        -ms-flex: 0 0 50%;
+            flex: 0 0 50%;
+    max-width: 50%; }
+
+.small-up-3 {
+  -webkit-flex-wrap: wrap;
+      -ms-flex-wrap: wrap;
+          flex-wrap: wrap; }
+  .small-up-3 > .column, .small-up-3 > .columns {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 33.33333%;
+        -ms-flex: 0 0 33.33333%;
+            flex: 0 0 33.33333%;
+    max-width: 33.33333%; }
+
+.small-up-4 {
+  -webkit-flex-wrap: wrap;
+      -ms-flex-wrap: wrap;
+          flex-wrap: wrap; }
+  .small-up-4 > .column, .small-up-4 > .columns {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 25%;
+        -ms-flex: 0 0 25%;
+            flex: 0 0 25%;
+    max-width: 25%; }
+
+.small-up-5 {
+  -webkit-flex-wrap: wrap;
+      -ms-flex-wrap: wrap;
+          flex-wrap: wrap; }
+  .small-up-5 > .column, .small-up-5 > .columns {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 20%;
+        -ms-flex: 0 0 20%;
+            flex: 0 0 20%;
+    max-width: 20%; }
+
+.small-up-6 {
+  -webkit-flex-wrap: wrap;
+      -ms-flex-wrap: wrap;
+          flex-wrap: wrap; }
+  .small-up-6 > .column, .small-up-6 > .columns {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 16.66667%;
+        -ms-flex: 0 0 16.66667%;
+            flex: 0 0 16.66667%;
+    max-width: 16.66667%; }
+
+.small-up-7 {
+  -webkit-flex-wrap: wrap;
+      -ms-flex-wrap: wrap;
+          flex-wrap: wrap; }
+  .small-up-7 > .column, .small-up-7 > .columns {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 14.28571%;
+        -ms-flex: 0 0 14.28571%;
+            flex: 0 0 14.28571%;
+    max-width: 14.28571%; }
+
+.small-up-8 {
+  -webkit-flex-wrap: wrap;
+      -ms-flex-wrap: wrap;
+          flex-wrap: wrap; }
+  .small-up-8 > .column, .small-up-8 > .columns {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 12.5%;
+        -ms-flex: 0 0 12.5%;
+            flex: 0 0 12.5%;
+    max-width: 12.5%; }
+
+.small-collapse > .column, .small-collapse > .columns {
+  padding-left: 0;
+  padding-right: 0; }
+
+.small-uncollapse > .column, .small-uncollapse > .columns {
+  padding-left: 0.625rem;
+  padding-right: 0.625rem; }
+
+@media screen and (min-width: 40em) {
+  .medium-1 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 8.33333%;
+        -ms-flex: 0 0 8.33333%;
+            flex: 0 0 8.33333%;
+    max-width: 8.33333%; }
+  .medium-offset-0 {
+    margin-left: 0%; }
+  .medium-2 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 16.66667%;
+        -ms-flex: 0 0 16.66667%;
+            flex: 0 0 16.66667%;
+    max-width: 16.66667%; }
+  .medium-offset-1 {
+    margin-left: 8.33333%; }
+  .medium-3 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 25%;
+        -ms-flex: 0 0 25%;
+            flex: 0 0 25%;
+    max-width: 25%; }
+  .medium-offset-2 {
+    margin-left: 16.66667%; }
+  .medium-4 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 33.33333%;
+        -ms-flex: 0 0 33.33333%;
+            flex: 0 0 33.33333%;
+    max-width: 33.33333%; }
+  .medium-offset-3 {
+    margin-left: 25%; }
+  .medium-5 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 41.66667%;
+        -ms-flex: 0 0 41.66667%;
+            flex: 0 0 41.66667%;
+    max-width: 41.66667%; }
+  .medium-offset-4 {
+    margin-left: 33.33333%; }
+  .medium-6 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 50%;
+        -ms-flex: 0 0 50%;
+            flex: 0 0 50%;
+    max-width: 50%; }
+  .medium-offset-5 {
+    margin-left: 41.66667%; }
+  .medium-7 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 58.33333%;
+        -ms-flex: 0 0 58.33333%;
+            flex: 0 0 58.33333%;
+    max-width: 58.33333%; }
+  .medium-offset-6 {
+    margin-left: 50%; }
+  .medium-8 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 66.66667%;
+        -ms-flex: 0 0 66.66667%;
+            flex: 0 0 66.66667%;
+    max-width: 66.66667%; }
+  .medium-offset-7 {
+    margin-left: 58.33333%; }
+  .medium-9 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 75%;
+        -ms-flex: 0 0 75%;
+            flex: 0 0 75%;
+    max-width: 75%; }
+  .medium-offset-8 {
+    margin-left: 66.66667%; }
+  .medium-10 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 83.33333%;
+        -ms-flex: 0 0 83.33333%;
+            flex: 0 0 83.33333%;
+    max-width: 83.33333%; }
+  .medium-offset-9 {
+    margin-left: 75%; }
+  .medium-11 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 91.66667%;
+        -ms-flex: 0 0 91.66667%;
+            flex: 0 0 91.66667%;
+    max-width: 91.66667%; }
+  .medium-offset-10 {
+    margin-left: 83.33333%; }
+  .medium-12 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 100%;
+        -ms-flex: 0 0 100%;
+            flex: 0 0 100%;
+    max-width: 100%; }
+  .medium-offset-11 {
+    margin-left: 91.66667%; }
+  .medium-order-1 {
+    -webkit-box-ordinal-group: 2;
+    -webkit-order: 1;
+        -ms-flex-order: 1;
+            order: 1; }
+  .medium-order-2 {
+    -webkit-box-ordinal-group: 3;
+    -webkit-order: 2;
+        -ms-flex-order: 2;
+            order: 2; }
+  .medium-order-3 {
+    -webkit-box-ordinal-group: 4;
+    -webkit-order: 3;
+        -ms-flex-order: 3;
+            order: 3; }
+  .medium-order-4 {
+    -webkit-box-ordinal-group: 5;
+    -webkit-order: 4;
+        -ms-flex-order: 4;
+            order: 4; }
+  .medium-order-5 {
+    -webkit-box-ordinal-group: 6;
+    -webkit-order: 5;
+        -ms-flex-order: 5;
+            order: 5; }
+  .medium-order-6 {
+    -webkit-box-ordinal-group: 7;
+    -webkit-order: 6;
+        -ms-flex-order: 6;
+            order: 6; }
+  .medium-up-1 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .medium-up-1 > .column, .medium-up-1 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 100%;
+          -ms-flex: 0 0 100%;
+              flex: 0 0 100%;
+      max-width: 100%; }
+  .medium-up-2 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .medium-up-2 > .column, .medium-up-2 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 50%;
+          -ms-flex: 0 0 50%;
+              flex: 0 0 50%;
+      max-width: 50%; }
+  .medium-up-3 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .medium-up-3 > .column, .medium-up-3 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 33.33333%;
+          -ms-flex: 0 0 33.33333%;
+              flex: 0 0 33.33333%;
+      max-width: 33.33333%; }
+  .medium-up-4 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .medium-up-4 > .column, .medium-up-4 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 25%;
+          -ms-flex: 0 0 25%;
+              flex: 0 0 25%;
+      max-width: 25%; }
+  .medium-up-5 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .medium-up-5 > .column, .medium-up-5 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 20%;
+          -ms-flex: 0 0 20%;
+              flex: 0 0 20%;
+      max-width: 20%; }
+  .medium-up-6 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .medium-up-6 > .column, .medium-up-6 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 16.66667%;
+          -ms-flex: 0 0 16.66667%;
+              flex: 0 0 16.66667%;
+      max-width: 16.66667%; }
+  .medium-up-7 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .medium-up-7 > .column, .medium-up-7 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 14.28571%;
+          -ms-flex: 0 0 14.28571%;
+              flex: 0 0 14.28571%;
+      max-width: 14.28571%; }
+  .medium-up-8 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .medium-up-8 > .column, .medium-up-8 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 12.5%;
+          -ms-flex: 0 0 12.5%;
+              flex: 0 0 12.5%;
+      max-width: 12.5%; } }
+
+@media screen and (min-width: 40em) and (min-width: 40em) {
+  .medium-expand {
+    -webkit-box-flex: 1;
+    -webkit-flex: 1 1 0px;
+        -ms-flex: 1 1 0px;
+            flex: 1 1 0px; } }
+
+.row.medium-unstack > .column, .row.medium-unstack > .columns {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 100%;
+      -ms-flex: 0 0 100%;
+          flex: 0 0 100%; }
+  @media screen and (min-width: 40em) {
+    .row.medium-unstack > .column, .row.medium-unstack > .columns {
+      -webkit-box-flex: 1;
+      -webkit-flex: 1 1 0px;
+          -ms-flex: 1 1 0px;
+              flex: 1 1 0px; } }
+
+@media screen and (min-width: 40em) {
+  .medium-collapse > .column, .medium-collapse > .columns {
+    padding-left: 0;
+    padding-right: 0; }
+  .medium-uncollapse > .column, .medium-uncollapse > .columns {
+    padding-left: 0.9375rem;
+    padding-right: 0.9375rem; } }
+
+@media screen and (min-width: 64em) {
+  .large-1 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 8.33333%;
+        -ms-flex: 0 0 8.33333%;
+            flex: 0 0 8.33333%;
+    max-width: 8.33333%; }
+  .large-offset-0 {
+    margin-left: 0%; }
+  .large-2 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 16.66667%;
+        -ms-flex: 0 0 16.66667%;
+            flex: 0 0 16.66667%;
+    max-width: 16.66667%; }
+  .large-offset-1 {
+    margin-left: 8.33333%; }
+  .large-3 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 25%;
+        -ms-flex: 0 0 25%;
+            flex: 0 0 25%;
+    max-width: 25%; }
+  .large-offset-2 {
+    margin-left: 16.66667%; }
+  .large-4 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 33.33333%;
+        -ms-flex: 0 0 33.33333%;
+            flex: 0 0 33.33333%;
+    max-width: 33.33333%; }
+  .large-offset-3 {
+    margin-left: 25%; }
+  .large-5 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 41.66667%;
+        -ms-flex: 0 0 41.66667%;
+            flex: 0 0 41.66667%;
+    max-width: 41.66667%; }
+  .large-offset-4 {
+    margin-left: 33.33333%; }
+  .large-6 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 50%;
+        -ms-flex: 0 0 50%;
+            flex: 0 0 50%;
+    max-width: 50%; }
+  .large-offset-5 {
+    margin-left: 41.66667%; }
+  .large-7 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 58.33333%;
+        -ms-flex: 0 0 58.33333%;
+            flex: 0 0 58.33333%;
+    max-width: 58.33333%; }
+  .large-offset-6 {
+    margin-left: 50%; }
+  .large-8 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 66.66667%;
+        -ms-flex: 0 0 66.66667%;
+            flex: 0 0 66.66667%;
+    max-width: 66.66667%; }
+  .large-offset-7 {
+    margin-left: 58.33333%; }
+  .large-9 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 75%;
+        -ms-flex: 0 0 75%;
+            flex: 0 0 75%;
+    max-width: 75%; }
+  .large-offset-8 {
+    margin-left: 66.66667%; }
+  .large-10 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 83.33333%;
+        -ms-flex: 0 0 83.33333%;
+            flex: 0 0 83.33333%;
+    max-width: 83.33333%; }
+  .large-offset-9 {
+    margin-left: 75%; }
+  .large-11 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 91.66667%;
+        -ms-flex: 0 0 91.66667%;
+            flex: 0 0 91.66667%;
+    max-width: 91.66667%; }
+  .large-offset-10 {
+    margin-left: 83.33333%; }
+  .large-12 {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 100%;
+        -ms-flex: 0 0 100%;
+            flex: 0 0 100%;
+    max-width: 100%; }
+  .large-offset-11 {
+    margin-left: 91.66667%; }
+  .large-order-1 {
+    -webkit-box-ordinal-group: 2;
+    -webkit-order: 1;
+        -ms-flex-order: 1;
+            order: 1; }
+  .large-order-2 {
+    -webkit-box-ordinal-group: 3;
+    -webkit-order: 2;
+        -ms-flex-order: 2;
+            order: 2; }
+  .large-order-3 {
+    -webkit-box-ordinal-group: 4;
+    -webkit-order: 3;
+        -ms-flex-order: 3;
+            order: 3; }
+  .large-order-4 {
+    -webkit-box-ordinal-group: 5;
+    -webkit-order: 4;
+        -ms-flex-order: 4;
+            order: 4; }
+  .large-order-5 {
+    -webkit-box-ordinal-group: 6;
+    -webkit-order: 5;
+        -ms-flex-order: 5;
+            order: 5; }
+  .large-order-6 {
+    -webkit-box-ordinal-group: 7;
+    -webkit-order: 6;
+        -ms-flex-order: 6;
+            order: 6; }
+  .large-up-1 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .large-up-1 > .column, .large-up-1 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 100%;
+          -ms-flex: 0 0 100%;
+              flex: 0 0 100%;
+      max-width: 100%; }
+  .large-up-2 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .large-up-2 > .column, .large-up-2 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 50%;
+          -ms-flex: 0 0 50%;
+              flex: 0 0 50%;
+      max-width: 50%; }
+  .large-up-3 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .large-up-3 > .column, .large-up-3 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 33.33333%;
+          -ms-flex: 0 0 33.33333%;
+              flex: 0 0 33.33333%;
+      max-width: 33.33333%; }
+  .large-up-4 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .large-up-4 > .column, .large-up-4 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 25%;
+          -ms-flex: 0 0 25%;
+              flex: 0 0 25%;
+      max-width: 25%; }
+  .large-up-5 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .large-up-5 > .column, .large-up-5 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 20%;
+          -ms-flex: 0 0 20%;
+              flex: 0 0 20%;
+      max-width: 20%; }
+  .large-up-6 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .large-up-6 > .column, .large-up-6 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 16.66667%;
+          -ms-flex: 0 0 16.66667%;
+              flex: 0 0 16.66667%;
+      max-width: 16.66667%; }
+  .large-up-7 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .large-up-7 > .column, .large-up-7 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 14.28571%;
+          -ms-flex: 0 0 14.28571%;
+              flex: 0 0 14.28571%;
+      max-width: 14.28571%; }
+  .large-up-8 {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .large-up-8 > .column, .large-up-8 > .columns {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 12.5%;
+          -ms-flex: 0 0 12.5%;
+              flex: 0 0 12.5%;
+      max-width: 12.5%; } }
+
+@media screen and (min-width: 64em) and (min-width: 64em) {
+  .large-expand {
+    -webkit-box-flex: 1;
+    -webkit-flex: 1 1 0px;
+        -ms-flex: 1 1 0px;
+            flex: 1 1 0px; } }
+
+.row.large-unstack > .column, .row.large-unstack > .columns {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 100%;
+      -ms-flex: 0 0 100%;
+          flex: 0 0 100%; }
+  @media screen and (min-width: 64em) {
+    .row.large-unstack > .column, .row.large-unstack > .columns {
+      -webkit-box-flex: 1;
+      -webkit-flex: 1 1 0px;
+          -ms-flex: 1 1 0px;
+              flex: 1 1 0px; } }
+
+@media screen and (min-width: 64em) {
+  .large-collapse > .column, .large-collapse > .columns {
+    padding-left: 0;
+    padding-right: 0; }
+  .large-uncollapse > .column, .large-uncollapse > .columns {
+    padding-left: 0.9375rem;
+    padding-right: 0.9375rem; } }
+
+.shrink {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 auto;
+      -ms-flex: 0 0 auto;
+          flex: 0 0 auto;
+  max-width: 100%; }
+
+.column.align-top, .align-top.columns {
+  -webkit-align-self: flex-start;
+      -ms-flex-item-align: start;
+          align-self: flex-start; }
+
+.column.align-bottom, .align-bottom.columns {
+  -webkit-align-self: flex-end;
+      -ms-flex-item-align: end;
+          align-self: flex-end; }
+
+.column.align-middle, .align-middle.columns {
+  -webkit-align-self: center;
+      -ms-flex-item-align: center;
+          align-self: center; }
+
+.column.align-stretch, .align-stretch.columns {
+  -webkit-align-self: stretch;
+      -ms-flex-item-align: stretch;
+          align-self: stretch; }
+
+div,
+dl,
+dt,
+dd,
+ul,
+ol,
+li,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+pre,
+form,
+p,
+blockquote,
+th,
+td {
+  margin: 0;
+  padding: 0; }
+
+p {
+  font-size: inherit;
+  line-height: 1.6;
+  margin-bottom: 1rem;
+  text-rendering: optimizeLegibility; }
+
+em,
+i {
+  font-style: italic;
+  line-height: inherit; }
+
+strong,
+b {
+  font-weight: bold;
+  line-height: inherit; }
+
+small {
+  font-size: 80%;
+  line-height: inherit; }
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
+  font-weight: normal;
+  font-style: normal;
+  color: inherit;
+  text-rendering: optimizeLegibility;
+  margin-top: 0;
+  margin-bottom: 0.5rem;
+  line-height: 1.4; }
+  h1 small,
+  h2 small,
+  h3 small,
+  h4 small,
+  h5 small,
+  h6 small {
+    color: #cacaca;
+    line-height: 0; }
+
+h1 {
+  font-size: 1.5rem; }
+
+h2 {
+  font-size: 1.25rem; }
+
+h3 {
+  font-size: 1.1875rem; }
+
+h4 {
+  font-size: 1.125rem; }
+
+h5 {
+  font-size: 1.0625rem; }
+
+h6 {
+  font-size: 1rem; }
+
+@media screen and (min-width: 40em) {
+  h1 {
+    font-size: 3rem; }
+  h2 {
+    font-size: 2.5rem; }
+  h3 {
+    font-size: 1.9375rem; }
+  h4 {
+    font-size: 1.5625rem; }
+  h5 {
+    font-size: 1.25rem; }
+  h6 {
+    font-size: 1rem; } }
+
+a {
+  color: #2199e8;
+  text-decoration: none;
+  line-height: inherit;
+  cursor: pointer; }
+  a:hover, a:focus {
+    color: #1585cf; }
+  a img {
+    border: 0; }
+
+hr {
+  max-width: 75rem;
+  height: 0;
+  border-right: 0;
+  border-top: 0;
+  border-bottom: 1px solid #cacaca;
+  border-left: 0;
+  margin: 1.25rem auto;
+  clear: both; }
+
+ul,
+ol,
+dl {
+  line-height: 1.6;
+  margin-bottom: 1rem;
+  list-style-position: outside; }
+
+li {
+  font-size: inherit; }
+
+ul {
+  list-style-type: disc;
+  margin-left: 1.25rem; }
+
+ol {
+  margin-left: 1.25rem; }
+
+ul ul, ol ul, ul ol, ol ol {
+  margin-left: 1.25rem;
+  margin-bottom: 0; }
+
+dl {
+  margin-bottom: 1rem; }
+  dl dt {
+    margin-bottom: 0.3rem;
+    font-weight: bold; }
+
+blockquote {
+  margin: 0 0 1rem;
+  padding: 0.5625rem 1.25rem 0 1.1875rem;
+  border-left: 1px solid #cacaca; }
+  blockquote, blockquote p {
+    line-height: 1.6;
+    color: #8a8a8a; }
+
+cite {
+  display: block;
+  font-size: 0.8125rem;
+  color: #8a8a8a; }
+  cite:before {
+    content: '\2014 \0020'; }
+
+abbr {
+  color: #0a0a0a;
+  cursor: help;
+  border-bottom: 1px dotted #0a0a0a; }
+
+code {
+  font-family: Consolas, "Liberation Mono", Courier, monospace;
+  font-weight: normal;
+  color: #0a0a0a;
+  background-color: #e6e6e6;
+  border: 1px solid #cacaca;
+  padding: 0.125rem 0.3125rem 0.0625rem; }
+
+kbd {
+  padding: 0.125rem 0.25rem 0;
+  margin: 0;
+  background-color: #e6e6e6;
+  color: #0a0a0a;
+  font-family: Consolas, "Liberation Mono", Courier, monospace; }
+
+.subheader {
+  margin-top: 0.2rem;
+  margin-bottom: 0.5rem;
+  font-weight: normal;
+  line-height: 1.4;
+  color: #8a8a8a; }
+
+.lead {
+  font-size: 125%;
+  line-height: 1.6; }
+
+.stat {
+  font-size: 2.5rem;
+  line-height: 1; }
+  p + .stat {
+    margin-top: -1rem; }
+
+.no-bullet {
+  margin-left: 0;
+  list-style: none; }
+
+.text-left {
+  text-align: left; }
+
+.text-right {
+  text-align: right; }
+
+.text-center {
+  text-align: center; }
+
+.text-justify {
+  text-align: justify; }
+
+@media screen and (min-width: 40em) {
+  .medium-text-left {
+    text-align: left; }
+  .medium-text-right {
+    text-align: right; }
+  .medium-text-center {
+    text-align: center; }
+  .medium-text-justify {
+    text-align: justify; } }
+
+@media screen and (min-width: 64em) {
+  .large-text-left {
+    text-align: left; }
+  .large-text-right {
+    text-align: right; }
+  .large-text-center {
+    text-align: center; }
+  .large-text-justify {
+    text-align: justify; } }
+
+.show-for-print {
+  display: none !important; }
+
+@media print {
+  * {
+    background: transparent !important;
+    color: black !important;
+    -webkit-box-shadow: none !important;
+            box-shadow: none !important;
+    text-shadow: none !important; }
+  .show-for-print {
+    display: block !important; }
+  .hide-for-print {
+    display: none !important; }
+  table.show-for-print {
+    display: table !important; }
+  thead.show-for-print {
+    display: table-header-group !important; }
+  tbody.show-for-print {
+    display: table-row-group !important; }
+  tr.show-for-print {
+    display: table-row !important; }
+  td.show-for-print {
+    display: table-cell !important; }
+  th.show-for-print {
+    display: table-cell !important; }
+  a,
+  a:visited {
+    text-decoration: underline; }
+  a[href]:after {
+    content: " (" attr(href) ")"; }
+  .ir a:after,
+  a[href^='javascript:']:after,
+  a[href^='#']:after {
+    content: ''; }
+  abbr[title]:after {
+    content: " (" attr(title) ")"; }
+  pre,
+  blockquote {
+    border: 1px solid #8a8a8a;
+    page-break-inside: avoid; }
+  thead {
+    display: table-header-group; }
+  tr,
+  img {
+    page-break-inside: avoid; }
+  img {
+    max-width: 100% !important; }
+  @page {
+    margin: 0.5cm; }
+  p,
+  h2,
+  h3 {
+    orphans: 3;
+    widows: 3; }
+  h2,
+  h3 {
+    page-break-after: avoid; } }
+
+[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
+textarea {
+  display: block;
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+  width: 100%;
+  height: 2.4375rem;
+  padding: 0.5rem;
+  border: 1px solid #cacaca;
+  margin: 0 0 1rem;
+  font-family: inherit;
+  font-size: 1rem;
+  color: #0a0a0a;
+  background-color: #fefefe;
+  -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+          box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+  border-radius: 0;
+  -webkit-transition: -webkit-box-shadow 0.5s, border-color 0.25s ease-in-out;
+          transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
+  -webkit-appearance: none;
+  -moz-appearance: none; }
+  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
+  textarea:focus {
+    border: 1px solid #8a8a8a;
+    background-color: #fefefe;
+    outline: none;
+    -webkit-box-shadow: 0 0 5px #cacaca;
+            box-shadow: 0 0 5px #cacaca;
+    -webkit-transition: -webkit-box-shadow 0.5s, border-color 0.25s ease-in-out;
+            transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
+
+textarea {
+  max-width: 100%; }
+  textarea[rows] {
+    height: auto; }
+
+input::-webkit-input-placeholder,
+textarea::-webkit-input-placeholder {
+  color: #cacaca; }
+
+input::-moz-placeholder,
+textarea::-moz-placeholder {
+  color: #cacaca; }
+
+input:-ms-input-placeholder,
+textarea:-ms-input-placeholder {
+  color: #cacaca; }
+
+input::placeholder,
+textarea::placeholder {
+  color: #cacaca; }
+
+input:disabled, input[readonly],
+textarea:disabled,
+textarea[readonly] {
+  background-color: #e6e6e6;
+  cursor: not-allowed; }
+
+[type='submit'],
+[type='button'] {
+  border-radius: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none; }
+
+input[type='search'] {
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box; }
+
+[type='file'],
+[type='checkbox'],
+[type='radio'] {
+  margin: 0 0 1rem; }
+
+[type='checkbox'] + label,
+[type='radio'] + label {
+  display: inline-block;
+  margin-left: 0.5rem;
+  margin-right: 1rem;
+  margin-bottom: 0;
+  vertical-align: baseline; }
+  [type='checkbox'] + label[for],
+  [type='radio'] + label[for] {
+    cursor: pointer; }
+
+label > [type='checkbox'],
+label > [type='radio'] {
+  margin-right: 0.5rem; }
+
+[type='file'] {
+  width: 100%; }
+
+label {
+  display: block;
+  margin: 0;
+  font-size: 0.875rem;
+  font-weight: normal;
+  line-height: 1.8;
+  color: #0a0a0a; }
+  label.middle {
+    margin: 0 0 1rem;
+    padding: 0.5625rem 0; }
+
+.help-text {
+  margin-top: -0.5rem;
+  font-size: 0.8125rem;
+  font-style: italic;
+  color: #0a0a0a; }
+
+.input-group {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  width: 100%;
+  margin-bottom: 1rem;
+  -webkit-box-align: stretch;
+  -webkit-align-items: stretch;
+      -ms-flex-align: stretch;
+          align-items: stretch; }
+  .input-group > :first-child {
+    border-radius: 0 0 0 0; }
+  .input-group > :last-child > * {
+    border-radius: 0 0 0 0; }
+
+.input-group-label, .input-group-field, .input-group-button {
+  margin: 0;
+  white-space: nowrap; }
+
+.input-group-label {
+  text-align: center;
+  padding: 0 1rem;
+  background: #e6e6e6;
+  color: #0a0a0a;
+  border: 1px solid #cacaca;
+  white-space: nowrap;
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 auto;
+      -ms-flex: 0 0 auto;
+          flex: 0 0 auto;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+  -webkit-align-items: center;
+      -ms-flex-align: center;
+          align-items: center; }
+  .input-group-label:first-child {
+    border-right: 0; }
+  .input-group-label:last-child {
+    border-left: 0; }
+
+.input-group-field {
+  border-radius: 0;
+  -webkit-box-flex: 1;
+  -webkit-flex: 1 1 0px;
+      -ms-flex: 1 1 0px;
+          flex: 1 1 0px;
+  width: auto;
+  height: auto; }
+
+.input-group-button {
+  padding-top: 0;
+  padding-bottom: 0;
+  text-align: center;
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 auto;
+      -ms-flex: 0 0 auto;
+          flex: 0 0 auto; }
+  .input-group-button a,
+  .input-group-button input,
+  .input-group-button button {
+    margin: 0; }
+
+.input-group .input-group-button {
+  display: table-cell; }
+
+fieldset {
+  border: 0;
+  padding: 0;
+  margin: 0; }
+
+legend {
+  margin-bottom: 0.5rem;
+  max-width: 100%; }
+
+.fieldset {
+  border: 1px solid #cacaca;
+  padding: 1.25rem;
+  margin: 1.125rem 0; }
+  .fieldset legend {
+    background: #fefefe;
+    padding: 0 0.1875rem;
+    margin: 0;
+    margin-left: -0.1875rem; }
+
+select {
+  height: 2.4375rem;
+  padding: 0.5rem;
+  border: 1px solid #cacaca;
+  margin: 0 0 1rem;
+  font-size: 1rem;
+  font-family: inherit;
+  line-height: normal;
+  color: #0a0a0a;
+  background-color: #fefefe;
+  border-radius: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
+  -webkit-background-size: 9px 6px;
+          background-size: 9px 6px;
+  background-position: right -1rem center;
+  -webkit-background-origin: content-box;
+          background-origin: content-box;
+  background-repeat: no-repeat;
+  padding-right: 1.5rem; }
+  @media screen and (min-width: 0\0) {
+    select {
+      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
+  select:disabled {
+    background-color: #e6e6e6;
+    cursor: not-allowed; }
+  select::-ms-expand {
+    display: none; }
+  select[multiple] {
+    height: auto;
+    background-image: none; }
+
+.is-invalid-input:not(:focus) {
+  background-color: rgba(236, 88, 64, 0.1);
+  border-color: #ec5840; }
+
+.is-invalid-label {
+  color: #ec5840; }
+
+.form-error {
+  display: none;
+  margin-top: -0.5rem;
+  margin-bottom: 1rem;
+  font-size: 0.75rem;
+  font-weight: bold;
+  color: #ec5840; }
+  .form-error.is-visible {
+    display: block; }
+
+.button {
+  display: inline-block;
+  text-align: center;
+  line-height: 1;
+  cursor: pointer;
+  -webkit-appearance: none;
+  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
+          transition: background-color 0.25s ease-out, color 0.25s ease-out;
+  vertical-align: middle;
+  border: 1px solid transparent;
+  border-radius: 0;
+  padding: 0.85em 1em;
+  margin: 0 0 1rem 0;
+  font-size: 0.9rem;
+  background-color: #2199e8;
+  color: #fefefe; }
+  [data-whatinput='mouse'] .button {
+    outline: 0; }
+  .button:hover, .button:focus {
+    background-color: #1583cc;
+    color: #fefefe; }
+  .button.tiny {
+    font-size: 0.6rem; }
+  .button.small {
+    font-size: 0.75rem; }
+  .button.large {
+    font-size: 1.25rem; }
+  .button.expanded {
+    display: block;
+    width: 100%;
+    margin-left: 0;
+    margin-right: 0; }
+  .button.primary {
+    background-color: #2199e8;
+    color: #fefefe; }
+    .button.primary:hover, .button.primary:focus {
+      background-color: #147cc0;
+      color: #fefefe; }
+  .button.secondary {
+    background-color: #777;
+    color: #fefefe; }
+    .button.secondary:hover, .button.secondary:focus {
+      background-color: #5f5f5f;
+      color: #fefefe; }
+  .button.success {
+    background-color: #3adb76;
+    color: #fefefe; }
+    .button.success:hover, .button.success:focus {
+      background-color: #22bb5b;
+      color: #fefefe; }
+  .button.warning {
+    background-color: #ffae00;
+    color: #fefefe; }
+    .button.warning:hover, .button.warning:focus {
+      background-color: #cc8b00;
+      color: #fefefe; }
+  .button.alert {
+    background-color: #ec5840;
+    color: #fefefe; }
+    .button.alert:hover, .button.alert:focus {
+      background-color: #da3116;
+      color: #fefefe; }
+  .button.hollow {
+    border: 1px solid #2199e8;
+    color: #2199e8; }
+    .button.hollow, .button.hollow:hover, .button.hollow:focus {
+      background-color: transparent; }
+    .button.hollow:hover, .button.hollow:focus {
+      border-color: #0c4d78;
+      color: #0c4d78; }
+    .button.hollow.primary {
+      border: 1px solid #2199e8;
+      color: #2199e8; }
+      .button.hollow.primary:hover, .button.hollow.primary:focus {
+        border-color: #0c4d78;
+        color: #0c4d78; }
+    .button.hollow.secondary {
+      border: 1px solid #777;
+      color: #777; }
+      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
+        border-color: #3c3c3c;
+        color: #3c3c3c; }
+    .button.hollow.success {
+      border: 1px solid #3adb76;
+      color: #3adb76; }
+      .button.hollow.success:hover, .button.hollow.success:focus {
+        border-color: #157539;
+        color: #157539; }
+    .button.hollow.warning {
+      border: 1px solid #ffae00;
+      color: #ffae00; }
+      .button.hollow.warning:hover, .button.hollow.warning:focus {
+        border-color: #805700;
+        color: #805700; }
+    .button.hollow.alert {
+      border: 1px solid #ec5840;
+      color: #ec5840; }
+      .button.hollow.alert:hover, .button.hollow.alert:focus {
+        border-color: #881f0e;
+        color: #881f0e; }
+  .button.disabled, .button[disabled] {
+    opacity: 0.25;
+    cursor: not-allowed; }
+    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
+      background-color: #2199e8;
+      color: #fefefe; }
+  .button.dropdown::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.4em;
+    border-color: #fefefe transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    position: relative;
+    top: 0.4em;
+    float: right;
+    margin-left: 1em;
+    display: inline-block; }
+  .button.arrow-only::after {
+    margin-left: 0;
+    float: none;
+    top: -0.1em; }
+
+.accordion {
+  list-style-type: none;
+  background: #fefefe;
+  margin-left: 0; }
+
+.accordion-item:first-child > :first-child {
+  border-radius: 0 0 0 0; }
+
+.accordion-item:last-child > :last-child {
+  border-radius: 0 0 0 0; }
+
+.accordion-title {
+  display: block;
+  padding: 1.25rem 1rem;
+  line-height: 1;
+  font-size: 0.75rem;
+  color: #2199e8;
+  position: relative;
+  border: 1px solid #e6e6e6;
+  border-bottom: 0; }
+  :last-child:not(.is-active) > .accordion-title {
+    border-radius: 0 0 0 0;
+    border-bottom: 1px solid #e6e6e6; }
+  .accordion-title:hover, .accordion-title:focus {
+    background-color: #e6e6e6; }
+  .accordion-title::before {
+    content: '+';
+    position: absolute;
+    right: 1rem;
+    top: 50%;
+    margin-top: -0.5rem; }
+  .is-active > .accordion-title::before {
+    content: '–'; }
+
+.accordion-content {
+  padding: 1rem;
+  display: none;
+  border: 1px solid #e6e6e6;
+  border-bottom: 0;
+  background-color: #fefefe;
+  color: #0a0a0a; }
+  :last-child > .accordion-content:last-child {
+    border-bottom: 1px solid #e6e6e6; }
+
+.is-accordion-submenu-parent > a {
+  position: relative; }
+  .is-accordion-submenu-parent > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 6px;
+    border-color: #2199e8 transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    position: absolute;
+    top: 50%;
+    margin-top: -4px;
+    right: 1rem; }
+
+.is-accordion-submenu-parent[aria-expanded='true'] > a::after {
+  -webkit-transform-origin: 50% 50%;
+      -ms-transform-origin: 50% 50%;
+          transform-origin: 50% 50%;
+  -webkit-transform: scaleY(-1);
+      -ms-transform: scaleY(-1);
+          transform: scaleY(-1); }
+
+.badge {
+  display: inline-block;
+  padding: 0.3em;
+  min-width: 2.1em;
+  font-size: 0.6rem;
+  text-align: center;
+  border-radius: 50%;
+  background: #2199e8;
+  color: #fefefe; }
+  .badge.secondary {
+    background: #777;
+    color: #fefefe; }
+  .badge.success {
+    background: #3adb76;
+    color: #fefefe; }
+  .badge.warning {
+    background: #ffae00;
+    color: #fefefe; }
+  .badge.alert {
+    background: #ec5840;
+    color: #fefefe; }
+
+.breadcrumbs {
+  list-style: none;
+  margin: 0 0 1rem 0; }
+  .breadcrumbs::before, .breadcrumbs::after {
+    content: ' ';
+    display: table;
+    -webkit-flex-basis: 0;
+        -ms-flex-preferred-size: 0;
+            flex-basis: 0;
+    -webkit-box-ordinal-group: 2;
+    -webkit-order: 1;
+        -ms-flex-order: 1;
+            order: 1; }
+  .breadcrumbs::after {
+    clear: both; }
+  .breadcrumbs li {
+    float: left;
+    color: #0a0a0a;
+    font-size: 0.6875rem;
+    cursor: default;
+    text-transform: uppercase; }
+    .breadcrumbs li:not(:last-child)::after {
+      color: #cacaca;
+      content: "/";
+      margin: 0 0.75rem;
+      position: relative;
+      top: 1px;
+      opacity: 1; }
+  .breadcrumbs a {
+    color: #2199e8; }
+    .breadcrumbs a:hover {
+      text-decoration: underline; }
+  .breadcrumbs .disabled {
+    color: #cacaca;
+    cursor: not-allowed; }
+
+.button-group {
+  margin-bottom: 1rem;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-wrap: nowrap;
+      -ms-flex-wrap: nowrap;
+          flex-wrap: nowrap;
+  -webkit-box-align: stretch;
+  -webkit-align-items: stretch;
+      -ms-flex-align: stretch;
+          align-items: stretch; }
+  .button-group::before, .button-group::after {
+    content: ' ';
+    display: table;
+    -webkit-flex-basis: 0;
+        -ms-flex-preferred-size: 0;
+            flex-basis: 0;
+    -webkit-box-ordinal-group: 2;
+    -webkit-order: 1;
+        -ms-flex-order: 1;
+            order: 1; }
+  .button-group::after {
+    clear: both; }
+  .button-group .button {
+    margin: 0;
+    margin-right: 1px;
+    margin-bottom: 1px;
+    font-size: 0.9rem;
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 auto;
+        -ms-flex: 0 0 auto;
+            flex: 0 0 auto; }
+    .button-group .button:last-child {
+      margin-right: 0; }
+  .button-group.tiny .button {
+    font-size: 0.6rem; }
+  .button-group.small .button {
+    font-size: 0.75rem; }
+  .button-group.large .button {
+    font-size: 1.25rem; }
+  .button-group.expanded .button {
+    -webkit-box-flex: 1;
+    -webkit-flex: 1 1 0px;
+        -ms-flex: 1 1 0px;
+            flex: 1 1 0px; }
+  .button-group.primary .button {
+    background-color: #2199e8;
+    color: #fefefe; }
+    .button-group.primary .button:hover, .button-group.primary .button:focus {
+      background-color: #147cc0;
+      color: #fefefe; }
+  .button-group.secondary .button {
+    background-color: #777;
+    color: #fefefe; }
+    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
+      background-color: #5f5f5f;
+      color: #fefefe; }
+  .button-group.success .button {
+    background-color: #3adb76;
+    color: #fefefe; }
+    .button-group.success .button:hover, .button-group.success .button:focus {
+      background-color: #22bb5b;
+      color: #fefefe; }
+  .button-group.warning .button {
+    background-color: #ffae00;
+    color: #fefefe; }
+    .button-group.warning .button:hover, .button-group.warning .button:focus {
+      background-color: #cc8b00;
+      color: #fefefe; }
+  .button-group.alert .button {
+    background-color: #ec5840;
+    color: #fefefe; }
+    .button-group.alert .button:hover, .button-group.alert .button:focus {
+      background-color: #da3116;
+      color: #fefefe; }
+  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 100%;
+          -ms-flex: 0 0 100%;
+              flex: 0 0 100%; }
+      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
+        margin-bottom: 0; }
+  @media screen and (min-width: 40em) {
+    .button-group.stacked-for-small .button {
+      -webkit-box-flex: 1;
+      -webkit-flex: 1 1 0px;
+          -ms-flex: 1 1 0px;
+              flex: 1 1 0px;
+      margin-bottom: 0; } }
+  @media screen and (min-width: 64em) {
+    .button-group.stacked-for-medium .button {
+      -webkit-box-flex: 1;
+      -webkit-flex: 1 1 0px;
+          -ms-flex: 1 1 0px;
+              flex: 1 1 0px;
+      margin-bottom: 0; } }
+  @media screen and (max-width: 39.9375em) {
+    .button-group.stacked-for-small.expanded {
+      display: block; }
+      .button-group.stacked-for-small.expanded .button {
+        display: block;
+        margin-right: 0; } }
+
+.callout {
+  margin: 0 0 1rem 0;
+  padding: 1rem;
+  border: 1px solid rgba(10, 10, 10, 0.25);
+  border-radius: 0;
+  position: relative;
+  color: #0a0a0a;
+  background-color: white; }
+  .callout > :first-child {
+    margin-top: 0; }
+  .callout > :last-child {
+    margin-bottom: 0; }
+  .callout.primary {
+    background-color: #def0fc; }
+  .callout.secondary {
+    background-color: #ebebeb; }
+  .callout.success {
+    background-color: #e1faea; }
+  .callout.warning {
+    background-color: #fff3d9; }
+  .callout.alert {
+    background-color: #fce6e2; }
+  .callout.small {
+    padding-top: 0.5rem;
+    padding-right: 0.5rem;
+    padding-bottom: 0.5rem;
+    padding-left: 0.5rem; }
+  .callout.large {
+    padding-top: 3rem;
+    padding-right: 3rem;
+    padding-bottom: 3rem;
+    padding-left: 3rem; }
+
+.close-button {
+  position: absolute;
+  color: #8a8a8a;
+  right: 1rem;
+  top: 0.5rem;
+  font-size: 2em;
+  line-height: 1;
+  cursor: pointer; }
+  [data-whatinput='mouse'] .close-button {
+    outline: 0; }
+  .close-button:hover, .close-button:focus {
+    color: #0a0a0a; }
+
+.menu {
+  margin: 0;
+  list-style-type: none;
+  width: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-wrap: nowrap;
+      -ms-flex-wrap: nowrap;
+          flex-wrap: nowrap;
+  -webkit-box-align: center;
+  -webkit-align-items: center;
+      -ms-flex-align: center;
+          align-items: center;
+  -webkit-flex-wrap: nowrap;
+      -ms-flex-wrap: nowrap;
+          flex-wrap: nowrap; }
+  .menu > li {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 auto;
+        -ms-flex: 0 0 auto;
+            flex: 0 0 auto; }
+    [data-whatinput='mouse'] .menu > li {
+      outline: 0; }
+  .menu > li > a {
+    display: block;
+    padding: 0.7rem 1rem;
+    line-height: 1; }
+  .menu input,
+  .menu a,
+  .menu button {
+    margin-bottom: 0; }
+  .menu > li > a {
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: -ms-flexbox;
+    display: flex; }
+  .menu > li > a {
+    -webkit-flex-flow: row nowrap;
+        -ms-flex-flow: row nowrap;
+            flex-flow: row nowrap; }
+    .menu > li > a img,
+    .menu > li > a i,
+    .menu > li > a svg {
+      margin-right: 0.25rem; }
+  .menu > li {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 auto;
+        -ms-flex: 0 0 auto;
+            flex: 0 0 auto; }
+  .menu.vertical {
+    -webkit-flex-wrap: wrap;
+        -ms-flex-wrap: wrap;
+            flex-wrap: wrap; }
+    .menu.vertical > li {
+      -webkit-box-flex: 0;
+      -webkit-flex: 0 0 100%;
+          -ms-flex: 0 0 100%;
+              flex: 0 0 100%;
+      max-width: 100%; }
+    .menu.vertical > li > a {
+      -webkit-box-align: start;
+      -webkit-align-items: flex-start;
+          -ms-flex-align: start;
+              align-items: flex-start;
+      -webkit-box-pack: start;
+      -webkit-justify-content: flex-start;
+          -ms-flex-pack: start;
+              justify-content: flex-start; }
+  @media screen and (min-width: 40em) {
+    .menu.medium-horizontal {
+      -webkit-flex-wrap: nowrap;
+          -ms-flex-wrap: nowrap;
+              flex-wrap: nowrap; }
+      .menu.medium-horizontal > li {
+        -webkit-box-flex: 0;
+        -webkit-flex: 0 0 auto;
+            -ms-flex: 0 0 auto;
+                flex: 0 0 auto; }
+    .menu.medium-vertical {
+      -webkit-flex-wrap: wrap;
+          -ms-flex-wrap: wrap;
+              flex-wrap: wrap; }
+      .menu.medium-vertical > li {
+        -webkit-box-flex: 0;
+        -webkit-flex: 0 0 100%;
+            -ms-flex: 0 0 100%;
+                flex: 0 0 100%;
+        max-width: 100%; }
+      .menu.medium-vertical > li > a {
+        -webkit-box-align: start;
+        -webkit-align-items: flex-start;
+            -ms-flex-align: start;
+                align-items: flex-start;
+        -webkit-box-pack: start;
+        -webkit-justify-content: flex-start;
+            -ms-flex-pack: start;
+                justify-content: flex-start; } }
+  @media screen and (min-width: 64em) {
+    .menu.large-horizontal {
+      -webkit-flex-wrap: nowrap;
+          -ms-flex-wrap: nowrap;
+              flex-wrap: nowrap; }
+      .menu.large-horizontal > li {
+        -webkit-box-flex: 0;
+        -webkit-flex: 0 0 auto;
+            -ms-flex: 0 0 auto;
+                flex: 0 0 auto; }
+    .menu.large-vertical {
+      -webkit-flex-wrap: wrap;
+          -ms-flex-wrap: wrap;
+              flex-wrap: wrap; }
+      .menu.large-vertical > li {
+        -webkit-box-flex: 0;
+        -webkit-flex: 0 0 100%;
+            -ms-flex: 0 0 100%;
+                flex: 0 0 100%;
+        max-width: 100%; }
+      .menu.large-vertical > li > a {
+        -webkit-box-align: start;
+        -webkit-align-items: flex-start;
+            -ms-flex-align: start;
+                align-items: flex-start;
+        -webkit-box-pack: start;
+        -webkit-justify-content: flex-start;
+            -ms-flex-pack: start;
+                justify-content: flex-start; } }
+  .menu.simple li {
+    line-height: 1;
+    display: inline-block;
+    margin-right: 1rem; }
+  .menu.simple a {
+    padding: 0; }
+  .menu.align-right {
+    -webkit-box-pack: end;
+    -webkit-justify-content: flex-end;
+        -ms-flex-pack: end;
+            justify-content: flex-end; }
+  .menu.expanded > li {
+    -webkit-box-flex: 1;
+    -webkit-flex: 1 1 0px;
+        -ms-flex: 1 1 0px;
+            flex: 1 1 0px; }
+  .menu.expanded > li:first-child:last-child {
+    width: 100%; }
+  .menu.icon-top > li > a {
+    -webkit-flex-flow: column nowrap;
+        -ms-flex-flow: column nowrap;
+            flex-flow: column nowrap; }
+    .menu.icon-top > li > a img,
+    .menu.icon-top > li > a i,
+    .menu.icon-top > li > a svg {
+      -webkit-align-self: stretch;
+          -ms-flex-item-align: stretch;
+              align-self: stretch;
+      text-align: center;
+      margin-bottom: 0.25rem; }
+  .menu.nested {
+    margin-left: 1rem; }
+  .menu .active > a {
+    color: #fefefe;
+    background: #2199e8; }
+
+.menu-text {
+  font-weight: bold;
+  color: inherit;
+  line-height: 1;
+  padding-top: 0;
+  padding-bottom: 0;
+  padding: 0.7rem 1rem; }
+
+.menu-centered {
+  text-align: center; }
+  .menu-centered > .menu {
+    display: inline-block; }
+
+.no-js [data-responsive-menu] ul {
+  display: none; }
+
+.menu-icon {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  cursor: pointer;
+  width: 20px;
+  height: 16px; }
+  .menu-icon::after {
+    content: '';
+    position: absolute;
+    display: block;
+    width: 100%;
+    height: 2px;
+    background: #fefefe;
+    top: 0;
+    left: 0;
+    -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
+            box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe; }
+  .menu-icon:hover::after {
+    background: #cacaca;
+    -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
+            box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }
+
+.menu-icon.dark {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  cursor: pointer;
+  width: 20px;
+  height: 16px; }
+  .menu-icon.dark::after {
+    content: '';
+    position: absolute;
+    display: block;
+    width: 100%;
+    height: 2px;
+    background: #0a0a0a;
+    top: 0;
+    left: 0;
+    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
+            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; }
+  .menu-icon.dark:hover::after {
+    background: #8a8a8a;
+    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
+            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }
+
+.is-drilldown {
+  position: relative;
+  overflow: hidden; }
+  .is-drilldown li {
+    display: block !important; }
+
+.is-drilldown-submenu {
+  position: absolute;
+  top: 0;
+  left: 100%;
+  z-index: -1;
+  height: 100%;
+  width: 100%;
+  background: #fefefe;
+  -webkit-transition: -webkit-transform 0.15s linear;
+          transition: transform 0.15s linear; }
+  .is-drilldown-submenu.is-active {
+    z-index: 1;
+    display: block;
+    -webkit-transform: translateX(-100%);
+        -ms-transform: translateX(-100%);
+            transform: translateX(-100%); }
+  .is-drilldown-submenu.is-closing {
+    -webkit-transform: translateX(100%);
+        -ms-transform: translateX(100%);
+            transform: translateX(100%); }
+
+.is-drilldown-submenu-parent > a {
+  position: relative; }
+  .is-drilldown-submenu-parent > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 6px;
+    border-color: transparent transparent transparent #2199e8;
+    border-left-style: solid;
+    border-right-width: 0;
+    position: absolute;
+    top: 50%;
+    margin-top: -6px;
+    right: 1rem; }
+
+.js-drilldown-back > a::before {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  border: inset 6px;
+  border-color: transparent #2199e8 transparent transparent;
+  border-right-style: solid;
+  border-left-width: 0;
+  border-left-width: 0;
+  display: inline-block;
+  vertical-align: middle;
+  margin-right: 0.75rem; }
+
+.dropdown-pane {
+  background-color: #fefefe;
+  border: 1px solid #cacaca;
+  border-radius: 0;
+  display: block;
+  font-size: 1rem;
+  padding: 1rem;
+  position: absolute;
+  visibility: hidden;
+  width: 300px;
+  z-index: 10; }
+  .dropdown-pane.is-open {
+    visibility: visible; }
+
+.dropdown-pane.tiny {
+  width: 100px; }
+
+.dropdown-pane.small {
+  width: 200px; }
+
+.dropdown-pane.large {
+  width: 400px; }
+
+.dropdown.menu > li.opens-left > .is-dropdown-submenu {
+  left: auto;
+  right: 0;
+  top: 100%; }
+
+.dropdown.menu > li.opens-right > .is-dropdown-submenu {
+  right: auto;
+  left: 0;
+  top: 100%; }
+
+.dropdown.menu > li.is-dropdown-submenu-parent > a {
+  padding-right: 1.5rem;
+  position: relative; }
+
+.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  border: inset 5px;
+  border-color: #2199e8 transparent transparent;
+  border-top-style: solid;
+  border-bottom-width: 0;
+  right: 5px;
+  margin-top: -2px; }
+
+[data-whatinput='mouse'] .dropdown.menu a {
+  outline: 0; }
+
+.no-js .dropdown.menu ul {
+  display: none; }
+
+.dropdown.menu.vertical > li .is-dropdown-submenu {
+  top: 0; }
+
+.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
+  left: auto;
+  right: 100%; }
+
+.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
+  right: auto;
+  left: 100%; }
+
+.dropdown.menu.vertical > li > a::after {
+  right: 14px;
+  margin-top: -3px; }
+
+.dropdown.menu.vertical > li.opens-left > a::after {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  border: inset 5px;
+  border-color: transparent #2199e8 transparent transparent;
+  border-right-style: solid;
+  border-left-width: 0; }
+
+.dropdown.menu.vertical > li.opens-right > a::after {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  border: inset 5px;
+  border-color: transparent transparent transparent #2199e8;
+  border-left-style: solid;
+  border-right-width: 0; }
+
+@media screen and (min-width: 40em) {
+  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 0;
+    top: 100%; }
+  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 0;
+    top: 100%; }
+  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
+    padding-right: 1.5rem;
+    position: relative; }
+  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: #2199e8 transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    right: 5px;
+    margin-top: -2px; }
+  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
+    top: 0; }
+  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 100%; }
+  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 100%; }
+  .dropdown.menu.medium-vertical > li > a::after {
+    right: 14px;
+    margin-top: -3px; }
+  .dropdown.menu.medium-vertical > li.opens-left > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent #2199e8 transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0; }
+  .dropdown.menu.medium-vertical > li.opens-right > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent transparent transparent #2199e8;
+    border-left-style: solid;
+    border-right-width: 0; } }
+
+@media screen and (min-width: 64em) {
+  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 0;
+    top: 100%; }
+  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 0;
+    top: 100%; }
+  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
+    padding-right: 1.5rem;
+    position: relative; }
+  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: #2199e8 transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    right: 5px;
+    margin-top: -2px; }
+  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
+    top: 0; }
+  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 100%; }
+  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 100%; }
+  .dropdown.menu.large-vertical > li > a::after {
+    right: 14px;
+    margin-top: -3px; }
+  .dropdown.menu.large-vertical > li.opens-left > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent #2199e8 transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0; }
+  .dropdown.menu.large-vertical > li.opens-right > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent transparent transparent #2199e8;
+    border-left-style: solid;
+    border-right-width: 0; } }
+
+.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
+  top: 100%;
+  left: auto;
+  right: 0; }
+
+.is-dropdown-menu.vertical {
+  width: 100px; }
+  .is-dropdown-menu.vertical.align-right {
+    float: right; }
+
+.is-dropdown-submenu-parent {
+  position: relative; }
+  .is-dropdown-submenu-parent a::after {
+    position: absolute;
+    top: 50%;
+    right: 5px;
+    margin-top: -2px; }
+  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
+    top: 100%;
+    left: auto; }
+  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 100%; }
+  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 100%; }
+
+.is-dropdown-submenu {
+  display: none;
+  position: absolute;
+  top: 0;
+  left: 100%;
+  min-width: 200px;
+  z-index: 1;
+  background: #fefefe;
+  border: 1px solid #cacaca; }
+  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
+    right: 14px;
+    margin-top: -3px; }
+  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent #2199e8 transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0; }
+  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent transparent transparent #2199e8;
+    border-left-style: solid;
+    border-right-width: 0; }
+  .is-dropdown-submenu .is-dropdown-submenu {
+    margin-top: -1px; }
+  .is-dropdown-submenu > li {
+    width: 100%; }
+  .is-dropdown-submenu.js-dropdown-active {
+    display: block; }
+
+.flex-video {
+  position: relative;
+  height: 0;
+  padding-bottom: 75%;
+  margin-bottom: 1rem;
+  overflow: hidden; }
+  .flex-video iframe,
+  .flex-video object,
+  .flex-video embed,
+  .flex-video video {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%; }
+  .flex-video.widescreen {
+    padding-bottom: 56.25%; }
+  .flex-video.vimeo {
+    padding-top: 0; }
+
+.label {
+  display: inline-block;
+  padding: 0.33333rem 0.5rem;
+  font-size: 0.8rem;
+  line-height: 1;
+  white-space: nowrap;
+  cursor: default;
+  border-radius: 0;
+  background: #2199e8;
+  color: #fefefe; }
+  .label.secondary {
+    background: #777;
+    color: #fefefe; }
+  .label.success {
+    background: #3adb76;
+    color: #fefefe; }
+  .label.warning {
+    background: #ffae00;
+    color: #fefefe; }
+  .label.alert {
+    background: #ec5840;
+    color: #fefefe; }
+
+.media-object {
+  margin-bottom: 1rem;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-wrap: nowrap;
+      -ms-flex-wrap: nowrap;
+          flex-wrap: nowrap; }
+  .media-object img {
+    max-width: none; }
+  @media screen and (max-width: 39.9375em) {
+    .media-object.stack-for-small {
+      -webkit-flex-wrap: wrap;
+          -ms-flex-wrap: wrap;
+              flex-wrap: wrap; } }
+  @media screen and (max-width: 39.9375em) {
+    .media-object.stack-for-small .media-object-section {
+      padding: 0;
+      padding-bottom: 1rem;
+      -webkit-flex-basis: 100%;
+          -ms-flex-preferred-size: 100%;
+              flex-basis: 100%;
+      max-width: 100%; }
+      .media-object.stack-for-small .media-object-section img {
+        width: 100%; } }
+
+.media-object-section {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 1 auto;
+      -ms-flex: 0 1 auto;
+          flex: 0 1 auto; }
+  .media-object-section:first-child {
+    padding-right: 1rem; }
+  .media-object-section:last-child:not(:nth-child(2)) {
+    padding-left: 1rem; }
+  .media-object-section > :last-child {
+    margin-bottom: 0; }
+  .media-object-section.main-section {
+    -webkit-box-flex: 1;
+    -webkit-flex: 1 1 0px;
+        -ms-flex: 1 1 0px;
+            flex: 1 1 0px; }
+
+html,
+body {
+  height: 100%; }
+
+.off-canvas-wrapper {
+  width: 100%;
+  overflow-x: hidden;
+  position: relative;
+  -webkit-backface-visibility: hidden;
+          backface-visibility: hidden;
+  -webkit-overflow-scrolling: auto; }
+
+.off-canvas-wrapper-inner {
+  position: relative;
+  width: 100%;
+  -webkit-transition: -webkit-transform 0.5s ease;
+          transition: transform 0.5s ease; }
+  .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
+    content: ' ';
+    display: table;
+    -webkit-flex-basis: 0;
+        -ms-flex-preferred-size: 0;
+            flex-basis: 0;
+    -webkit-box-ordinal-group: 2;
+    -webkit-order: 1;
+        -ms-flex-order: 1;
+            order: 1; }
+  .off-canvas-wrapper-inner::after {
+    clear: both; }
+
+.off-canvas-content,
+.off-canvas-content {
+  min-height: 100%;
+  background: #fefefe;
+  -webkit-transition: -webkit-transform 0.5s ease;
+          transition: transform 0.5s ease;
+  -webkit-backface-visibility: hidden;
+          backface-visibility: hidden;
+  z-index: 1;
+  padding-bottom: 0.1px;
+  -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.5);
+          box-shadow: 0 0 10px rgba(10, 10, 10, 0.5); }
+
+.js-off-canvas-exit {
+  display: none;
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background: rgba(254, 254, 254, 0.25);
+  cursor: pointer;
+  -webkit-transition: background 0.5s ease;
+          transition: background 0.5s ease; }
+
+.off-canvas {
+  position: absolute;
+  background: #e6e6e6;
+  z-index: -1;
+  max-height: 100%;
+  overflow-y: auto;
+  -webkit-transform: translateX(0);
+      -ms-transform: translateX(0);
+          transform: translateX(0); }
+  [data-whatinput='mouse'] .off-canvas {
+    outline: 0; }
+  .off-canvas.position-left {
+    left: -250px;
+    top: 0;
+    width: 250px; }
+    .is-open-left {
+      -webkit-transform: translateX(250px);
+          -ms-transform: translateX(250px);
+              transform: translateX(250px); }
+  .off-canvas.position-right {
+    right: -250px;
+    top: 0;
+    width: 250px; }
+    .is-open-right {
+      -webkit-transform: translateX(-250px);
+          -ms-transform: translateX(-250px);
+              transform: translateX(-250px); }
+
+@media screen and (min-width: 40em) {
+  .position-left.reveal-for-medium {
+    left: 0;
+    z-index: auto;
+    position: fixed; }
+    .position-left.reveal-for-medium ~ .off-canvas-content {
+      margin-left: 250px; }
+  .position-right.reveal-for-medium {
+    right: 0;
+    z-index: auto;
+    position: fixed; }
+    .position-right.reveal-for-medium ~ .off-canvas-content {
+      margin-right: 250px; } }
+
+@media screen and (min-width: 64em) {
+  .position-left.reveal-for-large {
+    left: 0;
+    z-index: auto;
+    position: fixed; }
+    .position-left.reveal-for-large ~ .off-canvas-content {
+      margin-left: 250px; }
+  .position-right.reveal-for-large {
+    right: 0;
+    z-index: auto;
+    position: fixed; }
+    .position-right.reveal-for-large ~ .off-canvas-content {
+      margin-right: 250px; } }
+
+.orbit {
+  position: relative; }
+
+.orbit-container {
+  position: relative;
+  margin: 0;
+  overflow: hidden;
+  list-style: none; }
+
+.orbit-slide {
+  width: 100%;
+  max-height: 100%; }
+  .orbit-slide.no-motionui.is-active {
+    top: 0;
+    left: 0; }
+
+.orbit-figure {
+  margin: 0; }
+
+.orbit-image {
+  margin: 0;
+  width: 100%;
+  max-width: 100%; }
+
+.orbit-caption {
+  position: absolute;
+  bottom: 0;
+  width: 100%;
+  padding: 1rem;
+  margin-bottom: 0;
+  color: #fefefe;
+  background-color: rgba(10, 10, 10, 0.5); }
+
+.orbit-previous, .orbit-next {
+  position: absolute;
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+      -ms-transform: translateY(-50%);
+          transform: translateY(-50%);
+  z-index: 10;
+  padding: 1rem;
+  color: #fefefe; }
+  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
+    outline: 0; }
+  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
+    background-color: rgba(10, 10, 10, 0.5); }
+
+.orbit-previous {
+  left: 0; }
+
+.orbit-next {
+  left: auto;
+  right: 0; }
+
+.orbit-bullets {
+  position: relative;
+  margin-top: 0.8rem;
+  margin-bottom: 0.8rem;
+  text-align: center; }
+  [data-whatinput='mouse'] .orbit-bullets {
+    outline: 0; }
+  .orbit-bullets button {
+    width: 1.2rem;
+    height: 1.2rem;
+    margin: 0.1rem;
+    background-color: #cacaca;
+    border-radius: 50%; }
+    .orbit-bullets button:hover {
+      background-color: #8a8a8a; }
+    .orbit-bullets button.is-active {
+      background-color: #8a8a8a; }
+
+.pagination {
+  margin-left: 0;
+  margin-bottom: 1rem; }
+  .pagination::before, .pagination::after {
+    content: ' ';
+    display: table;
+    -webkit-flex-basis: 0;
+        -ms-flex-preferred-size: 0;
+            flex-basis: 0;
+    -webkit-box-ordinal-group: 2;
+    -webkit-order: 1;
+        -ms-flex-order: 1;
+            order: 1; }
+  .pagination::after {
+    clear: both; }
+  .pagination li {
+    font-size: 0.875rem;
+    margin-right: 0.0625rem;
+    border-radius: 0;
+    display: none; }
+    .pagination li:last-child, .pagination li:first-child {
+      display: inline-block; }
+    @media screen and (min-width: 40em) {
+      .pagination li {
+        display: inline-block; } }
+  .pagination a,
+  .pagination button {
+    color: #0a0a0a;
+    display: block;
+    padding: 0.1875rem 0.625rem;
+    border-radius: 0; }
+    .pagination a:hover,
+    .pagination button:hover {
+      background: #e6e6e6; }
+  .pagination .current {
+    padding: 0.1875rem 0.625rem;
+    background: #2199e8;
+    color: #fefefe;
+    cursor: default; }
+  .pagination .disabled {
+    padding: 0.1875rem 0.625rem;
+    color: #cacaca;
+    cursor: not-allowed; }
+    .pagination .disabled:hover {
+      background: transparent; }
+  .pagination .ellipsis::after {
+    content: '\2026';
+    padding: 0.1875rem 0.625rem;
+    color: #0a0a0a; }
+
+.pagination-previous a::before,
+.pagination-previous.disabled::before {
+  content: '\00ab';
+  display: inline-block;
+  margin-right: 0.5rem; }
+
+.pagination-next a::after,
+.pagination-next.disabled::after {
+  content: '\00bb';
+  display: inline-block;
+  margin-left: 0.5rem; }
+
+.progress {
+  background-color: #cacaca;
+  height: 1rem;
+  margin-bottom: 1rem;
+  border-radius: 0; }
+  .progress.primary .progress-meter {
+    background-color: #2199e8; }
+  .progress.secondary .progress-meter {
+    background-color: #777; }
+  .progress.success .progress-meter {
+    background-color: #3adb76; }
+  .progress.warning .progress-meter {
+    background-color: #ffae00; }
+  .progress.alert .progress-meter {
+    background-color: #ec5840; }
+
+.progress-meter {
+  position: relative;
+  display: block;
+  width: 0%;
+  height: 100%;
+  background-color: #2199e8; }
+
+.progress-meter-text {
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  -webkit-transform: translate(-50%, -50%);
+      -ms-transform: translate(-50%, -50%);
+          transform: translate(-50%, -50%);
+  position: absolute;
+  margin: 0;
+  font-size: 0.75rem;
+  font-weight: bold;
+  color: #fefefe;
+  white-space: nowrap; }
+
+.slider {
+  position: relative;
+  height: 0.5rem;
+  margin-top: 1.25rem;
+  margin-bottom: 2.25rem;
+  background-color: #e6e6e6;
+  cursor: pointer;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  -ms-touch-action: none;
+      touch-action: none; }
+
+.slider-fill {
+  position: absolute;
+  top: 0;
+  left: 0;
+  display: inline-block;
+  max-width: 100%;
+  height: 0.5rem;
+  background-color: #cacaca;
+  -webkit-transition: all 0.2s ease-in-out;
+          transition: all 0.2s ease-in-out; }
+  .slider-fill.is-dragging {
+    -webkit-transition: all 0s linear;
+            transition: all 0s linear; }
+
+.slider-handle {
+  position: absolute;
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+      -ms-transform: translateY(-50%);
+          transform: translateY(-50%);
+  position: absolute;
+  left: 0;
+  z-index: 1;
+  display: inline-block;
+  width: 1.4rem;
+  height: 1.4rem;
+  background-color: #2199e8;
+  -webkit-transition: all 0.2s ease-in-out;
+          transition: all 0.2s ease-in-out;
+  -ms-touch-action: manipulation;
+      touch-action: manipulation;
+  border-radius: 0; }
+  [data-whatinput='mouse'] .slider-handle {
+    outline: 0; }
+  .slider-handle:hover {
+    background-color: #1583cc; }
+  .slider-handle.is-dragging {
+    -webkit-transition: all 0s linear;
+            transition: all 0s linear; }
+
+.slider.disabled,
+.slider[disabled] {
+  opacity: 0.25;
+  cursor: not-allowed; }
+
+.slider.vertical {
+  display: inline-block;
+  width: 0.5rem;
+  height: 12.5rem;
+  margin: 0 1.25rem;
+  -webkit-transform: scale(1, -1);
+      -ms-transform: scale(1, -1);
+          transform: scale(1, -1); }
+  .slider.vertical .slider-fill {
+    top: 0;
+    width: 0.5rem;
+    max-height: 100%; }
+  .slider.vertical .slider-handle {
+    position: absolute;
+    top: 0;
+    left: 50%;
+    width: 1.4rem;
+    height: 1.4rem;
+    -webkit-transform: translateX(-50%);
+        -ms-transform: translateX(-50%);
+            transform: translateX(-50%); }
+
+.sticky-container {
+  position: relative; }
+
+.sticky {
+  position: absolute;
+  z-index: 0;
+  -webkit-transform: translate3d(0, 0, 0);
+          transform: translate3d(0, 0, 0); }
+
+.sticky.is-stuck {
+  position: fixed;
+  z-index: 5; }
+  .sticky.is-stuck.is-at-top {
+    top: 0; }
+  .sticky.is-stuck.is-at-bottom {
+    bottom: 0; }
+
+.sticky.is-anchored {
+  position: absolute;
+  left: auto;
+  right: auto; }
+  .sticky.is-anchored.is-at-bottom {
+    bottom: 0; }
+
+body.is-reveal-open {
+  overflow: hidden; }
+
+html.is-reveal-open,
+html.is-reveal-open body {
+  height: 100%;
+  overflow: hidden;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none; }
+
+.reveal-overlay {
+  display: none;
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  z-index: 1005;
+  background-color: rgba(10, 10, 10, 0.45);
+  overflow-y: scroll; }
+
+.reveal {
+  display: none;
+  z-index: 1006;
+  padding: 1rem;
+  border: 1px solid #cacaca;
+  background-color: #fefefe;
+  border-radius: 0;
+  position: relative;
+  top: 100px;
+  margin-left: auto;
+  margin-right: auto;
+  overflow-y: auto; }
+  [data-whatinput='mouse'] .reveal {
+    outline: 0; }
+  @media screen and (min-width: 40em) {
+    .reveal {
+      min-height: 0; } }
+  .reveal .column, .reveal .columns,
+  .reveal .columns {
+    min-width: 0; }
+  .reveal > :last-child {
+    margin-bottom: 0; }
+  @media screen and (min-width: 40em) {
+    .reveal {
+      width: 600px;
+      max-width: 75rem; } }
+  @media screen and (min-width: 40em) {
+    .reveal .reveal {
+      left: auto;
+      right: auto;
+      margin: 0 auto; } }
+  .reveal.collapse {
+    padding: 0; }
+  @media screen and (min-width: 40em) {
+    .reveal.tiny {
+      width: 30%;
+      max-width: 75rem; } }
+  @media screen and (min-width: 40em) {
+    .reveal.small {
+      width: 50%;
+      max-width: 75rem; } }
+  @media screen and (min-width: 40em) {
+    .reveal.large {
+      width: 90%;
+      max-width: 75rem; } }
+  .reveal.full {
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    height: 100vh;
+    min-height: 100vh;
+    max-width: none;
+    margin-left: 0;
+    border: 0;
+    border-radius: 0; }
+  @media screen and (max-width: 39.9375em) {
+    .reveal {
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 100%;
+      height: 100vh;
+      min-height: 100vh;
+      max-width: none;
+      margin-left: 0;
+      border: 0;
+      border-radius: 0; } }
+  .reveal.without-overlay {
+    position: fixed; }
+
+.switch {
+  margin-bottom: 1rem;
+  outline: 0;
+  position: relative;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  color: #fefefe;
+  font-weight: bold;
+  font-size: 0.875rem; }
+
+.switch-input {
+  opacity: 0;
+  position: absolute; }
+
+.switch-paddle {
+  background: #cacaca;
+  cursor: pointer;
+  display: block;
+  position: relative;
+  width: 4rem;
+  height: 2rem;
+  -webkit-transition: all 0.25s ease-out;
+          transition: all 0.25s ease-out;
+  border-radius: 0;
+  color: inherit;
+  font-weight: inherit; }
+  input + .switch-paddle {
+    margin: 0; }
+  .switch-paddle::after {
+    background: #fefefe;
+    content: '';
+    display: block;
+    position: absolute;
+    height: 1.5rem;
+    left: 0.25rem;
+    top: 0.25rem;
+    width: 1.5rem;
+    -webkit-transition: all 0.25s ease-out;
+            transition: all 0.25s ease-out;
+    -webkit-transform: translate3d(0, 0, 0);
+            transform: translate3d(0, 0, 0);
+    border-radius: 0; }
+  input:checked ~ .switch-paddle {
+    background: #2199e8; }
+    input:checked ~ .switch-paddle::after {
+      left: 2.25rem; }
+  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
+    outline: 0; }
+
+.switch-active, .switch-inactive {
+  position: absolute;
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+      -ms-transform: translateY(-50%);
+          transform: translateY(-50%); }
+
+.switch-active {
+  left: 8%;
+  display: none; }
+  input:checked + label > .switch-active {
+    display: block; }
+
+.switch-inactive {
+  right: 15%; }
+  input:checked + label > .switch-inactive {
+    display: none; }
+
+.switch.tiny .switch-paddle {
+  width: 3rem;
+  height: 1.5rem;
+  font-size: 0.625rem; }
+
+.switch.tiny .switch-paddle::after {
+  width: 1rem;
+  height: 1rem; }
+
+.switch.tiny input:checked ~ .switch-paddle::after {
+  left: 1.75rem; }
+
+.switch.small .switch-paddle {
+  width: 3.5rem;
+  height: 1.75rem;
+  font-size: 0.75rem; }
+
+.switch.small .switch-paddle::after {
+  width: 1.25rem;
+  height: 1.25rem; }
+
+.switch.small input:checked ~ .switch-paddle::after {
+  left: 2rem; }
+
+.switch.large .switch-paddle {
+  width: 5rem;
+  height: 2.5rem;
+  font-size: 1rem; }
+
+.switch.large .switch-paddle::after {
+  width: 2rem;
+  height: 2rem; }
+
+.switch.large input:checked ~ .switch-paddle::after {
+  left: 2.75rem; }
+
+table {
+  width: 100%;
+  margin-bottom: 1rem;
+  border-radius: 0; }
+  table thead,
+  table tbody,
+  table tfoot {
+    border: 1px solid #f1f1f1;
+    background-color: #fefefe; }
+  table caption {
+    font-weight: bold;
+    padding: 0.5rem 0.625rem 0.625rem; }
+  table thead,
+  table tfoot {
+    background: #f8f8f8;
+    color: #0a0a0a; }
+    table thead tr,
+    table tfoot tr {
+      background: transparent; }
+    table thead th,
+    table thead td,
+    table tfoot th,
+    table tfoot td {
+      padding: 0.5rem 0.625rem 0.625rem;
+      font-weight: bold;
+      text-align: left; }
+  table tbody tr:nth-child(even) {
+    background-color: #f1f1f1; }
+  table tbody th,
+  table tbody td {
+    padding: 0.5rem 0.625rem 0.625rem; }
+
+@media screen and (max-width: 63.9375em) {
+  table.stack thead {
+    display: none; }
+  table.stack tfoot {
+    display: none; }
+  table.stack tr,
+  table.stack th,
+  table.stack td {
+    display: block; }
+  table.stack td {
+    border-top: 0; } }
+
+table.scroll {
+  display: block;
+  width: 100%;
+  overflow-x: auto; }
+
+table.hover tr:hover {
+  background-color: #f9f9f9; }
+
+table.hover tr:nth-of-type(even):hover {
+  background-color: #ececec; }
+
+.table-scroll {
+  overflow-x: auto; }
+  .table-scroll table {
+    width: auto; }
+
+.tabs {
+  margin: 0;
+  list-style-type: none;
+  background: #fefefe;
+  border: 1px solid #e6e6e6; }
+  .tabs::before, .tabs::after {
+    content: ' ';
+    display: table;
+    -webkit-flex-basis: 0;
+        -ms-flex-preferred-size: 0;
+            flex-basis: 0;
+    -webkit-box-ordinal-group: 2;
+    -webkit-order: 1;
+        -ms-flex-order: 1;
+            order: 1; }
+  .tabs::after {
+    clear: both; }
+
+.tabs.vertical > li {
+  width: auto;
+  float: none;
+  display: block; }
+
+.tabs.simple > li > a {
+  padding: 0; }
+  .tabs.simple > li > a:hover {
+    background: transparent; }
+
+.tabs.primary {
+  background: #2199e8; }
+  .tabs.primary > li > a {
+    color: #fefefe; }
+    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
+      background: #1893e4; }
+
+.tabs-title {
+  float: left; }
+  .tabs-title > a {
+    display: block;
+    padding: 1.25rem 1.5rem;
+    line-height: 1;
+    font-size: 0.75rem; }
+    .tabs-title > a:hover {
+      background: #fefefe; }
+    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
+      background: #e6e6e6; }
+
+.tabs-content {
+  background: #fefefe;
+  -webkit-transition: all 0.5s ease;
+          transition: all 0.5s ease;
+  border: 1px solid #e6e6e6;
+  border-top: 0; }
+
+.tabs-content.vertical {
+  border: 1px solid #e6e6e6;
+  border-left: 0; }
+
+.tabs-panel {
+  display: none;
+  padding: 1rem; }
+  .tabs-panel.is-active {
+    display: block; }
+
+.thumbnail {
+  border: solid 4px #fefefe;
+  -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
+          box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
+  display: inline-block;
+  line-height: 0;
+  max-width: 100%;
+  -webkit-transition: -webkit-box-shadow 200ms ease-out;
+          transition: box-shadow 200ms ease-out;
+  border-radius: 0;
+  margin-bottom: 1rem; }
+  .thumbnail:hover, .thumbnail:focus {
+    -webkit-box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5);
+            box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5); }
+
+.title-bar {
+  background: #0a0a0a;
+  color: #fefefe;
+  padding: 0.5rem;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+  -webkit-align-items: center;
+      -ms-flex-align: center;
+          align-items: center;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+      -ms-flex-pack: justify;
+          justify-content: space-between; }
+  .title-bar .menu-icon {
+    margin-left: 0.25rem;
+    margin-right: 0.25rem; }
+
+.title-bar-left,
+.title-bar-right {
+  -webkit-box-flex: 1;
+  -webkit-flex: 1 1 0px;
+      -ms-flex: 1 1 0px;
+          flex: 1 1 0px; }
+
+.title-bar-right {
+  text-align: right; }
+
+.title-bar-title {
+  font-weight: bold;
+  vertical-align: middle;
+  display: inline-block; }
+
+.menu-icon.dark {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  cursor: pointer;
+  width: 20px;
+  height: 16px; }
+  .menu-icon.dark::after {
+    content: '';
+    position: absolute;
+    display: block;
+    width: 100%;
+    height: 2px;
+    background: #0a0a0a;
+    top: 0;
+    left: 0;
+    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
+            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; }
+  .menu-icon.dark:hover::after {
+    background: #8a8a8a;
+    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
+            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }
+
+.has-tip {
+  border-bottom: dotted 1px #8a8a8a;
+  font-weight: bold;
+  position: relative;
+  display: inline-block;
+  cursor: help; }
+
+.tooltip {
+  background-color: #0a0a0a;
+  color: #fefefe;
+  font-size: 80%;
+  padding: 0.75rem;
+  position: absolute;
+  z-index: 10;
+  top: calc(100% + 0.6495rem);
+  max-width: 10rem !important;
+  border-radius: 0; }
+  .tooltip::before {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.75rem;
+    border-color: transparent transparent #0a0a0a;
+    border-bottom-style: solid;
+    border-top-width: 0;
+    bottom: 100%;
+    position: absolute;
+    left: 50%;
+    -webkit-transform: translateX(-50%);
+        -ms-transform: translateX(-50%);
+            transform: translateX(-50%); }
+  .tooltip.top::before {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.75rem;
+    border-color: #0a0a0a transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    top: 100%;
+    bottom: auto; }
+  .tooltip.left::before {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.75rem;
+    border-color: transparent transparent transparent #0a0a0a;
+    border-left-style: solid;
+    border-right-width: 0;
+    bottom: auto;
+    left: 100%;
+    top: 50%;
+    -webkit-transform: translateY(-50%);
+        -ms-transform: translateY(-50%);
+            transform: translateY(-50%); }
+  .tooltip.right::before {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.75rem;
+    border-color: transparent #0a0a0a transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0;
+    bottom: auto;
+    left: auto;
+    right: 100%;
+    top: 50%;
+    -webkit-transform: translateY(-50%);
+        -ms-transform: translateY(-50%);
+            transform: translateY(-50%); }
+
+.top-bar {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+  -webkit-align-items: center;
+      -ms-flex-align: center;
+          align-items: center;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+      -ms-flex-pack: justify;
+          justify-content: space-between;
+  -webkit-flex-wrap: nowrap;
+      -ms-flex-wrap: nowrap;
+          flex-wrap: nowrap;
+  padding: 0.5rem;
+  -webkit-flex-wrap: wrap;
+      -ms-flex-wrap: wrap;
+          flex-wrap: wrap; }
+  .top-bar,
+  .top-bar ul {
+    background-color: #e6e6e6; }
+  .top-bar input {
+    max-width: 200px;
+    margin-right: 1rem; }
+  .top-bar .input-group-field {
+    width: 100%;
+    margin-right: 0; }
+  .top-bar input.button {
+    width: auto; }
+  .top-bar .top-bar-left,
+  .top-bar .top-bar-right {
+    -webkit-box-flex: 0;
+    -webkit-flex: 0 0 100%;
+        -ms-flex: 0 0 100%;
+            flex: 0 0 100%;
+    max-width: 100%; }
+  @media screen and (min-width: 40em) {
+    .top-bar {
+      -webkit-flex-wrap: nowrap;
+          -ms-flex-wrap: nowrap;
+              flex-wrap: nowrap; }
+      .top-bar .top-bar-left,
+      .top-bar .top-bar-right {
+        -webkit-box-flex: 1;
+        -webkit-flex: 1 1 0px;
+            -ms-flex: 1 1 0px;
+                flex: 1 1 0px; } }
+  @media screen and (max-width: 63.9375em) {
+    .top-bar.stacked-for-medium {
+      -webkit-flex-wrap: wrap;
+          -ms-flex-wrap: wrap;
+              flex-wrap: wrap; }
+      .top-bar.stacked-for-medium .top-bar-left,
+      .top-bar.stacked-for-medium .top-bar-right {
+        -webkit-box-flex: 0;
+        -webkit-flex: 0 0 100%;
+            -ms-flex: 0 0 100%;
+                flex: 0 0 100%;
+        max-width: 100%; } }
+  @media screen and (max-width: 74.9375em) {
+    .top-bar.stacked-for-large {
+      -webkit-flex-wrap: wrap;
+          -ms-flex-wrap: wrap;
+              flex-wrap: wrap; }
+      .top-bar.stacked-for-large .top-bar-left,
+      .top-bar.stacked-for-large .top-bar-right {
+        -webkit-box-flex: 0;
+        -webkit-flex: 0 0 100%;
+            -ms-flex: 0 0 100%;
+                flex: 0 0 100%;
+        max-width: 100%; } }
+
+.top-bar-title {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 auto;
+      -ms-flex: 0 0 auto;
+          flex: 0 0 auto;
+  margin-right: 1rem; }
+
+.top-bar-left,
+.top-bar-right {
+  -webkit-box-flex: 0;
+  -webkit-flex: 0 0 auto;
+      -ms-flex: 0 0 auto;
+          flex: 0 0 auto; }
+
+.hide {
+  display: none !important; }
+
+.invisible {
+  visibility: hidden; }
+
+@media screen and (max-width: 39.9375em) {
+  .hide-for-small-only {
+    display: none !important; } }
+
+@media screen and (max-width: 0em), screen and (min-width: 40em) {
+  .show-for-small-only {
+    display: none !important; } }
+
+@media screen and (min-width: 40em) {
+  .hide-for-medium {
+    display: none !important; } }
+
+@media screen and (max-width: 39.9375em) {
+  .show-for-medium {
+    display: none !important; } }
+
+@media screen and (min-width: 40em) and (max-width: 63.9375em) {
+  .hide-for-medium-only {
+    display: none !important; } }
+
+@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
+  .show-for-medium-only {
+    display: none !important; } }
+
+@media screen and (min-width: 64em) {
+  .hide-for-large {
+    display: none !important; } }
+
+@media screen and (max-width: 63.9375em) {
+  .show-for-large {
+    display: none !important; } }
+
+@media screen and (min-width: 64em) and (max-width: 74.9375em) {
+  .hide-for-large-only {
+    display: none !important; } }
+
+@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
+  .show-for-large-only {
+    display: none !important; } }
+
+.show-for-sr,
+.show-on-focus {
+  position: absolute !important;
+  width: 1px;
+  height: 1px;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0); }
+
+.show-on-focus:active, .show-on-focus:focus {
+  position: static !important;
+  height: auto;
+  width: auto;
+  overflow: visible;
+  clip: auto; }
+
+.show-for-landscape,
+.hide-for-portrait {
+  display: block !important; }
+  @media screen and (orientation: landscape) {
+    .show-for-landscape,
+    .hide-for-portrait {
+      display: block !important; } }
+  @media screen and (orientation: portrait) {
+    .show-for-landscape,
+    .hide-for-portrait {
+      display: none !important; } }
+
+.hide-for-landscape,
+.show-for-portrait {
+  display: none !important; }
+  @media screen and (orientation: landscape) {
+    .hide-for-landscape,
+    .show-for-portrait {
+      display: none !important; } }
+  @media screen and (orientation: portrait) {
+    .hide-for-landscape,
+    .show-for-portrait {
+      display: block !important; } }
+
+.float-left {
+  float: left !important; }
+
+.float-right {
+  float: right !important; }
+
+.float-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto; }
+
+.clearfix::before, .clearfix::after {
+  content: ' ';
+  display: table;
+  -webkit-flex-basis: 0;
+      -ms-flex-preferred-size: 0;
+          flex-basis: 0;
+  -webkit-box-ordinal-group: 2;
+  -webkit-order: 1;
+      -ms-flex-order: 1;
+          order: 1; }
+
+.clearfix::after {
+  clear: both; }
+
+.align-right {
+  -webkit-box-pack: end;
+  -webkit-justify-content: flex-end;
+      -ms-flex-pack: end;
+          justify-content: flex-end; }
+
+.align-center {
+  -webkit-box-pack: center;
+  -webkit-justify-content: center;
+      -ms-flex-pack: center;
+          justify-content: center; }
+
+.align-justify {
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+      -ms-flex-pack: justify;
+          justify-content: space-between; }
+
+.align-spaced {
+  -webkit-justify-content: space-around;
+      -ms-flex-pack: distribute;
+          justify-content: space-around; }
+
+.align-top {
+  -webkit-box-align: start;
+  -webkit-align-items: flex-start;
+      -ms-flex-align: start;
+          align-items: flex-start; }
+
+.align-self-top {
+  -webkit-align-self: flex-start;
+      -ms-flex-item-align: start;
+          align-self: flex-start; }
+
+.align-bottom {
+  -webkit-box-align: end;
+  -webkit-align-items: flex-end;
+      -ms-flex-align: end;
+          align-items: flex-end; }
+
+.align-self-bottom {
+  -webkit-align-self: flex-end;
+      -ms-flex-item-align: end;
+          align-self: flex-end; }
+
+.align-middle {
+  -webkit-box-align: center;
+  -webkit-align-items: center;
+      -ms-flex-align: center;
+          align-items: center; }
+
+.align-self-middle {
+  -webkit-align-self: center;
+      -ms-flex-item-align: center;
+          align-self: center; }
+
+.align-stretch {
+  -webkit-box-align: stretch;
+  -webkit-align-items: stretch;
+      -ms-flex-align: stretch;
+          align-items: stretch; }
+
+.align-self-stretch {
+  -webkit-align-self: stretch;
+      -ms-flex-item-align: stretch;
+          align-self: stretch; }
+
+.small-order-1 {
+  -webkit-box-ordinal-group: 2;
+  -webkit-order: 1;
+      -ms-flex-order: 1;
+          order: 1; }
+
+.small-order-2 {
+  -webkit-box-ordinal-group: 3;
+  -webkit-order: 2;
+      -ms-flex-order: 2;
+          order: 2; }
+
+.small-order-3 {
+  -webkit-box-ordinal-group: 4;
+  -webkit-order: 3;
+      -ms-flex-order: 3;
+          order: 3; }
+
+.small-order-4 {
+  -webkit-box-ordinal-group: 5;
+  -webkit-order: 4;
+      -ms-flex-order: 4;
+          order: 4; }
+
+.small-order-5 {
+  -webkit-box-ordinal-group: 6;
+  -webkit-order: 5;
+      -ms-flex-order: 5;
+          order: 5; }
+
+.small-order-6 {
+  -webkit-box-ordinal-group: 7;
+  -webkit-order: 6;
+      -ms-flex-order: 6;
+          order: 6; }
+
+@media screen and (min-width: 40em) {
+  .medium-order-1 {
+    -webkit-box-ordinal-group: 2;
+    -webkit-order: 1;
+        -ms-flex-order: 1;
+            order: 1; }
+  .medium-order-2 {
+    -webkit-box-ordinal-group: 3;
+    -webkit-order: 2;
+        -ms-flex-order: 2;
+            order: 2; }
+  .medium-order-3 {
+    -webkit-box-ordinal-group: 4;
+    -webkit-order: 3;
+        -ms-flex-order: 3;
+            order: 3; }
+  .medium-order-4 {
+    -webkit-box-ordinal-group: 5;
+    -webkit-order: 4;
+        -ms-flex-order: 4;
+            order: 4; }
+  .medium-order-5 {
+    -webkit-box-ordinal-group: 6;
+    -webkit-order: 5;
+        -ms-flex-order: 5;
+            order: 5; }
+  .medium-order-6 {
+    -webkit-box-ordinal-group: 7;
+    -webkit-order: 6;
+        -ms-flex-order: 6;
+            order: 6; } }
+
+@media screen and (min-width: 64em) {
+  .large-order-1 {
+    -webkit-box-ordinal-group: 2;
+    -webkit-order: 1;
+        -ms-flex-order: 1;
+            order: 1; }
+  .large-order-2 {
+    -webkit-box-ordinal-group: 3;
+    -webkit-order: 2;
+        -ms-flex-order: 2;
+            order: 2; }
+  .large-order-3 {
+    -webkit-box-ordinal-group: 4;
+    -webkit-order: 3;
+        -ms-flex-order: 3;
+            order: 3; }
+  .large-order-4 {
+    -webkit-box-ordinal-group: 5;
+    -webkit-order: 4;
+        -ms-flex-order: 4;
+            order: 4; }
+  .large-order-5 {
+    -webkit-box-ordinal-group: 6;
+    -webkit-order: 5;
+        -ms-flex-order: 5;
+            order: 5; }
+  .large-order-6 {
+    -webkit-box-ordinal-group: 7;
+    -webkit-order: 6;
+        -ms-flex-order: 6;
+            order: 6; } }
+
+/*# sourceMappingURL=foundation-flex.css.map */
diff --git a/libraries/foundation-6/dist/foundation-flex.min.css b/libraries/foundation-6/dist/foundation-flex.min.css
new file mode 100755
index 00000000..bf55c8c8
--- /dev/null
+++ b/libraries/foundation-6/dist/foundation-flex.min.css
@@ -0,0 +1,2 @@
+@charset "UTF-8";
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:not-allowed}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{font-size:100%;box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{padding:0;margin:0;font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:400;line-height:1.5;color:#0a0a0a;background:#fefefe;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;-ms-interpolation-mode:bicubic;display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px;border-radius:0}select{width:100%;border-radius:0}#map_canvas embed,#map_canvas img,#map_canvas object,.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{-webkit-appearance:none;-moz-appearance:none;background:transparent;padding:0;border:0;border-radius:0;line-height:1}[data-whatinput=mouse] button{outline:0}.is-visible{display:block!important}.is-hidden{display:none!important}.row{max-width:75rem;margin-left:auto;margin-right:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.row .row{max-width:none;margin-left:-.625rem;margin-right:-.625rem}@media screen and (min-width:40em){.row .row{margin-left:-.9375rem;margin-right:-.9375rem}}.row.expanded{max-width:none}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.column,.columns{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;padding-left:.625rem;padding-right:.625rem;min-width:initial}@media screen and (min-width:40em){.column,.columns{padding-left:.9375rem;padding-right:.9375rem}}.column.row.row,.row.row.columns{float:none;display:block}.row .column.row.row,.row .row.row.columns{padding-left:0;padding-right:0;margin-left:0;margin-right:0}.small-1{-webkit-box-flex:0;-webkit-flex:0 0 8.33333%;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.small-offset-0{margin-left:0}.small-2{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.small-offset-2{margin-left:16.66667%}.small-4{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.small-offset-3{margin-left:25%}.small-5{-webkit-box-flex:0;-webkit-flex:0 0 41.66667%;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.small-offset-5{margin-left:41.66667%}.small-7{-webkit-box-flex:0;-webkit-flex:0 0 58.33333%;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.small-offset-6{margin-left:50%}.small-8{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.small-offset-8{margin-left:66.66667%}.small-10{-webkit-box-flex:0;-webkit-flex:0 0 83.33333%;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.small-offset-9{margin-left:75%}.small-11{-webkit-box-flex:0;-webkit-flex:0 0 91.66667%;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.small-offset-11{margin-left:91.66667%}.small-up-1{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-1>.column,.small-up-1>.columns{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.small-up-2{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-2>.column,.small-up-2>.columns{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.small-up-3{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-3>.column,.small-up-3>.columns{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.small-up-4{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-4>.column,.small-up-4>.columns{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.small-up-5{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-5>.column,.small-up-5>.columns{-webkit-box-flex:0;-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.small-up-6{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-6>.column,.small-up-6>.columns{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.small-up-7{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-7>.column,.small-up-7>.columns{-webkit-box-flex:0;-webkit-flex:0 0 14.28571%;-ms-flex:0 0 14.28571%;flex:0 0 14.28571%;max-width:14.28571%}.small-up-8{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.small-up-8>.column,.small-up-8>.columns{-webkit-box-flex:0;-webkit-flex:0 0 12.5%;-ms-flex:0 0 12.5%;flex:0 0 12.5%;max-width:12.5%}.small-collapse>.column,.small-collapse>.columns{padding-left:0;padding-right:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-left:.625rem;padding-right:.625rem}@media screen and (min-width:40em){.medium-1{-webkit-box-flex:0;-webkit-flex:0 0 8.33333%;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.medium-offset-0{margin-left:0}.medium-2{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.medium-offset-2{margin-left:16.66667%}.medium-4{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.medium-offset-3{margin-left:25%}.medium-5{-webkit-box-flex:0;-webkit-flex:0 0 41.66667%;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.medium-offset-5{margin-left:41.66667%}.medium-7{-webkit-box-flex:0;-webkit-flex:0 0 58.33333%;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.medium-offset-6{margin-left:50%}.medium-8{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.medium-offset-8{margin-left:66.66667%}.medium-10{-webkit-box-flex:0;-webkit-flex:0 0 83.33333%;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.medium-offset-9{margin-left:75%}.medium-11{-webkit-box-flex:0;-webkit-flex:0 0 91.66667%;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.medium-offset-11{margin-left:91.66667%}.medium-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.medium-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.medium-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.medium-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.medium-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.medium-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.medium-up-1{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-1>.column,.medium-up-1>.columns{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.medium-up-2{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-2>.column,.medium-up-2>.columns{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.medium-up-3{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-3>.column,.medium-up-3>.columns{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.medium-up-4{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-4>.column,.medium-up-4>.columns{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.medium-up-5{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-5>.column,.medium-up-5>.columns{-webkit-box-flex:0;-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.medium-up-6{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-6>.column,.medium-up-6>.columns{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.medium-up-7{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-7>.column,.medium-up-7>.columns{-webkit-box-flex:0;-webkit-flex:0 0 14.28571%;-ms-flex:0 0 14.28571%;flex:0 0 14.28571%;max-width:14.28571%}.medium-up-8{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.medium-up-8>.column,.medium-up-8>.columns{-webkit-box-flex:0;-webkit-flex:0 0 12.5%;-ms-flex:0 0 12.5%;flex:0 0 12.5%;max-width:12.5%}}@media screen and (min-width:40em) and (min-width:40em){.medium-expand{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}.row.medium-unstack>.column,.row.medium-unstack>.columns{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}@media screen and (min-width:40em){.row.medium-unstack>.column,.row.medium-unstack>.columns{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}@media screen and (min-width:40em){.medium-collapse>.column,.medium-collapse>.columns{padding-left:0;padding-right:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}}@media screen and (min-width:64em){.large-1{-webkit-box-flex:0;-webkit-flex:0 0 8.33333%;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.large-offset-0{margin-left:0}.large-2{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.large-offset-2{margin-left:16.66667%}.large-4{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.large-offset-3{margin-left:25%}.large-5{-webkit-box-flex:0;-webkit-flex:0 0 41.66667%;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.large-offset-5{margin-left:41.66667%}.large-7{-webkit-box-flex:0;-webkit-flex:0 0 58.33333%;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.large-offset-6{margin-left:50%}.large-8{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.large-offset-8{margin-left:66.66667%}.large-10{-webkit-box-flex:0;-webkit-flex:0 0 83.33333%;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.large-offset-9{margin-left:75%}.large-11{-webkit-box-flex:0;-webkit-flex:0 0 91.66667%;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.large-offset-11{margin-left:91.66667%}.large-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.large-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.large-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.large-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.large-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.large-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.large-up-1{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-1>.column,.large-up-1>.columns{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.large-up-2{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-2>.column,.large-up-2>.columns{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.large-up-3{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-3>.column,.large-up-3>.columns{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.large-up-4{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-4>.column,.large-up-4>.columns{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.large-up-5{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-5>.column,.large-up-5>.columns{-webkit-box-flex:0;-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.large-up-6{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-6>.column,.large-up-6>.columns{-webkit-box-flex:0;-webkit-flex:0 0 16.66667%;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.large-up-7{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-7>.column,.large-up-7>.columns{-webkit-box-flex:0;-webkit-flex:0 0 14.28571%;-ms-flex:0 0 14.28571%;flex:0 0 14.28571%;max-width:14.28571%}.large-up-8{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.large-up-8>.column,.large-up-8>.columns{-webkit-box-flex:0;-webkit-flex:0 0 12.5%;-ms-flex:0 0 12.5%;flex:0 0 12.5%;max-width:12.5%}}@media screen and (min-width:64em) and (min-width:64em){.large-expand{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}.row.large-unstack>.column,.row.large-unstack>.columns{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}@media screen and (min-width:64em){.row.large-unstack>.column,.row.large-unstack>.columns{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}@media screen and (min-width:64em){.large-collapse>.column,.large-collapse>.columns{padding-left:0;padding-right:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}}.shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;max-width:100%}.align-top.columns,.column.align-top{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.align-bottom.columns,.column.align-bottom{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.align-middle.columns,.column.align-middle{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.align-stretch.columns,.column.align-stretch{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}p{font-size:inherit;line-height:1.6;margin-bottom:1rem;text-rendering:optimizeLegibility}em,i{font-style:italic}b,em,i,strong{line-height:inherit}b,strong{font-weight:700}small{font-size:80%;line-height:inherit}h1,h2,h3,h4,h5,h6{font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:400;font-style:normal;color:inherit;text-rendering:optimizeLegibility;margin-top:0;margin-bottom:.5rem;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#cacaca;line-height:0}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1875rem}h4{font-size:1.125rem}h5{font-size:1.0625rem}h6{font-size:1rem}@media screen and (min-width:40em){h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:1.9375rem}h4{font-size:1.5625rem}h5{font-size:1.25rem}h6{font-size:1rem}}a{color:#2199e8;text-decoration:none;line-height:inherit;cursor:pointer}a:focus,a:hover{color:#1585cf}a img{border:0}hr{max-width:75rem;height:0;border-right:0;border-top:0;border-bottom:1px solid #cacaca;border-left:0;margin:1.25rem auto;clear:both}dl,ol,ul{line-height:1.6;margin-bottom:1rem;list-style-position:outside}li{font-size:inherit}ul{list-style-type:disc}ol,ul{margin-left:1.25rem}ol ol,ol ul,ul ol,ul ul{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:700}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}cite{display:block;font-size:.8125rem;color:#8a8a8a}cite:before{content:'\2014 \0020'}abbr{color:#0a0a0a;cursor:help;border-bottom:1px dotted #0a0a0a}code{font-weight:400;border:1px solid #cacaca;padding:.125rem .3125rem .0625rem}code,kbd{font-family:Consolas,Liberation Mono,Courier,monospace;color:#0a0a0a;background-color:#e6e6e6}kbd{padding:.125rem .25rem 0;margin:0}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:400;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}.no-bullet{margin-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media screen and (min-width:40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media screen and (min-width:64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none!important}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.show-for-print{display:block!important}.hide-for-print{display:none!important}table.show-for-print{display:table!important}thead.show-for-print{display:table-header-group!important}tbody.show-for-print{display:table-row-group!important}tr.show-for-print{display:table-row!important}td.show-for-print,th.show-for-print{display:table-cell!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='#']:after,a[href^='javascript:']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{display:block;box-sizing:border-box;width:100%;height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-family:inherit;font-size:1rem;color:#0a0a0a;background-color:#fefefe;box-shadow:inset 0 1px 2px hsla(0,0%,4%,.1);border-radius:0;-webkit-transition:-webkit-box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out;-webkit-appearance:none;-moz-appearance:none}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{border:1px solid #8a8a8a;background-color:#fefefe;outline:none;box-shadow:0 0 5px #cacaca;-webkit-transition:-webkit-box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out}textarea{max-width:100%}textarea[rows]{height:auto}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#cacaca}input::-moz-placeholder,textarea::-moz-placeholder{color:#cacaca}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#cacaca}input::placeholder,textarea::placeholder{color:#cacaca}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type=button],[type=submit]{border-radius:0;-webkit-appearance:none;-moz-appearance:none}input[type=search]{box-sizing:border-box}[type=checkbox],[type=file],[type=radio]{margin:0 0 1rem}[type=checkbox]+label,[type=radio]+label{display:inline-block;margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}[type=checkbox]+label[for],[type=radio]+label[for]{cursor:pointer}label>[type=checkbox],label>[type=radio]{margin-right:.5rem}[type=file]{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:400;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin-bottom:1rem;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.input-group>:first-child,.input-group>:last-child>*{border-radius:0 0 0 0}.input-group-button,.input-group-field,.input-group-label{margin:0;white-space:nowrap}.input-group-label{text-align:center;padding:0 1rem;background:#e6e6e6;color:#0a0a0a;border:1px solid #cacaca;white-space:nowrap;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto;height:auto}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.input-group-button a,.input-group-button button,.input-group-button input{margin:0}.input-group .input-group-button{display:table-cell}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:.5rem;max-width:100%}.fieldset{border:1px solid #cacaca;padding:1.25rem;margin:1.125rem 0}.fieldset legend{background:#fefefe;padding:0 .1875rem;margin:0;margin-left:-.1875rem}select{height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-size:1rem;font-family:inherit;line-height:normal;color:#0a0a0a;background-color:#fefefe;border-radius:0;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-size:9px 6px;background-position:right -1rem center;background-origin:content-box;background-repeat:no-repeat;padding-right:1.5rem}@media screen and (min-width:0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){background-color:rgba(236,88,64,.1);border-color:#ec5840}.form-error,.is-invalid-label{color:#ec5840}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:700}.form-error.is-visible{display:block}.button{display:inline-block;text-align:center;line-height:1;cursor:pointer;-webkit-appearance:none;-webkit-transition:background-color .25s ease-out,color .25s ease-out;transition:background-color .25s ease-out,color .25s ease-out;vertical-align:middle;border:1px solid transparent;border-radius:0;padding:.85em 1em;margin:0 0 1rem;font-size:.9rem;background-color:#2199e8;color:#fefefe}[data-whatinput=mouse] .button{outline:0}.button:focus,.button:hover{background-color:#1583cc;color:#fefefe}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-left:0;margin-right:0}.button.primary{background-color:#2199e8;color:#fefefe}.button.primary:focus,.button.primary:hover{background-color:#147cc0;color:#fefefe}.button.secondary{background-color:#777;color:#fefefe}.button.secondary:focus,.button.secondary:hover{background-color:#5f5f5f;color:#fefefe}.button.success{background-color:#3adb76;color:#fefefe}.button.success:focus,.button.success:hover{background-color:#22bb5b;color:#fefefe}.button.warning{background-color:#ffae00;color:#fefefe}.button.warning:focus,.button.warning:hover{background-color:#cc8b00;color:#fefefe}.button.alert{background-color:#ec5840;color:#fefefe}.button.alert:focus,.button.alert:hover{background-color:#da3116;color:#fefefe}.button.hollow{border:1px solid #2199e8;color:#2199e8}.button.hollow,.button.hollow:focus,.button.hollow:hover{background-color:transparent}.button.hollow:focus,.button.hollow:hover{border-color:#0c4d78;color:#0c4d78}.button.hollow.primary{border:1px solid #2199e8;color:#2199e8}.button.hollow.primary:focus,.button.hollow.primary:hover{border-color:#0c4d78;color:#0c4d78}.button.hollow.secondary{border:1px solid #777;color:#777}.button.hollow.secondary:focus,.button.hollow.secondary:hover{border-color:#3c3c3c;color:#3c3c3c}.button.hollow.success{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:focus,.button.hollow.success:hover{border-color:#157539;color:#157539}.button.hollow.warning{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:#805700;color:#805700}.button.hollow.alert{border:1px solid #ec5840;color:#ec5840}.button.hollow.alert:focus,.button.hollow.alert:hover{border-color:#881f0e;color:#881f0e}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled:focus,.button.disabled:hover,.button[disabled]:focus,.button[disabled]:hover{background-color:#2199e8;color:#fefefe}.button.dropdown:after{content:'';display:block;width:0;height:0;border:.4em inset;border-color:#fefefe transparent transparent;border-top-style:solid;border-bottom-width:0;position:relative;top:.4em;float:right;margin-left:1em;display:inline-block}.button.arrow-only:after{margin-left:0;float:none;top:-.1em}.accordion{list-style-type:none;background:#fefefe;margin-left:0}.accordion-item:first-child>:first-child,.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{display:block;padding:1.25rem 1rem;line-height:1;font-size:.75rem;color:#2199e8;position:relative;border:1px solid #e6e6e6;border-bottom:0}:last-child:not(.is-active)>.accordion-title{border-radius:0 0 0 0;border-bottom:1px solid #e6e6e6}.accordion-title:focus,.accordion-title:hover{background-color:#e6e6e6}.accordion-title:before{content:'+';position:absolute;right:1rem;top:50%;margin-top:-.5rem}.is-active>.accordion-title:before{content:'–'}.accordion-content{padding:1rem;display:none;border:1px solid #e6e6e6;border-bottom:0;background-color:#fefefe;color:#0a0a0a}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.is-accordion-submenu-parent>a{position:relative}.is-accordion-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:6px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;position:absolute;top:50%;margin-top:-4px;right:1rem}.is-accordion-submenu-parent[aria-expanded=true]>a:after{-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:scaleY(-1);transform:scaleY(-1)}.badge{display:inline-block;padding:.3em;min-width:2.1em;font-size:.6rem;text-align:center;border-radius:50%;background:#2199e8;color:#fefefe}.badge.secondary{background:#777;color:#fefefe}.badge.success{background:#3adb76;color:#fefefe}.badge.warning{background:#ffae00;color:#fefefe}.badge.alert{background:#ec5840;color:#fefefe}.breadcrumbs{list-style:none;margin:0 0 1rem}.breadcrumbs:after,.breadcrumbs:before{content:' ';display:table;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.breadcrumbs:after{clear:both}.breadcrumbs li{float:left;color:#0a0a0a;font-size:.6875rem;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child):after{color:#cacaca;content:"/";margin:0 .75rem;position:relative;top:1px;opacity:1}.breadcrumbs a{color:#2199e8}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.button-group{margin-bottom:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.button-group:after,.button-group:before{content:' ';display:table;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.button-group:after{clear:both}.button-group .button{margin:0;margin-right:1px;margin-bottom:1px;font-size:.9rem;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded .button{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.button-group.primary .button{background-color:#2199e8;color:#fefefe}.button-group.primary .button:focus,.button-group.primary .button:hover{background-color:#147cc0;color:#fefefe}.button-group.secondary .button{background-color:#777;color:#fefefe}.button-group.secondary .button:focus,.button-group.secondary .button:hover{background-color:#5f5f5f;color:#fefefe}.button-group.success .button{background-color:#3adb76;color:#fefefe}.button-group.success .button:focus,.button-group.success .button:hover{background-color:#22bb5b;color:#fefefe}.button-group.warning .button{background-color:#ffae00;color:#fefefe}.button-group.warning .button:focus,.button-group.warning .button:hover{background-color:#cc8b00;color:#fefefe}.button-group.alert .button{background-color:#ec5840;color:#fefefe}.button-group.alert .button:focus,.button-group.alert .button:hover{background-color:#da3116;color:#fefefe}.button-group.stacked,.button-group.stacked-for-medium,.button-group.stacked-for-small{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group.stacked-for-medium .button,.button-group.stacked-for-small .button,.button-group.stacked .button{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}.button-group.stacked-for-medium .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked .button:last-child{margin-bottom:0}@media screen and (min-width:40em){.button-group.stacked-for-small .button{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;margin-bottom:0}}@media screen and (min-width:64em){.button-group.stacked-for-medium .button{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;margin-bottom:0}}@media screen and (max-width:39.9375em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}.callout{margin:0 0 1rem;padding:1rem;border:1px solid hsla(0,0%,4%,.25);border-radius:0;position:relative;color:#0a0a0a;background-color:#fff}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#def0fc}.callout.secondary{background-color:#ebebeb}.callout.success{background-color:#e1faea}.callout.warning{background-color:#fff3d9}.callout.alert{background-color:#fce6e2}.callout.small{padding:.5rem}.callout.large{padding:3rem}.close-button{position:absolute;color:#8a8a8a;right:1rem;top:.5rem;font-size:2em;line-height:1;cursor:pointer}[data-whatinput=mouse] .close-button{outline:0}.close-button:focus,.close-button:hover{color:#0a0a0a}.menu{margin:0;list-style-type:none;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}[data-whatinput=mouse] .menu>li{outline:0}.menu>li>a{display:block;padding:.7rem 1rem;line-height:1}.menu a,.menu button,.menu input{margin-bottom:0}.menu>li>a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row}.menu>li>a i,.menu>li>a img,.menu>li>a svg{margin-right:.25rem}.menu>li{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.menu.vertical{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.menu.vertical>li{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.menu.vertical>li>a{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}@media screen and (min-width:40em){.menu.medium-horizontal{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.menu.medium-horizontal>li{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.menu.medium-vertical{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.menu.medium-vertical>li{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.menu.medium-vertical>li>a{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}}@media screen and (min-width:64em){.menu.large-horizontal{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.menu.large-horizontal>li{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.menu.large-vertical{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.menu.large-vertical>li{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.menu.large-vertical>li>a{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}}.menu.simple li{line-height:1;display:inline-block;margin-right:1rem}.menu.simple a{padding:0}.menu.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.menu.expanded>li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.expanded>li:first-child:last-child{width:100%}.menu.icon-top>li>a{-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column}.menu.icon-top>li>a i,.menu.icon-top>li>a img,.menu.icon-top>li>a svg{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;text-align:center;margin-bottom:.25rem}.menu.nested{margin-left:1rem}.menu .active>a{color:#fefefe;background:#2199e8}.menu-text{font-weight:700;color:inherit;line-height:1;padding-top:0;padding-bottom:0;padding:.7rem 1rem}.menu-centered{text-align:center}.menu-centered>.menu{display:inline-block}.no-js [data-responsive-menu] ul{display:none}.menu-icon{position:relative;display:inline-block;vertical-align:middle;cursor:pointer;width:20px;height:16px}.menu-icon:after{content:'';position:absolute;display:block;width:100%;height:2px;background:#fefefe;top:0;left:0;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe}.menu-icon:hover:after{background:#cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block!important}.is-drilldown-submenu{position:absolute;top:0;left:100%;z-index:-1;height:100%;width:100%;background:#fefefe;-webkit-transition:-webkit-transform .15s linear;transition:transform .15s linear}.is-drilldown-submenu.is-active{z-index:1;display:block;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.is-drilldown-submenu.is-closing{-webkit-transform:translateX(100%);transform:translateX(100%)}.is-drilldown-submenu-parent>a{position:relative}.is-drilldown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:6px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0;position:absolute;top:50%;margin-top:-6px;right:1rem}.js-drilldown-back>a:before{content:'';display:block;width:0;height:0;border:6px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0;display:inline-block;vertical-align:middle;margin-right:.75rem}.dropdown-pane{background-color:#fefefe;border:1px solid #cacaca;border-radius:0;display:block;font-size:1rem;padding:1rem;position:absolute;visibility:hidden;width:300px;z-index:10}.dropdown-pane.is-open{visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.dropdown.menu>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}[data-whatinput=mouse] .dropdown.menu a{outline:0}.no-js .dropdown.menu ul{display:none}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a:after{right:14px;margin-top:-3px}.dropdown.menu.vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}@media screen and (min-width:40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a:after{right:14px;margin-top:-3px}.dropdown.menu.medium-vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.medium-vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}@media screen and (min-width:64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a:after{right:14px;margin-top:-3px}.dropdown.menu.large-vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.large-vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;left:auto;right:0}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a:after{position:absolute;top:50%;right:5px;margin-top:-2px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{left:auto;right:100%}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{display:none;position:absolute;top:0;left:100%;min-width:200px;z-index:1;background:#fefefe;border:1px solid #cacaca}.is-dropdown-submenu .is-dropdown-submenu-parent>a:after{right:14px;margin-top:-3px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.flex-video{position:relative;height:0;padding-bottom:75%;margin-bottom:1rem;overflow:hidden}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.flex-video.widescreen{padding-bottom:56.25%}.flex-video.vimeo{padding-top:0}.label{display:inline-block;padding:.33333rem .5rem;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;border-radius:0;background:#2199e8;color:#fefefe}.label.secondary{background:#777;color:#fefefe}.label.success{background:#3adb76;color:#fefefe}.label.warning{background:#ffae00;color:#fefefe}.label.alert{background:#ec5840;color:#fefefe}.media-object{margin-bottom:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.media-object img{max-width:none}@media screen and (max-width:39.9375em){.media-object.stack-for-small{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}}@media screen and (max-width:39.9375em){.media-object.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.media-object.stack-for-small .media-object-section img{width:100%}}.media-object-section{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}.media-object-section.main-section{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}body,html{height:100%}.off-canvas-wrapper{width:100%;overflow-x:hidden;position:relative;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:auto}.off-canvas-wrapper-inner{position:relative;width:100%;-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease}.off-canvas-wrapper-inner:after,.off-canvas-wrapper-inner:before{content:' ';display:table;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.off-canvas-wrapper-inner:after{clear:both}.off-canvas-content{min-height:100%;background:#fefefe;-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;padding-bottom:.1px;box-shadow:0 0 10px hsla(0,0%,4%,.5)}.js-off-canvas-exit{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:hsla(0,0%,100%,.25);cursor:pointer;-webkit-transition:background .5s ease;transition:background .5s ease}.off-canvas{position:absolute;background:#e6e6e6;z-index:-1;max-height:100%;overflow-y:auto;-webkit-transform:translateX(0);transform:translateX(0)}[data-whatinput=mouse] .off-canvas{outline:0}.off-canvas.position-left{left:-250px;top:0;width:250px}.is-open-left{-webkit-transform:translateX(250px);transform:translateX(250px)}.off-canvas.position-right{right:-250px;top:0;width:250px}.is-open-right{-webkit-transform:translateX(-250px);transform:translateX(-250px)}@media screen and (min-width:40em){.position-left.reveal-for-medium{left:0;z-index:auto;position:fixed}.position-left.reveal-for-medium~.off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{right:0;z-index:auto;position:fixed}.position-right.reveal-for-medium~.off-canvas-content{margin-right:250px}}@media screen and (min-width:64em){.position-left.reveal-for-large{left:0;z-index:auto;position:fixed}.position-left.reveal-for-large~.off-canvas-content{margin-left:250px}.position-right.reveal-for-large{right:0;z-index:auto;position:fixed}.position-right.reveal-for-large~.off-canvas-content{margin-right:250px}}.orbit,.orbit-container{position:relative}.orbit-container{margin:0;overflow:hidden;list-style:none}.orbit-slide{width:100%;max-height:100%}.orbit-slide.no-motionui.is-active{top:0;left:0}.orbit-figure{margin:0}.orbit-image{margin:0;width:100%;max-width:100%}.orbit-caption{bottom:0;width:100%;margin-bottom:0;background-color:hsla(0,0%,4%,.5)}.orbit-caption,.orbit-next,.orbit-previous{position:absolute;padding:1rem;color:#fefefe}.orbit-next,.orbit-previous{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:10}[data-whatinput=mouse] .orbit-next,[data-whatinput=mouse] .orbit-previous{outline:0}.orbit-next:active,.orbit-next:focus,.orbit-next:hover,.orbit-previous:active,.orbit-previous:focus,.orbit-previous:hover{background-color:hsla(0,0%,4%,.5)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{position:relative;margin-top:.8rem;margin-bottom:.8rem;text-align:center}[data-whatinput=mouse] .orbit-bullets{outline:0}.orbit-bullets button{width:1.2rem;height:1.2rem;margin:.1rem;background-color:#cacaca;border-radius:50%}.orbit-bullets button.is-active,.orbit-bullets button:hover{background-color:#8a8a8a}.pagination{margin-left:0;margin-bottom:1rem}.pagination:after,.pagination:before{content:' ';display:table;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.pagination:after{clear:both}.pagination li{font-size:.875rem;margin-right:.0625rem;border-radius:0;display:none}.pagination li:first-child,.pagination li:last-child{display:inline-block}@media screen and (min-width:40em){.pagination li{display:inline-block}}.pagination a,.pagination button{color:#0a0a0a;display:block;padding:.1875rem .625rem;border-radius:0}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{padding:.1875rem .625rem;background:#2199e8;color:#fefefe;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#cacaca;cursor:not-allowed}.pagination .disabled:hover{background:transparent}.pagination .ellipsis:after{content:'\2026';padding:.1875rem .625rem;color:#0a0a0a}.pagination-previous.disabled:before,.pagination-previous a:before{content:'\00ab';display:inline-block;margin-right:.5rem}.pagination-next.disabled:after,.pagination-next a:after{content:'\00bb';display:inline-block;margin-left:.5rem}.progress{background-color:#cacaca;height:1rem;margin-bottom:1rem;border-radius:0}.progress.primary .progress-meter{background-color:#2199e8}.progress.secondary .progress-meter{background-color:#777}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffae00}.progress.alert .progress-meter{background-color:#ec5840}.progress-meter{position:relative;display:block;width:0;height:100%;background-color:#2199e8}.progress-meter-text{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);position:absolute;margin:0;font-size:.75rem;font-weight:700;color:#fefefe;white-space:nowrap}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#e6e6e6;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.5rem;background-color:#cacaca;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.slider-fill.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider-handle{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);position:absolute;left:0;z-index:1;display:inline-block;width:1.4rem;height:1.4rem;background-color:#2199e8;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;-ms-touch-action:manipulation;touch-action:manipulation;border-radius:0}[data-whatinput=mouse] .slider-handle{outline:0}.slider-handle:hover{background-color:#1583cc}.slider-handle.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;-webkit-transform:scaleY(-1);transform:scaleY(-1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.sticky-container{position:relative}.sticky{position:absolute;z-index:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.sticky.is-stuck{position:fixed;z-index:5}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:absolute;left:auto;right:auto}.sticky.is-anchored.is-at-bottom{bottom:0}body.is-reveal-open{overflow:hidden}html.is-reveal-open,html.is-reveal-open body{height:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reveal-overlay{display:none;position:fixed;top:0;bottom:0;left:0;right:0;z-index:1005;background-color:hsla(0,0%,4%,.45);overflow-y:scroll}.reveal{display:none;z-index:1006;padding:1rem;border:1px solid #cacaca;background-color:#fefefe;border-radius:0;position:relative;top:100px;margin-left:auto;margin-right:auto;overflow-y:auto}[data-whatinput=mouse] .reveal{outline:0}@media screen and (min-width:40em){.reveal{min-height:0}}.reveal .column,.reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media screen and (min-width:40em){.reveal{width:600px;max-width:75rem}}@media screen and (min-width:40em){.reveal .reveal{left:auto;right:auto;margin:0 auto}}.reveal.collapse{padding:0}@media screen and (min-width:40em){.reveal.tiny{width:30%;max-width:75rem}}@media screen and (min-width:40em){.reveal.small{width:50%;max-width:75rem}}@media screen and (min-width:40em){.reveal.large{width:90%;max-width:75rem}}.reveal.full{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}@media screen and (max-width:39.9375em){.reveal{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.switch{margin-bottom:1rem;outline:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fefefe;font-weight:700;font-size:.875rem}.switch-input{opacity:0;position:absolute}.switch-paddle{background:#cacaca;cursor:pointer;display:block;position:relative;width:4rem;height:2rem;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;border-radius:0;color:inherit;font-weight:inherit}input+.switch-paddle{margin:0}.switch-paddle:after{background:#fefefe;content:'';display:block;position:absolute;height:1.5rem;left:.25rem;top:.25rem;width:1.5rem;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;-webkit-transform:translateZ(0);transform:translateZ(0);border-radius:0}input:checked~.switch-paddle{background:#2199e8}input:checked~.switch-paddle:after{left:2.25rem}[data-whatinput=mouse] input:focus~.switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle:after{width:1rem;height:1rem}.switch.tiny input:checked~.switch-paddle:after{left:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle:after{width:1.25rem;height:1.25rem}.switch.small input:checked~.switch-paddle:after{left:2rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle:after{width:2rem;height:2rem}.switch.large input:checked~.switch-paddle:after{left:2.75rem}table{width:100%;margin-bottom:1rem;border-radius:0}table tbody,table tfoot,table thead{border:1px solid #f1f1f1;background-color:#fefefe}table caption{font-weight:700;padding:.5rem .625rem .625rem}table tfoot,table thead{background:#f8f8f8;color:#0a0a0a}table tfoot tr,table thead tr{background:transparent}table tfoot td,table tfoot th,table thead td,table thead th{padding:.5rem .625rem .625rem;font-weight:700;text-align:left}table tbody tr:nth-child(even){background-color:#f1f1f1}table tbody td,table tbody th{padding:.5rem .625rem .625rem}@media screen and (max-width:63.9375em){table.stack tfoot,table.stack thead{display:none}table.stack td,table.stack th,table.stack tr{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover tr:hover{background-color:#f9f9f9}table.hover tr:nth-of-type(even):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.table-scroll table{width:auto}.tabs{margin:0;list-style-type:none;background:#fefefe;border:1px solid #e6e6e6}.tabs:after,.tabs:before{content:' ';display:table;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.tabs:after{clear:both}.tabs.vertical>li{width:auto;float:none;display:block}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:transparent}.tabs.primary{background:#2199e8}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:focus,.tabs.primary>li>a:hover{background:#1893e4}.tabs-title{float:left}.tabs-title>a{display:block;padding:1.25rem 1.5rem;line-height:1;font-size:.75rem}.tabs-title>a:hover{background:#fefefe}.tabs-title>a:focus,.tabs-title>a[aria-selected=true]{background:#e6e6e6}.tabs-content{background:#fefefe;-webkit-transition:all .5s ease;transition:all .5s ease;border:1px solid #e6e6e6;border-top:0}.tabs-content.vertical{border:1px solid #e6e6e6;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{border:4px solid #fefefe;box-shadow:0 0 0 1px hsla(0,0%,4%,.2);display:inline-block;line-height:0;max-width:100%;-webkit-transition:-webkit-box-shadow .2s ease-out;transition:box-shadow .2s ease-out;border-radius:0;margin-bottom:1rem}.thumbnail:focus,.thumbnail:hover{box-shadow:0 0 6px 1px rgba(33,153,232,.5)}.title-bar{background:#0a0a0a;color:#fefefe;padding:.5rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left,.title-bar-right{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.title-bar-right{text-align:right}.title-bar-title{font-weight:700}.menu-icon.dark,.title-bar-title{vertical-align:middle;display:inline-block}.menu-icon.dark{position:relative;cursor:pointer;width:20px;height:16px}.menu-icon.dark:after{content:'';position:absolute;display:block;width:100%;height:2px;background:#0a0a0a;top:0;left:0;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a}.menu-icon.dark:hover:after{background:#8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.has-tip{border-bottom:1px dotted #8a8a8a;font-weight:700;position:relative;display:inline-block;cursor:help}.tooltip{background-color:#0a0a0a;color:#fefefe;font-size:80%;padding:.75rem;position:absolute;z-index:10;top:calc(100% + .6495rem);max-width:10rem!important;border-radius:0}.tooltip:before{border-color:transparent transparent #0a0a0a;border-bottom-style:solid;border-top-width:0;bottom:100%;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top:before,.tooltip:before{content:'';display:block;width:0;height:0;border:.75rem inset}.tooltip.top:before{border-color:#0a0a0a transparent transparent;border-top-style:solid;border-bottom-width:0;top:100%;bottom:auto}.tooltip.left:before{border-color:transparent transparent transparent #0a0a0a;border-left-style:solid;border-right-width:0;left:100%}.tooltip.left:before,.tooltip.right:before{content:'';display:block;width:0;height:0;border:.75rem inset;bottom:auto;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right:before{border-color:transparent #0a0a0a transparent transparent;border-right-style:solid;border-left-width:0;left:auto;right:100%}.top-bar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;padding:.5rem;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}@media screen and (min-width:40em){.top-bar{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.top-bar .top-bar-left,.top-bar .top-bar-right{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}@media screen and (max-width:63.9375em){.top-bar.stacked-for-medium{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media screen and (max-width:74.9375em){.top-bar.stacked-for-large{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}.top-bar-title{margin-right:1rem}.top-bar-left,.top-bar-right,.top-bar-title{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.hide{display:none!important}.invisible{visibility:hidden}@media screen and (max-width:39.9375em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:40em){.show-for-small-only{display:none!important}}@media screen and (min-width:40em){.hide-for-medium{display:none!important}}@media screen and (max-width:39.9375em){.show-for-medium{display:none!important}}@media screen and (min-width:40em) and (max-width:63.9375em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:39.9375em),screen and (min-width:64em){.show-for-medium-only{display:none!important}}@media screen and (min-width:64em){.hide-for-large{display:none!important}}@media screen and (max-width:63.9375em){.show-for-large{display:none!important}}@media screen and (min-width:64em) and (max-width:74.9375em){.hide-for-large-only{display:none!important}}@media screen and (max-width:63.9375em),screen and (min-width:75em){.show-for-large-only{display:none!important}}.show-for-sr,.show-on-focus{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.show-on-focus:active,.show-on-focus:focus{position:static!important;height:auto;width:auto;overflow:visible;clip:auto}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{display:none!important}}.hide-for-landscape,.show-for-portrait{display:none!important}@media screen and (orientation:landscape){.hide-for-landscape,.show-for-portrait{display:none!important}}@media screen and (orientation:portrait){.hide-for-landscape,.show-for-portrait{display:block!important}}.float-left{float:left!important}.float-right{float:right!important}.float-center{display:block;margin-left:auto;margin-right:auto}.clearfix:after,.clearfix:before{content:' ';display:table;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.clearfix:after{clear:both}.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.align-justify{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.align-spaced{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.align-top{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.align-self-top{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.align-bottom{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}.align-self-bottom{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.align-middle{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.align-self-middle{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.align-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.align-self-stretch{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch}.small-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.small-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.small-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.small-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.small-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.small-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}@media screen and (min-width:40em){.medium-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.medium-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.medium-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.medium-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.medium-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.medium-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}}@media screen and (min-width:64em){.large-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.large-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.large-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.large-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.large-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.large-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}}
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/foundation-rtl.css b/libraries/foundation-6/dist/foundation-rtl.css
new file mode 100755
index 00000000..81c4f428
--- /dev/null
+++ b/libraries/foundation-6/dist/foundation-rtl.css
@@ -0,0 +1,3583 @@
+@charset "UTF-8";
+/**
+ * Foundation for Sites by ZURB
+ * Version 6.2.3
+ * foundation.zurb.com
+ * Licensed under MIT Open Source
+ */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+/**
+   * 1. Set default font family to sans-serif.
+   * 2. Prevent iOS and IE text size adjust after device orientation change,
+   *    without disabling user zoom.
+   */
+html {
+  font-family: sans-serif;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */ }
+
+/**
+   * Remove default margin.
+   */
+body {
+  margin: 0; }
+
+/* HTML5 display definitions
+     ========================================================================== */
+/**
+   * Correct `block` display not defined for any HTML5 element in IE 8/9.
+   * Correct `block` display not defined for `details` or `summary` in IE 10/11
+   * and Firefox.
+   * Correct `block` display not defined for `main` in IE 11.
+   */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+  display: block; }
+
+/**
+   * 1. Correct `inline-block` display not defined in IE 8/9.
+   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+   */
+audio,
+canvas,
+progress,
+video {
+  display: inline-block;
+  /* 1 */
+  vertical-align: baseline;
+  /* 2 */ }
+
+/**
+   * Prevent modern browsers from displaying `audio` without controls.
+   * Remove excess height in iOS 5 devices.
+   */
+audio:not([controls]) {
+  display: none;
+  height: 0; }
+
+/**
+   * Address `[hidden]` styling not present in IE 8/9/10.
+   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
+   */
+[hidden],
+template {
+  display: none; }
+
+/* Links
+     ========================================================================== */
+/**
+   * Remove the gray background color from active links in IE 10.
+   */
+a {
+  background-color: transparent; }
+
+/**
+   * Improve readability of focused elements when they are also in an
+   * active/hover state.
+   */
+a:active,
+a:hover {
+  outline: 0; }
+
+/* Text-level semantics
+     ========================================================================== */
+/**
+   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+   */
+abbr[title] {
+  border-bottom: 1px dotted; }
+
+/**
+   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+   */
+b,
+strong {
+  font-weight: bold; }
+
+/**
+   * Address styling not present in Safari and Chrome.
+   */
+dfn {
+  font-style: italic; }
+
+/**
+   * Address variable `h1` font-size and margin within `section` and `article`
+   * contexts in Firefox 4+, Safari, and Chrome.
+   */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0; }
+
+/**
+   * Address styling not present in IE 8/9.
+   */
+mark {
+  background: #ff0;
+  color: #000; }
+
+/**
+   * Address inconsistent and variable font size in all browsers.
+   */
+small {
+  font-size: 80%; }
+
+/**
+   * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+   */
+sub,
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline; }
+
+sup {
+  top: -0.5em; }
+
+sub {
+  bottom: -0.25em; }
+
+/* Embedded content
+     ========================================================================== */
+/**
+   * Remove border when inside `a` element in IE 8/9/10.
+   */
+img {
+  border: 0; }
+
+/**
+   * Correct overflow not hidden in IE 9/10/11.
+   */
+svg:not(:root) {
+  overflow: hidden; }
+
+/* Grouping content
+     ========================================================================== */
+/**
+   * Address margin not present in IE 8/9 and Safari.
+   */
+figure {
+  margin: 1em 40px; }
+
+/**
+   * Address differences between Firefox and other browsers.
+   */
+hr {
+  -webkit-box-sizing: content-box;
+          box-sizing: content-box;
+  height: 0; }
+
+/**
+   * Contain overflow in all browsers.
+   */
+pre {
+  overflow: auto; }
+
+/**
+   * Address odd `em`-unit font size rendering in all browsers.
+   */
+code,
+kbd,
+pre,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em; }
+
+/* Forms
+     ========================================================================== */
+/**
+   * Known limitation: by default, Chrome and Safari on OS X allow very limited
+   * styling of `select`, unless a `border` property is set.
+   */
+/**
+   * 1. Correct color not being inherited.
+   *    Known issue: affects color of disabled elements.
+   * 2. Correct font properties not being inherited.
+   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+   */
+button,
+input,
+optgroup,
+select,
+textarea {
+  color: inherit;
+  /* 1 */
+  font: inherit;
+  /* 2 */
+  margin: 0;
+  /* 3 */ }
+
+/**
+   * Address `overflow` set to `hidden` in IE 8/9/10/11.
+   */
+button {
+  overflow: visible; }
+
+/**
+   * Address inconsistent `text-transform` inheritance for `button` and `select`.
+   * All other form control elements do not inherit `text-transform` values.
+   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+   * Correct `select` style inheritance in Firefox.
+   */
+button,
+select {
+  text-transform: none; }
+
+/**
+   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+   *    and `video` controls.
+   * 2. Correct inability to style clickable `input` types in iOS.
+   * 3. Improve usability and consistency of cursor style between image-type
+   *    `input` and others.
+   */
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */ }
+
+/**
+   * Re-set default cursor for disabled elements.
+   */
+button[disabled],
+html input[disabled] {
+  cursor: not-allowed; }
+
+/**
+   * Remove inner padding and border in Firefox 4+.
+   */
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  border: 0;
+  padding: 0; }
+
+/**
+   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+   * the UA stylesheet.
+   */
+input {
+  line-height: normal; }
+
+/**
+   * It's recommended that you don't attempt to style these elements.
+   * Firefox's implementation doesn't respect box-sizing, padding, or width.
+   *
+   * 1. Address box sizing set to `content-box` in IE 8/9/10.
+   * 2. Remove excess padding in IE 8/9/10.
+   */
+input[type="checkbox"],
+input[type="radio"] {
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */ }
+
+/**
+   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+   * `font-size` values of the `input`, it causes the cursor style of the
+   * decrement button to change from `default` to `text`.
+   */
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+  height: auto; }
+
+/**
+   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
+   */
+input[type="search"] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  -webkit-box-sizing: content-box;
+          box-sizing: content-box;
+  /* 2 */ }
+
+/**
+   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+   * Safari (but not Chrome) clips the cancel button when the search input has
+   * padding (and `textfield` appearance).
+   */
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none; }
+
+/**
+   * Define consistent border, margin, and padding.
+   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
+   */
+/* fieldset {
+    border: 1px solid #c0c0c0;
+    margin: 0 2px;
+    padding: 0.35em 0.625em 0.75em;
+  } */
+/**
+   * 1. Correct `color` not being inherited in IE 8/9/10/11.
+   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+   */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  /* 2 */ }
+
+/**
+   * Remove default vertical scrollbar in IE 8/9/10/11.
+   */
+textarea {
+  overflow: auto; }
+
+/**
+   * Don't inherit the `font-weight` (applied by a rule above).
+   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+   */
+optgroup {
+  font-weight: bold; }
+
+/* Tables
+     ========================================================================== */
+/**
+   * Remove most spacing between table cells.
+   */
+table {
+  border-collapse: collapse;
+  border-spacing: 0; }
+
+td,
+th {
+  padding: 0; }
+
+.foundation-mq {
+  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }
+
+html {
+  font-size: 100%;
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box; }
+
+*,
+*::before,
+*::after {
+  -webkit-box-sizing: inherit;
+          box-sizing: inherit; }
+
+body {
+  padding: 0;
+  margin: 0;
+  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
+  font-weight: normal;
+  line-height: 1.5;
+  color: #0a0a0a;
+  background: #fefefe;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale; }
+
+img {
+  max-width: 100%;
+  height: auto;
+  -ms-interpolation-mode: bicubic;
+  display: inline-block;
+  vertical-align: middle; }
+
+textarea {
+  height: auto;
+  min-height: 50px;
+  border-radius: 0; }
+
+select {
+  width: 100%;
+  border-radius: 0; }
+
+#map_canvas img,
+#map_canvas embed,
+#map_canvas object,
+.map_canvas img,
+.map_canvas embed,
+.map_canvas object,
+.mqa-display img,
+.mqa-display embed,
+.mqa-display object {
+  max-width: none !important; }
+
+button {
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  background: transparent;
+  padding: 0;
+  border: 0;
+  border-radius: 0;
+  line-height: 1; }
+  [data-whatinput='mouse'] button {
+    outline: 0; }
+
+.is-visible {
+  display: block !important; }
+
+.is-hidden {
+  display: none !important; }
+
+.row {
+  max-width: 75rem;
+  margin-left: auto;
+  margin-right: auto; }
+  .row::before, .row::after {
+    content: ' ';
+    display: table; }
+  .row::after {
+    clear: both; }
+  .row.collapse > .column, .row.collapse > .columns {
+    padding-left: 0;
+    padding-right: 0; }
+  .row .row {
+    max-width: none;
+    margin-left: -0.625rem;
+    margin-right: -0.625rem; }
+    @media screen and (min-width: 40em) {
+      .row .row {
+        margin-left: -0.9375rem;
+        margin-right: -0.9375rem; } }
+    .row .row.collapse {
+      margin-left: 0;
+      margin-right: 0; }
+  .row.expanded {
+    max-width: none; }
+    .row.expanded .row {
+      margin-left: auto;
+      margin-right: auto; }
+
+.column, .columns {
+  width: 100%;
+  float: right;
+  padding-left: 0.625rem;
+  padding-right: 0.625rem; }
+  @media screen and (min-width: 40em) {
+    .column, .columns {
+      padding-left: 0.9375rem;
+      padding-right: 0.9375rem; } }
+  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
+    float: left; }
+  .column.end:last-child:last-child, .end.columns:last-child:last-child {
+    float: right; }
+
+.column.row.row, .row.row.columns {
+  float: none; }
+  .row .column.row.row, .row .row.row.columns {
+    padding-left: 0;
+    padding-right: 0;
+    margin-left: 0;
+    margin-right: 0; }
+
+.small-1 {
+  width: 8.33333%; }
+
+.small-push-1 {
+  position: relative;
+  right: 8.33333%; }
+
+.small-pull-1 {
+  position: relative;
+  right: -8.33333%; }
+
+.small-offset-0 {
+  margin-right: 0%; }
+
+.small-2 {
+  width: 16.66667%; }
+
+.small-push-2 {
+  position: relative;
+  right: 16.66667%; }
+
+.small-pull-2 {
+  position: relative;
+  right: -16.66667%; }
+
+.small-offset-1 {
+  margin-right: 8.33333%; }
+
+.small-3 {
+  width: 25%; }
+
+.small-push-3 {
+  position: relative;
+  right: 25%; }
+
+.small-pull-3 {
+  position: relative;
+  right: -25%; }
+
+.small-offset-2 {
+  margin-right: 16.66667%; }
+
+.small-4 {
+  width: 33.33333%; }
+
+.small-push-4 {
+  position: relative;
+  right: 33.33333%; }
+
+.small-pull-4 {
+  position: relative;
+  right: -33.33333%; }
+
+.small-offset-3 {
+  margin-right: 25%; }
+
+.small-5 {
+  width: 41.66667%; }
+
+.small-push-5 {
+  position: relative;
+  right: 41.66667%; }
+
+.small-pull-5 {
+  position: relative;
+  right: -41.66667%; }
+
+.small-offset-4 {
+  margin-right: 33.33333%; }
+
+.small-6 {
+  width: 50%; }
+
+.small-push-6 {
+  position: relative;
+  right: 50%; }
+
+.small-pull-6 {
+  position: relative;
+  right: -50%; }
+
+.small-offset-5 {
+  margin-right: 41.66667%; }
+
+.small-7 {
+  width: 58.33333%; }
+
+.small-push-7 {
+  position: relative;
+  right: 58.33333%; }
+
+.small-pull-7 {
+  position: relative;
+  right: -58.33333%; }
+
+.small-offset-6 {
+  margin-right: 50%; }
+
+.small-8 {
+  width: 66.66667%; }
+
+.small-push-8 {
+  position: relative;
+  right: 66.66667%; }
+
+.small-pull-8 {
+  position: relative;
+  right: -66.66667%; }
+
+.small-offset-7 {
+  margin-right: 58.33333%; }
+
+.small-9 {
+  width: 75%; }
+
+.small-push-9 {
+  position: relative;
+  right: 75%; }
+
+.small-pull-9 {
+  position: relative;
+  right: -75%; }
+
+.small-offset-8 {
+  margin-right: 66.66667%; }
+
+.small-10 {
+  width: 83.33333%; }
+
+.small-push-10 {
+  position: relative;
+  right: 83.33333%; }
+
+.small-pull-10 {
+  position: relative;
+  right: -83.33333%; }
+
+.small-offset-9 {
+  margin-right: 75%; }
+
+.small-11 {
+  width: 91.66667%; }
+
+.small-push-11 {
+  position: relative;
+  right: 91.66667%; }
+
+.small-pull-11 {
+  position: relative;
+  right: -91.66667%; }
+
+.small-offset-10 {
+  margin-right: 83.33333%; }
+
+.small-12 {
+  width: 100%; }
+
+.small-offset-11 {
+  margin-right: 91.66667%; }
+
+.small-up-1 > .column, .small-up-1 > .columns {
+  width: 100%;
+  float: right; }
+  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
+    clear: both; }
+  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
+    float: left; }
+
+.small-up-2 > .column, .small-up-2 > .columns {
+  width: 50%;
+  float: right; }
+  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
+    clear: both; }
+  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
+    float: left; }
+
+.small-up-3 > .column, .small-up-3 > .columns {
+  width: 33.33333%;
+  float: right; }
+  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
+    clear: both; }
+  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
+    float: left; }
+
+.small-up-4 > .column, .small-up-4 > .columns {
+  width: 25%;
+  float: right; }
+  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
+    clear: both; }
+  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
+    float: left; }
+
+.small-up-5 > .column, .small-up-5 > .columns {
+  width: 20%;
+  float: right; }
+  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
+    clear: both; }
+  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
+    float: left; }
+
+.small-up-6 > .column, .small-up-6 > .columns {
+  width: 16.66667%;
+  float: right; }
+  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
+    clear: both; }
+  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
+    float: left; }
+
+.small-up-7 > .column, .small-up-7 > .columns {
+  width: 14.28571%;
+  float: right; }
+  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
+    clear: both; }
+  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
+    float: left; }
+
+.small-up-8 > .column, .small-up-8 > .columns {
+  width: 12.5%;
+  float: right; }
+  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
+    clear: both; }
+  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
+    float: left; }
+
+.small-collapse > .column, .small-collapse > .columns {
+  padding-left: 0;
+  padding-right: 0; }
+
+.small-collapse .row,
+.expanded.row .small-collapse.row {
+  margin-left: 0;
+  margin-right: 0; }
+
+.small-uncollapse > .column, .small-uncollapse > .columns {
+  padding-left: 0.625rem;
+  padding-right: 0.625rem; }
+
+.small-centered {
+  float: none;
+  margin-left: auto;
+  margin-right: auto; }
+
+.small-uncentered,
+.small-push-0,
+.small-pull-0 {
+  position: static;
+  margin-left: 0;
+  margin-right: 0;
+  float: left; }
+
+@media screen and (min-width: 40em) {
+  .medium-1 {
+    width: 8.33333%; }
+  .medium-push-1 {
+    position: relative;
+    right: 8.33333%; }
+  .medium-pull-1 {
+    position: relative;
+    right: -8.33333%; }
+  .medium-offset-0 {
+    margin-right: 0%; }
+  .medium-2 {
+    width: 16.66667%; }
+  .medium-push-2 {
+    position: relative;
+    right: 16.66667%; }
+  .medium-pull-2 {
+    position: relative;
+    right: -16.66667%; }
+  .medium-offset-1 {
+    margin-right: 8.33333%; }
+  .medium-3 {
+    width: 25%; }
+  .medium-push-3 {
+    position: relative;
+    right: 25%; }
+  .medium-pull-3 {
+    position: relative;
+    right: -25%; }
+  .medium-offset-2 {
+    margin-right: 16.66667%; }
+  .medium-4 {
+    width: 33.33333%; }
+  .medium-push-4 {
+    position: relative;
+    right: 33.33333%; }
+  .medium-pull-4 {
+    position: relative;
+    right: -33.33333%; }
+  .medium-offset-3 {
+    margin-right: 25%; }
+  .medium-5 {
+    width: 41.66667%; }
+  .medium-push-5 {
+    position: relative;
+    right: 41.66667%; }
+  .medium-pull-5 {
+    position: relative;
+    right: -41.66667%; }
+  .medium-offset-4 {
+    margin-right: 33.33333%; }
+  .medium-6 {
+    width: 50%; }
+  .medium-push-6 {
+    position: relative;
+    right: 50%; }
+  .medium-pull-6 {
+    position: relative;
+    right: -50%; }
+  .medium-offset-5 {
+    margin-right: 41.66667%; }
+  .medium-7 {
+    width: 58.33333%; }
+  .medium-push-7 {
+    position: relative;
+    right: 58.33333%; }
+  .medium-pull-7 {
+    position: relative;
+    right: -58.33333%; }
+  .medium-offset-6 {
+    margin-right: 50%; }
+  .medium-8 {
+    width: 66.66667%; }
+  .medium-push-8 {
+    position: relative;
+    right: 66.66667%; }
+  .medium-pull-8 {
+    position: relative;
+    right: -66.66667%; }
+  .medium-offset-7 {
+    margin-right: 58.33333%; }
+  .medium-9 {
+    width: 75%; }
+  .medium-push-9 {
+    position: relative;
+    right: 75%; }
+  .medium-pull-9 {
+    position: relative;
+    right: -75%; }
+  .medium-offset-8 {
+    margin-right: 66.66667%; }
+  .medium-10 {
+    width: 83.33333%; }
+  .medium-push-10 {
+    position: relative;
+    right: 83.33333%; }
+  .medium-pull-10 {
+    position: relative;
+    right: -83.33333%; }
+  .medium-offset-9 {
+    margin-right: 75%; }
+  .medium-11 {
+    width: 91.66667%; }
+  .medium-push-11 {
+    position: relative;
+    right: 91.66667%; }
+  .medium-pull-11 {
+    position: relative;
+    right: -91.66667%; }
+  .medium-offset-10 {
+    margin-right: 83.33333%; }
+  .medium-12 {
+    width: 100%; }
+  .medium-offset-11 {
+    margin-right: 91.66667%; }
+  .medium-up-1 > .column, .medium-up-1 > .columns {
+    width: 100%;
+    float: right; }
+    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
+      clear: both; }
+    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
+      float: left; }
+  .medium-up-2 > .column, .medium-up-2 > .columns {
+    width: 50%;
+    float: right; }
+    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
+      clear: both; }
+    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
+      float: left; }
+  .medium-up-3 > .column, .medium-up-3 > .columns {
+    width: 33.33333%;
+    float: right; }
+    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
+      clear: both; }
+    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
+      float: left; }
+  .medium-up-4 > .column, .medium-up-4 > .columns {
+    width: 25%;
+    float: right; }
+    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
+      clear: both; }
+    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
+      float: left; }
+  .medium-up-5 > .column, .medium-up-5 > .columns {
+    width: 20%;
+    float: right; }
+    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
+      clear: both; }
+    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
+      float: left; }
+  .medium-up-6 > .column, .medium-up-6 > .columns {
+    width: 16.66667%;
+    float: right; }
+    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
+      clear: both; }
+    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
+      float: left; }
+  .medium-up-7 > .column, .medium-up-7 > .columns {
+    width: 14.28571%;
+    float: right; }
+    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
+      clear: both; }
+    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
+      float: left; }
+  .medium-up-8 > .column, .medium-up-8 > .columns {
+    width: 12.5%;
+    float: right; }
+    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
+      clear: both; }
+    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
+      float: left; }
+  .medium-collapse > .column, .medium-collapse > .columns {
+    padding-left: 0;
+    padding-right: 0; }
+  .medium-collapse .row,
+  .expanded.row .medium-collapse.row {
+    margin-left: 0;
+    margin-right: 0; }
+  .medium-uncollapse > .column, .medium-uncollapse > .columns {
+    padding-left: 0.9375rem;
+    padding-right: 0.9375rem; }
+  .medium-centered {
+    float: none;
+    margin-left: auto;
+    margin-right: auto; }
+  .medium-uncentered,
+  .medium-push-0,
+  .medium-pull-0 {
+    position: static;
+    margin-left: 0;
+    margin-right: 0;
+    float: left; } }
+
+@media screen and (min-width: 64em) {
+  .large-1 {
+    width: 8.33333%; }
+  .large-push-1 {
+    position: relative;
+    right: 8.33333%; }
+  .large-pull-1 {
+    position: relative;
+    right: -8.33333%; }
+  .large-offset-0 {
+    margin-right: 0%; }
+  .large-2 {
+    width: 16.66667%; }
+  .large-push-2 {
+    position: relative;
+    right: 16.66667%; }
+  .large-pull-2 {
+    position: relative;
+    right: -16.66667%; }
+  .large-offset-1 {
+    margin-right: 8.33333%; }
+  .large-3 {
+    width: 25%; }
+  .large-push-3 {
+    position: relative;
+    right: 25%; }
+  .large-pull-3 {
+    position: relative;
+    right: -25%; }
+  .large-offset-2 {
+    margin-right: 16.66667%; }
+  .large-4 {
+    width: 33.33333%; }
+  .large-push-4 {
+    position: relative;
+    right: 33.33333%; }
+  .large-pull-4 {
+    position: relative;
+    right: -33.33333%; }
+  .large-offset-3 {
+    margin-right: 25%; }
+  .large-5 {
+    width: 41.66667%; }
+  .large-push-5 {
+    position: relative;
+    right: 41.66667%; }
+  .large-pull-5 {
+    position: relative;
+    right: -41.66667%; }
+  .large-offset-4 {
+    margin-right: 33.33333%; }
+  .large-6 {
+    width: 50%; }
+  .large-push-6 {
+    position: relative;
+    right: 50%; }
+  .large-pull-6 {
+    position: relative;
+    right: -50%; }
+  .large-offset-5 {
+    margin-right: 41.66667%; }
+  .large-7 {
+    width: 58.33333%; }
+  .large-push-7 {
+    position: relative;
+    right: 58.33333%; }
+  .large-pull-7 {
+    position: relative;
+    right: -58.33333%; }
+  .large-offset-6 {
+    margin-right: 50%; }
+  .large-8 {
+    width: 66.66667%; }
+  .large-push-8 {
+    position: relative;
+    right: 66.66667%; }
+  .large-pull-8 {
+    position: relative;
+    right: -66.66667%; }
+  .large-offset-7 {
+    margin-right: 58.33333%; }
+  .large-9 {
+    width: 75%; }
+  .large-push-9 {
+    position: relative;
+    right: 75%; }
+  .large-pull-9 {
+    position: relative;
+    right: -75%; }
+  .large-offset-8 {
+    margin-right: 66.66667%; }
+  .large-10 {
+    width: 83.33333%; }
+  .large-push-10 {
+    position: relative;
+    right: 83.33333%; }
+  .large-pull-10 {
+    position: relative;
+    right: -83.33333%; }
+  .large-offset-9 {
+    margin-right: 75%; }
+  .large-11 {
+    width: 91.66667%; }
+  .large-push-11 {
+    position: relative;
+    right: 91.66667%; }
+  .large-pull-11 {
+    position: relative;
+    right: -91.66667%; }
+  .large-offset-10 {
+    margin-right: 83.33333%; }
+  .large-12 {
+    width: 100%; }
+  .large-offset-11 {
+    margin-right: 91.66667%; }
+  .large-up-1 > .column, .large-up-1 > .columns {
+    width: 100%;
+    float: right; }
+    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
+      clear: both; }
+    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
+      float: left; }
+  .large-up-2 > .column, .large-up-2 > .columns {
+    width: 50%;
+    float: right; }
+    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
+      clear: both; }
+    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
+      float: left; }
+  .large-up-3 > .column, .large-up-3 > .columns {
+    width: 33.33333%;
+    float: right; }
+    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
+      clear: both; }
+    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
+      float: left; }
+  .large-up-4 > .column, .large-up-4 > .columns {
+    width: 25%;
+    float: right; }
+    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
+      clear: both; }
+    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
+      float: left; }
+  .large-up-5 > .column, .large-up-5 > .columns {
+    width: 20%;
+    float: right; }
+    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
+      clear: both; }
+    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
+      float: left; }
+  .large-up-6 > .column, .large-up-6 > .columns {
+    width: 16.66667%;
+    float: right; }
+    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
+      clear: both; }
+    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
+      float: left; }
+  .large-up-7 > .column, .large-up-7 > .columns {
+    width: 14.28571%;
+    float: right; }
+    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
+      clear: both; }
+    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
+      float: left; }
+  .large-up-8 > .column, .large-up-8 > .columns {
+    width: 12.5%;
+    float: right; }
+    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
+      clear: both; }
+    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
+      float: left; }
+  .large-collapse > .column, .large-collapse > .columns {
+    padding-left: 0;
+    padding-right: 0; }
+  .large-collapse .row,
+  .expanded.row .large-collapse.row {
+    margin-left: 0;
+    margin-right: 0; }
+  .large-uncollapse > .column, .large-uncollapse > .columns {
+    padding-left: 0.9375rem;
+    padding-right: 0.9375rem; }
+  .large-centered {
+    float: none;
+    margin-left: auto;
+    margin-right: auto; }
+  .large-uncentered,
+  .large-push-0,
+  .large-pull-0 {
+    position: static;
+    margin-left: 0;
+    margin-right: 0;
+    float: left; } }
+
+div,
+dl,
+dt,
+dd,
+ul,
+ol,
+li,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+pre,
+form,
+p,
+blockquote,
+th,
+td {
+  margin: 0;
+  padding: 0; }
+
+p {
+  font-size: inherit;
+  line-height: 1.6;
+  margin-bottom: 1rem;
+  text-rendering: optimizeLegibility; }
+
+em,
+i {
+  font-style: italic;
+  line-height: inherit; }
+
+strong,
+b {
+  font-weight: bold;
+  line-height: inherit; }
+
+small {
+  font-size: 80%;
+  line-height: inherit; }
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
+  font-weight: normal;
+  font-style: normal;
+  color: inherit;
+  text-rendering: optimizeLegibility;
+  margin-top: 0;
+  margin-bottom: 0.5rem;
+  line-height: 1.4; }
+  h1 small,
+  h2 small,
+  h3 small,
+  h4 small,
+  h5 small,
+  h6 small {
+    color: #cacaca;
+    line-height: 0; }
+
+h1 {
+  font-size: 1.5rem; }
+
+h2 {
+  font-size: 1.25rem; }
+
+h3 {
+  font-size: 1.1875rem; }
+
+h4 {
+  font-size: 1.125rem; }
+
+h5 {
+  font-size: 1.0625rem; }
+
+h6 {
+  font-size: 1rem; }
+
+@media screen and (min-width: 40em) {
+  h1 {
+    font-size: 3rem; }
+  h2 {
+    font-size: 2.5rem; }
+  h3 {
+    font-size: 1.9375rem; }
+  h4 {
+    font-size: 1.5625rem; }
+  h5 {
+    font-size: 1.25rem; }
+  h6 {
+    font-size: 1rem; } }
+
+a {
+  color: #2199e8;
+  text-decoration: none;
+  line-height: inherit;
+  cursor: pointer; }
+  a:hover, a:focus {
+    color: #1585cf; }
+  a img {
+    border: 0; }
+
+hr {
+  max-width: 75rem;
+  height: 0;
+  border-right: 0;
+  border-top: 0;
+  border-bottom: 1px solid #cacaca;
+  border-left: 0;
+  margin: 1.25rem auto;
+  clear: both; }
+
+ul,
+ol,
+dl {
+  line-height: 1.6;
+  margin-bottom: 1rem;
+  list-style-position: outside; }
+
+li {
+  font-size: inherit; }
+
+ul {
+  list-style-type: disc;
+  margin-right: 1.25rem; }
+
+ol {
+  margin-right: 1.25rem; }
+
+ul ul, ol ul, ul ol, ol ol {
+  margin-right: 1.25rem;
+  margin-bottom: 0; }
+
+dl {
+  margin-bottom: 1rem; }
+  dl dt {
+    margin-bottom: 0.3rem;
+    font-weight: bold; }
+
+blockquote {
+  margin: 0 0 1rem;
+  padding: 0.5625rem 1.25rem 0 1.1875rem;
+  border-right: 1px solid #cacaca; }
+  blockquote, blockquote p {
+    line-height: 1.6;
+    color: #8a8a8a; }
+
+cite {
+  display: block;
+  font-size: 0.8125rem;
+  color: #8a8a8a; }
+  cite:before {
+    content: '\2014 \0020'; }
+
+abbr {
+  color: #0a0a0a;
+  cursor: help;
+  border-bottom: 1px dotted #0a0a0a; }
+
+code {
+  font-family: Consolas, "Liberation Mono", Courier, monospace;
+  font-weight: normal;
+  color: #0a0a0a;
+  background-color: #e6e6e6;
+  border: 1px solid #cacaca;
+  padding: 0.125rem 0.3125rem 0.0625rem; }
+
+kbd {
+  padding: 0.125rem 0.25rem 0;
+  margin: 0;
+  background-color: #e6e6e6;
+  color: #0a0a0a;
+  font-family: Consolas, "Liberation Mono", Courier, monospace; }
+
+.subheader {
+  margin-top: 0.2rem;
+  margin-bottom: 0.5rem;
+  font-weight: normal;
+  line-height: 1.4;
+  color: #8a8a8a; }
+
+.lead {
+  font-size: 125%;
+  line-height: 1.6; }
+
+.stat {
+  font-size: 2.5rem;
+  line-height: 1; }
+  p + .stat {
+    margin-top: -1rem; }
+
+.no-bullet {
+  margin-right: 0;
+  list-style: none; }
+
+.text-left {
+  text-align: left; }
+
+.text-right {
+  text-align: right; }
+
+.text-center {
+  text-align: center; }
+
+.text-justify {
+  text-align: justify; }
+
+@media screen and (min-width: 40em) {
+  .medium-text-left {
+    text-align: left; }
+  .medium-text-right {
+    text-align: right; }
+  .medium-text-center {
+    text-align: center; }
+  .medium-text-justify {
+    text-align: justify; } }
+
+@media screen and (min-width: 64em) {
+  .large-text-left {
+    text-align: left; }
+  .large-text-right {
+    text-align: right; }
+  .large-text-center {
+    text-align: center; }
+  .large-text-justify {
+    text-align: justify; } }
+
+.show-for-print {
+  display: none !important; }
+
+@media print {
+  * {
+    background: transparent !important;
+    color: black !important;
+    -webkit-box-shadow: none !important;
+            box-shadow: none !important;
+    text-shadow: none !important; }
+  .show-for-print {
+    display: block !important; }
+  .hide-for-print {
+    display: none !important; }
+  table.show-for-print {
+    display: table !important; }
+  thead.show-for-print {
+    display: table-header-group !important; }
+  tbody.show-for-print {
+    display: table-row-group !important; }
+  tr.show-for-print {
+    display: table-row !important; }
+  td.show-for-print {
+    display: table-cell !important; }
+  th.show-for-print {
+    display: table-cell !important; }
+  a,
+  a:visited {
+    text-decoration: underline; }
+  a[href]:after {
+    content: " (" attr(href) ")"; }
+  .ir a:after,
+  a[href^='javascript:']:after,
+  a[href^='#']:after {
+    content: ''; }
+  abbr[title]:after {
+    content: " (" attr(title) ")"; }
+  pre,
+  blockquote {
+    border: 1px solid #8a8a8a;
+    page-break-inside: avoid; }
+  thead {
+    display: table-header-group; }
+  tr,
+  img {
+    page-break-inside: avoid; }
+  img {
+    max-width: 100% !important; }
+  @page {
+    margin: 0.5cm; }
+  p,
+  h2,
+  h3 {
+    orphans: 3;
+    widows: 3; }
+  h2,
+  h3 {
+    page-break-after: avoid; } }
+
+[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
+textarea {
+  display: block;
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+  width: 100%;
+  height: 2.4375rem;
+  padding: 0.5rem;
+  border: 1px solid #cacaca;
+  margin: 0 0 1rem;
+  font-family: inherit;
+  font-size: 1rem;
+  color: #0a0a0a;
+  background-color: #fefefe;
+  -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+          box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+  border-radius: 0;
+  -webkit-transition: -webkit-box-shadow 0.5s, border-color 0.25s ease-in-out;
+          transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
+  -webkit-appearance: none;
+  -moz-appearance: none; }
+  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
+  textarea:focus {
+    border: 1px solid #8a8a8a;
+    background-color: #fefefe;
+    outline: none;
+    -webkit-box-shadow: 0 0 5px #cacaca;
+            box-shadow: 0 0 5px #cacaca;
+    -webkit-transition: -webkit-box-shadow 0.5s, border-color 0.25s ease-in-out;
+            transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
+
+textarea {
+  max-width: 100%; }
+  textarea[rows] {
+    height: auto; }
+
+input::-webkit-input-placeholder,
+textarea::-webkit-input-placeholder {
+  color: #cacaca; }
+
+input::-moz-placeholder,
+textarea::-moz-placeholder {
+  color: #cacaca; }
+
+input:-ms-input-placeholder,
+textarea:-ms-input-placeholder {
+  color: #cacaca; }
+
+input::placeholder,
+textarea::placeholder {
+  color: #cacaca; }
+
+input:disabled, input[readonly],
+textarea:disabled,
+textarea[readonly] {
+  background-color: #e6e6e6;
+  cursor: not-allowed; }
+
+[type='submit'],
+[type='button'] {
+  border-radius: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none; }
+
+input[type='search'] {
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box; }
+
+[type='file'],
+[type='checkbox'],
+[type='radio'] {
+  margin: 0 0 1rem; }
+
+[type='checkbox'] + label,
+[type='radio'] + label {
+  display: inline-block;
+  margin-right: 0.5rem;
+  margin-left: 1rem;
+  margin-bottom: 0;
+  vertical-align: baseline; }
+  [type='checkbox'] + label[for],
+  [type='radio'] + label[for] {
+    cursor: pointer; }
+
+label > [type='checkbox'],
+label > [type='radio'] {
+  margin-left: 0.5rem; }
+
+[type='file'] {
+  width: 100%; }
+
+label {
+  display: block;
+  margin: 0;
+  font-size: 0.875rem;
+  font-weight: normal;
+  line-height: 1.8;
+  color: #0a0a0a; }
+  label.middle {
+    margin: 0 0 1rem;
+    padding: 0.5625rem 0; }
+
+.help-text {
+  margin-top: -0.5rem;
+  font-size: 0.8125rem;
+  font-style: italic;
+  color: #0a0a0a; }
+
+.input-group {
+  display: table;
+  width: 100%;
+  margin-bottom: 1rem; }
+  .input-group > :first-child {
+    border-radius: 0 0 0 0; }
+  .input-group > :last-child > * {
+    border-radius: 0 0 0 0; }
+
+.input-group-label, .input-group-field, .input-group-button {
+  margin: 0;
+  white-space: nowrap;
+  display: table-cell;
+  vertical-align: middle; }
+
+.input-group-label {
+  text-align: center;
+  padding: 0 1rem;
+  background: #e6e6e6;
+  color: #0a0a0a;
+  border: 1px solid #cacaca;
+  white-space: nowrap;
+  width: 1%;
+  height: 100%; }
+  .input-group-label:first-child {
+    border-left: 0; }
+  .input-group-label:last-child {
+    border-right: 0; }
+
+.input-group-field {
+  border-radius: 0;
+  height: 2.5rem; }
+
+.input-group-button {
+  padding-top: 0;
+  padding-bottom: 0;
+  text-align: center;
+  height: 100%;
+  width: 1%; }
+  .input-group-button a,
+  .input-group-button input,
+  .input-group-button button {
+    margin: 0; }
+
+.input-group .input-group-button {
+  display: table-cell; }
+
+fieldset {
+  border: 0;
+  padding: 0;
+  margin: 0; }
+
+legend {
+  margin-bottom: 0.5rem;
+  max-width: 100%; }
+
+.fieldset {
+  border: 1px solid #cacaca;
+  padding: 1.25rem;
+  margin: 1.125rem 0; }
+  .fieldset legend {
+    background: #fefefe;
+    padding: 0 0.1875rem;
+    margin: 0;
+    margin-right: -0.1875rem; }
+
+select {
+  height: 2.4375rem;
+  padding: 0.5rem;
+  border: 1px solid #cacaca;
+  margin: 0 0 1rem;
+  font-size: 1rem;
+  font-family: inherit;
+  line-height: normal;
+  color: #0a0a0a;
+  background-color: #fefefe;
+  border-radius: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
+  -webkit-background-size: 9px 6px;
+          background-size: 9px 6px;
+  background-position: left -1rem center;
+  -webkit-background-origin: content-box;
+          background-origin: content-box;
+  background-repeat: no-repeat;
+  padding-left: 1.5rem; }
+  @media screen and (min-width: 0\0) {
+    select {
+      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
+  select:disabled {
+    background-color: #e6e6e6;
+    cursor: not-allowed; }
+  select::-ms-expand {
+    display: none; }
+  select[multiple] {
+    height: auto;
+    background-image: none; }
+
+.is-invalid-input:not(:focus) {
+  background-color: rgba(236, 88, 64, 0.1);
+  border-color: #ec5840; }
+
+.is-invalid-label {
+  color: #ec5840; }
+
+.form-error {
+  display: none;
+  margin-top: -0.5rem;
+  margin-bottom: 1rem;
+  font-size: 0.75rem;
+  font-weight: bold;
+  color: #ec5840; }
+  .form-error.is-visible {
+    display: block; }
+
+.button {
+  display: inline-block;
+  text-align: center;
+  line-height: 1;
+  cursor: pointer;
+  -webkit-appearance: none;
+  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
+          transition: background-color 0.25s ease-out, color 0.25s ease-out;
+  vertical-align: middle;
+  border: 1px solid transparent;
+  border-radius: 0;
+  padding: 0.85em 1em;
+  margin: 0 0 1rem 0;
+  font-size: 0.9rem;
+  background-color: #2199e8;
+  color: #fefefe; }
+  [data-whatinput='mouse'] .button {
+    outline: 0; }
+  .button:hover, .button:focus {
+    background-color: #1583cc;
+    color: #fefefe; }
+  .button.tiny {
+    font-size: 0.6rem; }
+  .button.small {
+    font-size: 0.75rem; }
+  .button.large {
+    font-size: 1.25rem; }
+  .button.expanded {
+    display: block;
+    width: 100%;
+    margin-left: 0;
+    margin-right: 0; }
+  .button.primary {
+    background-color: #2199e8;
+    color: #fefefe; }
+    .button.primary:hover, .button.primary:focus {
+      background-color: #147cc0;
+      color: #fefefe; }
+  .button.secondary {
+    background-color: #777;
+    color: #fefefe; }
+    .button.secondary:hover, .button.secondary:focus {
+      background-color: #5f5f5f;
+      color: #fefefe; }
+  .button.success {
+    background-color: #3adb76;
+    color: #fefefe; }
+    .button.success:hover, .button.success:focus {
+      background-color: #22bb5b;
+      color: #fefefe; }
+  .button.warning {
+    background-color: #ffae00;
+    color: #fefefe; }
+    .button.warning:hover, .button.warning:focus {
+      background-color: #cc8b00;
+      color: #fefefe; }
+  .button.alert {
+    background-color: #ec5840;
+    color: #fefefe; }
+    .button.alert:hover, .button.alert:focus {
+      background-color: #da3116;
+      color: #fefefe; }
+  .button.hollow {
+    border: 1px solid #2199e8;
+    color: #2199e8; }
+    .button.hollow, .button.hollow:hover, .button.hollow:focus {
+      background-color: transparent; }
+    .button.hollow:hover, .button.hollow:focus {
+      border-color: #0c4d78;
+      color: #0c4d78; }
+    .button.hollow.primary {
+      border: 1px solid #2199e8;
+      color: #2199e8; }
+      .button.hollow.primary:hover, .button.hollow.primary:focus {
+        border-color: #0c4d78;
+        color: #0c4d78; }
+    .button.hollow.secondary {
+      border: 1px solid #777;
+      color: #777; }
+      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
+        border-color: #3c3c3c;
+        color: #3c3c3c; }
+    .button.hollow.success {
+      border: 1px solid #3adb76;
+      color: #3adb76; }
+      .button.hollow.success:hover, .button.hollow.success:focus {
+        border-color: #157539;
+        color: #157539; }
+    .button.hollow.warning {
+      border: 1px solid #ffae00;
+      color: #ffae00; }
+      .button.hollow.warning:hover, .button.hollow.warning:focus {
+        border-color: #805700;
+        color: #805700; }
+    .button.hollow.alert {
+      border: 1px solid #ec5840;
+      color: #ec5840; }
+      .button.hollow.alert:hover, .button.hollow.alert:focus {
+        border-color: #881f0e;
+        color: #881f0e; }
+  .button.disabled, .button[disabled] {
+    opacity: 0.25;
+    cursor: not-allowed; }
+    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
+      background-color: #2199e8;
+      color: #fefefe; }
+  .button.dropdown::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.4em;
+    border-color: #fefefe transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    position: relative;
+    top: 0.4em;
+    float: left;
+    margin-right: 1em;
+    display: inline-block; }
+  .button.arrow-only::after {
+    margin-right: 0;
+    float: none;
+    top: -0.1em; }
+
+.accordion {
+  list-style-type: none;
+  background: #fefefe;
+  margin-right: 0; }
+
+.accordion-item:first-child > :first-child {
+  border-radius: 0 0 0 0; }
+
+.accordion-item:last-child > :last-child {
+  border-radius: 0 0 0 0; }
+
+.accordion-title {
+  display: block;
+  padding: 1.25rem 1rem;
+  line-height: 1;
+  font-size: 0.75rem;
+  color: #2199e8;
+  position: relative;
+  border: 1px solid #e6e6e6;
+  border-bottom: 0; }
+  :last-child:not(.is-active) > .accordion-title {
+    border-radius: 0 0 0 0;
+    border-bottom: 1px solid #e6e6e6; }
+  .accordion-title:hover, .accordion-title:focus {
+    background-color: #e6e6e6; }
+  .accordion-title::before {
+    content: '+';
+    position: absolute;
+    left: 1rem;
+    top: 50%;
+    margin-top: -0.5rem; }
+  .is-active > .accordion-title::before {
+    content: '–'; }
+
+.accordion-content {
+  padding: 1rem;
+  display: none;
+  border: 1px solid #e6e6e6;
+  border-bottom: 0;
+  background-color: #fefefe;
+  color: #0a0a0a; }
+  :last-child > .accordion-content:last-child {
+    border-bottom: 1px solid #e6e6e6; }
+
+.is-accordion-submenu-parent > a {
+  position: relative; }
+  .is-accordion-submenu-parent > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 6px;
+    border-color: #2199e8 transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    position: absolute;
+    top: 50%;
+    margin-top: -4px;
+    right: 1rem; }
+
+.is-accordion-submenu-parent[aria-expanded='true'] > a::after {
+  -webkit-transform-origin: 50% 50%;
+      -ms-transform-origin: 50% 50%;
+          transform-origin: 50% 50%;
+  -webkit-transform: scaleY(-1);
+      -ms-transform: scaleY(-1);
+          transform: scaleY(-1); }
+
+.badge {
+  display: inline-block;
+  padding: 0.3em;
+  min-width: 2.1em;
+  font-size: 0.6rem;
+  text-align: center;
+  border-radius: 50%;
+  background: #2199e8;
+  color: #fefefe; }
+  .badge.secondary {
+    background: #777;
+    color: #fefefe; }
+  .badge.success {
+    background: #3adb76;
+    color: #fefefe; }
+  .badge.warning {
+    background: #ffae00;
+    color: #fefefe; }
+  .badge.alert {
+    background: #ec5840;
+    color: #fefefe; }
+
+.breadcrumbs {
+  list-style: none;
+  margin: 0 0 1rem 0; }
+  .breadcrumbs::before, .breadcrumbs::after {
+    content: ' ';
+    display: table; }
+  .breadcrumbs::after {
+    clear: both; }
+  .breadcrumbs li {
+    float: right;
+    color: #0a0a0a;
+    font-size: 0.6875rem;
+    cursor: default;
+    text-transform: uppercase; }
+    .breadcrumbs li:not(:last-child)::after {
+      color: #cacaca;
+      content: "\\";
+      margin: 0 0.75rem;
+      position: relative;
+      top: 1px;
+      opacity: 1; }
+  .breadcrumbs a {
+    color: #2199e8; }
+    .breadcrumbs a:hover {
+      text-decoration: underline; }
+  .breadcrumbs .disabled {
+    color: #cacaca;
+    cursor: not-allowed; }
+
+.button-group {
+  margin-bottom: 1rem;
+  font-size: 0; }
+  .button-group::before, .button-group::after {
+    content: ' ';
+    display: table; }
+  .button-group::after {
+    clear: both; }
+  .button-group .button {
+    margin: 0;
+    margin-left: 1px;
+    margin-bottom: 1px;
+    font-size: 0.9rem; }
+    .button-group .button:last-child {
+      margin-left: 0; }
+  .button-group.tiny .button {
+    font-size: 0.6rem; }
+  .button-group.small .button {
+    font-size: 0.75rem; }
+  .button-group.large .button {
+    font-size: 1.25rem; }
+  .button-group.expanded {
+    margin-left: -1px; }
+    .button-group.expanded::before, .button-group.expanded::after {
+      display: none; }
+    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
+      display: inline-block;
+      width: calc(50% - 1px);
+      margin-left: 1px; }
+      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
+        margin-left: -6px; }
+    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
+      display: inline-block;
+      width: calc(33.33333% - 1px);
+      margin-left: 1px; }
+      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
+        margin-left: -6px; }
+    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
+      display: inline-block;
+      width: calc(25% - 1px);
+      margin-left: 1px; }
+      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
+        margin-left: -6px; }
+    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
+      display: inline-block;
+      width: calc(20% - 1px);
+      margin-left: 1px; }
+      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
+        margin-left: -6px; }
+    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
+      display: inline-block;
+      width: calc(16.66667% - 1px);
+      margin-left: 1px; }
+      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
+        margin-left: -6px; }
+  .button-group.primary .button {
+    background-color: #2199e8;
+    color: #fefefe; }
+    .button-group.primary .button:hover, .button-group.primary .button:focus {
+      background-color: #147cc0;
+      color: #fefefe; }
+  .button-group.secondary .button {
+    background-color: #777;
+    color: #fefefe; }
+    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
+      background-color: #5f5f5f;
+      color: #fefefe; }
+  .button-group.success .button {
+    background-color: #3adb76;
+    color: #fefefe; }
+    .button-group.success .button:hover, .button-group.success .button:focus {
+      background-color: #22bb5b;
+      color: #fefefe; }
+  .button-group.warning .button {
+    background-color: #ffae00;
+    color: #fefefe; }
+    .button-group.warning .button:hover, .button-group.warning .button:focus {
+      background-color: #cc8b00;
+      color: #fefefe; }
+  .button-group.alert .button {
+    background-color: #ec5840;
+    color: #fefefe; }
+    .button-group.alert .button:hover, .button-group.alert .button:focus {
+      background-color: #da3116;
+      color: #fefefe; }
+  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
+    width: 100%; }
+    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
+      margin-bottom: 0; }
+  @media screen and (min-width: 40em) {
+    .button-group.stacked-for-small .button {
+      width: auto;
+      margin-bottom: 0; } }
+  @media screen and (min-width: 64em) {
+    .button-group.stacked-for-medium .button {
+      width: auto;
+      margin-bottom: 0; } }
+  @media screen and (max-width: 39.9375em) {
+    .button-group.stacked-for-small.expanded {
+      display: block; }
+      .button-group.stacked-for-small.expanded .button {
+        display: block;
+        margin-left: 0; } }
+
+.callout {
+  margin: 0 0 1rem 0;
+  padding: 1rem;
+  border: 1px solid rgba(10, 10, 10, 0.25);
+  border-radius: 0;
+  position: relative;
+  color: #0a0a0a;
+  background-color: white; }
+  .callout > :first-child {
+    margin-top: 0; }
+  .callout > :last-child {
+    margin-bottom: 0; }
+  .callout.primary {
+    background-color: #def0fc; }
+  .callout.secondary {
+    background-color: #ebebeb; }
+  .callout.success {
+    background-color: #e1faea; }
+  .callout.warning {
+    background-color: #fff3d9; }
+  .callout.alert {
+    background-color: #fce6e2; }
+  .callout.small {
+    padding-top: 0.5rem;
+    padding-right: 0.5rem;
+    padding-bottom: 0.5rem;
+    padding-left: 0.5rem; }
+  .callout.large {
+    padding-top: 3rem;
+    padding-right: 3rem;
+    padding-bottom: 3rem;
+    padding-left: 3rem; }
+
+.close-button {
+  position: absolute;
+  color: #8a8a8a;
+  right: 1rem;
+  top: 0.5rem;
+  font-size: 2em;
+  line-height: 1;
+  cursor: pointer; }
+  [data-whatinput='mouse'] .close-button {
+    outline: 0; }
+  .close-button:hover, .close-button:focus {
+    color: #0a0a0a; }
+
+.menu {
+  margin: 0;
+  list-style-type: none; }
+  .menu > li {
+    display: table-cell;
+    vertical-align: middle; }
+    [data-whatinput='mouse'] .menu > li {
+      outline: 0; }
+  .menu > li > a {
+    display: block;
+    padding: 0.7rem 1rem;
+    line-height: 1; }
+  .menu input,
+  .menu a,
+  .menu button {
+    margin-bottom: 0; }
+  .menu > li > a img,
+  .menu > li > a i,
+  .menu > li > a svg {
+    vertical-align: middle; }
+    .menu > li > a img + span,
+    .menu > li > a i + span,
+    .menu > li > a svg + span {
+      vertical-align: middle; }
+  .menu > li > a img,
+  .menu > li > a i,
+  .menu > li > a svg {
+    margin-left: 0.25rem;
+    display: inline-block; }
+  .menu > li {
+    display: table-cell; }
+  .menu.vertical > li {
+    display: block; }
+  @media screen and (min-width: 40em) {
+    .menu.medium-horizontal > li {
+      display: table-cell; }
+    .menu.medium-vertical > li {
+      display: block; } }
+  @media screen and (min-width: 64em) {
+    .menu.large-horizontal > li {
+      display: table-cell; }
+    .menu.large-vertical > li {
+      display: block; } }
+  .menu.simple li {
+    line-height: 1;
+    display: inline-block;
+    margin-left: 1rem; }
+  .menu.simple a {
+    padding: 0; }
+  .menu.align-left::before, .menu.align-left::after {
+    content: ' ';
+    display: table; }
+  .menu.align-left::after {
+    clear: both; }
+  .menu.align-left > li {
+    float: left; }
+  .menu.expanded {
+    width: 100%;
+    display: table;
+    table-layout: fixed; }
+    .menu.expanded > li:first-child:last-child {
+      width: 100%; }
+  .menu.icon-top > li > a {
+    text-align: center; }
+    .menu.icon-top > li > a img,
+    .menu.icon-top > li > a i,
+    .menu.icon-top > li > a svg {
+      display: block;
+      margin: 0 auto 0.25rem; }
+  .menu.nested {
+    margin-right: 1rem; }
+  .menu .active > a {
+    color: #fefefe;
+    background: #2199e8; }
+
+.menu-text {
+  font-weight: bold;
+  color: inherit;
+  line-height: 1;
+  padding-top: 0;
+  padding-bottom: 0;
+  padding: 0.7rem 1rem; }
+
+.menu-centered {
+  text-align: center; }
+  .menu-centered > .menu {
+    display: inline-block; }
+
+.no-js [data-responsive-menu] ul {
+  display: none; }
+
+.menu-icon {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  cursor: pointer;
+  width: 20px;
+  height: 16px; }
+  .menu-icon::after {
+    content: '';
+    position: absolute;
+    display: block;
+    width: 100%;
+    height: 2px;
+    background: #fefefe;
+    top: 0;
+    left: 0;
+    -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
+            box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe; }
+  .menu-icon:hover::after {
+    background: #cacaca;
+    -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
+            box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }
+
+.menu-icon.dark {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  cursor: pointer;
+  width: 20px;
+  height: 16px; }
+  .menu-icon.dark::after {
+    content: '';
+    position: absolute;
+    display: block;
+    width: 100%;
+    height: 2px;
+    background: #0a0a0a;
+    top: 0;
+    left: 0;
+    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
+            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; }
+  .menu-icon.dark:hover::after {
+    background: #8a8a8a;
+    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
+            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }
+
+.is-drilldown {
+  position: relative;
+  overflow: hidden; }
+  .is-drilldown li {
+    display: block !important; }
+
+.is-drilldown-submenu {
+  position: absolute;
+  top: 0;
+  right: 100%;
+  z-index: -1;
+  height: 100%;
+  width: 100%;
+  background: #fefefe;
+  -webkit-transition: -webkit-transform 0.15s linear;
+          transition: transform 0.15s linear; }
+  .is-drilldown-submenu.is-active {
+    z-index: 1;
+    display: block;
+    -webkit-transform: translateX(100%);
+        -ms-transform: translateX(100%);
+            transform: translateX(100%); }
+  .is-drilldown-submenu.is-closing {
+    -webkit-transform: translateX(-100%);
+        -ms-transform: translateX(-100%);
+            transform: translateX(-100%); }
+
+.is-drilldown-submenu-parent > a {
+  position: relative; }
+  .is-drilldown-submenu-parent > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 6px;
+    border-color: transparent #2199e8 transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0;
+    position: absolute;
+    top: 50%;
+    margin-top: -6px;
+    left: 1rem; }
+
+.js-drilldown-back > a::before {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  border: inset 6px;
+  border-color: transparent transparent transparent #2199e8;
+  border-left-style: solid;
+  border-right-width: 0;
+  border-right-width: 0;
+  display: inline-block;
+  vertical-align: middle;
+  margin-left: 0.75rem; }
+
+.dropdown-pane {
+  background-color: #fefefe;
+  border: 1px solid #cacaca;
+  border-radius: 0;
+  display: block;
+  font-size: 1rem;
+  padding: 1rem;
+  position: absolute;
+  visibility: hidden;
+  width: 300px;
+  z-index: 10; }
+  .dropdown-pane.is-open {
+    visibility: visible; }
+
+.dropdown-pane.tiny {
+  width: 100px; }
+
+.dropdown-pane.small {
+  width: 200px; }
+
+.dropdown-pane.large {
+  width: 400px; }
+
+.dropdown.menu > li.opens-left > .is-dropdown-submenu {
+  left: auto;
+  right: 0;
+  top: 100%; }
+
+.dropdown.menu > li.opens-right > .is-dropdown-submenu {
+  right: auto;
+  left: 0;
+  top: 100%; }
+
+.dropdown.menu > li.is-dropdown-submenu-parent > a {
+  padding-left: 1.5rem;
+  position: relative; }
+
+.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  border: inset 5px;
+  border-color: #2199e8 transparent transparent;
+  border-top-style: solid;
+  border-bottom-width: 0;
+  left: 5px;
+  margin-top: -2px; }
+
+[data-whatinput='mouse'] .dropdown.menu a {
+  outline: 0; }
+
+.no-js .dropdown.menu ul {
+  display: none; }
+
+.dropdown.menu.vertical > li .is-dropdown-submenu {
+  top: 0; }
+
+.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
+  left: auto;
+  right: 100%; }
+
+.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
+  right: auto;
+  left: 100%; }
+
+.dropdown.menu.vertical > li > a::after {
+  left: 14px;
+  margin-top: -3px; }
+
+.dropdown.menu.vertical > li.opens-left > a::after {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  border: inset 5px;
+  border-color: transparent #2199e8 transparent transparent;
+  border-right-style: solid;
+  border-left-width: 0; }
+
+.dropdown.menu.vertical > li.opens-right > a::after {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  border: inset 5px;
+  border-color: transparent transparent transparent #2199e8;
+  border-left-style: solid;
+  border-right-width: 0; }
+
+@media screen and (min-width: 40em) {
+  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 0;
+    top: 100%; }
+  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 0;
+    top: 100%; }
+  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
+    padding-left: 1.5rem;
+    position: relative; }
+  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: #2199e8 transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    left: 5px;
+    margin-top: -2px; }
+  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
+    top: 0; }
+  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 100%; }
+  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 100%; }
+  .dropdown.menu.medium-vertical > li > a::after {
+    left: 14px;
+    margin-top: -3px; }
+  .dropdown.menu.medium-vertical > li.opens-left > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent #2199e8 transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0; }
+  .dropdown.menu.medium-vertical > li.opens-right > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent transparent transparent #2199e8;
+    border-left-style: solid;
+    border-right-width: 0; } }
+
+@media screen and (min-width: 64em) {
+  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 0;
+    top: 100%; }
+  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 0;
+    top: 100%; }
+  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
+    padding-left: 1.5rem;
+    position: relative; }
+  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: #2199e8 transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    left: 5px;
+    margin-top: -2px; }
+  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
+    top: 0; }
+  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 100%; }
+  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 100%; }
+  .dropdown.menu.large-vertical > li > a::after {
+    left: 14px;
+    margin-top: -3px; }
+  .dropdown.menu.large-vertical > li.opens-left > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent #2199e8 transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0; }
+  .dropdown.menu.large-vertical > li.opens-right > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent transparent transparent #2199e8;
+    border-left-style: solid;
+    border-right-width: 0; } }
+
+.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
+  top: 100%;
+  left: auto;
+  right: 0; }
+
+.is-dropdown-menu.vertical {
+  width: 100px; }
+  .is-dropdown-menu.vertical.align-right {
+    float: right; }
+
+.is-dropdown-submenu-parent {
+  position: relative; }
+  .is-dropdown-submenu-parent a::after {
+    position: absolute;
+    top: 50%;
+    left: 5px;
+    margin-top: -2px; }
+  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
+    top: 100%;
+    right: auto; }
+  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 100%; }
+  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 100%; }
+
+.is-dropdown-submenu {
+  display: none;
+  position: absolute;
+  top: 0;
+  right: 100%;
+  min-width: 200px;
+  z-index: 1;
+  background: #fefefe;
+  border: 1px solid #cacaca; }
+  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
+    left: 14px;
+    margin-top: -3px; }
+  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent #2199e8 transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0; }
+  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent transparent transparent #2199e8;
+    border-left-style: solid;
+    border-right-width: 0; }
+  .is-dropdown-submenu .is-dropdown-submenu {
+    margin-top: -1px; }
+  .is-dropdown-submenu > li {
+    width: 100%; }
+  .is-dropdown-submenu.js-dropdown-active {
+    display: block; }
+
+.flex-video {
+  position: relative;
+  height: 0;
+  padding-bottom: 75%;
+  margin-bottom: 1rem;
+  overflow: hidden; }
+  .flex-video iframe,
+  .flex-video object,
+  .flex-video embed,
+  .flex-video video {
+    position: absolute;
+    top: 0;
+    right: 0;
+    width: 100%;
+    height: 100%; }
+  .flex-video.widescreen {
+    padding-bottom: 56.25%; }
+  .flex-video.vimeo {
+    padding-top: 0; }
+
+.label {
+  display: inline-block;
+  padding: 0.33333rem 0.5rem;
+  font-size: 0.8rem;
+  line-height: 1;
+  white-space: nowrap;
+  cursor: default;
+  border-radius: 0;
+  background: #2199e8;
+  color: #fefefe; }
+  .label.secondary {
+    background: #777;
+    color: #fefefe; }
+  .label.success {
+    background: #3adb76;
+    color: #fefefe; }
+  .label.warning {
+    background: #ffae00;
+    color: #fefefe; }
+  .label.alert {
+    background: #ec5840;
+    color: #fefefe; }
+
+.media-object {
+  margin-bottom: 1rem;
+  display: block; }
+  .media-object img {
+    max-width: none; }
+  @media screen and (max-width: 39.9375em) {
+    .media-object.stack-for-small .media-object-section {
+      padding: 0;
+      padding-bottom: 1rem;
+      display: block; }
+      .media-object.stack-for-small .media-object-section img {
+        width: 100%; } }
+
+.media-object-section {
+  display: table-cell;
+  vertical-align: top; }
+  .media-object-section:first-child {
+    padding-left: 1rem; }
+  .media-object-section:last-child:not(:nth-child(2)) {
+    padding-right: 1rem; }
+  .media-object-section > :last-child {
+    margin-bottom: 0; }
+  .media-object-section.middle {
+    vertical-align: middle; }
+  .media-object-section.bottom {
+    vertical-align: bottom; }
+
+html,
+body {
+  height: 100%; }
+
+.off-canvas-wrapper {
+  width: 100%;
+  overflow-x: hidden;
+  position: relative;
+  -webkit-backface-visibility: hidden;
+          backface-visibility: hidden;
+  -webkit-overflow-scrolling: auto; }
+
+.off-canvas-wrapper-inner {
+  position: relative;
+  width: 100%;
+  -webkit-transition: -webkit-transform 0.5s ease;
+          transition: transform 0.5s ease; }
+  .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
+    content: ' ';
+    display: table; }
+  .off-canvas-wrapper-inner::after {
+    clear: both; }
+
+.off-canvas-content,
+.off-canvas-content {
+  min-height: 100%;
+  background: #fefefe;
+  -webkit-transition: -webkit-transform 0.5s ease;
+          transition: transform 0.5s ease;
+  -webkit-backface-visibility: hidden;
+          backface-visibility: hidden;
+  z-index: 1;
+  padding-bottom: 0.1px;
+  -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.5);
+          box-shadow: 0 0 10px rgba(10, 10, 10, 0.5); }
+
+.js-off-canvas-exit {
+  display: none;
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background: rgba(254, 254, 254, 0.25);
+  cursor: pointer;
+  -webkit-transition: background 0.5s ease;
+          transition: background 0.5s ease; }
+
+.off-canvas {
+  position: absolute;
+  background: #e6e6e6;
+  z-index: -1;
+  max-height: 100%;
+  overflow-y: auto;
+  -webkit-transform: translateX(0);
+      -ms-transform: translateX(0);
+          transform: translateX(0); }
+  [data-whatinput='mouse'] .off-canvas {
+    outline: 0; }
+  .off-canvas.position-left {
+    left: -250px;
+    top: 0;
+    width: 250px; }
+    .is-open-left {
+      -webkit-transform: translateX(250px);
+          -ms-transform: translateX(250px);
+              transform: translateX(250px); }
+  .off-canvas.position-right {
+    right: -250px;
+    top: 0;
+    width: 250px; }
+    .is-open-right {
+      -webkit-transform: translateX(-250px);
+          -ms-transform: translateX(-250px);
+              transform: translateX(-250px); }
+
+@media screen and (min-width: 40em) {
+  .position-left.reveal-for-medium {
+    left: 0;
+    z-index: auto;
+    position: fixed; }
+    .position-left.reveal-for-medium ~ .off-canvas-content {
+      margin-left: 250px; }
+  .position-right.reveal-for-medium {
+    right: 0;
+    z-index: auto;
+    position: fixed; }
+    .position-right.reveal-for-medium ~ .off-canvas-content {
+      margin-right: 250px; } }
+
+@media screen and (min-width: 64em) {
+  .position-left.reveal-for-large {
+    left: 0;
+    z-index: auto;
+    position: fixed; }
+    .position-left.reveal-for-large ~ .off-canvas-content {
+      margin-left: 250px; }
+  .position-right.reveal-for-large {
+    right: 0;
+    z-index: auto;
+    position: fixed; }
+    .position-right.reveal-for-large ~ .off-canvas-content {
+      margin-right: 250px; } }
+
+.orbit {
+  position: relative; }
+
+.orbit-container {
+  position: relative;
+  margin: 0;
+  overflow: hidden;
+  list-style: none; }
+
+.orbit-slide {
+  width: 100%;
+  max-height: 100%; }
+  .orbit-slide.no-motionui.is-active {
+    top: 0;
+    left: 0; }
+
+.orbit-figure {
+  margin: 0; }
+
+.orbit-image {
+  margin: 0;
+  width: 100%;
+  max-width: 100%; }
+
+.orbit-caption {
+  position: absolute;
+  bottom: 0;
+  width: 100%;
+  padding: 1rem;
+  margin-bottom: 0;
+  color: #fefefe;
+  background-color: rgba(10, 10, 10, 0.5); }
+
+.orbit-previous, .orbit-next {
+  position: absolute;
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+      -ms-transform: translateY(-50%);
+          transform: translateY(-50%);
+  z-index: 10;
+  padding: 1rem;
+  color: #fefefe; }
+  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
+    outline: 0; }
+  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
+    background-color: rgba(10, 10, 10, 0.5); }
+
+.orbit-previous {
+  right: 0; }
+
+.orbit-next {
+  right: auto;
+  left: 0; }
+
+.orbit-bullets {
+  position: relative;
+  margin-top: 0.8rem;
+  margin-bottom: 0.8rem;
+  text-align: center; }
+  [data-whatinput='mouse'] .orbit-bullets {
+    outline: 0; }
+  .orbit-bullets button {
+    width: 1.2rem;
+    height: 1.2rem;
+    margin: 0.1rem;
+    background-color: #cacaca;
+    border-radius: 50%; }
+    .orbit-bullets button:hover {
+      background-color: #8a8a8a; }
+    .orbit-bullets button.is-active {
+      background-color: #8a8a8a; }
+
+.pagination {
+  margin-right: 0;
+  margin-bottom: 1rem; }
+  .pagination::before, .pagination::after {
+    content: ' ';
+    display: table; }
+  .pagination::after {
+    clear: both; }
+  .pagination li {
+    font-size: 0.875rem;
+    margin-left: 0.0625rem;
+    border-radius: 0;
+    display: none; }
+    .pagination li:last-child, .pagination li:first-child {
+      display: inline-block; }
+    @media screen and (min-width: 40em) {
+      .pagination li {
+        display: inline-block; } }
+  .pagination a,
+  .pagination button {
+    color: #0a0a0a;
+    display: block;
+    padding: 0.1875rem 0.625rem;
+    border-radius: 0; }
+    .pagination a:hover,
+    .pagination button:hover {
+      background: #e6e6e6; }
+  .pagination .current {
+    padding: 0.1875rem 0.625rem;
+    background: #2199e8;
+    color: #fefefe;
+    cursor: default; }
+  .pagination .disabled {
+    padding: 0.1875rem 0.625rem;
+    color: #cacaca;
+    cursor: not-allowed; }
+    .pagination .disabled:hover {
+      background: transparent; }
+  .pagination .ellipsis::after {
+    content: '\2026';
+    padding: 0.1875rem 0.625rem;
+    color: #0a0a0a; }
+
+.pagination-previous a::before,
+.pagination-previous.disabled::before {
+  content: '\00ab';
+  display: inline-block;
+  margin-left: 0.5rem; }
+
+.pagination-next a::after,
+.pagination-next.disabled::after {
+  content: '\00bb';
+  display: inline-block;
+  margin-right: 0.5rem; }
+
+.progress {
+  background-color: #cacaca;
+  height: 1rem;
+  margin-bottom: 1rem;
+  border-radius: 0; }
+  .progress.primary .progress-meter {
+    background-color: #2199e8; }
+  .progress.secondary .progress-meter {
+    background-color: #777; }
+  .progress.success .progress-meter {
+    background-color: #3adb76; }
+  .progress.warning .progress-meter {
+    background-color: #ffae00; }
+  .progress.alert .progress-meter {
+    background-color: #ec5840; }
+
+.progress-meter {
+  position: relative;
+  display: block;
+  width: 0%;
+  height: 100%;
+  background-color: #2199e8; }
+
+.progress-meter-text {
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  -webkit-transform: translate(-50%, -50%);
+      -ms-transform: translate(-50%, -50%);
+          transform: translate(-50%, -50%);
+  position: absolute;
+  margin: 0;
+  font-size: 0.75rem;
+  font-weight: bold;
+  color: #fefefe;
+  white-space: nowrap; }
+
+.slider {
+  position: relative;
+  height: 0.5rem;
+  margin-top: 1.25rem;
+  margin-bottom: 2.25rem;
+  background-color: #e6e6e6;
+  cursor: pointer;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  -ms-touch-action: none;
+      touch-action: none; }
+
+.slider-fill {
+  position: absolute;
+  top: 0;
+  left: 0;
+  display: inline-block;
+  max-width: 100%;
+  height: 0.5rem;
+  background-color: #cacaca;
+  -webkit-transition: all 0.2s ease-in-out;
+          transition: all 0.2s ease-in-out; }
+  .slider-fill.is-dragging {
+    -webkit-transition: all 0s linear;
+            transition: all 0s linear; }
+
+.slider-handle {
+  position: absolute;
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+      -ms-transform: translateY(-50%);
+          transform: translateY(-50%);
+  position: absolute;
+  left: 0;
+  z-index: 1;
+  display: inline-block;
+  width: 1.4rem;
+  height: 1.4rem;
+  background-color: #2199e8;
+  -webkit-transition: all 0.2s ease-in-out;
+          transition: all 0.2s ease-in-out;
+  -ms-touch-action: manipulation;
+      touch-action: manipulation;
+  border-radius: 0; }
+  [data-whatinput='mouse'] .slider-handle {
+    outline: 0; }
+  .slider-handle:hover {
+    background-color: #1583cc; }
+  .slider-handle.is-dragging {
+    -webkit-transition: all 0s linear;
+            transition: all 0s linear; }
+
+.slider.disabled,
+.slider[disabled] {
+  opacity: 0.25;
+  cursor: not-allowed; }
+
+.slider.vertical {
+  display: inline-block;
+  width: 0.5rem;
+  height: 12.5rem;
+  margin: 0 1.25rem;
+  -webkit-transform: scale(1, -1);
+      -ms-transform: scale(1, -1);
+          transform: scale(1, -1); }
+  .slider.vertical .slider-fill {
+    top: 0;
+    width: 0.5rem;
+    max-height: 100%; }
+  .slider.vertical .slider-handle {
+    position: absolute;
+    top: 0;
+    left: 50%;
+    width: 1.4rem;
+    height: 1.4rem;
+    -webkit-transform: translateX(-50%);
+        -ms-transform: translateX(-50%);
+            transform: translateX(-50%); }
+
+.slider:not(.vertical) {
+  -webkit-transform: scale(-1, 1);
+      -ms-transform: scale(-1, 1);
+          transform: scale(-1, 1); }
+
+.sticky-container {
+  position: relative; }
+
+.sticky {
+  position: absolute;
+  z-index: 0;
+  -webkit-transform: translate3d(0, 0, 0);
+          transform: translate3d(0, 0, 0); }
+
+.sticky.is-stuck {
+  position: fixed;
+  z-index: 5; }
+  .sticky.is-stuck.is-at-top {
+    top: 0; }
+  .sticky.is-stuck.is-at-bottom {
+    bottom: 0; }
+
+.sticky.is-anchored {
+  position: absolute;
+  left: auto;
+  right: auto; }
+  .sticky.is-anchored.is-at-bottom {
+    bottom: 0; }
+
+body.is-reveal-open {
+  overflow: hidden; }
+
+html.is-reveal-open,
+html.is-reveal-open body {
+  height: 100%;
+  overflow: hidden;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none; }
+
+.reveal-overlay {
+  display: none;
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  z-index: 1005;
+  background-color: rgba(10, 10, 10, 0.45);
+  overflow-y: scroll; }
+
+.reveal {
+  display: none;
+  z-index: 1006;
+  padding: 1rem;
+  border: 1px solid #cacaca;
+  background-color: #fefefe;
+  border-radius: 0;
+  position: relative;
+  top: 100px;
+  margin-left: auto;
+  margin-right: auto;
+  overflow-y: auto; }
+  [data-whatinput='mouse'] .reveal {
+    outline: 0; }
+  @media screen and (min-width: 40em) {
+    .reveal {
+      min-height: 0; } }
+  .reveal .column, .reveal .columns,
+  .reveal .columns {
+    min-width: 0; }
+  .reveal > :last-child {
+    margin-bottom: 0; }
+  @media screen and (min-width: 40em) {
+    .reveal {
+      width: 600px;
+      max-width: 75rem; } }
+  @media screen and (min-width: 40em) {
+    .reveal .reveal {
+      left: auto;
+      right: auto;
+      margin: 0 auto; } }
+  .reveal.collapse {
+    padding: 0; }
+  @media screen and (min-width: 40em) {
+    .reveal.tiny {
+      width: 30%;
+      max-width: 75rem; } }
+  @media screen and (min-width: 40em) {
+    .reveal.small {
+      width: 50%;
+      max-width: 75rem; } }
+  @media screen and (min-width: 40em) {
+    .reveal.large {
+      width: 90%;
+      max-width: 75rem; } }
+  .reveal.full {
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    height: 100vh;
+    min-height: 100vh;
+    max-width: none;
+    margin-left: 0;
+    border: 0;
+    border-radius: 0; }
+  @media screen and (max-width: 39.9375em) {
+    .reveal {
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 100%;
+      height: 100vh;
+      min-height: 100vh;
+      max-width: none;
+      margin-left: 0;
+      border: 0;
+      border-radius: 0; } }
+  .reveal.without-overlay {
+    position: fixed; }
+
+.switch {
+  margin-bottom: 1rem;
+  outline: 0;
+  position: relative;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  color: #fefefe;
+  font-weight: bold;
+  font-size: 0.875rem; }
+
+.switch-input {
+  opacity: 0;
+  position: absolute; }
+
+.switch-paddle {
+  background: #cacaca;
+  cursor: pointer;
+  display: block;
+  position: relative;
+  width: 4rem;
+  height: 2rem;
+  -webkit-transition: all 0.25s ease-out;
+          transition: all 0.25s ease-out;
+  border-radius: 0;
+  color: inherit;
+  font-weight: inherit; }
+  input + .switch-paddle {
+    margin: 0; }
+  .switch-paddle::after {
+    background: #fefefe;
+    content: '';
+    display: block;
+    position: absolute;
+    height: 1.5rem;
+    right: 0.25rem;
+    top: 0.25rem;
+    width: 1.5rem;
+    -webkit-transition: all 0.25s ease-out;
+            transition: all 0.25s ease-out;
+    -webkit-transform: translate3d(0, 0, 0);
+            transform: translate3d(0, 0, 0);
+    border-radius: 0; }
+  input:checked ~ .switch-paddle {
+    background: #2199e8; }
+    input:checked ~ .switch-paddle::after {
+      right: 2.25rem; }
+  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
+    outline: 0; }
+
+.switch-active, .switch-inactive {
+  position: absolute;
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+      -ms-transform: translateY(-50%);
+          transform: translateY(-50%); }
+
+.switch-active {
+  right: 8%;
+  display: none; }
+  input:checked + label > .switch-active {
+    display: block; }
+
+.switch-inactive {
+  left: 15%; }
+  input:checked + label > .switch-inactive {
+    display: none; }
+
+.switch.tiny .switch-paddle {
+  width: 3rem;
+  height: 1.5rem;
+  font-size: 0.625rem; }
+
+.switch.tiny .switch-paddle::after {
+  width: 1rem;
+  height: 1rem; }
+
+.switch.tiny input:checked ~ .switch-paddle::after {
+  right: 1.75rem; }
+
+.switch.small .switch-paddle {
+  width: 3.5rem;
+  height: 1.75rem;
+  font-size: 0.75rem; }
+
+.switch.small .switch-paddle::after {
+  width: 1.25rem;
+  height: 1.25rem; }
+
+.switch.small input:checked ~ .switch-paddle::after {
+  right: 2rem; }
+
+.switch.large .switch-paddle {
+  width: 5rem;
+  height: 2.5rem;
+  font-size: 1rem; }
+
+.switch.large .switch-paddle::after {
+  width: 2rem;
+  height: 2rem; }
+
+.switch.large input:checked ~ .switch-paddle::after {
+  right: 2.75rem; }
+
+table {
+  width: 100%;
+  margin-bottom: 1rem;
+  border-radius: 0; }
+  table thead,
+  table tbody,
+  table tfoot {
+    border: 1px solid #f1f1f1;
+    background-color: #fefefe; }
+  table caption {
+    font-weight: bold;
+    padding: 0.5rem 0.625rem 0.625rem; }
+  table thead,
+  table tfoot {
+    background: #f8f8f8;
+    color: #0a0a0a; }
+    table thead tr,
+    table tfoot tr {
+      background: transparent; }
+    table thead th,
+    table thead td,
+    table tfoot th,
+    table tfoot td {
+      padding: 0.5rem 0.625rem 0.625rem;
+      font-weight: bold;
+      text-align: right; }
+  table tbody tr:nth-child(even) {
+    background-color: #f1f1f1; }
+  table tbody th,
+  table tbody td {
+    padding: 0.5rem 0.625rem 0.625rem; }
+
+@media screen and (max-width: 63.9375em) {
+  table.stack thead {
+    display: none; }
+  table.stack tfoot {
+    display: none; }
+  table.stack tr,
+  table.stack th,
+  table.stack td {
+    display: block; }
+  table.stack td {
+    border-top: 0; } }
+
+table.scroll {
+  display: block;
+  width: 100%;
+  overflow-x: auto; }
+
+table.hover tr:hover {
+  background-color: #f9f9f9; }
+
+table.hover tr:nth-of-type(even):hover {
+  background-color: #ececec; }
+
+.table-scroll {
+  overflow-x: auto; }
+  .table-scroll table {
+    width: auto; }
+
+.tabs {
+  margin: 0;
+  list-style-type: none;
+  background: #fefefe;
+  border: 1px solid #e6e6e6; }
+  .tabs::before, .tabs::after {
+    content: ' ';
+    display: table; }
+  .tabs::after {
+    clear: both; }
+
+.tabs.vertical > li {
+  width: auto;
+  float: none;
+  display: block; }
+
+.tabs.simple > li > a {
+  padding: 0; }
+  .tabs.simple > li > a:hover {
+    background: transparent; }
+
+.tabs.primary {
+  background: #2199e8; }
+  .tabs.primary > li > a {
+    color: #fefefe; }
+    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
+      background: #1893e4; }
+
+.tabs-title {
+  float: right; }
+  .tabs-title > a {
+    display: block;
+    padding: 1.25rem 1.5rem;
+    line-height: 1;
+    font-size: 0.75rem; }
+    .tabs-title > a:hover {
+      background: #fefefe; }
+    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
+      background: #e6e6e6; }
+
+.tabs-content {
+  background: #fefefe;
+  -webkit-transition: all 0.5s ease;
+          transition: all 0.5s ease;
+  border: 1px solid #e6e6e6;
+  border-top: 0; }
+
+.tabs-content.vertical {
+  border: 1px solid #e6e6e6;
+  border-right: 0; }
+
+.tabs-panel {
+  display: none;
+  padding: 1rem; }
+  .tabs-panel.is-active {
+    display: block; }
+
+.thumbnail {
+  border: solid 4px #fefefe;
+  -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
+          box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
+  display: inline-block;
+  line-height: 0;
+  max-width: 100%;
+  -webkit-transition: -webkit-box-shadow 200ms ease-out;
+          transition: box-shadow 200ms ease-out;
+  border-radius: 0;
+  margin-bottom: 1rem; }
+  .thumbnail:hover, .thumbnail:focus {
+    -webkit-box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5);
+            box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5); }
+
+.title-bar {
+  background: #0a0a0a;
+  color: #fefefe;
+  padding: 0.5rem; }
+  .title-bar::before, .title-bar::after {
+    content: ' ';
+    display: table; }
+  .title-bar::after {
+    clear: both; }
+  .title-bar .menu-icon {
+    margin-right: 0.25rem;
+    margin-left: 0.25rem; }
+
+.title-bar-left {
+  float: left; }
+
+.title-bar-right {
+  float: right;
+  text-align: right; }
+
+.title-bar-title {
+  font-weight: bold;
+  vertical-align: middle;
+  display: inline-block; }
+
+.menu-icon.dark {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  cursor: pointer;
+  width: 20px;
+  height: 16px; }
+  .menu-icon.dark::after {
+    content: '';
+    position: absolute;
+    display: block;
+    width: 100%;
+    height: 2px;
+    background: #0a0a0a;
+    top: 0;
+    left: 0;
+    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
+            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; }
+  .menu-icon.dark:hover::after {
+    background: #8a8a8a;
+    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
+            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }
+
+.has-tip {
+  border-bottom: dotted 1px #8a8a8a;
+  font-weight: bold;
+  position: relative;
+  display: inline-block;
+  cursor: help; }
+
+.tooltip {
+  background-color: #0a0a0a;
+  color: #fefefe;
+  font-size: 80%;
+  padding: 0.75rem;
+  position: absolute;
+  z-index: 10;
+  top: calc(100% + 0.6495rem);
+  max-width: 10rem !important;
+  border-radius: 0; }
+  .tooltip::before {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.75rem;
+    border-color: transparent transparent #0a0a0a;
+    border-bottom-style: solid;
+    border-top-width: 0;
+    bottom: 100%;
+    position: absolute;
+    left: 50%;
+    -webkit-transform: translateX(-50%);
+        -ms-transform: translateX(-50%);
+            transform: translateX(-50%); }
+  .tooltip.top::before {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.75rem;
+    border-color: #0a0a0a transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    top: 100%;
+    bottom: auto; }
+  .tooltip.left::before {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.75rem;
+    border-color: transparent transparent transparent #0a0a0a;
+    border-left-style: solid;
+    border-right-width: 0;
+    bottom: auto;
+    left: 100%;
+    top: 50%;
+    -webkit-transform: translateY(-50%);
+        -ms-transform: translateY(-50%);
+            transform: translateY(-50%); }
+  .tooltip.right::before {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.75rem;
+    border-color: transparent #0a0a0a transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0;
+    bottom: auto;
+    left: auto;
+    right: 100%;
+    top: 50%;
+    -webkit-transform: translateY(-50%);
+        -ms-transform: translateY(-50%);
+            transform: translateY(-50%); }
+
+.top-bar {
+  padding: 0.5rem; }
+  .top-bar::before, .top-bar::after {
+    content: ' ';
+    display: table; }
+  .top-bar::after {
+    clear: both; }
+  .top-bar,
+  .top-bar ul {
+    background-color: #e6e6e6; }
+  .top-bar input {
+    max-width: 200px;
+    margin-left: 1rem; }
+  .top-bar .input-group-field {
+    width: 100%;
+    margin-left: 0; }
+  .top-bar input.button {
+    width: auto; }
+  .top-bar .top-bar-left,
+  .top-bar .top-bar-right {
+    width: 100%; }
+  @media screen and (min-width: 40em) {
+    .top-bar .top-bar-left,
+    .top-bar .top-bar-right {
+      width: auto; } }
+  @media screen and (max-width: 63.9375em) {
+    .top-bar.stacked-for-medium .top-bar-left,
+    .top-bar.stacked-for-medium .top-bar-right {
+      width: 100%; } }
+  @media screen and (max-width: 74.9375em) {
+    .top-bar.stacked-for-large .top-bar-left,
+    .top-bar.stacked-for-large .top-bar-right {
+      width: 100%; } }
+
+.top-bar-title {
+  float: left;
+  margin-right: 1rem; }
+
+.top-bar-left {
+  float: left; }
+
+.top-bar-right {
+  float: right; }
+
+.hide {
+  display: none !important; }
+
+.invisible {
+  visibility: hidden; }
+
+@media screen and (max-width: 39.9375em) {
+  .hide-for-small-only {
+    display: none !important; } }
+
+@media screen and (max-width: 0em), screen and (min-width: 40em) {
+  .show-for-small-only {
+    display: none !important; } }
+
+@media screen and (min-width: 40em) {
+  .hide-for-medium {
+    display: none !important; } }
+
+@media screen and (max-width: 39.9375em) {
+  .show-for-medium {
+    display: none !important; } }
+
+@media screen and (min-width: 40em) and (max-width: 63.9375em) {
+  .hide-for-medium-only {
+    display: none !important; } }
+
+@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
+  .show-for-medium-only {
+    display: none !important; } }
+
+@media screen and (min-width: 64em) {
+  .hide-for-large {
+    display: none !important; } }
+
+@media screen and (max-width: 63.9375em) {
+  .show-for-large {
+    display: none !important; } }
+
+@media screen and (min-width: 64em) and (max-width: 74.9375em) {
+  .hide-for-large-only {
+    display: none !important; } }
+
+@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
+  .show-for-large-only {
+    display: none !important; } }
+
+.show-for-sr,
+.show-on-focus {
+  position: absolute !important;
+  width: 1px;
+  height: 1px;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0); }
+
+.show-on-focus:active, .show-on-focus:focus {
+  position: static !important;
+  height: auto;
+  width: auto;
+  overflow: visible;
+  clip: auto; }
+
+.show-for-landscape,
+.hide-for-portrait {
+  display: block !important; }
+  @media screen and (orientation: landscape) {
+    .show-for-landscape,
+    .hide-for-portrait {
+      display: block !important; } }
+  @media screen and (orientation: portrait) {
+    .show-for-landscape,
+    .hide-for-portrait {
+      display: none !important; } }
+
+.hide-for-landscape,
+.show-for-portrait {
+  display: none !important; }
+  @media screen and (orientation: landscape) {
+    .hide-for-landscape,
+    .show-for-portrait {
+      display: none !important; } }
+  @media screen and (orientation: portrait) {
+    .hide-for-landscape,
+    .show-for-portrait {
+      display: block !important; } }
+
+.float-left {
+  float: left !important; }
+
+.float-right {
+  float: right !important; }
+
+.float-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto; }
+
+.clearfix::before, .clearfix::after {
+  content: ' ';
+  display: table; }
+
+.clearfix::after {
+  clear: both; }
+
+/*# sourceMappingURL=foundation-rtl.css.map */
diff --git a/libraries/foundation-6/dist/foundation-rtl.min.css b/libraries/foundation-6/dist/foundation-rtl.min.css
new file mode 100755
index 00000000..f11786c0
--- /dev/null
+++ b/libraries/foundation-6/dist/foundation-rtl.min.css
@@ -0,0 +1,2 @@
+@charset "UTF-8";
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:not-allowed}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{font-size:100%;box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{padding:0;margin:0;font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:400;line-height:1.5;color:#0a0a0a;background:#fefefe;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;-ms-interpolation-mode:bicubic;display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px;border-radius:0}select{width:100%;border-radius:0}#map_canvas embed,#map_canvas img,#map_canvas object,.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{-webkit-appearance:none;-moz-appearance:none;background:transparent;padding:0;border:0;border-radius:0;line-height:1}[data-whatinput=mouse] button{outline:0}.is-visible{display:block!important}.is-hidden{display:none!important}.row{max-width:75rem;margin-left:auto;margin-right:auto}.row:after,.row:before{content:' ';display:table}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row .row{max-width:none;margin-left:-.625rem;margin-right:-.625rem}@media screen and (min-width:40em){.row .row{margin-left:-.9375rem;margin-right:-.9375rem}}.row .row.collapse{margin-left:0;margin-right:0}.row.expanded{max-width:none}.row.expanded .row{margin-left:auto;margin-right:auto}.column,.columns{width:100%;float:right;padding-left:.625rem;padding-right:.625rem}@media screen and (min-width:40em){.column,.columns{padding-left:.9375rem;padding-right:.9375rem}}.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:left}.column.end:last-child:last-child,.end.columns:last-child:last-child{float:right}.column.row.row,.row.row.columns{float:none}.row .column.row.row,.row .row.row.columns{padding-left:0;padding-right:0;margin-left:0;margin-right:0}.small-1{width:8.33333%}.small-push-1{position:relative;right:8.33333%}.small-pull-1{position:relative;right:-8.33333%}.small-offset-0{margin-right:0}.small-2{width:16.66667%}.small-push-2{position:relative;right:16.66667%}.small-pull-2{position:relative;right:-16.66667%}.small-offset-1{margin-right:8.33333%}.small-3{width:25%}.small-push-3{position:relative;right:25%}.small-pull-3{position:relative;right:-25%}.small-offset-2{margin-right:16.66667%}.small-4{width:33.33333%}.small-push-4{position:relative;right:33.33333%}.small-pull-4{position:relative;right:-33.33333%}.small-offset-3{margin-right:25%}.small-5{width:41.66667%}.small-push-5{position:relative;right:41.66667%}.small-pull-5{position:relative;right:-41.66667%}.small-offset-4{margin-right:33.33333%}.small-6{width:50%}.small-push-6{position:relative;right:50%}.small-pull-6{position:relative;right:-50%}.small-offset-5{margin-right:41.66667%}.small-7{width:58.33333%}.small-push-7{position:relative;right:58.33333%}.small-pull-7{position:relative;right:-58.33333%}.small-offset-6{margin-right:50%}.small-8{width:66.66667%}.small-push-8{position:relative;right:66.66667%}.small-pull-8{position:relative;right:-66.66667%}.small-offset-7{margin-right:58.33333%}.small-9{width:75%}.small-push-9{position:relative;right:75%}.small-pull-9{position:relative;right:-75%}.small-offset-8{margin-right:66.66667%}.small-10{width:83.33333%}.small-push-10{position:relative;right:83.33333%}.small-pull-10{position:relative;right:-83.33333%}.small-offset-9{margin-right:75%}.small-11{width:91.66667%}.small-push-11{position:relative;right:91.66667%}.small-pull-11{position:relative;right:-91.66667%}.small-offset-10{margin-right:83.33333%}.small-12{width:100%}.small-offset-11{margin-right:91.66667%}.small-up-1>.column,.small-up-1>.columns{width:100%;float:right}.small-up-1>.column:nth-of-type(1n),.small-up-1>.columns:nth-of-type(1n){clear:none}.small-up-1>.column:nth-of-type(1n+1),.small-up-1>.columns:nth-of-type(1n+1){clear:both}.small-up-1>.column:last-child,.small-up-1>.columns:last-child{float:left}.small-up-2>.column,.small-up-2>.columns{width:50%;float:right}.small-up-2>.column:nth-of-type(1n),.small-up-2>.columns:nth-of-type(1n){clear:none}.small-up-2>.column:nth-of-type(2n+1),.small-up-2>.columns:nth-of-type(2n+1){clear:both}.small-up-2>.column:last-child,.small-up-2>.columns:last-child{float:left}.small-up-3>.column,.small-up-3>.columns{width:33.33333%;float:right}.small-up-3>.column:nth-of-type(1n),.small-up-3>.columns:nth-of-type(1n){clear:none}.small-up-3>.column:nth-of-type(3n+1),.small-up-3>.columns:nth-of-type(3n+1){clear:both}.small-up-3>.column:last-child,.small-up-3>.columns:last-child{float:left}.small-up-4>.column,.small-up-4>.columns{width:25%;float:right}.small-up-4>.column:nth-of-type(1n),.small-up-4>.columns:nth-of-type(1n){clear:none}.small-up-4>.column:nth-of-type(4n+1),.small-up-4>.columns:nth-of-type(4n+1){clear:both}.small-up-4>.column:last-child,.small-up-4>.columns:last-child{float:left}.small-up-5>.column,.small-up-5>.columns{width:20%;float:right}.small-up-5>.column:nth-of-type(1n),.small-up-5>.columns:nth-of-type(1n){clear:none}.small-up-5>.column:nth-of-type(5n+1),.small-up-5>.columns:nth-of-type(5n+1){clear:both}.small-up-5>.column:last-child,.small-up-5>.columns:last-child{float:left}.small-up-6>.column,.small-up-6>.columns{width:16.66667%;float:right}.small-up-6>.column:nth-of-type(1n),.small-up-6>.columns:nth-of-type(1n){clear:none}.small-up-6>.column:nth-of-type(6n+1),.small-up-6>.columns:nth-of-type(6n+1){clear:both}.small-up-6>.column:last-child,.small-up-6>.columns:last-child{float:left}.small-up-7>.column,.small-up-7>.columns{width:14.28571%;float:right}.small-up-7>.column:nth-of-type(1n),.small-up-7>.columns:nth-of-type(1n){clear:none}.small-up-7>.column:nth-of-type(7n+1),.small-up-7>.columns:nth-of-type(7n+1){clear:both}.small-up-7>.column:last-child,.small-up-7>.columns:last-child{float:left}.small-up-8>.column,.small-up-8>.columns{width:12.5%;float:right}.small-up-8>.column:nth-of-type(1n),.small-up-8>.columns:nth-of-type(1n){clear:none}.small-up-8>.column:nth-of-type(8n+1),.small-up-8>.columns:nth-of-type(8n+1){clear:both}.small-up-8>.column:last-child,.small-up-8>.columns:last-child{float:left}.small-collapse>.column,.small-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .small-collapse.row,.small-collapse .row{margin-left:0;margin-right:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-left:.625rem;padding-right:.625rem}.small-centered{float:none;margin-left:auto;margin-right:auto}.small-pull-0,.small-push-0,.small-uncentered{position:static;margin-left:0;margin-right:0;float:left}@media screen and (min-width:40em){.medium-1{width:8.33333%}.medium-push-1{position:relative;right:8.33333%}.medium-pull-1{position:relative;right:-8.33333%}.medium-offset-0{margin-right:0}.medium-2{width:16.66667%}.medium-push-2{position:relative;right:16.66667%}.medium-pull-2{position:relative;right:-16.66667%}.medium-offset-1{margin-right:8.33333%}.medium-3{width:25%}.medium-push-3{position:relative;right:25%}.medium-pull-3{position:relative;right:-25%}.medium-offset-2{margin-right:16.66667%}.medium-4{width:33.33333%}.medium-push-4{position:relative;right:33.33333%}.medium-pull-4{position:relative;right:-33.33333%}.medium-offset-3{margin-right:25%}.medium-5{width:41.66667%}.medium-push-5{position:relative;right:41.66667%}.medium-pull-5{position:relative;right:-41.66667%}.medium-offset-4{margin-right:33.33333%}.medium-6{width:50%}.medium-push-6{position:relative;right:50%}.medium-pull-6{position:relative;right:-50%}.medium-offset-5{margin-right:41.66667%}.medium-7{width:58.33333%}.medium-push-7{position:relative;right:58.33333%}.medium-pull-7{position:relative;right:-58.33333%}.medium-offset-6{margin-right:50%}.medium-8{width:66.66667%}.medium-push-8{position:relative;right:66.66667%}.medium-pull-8{position:relative;right:-66.66667%}.medium-offset-7{margin-right:58.33333%}.medium-9{width:75%}.medium-push-9{position:relative;right:75%}.medium-pull-9{position:relative;right:-75%}.medium-offset-8{margin-right:66.66667%}.medium-10{width:83.33333%}.medium-push-10{position:relative;right:83.33333%}.medium-pull-10{position:relative;right:-83.33333%}.medium-offset-9{margin-right:75%}.medium-11{width:91.66667%}.medium-push-11{position:relative;right:91.66667%}.medium-pull-11{position:relative;right:-91.66667%}.medium-offset-10{margin-right:83.33333%}.medium-12{width:100%}.medium-offset-11{margin-right:91.66667%}.medium-up-1>.column,.medium-up-1>.columns{width:100%;float:right}.medium-up-1>.column:nth-of-type(1n),.medium-up-1>.columns:nth-of-type(1n){clear:none}.medium-up-1>.column:nth-of-type(1n+1),.medium-up-1>.columns:nth-of-type(1n+1){clear:both}.medium-up-1>.column:last-child,.medium-up-1>.columns:last-child{float:left}.medium-up-2>.column,.medium-up-2>.columns{width:50%;float:right}.medium-up-2>.column:nth-of-type(1n),.medium-up-2>.columns:nth-of-type(1n){clear:none}.medium-up-2>.column:nth-of-type(2n+1),.medium-up-2>.columns:nth-of-type(2n+1){clear:both}.medium-up-2>.column:last-child,.medium-up-2>.columns:last-child{float:left}.medium-up-3>.column,.medium-up-3>.columns{width:33.33333%;float:right}.medium-up-3>.column:nth-of-type(1n),.medium-up-3>.columns:nth-of-type(1n){clear:none}.medium-up-3>.column:nth-of-type(3n+1),.medium-up-3>.columns:nth-of-type(3n+1){clear:both}.medium-up-3>.column:last-child,.medium-up-3>.columns:last-child{float:left}.medium-up-4>.column,.medium-up-4>.columns{width:25%;float:right}.medium-up-4>.column:nth-of-type(1n),.medium-up-4>.columns:nth-of-type(1n){clear:none}.medium-up-4>.column:nth-of-type(4n+1),.medium-up-4>.columns:nth-of-type(4n+1){clear:both}.medium-up-4>.column:last-child,.medium-up-4>.columns:last-child{float:left}.medium-up-5>.column,.medium-up-5>.columns{width:20%;float:right}.medium-up-5>.column:nth-of-type(1n),.medium-up-5>.columns:nth-of-type(1n){clear:none}.medium-up-5>.column:nth-of-type(5n+1),.medium-up-5>.columns:nth-of-type(5n+1){clear:both}.medium-up-5>.column:last-child,.medium-up-5>.columns:last-child{float:left}.medium-up-6>.column,.medium-up-6>.columns{width:16.66667%;float:right}.medium-up-6>.column:nth-of-type(1n),.medium-up-6>.columns:nth-of-type(1n){clear:none}.medium-up-6>.column:nth-of-type(6n+1),.medium-up-6>.columns:nth-of-type(6n+1){clear:both}.medium-up-6>.column:last-child,.medium-up-6>.columns:last-child{float:left}.medium-up-7>.column,.medium-up-7>.columns{width:14.28571%;float:right}.medium-up-7>.column:nth-of-type(1n),.medium-up-7>.columns:nth-of-type(1n){clear:none}.medium-up-7>.column:nth-of-type(7n+1),.medium-up-7>.columns:nth-of-type(7n+1){clear:both}.medium-up-7>.column:last-child,.medium-up-7>.columns:last-child{float:left}.medium-up-8>.column,.medium-up-8>.columns{width:12.5%;float:right}.medium-up-8>.column:nth-of-type(1n),.medium-up-8>.columns:nth-of-type(1n){clear:none}.medium-up-8>.column:nth-of-type(8n+1),.medium-up-8>.columns:nth-of-type(8n+1){clear:both}.medium-up-8>.column:last-child,.medium-up-8>.columns:last-child{float:left}.medium-collapse>.column,.medium-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .medium-collapse.row,.medium-collapse .row{margin-left:0;margin-right:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}.medium-centered{float:none;margin-left:auto;margin-right:auto}.medium-pull-0,.medium-push-0,.medium-uncentered{position:static;margin-left:0;margin-right:0;float:left}}@media screen and (min-width:64em){.large-1{width:8.33333%}.large-push-1{position:relative;right:8.33333%}.large-pull-1{position:relative;right:-8.33333%}.large-offset-0{margin-right:0}.large-2{width:16.66667%}.large-push-2{position:relative;right:16.66667%}.large-pull-2{position:relative;right:-16.66667%}.large-offset-1{margin-right:8.33333%}.large-3{width:25%}.large-push-3{position:relative;right:25%}.large-pull-3{position:relative;right:-25%}.large-offset-2{margin-right:16.66667%}.large-4{width:33.33333%}.large-push-4{position:relative;right:33.33333%}.large-pull-4{position:relative;right:-33.33333%}.large-offset-3{margin-right:25%}.large-5{width:41.66667%}.large-push-5{position:relative;right:41.66667%}.large-pull-5{position:relative;right:-41.66667%}.large-offset-4{margin-right:33.33333%}.large-6{width:50%}.large-push-6{position:relative;right:50%}.large-pull-6{position:relative;right:-50%}.large-offset-5{margin-right:41.66667%}.large-7{width:58.33333%}.large-push-7{position:relative;right:58.33333%}.large-pull-7{position:relative;right:-58.33333%}.large-offset-6{margin-right:50%}.large-8{width:66.66667%}.large-push-8{position:relative;right:66.66667%}.large-pull-8{position:relative;right:-66.66667%}.large-offset-7{margin-right:58.33333%}.large-9{width:75%}.large-push-9{position:relative;right:75%}.large-pull-9{position:relative;right:-75%}.large-offset-8{margin-right:66.66667%}.large-10{width:83.33333%}.large-push-10{position:relative;right:83.33333%}.large-pull-10{position:relative;right:-83.33333%}.large-offset-9{margin-right:75%}.large-11{width:91.66667%}.large-push-11{position:relative;right:91.66667%}.large-pull-11{position:relative;right:-91.66667%}.large-offset-10{margin-right:83.33333%}.large-12{width:100%}.large-offset-11{margin-right:91.66667%}.large-up-1>.column,.large-up-1>.columns{width:100%;float:right}.large-up-1>.column:nth-of-type(1n),.large-up-1>.columns:nth-of-type(1n){clear:none}.large-up-1>.column:nth-of-type(1n+1),.large-up-1>.columns:nth-of-type(1n+1){clear:both}.large-up-1>.column:last-child,.large-up-1>.columns:last-child{float:left}.large-up-2>.column,.large-up-2>.columns{width:50%;float:right}.large-up-2>.column:nth-of-type(1n),.large-up-2>.columns:nth-of-type(1n){clear:none}.large-up-2>.column:nth-of-type(2n+1),.large-up-2>.columns:nth-of-type(2n+1){clear:both}.large-up-2>.column:last-child,.large-up-2>.columns:last-child{float:left}.large-up-3>.column,.large-up-3>.columns{width:33.33333%;float:right}.large-up-3>.column:nth-of-type(1n),.large-up-3>.columns:nth-of-type(1n){clear:none}.large-up-3>.column:nth-of-type(3n+1),.large-up-3>.columns:nth-of-type(3n+1){clear:both}.large-up-3>.column:last-child,.large-up-3>.columns:last-child{float:left}.large-up-4>.column,.large-up-4>.columns{width:25%;float:right}.large-up-4>.column:nth-of-type(1n),.large-up-4>.columns:nth-of-type(1n){clear:none}.large-up-4>.column:nth-of-type(4n+1),.large-up-4>.columns:nth-of-type(4n+1){clear:both}.large-up-4>.column:last-child,.large-up-4>.columns:last-child{float:left}.large-up-5>.column,.large-up-5>.columns{width:20%;float:right}.large-up-5>.column:nth-of-type(1n),.large-up-5>.columns:nth-of-type(1n){clear:none}.large-up-5>.column:nth-of-type(5n+1),.large-up-5>.columns:nth-of-type(5n+1){clear:both}.large-up-5>.column:last-child,.large-up-5>.columns:last-child{float:left}.large-up-6>.column,.large-up-6>.columns{width:16.66667%;float:right}.large-up-6>.column:nth-of-type(1n),.large-up-6>.columns:nth-of-type(1n){clear:none}.large-up-6>.column:nth-of-type(6n+1),.large-up-6>.columns:nth-of-type(6n+1){clear:both}.large-up-6>.column:last-child,.large-up-6>.columns:last-child{float:left}.large-up-7>.column,.large-up-7>.columns{width:14.28571%;float:right}.large-up-7>.column:nth-of-type(1n),.large-up-7>.columns:nth-of-type(1n){clear:none}.large-up-7>.column:nth-of-type(7n+1),.large-up-7>.columns:nth-of-type(7n+1){clear:both}.large-up-7>.column:last-child,.large-up-7>.columns:last-child{float:left}.large-up-8>.column,.large-up-8>.columns{width:12.5%;float:right}.large-up-8>.column:nth-of-type(1n),.large-up-8>.columns:nth-of-type(1n){clear:none}.large-up-8>.column:nth-of-type(8n+1),.large-up-8>.columns:nth-of-type(8n+1){clear:both}.large-up-8>.column:last-child,.large-up-8>.columns:last-child{float:left}.large-collapse>.column,.large-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .large-collapse.row,.large-collapse .row{margin-left:0;margin-right:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}.large-centered{float:none;margin-left:auto;margin-right:auto}.large-pull-0,.large-push-0,.large-uncentered{position:static;margin-left:0;margin-right:0;float:left}}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}p{font-size:inherit;line-height:1.6;margin-bottom:1rem;text-rendering:optimizeLegibility}em,i{font-style:italic}b,em,i,strong{line-height:inherit}b,strong{font-weight:700}small{font-size:80%;line-height:inherit}h1,h2,h3,h4,h5,h6{font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:400;font-style:normal;color:inherit;text-rendering:optimizeLegibility;margin-top:0;margin-bottom:.5rem;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#cacaca;line-height:0}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1875rem}h4{font-size:1.125rem}h5{font-size:1.0625rem}h6{font-size:1rem}@media screen and (min-width:40em){h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:1.9375rem}h4{font-size:1.5625rem}h5{font-size:1.25rem}h6{font-size:1rem}}a{color:#2199e8;text-decoration:none;line-height:inherit;cursor:pointer}a:focus,a:hover{color:#1585cf}a img{border:0}hr{max-width:75rem;height:0;border-right:0;border-top:0;border-bottom:1px solid #cacaca;border-left:0;margin:1.25rem auto;clear:both}dl,ol,ul{line-height:1.6;margin-bottom:1rem;list-style-position:outside}li{font-size:inherit}ul{list-style-type:disc}ol,ul{margin-right:1.25rem}ol ol,ol ul,ul ol,ul ul{margin-right:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:700}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-right:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}cite{display:block;font-size:.8125rem;color:#8a8a8a}cite:before{content:'\2014 \0020'}abbr{color:#0a0a0a;cursor:help;border-bottom:1px dotted #0a0a0a}code{font-weight:400;border:1px solid #cacaca;padding:.125rem .3125rem .0625rem}code,kbd{font-family:Consolas,Liberation Mono,Courier,monospace;color:#0a0a0a;background-color:#e6e6e6}kbd{padding:.125rem .25rem 0;margin:0}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:400;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}.no-bullet{margin-right:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media screen and (min-width:40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media screen and (min-width:64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none!important}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.show-for-print{display:block!important}.hide-for-print{display:none!important}table.show-for-print{display:table!important}thead.show-for-print{display:table-header-group!important}tbody.show-for-print{display:table-row-group!important}tr.show-for-print{display:table-row!important}td.show-for-print,th.show-for-print{display:table-cell!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='#']:after,a[href^='javascript:']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{display:block;box-sizing:border-box;width:100%;height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-family:inherit;font-size:1rem;color:#0a0a0a;background-color:#fefefe;box-shadow:inset 0 1px 2px hsla(0,0%,4%,.1);border-radius:0;-webkit-transition:-webkit-box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out;-webkit-appearance:none;-moz-appearance:none}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{border:1px solid #8a8a8a;background-color:#fefefe;outline:none;box-shadow:0 0 5px #cacaca;-webkit-transition:-webkit-box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out}textarea{max-width:100%}textarea[rows]{height:auto}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#cacaca}input::-moz-placeholder,textarea::-moz-placeholder{color:#cacaca}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#cacaca}input::placeholder,textarea::placeholder{color:#cacaca}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type=button],[type=submit]{border-radius:0;-webkit-appearance:none;-moz-appearance:none}input[type=search]{box-sizing:border-box}[type=checkbox],[type=file],[type=radio]{margin:0 0 1rem}[type=checkbox]+label,[type=radio]+label{display:inline-block;margin-right:.5rem;margin-left:1rem;margin-bottom:0;vertical-align:baseline}[type=checkbox]+label[for],[type=radio]+label[for]{cursor:pointer}label>[type=checkbox],label>[type=radio]{margin-left:.5rem}[type=file]{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:400;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:table;width:100%;margin-bottom:1rem}.input-group>:first-child,.input-group>:last-child>*{border-radius:0 0 0 0}.input-group-button,.input-group-field,.input-group-label{margin:0;white-space:nowrap;display:table-cell;vertical-align:middle}.input-group-label{text-align:center;padding:0 1rem;background:#e6e6e6;color:#0a0a0a;border:1px solid #cacaca;white-space:nowrap;width:1%;height:100%}.input-group-label:first-child{border-left:0}.input-group-label:last-child{border-right:0}.input-group-field{border-radius:0;height:2.5rem}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;height:100%;width:1%}.input-group-button a,.input-group-button button,.input-group-button input{margin:0}.input-group .input-group-button{display:table-cell}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:.5rem;max-width:100%}.fieldset{border:1px solid #cacaca;padding:1.25rem;margin:1.125rem 0}.fieldset legend{background:#fefefe;padding:0 .1875rem;margin:0;margin-right:-.1875rem}select{height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-size:1rem;font-family:inherit;line-height:normal;color:#0a0a0a;background-color:#fefefe;border-radius:0;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-size:9px 6px;background-position:left -1rem center;background-origin:content-box;background-repeat:no-repeat;padding-left:1.5rem}@media screen and (min-width:0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){background-color:rgba(236,88,64,.1);border-color:#ec5840}.form-error,.is-invalid-label{color:#ec5840}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:700}.form-error.is-visible{display:block}.button{display:inline-block;text-align:center;line-height:1;cursor:pointer;-webkit-appearance:none;-webkit-transition:background-color .25s ease-out,color .25s ease-out;transition:background-color .25s ease-out,color .25s ease-out;vertical-align:middle;border:1px solid transparent;border-radius:0;padding:.85em 1em;margin:0 0 1rem;font-size:.9rem;background-color:#2199e8;color:#fefefe}[data-whatinput=mouse] .button{outline:0}.button:focus,.button:hover{background-color:#1583cc;color:#fefefe}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-left:0;margin-right:0}.button.primary{background-color:#2199e8;color:#fefefe}.button.primary:focus,.button.primary:hover{background-color:#147cc0;color:#fefefe}.button.secondary{background-color:#777;color:#fefefe}.button.secondary:focus,.button.secondary:hover{background-color:#5f5f5f;color:#fefefe}.button.success{background-color:#3adb76;color:#fefefe}.button.success:focus,.button.success:hover{background-color:#22bb5b;color:#fefefe}.button.warning{background-color:#ffae00;color:#fefefe}.button.warning:focus,.button.warning:hover{background-color:#cc8b00;color:#fefefe}.button.alert{background-color:#ec5840;color:#fefefe}.button.alert:focus,.button.alert:hover{background-color:#da3116;color:#fefefe}.button.hollow{border:1px solid #2199e8;color:#2199e8}.button.hollow,.button.hollow:focus,.button.hollow:hover{background-color:transparent}.button.hollow:focus,.button.hollow:hover{border-color:#0c4d78;color:#0c4d78}.button.hollow.primary{border:1px solid #2199e8;color:#2199e8}.button.hollow.primary:focus,.button.hollow.primary:hover{border-color:#0c4d78;color:#0c4d78}.button.hollow.secondary{border:1px solid #777;color:#777}.button.hollow.secondary:focus,.button.hollow.secondary:hover{border-color:#3c3c3c;color:#3c3c3c}.button.hollow.success{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:focus,.button.hollow.success:hover{border-color:#157539;color:#157539}.button.hollow.warning{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:#805700;color:#805700}.button.hollow.alert{border:1px solid #ec5840;color:#ec5840}.button.hollow.alert:focus,.button.hollow.alert:hover{border-color:#881f0e;color:#881f0e}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled:focus,.button.disabled:hover,.button[disabled]:focus,.button[disabled]:hover{background-color:#2199e8;color:#fefefe}.button.dropdown:after{content:'';display:block;width:0;height:0;border:.4em inset;border-color:#fefefe transparent transparent;border-top-style:solid;border-bottom-width:0;position:relative;top:.4em;float:left;margin-right:1em;display:inline-block}.button.arrow-only:after{margin-right:0;float:none;top:-.1em}.accordion{list-style-type:none;background:#fefefe;margin-right:0}.accordion-item:first-child>:first-child,.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{display:block;padding:1.25rem 1rem;line-height:1;font-size:.75rem;color:#2199e8;position:relative;border:1px solid #e6e6e6;border-bottom:0}:last-child:not(.is-active)>.accordion-title{border-radius:0 0 0 0;border-bottom:1px solid #e6e6e6}.accordion-title:focus,.accordion-title:hover{background-color:#e6e6e6}.accordion-title:before{content:'+';position:absolute;left:1rem;top:50%;margin-top:-.5rem}.is-active>.accordion-title:before{content:'–'}.accordion-content{padding:1rem;display:none;border:1px solid #e6e6e6;border-bottom:0;background-color:#fefefe;color:#0a0a0a}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.is-accordion-submenu-parent>a{position:relative}.is-accordion-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:6px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;position:absolute;top:50%;margin-top:-4px;right:1rem}.is-accordion-submenu-parent[aria-expanded=true]>a:after{-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:scaleY(-1);transform:scaleY(-1)}.badge{display:inline-block;padding:.3em;min-width:2.1em;font-size:.6rem;text-align:center;border-radius:50%;background:#2199e8;color:#fefefe}.badge.secondary{background:#777;color:#fefefe}.badge.success{background:#3adb76;color:#fefefe}.badge.warning{background:#ffae00;color:#fefefe}.badge.alert{background:#ec5840;color:#fefefe}.breadcrumbs{list-style:none;margin:0 0 1rem}.breadcrumbs:after,.breadcrumbs:before{content:' ';display:table}.breadcrumbs:after{clear:both}.breadcrumbs li{float:right;color:#0a0a0a;font-size:.6875rem;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child):after{color:#cacaca;content:"\\";margin:0 .75rem;position:relative;top:1px;opacity:1}.breadcrumbs a{color:#2199e8}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.button-group{margin-bottom:1rem;font-size:0}.button-group:after,.button-group:before{content:' ';display:table}.button-group:after{clear:both}.button-group .button{margin:0;margin-left:1px;margin-bottom:1px;font-size:.9rem}.button-group .button:last-child{margin-left:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded{margin-left:-1px}.button-group.expanded:after,.button-group.expanded:before{display:none}.button-group.expanded .button:first-child:nth-last-child(2),.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2)~.button{display:inline-block;width:calc(50% - 1px);margin-left:1px}.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(2):last-child{margin-left:-6px}.button-group.expanded .button:first-child:nth-last-child(3),.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3)~.button{display:inline-block;width:calc(33.33333% - 1px);margin-left:1px}.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(3):last-child{margin-left:-6px}.button-group.expanded .button:first-child:nth-last-child(4),.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4)~.button{display:inline-block;width:calc(25% - 1px);margin-left:1px}.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(4):last-child{margin-left:-6px}.button-group.expanded .button:first-child:nth-last-child(5),.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5)~.button{display:inline-block;width:calc(20% - 1px);margin-left:1px}.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(5):last-child{margin-left:-6px}.button-group.expanded .button:first-child:nth-last-child(6),.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6)~.button{display:inline-block;width:calc(16.66667% - 1px);margin-left:1px}.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(6):last-child{margin-left:-6px}.button-group.primary .button{background-color:#2199e8;color:#fefefe}.button-group.primary .button:focus,.button-group.primary .button:hover{background-color:#147cc0;color:#fefefe}.button-group.secondary .button{background-color:#777;color:#fefefe}.button-group.secondary .button:focus,.button-group.secondary .button:hover{background-color:#5f5f5f;color:#fefefe}.button-group.success .button{background-color:#3adb76;color:#fefefe}.button-group.success .button:focus,.button-group.success .button:hover{background-color:#22bb5b;color:#fefefe}.button-group.warning .button{background-color:#ffae00;color:#fefefe}.button-group.warning .button:focus,.button-group.warning .button:hover{background-color:#cc8b00;color:#fefefe}.button-group.alert .button{background-color:#ec5840;color:#fefefe}.button-group.alert .button:focus,.button-group.alert .button:hover{background-color:#da3116;color:#fefefe}.button-group.stacked-for-medium .button,.button-group.stacked-for-small .button,.button-group.stacked .button{width:100%}.button-group.stacked-for-medium .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked .button:last-child{margin-bottom:0}@media screen and (min-width:40em){.button-group.stacked-for-small .button{width:auto;margin-bottom:0}}@media screen and (min-width:64em){.button-group.stacked-for-medium .button{width:auto;margin-bottom:0}}@media screen and (max-width:39.9375em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-left:0}}.callout{margin:0 0 1rem;padding:1rem;border:1px solid hsla(0,0%,4%,.25);border-radius:0;position:relative;color:#0a0a0a;background-color:#fff}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#def0fc}.callout.secondary{background-color:#ebebeb}.callout.success{background-color:#e1faea}.callout.warning{background-color:#fff3d9}.callout.alert{background-color:#fce6e2}.callout.small{padding:.5rem}.callout.large{padding:3rem}.close-button{position:absolute;color:#8a8a8a;right:1rem;top:.5rem;font-size:2em;line-height:1;cursor:pointer}[data-whatinput=mouse] .close-button{outline:0}.close-button:focus,.close-button:hover{color:#0a0a0a}.menu{margin:0;list-style-type:none}.menu>li{display:table-cell;vertical-align:middle}[data-whatinput=mouse] .menu>li{outline:0}.menu>li>a{display:block;padding:.7rem 1rem;line-height:1}.menu a,.menu button,.menu input{margin-bottom:0}.menu>li>a i,.menu>li>a i+span,.menu>li>a img,.menu>li>a img+span,.menu>li>a svg,.menu>li>a svg+span{vertical-align:middle}.menu>li>a i,.menu>li>a img,.menu>li>a svg{margin-left:.25rem;display:inline-block}.menu>li{display:table-cell}.menu.vertical>li{display:block}@media screen and (min-width:40em){.menu.medium-horizontal>li{display:table-cell}.menu.medium-vertical>li{display:block}}@media screen and (min-width:64em){.menu.large-horizontal>li{display:table-cell}.menu.large-vertical>li{display:block}}.menu.simple li{line-height:1;display:inline-block;margin-left:1rem}.menu.simple a{padding:0}.menu.align-left:after,.menu.align-left:before{content:' ';display:table}.menu.align-left:after{clear:both}.menu.align-left>li{float:left}.menu.expanded{width:100%;display:table;table-layout:fixed}.menu.expanded>li:first-child:last-child{width:100%}.menu.icon-top>li>a{text-align:center}.menu.icon-top>li>a i,.menu.icon-top>li>a img,.menu.icon-top>li>a svg{display:block;margin:0 auto .25rem}.menu.nested{margin-right:1rem}.menu .active>a{color:#fefefe;background:#2199e8}.menu-text{font-weight:700;color:inherit;line-height:1;padding-top:0;padding-bottom:0;padding:.7rem 1rem}.menu-centered{text-align:center}.menu-centered>.menu{display:inline-block}.no-js [data-responsive-menu] ul{display:none}.menu-icon{position:relative;display:inline-block;vertical-align:middle;cursor:pointer;width:20px;height:16px}.menu-icon:after{content:'';position:absolute;display:block;width:100%;height:2px;background:#fefefe;top:0;left:0;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe}.menu-icon:hover:after{background:#cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block!important}.is-drilldown-submenu{position:absolute;top:0;right:100%;z-index:-1;height:100%;width:100%;background:#fefefe;-webkit-transition:-webkit-transform .15s linear;transition:transform .15s linear}.is-drilldown-submenu.is-active{z-index:1;display:block;-webkit-transform:translateX(100%);transform:translateX(100%)}.is-drilldown-submenu.is-closing{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.is-drilldown-submenu-parent>a{position:relative}.is-drilldown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:6px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0;position:absolute;top:50%;margin-top:-6px;left:1rem}.js-drilldown-back>a:before{content:'';display:block;width:0;height:0;border:6px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0;display:inline-block;vertical-align:middle;margin-left:.75rem}.dropdown-pane{background-color:#fefefe;border:1px solid #cacaca;border-radius:0;display:block;font-size:1rem;padding:1rem;position:absolute;visibility:hidden;width:300px;z-index:10}.dropdown-pane.is-open{visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.dropdown.menu>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu>li.is-dropdown-submenu-parent>a{padding-left:1.5rem;position:relative}.dropdown.menu>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;left:5px;margin-top:-2px}[data-whatinput=mouse] .dropdown.menu a{outline:0}.no-js .dropdown.menu ul{display:none}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a:after{left:14px;margin-top:-3px}.dropdown.menu.vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}@media screen and (min-width:40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{padding-left:1.5rem;position:relative}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;left:5px;margin-top:-2px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a:after{left:14px;margin-top:-3px}.dropdown.menu.medium-vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.medium-vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}@media screen and (min-width:64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{padding-left:1.5rem;position:relative}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;left:5px;margin-top:-2px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a:after{left:14px;margin-top:-3px}.dropdown.menu.large-vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.large-vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;left:auto;right:0}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a:after{position:absolute;top:50%;left:5px;margin-top:-2px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;right:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{left:auto;right:100%}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{display:none;position:absolute;top:0;right:100%;min-width:200px;z-index:1;background:#fefefe;border:1px solid #cacaca}.is-dropdown-submenu .is-dropdown-submenu-parent>a:after{left:14px;margin-top:-3px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.flex-video{position:relative;height:0;padding-bottom:75%;margin-bottom:1rem;overflow:hidden}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video{position:absolute;top:0;right:0;width:100%;height:100%}.flex-video.widescreen{padding-bottom:56.25%}.flex-video.vimeo{padding-top:0}.label{display:inline-block;padding:.33333rem .5rem;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;border-radius:0;background:#2199e8;color:#fefefe}.label.secondary{background:#777;color:#fefefe}.label.success{background:#3adb76;color:#fefefe}.label.warning{background:#ffae00;color:#fefefe}.label.alert{background:#ec5840;color:#fefefe}.media-object{margin-bottom:1rem;display:block}.media-object img{max-width:none}@media screen and (max-width:39.9375em){.media-object.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;display:block}.media-object.stack-for-small .media-object-section img{width:100%}}.media-object-section{display:table-cell;vertical-align:top}.media-object-section:first-child{padding-left:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-right:1rem}.media-object-section>:last-child{margin-bottom:0}.media-object-section.middle{vertical-align:middle}.media-object-section.bottom{vertical-align:bottom}body,html{height:100%}.off-canvas-wrapper{width:100%;overflow-x:hidden;position:relative;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:auto}.off-canvas-wrapper-inner{position:relative;width:100%;-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease}.off-canvas-wrapper-inner:after,.off-canvas-wrapper-inner:before{content:' ';display:table}.off-canvas-wrapper-inner:after{clear:both}.off-canvas-content{min-height:100%;background:#fefefe;-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;padding-bottom:.1px;box-shadow:0 0 10px hsla(0,0%,4%,.5)}.js-off-canvas-exit{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:hsla(0,0%,100%,.25);cursor:pointer;-webkit-transition:background .5s ease;transition:background .5s ease}.off-canvas{position:absolute;background:#e6e6e6;z-index:-1;max-height:100%;overflow-y:auto;-webkit-transform:translateX(0);transform:translateX(0)}[data-whatinput=mouse] .off-canvas{outline:0}.off-canvas.position-left{left:-250px;top:0;width:250px}.is-open-left{-webkit-transform:translateX(250px);transform:translateX(250px)}.off-canvas.position-right{right:-250px;top:0;width:250px}.is-open-right{-webkit-transform:translateX(-250px);transform:translateX(-250px)}@media screen and (min-width:40em){.position-left.reveal-for-medium{left:0;z-index:auto;position:fixed}.position-left.reveal-for-medium~.off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{right:0;z-index:auto;position:fixed}.position-right.reveal-for-medium~.off-canvas-content{margin-right:250px}}@media screen and (min-width:64em){.position-left.reveal-for-large{left:0;z-index:auto;position:fixed}.position-left.reveal-for-large~.off-canvas-content{margin-left:250px}.position-right.reveal-for-large{right:0;z-index:auto;position:fixed}.position-right.reveal-for-large~.off-canvas-content{margin-right:250px}}.orbit,.orbit-container{position:relative}.orbit-container{margin:0;overflow:hidden;list-style:none}.orbit-slide{width:100%;max-height:100%}.orbit-slide.no-motionui.is-active{top:0;left:0}.orbit-figure{margin:0}.orbit-image{margin:0;width:100%;max-width:100%}.orbit-caption{bottom:0;width:100%;margin-bottom:0;background-color:hsla(0,0%,4%,.5)}.orbit-caption,.orbit-next,.orbit-previous{position:absolute;padding:1rem;color:#fefefe}.orbit-next,.orbit-previous{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:10}[data-whatinput=mouse] .orbit-next,[data-whatinput=mouse] .orbit-previous{outline:0}.orbit-next:active,.orbit-next:focus,.orbit-next:hover,.orbit-previous:active,.orbit-previous:focus,.orbit-previous:hover{background-color:hsla(0,0%,4%,.5)}.orbit-previous{right:0}.orbit-next{right:auto;left:0}.orbit-bullets{position:relative;margin-top:.8rem;margin-bottom:.8rem;text-align:center}[data-whatinput=mouse] .orbit-bullets{outline:0}.orbit-bullets button{width:1.2rem;height:1.2rem;margin:.1rem;background-color:#cacaca;border-radius:50%}.orbit-bullets button.is-active,.orbit-bullets button:hover{background-color:#8a8a8a}.pagination{margin-right:0;margin-bottom:1rem}.pagination:after,.pagination:before{content:' ';display:table}.pagination:after{clear:both}.pagination li{font-size:.875rem;margin-left:.0625rem;border-radius:0;display:none}.pagination li:first-child,.pagination li:last-child{display:inline-block}@media screen and (min-width:40em){.pagination li{display:inline-block}}.pagination a,.pagination button{color:#0a0a0a;display:block;padding:.1875rem .625rem;border-radius:0}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{padding:.1875rem .625rem;background:#2199e8;color:#fefefe;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#cacaca;cursor:not-allowed}.pagination .disabled:hover{background:transparent}.pagination .ellipsis:after{content:'\2026';padding:.1875rem .625rem;color:#0a0a0a}.pagination-previous.disabled:before,.pagination-previous a:before{content:'\00ab';display:inline-block;margin-left:.5rem}.pagination-next.disabled:after,.pagination-next a:after{content:'\00bb';display:inline-block;margin-right:.5rem}.progress{background-color:#cacaca;height:1rem;margin-bottom:1rem;border-radius:0}.progress.primary .progress-meter{background-color:#2199e8}.progress.secondary .progress-meter{background-color:#777}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffae00}.progress.alert .progress-meter{background-color:#ec5840}.progress-meter{position:relative;display:block;width:0;height:100%;background-color:#2199e8}.progress-meter-text{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);position:absolute;margin:0;font-size:.75rem;font-weight:700;color:#fefefe;white-space:nowrap}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#e6e6e6;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.5rem;background-color:#cacaca;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.slider-fill.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider-handle{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);position:absolute;left:0;z-index:1;display:inline-block;width:1.4rem;height:1.4rem;background-color:#2199e8;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;-ms-touch-action:manipulation;touch-action:manipulation;border-radius:0}[data-whatinput=mouse] .slider-handle{outline:0}.slider-handle:hover{background-color:#1583cc}.slider-handle.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;-webkit-transform:scaleY(-1);transform:scaleY(-1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.slider:not(.vertical){-webkit-transform:scaleX(-1);transform:scaleX(-1)}.sticky-container{position:relative}.sticky{position:absolute;z-index:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.sticky.is-stuck{position:fixed;z-index:5}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:absolute;left:auto;right:auto}.sticky.is-anchored.is-at-bottom{bottom:0}body.is-reveal-open{overflow:hidden}html.is-reveal-open,html.is-reveal-open body{height:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reveal-overlay{display:none;position:fixed;top:0;bottom:0;left:0;right:0;z-index:1005;background-color:hsla(0,0%,4%,.45);overflow-y:scroll}.reveal{display:none;z-index:1006;padding:1rem;border:1px solid #cacaca;background-color:#fefefe;border-radius:0;position:relative;top:100px;margin-left:auto;margin-right:auto;overflow-y:auto}[data-whatinput=mouse] .reveal{outline:0}@media screen and (min-width:40em){.reveal{min-height:0}}.reveal .column,.reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media screen and (min-width:40em){.reveal{width:600px;max-width:75rem}}@media screen and (min-width:40em){.reveal .reveal{left:auto;right:auto;margin:0 auto}}.reveal.collapse{padding:0}@media screen and (min-width:40em){.reveal.tiny{width:30%;max-width:75rem}}@media screen and (min-width:40em){.reveal.small{width:50%;max-width:75rem}}@media screen and (min-width:40em){.reveal.large{width:90%;max-width:75rem}}.reveal.full{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}@media screen and (max-width:39.9375em){.reveal{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.switch{margin-bottom:1rem;outline:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fefefe;font-weight:700;font-size:.875rem}.switch-input{opacity:0;position:absolute}.switch-paddle{background:#cacaca;cursor:pointer;display:block;position:relative;width:4rem;height:2rem;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;border-radius:0;color:inherit;font-weight:inherit}input+.switch-paddle{margin:0}.switch-paddle:after{background:#fefefe;content:'';display:block;position:absolute;height:1.5rem;right:.25rem;top:.25rem;width:1.5rem;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;-webkit-transform:translateZ(0);transform:translateZ(0);border-radius:0}input:checked~.switch-paddle{background:#2199e8}input:checked~.switch-paddle:after{right:2.25rem}[data-whatinput=mouse] input:focus~.switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.switch-active{right:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{left:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle:after{width:1rem;height:1rem}.switch.tiny input:checked~.switch-paddle:after{right:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle:after{width:1.25rem;height:1.25rem}.switch.small input:checked~.switch-paddle:after{right:2rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle:after{width:2rem;height:2rem}.switch.large input:checked~.switch-paddle:after{right:2.75rem}table{width:100%;margin-bottom:1rem;border-radius:0}table tbody,table tfoot,table thead{border:1px solid #f1f1f1;background-color:#fefefe}table caption{font-weight:700;padding:.5rem .625rem .625rem}table tfoot,table thead{background:#f8f8f8;color:#0a0a0a}table tfoot tr,table thead tr{background:transparent}table tfoot td,table tfoot th,table thead td,table thead th{padding:.5rem .625rem .625rem;font-weight:700;text-align:right}table tbody tr:nth-child(even){background-color:#f1f1f1}table tbody td,table tbody th{padding:.5rem .625rem .625rem}@media screen and (max-width:63.9375em){table.stack tfoot,table.stack thead{display:none}table.stack td,table.stack th,table.stack tr{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover tr:hover{background-color:#f9f9f9}table.hover tr:nth-of-type(even):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.table-scroll table{width:auto}.tabs{margin:0;list-style-type:none;background:#fefefe;border:1px solid #e6e6e6}.tabs:after,.tabs:before{content:' ';display:table}.tabs:after{clear:both}.tabs.vertical>li{width:auto;float:none;display:block}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:transparent}.tabs.primary{background:#2199e8}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:focus,.tabs.primary>li>a:hover{background:#1893e4}.tabs-title{float:right}.tabs-title>a{display:block;padding:1.25rem 1.5rem;line-height:1;font-size:.75rem}.tabs-title>a:hover{background:#fefefe}.tabs-title>a:focus,.tabs-title>a[aria-selected=true]{background:#e6e6e6}.tabs-content{background:#fefefe;-webkit-transition:all .5s ease;transition:all .5s ease;border:1px solid #e6e6e6;border-top:0}.tabs-content.vertical{border:1px solid #e6e6e6;border-right:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{border:4px solid #fefefe;box-shadow:0 0 0 1px hsla(0,0%,4%,.2);display:inline-block;line-height:0;max-width:100%;-webkit-transition:-webkit-box-shadow .2s ease-out;transition:box-shadow .2s ease-out;border-radius:0;margin-bottom:1rem}.thumbnail:focus,.thumbnail:hover{box-shadow:0 0 6px 1px rgba(33,153,232,.5)}.title-bar{background:#0a0a0a;color:#fefefe;padding:.5rem}.title-bar:after,.title-bar:before{content:' ';display:table}.title-bar:after{clear:both}.title-bar .menu-icon{margin-right:.25rem;margin-left:.25rem}.title-bar-left{float:left}.title-bar-right{float:right;text-align:right}.title-bar-title{font-weight:700}.menu-icon.dark,.title-bar-title{vertical-align:middle;display:inline-block}.menu-icon.dark{position:relative;cursor:pointer;width:20px;height:16px}.menu-icon.dark:after{content:'';position:absolute;display:block;width:100%;height:2px;background:#0a0a0a;top:0;left:0;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a}.menu-icon.dark:hover:after{background:#8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.has-tip{border-bottom:1px dotted #8a8a8a;font-weight:700;position:relative;display:inline-block;cursor:help}.tooltip{background-color:#0a0a0a;color:#fefefe;font-size:80%;padding:.75rem;position:absolute;z-index:10;top:calc(100% + .6495rem);max-width:10rem!important;border-radius:0}.tooltip:before{border-color:transparent transparent #0a0a0a;border-bottom-style:solid;border-top-width:0;bottom:100%;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top:before,.tooltip:before{content:'';display:block;width:0;height:0;border:.75rem inset}.tooltip.top:before{border-color:#0a0a0a transparent transparent;border-top-style:solid;border-bottom-width:0;top:100%;bottom:auto}.tooltip.left:before{border-color:transparent transparent transparent #0a0a0a;border-left-style:solid;border-right-width:0;left:100%}.tooltip.left:before,.tooltip.right:before{content:'';display:block;width:0;height:0;border:.75rem inset;bottom:auto;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right:before{border-color:transparent #0a0a0a transparent transparent;border-right-style:solid;border-left-width:0;left:auto;right:100%}.top-bar{padding:.5rem}.top-bar:after,.top-bar:before{content:' ';display:table}.top-bar:after{clear:both}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{max-width:200px;margin-left:1rem}.top-bar .input-group-field{width:100%;margin-left:0}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{width:100%}@media screen and (min-width:40em){.top-bar .top-bar-left,.top-bar .top-bar-right{width:auto}}@media screen and (max-width:63.9375em){.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{width:100%}}@media screen and (max-width:74.9375em){.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{width:100%}}.top-bar-title{float:left;margin-right:1rem}.top-bar-left{float:left}.top-bar-right{float:right}.hide{display:none!important}.invisible{visibility:hidden}@media screen and (max-width:39.9375em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:40em){.show-for-small-only{display:none!important}}@media screen and (min-width:40em){.hide-for-medium{display:none!important}}@media screen and (max-width:39.9375em){.show-for-medium{display:none!important}}@media screen and (min-width:40em) and (max-width:63.9375em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:39.9375em),screen and (min-width:64em){.show-for-medium-only{display:none!important}}@media screen and (min-width:64em){.hide-for-large{display:none!important}}@media screen and (max-width:63.9375em){.show-for-large{display:none!important}}@media screen and (min-width:64em) and (max-width:74.9375em){.hide-for-large-only{display:none!important}}@media screen and (max-width:63.9375em),screen and (min-width:75em){.show-for-large-only{display:none!important}}.show-for-sr,.show-on-focus{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.show-on-focus:active,.show-on-focus:focus{position:static!important;height:auto;width:auto;overflow:visible;clip:auto}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{display:none!important}}.hide-for-landscape,.show-for-portrait{display:none!important}@media screen and (orientation:landscape){.hide-for-landscape,.show-for-portrait{display:none!important}}@media screen and (orientation:portrait){.hide-for-landscape,.show-for-portrait{display:block!important}}.float-left{float:left!important}.float-right{float:right!important}.float-center{display:block;margin-left:auto;margin-right:auto}.clearfix:after,.clearfix:before{content:' ';display:table}.clearfix:after{clear:both}
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/foundation.css b/libraries/foundation-6/dist/foundation.css
new file mode 100755
index 00000000..e8e17a97
--- /dev/null
+++ b/libraries/foundation-6/dist/foundation.css
@@ -0,0 +1,3578 @@
+@charset "UTF-8";
+/**
+ * Foundation for Sites by ZURB
+ * Version 6.2.3
+ * foundation.zurb.com
+ * Licensed under MIT Open Source
+ */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+/**
+   * 1. Set default font family to sans-serif.
+   * 2. Prevent iOS and IE text size adjust after device orientation change,
+   *    without disabling user zoom.
+   */
+html {
+  font-family: sans-serif;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */ }
+
+/**
+   * Remove default margin.
+   */
+body {
+  margin: 0; }
+
+/* HTML5 display definitions
+     ========================================================================== */
+/**
+   * Correct `block` display not defined for any HTML5 element in IE 8/9.
+   * Correct `block` display not defined for `details` or `summary` in IE 10/11
+   * and Firefox.
+   * Correct `block` display not defined for `main` in IE 11.
+   */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+  display: block; }
+
+/**
+   * 1. Correct `inline-block` display not defined in IE 8/9.
+   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+   */
+audio,
+canvas,
+progress,
+video {
+  display: inline-block;
+  /* 1 */
+  vertical-align: baseline;
+  /* 2 */ }
+
+/**
+   * Prevent modern browsers from displaying `audio` without controls.
+   * Remove excess height in iOS 5 devices.
+   */
+audio:not([controls]) {
+  display: none;
+  height: 0; }
+
+/**
+   * Address `[hidden]` styling not present in IE 8/9/10.
+   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
+   */
+[hidden],
+template {
+  display: none; }
+
+/* Links
+     ========================================================================== */
+/**
+   * Remove the gray background color from active links in IE 10.
+   */
+a {
+  background-color: transparent; }
+
+/**
+   * Improve readability of focused elements when they are also in an
+   * active/hover state.
+   */
+a:active,
+a:hover {
+  outline: 0; }
+
+/* Text-level semantics
+     ========================================================================== */
+/**
+   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+   */
+abbr[title] {
+  border-bottom: 1px dotted; }
+
+/**
+   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+   */
+b,
+strong {
+  font-weight: bold; }
+
+/**
+   * Address styling not present in Safari and Chrome.
+   */
+dfn {
+  font-style: italic; }
+
+/**
+   * Address variable `h1` font-size and margin within `section` and `article`
+   * contexts in Firefox 4+, Safari, and Chrome.
+   */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0; }
+
+/**
+   * Address styling not present in IE 8/9.
+   */
+mark {
+  background: #ff0;
+  color: #000; }
+
+/**
+   * Address inconsistent and variable font size in all browsers.
+   */
+small {
+  font-size: 80%; }
+
+/**
+   * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+   */
+sub,
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline; }
+
+sup {
+  top: -0.5em; }
+
+sub {
+  bottom: -0.25em; }
+
+/* Embedded content
+     ========================================================================== */
+/**
+   * Remove border when inside `a` element in IE 8/9/10.
+   */
+img {
+  border: 0; }
+
+/**
+   * Correct overflow not hidden in IE 9/10/11.
+   */
+svg:not(:root) {
+  overflow: hidden; }
+
+/* Grouping content
+     ========================================================================== */
+/**
+   * Address margin not present in IE 8/9 and Safari.
+   */
+figure {
+  margin: 1em 40px; }
+
+/**
+   * Address differences between Firefox and other browsers.
+   */
+hr {
+  -webkit-box-sizing: content-box;
+          box-sizing: content-box;
+  height: 0; }
+
+/**
+   * Contain overflow in all browsers.
+   */
+pre {
+  overflow: auto; }
+
+/**
+   * Address odd `em`-unit font size rendering in all browsers.
+   */
+code,
+kbd,
+pre,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em; }
+
+/* Forms
+     ========================================================================== */
+/**
+   * Known limitation: by default, Chrome and Safari on OS X allow very limited
+   * styling of `select`, unless a `border` property is set.
+   */
+/**
+   * 1. Correct color not being inherited.
+   *    Known issue: affects color of disabled elements.
+   * 2. Correct font properties not being inherited.
+   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+   */
+button,
+input,
+optgroup,
+select,
+textarea {
+  color: inherit;
+  /* 1 */
+  font: inherit;
+  /* 2 */
+  margin: 0;
+  /* 3 */ }
+
+/**
+   * Address `overflow` set to `hidden` in IE 8/9/10/11.
+   */
+button {
+  overflow: visible; }
+
+/**
+   * Address inconsistent `text-transform` inheritance for `button` and `select`.
+   * All other form control elements do not inherit `text-transform` values.
+   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+   * Correct `select` style inheritance in Firefox.
+   */
+button,
+select {
+  text-transform: none; }
+
+/**
+   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+   *    and `video` controls.
+   * 2. Correct inability to style clickable `input` types in iOS.
+   * 3. Improve usability and consistency of cursor style between image-type
+   *    `input` and others.
+   */
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */ }
+
+/**
+   * Re-set default cursor for disabled elements.
+   */
+button[disabled],
+html input[disabled] {
+  cursor: not-allowed; }
+
+/**
+   * Remove inner padding and border in Firefox 4+.
+   */
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  border: 0;
+  padding: 0; }
+
+/**
+   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+   * the UA stylesheet.
+   */
+input {
+  line-height: normal; }
+
+/**
+   * It's recommended that you don't attempt to style these elements.
+   * Firefox's implementation doesn't respect box-sizing, padding, or width.
+   *
+   * 1. Address box sizing set to `content-box` in IE 8/9/10.
+   * 2. Remove excess padding in IE 8/9/10.
+   */
+input[type="checkbox"],
+input[type="radio"] {
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */ }
+
+/**
+   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+   * `font-size` values of the `input`, it causes the cursor style of the
+   * decrement button to change from `default` to `text`.
+   */
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+  height: auto; }
+
+/**
+   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
+   */
+input[type="search"] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  -webkit-box-sizing: content-box;
+          box-sizing: content-box;
+  /* 2 */ }
+
+/**
+   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+   * Safari (but not Chrome) clips the cancel button when the search input has
+   * padding (and `textfield` appearance).
+   */
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none; }
+
+/**
+   * Define consistent border, margin, and padding.
+   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
+   */
+/* fieldset {
+    border: 1px solid #c0c0c0;
+    margin: 0 2px;
+    padding: 0.35em 0.625em 0.75em;
+  } */
+/**
+   * 1. Correct `color` not being inherited in IE 8/9/10/11.
+   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+   */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  /* 2 */ }
+
+/**
+   * Remove default vertical scrollbar in IE 8/9/10/11.
+   */
+textarea {
+  overflow: auto; }
+
+/**
+   * Don't inherit the `font-weight` (applied by a rule above).
+   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+   */
+optgroup {
+  font-weight: bold; }
+
+/* Tables
+     ========================================================================== */
+/**
+   * Remove most spacing between table cells.
+   */
+table {
+  border-collapse: collapse;
+  border-spacing: 0; }
+
+td,
+th {
+  padding: 0; }
+
+.foundation-mq {
+  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }
+
+html {
+  font-size: 100%;
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box; }
+
+*,
+*::before,
+*::after {
+  -webkit-box-sizing: inherit;
+          box-sizing: inherit; }
+
+body {
+  padding: 0;
+  margin: 0;
+  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
+  font-weight: normal;
+  line-height: 1.5;
+  color: #0a0a0a;
+  background: #fefefe;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale; }
+
+img {
+  max-width: 100%;
+  height: auto;
+  -ms-interpolation-mode: bicubic;
+  display: inline-block;
+  vertical-align: middle; }
+
+textarea {
+  height: auto;
+  min-height: 50px;
+  border-radius: 0; }
+
+select {
+  width: 100%;
+  border-radius: 0; }
+
+#map_canvas img,
+#map_canvas embed,
+#map_canvas object,
+.map_canvas img,
+.map_canvas embed,
+.map_canvas object,
+.mqa-display img,
+.mqa-display embed,
+.mqa-display object {
+  max-width: none !important; }
+
+button {
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  background: transparent;
+  padding: 0;
+  border: 0;
+  border-radius: 0;
+  line-height: 1; }
+  [data-whatinput='mouse'] button {
+    outline: 0; }
+
+.is-visible {
+  display: block !important; }
+
+.is-hidden {
+  display: none !important; }
+
+.row {
+  max-width: 75rem;
+  margin-left: auto;
+  margin-right: auto; }
+  .row::before, .row::after {
+    content: ' ';
+    display: table; }
+  .row::after {
+    clear: both; }
+  .row.collapse > .column, .row.collapse > .columns {
+    padding-left: 0;
+    padding-right: 0; }
+  .row .row {
+    max-width: none;
+    margin-left: -0.625rem;
+    margin-right: -0.625rem; }
+    @media screen and (min-width: 40em) {
+      .row .row {
+        margin-left: -0.9375rem;
+        margin-right: -0.9375rem; } }
+    .row .row.collapse {
+      margin-left: 0;
+      margin-right: 0; }
+  .row.expanded {
+    max-width: none; }
+    .row.expanded .row {
+      margin-left: auto;
+      margin-right: auto; }
+
+.column, .columns {
+  width: 100%;
+  float: left;
+  padding-left: 0.625rem;
+  padding-right: 0.625rem; }
+  @media screen and (min-width: 40em) {
+    .column, .columns {
+      padding-left: 0.9375rem;
+      padding-right: 0.9375rem; } }
+  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
+    float: right; }
+  .column.end:last-child:last-child, .end.columns:last-child:last-child {
+    float: left; }
+
+.column.row.row, .row.row.columns {
+  float: none; }
+  .row .column.row.row, .row .row.row.columns {
+    padding-left: 0;
+    padding-right: 0;
+    margin-left: 0;
+    margin-right: 0; }
+
+.small-1 {
+  width: 8.33333%; }
+
+.small-push-1 {
+  position: relative;
+  left: 8.33333%; }
+
+.small-pull-1 {
+  position: relative;
+  left: -8.33333%; }
+
+.small-offset-0 {
+  margin-left: 0%; }
+
+.small-2 {
+  width: 16.66667%; }
+
+.small-push-2 {
+  position: relative;
+  left: 16.66667%; }
+
+.small-pull-2 {
+  position: relative;
+  left: -16.66667%; }
+
+.small-offset-1 {
+  margin-left: 8.33333%; }
+
+.small-3 {
+  width: 25%; }
+
+.small-push-3 {
+  position: relative;
+  left: 25%; }
+
+.small-pull-3 {
+  position: relative;
+  left: -25%; }
+
+.small-offset-2 {
+  margin-left: 16.66667%; }
+
+.small-4 {
+  width: 33.33333%; }
+
+.small-push-4 {
+  position: relative;
+  left: 33.33333%; }
+
+.small-pull-4 {
+  position: relative;
+  left: -33.33333%; }
+
+.small-offset-3 {
+  margin-left: 25%; }
+
+.small-5 {
+  width: 41.66667%; }
+
+.small-push-5 {
+  position: relative;
+  left: 41.66667%; }
+
+.small-pull-5 {
+  position: relative;
+  left: -41.66667%; }
+
+.small-offset-4 {
+  margin-left: 33.33333%; }
+
+.small-6 {
+  width: 50%; }
+
+.small-push-6 {
+  position: relative;
+  left: 50%; }
+
+.small-pull-6 {
+  position: relative;
+  left: -50%; }
+
+.small-offset-5 {
+  margin-left: 41.66667%; }
+
+.small-7 {
+  width: 58.33333%; }
+
+.small-push-7 {
+  position: relative;
+  left: 58.33333%; }
+
+.small-pull-7 {
+  position: relative;
+  left: -58.33333%; }
+
+.small-offset-6 {
+  margin-left: 50%; }
+
+.small-8 {
+  width: 66.66667%; }
+
+.small-push-8 {
+  position: relative;
+  left: 66.66667%; }
+
+.small-pull-8 {
+  position: relative;
+  left: -66.66667%; }
+
+.small-offset-7 {
+  margin-left: 58.33333%; }
+
+.small-9 {
+  width: 75%; }
+
+.small-push-9 {
+  position: relative;
+  left: 75%; }
+
+.small-pull-9 {
+  position: relative;
+  left: -75%; }
+
+.small-offset-8 {
+  margin-left: 66.66667%; }
+
+.small-10 {
+  width: 83.33333%; }
+
+.small-push-10 {
+  position: relative;
+  left: 83.33333%; }
+
+.small-pull-10 {
+  position: relative;
+  left: -83.33333%; }
+
+.small-offset-9 {
+  margin-left: 75%; }
+
+.small-11 {
+  width: 91.66667%; }
+
+.small-push-11 {
+  position: relative;
+  left: 91.66667%; }
+
+.small-pull-11 {
+  position: relative;
+  left: -91.66667%; }
+
+.small-offset-10 {
+  margin-left: 83.33333%; }
+
+.small-12 {
+  width: 100%; }
+
+.small-offset-11 {
+  margin-left: 91.66667%; }
+
+.small-up-1 > .column, .small-up-1 > .columns {
+  width: 100%;
+  float: left; }
+  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
+    clear: both; }
+  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
+    float: left; }
+
+.small-up-2 > .column, .small-up-2 > .columns {
+  width: 50%;
+  float: left; }
+  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
+    clear: both; }
+  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
+    float: left; }
+
+.small-up-3 > .column, .small-up-3 > .columns {
+  width: 33.33333%;
+  float: left; }
+  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
+    clear: both; }
+  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
+    float: left; }
+
+.small-up-4 > .column, .small-up-4 > .columns {
+  width: 25%;
+  float: left; }
+  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
+    clear: both; }
+  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
+    float: left; }
+
+.small-up-5 > .column, .small-up-5 > .columns {
+  width: 20%;
+  float: left; }
+  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
+    clear: both; }
+  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
+    float: left; }
+
+.small-up-6 > .column, .small-up-6 > .columns {
+  width: 16.66667%;
+  float: left; }
+  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
+    clear: both; }
+  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
+    float: left; }
+
+.small-up-7 > .column, .small-up-7 > .columns {
+  width: 14.28571%;
+  float: left; }
+  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
+    clear: both; }
+  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
+    float: left; }
+
+.small-up-8 > .column, .small-up-8 > .columns {
+  width: 12.5%;
+  float: left; }
+  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
+    clear: none; }
+  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
+    clear: both; }
+  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
+    float: left; }
+
+.small-collapse > .column, .small-collapse > .columns {
+  padding-left: 0;
+  padding-right: 0; }
+
+.small-collapse .row,
+.expanded.row .small-collapse.row {
+  margin-left: 0;
+  margin-right: 0; }
+
+.small-uncollapse > .column, .small-uncollapse > .columns {
+  padding-left: 0.625rem;
+  padding-right: 0.625rem; }
+
+.small-centered {
+  float: none;
+  margin-left: auto;
+  margin-right: auto; }
+
+.small-uncentered,
+.small-push-0,
+.small-pull-0 {
+  position: static;
+  margin-left: 0;
+  margin-right: 0;
+  float: left; }
+
+@media screen and (min-width: 40em) {
+  .medium-1 {
+    width: 8.33333%; }
+  .medium-push-1 {
+    position: relative;
+    left: 8.33333%; }
+  .medium-pull-1 {
+    position: relative;
+    left: -8.33333%; }
+  .medium-offset-0 {
+    margin-left: 0%; }
+  .medium-2 {
+    width: 16.66667%; }
+  .medium-push-2 {
+    position: relative;
+    left: 16.66667%; }
+  .medium-pull-2 {
+    position: relative;
+    left: -16.66667%; }
+  .medium-offset-1 {
+    margin-left: 8.33333%; }
+  .medium-3 {
+    width: 25%; }
+  .medium-push-3 {
+    position: relative;
+    left: 25%; }
+  .medium-pull-3 {
+    position: relative;
+    left: -25%; }
+  .medium-offset-2 {
+    margin-left: 16.66667%; }
+  .medium-4 {
+    width: 33.33333%; }
+  .medium-push-4 {
+    position: relative;
+    left: 33.33333%; }
+  .medium-pull-4 {
+    position: relative;
+    left: -33.33333%; }
+  .medium-offset-3 {
+    margin-left: 25%; }
+  .medium-5 {
+    width: 41.66667%; }
+  .medium-push-5 {
+    position: relative;
+    left: 41.66667%; }
+  .medium-pull-5 {
+    position: relative;
+    left: -41.66667%; }
+  .medium-offset-4 {
+    margin-left: 33.33333%; }
+  .medium-6 {
+    width: 50%; }
+  .medium-push-6 {
+    position: relative;
+    left: 50%; }
+  .medium-pull-6 {
+    position: relative;
+    left: -50%; }
+  .medium-offset-5 {
+    margin-left: 41.66667%; }
+  .medium-7 {
+    width: 58.33333%; }
+  .medium-push-7 {
+    position: relative;
+    left: 58.33333%; }
+  .medium-pull-7 {
+    position: relative;
+    left: -58.33333%; }
+  .medium-offset-6 {
+    margin-left: 50%; }
+  .medium-8 {
+    width: 66.66667%; }
+  .medium-push-8 {
+    position: relative;
+    left: 66.66667%; }
+  .medium-pull-8 {
+    position: relative;
+    left: -66.66667%; }
+  .medium-offset-7 {
+    margin-left: 58.33333%; }
+  .medium-9 {
+    width: 75%; }
+  .medium-push-9 {
+    position: relative;
+    left: 75%; }
+  .medium-pull-9 {
+    position: relative;
+    left: -75%; }
+  .medium-offset-8 {
+    margin-left: 66.66667%; }
+  .medium-10 {
+    width: 83.33333%; }
+  .medium-push-10 {
+    position: relative;
+    left: 83.33333%; }
+  .medium-pull-10 {
+    position: relative;
+    left: -83.33333%; }
+  .medium-offset-9 {
+    margin-left: 75%; }
+  .medium-11 {
+    width: 91.66667%; }
+  .medium-push-11 {
+    position: relative;
+    left: 91.66667%; }
+  .medium-pull-11 {
+    position: relative;
+    left: -91.66667%; }
+  .medium-offset-10 {
+    margin-left: 83.33333%; }
+  .medium-12 {
+    width: 100%; }
+  .medium-offset-11 {
+    margin-left: 91.66667%; }
+  .medium-up-1 > .column, .medium-up-1 > .columns {
+    width: 100%;
+    float: left; }
+    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
+      clear: both; }
+    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
+      float: left; }
+  .medium-up-2 > .column, .medium-up-2 > .columns {
+    width: 50%;
+    float: left; }
+    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
+      clear: both; }
+    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
+      float: left; }
+  .medium-up-3 > .column, .medium-up-3 > .columns {
+    width: 33.33333%;
+    float: left; }
+    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
+      clear: both; }
+    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
+      float: left; }
+  .medium-up-4 > .column, .medium-up-4 > .columns {
+    width: 25%;
+    float: left; }
+    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
+      clear: both; }
+    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
+      float: left; }
+  .medium-up-5 > .column, .medium-up-5 > .columns {
+    width: 20%;
+    float: left; }
+    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
+      clear: both; }
+    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
+      float: left; }
+  .medium-up-6 > .column, .medium-up-6 > .columns {
+    width: 16.66667%;
+    float: left; }
+    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
+      clear: both; }
+    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
+      float: left; }
+  .medium-up-7 > .column, .medium-up-7 > .columns {
+    width: 14.28571%;
+    float: left; }
+    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
+      clear: both; }
+    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
+      float: left; }
+  .medium-up-8 > .column, .medium-up-8 > .columns {
+    width: 12.5%;
+    float: left; }
+    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
+      clear: both; }
+    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
+      float: left; }
+  .medium-collapse > .column, .medium-collapse > .columns {
+    padding-left: 0;
+    padding-right: 0; }
+  .medium-collapse .row,
+  .expanded.row .medium-collapse.row {
+    margin-left: 0;
+    margin-right: 0; }
+  .medium-uncollapse > .column, .medium-uncollapse > .columns {
+    padding-left: 0.9375rem;
+    padding-right: 0.9375rem; }
+  .medium-centered {
+    float: none;
+    margin-left: auto;
+    margin-right: auto; }
+  .medium-uncentered,
+  .medium-push-0,
+  .medium-pull-0 {
+    position: static;
+    margin-left: 0;
+    margin-right: 0;
+    float: left; } }
+
+@media screen and (min-width: 64em) {
+  .large-1 {
+    width: 8.33333%; }
+  .large-push-1 {
+    position: relative;
+    left: 8.33333%; }
+  .large-pull-1 {
+    position: relative;
+    left: -8.33333%; }
+  .large-offset-0 {
+    margin-left: 0%; }
+  .large-2 {
+    width: 16.66667%; }
+  .large-push-2 {
+    position: relative;
+    left: 16.66667%; }
+  .large-pull-2 {
+    position: relative;
+    left: -16.66667%; }
+  .large-offset-1 {
+    margin-left: 8.33333%; }
+  .large-3 {
+    width: 25%; }
+  .large-push-3 {
+    position: relative;
+    left: 25%; }
+  .large-pull-3 {
+    position: relative;
+    left: -25%; }
+  .large-offset-2 {
+    margin-left: 16.66667%; }
+  .large-4 {
+    width: 33.33333%; }
+  .large-push-4 {
+    position: relative;
+    left: 33.33333%; }
+  .large-pull-4 {
+    position: relative;
+    left: -33.33333%; }
+  .large-offset-3 {
+    margin-left: 25%; }
+  .large-5 {
+    width: 41.66667%; }
+  .large-push-5 {
+    position: relative;
+    left: 41.66667%; }
+  .large-pull-5 {
+    position: relative;
+    left: -41.66667%; }
+  .large-offset-4 {
+    margin-left: 33.33333%; }
+  .large-6 {
+    width: 50%; }
+  .large-push-6 {
+    position: relative;
+    left: 50%; }
+  .large-pull-6 {
+    position: relative;
+    left: -50%; }
+  .large-offset-5 {
+    margin-left: 41.66667%; }
+  .large-7 {
+    width: 58.33333%; }
+  .large-push-7 {
+    position: relative;
+    left: 58.33333%; }
+  .large-pull-7 {
+    position: relative;
+    left: -58.33333%; }
+  .large-offset-6 {
+    margin-left: 50%; }
+  .large-8 {
+    width: 66.66667%; }
+  .large-push-8 {
+    position: relative;
+    left: 66.66667%; }
+  .large-pull-8 {
+    position: relative;
+    left: -66.66667%; }
+  .large-offset-7 {
+    margin-left: 58.33333%; }
+  .large-9 {
+    width: 75%; }
+  .large-push-9 {
+    position: relative;
+    left: 75%; }
+  .large-pull-9 {
+    position: relative;
+    left: -75%; }
+  .large-offset-8 {
+    margin-left: 66.66667%; }
+  .large-10 {
+    width: 83.33333%; }
+  .large-push-10 {
+    position: relative;
+    left: 83.33333%; }
+  .large-pull-10 {
+    position: relative;
+    left: -83.33333%; }
+  .large-offset-9 {
+    margin-left: 75%; }
+  .large-11 {
+    width: 91.66667%; }
+  .large-push-11 {
+    position: relative;
+    left: 91.66667%; }
+  .large-pull-11 {
+    position: relative;
+    left: -91.66667%; }
+  .large-offset-10 {
+    margin-left: 83.33333%; }
+  .large-12 {
+    width: 100%; }
+  .large-offset-11 {
+    margin-left: 91.66667%; }
+  .large-up-1 > .column, .large-up-1 > .columns {
+    width: 100%;
+    float: left; }
+    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
+      clear: both; }
+    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
+      float: left; }
+  .large-up-2 > .column, .large-up-2 > .columns {
+    width: 50%;
+    float: left; }
+    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
+      clear: both; }
+    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
+      float: left; }
+  .large-up-3 > .column, .large-up-3 > .columns {
+    width: 33.33333%;
+    float: left; }
+    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
+      clear: both; }
+    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
+      float: left; }
+  .large-up-4 > .column, .large-up-4 > .columns {
+    width: 25%;
+    float: left; }
+    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
+      clear: both; }
+    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
+      float: left; }
+  .large-up-5 > .column, .large-up-5 > .columns {
+    width: 20%;
+    float: left; }
+    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
+      clear: both; }
+    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
+      float: left; }
+  .large-up-6 > .column, .large-up-6 > .columns {
+    width: 16.66667%;
+    float: left; }
+    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
+      clear: both; }
+    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
+      float: left; }
+  .large-up-7 > .column, .large-up-7 > .columns {
+    width: 14.28571%;
+    float: left; }
+    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
+      clear: both; }
+    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
+      float: left; }
+  .large-up-8 > .column, .large-up-8 > .columns {
+    width: 12.5%;
+    float: left; }
+    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
+      clear: none; }
+    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
+      clear: both; }
+    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
+      float: left; }
+  .large-collapse > .column, .large-collapse > .columns {
+    padding-left: 0;
+    padding-right: 0; }
+  .large-collapse .row,
+  .expanded.row .large-collapse.row {
+    margin-left: 0;
+    margin-right: 0; }
+  .large-uncollapse > .column, .large-uncollapse > .columns {
+    padding-left: 0.9375rem;
+    padding-right: 0.9375rem; }
+  .large-centered {
+    float: none;
+    margin-left: auto;
+    margin-right: auto; }
+  .large-uncentered,
+  .large-push-0,
+  .large-pull-0 {
+    position: static;
+    margin-left: 0;
+    margin-right: 0;
+    float: left; } }
+
+div,
+dl,
+dt,
+dd,
+ul,
+ol,
+li,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+pre,
+form,
+p,
+blockquote,
+th,
+td {
+  margin: 0;
+  padding: 0; }
+
+p {
+  font-size: inherit;
+  line-height: 1.6;
+  margin-bottom: 1rem;
+  text-rendering: optimizeLegibility; }
+
+em,
+i {
+  font-style: italic;
+  line-height: inherit; }
+
+strong,
+b {
+  font-weight: bold;
+  line-height: inherit; }
+
+small {
+  font-size: 80%;
+  line-height: inherit; }
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
+  font-weight: normal;
+  font-style: normal;
+  color: inherit;
+  text-rendering: optimizeLegibility;
+  margin-top: 0;
+  margin-bottom: 0.5rem;
+  line-height: 1.4; }
+  h1 small,
+  h2 small,
+  h3 small,
+  h4 small,
+  h5 small,
+  h6 small {
+    color: #cacaca;
+    line-height: 0; }
+
+h1 {
+  font-size: 1.5rem; }
+
+h2 {
+  font-size: 1.25rem; }
+
+h3 {
+  font-size: 1.1875rem; }
+
+h4 {
+  font-size: 1.125rem; }
+
+h5 {
+  font-size: 1.0625rem; }
+
+h6 {
+  font-size: 1rem; }
+
+@media screen and (min-width: 40em) {
+  h1 {
+    font-size: 3rem; }
+  h2 {
+    font-size: 2.5rem; }
+  h3 {
+    font-size: 1.9375rem; }
+  h4 {
+    font-size: 1.5625rem; }
+  h5 {
+    font-size: 1.25rem; }
+  h6 {
+    font-size: 1rem; } }
+
+a {
+  color: #2199e8;
+  text-decoration: none;
+  line-height: inherit;
+  cursor: pointer; }
+  a:hover, a:focus {
+    color: #1585cf; }
+  a img {
+    border: 0; }
+
+hr {
+  max-width: 75rem;
+  height: 0;
+  border-right: 0;
+  border-top: 0;
+  border-bottom: 1px solid #cacaca;
+  border-left: 0;
+  margin: 1.25rem auto;
+  clear: both; }
+
+ul,
+ol,
+dl {
+  line-height: 1.6;
+  margin-bottom: 1rem;
+  list-style-position: outside; }
+
+li {
+  font-size: inherit; }
+
+ul {
+  list-style-type: disc;
+  margin-left: 1.25rem; }
+
+ol {
+  margin-left: 1.25rem; }
+
+ul ul, ol ul, ul ol, ol ol {
+  margin-left: 1.25rem;
+  margin-bottom: 0; }
+
+dl {
+  margin-bottom: 1rem; }
+  dl dt {
+    margin-bottom: 0.3rem;
+    font-weight: bold; }
+
+blockquote {
+  margin: 0 0 1rem;
+  padding: 0.5625rem 1.25rem 0 1.1875rem;
+  border-left: 1px solid #cacaca; }
+  blockquote, blockquote p {
+    line-height: 1.6;
+    color: #8a8a8a; }
+
+cite {
+  display: block;
+  font-size: 0.8125rem;
+  color: #8a8a8a; }
+  cite:before {
+    content: '\2014 \0020'; }
+
+abbr {
+  color: #0a0a0a;
+  cursor: help;
+  border-bottom: 1px dotted #0a0a0a; }
+
+code {
+  font-family: Consolas, "Liberation Mono", Courier, monospace;
+  font-weight: normal;
+  color: #0a0a0a;
+  background-color: #e6e6e6;
+  border: 1px solid #cacaca;
+  padding: 0.125rem 0.3125rem 0.0625rem; }
+
+kbd {
+  padding: 0.125rem 0.25rem 0;
+  margin: 0;
+  background-color: #e6e6e6;
+  color: #0a0a0a;
+  font-family: Consolas, "Liberation Mono", Courier, monospace; }
+
+.subheader {
+  margin-top: 0.2rem;
+  margin-bottom: 0.5rem;
+  font-weight: normal;
+  line-height: 1.4;
+  color: #8a8a8a; }
+
+.lead {
+  font-size: 125%;
+  line-height: 1.6; }
+
+.stat {
+  font-size: 2.5rem;
+  line-height: 1; }
+  p + .stat {
+    margin-top: -1rem; }
+
+.no-bullet {
+  margin-left: 0;
+  list-style: none; }
+
+.text-left {
+  text-align: left; }
+
+.text-right {
+  text-align: right; }
+
+.text-center {
+  text-align: center; }
+
+.text-justify {
+  text-align: justify; }
+
+@media screen and (min-width: 40em) {
+  .medium-text-left {
+    text-align: left; }
+  .medium-text-right {
+    text-align: right; }
+  .medium-text-center {
+    text-align: center; }
+  .medium-text-justify {
+    text-align: justify; } }
+
+@media screen and (min-width: 64em) {
+  .large-text-left {
+    text-align: left; }
+  .large-text-right {
+    text-align: right; }
+  .large-text-center {
+    text-align: center; }
+  .large-text-justify {
+    text-align: justify; } }
+
+.show-for-print {
+  display: none !important; }
+
+@media print {
+  * {
+    background: transparent !important;
+    color: black !important;
+    -webkit-box-shadow: none !important;
+            box-shadow: none !important;
+    text-shadow: none !important; }
+  .show-for-print {
+    display: block !important; }
+  .hide-for-print {
+    display: none !important; }
+  table.show-for-print {
+    display: table !important; }
+  thead.show-for-print {
+    display: table-header-group !important; }
+  tbody.show-for-print {
+    display: table-row-group !important; }
+  tr.show-for-print {
+    display: table-row !important; }
+  td.show-for-print {
+    display: table-cell !important; }
+  th.show-for-print {
+    display: table-cell !important; }
+  a,
+  a:visited {
+    text-decoration: underline; }
+  a[href]:after {
+    content: " (" attr(href) ")"; }
+  .ir a:after,
+  a[href^='javascript:']:after,
+  a[href^='#']:after {
+    content: ''; }
+  abbr[title]:after {
+    content: " (" attr(title) ")"; }
+  pre,
+  blockquote {
+    border: 1px solid #8a8a8a;
+    page-break-inside: avoid; }
+  thead {
+    display: table-header-group; }
+  tr,
+  img {
+    page-break-inside: avoid; }
+  img {
+    max-width: 100% !important; }
+  @page {
+    margin: 0.5cm; }
+  p,
+  h2,
+  h3 {
+    orphans: 3;
+    widows: 3; }
+  h2,
+  h3 {
+    page-break-after: avoid; } }
+
+[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
+textarea {
+  display: block;
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+  width: 100%;
+  height: 2.4375rem;
+  padding: 0.5rem;
+  border: 1px solid #cacaca;
+  margin: 0 0 1rem;
+  font-family: inherit;
+  font-size: 1rem;
+  color: #0a0a0a;
+  background-color: #fefefe;
+  -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+          box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+  border-radius: 0;
+  -webkit-transition: -webkit-box-shadow 0.5s, border-color 0.25s ease-in-out;
+          transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
+  -webkit-appearance: none;
+  -moz-appearance: none; }
+  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
+  textarea:focus {
+    border: 1px solid #8a8a8a;
+    background-color: #fefefe;
+    outline: none;
+    -webkit-box-shadow: 0 0 5px #cacaca;
+            box-shadow: 0 0 5px #cacaca;
+    -webkit-transition: -webkit-box-shadow 0.5s, border-color 0.25s ease-in-out;
+            transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
+
+textarea {
+  max-width: 100%; }
+  textarea[rows] {
+    height: auto; }
+
+input::-webkit-input-placeholder,
+textarea::-webkit-input-placeholder {
+  color: #cacaca; }
+
+input::-moz-placeholder,
+textarea::-moz-placeholder {
+  color: #cacaca; }
+
+input:-ms-input-placeholder,
+textarea:-ms-input-placeholder {
+  color: #cacaca; }
+
+input::placeholder,
+textarea::placeholder {
+  color: #cacaca; }
+
+input:disabled, input[readonly],
+textarea:disabled,
+textarea[readonly] {
+  background-color: #e6e6e6;
+  cursor: not-allowed; }
+
+[type='submit'],
+[type='button'] {
+  border-radius: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none; }
+
+input[type='search'] {
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box; }
+
+[type='file'],
+[type='checkbox'],
+[type='radio'] {
+  margin: 0 0 1rem; }
+
+[type='checkbox'] + label,
+[type='radio'] + label {
+  display: inline-block;
+  margin-left: 0.5rem;
+  margin-right: 1rem;
+  margin-bottom: 0;
+  vertical-align: baseline; }
+  [type='checkbox'] + label[for],
+  [type='radio'] + label[for] {
+    cursor: pointer; }
+
+label > [type='checkbox'],
+label > [type='radio'] {
+  margin-right: 0.5rem; }
+
+[type='file'] {
+  width: 100%; }
+
+label {
+  display: block;
+  margin: 0;
+  font-size: 0.875rem;
+  font-weight: normal;
+  line-height: 1.8;
+  color: #0a0a0a; }
+  label.middle {
+    margin: 0 0 1rem;
+    padding: 0.5625rem 0; }
+
+.help-text {
+  margin-top: -0.5rem;
+  font-size: 0.8125rem;
+  font-style: italic;
+  color: #0a0a0a; }
+
+.input-group {
+  display: table;
+  width: 100%;
+  margin-bottom: 1rem; }
+  .input-group > :first-child {
+    border-radius: 0 0 0 0; }
+  .input-group > :last-child > * {
+    border-radius: 0 0 0 0; }
+
+.input-group-label, .input-group-field, .input-group-button {
+  margin: 0;
+  white-space: nowrap;
+  display: table-cell;
+  vertical-align: middle; }
+
+.input-group-label {
+  text-align: center;
+  padding: 0 1rem;
+  background: #e6e6e6;
+  color: #0a0a0a;
+  border: 1px solid #cacaca;
+  white-space: nowrap;
+  width: 1%;
+  height: 100%; }
+  .input-group-label:first-child {
+    border-right: 0; }
+  .input-group-label:last-child {
+    border-left: 0; }
+
+.input-group-field {
+  border-radius: 0;
+  height: 2.5rem; }
+
+.input-group-button {
+  padding-top: 0;
+  padding-bottom: 0;
+  text-align: center;
+  height: 100%;
+  width: 1%; }
+  .input-group-button a,
+  .input-group-button input,
+  .input-group-button button {
+    margin: 0; }
+
+.input-group .input-group-button {
+  display: table-cell; }
+
+fieldset {
+  border: 0;
+  padding: 0;
+  margin: 0; }
+
+legend {
+  margin-bottom: 0.5rem;
+  max-width: 100%; }
+
+.fieldset {
+  border: 1px solid #cacaca;
+  padding: 1.25rem;
+  margin: 1.125rem 0; }
+  .fieldset legend {
+    background: #fefefe;
+    padding: 0 0.1875rem;
+    margin: 0;
+    margin-left: -0.1875rem; }
+
+select {
+  height: 2.4375rem;
+  padding: 0.5rem;
+  border: 1px solid #cacaca;
+  margin: 0 0 1rem;
+  font-size: 1rem;
+  font-family: inherit;
+  line-height: normal;
+  color: #0a0a0a;
+  background-color: #fefefe;
+  border-radius: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
+  -webkit-background-size: 9px 6px;
+          background-size: 9px 6px;
+  background-position: right -1rem center;
+  -webkit-background-origin: content-box;
+          background-origin: content-box;
+  background-repeat: no-repeat;
+  padding-right: 1.5rem; }
+  @media screen and (min-width: 0\0) {
+    select {
+      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
+  select:disabled {
+    background-color: #e6e6e6;
+    cursor: not-allowed; }
+  select::-ms-expand {
+    display: none; }
+  select[multiple] {
+    height: auto;
+    background-image: none; }
+
+.is-invalid-input:not(:focus) {
+  background-color: rgba(236, 88, 64, 0.1);
+  border-color: #ec5840; }
+
+.is-invalid-label {
+  color: #ec5840; }
+
+.form-error {
+  display: none;
+  margin-top: -0.5rem;
+  margin-bottom: 1rem;
+  font-size: 0.75rem;
+  font-weight: bold;
+  color: #ec5840; }
+  .form-error.is-visible {
+    display: block; }
+
+.button {
+  display: inline-block;
+  text-align: center;
+  line-height: 1;
+  cursor: pointer;
+  -webkit-appearance: none;
+  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
+          transition: background-color 0.25s ease-out, color 0.25s ease-out;
+  vertical-align: middle;
+  border: 1px solid transparent;
+  border-radius: 0;
+  padding: 0.85em 1em;
+  margin: 0 0 1rem 0;
+  font-size: 0.9rem;
+  background-color: #2199e8;
+  color: #fefefe; }
+  [data-whatinput='mouse'] .button {
+    outline: 0; }
+  .button:hover, .button:focus {
+    background-color: #1583cc;
+    color: #fefefe; }
+  .button.tiny {
+    font-size: 0.6rem; }
+  .button.small {
+    font-size: 0.75rem; }
+  .button.large {
+    font-size: 1.25rem; }
+  .button.expanded {
+    display: block;
+    width: 100%;
+    margin-left: 0;
+    margin-right: 0; }
+  .button.primary {
+    background-color: #2199e8;
+    color: #fefefe; }
+    .button.primary:hover, .button.primary:focus {
+      background-color: #147cc0;
+      color: #fefefe; }
+  .button.secondary {
+    background-color: #777;
+    color: #fefefe; }
+    .button.secondary:hover, .button.secondary:focus {
+      background-color: #5f5f5f;
+      color: #fefefe; }
+  .button.success {
+    background-color: #3adb76;
+    color: #fefefe; }
+    .button.success:hover, .button.success:focus {
+      background-color: #22bb5b;
+      color: #fefefe; }
+  .button.warning {
+    background-color: #ffae00;
+    color: #fefefe; }
+    .button.warning:hover, .button.warning:focus {
+      background-color: #cc8b00;
+      color: #fefefe; }
+  .button.alert {
+    background-color: #ec5840;
+    color: #fefefe; }
+    .button.alert:hover, .button.alert:focus {
+      background-color: #da3116;
+      color: #fefefe; }
+  .button.hollow {
+    border: 1px solid #2199e8;
+    color: #2199e8; }
+    .button.hollow, .button.hollow:hover, .button.hollow:focus {
+      background-color: transparent; }
+    .button.hollow:hover, .button.hollow:focus {
+      border-color: #0c4d78;
+      color: #0c4d78; }
+    .button.hollow.primary {
+      border: 1px solid #2199e8;
+      color: #2199e8; }
+      .button.hollow.primary:hover, .button.hollow.primary:focus {
+        border-color: #0c4d78;
+        color: #0c4d78; }
+    .button.hollow.secondary {
+      border: 1px solid #777;
+      color: #777; }
+      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
+        border-color: #3c3c3c;
+        color: #3c3c3c; }
+    .button.hollow.success {
+      border: 1px solid #3adb76;
+      color: #3adb76; }
+      .button.hollow.success:hover, .button.hollow.success:focus {
+        border-color: #157539;
+        color: #157539; }
+    .button.hollow.warning {
+      border: 1px solid #ffae00;
+      color: #ffae00; }
+      .button.hollow.warning:hover, .button.hollow.warning:focus {
+        border-color: #805700;
+        color: #805700; }
+    .button.hollow.alert {
+      border: 1px solid #ec5840;
+      color: #ec5840; }
+      .button.hollow.alert:hover, .button.hollow.alert:focus {
+        border-color: #881f0e;
+        color: #881f0e; }
+  .button.disabled, .button[disabled] {
+    opacity: 0.25;
+    cursor: not-allowed; }
+    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
+      background-color: #2199e8;
+      color: #fefefe; }
+  .button.dropdown::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.4em;
+    border-color: #fefefe transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    position: relative;
+    top: 0.4em;
+    float: right;
+    margin-left: 1em;
+    display: inline-block; }
+  .button.arrow-only::after {
+    margin-left: 0;
+    float: none;
+    top: -0.1em; }
+
+.accordion {
+  list-style-type: none;
+  background: #fefefe;
+  margin-left: 0; }
+
+.accordion-item:first-child > :first-child {
+  border-radius: 0 0 0 0; }
+
+.accordion-item:last-child > :last-child {
+  border-radius: 0 0 0 0; }
+
+.accordion-title {
+  display: block;
+  padding: 1.25rem 1rem;
+  line-height: 1;
+  font-size: 0.75rem;
+  color: #2199e8;
+  position: relative;
+  border: 1px solid #e6e6e6;
+  border-bottom: 0; }
+  :last-child:not(.is-active) > .accordion-title {
+    border-radius: 0 0 0 0;
+    border-bottom: 1px solid #e6e6e6; }
+  .accordion-title:hover, .accordion-title:focus {
+    background-color: #e6e6e6; }
+  .accordion-title::before {
+    content: '+';
+    position: absolute;
+    right: 1rem;
+    top: 50%;
+    margin-top: -0.5rem; }
+  .is-active > .accordion-title::before {
+    content: '–'; }
+
+.accordion-content {
+  padding: 1rem;
+  display: none;
+  border: 1px solid #e6e6e6;
+  border-bottom: 0;
+  background-color: #fefefe;
+  color: #0a0a0a; }
+  :last-child > .accordion-content:last-child {
+    border-bottom: 1px solid #e6e6e6; }
+
+.is-accordion-submenu-parent > a {
+  position: relative; }
+  .is-accordion-submenu-parent > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 6px;
+    border-color: #2199e8 transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    position: absolute;
+    top: 50%;
+    margin-top: -4px;
+    right: 1rem; }
+
+.is-accordion-submenu-parent[aria-expanded='true'] > a::after {
+  -webkit-transform-origin: 50% 50%;
+      -ms-transform-origin: 50% 50%;
+          transform-origin: 50% 50%;
+  -webkit-transform: scaleY(-1);
+      -ms-transform: scaleY(-1);
+          transform: scaleY(-1); }
+
+.badge {
+  display: inline-block;
+  padding: 0.3em;
+  min-width: 2.1em;
+  font-size: 0.6rem;
+  text-align: center;
+  border-radius: 50%;
+  background: #2199e8;
+  color: #fefefe; }
+  .badge.secondary {
+    background: #777;
+    color: #fefefe; }
+  .badge.success {
+    background: #3adb76;
+    color: #fefefe; }
+  .badge.warning {
+    background: #ffae00;
+    color: #fefefe; }
+  .badge.alert {
+    background: #ec5840;
+    color: #fefefe; }
+
+.breadcrumbs {
+  list-style: none;
+  margin: 0 0 1rem 0; }
+  .breadcrumbs::before, .breadcrumbs::after {
+    content: ' ';
+    display: table; }
+  .breadcrumbs::after {
+    clear: both; }
+  .breadcrumbs li {
+    float: left;
+    color: #0a0a0a;
+    font-size: 0.6875rem;
+    cursor: default;
+    text-transform: uppercase; }
+    .breadcrumbs li:not(:last-child)::after {
+      color: #cacaca;
+      content: "/";
+      margin: 0 0.75rem;
+      position: relative;
+      top: 1px;
+      opacity: 1; }
+  .breadcrumbs a {
+    color: #2199e8; }
+    .breadcrumbs a:hover {
+      text-decoration: underline; }
+  .breadcrumbs .disabled {
+    color: #cacaca;
+    cursor: not-allowed; }
+
+.button-group {
+  margin-bottom: 1rem;
+  font-size: 0; }
+  .button-group::before, .button-group::after {
+    content: ' ';
+    display: table; }
+  .button-group::after {
+    clear: both; }
+  .button-group .button {
+    margin: 0;
+    margin-right: 1px;
+    margin-bottom: 1px;
+    font-size: 0.9rem; }
+    .button-group .button:last-child {
+      margin-right: 0; }
+  .button-group.tiny .button {
+    font-size: 0.6rem; }
+  .button-group.small .button {
+    font-size: 0.75rem; }
+  .button-group.large .button {
+    font-size: 1.25rem; }
+  .button-group.expanded {
+    margin-right: -1px; }
+    .button-group.expanded::before, .button-group.expanded::after {
+      display: none; }
+    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
+      display: inline-block;
+      width: calc(50% - 1px);
+      margin-right: 1px; }
+      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
+        margin-right: -6px; }
+    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
+      display: inline-block;
+      width: calc(33.33333% - 1px);
+      margin-right: 1px; }
+      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
+        margin-right: -6px; }
+    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
+      display: inline-block;
+      width: calc(25% - 1px);
+      margin-right: 1px; }
+      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
+        margin-right: -6px; }
+    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
+      display: inline-block;
+      width: calc(20% - 1px);
+      margin-right: 1px; }
+      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
+        margin-right: -6px; }
+    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
+      display: inline-block;
+      width: calc(16.66667% - 1px);
+      margin-right: 1px; }
+      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
+        margin-right: -6px; }
+  .button-group.primary .button {
+    background-color: #2199e8;
+    color: #fefefe; }
+    .button-group.primary .button:hover, .button-group.primary .button:focus {
+      background-color: #147cc0;
+      color: #fefefe; }
+  .button-group.secondary .button {
+    background-color: #777;
+    color: #fefefe; }
+    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
+      background-color: #5f5f5f;
+      color: #fefefe; }
+  .button-group.success .button {
+    background-color: #3adb76;
+    color: #fefefe; }
+    .button-group.success .button:hover, .button-group.success .button:focus {
+      background-color: #22bb5b;
+      color: #fefefe; }
+  .button-group.warning .button {
+    background-color: #ffae00;
+    color: #fefefe; }
+    .button-group.warning .button:hover, .button-group.warning .button:focus {
+      background-color: #cc8b00;
+      color: #fefefe; }
+  .button-group.alert .button {
+    background-color: #ec5840;
+    color: #fefefe; }
+    .button-group.alert .button:hover, .button-group.alert .button:focus {
+      background-color: #da3116;
+      color: #fefefe; }
+  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
+    width: 100%; }
+    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
+      margin-bottom: 0; }
+  @media screen and (min-width: 40em) {
+    .button-group.stacked-for-small .button {
+      width: auto;
+      margin-bottom: 0; } }
+  @media screen and (min-width: 64em) {
+    .button-group.stacked-for-medium .button {
+      width: auto;
+      margin-bottom: 0; } }
+  @media screen and (max-width: 39.9375em) {
+    .button-group.stacked-for-small.expanded {
+      display: block; }
+      .button-group.stacked-for-small.expanded .button {
+        display: block;
+        margin-right: 0; } }
+
+.callout {
+  margin: 0 0 1rem 0;
+  padding: 1rem;
+  border: 1px solid rgba(10, 10, 10, 0.25);
+  border-radius: 0;
+  position: relative;
+  color: #0a0a0a;
+  background-color: white; }
+  .callout > :first-child {
+    margin-top: 0; }
+  .callout > :last-child {
+    margin-bottom: 0; }
+  .callout.primary {
+    background-color: #def0fc; }
+  .callout.secondary {
+    background-color: #ebebeb; }
+  .callout.success {
+    background-color: #e1faea; }
+  .callout.warning {
+    background-color: #fff3d9; }
+  .callout.alert {
+    background-color: #fce6e2; }
+  .callout.small {
+    padding-top: 0.5rem;
+    padding-right: 0.5rem;
+    padding-bottom: 0.5rem;
+    padding-left: 0.5rem; }
+  .callout.large {
+    padding-top: 3rem;
+    padding-right: 3rem;
+    padding-bottom: 3rem;
+    padding-left: 3rem; }
+
+.close-button {
+  position: absolute;
+  color: #8a8a8a;
+  right: 1rem;
+  top: 0.5rem;
+  font-size: 2em;
+  line-height: 1;
+  cursor: pointer; }
+  [data-whatinput='mouse'] .close-button {
+    outline: 0; }
+  .close-button:hover, .close-button:focus {
+    color: #0a0a0a; }
+
+.menu {
+  margin: 0;
+  list-style-type: none; }
+  .menu > li {
+    display: table-cell;
+    vertical-align: middle; }
+    [data-whatinput='mouse'] .menu > li {
+      outline: 0; }
+  .menu > li > a {
+    display: block;
+    padding: 0.7rem 1rem;
+    line-height: 1; }
+  .menu input,
+  .menu a,
+  .menu button {
+    margin-bottom: 0; }
+  .menu > li > a img,
+  .menu > li > a i,
+  .menu > li > a svg {
+    vertical-align: middle; }
+    .menu > li > a img + span,
+    .menu > li > a i + span,
+    .menu > li > a svg + span {
+      vertical-align: middle; }
+  .menu > li > a img,
+  .menu > li > a i,
+  .menu > li > a svg {
+    margin-right: 0.25rem;
+    display: inline-block; }
+  .menu > li {
+    display: table-cell; }
+  .menu.vertical > li {
+    display: block; }
+  @media screen and (min-width: 40em) {
+    .menu.medium-horizontal > li {
+      display: table-cell; }
+    .menu.medium-vertical > li {
+      display: block; } }
+  @media screen and (min-width: 64em) {
+    .menu.large-horizontal > li {
+      display: table-cell; }
+    .menu.large-vertical > li {
+      display: block; } }
+  .menu.simple li {
+    line-height: 1;
+    display: inline-block;
+    margin-right: 1rem; }
+  .menu.simple a {
+    padding: 0; }
+  .menu.align-right::before, .menu.align-right::after {
+    content: ' ';
+    display: table; }
+  .menu.align-right::after {
+    clear: both; }
+  .menu.align-right > li {
+    float: right; }
+  .menu.expanded {
+    width: 100%;
+    display: table;
+    table-layout: fixed; }
+    .menu.expanded > li:first-child:last-child {
+      width: 100%; }
+  .menu.icon-top > li > a {
+    text-align: center; }
+    .menu.icon-top > li > a img,
+    .menu.icon-top > li > a i,
+    .menu.icon-top > li > a svg {
+      display: block;
+      margin: 0 auto 0.25rem; }
+  .menu.nested {
+    margin-left: 1rem; }
+  .menu .active > a {
+    color: #fefefe;
+    background: #2199e8; }
+
+.menu-text {
+  font-weight: bold;
+  color: inherit;
+  line-height: 1;
+  padding-top: 0;
+  padding-bottom: 0;
+  padding: 0.7rem 1rem; }
+
+.menu-centered {
+  text-align: center; }
+  .menu-centered > .menu {
+    display: inline-block; }
+
+.no-js [data-responsive-menu] ul {
+  display: none; }
+
+.menu-icon {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  cursor: pointer;
+  width: 20px;
+  height: 16px; }
+  .menu-icon::after {
+    content: '';
+    position: absolute;
+    display: block;
+    width: 100%;
+    height: 2px;
+    background: #fefefe;
+    top: 0;
+    left: 0;
+    -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
+            box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe; }
+  .menu-icon:hover::after {
+    background: #cacaca;
+    -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
+            box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }
+
+.menu-icon.dark {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  cursor: pointer;
+  width: 20px;
+  height: 16px; }
+  .menu-icon.dark::after {
+    content: '';
+    position: absolute;
+    display: block;
+    width: 100%;
+    height: 2px;
+    background: #0a0a0a;
+    top: 0;
+    left: 0;
+    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
+            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; }
+  .menu-icon.dark:hover::after {
+    background: #8a8a8a;
+    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
+            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }
+
+.is-drilldown {
+  position: relative;
+  overflow: hidden; }
+  .is-drilldown li {
+    display: block !important; }
+
+.is-drilldown-submenu {
+  position: absolute;
+  top: 0;
+  left: 100%;
+  z-index: -1;
+  height: 100%;
+  width: 100%;
+  background: #fefefe;
+  -webkit-transition: -webkit-transform 0.15s linear;
+          transition: transform 0.15s linear; }
+  .is-drilldown-submenu.is-active {
+    z-index: 1;
+    display: block;
+    -webkit-transform: translateX(-100%);
+        -ms-transform: translateX(-100%);
+            transform: translateX(-100%); }
+  .is-drilldown-submenu.is-closing {
+    -webkit-transform: translateX(100%);
+        -ms-transform: translateX(100%);
+            transform: translateX(100%); }
+
+.is-drilldown-submenu-parent > a {
+  position: relative; }
+  .is-drilldown-submenu-parent > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 6px;
+    border-color: transparent transparent transparent #2199e8;
+    border-left-style: solid;
+    border-right-width: 0;
+    position: absolute;
+    top: 50%;
+    margin-top: -6px;
+    right: 1rem; }
+
+.js-drilldown-back > a::before {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  border: inset 6px;
+  border-color: transparent #2199e8 transparent transparent;
+  border-right-style: solid;
+  border-left-width: 0;
+  border-left-width: 0;
+  display: inline-block;
+  vertical-align: middle;
+  margin-right: 0.75rem; }
+
+.dropdown-pane {
+  background-color: #fefefe;
+  border: 1px solid #cacaca;
+  border-radius: 0;
+  display: block;
+  font-size: 1rem;
+  padding: 1rem;
+  position: absolute;
+  visibility: hidden;
+  width: 300px;
+  z-index: 10; }
+  .dropdown-pane.is-open {
+    visibility: visible; }
+
+.dropdown-pane.tiny {
+  width: 100px; }
+
+.dropdown-pane.small {
+  width: 200px; }
+
+.dropdown-pane.large {
+  width: 400px; }
+
+.dropdown.menu > li.opens-left > .is-dropdown-submenu {
+  left: auto;
+  right: 0;
+  top: 100%; }
+
+.dropdown.menu > li.opens-right > .is-dropdown-submenu {
+  right: auto;
+  left: 0;
+  top: 100%; }
+
+.dropdown.menu > li.is-dropdown-submenu-parent > a {
+  padding-right: 1.5rem;
+  position: relative; }
+
+.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  border: inset 5px;
+  border-color: #2199e8 transparent transparent;
+  border-top-style: solid;
+  border-bottom-width: 0;
+  right: 5px;
+  margin-top: -2px; }
+
+[data-whatinput='mouse'] .dropdown.menu a {
+  outline: 0; }
+
+.no-js .dropdown.menu ul {
+  display: none; }
+
+.dropdown.menu.vertical > li .is-dropdown-submenu {
+  top: 0; }
+
+.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
+  left: auto;
+  right: 100%; }
+
+.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
+  right: auto;
+  left: 100%; }
+
+.dropdown.menu.vertical > li > a::after {
+  right: 14px;
+  margin-top: -3px; }
+
+.dropdown.menu.vertical > li.opens-left > a::after {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  border: inset 5px;
+  border-color: transparent #2199e8 transparent transparent;
+  border-right-style: solid;
+  border-left-width: 0; }
+
+.dropdown.menu.vertical > li.opens-right > a::after {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  border: inset 5px;
+  border-color: transparent transparent transparent #2199e8;
+  border-left-style: solid;
+  border-right-width: 0; }
+
+@media screen and (min-width: 40em) {
+  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 0;
+    top: 100%; }
+  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 0;
+    top: 100%; }
+  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
+    padding-right: 1.5rem;
+    position: relative; }
+  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: #2199e8 transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    right: 5px;
+    margin-top: -2px; }
+  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
+    top: 0; }
+  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 100%; }
+  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 100%; }
+  .dropdown.menu.medium-vertical > li > a::after {
+    right: 14px;
+    margin-top: -3px; }
+  .dropdown.menu.medium-vertical > li.opens-left > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent #2199e8 transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0; }
+  .dropdown.menu.medium-vertical > li.opens-right > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent transparent transparent #2199e8;
+    border-left-style: solid;
+    border-right-width: 0; } }
+
+@media screen and (min-width: 64em) {
+  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 0;
+    top: 100%; }
+  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 0;
+    top: 100%; }
+  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
+    padding-right: 1.5rem;
+    position: relative; }
+  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: #2199e8 transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    right: 5px;
+    margin-top: -2px; }
+  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
+    top: 0; }
+  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 100%; }
+  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 100%; }
+  .dropdown.menu.large-vertical > li > a::after {
+    right: 14px;
+    margin-top: -3px; }
+  .dropdown.menu.large-vertical > li.opens-left > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent #2199e8 transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0; }
+  .dropdown.menu.large-vertical > li.opens-right > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent transparent transparent #2199e8;
+    border-left-style: solid;
+    border-right-width: 0; } }
+
+.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
+  top: 100%;
+  left: auto;
+  right: 0; }
+
+.is-dropdown-menu.vertical {
+  width: 100px; }
+  .is-dropdown-menu.vertical.align-right {
+    float: right; }
+
+.is-dropdown-submenu-parent {
+  position: relative; }
+  .is-dropdown-submenu-parent a::after {
+    position: absolute;
+    top: 50%;
+    right: 5px;
+    margin-top: -2px; }
+  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
+    top: 100%;
+    left: auto; }
+  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
+    left: auto;
+    right: 100%; }
+  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
+    right: auto;
+    left: 100%; }
+
+.is-dropdown-submenu {
+  display: none;
+  position: absolute;
+  top: 0;
+  left: 100%;
+  min-width: 200px;
+  z-index: 1;
+  background: #fefefe;
+  border: 1px solid #cacaca; }
+  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
+    right: 14px;
+    margin-top: -3px; }
+  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent #2199e8 transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0; }
+  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 5px;
+    border-color: transparent transparent transparent #2199e8;
+    border-left-style: solid;
+    border-right-width: 0; }
+  .is-dropdown-submenu .is-dropdown-submenu {
+    margin-top: -1px; }
+  .is-dropdown-submenu > li {
+    width: 100%; }
+  .is-dropdown-submenu.js-dropdown-active {
+    display: block; }
+
+.flex-video {
+  position: relative;
+  height: 0;
+  padding-bottom: 75%;
+  margin-bottom: 1rem;
+  overflow: hidden; }
+  .flex-video iframe,
+  .flex-video object,
+  .flex-video embed,
+  .flex-video video {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%; }
+  .flex-video.widescreen {
+    padding-bottom: 56.25%; }
+  .flex-video.vimeo {
+    padding-top: 0; }
+
+.label {
+  display: inline-block;
+  padding: 0.33333rem 0.5rem;
+  font-size: 0.8rem;
+  line-height: 1;
+  white-space: nowrap;
+  cursor: default;
+  border-radius: 0;
+  background: #2199e8;
+  color: #fefefe; }
+  .label.secondary {
+    background: #777;
+    color: #fefefe; }
+  .label.success {
+    background: #3adb76;
+    color: #fefefe; }
+  .label.warning {
+    background: #ffae00;
+    color: #fefefe; }
+  .label.alert {
+    background: #ec5840;
+    color: #fefefe; }
+
+.media-object {
+  margin-bottom: 1rem;
+  display: block; }
+  .media-object img {
+    max-width: none; }
+  @media screen and (max-width: 39.9375em) {
+    .media-object.stack-for-small .media-object-section {
+      padding: 0;
+      padding-bottom: 1rem;
+      display: block; }
+      .media-object.stack-for-small .media-object-section img {
+        width: 100%; } }
+
+.media-object-section {
+  display: table-cell;
+  vertical-align: top; }
+  .media-object-section:first-child {
+    padding-right: 1rem; }
+  .media-object-section:last-child:not(:nth-child(2)) {
+    padding-left: 1rem; }
+  .media-object-section > :last-child {
+    margin-bottom: 0; }
+  .media-object-section.middle {
+    vertical-align: middle; }
+  .media-object-section.bottom {
+    vertical-align: bottom; }
+
+html,
+body {
+  height: 100%; }
+
+.off-canvas-wrapper {
+  width: 100%;
+  overflow-x: hidden;
+  position: relative;
+  -webkit-backface-visibility: hidden;
+          backface-visibility: hidden;
+  -webkit-overflow-scrolling: auto; }
+
+.off-canvas-wrapper-inner {
+  position: relative;
+  width: 100%;
+  -webkit-transition: -webkit-transform 0.5s ease;
+          transition: transform 0.5s ease; }
+  .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
+    content: ' ';
+    display: table; }
+  .off-canvas-wrapper-inner::after {
+    clear: both; }
+
+.off-canvas-content,
+.off-canvas-content {
+  min-height: 100%;
+  background: #fefefe;
+  -webkit-transition: -webkit-transform 0.5s ease;
+          transition: transform 0.5s ease;
+  -webkit-backface-visibility: hidden;
+          backface-visibility: hidden;
+  z-index: 1;
+  padding-bottom: 0.1px;
+  -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.5);
+          box-shadow: 0 0 10px rgba(10, 10, 10, 0.5); }
+
+.js-off-canvas-exit {
+  display: none;
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background: rgba(254, 254, 254, 0.25);
+  cursor: pointer;
+  -webkit-transition: background 0.5s ease;
+          transition: background 0.5s ease; }
+
+.off-canvas {
+  position: absolute;
+  background: #e6e6e6;
+  z-index: -1;
+  max-height: 100%;
+  overflow-y: auto;
+  -webkit-transform: translateX(0);
+      -ms-transform: translateX(0);
+          transform: translateX(0); }
+  [data-whatinput='mouse'] .off-canvas {
+    outline: 0; }
+  .off-canvas.position-left {
+    left: -250px;
+    top: 0;
+    width: 250px; }
+    .is-open-left {
+      -webkit-transform: translateX(250px);
+          -ms-transform: translateX(250px);
+              transform: translateX(250px); }
+  .off-canvas.position-right {
+    right: -250px;
+    top: 0;
+    width: 250px; }
+    .is-open-right {
+      -webkit-transform: translateX(-250px);
+          -ms-transform: translateX(-250px);
+              transform: translateX(-250px); }
+
+@media screen and (min-width: 40em) {
+  .position-left.reveal-for-medium {
+    left: 0;
+    z-index: auto;
+    position: fixed; }
+    .position-left.reveal-for-medium ~ .off-canvas-content {
+      margin-left: 250px; }
+  .position-right.reveal-for-medium {
+    right: 0;
+    z-index: auto;
+    position: fixed; }
+    .position-right.reveal-for-medium ~ .off-canvas-content {
+      margin-right: 250px; } }
+
+@media screen and (min-width: 64em) {
+  .position-left.reveal-for-large {
+    left: 0;
+    z-index: auto;
+    position: fixed; }
+    .position-left.reveal-for-large ~ .off-canvas-content {
+      margin-left: 250px; }
+  .position-right.reveal-for-large {
+    right: 0;
+    z-index: auto;
+    position: fixed; }
+    .position-right.reveal-for-large ~ .off-canvas-content {
+      margin-right: 250px; } }
+
+.orbit {
+  position: relative; }
+
+.orbit-container {
+  position: relative;
+  margin: 0;
+  overflow: hidden;
+  list-style: none; }
+
+.orbit-slide {
+  width: 100%;
+  max-height: 100%; }
+  .orbit-slide.no-motionui.is-active {
+    top: 0;
+    left: 0; }
+
+.orbit-figure {
+  margin: 0; }
+
+.orbit-image {
+  margin: 0;
+  width: 100%;
+  max-width: 100%; }
+
+.orbit-caption {
+  position: absolute;
+  bottom: 0;
+  width: 100%;
+  padding: 1rem;
+  margin-bottom: 0;
+  color: #fefefe;
+  background-color: rgba(10, 10, 10, 0.5); }
+
+.orbit-previous, .orbit-next {
+  position: absolute;
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+      -ms-transform: translateY(-50%);
+          transform: translateY(-50%);
+  z-index: 10;
+  padding: 1rem;
+  color: #fefefe; }
+  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
+    outline: 0; }
+  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
+    background-color: rgba(10, 10, 10, 0.5); }
+
+.orbit-previous {
+  left: 0; }
+
+.orbit-next {
+  left: auto;
+  right: 0; }
+
+.orbit-bullets {
+  position: relative;
+  margin-top: 0.8rem;
+  margin-bottom: 0.8rem;
+  text-align: center; }
+  [data-whatinput='mouse'] .orbit-bullets {
+    outline: 0; }
+  .orbit-bullets button {
+    width: 1.2rem;
+    height: 1.2rem;
+    margin: 0.1rem;
+    background-color: #cacaca;
+    border-radius: 50%; }
+    .orbit-bullets button:hover {
+      background-color: #8a8a8a; }
+    .orbit-bullets button.is-active {
+      background-color: #8a8a8a; }
+
+.pagination {
+  margin-left: 0;
+  margin-bottom: 1rem; }
+  .pagination::before, .pagination::after {
+    content: ' ';
+    display: table; }
+  .pagination::after {
+    clear: both; }
+  .pagination li {
+    font-size: 0.875rem;
+    margin-right: 0.0625rem;
+    border-radius: 0;
+    display: none; }
+    .pagination li:last-child, .pagination li:first-child {
+      display: inline-block; }
+    @media screen and (min-width: 40em) {
+      .pagination li {
+        display: inline-block; } }
+  .pagination a,
+  .pagination button {
+    color: #0a0a0a;
+    display: block;
+    padding: 0.1875rem 0.625rem;
+    border-radius: 0; }
+    .pagination a:hover,
+    .pagination button:hover {
+      background: #e6e6e6; }
+  .pagination .current {
+    padding: 0.1875rem 0.625rem;
+    background: #2199e8;
+    color: #fefefe;
+    cursor: default; }
+  .pagination .disabled {
+    padding: 0.1875rem 0.625rem;
+    color: #cacaca;
+    cursor: not-allowed; }
+    .pagination .disabled:hover {
+      background: transparent; }
+  .pagination .ellipsis::after {
+    content: '\2026';
+    padding: 0.1875rem 0.625rem;
+    color: #0a0a0a; }
+
+.pagination-previous a::before,
+.pagination-previous.disabled::before {
+  content: '\00ab';
+  display: inline-block;
+  margin-right: 0.5rem; }
+
+.pagination-next a::after,
+.pagination-next.disabled::after {
+  content: '\00bb';
+  display: inline-block;
+  margin-left: 0.5rem; }
+
+.progress {
+  background-color: #cacaca;
+  height: 1rem;
+  margin-bottom: 1rem;
+  border-radius: 0; }
+  .progress.primary .progress-meter {
+    background-color: #2199e8; }
+  .progress.secondary .progress-meter {
+    background-color: #777; }
+  .progress.success .progress-meter {
+    background-color: #3adb76; }
+  .progress.warning .progress-meter {
+    background-color: #ffae00; }
+  .progress.alert .progress-meter {
+    background-color: #ec5840; }
+
+.progress-meter {
+  position: relative;
+  display: block;
+  width: 0%;
+  height: 100%;
+  background-color: #2199e8; }
+
+.progress-meter-text {
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  -webkit-transform: translate(-50%, -50%);
+      -ms-transform: translate(-50%, -50%);
+          transform: translate(-50%, -50%);
+  position: absolute;
+  margin: 0;
+  font-size: 0.75rem;
+  font-weight: bold;
+  color: #fefefe;
+  white-space: nowrap; }
+
+.slider {
+  position: relative;
+  height: 0.5rem;
+  margin-top: 1.25rem;
+  margin-bottom: 2.25rem;
+  background-color: #e6e6e6;
+  cursor: pointer;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  -ms-touch-action: none;
+      touch-action: none; }
+
+.slider-fill {
+  position: absolute;
+  top: 0;
+  left: 0;
+  display: inline-block;
+  max-width: 100%;
+  height: 0.5rem;
+  background-color: #cacaca;
+  -webkit-transition: all 0.2s ease-in-out;
+          transition: all 0.2s ease-in-out; }
+  .slider-fill.is-dragging {
+    -webkit-transition: all 0s linear;
+            transition: all 0s linear; }
+
+.slider-handle {
+  position: absolute;
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+      -ms-transform: translateY(-50%);
+          transform: translateY(-50%);
+  position: absolute;
+  left: 0;
+  z-index: 1;
+  display: inline-block;
+  width: 1.4rem;
+  height: 1.4rem;
+  background-color: #2199e8;
+  -webkit-transition: all 0.2s ease-in-out;
+          transition: all 0.2s ease-in-out;
+  -ms-touch-action: manipulation;
+      touch-action: manipulation;
+  border-radius: 0; }
+  [data-whatinput='mouse'] .slider-handle {
+    outline: 0; }
+  .slider-handle:hover {
+    background-color: #1583cc; }
+  .slider-handle.is-dragging {
+    -webkit-transition: all 0s linear;
+            transition: all 0s linear; }
+
+.slider.disabled,
+.slider[disabled] {
+  opacity: 0.25;
+  cursor: not-allowed; }
+
+.slider.vertical {
+  display: inline-block;
+  width: 0.5rem;
+  height: 12.5rem;
+  margin: 0 1.25rem;
+  -webkit-transform: scale(1, -1);
+      -ms-transform: scale(1, -1);
+          transform: scale(1, -1); }
+  .slider.vertical .slider-fill {
+    top: 0;
+    width: 0.5rem;
+    max-height: 100%; }
+  .slider.vertical .slider-handle {
+    position: absolute;
+    top: 0;
+    left: 50%;
+    width: 1.4rem;
+    height: 1.4rem;
+    -webkit-transform: translateX(-50%);
+        -ms-transform: translateX(-50%);
+            transform: translateX(-50%); }
+
+.sticky-container {
+  position: relative; }
+
+.sticky {
+  position: absolute;
+  z-index: 0;
+  -webkit-transform: translate3d(0, 0, 0);
+          transform: translate3d(0, 0, 0); }
+
+.sticky.is-stuck {
+  position: fixed;
+  z-index: 5; }
+  .sticky.is-stuck.is-at-top {
+    top: 0; }
+  .sticky.is-stuck.is-at-bottom {
+    bottom: 0; }
+
+.sticky.is-anchored {
+  position: absolute;
+  left: auto;
+  right: auto; }
+  .sticky.is-anchored.is-at-bottom {
+    bottom: 0; }
+
+body.is-reveal-open {
+  overflow: hidden; }
+
+html.is-reveal-open,
+html.is-reveal-open body {
+  height: 100%;
+  overflow: hidden;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none; }
+
+.reveal-overlay {
+  display: none;
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  z-index: 1005;
+  background-color: rgba(10, 10, 10, 0.45);
+  overflow-y: scroll; }
+
+.reveal {
+  display: none;
+  z-index: 1006;
+  padding: 1rem;
+  border: 1px solid #cacaca;
+  background-color: #fefefe;
+  border-radius: 0;
+  position: relative;
+  top: 100px;
+  margin-left: auto;
+  margin-right: auto;
+  overflow-y: auto; }
+  [data-whatinput='mouse'] .reveal {
+    outline: 0; }
+  @media screen and (min-width: 40em) {
+    .reveal {
+      min-height: 0; } }
+  .reveal .column, .reveal .columns,
+  .reveal .columns {
+    min-width: 0; }
+  .reveal > :last-child {
+    margin-bottom: 0; }
+  @media screen and (min-width: 40em) {
+    .reveal {
+      width: 600px;
+      max-width: 75rem; } }
+  @media screen and (min-width: 40em) {
+    .reveal .reveal {
+      left: auto;
+      right: auto;
+      margin: 0 auto; } }
+  .reveal.collapse {
+    padding: 0; }
+  @media screen and (min-width: 40em) {
+    .reveal.tiny {
+      width: 30%;
+      max-width: 75rem; } }
+  @media screen and (min-width: 40em) {
+    .reveal.small {
+      width: 50%;
+      max-width: 75rem; } }
+  @media screen and (min-width: 40em) {
+    .reveal.large {
+      width: 90%;
+      max-width: 75rem; } }
+  .reveal.full {
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    height: 100vh;
+    min-height: 100vh;
+    max-width: none;
+    margin-left: 0;
+    border: 0;
+    border-radius: 0; }
+  @media screen and (max-width: 39.9375em) {
+    .reveal {
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 100%;
+      height: 100vh;
+      min-height: 100vh;
+      max-width: none;
+      margin-left: 0;
+      border: 0;
+      border-radius: 0; } }
+  .reveal.without-overlay {
+    position: fixed; }
+
+.switch {
+  margin-bottom: 1rem;
+  outline: 0;
+  position: relative;
+  -webkit-user-select: none;
+     -moz-user-select: none;
+      -ms-user-select: none;
+          user-select: none;
+  color: #fefefe;
+  font-weight: bold;
+  font-size: 0.875rem; }
+
+.switch-input {
+  opacity: 0;
+  position: absolute; }
+
+.switch-paddle {
+  background: #cacaca;
+  cursor: pointer;
+  display: block;
+  position: relative;
+  width: 4rem;
+  height: 2rem;
+  -webkit-transition: all 0.25s ease-out;
+          transition: all 0.25s ease-out;
+  border-radius: 0;
+  color: inherit;
+  font-weight: inherit; }
+  input + .switch-paddle {
+    margin: 0; }
+  .switch-paddle::after {
+    background: #fefefe;
+    content: '';
+    display: block;
+    position: absolute;
+    height: 1.5rem;
+    left: 0.25rem;
+    top: 0.25rem;
+    width: 1.5rem;
+    -webkit-transition: all 0.25s ease-out;
+            transition: all 0.25s ease-out;
+    -webkit-transform: translate3d(0, 0, 0);
+            transform: translate3d(0, 0, 0);
+    border-radius: 0; }
+  input:checked ~ .switch-paddle {
+    background: #2199e8; }
+    input:checked ~ .switch-paddle::after {
+      left: 2.25rem; }
+  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
+    outline: 0; }
+
+.switch-active, .switch-inactive {
+  position: absolute;
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+      -ms-transform: translateY(-50%);
+          transform: translateY(-50%); }
+
+.switch-active {
+  left: 8%;
+  display: none; }
+  input:checked + label > .switch-active {
+    display: block; }
+
+.switch-inactive {
+  right: 15%; }
+  input:checked + label > .switch-inactive {
+    display: none; }
+
+.switch.tiny .switch-paddle {
+  width: 3rem;
+  height: 1.5rem;
+  font-size: 0.625rem; }
+
+.switch.tiny .switch-paddle::after {
+  width: 1rem;
+  height: 1rem; }
+
+.switch.tiny input:checked ~ .switch-paddle::after {
+  left: 1.75rem; }
+
+.switch.small .switch-paddle {
+  width: 3.5rem;
+  height: 1.75rem;
+  font-size: 0.75rem; }
+
+.switch.small .switch-paddle::after {
+  width: 1.25rem;
+  height: 1.25rem; }
+
+.switch.small input:checked ~ .switch-paddle::after {
+  left: 2rem; }
+
+.switch.large .switch-paddle {
+  width: 5rem;
+  height: 2.5rem;
+  font-size: 1rem; }
+
+.switch.large .switch-paddle::after {
+  width: 2rem;
+  height: 2rem; }
+
+.switch.large input:checked ~ .switch-paddle::after {
+  left: 2.75rem; }
+
+table {
+  width: 100%;
+  margin-bottom: 1rem;
+  border-radius: 0; }
+  table thead,
+  table tbody,
+  table tfoot {
+    border: 1px solid #f1f1f1;
+    background-color: #fefefe; }
+  table caption {
+    font-weight: bold;
+    padding: 0.5rem 0.625rem 0.625rem; }
+  table thead,
+  table tfoot {
+    background: #f8f8f8;
+    color: #0a0a0a; }
+    table thead tr,
+    table tfoot tr {
+      background: transparent; }
+    table thead th,
+    table thead td,
+    table tfoot th,
+    table tfoot td {
+      padding: 0.5rem 0.625rem 0.625rem;
+      font-weight: bold;
+      text-align: left; }
+  table tbody tr:nth-child(even) {
+    background-color: #f1f1f1; }
+  table tbody th,
+  table tbody td {
+    padding: 0.5rem 0.625rem 0.625rem; }
+
+@media screen and (max-width: 63.9375em) {
+  table.stack thead {
+    display: none; }
+  table.stack tfoot {
+    display: none; }
+  table.stack tr,
+  table.stack th,
+  table.stack td {
+    display: block; }
+  table.stack td {
+    border-top: 0; } }
+
+table.scroll {
+  display: block;
+  width: 100%;
+  overflow-x: auto; }
+
+table.hover tr:hover {
+  background-color: #f9f9f9; }
+
+table.hover tr:nth-of-type(even):hover {
+  background-color: #ececec; }
+
+.table-scroll {
+  overflow-x: auto; }
+  .table-scroll table {
+    width: auto; }
+
+.tabs {
+  margin: 0;
+  list-style-type: none;
+  background: #fefefe;
+  border: 1px solid #e6e6e6; }
+  .tabs::before, .tabs::after {
+    content: ' ';
+    display: table; }
+  .tabs::after {
+    clear: both; }
+
+.tabs.vertical > li {
+  width: auto;
+  float: none;
+  display: block; }
+
+.tabs.simple > li > a {
+  padding: 0; }
+  .tabs.simple > li > a:hover {
+    background: transparent; }
+
+.tabs.primary {
+  background: #2199e8; }
+  .tabs.primary > li > a {
+    color: #fefefe; }
+    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
+      background: #1893e4; }
+
+.tabs-title {
+  float: left; }
+  .tabs-title > a {
+    display: block;
+    padding: 1.25rem 1.5rem;
+    line-height: 1;
+    font-size: 0.75rem; }
+    .tabs-title > a:hover {
+      background: #fefefe; }
+    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
+      background: #e6e6e6; }
+
+.tabs-content {
+  background: #fefefe;
+  -webkit-transition: all 0.5s ease;
+          transition: all 0.5s ease;
+  border: 1px solid #e6e6e6;
+  border-top: 0; }
+
+.tabs-content.vertical {
+  border: 1px solid #e6e6e6;
+  border-left: 0; }
+
+.tabs-panel {
+  display: none;
+  padding: 1rem; }
+  .tabs-panel.is-active {
+    display: block; }
+
+.thumbnail {
+  border: solid 4px #fefefe;
+  -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
+          box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
+  display: inline-block;
+  line-height: 0;
+  max-width: 100%;
+  -webkit-transition: -webkit-box-shadow 200ms ease-out;
+          transition: box-shadow 200ms ease-out;
+  border-radius: 0;
+  margin-bottom: 1rem; }
+  .thumbnail:hover, .thumbnail:focus {
+    -webkit-box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5);
+            box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5); }
+
+.title-bar {
+  background: #0a0a0a;
+  color: #fefefe;
+  padding: 0.5rem; }
+  .title-bar::before, .title-bar::after {
+    content: ' ';
+    display: table; }
+  .title-bar::after {
+    clear: both; }
+  .title-bar .menu-icon {
+    margin-left: 0.25rem;
+    margin-right: 0.25rem; }
+
+.title-bar-left {
+  float: left; }
+
+.title-bar-right {
+  float: right;
+  text-align: right; }
+
+.title-bar-title {
+  font-weight: bold;
+  vertical-align: middle;
+  display: inline-block; }
+
+.menu-icon.dark {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  cursor: pointer;
+  width: 20px;
+  height: 16px; }
+  .menu-icon.dark::after {
+    content: '';
+    position: absolute;
+    display: block;
+    width: 100%;
+    height: 2px;
+    background: #0a0a0a;
+    top: 0;
+    left: 0;
+    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
+            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; }
+  .menu-icon.dark:hover::after {
+    background: #8a8a8a;
+    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
+            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }
+
+.has-tip {
+  border-bottom: dotted 1px #8a8a8a;
+  font-weight: bold;
+  position: relative;
+  display: inline-block;
+  cursor: help; }
+
+.tooltip {
+  background-color: #0a0a0a;
+  color: #fefefe;
+  font-size: 80%;
+  padding: 0.75rem;
+  position: absolute;
+  z-index: 10;
+  top: calc(100% + 0.6495rem);
+  max-width: 10rem !important;
+  border-radius: 0; }
+  .tooltip::before {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.75rem;
+    border-color: transparent transparent #0a0a0a;
+    border-bottom-style: solid;
+    border-top-width: 0;
+    bottom: 100%;
+    position: absolute;
+    left: 50%;
+    -webkit-transform: translateX(-50%);
+        -ms-transform: translateX(-50%);
+            transform: translateX(-50%); }
+  .tooltip.top::before {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.75rem;
+    border-color: #0a0a0a transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+    top: 100%;
+    bottom: auto; }
+  .tooltip.left::before {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.75rem;
+    border-color: transparent transparent transparent #0a0a0a;
+    border-left-style: solid;
+    border-right-width: 0;
+    bottom: auto;
+    left: 100%;
+    top: 50%;
+    -webkit-transform: translateY(-50%);
+        -ms-transform: translateY(-50%);
+            transform: translateY(-50%); }
+  .tooltip.right::before {
+    content: '';
+    display: block;
+    width: 0;
+    height: 0;
+    border: inset 0.75rem;
+    border-color: transparent #0a0a0a transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0;
+    bottom: auto;
+    left: auto;
+    right: 100%;
+    top: 50%;
+    -webkit-transform: translateY(-50%);
+        -ms-transform: translateY(-50%);
+            transform: translateY(-50%); }
+
+.top-bar {
+  padding: 0.5rem; }
+  .top-bar::before, .top-bar::after {
+    content: ' ';
+    display: table; }
+  .top-bar::after {
+    clear: both; }
+  .top-bar,
+  .top-bar ul {
+    background-color: #e6e6e6; }
+  .top-bar input {
+    max-width: 200px;
+    margin-right: 1rem; }
+  .top-bar .input-group-field {
+    width: 100%;
+    margin-right: 0; }
+  .top-bar input.button {
+    width: auto; }
+  .top-bar .top-bar-left,
+  .top-bar .top-bar-right {
+    width: 100%; }
+  @media screen and (min-width: 40em) {
+    .top-bar .top-bar-left,
+    .top-bar .top-bar-right {
+      width: auto; } }
+  @media screen and (max-width: 63.9375em) {
+    .top-bar.stacked-for-medium .top-bar-left,
+    .top-bar.stacked-for-medium .top-bar-right {
+      width: 100%; } }
+  @media screen and (max-width: 74.9375em) {
+    .top-bar.stacked-for-large .top-bar-left,
+    .top-bar.stacked-for-large .top-bar-right {
+      width: 100%; } }
+
+.top-bar-title {
+  float: left;
+  margin-right: 1rem; }
+
+.top-bar-left {
+  float: left; }
+
+.top-bar-right {
+  float: right; }
+
+.hide {
+  display: none !important; }
+
+.invisible {
+  visibility: hidden; }
+
+@media screen and (max-width: 39.9375em) {
+  .hide-for-small-only {
+    display: none !important; } }
+
+@media screen and (max-width: 0em), screen and (min-width: 40em) {
+  .show-for-small-only {
+    display: none !important; } }
+
+@media screen and (min-width: 40em) {
+  .hide-for-medium {
+    display: none !important; } }
+
+@media screen and (max-width: 39.9375em) {
+  .show-for-medium {
+    display: none !important; } }
+
+@media screen and (min-width: 40em) and (max-width: 63.9375em) {
+  .hide-for-medium-only {
+    display: none !important; } }
+
+@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
+  .show-for-medium-only {
+    display: none !important; } }
+
+@media screen and (min-width: 64em) {
+  .hide-for-large {
+    display: none !important; } }
+
+@media screen and (max-width: 63.9375em) {
+  .show-for-large {
+    display: none !important; } }
+
+@media screen and (min-width: 64em) and (max-width: 74.9375em) {
+  .hide-for-large-only {
+    display: none !important; } }
+
+@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
+  .show-for-large-only {
+    display: none !important; } }
+
+.show-for-sr,
+.show-on-focus {
+  position: absolute !important;
+  width: 1px;
+  height: 1px;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0); }
+
+.show-on-focus:active, .show-on-focus:focus {
+  position: static !important;
+  height: auto;
+  width: auto;
+  overflow: visible;
+  clip: auto; }
+
+.show-for-landscape,
+.hide-for-portrait {
+  display: block !important; }
+  @media screen and (orientation: landscape) {
+    .show-for-landscape,
+    .hide-for-portrait {
+      display: block !important; } }
+  @media screen and (orientation: portrait) {
+    .show-for-landscape,
+    .hide-for-portrait {
+      display: none !important; } }
+
+.hide-for-landscape,
+.show-for-portrait {
+  display: none !important; }
+  @media screen and (orientation: landscape) {
+    .hide-for-landscape,
+    .show-for-portrait {
+      display: none !important; } }
+  @media screen and (orientation: portrait) {
+    .hide-for-landscape,
+    .show-for-portrait {
+      display: block !important; } }
+
+.float-left {
+  float: left !important; }
+
+.float-right {
+  float: right !important; }
+
+.float-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto; }
+
+.clearfix::before, .clearfix::after {
+  content: ' ';
+  display: table; }
+
+.clearfix::after {
+  clear: both; }
+
+/*# sourceMappingURL=foundation.css.map */
diff --git a/libraries/foundation-6/js/vendor/foundation.js b/libraries/foundation-6/dist/foundation.js
old mode 100644
new mode 100755
similarity index 99%
rename from libraries/foundation-6/js/vendor/foundation.js
rename to libraries/foundation-6/dist/foundation.js
index 87e04589..63b04ace
--- a/libraries/foundation-6/js/vendor/foundation.js
+++ b/libraries/foundation-6/dist/foundation.js
@@ -2,7 +2,7 @@
 
   "use strict";
 
-  var FOUNDATION_VERSION = '6.2.2';
+  var FOUNDATION_VERSION = '6.2.3';
 
   // Global Foundation object
   // This is attached to the window, or used as a module for AMD/Browserify
@@ -388,217 +388,197 @@
 
 !function ($) {
 
-  // Default set of media queries
-  var defaultQueries = {
-    'default': 'only screen',
-    landscape: 'only screen and (orientation: landscape)',
-    portrait: 'only screen and (orientation: portrait)',
-    retina: 'only screen and (-webkit-min-device-pixel-ratio: 2),' + 'only screen and (min--moz-device-pixel-ratio: 2),' + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + 'only screen and (min-device-pixel-ratio: 2),' + 'only screen and (min-resolution: 192dpi),' + 'only screen and (min-resolution: 2dppx)'
+  Foundation.Box = {
+    ImNotTouchingYou: ImNotTouchingYou,
+    GetDimensions: GetDimensions,
+    GetOffsets: GetOffsets
   };
 
-  var MediaQuery = {
-    queries: [],
-
-    current: '',
-
-    /**
-     * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.
-     * @function
-     * @private
-     */
-    _init: function () {
-      var self = this;
-      var extractedStyles = $('.foundation-mq').css('font-family');
-      var namedQueries;
+  /**
+   * Compares the dimensions of an element to a container and determines collision events with container.
+   * @function
+   * @param {jQuery} element - jQuery object to test for collisions.
+   * @param {jQuery} parent - jQuery object to use as bounding container.
+   * @param {Boolean} lrOnly - set to true to check left and right values only.
+   * @param {Boolean} tbOnly - set to true to check top and bottom values only.
+   * @default if no parent object passed, detects collisions with `window`.
+   * @returns {Boolean} - true if collision free, false if a collision in any direction.
+   */
+  function ImNotTouchingYou(element, parent, lrOnly, tbOnly) {
+    var eleDims = GetDimensions(element),
+        top,
+        bottom,
+        left,
+        right;
 
-      namedQueries = parseStyleToObject(extractedStyles);
+    if (parent) {
+      var parDims = GetDimensions(parent);
 
-      for (var key in namedQueries) {
-        if (namedQueries.hasOwnProperty(key)) {
-          self.queries.push({
-            name: key,
-            value: 'only screen and (min-width: ' + namedQueries[key] + ')'
-          });
-        }
-      }
+      bottom = eleDims.offset.top + eleDims.height <= parDims.height + parDims.offset.top;
+      top = eleDims.offset.top >= parDims.offset.top;
+      left = eleDims.offset.left >= parDims.offset.left;
+      right = eleDims.offset.left + eleDims.width <= parDims.width + parDims.offset.left;
+    } else {
+      bottom = eleDims.offset.top + eleDims.height <= eleDims.windowDims.height + eleDims.windowDims.offset.top;
+      top = eleDims.offset.top >= eleDims.windowDims.offset.top;
+      left = eleDims.offset.left >= eleDims.windowDims.offset.left;
+      right = eleDims.offset.left + eleDims.width <= eleDims.windowDims.width;
+    }
 
-      this.current = this._getCurrentSize();
+    var allDirs = [bottom, top, left, right];
 
-      this._watcher();
-    },
+    if (lrOnly) {
+      return left === right === true;
+    }
 
+    if (tbOnly) {
+      return top === bottom === true;
+    }
 
-    /**
-     * Checks if the screen is at least as wide as a breakpoint.
-     * @function
-     * @param {String} size - Name of the breakpoint to check.
-     * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
-     */
-    atLeast: function (size) {
-      var query = this.get(size);
+    return allDirs.indexOf(false) === -1;
+  };
 
-      if (query) {
-        return window.matchMedia(query).matches;
-      }
+  /**
+   * Uses native methods to return an object of dimension values.
+   * @function
+   * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.
+   * @returns {Object} - nested object of integer pixel values
+   * TODO - if element is window, return only those values.
+   */
+  function GetDimensions(elem, test) {
+    elem = elem.length ? elem[0] : elem;
 
-      return false;
-    },
+    if (elem === window || elem === document) {
+      throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");
+    }
 
+    var rect = elem.getBoundingClientRect(),
+        parRect = elem.parentNode.getBoundingClientRect(),
+        winRect = document.body.getBoundingClientRect(),
+        winY = window.pageYOffset,
+        winX = window.pageXOffset;
 
-    /**
-     * Gets the media query of a breakpoint.
-     * @function
-     * @param {String} size - Name of the breakpoint to get.
-     * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
-     */
-    get: function (size) {
-      for (var i in this.queries) {
-        if (this.queries.hasOwnProperty(i)) {
-          var query = this.queries[i];
-          if (size === query.name) return query.value;
+    return {
+      width: rect.width,
+      height: rect.height,
+      offset: {
+        top: rect.top + winY,
+        left: rect.left + winX
+      },
+      parentDims: {
+        width: parRect.width,
+        height: parRect.height,
+        offset: {
+          top: parRect.top + winY,
+          left: parRect.left + winX
         }
-      }
-
-      return null;
-    },
-
-
-    /**
-     * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
-     * @function
-     * @private
-     * @returns {String} Name of the current breakpoint.
-     */
-    _getCurrentSize: function () {
-      var matched;
-
-      for (var i = 0; i < this.queries.length; i++) {
-        var query = this.queries[i];
-
-        if (window.matchMedia(query.value).matches) {
-          matched = query;
+      },
+      windowDims: {
+        width: winRect.width,
+        height: winRect.height,
+        offset: {
+          top: winY,
+          left: winX
         }
       }
-
-      if (typeof matched === 'object') {
-        return matched.name;
-      } else {
-        return matched;
-      }
-    },
-
-
-    /**
-     * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.
-     * @function
-     * @private
-     */
-    _watcher: function () {
-      var _this = this;
-
-      $(window).on('resize.zf.mediaquery', function () {
-        var newSize = _this._getCurrentSize(),
-            currentSize = _this.current;
-
-        if (newSize !== currentSize) {
-          // Change the current media query
-          _this.current = newSize;
-
-          // Broadcast the media query change on the window
-          $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);
-        }
-      });
-    }
-  };
-
-  Foundation.MediaQuery = MediaQuery;
-
-  // matchMedia() polyfill - Test a CSS media type/query in JS.
-  // Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license
-  window.matchMedia || (window.matchMedia = function () {
-    'use strict';
-
-    // For browsers that support matchMedium api such as IE 9 and webkit
-
-    var styleMedia = window.styleMedia || window.media;
-
-    // For those that don't support matchMedium
-    if (!styleMedia) {
-      var style = document.createElement('style'),
-          script = document.getElementsByTagName('script')[0],
-          info = null;
-
-      style.type = 'text/css';
-      style.id = 'matchmediajs-test';
-
-      script.parentNode.insertBefore(style, script);
-
-      // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
-      info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;
-
-      styleMedia = {
-        matchMedium: function (media) {
-          var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
-
-          // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
-          if (style.styleSheet) {
-            style.styleSheet.cssText = text;
-          } else {
-            style.textContent = text;
-          }
-
-          // Test if media query is true or false
-          return info.width === '1px';
-        }
-      };
-    }
-
-    return function (media) {
-      return {
-        matches: styleMedia.matchMedium(media || 'all'),
-        media: media || 'all'
-      };
     };
-  }());
-
-  // Thank you: https://github.com/sindresorhus/query-string
-  function parseStyleToObject(str) {
-    var styleObject = {};
-
-    if (typeof str !== 'string') {
-      return styleObject;
-    }
+  }
 
-    str = str.trim().slice(1, -1); // browsers re-quote string style values
+  /**
+   * Returns an object of top and left integer pixel values for dynamically rendered elements,
+   * such as: Tooltip, Reveal, and Dropdown
+   * @function
+   * @param {jQuery} element - jQuery object for the element being positioned.
+   * @param {jQuery} anchor - jQuery object for the element's anchor point.
+   * @param {String} position - a string relating to the desired position of the element, relative to it's anchor
+   * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.
+   * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.
+   * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.
+   * TODO alter/rewrite to work with `em` values as well/instead of pixels
+   */
+  function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {
+    var $eleDims = GetDimensions(element),
+        $anchorDims = anchor ? GetDimensions(anchor) : null;
 
-    if (!str) {
-      return styleObject;
+    switch (position) {
+      case 'top':
+        return {
+          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
+          top: $anchorDims.offset.top - ($eleDims.height + vOffset)
+        };
+        break;
+      case 'left':
+        return {
+          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+          top: $anchorDims.offset.top
+        };
+        break;
+      case 'right':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width + hOffset,
+          top: $anchorDims.offset.top
+        };
+        break;
+      case 'center top':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
+          top: $anchorDims.offset.top - ($eleDims.height + vOffset)
+        };
+        break;
+      case 'center bottom':
+        return {
+          left: isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
+          top: $anchorDims.offset.top + $anchorDims.height + vOffset
+        };
+        break;
+      case 'center left':
+        return {
+          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
+        };
+        break;
+      case 'center right':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width + hOffset + 1,
+          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
+        };
+        break;
+      case 'center':
+        return {
+          left: $eleDims.windowDims.offset.left + $eleDims.windowDims.width / 2 - $eleDims.width / 2,
+          top: $eleDims.windowDims.offset.top + $eleDims.windowDims.height / 2 - $eleDims.height / 2
+        };
+        break;
+      case 'reveal':
+        return {
+          left: ($eleDims.windowDims.width - $eleDims.width) / 2,
+          top: $eleDims.windowDims.offset.top + vOffset
+        };
+      case 'reveal full':
+        return {
+          left: $eleDims.windowDims.offset.left,
+          top: $eleDims.windowDims.offset.top
+        };
+        break;
+      case 'left bottom':
+        return {
+          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+          top: $anchorDims.offset.top + $anchorDims.height
+        };
+        break;
+      case 'right bottom':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width + hOffset - $eleDims.width,
+          top: $anchorDims.offset.top + $anchorDims.height
+        };
+        break;
+      default:
+        return {
+          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
+          top: $anchorDims.offset.top + $anchorDims.height + vOffset
+        };
     }
-
-    styleObject = str.split('&').reduce(function (ret, param) {
-      var parts = param.replace(/\+/g, ' ').split('=');
-      var key = parts[0];
-      var val = parts[1];
-      key = decodeURIComponent(key);
-
-      // missing `=` should be `null`:
-      // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
-      val = val === undefined ? null : decodeURIComponent(val);
-
-      if (!ret.hasOwnProperty(key)) {
-        ret[key] = val;
-      } else if (Array.isArray(ret[key])) {
-        ret[key].push(val);
-      } else {
-        ret[key] = [ret[key], val];
-      }
-      return ret;
-    }, {});
-
-    return styleObject;
   }
-
-  Foundation.MediaQuery = MediaQuery;
 }(jQuery);
 /*******************************************
  *                                         *
@@ -694,640 +674,417 @@
         if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) {
           return false;
         } //only have visible elements and those that have a tabindex greater or equal 0
-        return true;
-      });
-    },
-
-
-    /**
-     * Returns the component name name
-     * @param {Object} component - Foundation component, e.g. Slider or Reveal
-     * @return String componentName
-     */
-
-    register: function (componentName, cmds) {
-      commands[componentName] = cmds;
-    }
-  };
-
-  /*
-   * Constants for easier comparing.
-   * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
-   */
-  function getKeyCodes(kcs) {
-    var k = {};
-    for (var kc in kcs) {
-      k[kcs[kc]] = kcs[kc];
-    }return k;
-  }
-
-  Foundation.Keyboard = Keyboard;
-}(jQuery);
-'use strict';
-
-!function ($) {
-
-  /**
-   * Motion module.
-   * @module foundation.motion
-   */
-
-  var initClasses = ['mui-enter', 'mui-leave'];
-  var activeClasses = ['mui-enter-active', 'mui-leave-active'];
-
-  var Motion = {
-    animateIn: function (element, animation, cb) {
-      animate(true, element, animation, cb);
-    },
-
-    animateOut: function (element, animation, cb) {
-      animate(false, element, animation, cb);
-    }
-  };
-
-  function Move(duration, elem, fn) {
-    var anim,
-        prog,
-        start = null;
-    // console.log('called');
-
-    function move(ts) {
-      if (!start) start = window.performance.now();
-      // console.log(start, ts);
-      prog = ts - start;
-      fn.apply(elem);
-
-      if (prog < duration) {
-        anim = window.requestAnimationFrame(move, elem);
-      } else {
-        window.cancelAnimationFrame(anim);
-        elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);
-      }
-    }
-    anim = window.requestAnimationFrame(move);
-  }
-
-  /**
-   * Animates an element in or out using a CSS transition class.
-   * @function
-   * @private
-   * @param {Boolean} isIn - Defines if the animation is in or out.
-   * @param {Object} element - jQuery or HTML object to animate.
-   * @param {String} animation - CSS class to use.
-   * @param {Function} cb - Callback to run when animation is finished.
-   */
-  function animate(isIn, element, animation, cb) {
-    element = $(element).eq(0);
-
-    if (!element.length) return;
-
-    var initClass = isIn ? initClasses[0] : initClasses[1];
-    var activeClass = isIn ? activeClasses[0] : activeClasses[1];
-
-    // Set up the animation
-    reset();
-
-    element.addClass(animation).css('transition', 'none');
-
-    requestAnimationFrame(function () {
-      element.addClass(initClass);
-      if (isIn) element.show();
-    });
+        return true;
+      });
+    },
 
-    // Start the animation
-    requestAnimationFrame(function () {
-      element[0].offsetWidth;
-      element.css('transition', '').addClass(activeClass);
-    });
 
-    // Clean up the animation when it finishes
-    element.one(Foundation.transitionend(element), finish);
+    /**
+     * Returns the component name name
+     * @param {Object} component - Foundation component, e.g. Slider or Reveal
+     * @return String componentName
+     */
 
-    // Hides the element (for out animations), resets the element, and runs a callback
-    function finish() {
-      if (!isIn) element.hide();
-      reset();
-      if (cb) cb.apply(element);
+    register: function (componentName, cmds) {
+      commands[componentName] = cmds;
     }
+  };
 
-    // Resets transitions and removes motion-specific classes
-    function reset() {
-      element[0].style.transitionDuration = 0;
-      element.removeClass(initClass + ' ' + activeClass + ' ' + animation);
-    }
+  /*
+   * Constants for easier comparing.
+   * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
+   */
+  function getKeyCodes(kcs) {
+    var k = {};
+    for (var kc in kcs) {
+      k[kcs[kc]] = kcs[kc];
+    }return k;
   }
 
-  Foundation.Move = Move;
-  Foundation.Motion = Motion;
+  Foundation.Keyboard = Keyboard;
 }(jQuery);
 'use strict';
 
 !function ($) {
 
-  var Nest = {
-    Feather: function (menu) {
-      var type = arguments.length <= 1 || arguments[1] === undefined ? 'zf' : arguments[1];
+  // Default set of media queries
+  var defaultQueries = {
+    'default': 'only screen',
+    landscape: 'only screen and (orientation: landscape)',
+    portrait: 'only screen and (orientation: portrait)',
+    retina: 'only screen and (-webkit-min-device-pixel-ratio: 2),' + 'only screen and (min--moz-device-pixel-ratio: 2),' + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + 'only screen and (min-device-pixel-ratio: 2),' + 'only screen and (min-resolution: 192dpi),' + 'only screen and (min-resolution: 2dppx)'
+  };
 
-      menu.attr('role', 'menubar');
+  var MediaQuery = {
+    queries: [],
 
-      var items = menu.find('li').attr({ 'role': 'menuitem' }),
-          subMenuClass = 'is-' + type + '-submenu',
-          subItemClass = subMenuClass + '-item',
-          hasSubClass = 'is-' + type + '-submenu-parent';
+    current: '',
 
-      menu.find('a:first').attr('tabindex', 0);
+    /**
+     * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.
+     * @function
+     * @private
+     */
+    _init: function () {
+      var self = this;
+      var extractedStyles = $('.foundation-mq').css('font-family');
+      var namedQueries;
 
-      items.each(function () {
-        var $item = $(this),
-            $sub = $item.children('ul');
+      namedQueries = parseStyleToObject(extractedStyles);
 
-        if ($sub.length) {
-          $item.addClass(hasSubClass).attr({
-            'aria-haspopup': true,
-            'aria-expanded': false,
-            'aria-label': $item.children('a:first').text()
+      for (var key in namedQueries) {
+        if (namedQueries.hasOwnProperty(key)) {
+          self.queries.push({
+            name: key,
+            value: 'only screen and (min-width: ' + namedQueries[key] + ')'
           });
+        }
+      }
 
-          $sub.addClass('submenu ' + subMenuClass).attr({
-            'data-submenu': '',
-            'aria-hidden': true,
-            'role': 'menu'
-          });
+      this.current = this._getCurrentSize();
+
+      this._watcher();
+    },
+
+
+    /**
+     * Checks if the screen is at least as wide as a breakpoint.
+     * @function
+     * @param {String} size - Name of the breakpoint to check.
+     * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
+     */
+    atLeast: function (size) {
+      var query = this.get(size);
+
+      if (query) {
+        return window.matchMedia(query).matches;
+      }
+
+      return false;
+    },
+
+
+    /**
+     * Gets the media query of a breakpoint.
+     * @function
+     * @param {String} size - Name of the breakpoint to get.
+     * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
+     */
+    get: function (size) {
+      for (var i in this.queries) {
+        if (this.queries.hasOwnProperty(i)) {
+          var query = this.queries[i];
+          if (size === query.name) return query.value;
         }
+      }
 
-        if ($item.parent('[data-submenu]').length) {
-          $item.addClass('is-submenu-item ' + subItemClass);
+      return null;
+    },
+
+
+    /**
+     * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
+     * @function
+     * @private
+     * @returns {String} Name of the current breakpoint.
+     */
+    _getCurrentSize: function () {
+      var matched;
+
+      for (var i = 0; i < this.queries.length; i++) {
+        var query = this.queries[i];
+
+        if (window.matchMedia(query.value).matches) {
+          matched = query;
         }
-      });
+      }
 
-      return;
+      if (typeof matched === 'object') {
+        return matched.name;
+      } else {
+        return matched;
+      }
     },
-    Burn: function (menu, type) {
-      var items = menu.find('li').removeAttr('tabindex'),
-          subMenuClass = 'is-' + type + '-submenu',
-          subItemClass = subMenuClass + '-item',
-          hasSubClass = 'is-' + type + '-submenu-parent';
 
-      menu.find('*').removeClass(subMenuClass + ' ' + subItemClass + ' ' + hasSubClass + ' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display', '');
 
-      // console.log(      menu.find('.' + subMenuClass + ', .' + subItemClass + ', .has-submenu, .is-submenu-item, .submenu, [data-submenu]')
-      //           .removeClass(subMenuClass + ' ' + subItemClass + ' has-submenu is-submenu-item submenu')
-      //           .removeAttr('data-submenu'));
-      // items.each(function(){
-      //   var $item = $(this),
-      //       $sub = $item.children('ul');
-      //   if($item.parent('[data-submenu]').length){
-      //     $item.removeClass('is-submenu-item ' + subItemClass);
-      //   }
-      //   if($sub.length){
-      //     $item.removeClass('has-submenu');
-      //     $sub.removeClass('submenu ' + subMenuClass).removeAttr('data-submenu');
-      //   }
-      // });
+    /**
+     * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.
+     * @function
+     * @private
+     */
+    _watcher: function () {
+      var _this = this;
+
+      $(window).on('resize.zf.mediaquery', function () {
+        var newSize = _this._getCurrentSize(),
+            currentSize = _this.current;
+
+        if (newSize !== currentSize) {
+          // Change the current media query
+          _this.current = newSize;
+
+          // Broadcast the media query change on the window
+          $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);
+        }
+      });
     }
   };
 
-  Foundation.Nest = Nest;
-}(jQuery);
-'use strict';
+  Foundation.MediaQuery = MediaQuery;
 
-!function ($) {
+  // matchMedia() polyfill - Test a CSS media type/query in JS.
+  // Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license
+  window.matchMedia || (window.matchMedia = function () {
+    'use strict';
 
-  Foundation.Box = {
-    ImNotTouchingYou: ImNotTouchingYou,
-    GetDimensions: GetDimensions,
-    GetOffsets: GetOffsets
-  };
+    // For browsers that support matchMedium api such as IE 9 and webkit
 
-  /**
-   * Compares the dimensions of an element to a container and determines collision events with container.
-   * @function
-   * @param {jQuery} element - jQuery object to test for collisions.
-   * @param {jQuery} parent - jQuery object to use as bounding container.
-   * @param {Boolean} lrOnly - set to true to check left and right values only.
-   * @param {Boolean} tbOnly - set to true to check top and bottom values only.
-   * @default if no parent object passed, detects collisions with `window`.
-   * @returns {Boolean} - true if collision free, false if a collision in any direction.
-   */
-  function ImNotTouchingYou(element, parent, lrOnly, tbOnly) {
-    var eleDims = GetDimensions(element),
-        top,
-        bottom,
-        left,
-        right;
+    var styleMedia = window.styleMedia || window.media;
 
-    if (parent) {
-      var parDims = GetDimensions(parent);
+    // For those that don't support matchMedium
+    if (!styleMedia) {
+      var style = document.createElement('style'),
+          script = document.getElementsByTagName('script')[0],
+          info = null;
 
-      bottom = eleDims.offset.top + eleDims.height <= parDims.height + parDims.offset.top;
-      top = eleDims.offset.top >= parDims.offset.top;
-      left = eleDims.offset.left >= parDims.offset.left;
-      right = eleDims.offset.left + eleDims.width <= parDims.width + parDims.offset.left;
-    } else {
-      bottom = eleDims.offset.top + eleDims.height <= eleDims.windowDims.height + eleDims.windowDims.offset.top;
-      top = eleDims.offset.top >= eleDims.windowDims.offset.top;
-      left = eleDims.offset.left >= eleDims.windowDims.offset.left;
-      right = eleDims.offset.left + eleDims.width <= eleDims.windowDims.width;
+      style.type = 'text/css';
+      style.id = 'matchmediajs-test';
+
+      script.parentNode.insertBefore(style, script);
+
+      // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
+      info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;
+
+      styleMedia = {
+        matchMedium: function (media) {
+          var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
+
+          // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
+          if (style.styleSheet) {
+            style.styleSheet.cssText = text;
+          } else {
+            style.textContent = text;
+          }
+
+          // Test if media query is true or false
+          return info.width === '1px';
+        }
+      };
     }
 
-    var allDirs = [bottom, top, left, right];
+    return function (media) {
+      return {
+        matches: styleMedia.matchMedium(media || 'all'),
+        media: media || 'all'
+      };
+    };
+  }());
 
-    if (lrOnly) {
-      return left === right === true;
-    }
+  // Thank you: https://github.com/sindresorhus/query-string
+  function parseStyleToObject(str) {
+    var styleObject = {};
 
-    if (tbOnly) {
-      return top === bottom === true;
+    if (typeof str !== 'string') {
+      return styleObject;
     }
 
-    return allDirs.indexOf(false) === -1;
-  };
-
-  /**
-   * Uses native methods to return an object of dimension values.
-   * @function
-   * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.
-   * @returns {Object} - nested object of integer pixel values
-   * TODO - if element is window, return only those values.
-   */
-  function GetDimensions(elem, test) {
-    elem = elem.length ? elem[0] : elem;
+    str = str.trim().slice(1, -1); // browsers re-quote string style values
 
-    if (elem === window || elem === document) {
-      throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");
+    if (!str) {
+      return styleObject;
     }
 
-    var rect = elem.getBoundingClientRect(),
-        parRect = elem.parentNode.getBoundingClientRect(),
-        winRect = document.body.getBoundingClientRect(),
-        winY = window.pageYOffset,
-        winX = window.pageXOffset;
+    styleObject = str.split('&').reduce(function (ret, param) {
+      var parts = param.replace(/\+/g, ' ').split('=');
+      var key = parts[0];
+      var val = parts[1];
+      key = decodeURIComponent(key);
 
-    return {
-      width: rect.width,
-      height: rect.height,
-      offset: {
-        top: rect.top + winY,
-        left: rect.left + winX
-      },
-      parentDims: {
-        width: parRect.width,
-        height: parRect.height,
-        offset: {
-          top: parRect.top + winY,
-          left: parRect.left + winX
-        }
-      },
-      windowDims: {
-        width: winRect.width,
-        height: winRect.height,
-        offset: {
-          top: winY,
-          left: winX
-        }
-      }
-    };
-  }
+      // missing `=` should be `null`:
+      // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
+      val = val === undefined ? null : decodeURIComponent(val);
 
-  /**
-   * Returns an object of top and left integer pixel values for dynamically rendered elements,
-   * such as: Tooltip, Reveal, and Dropdown
-   * @function
-   * @param {jQuery} element - jQuery object for the element being positioned.
-   * @param {jQuery} anchor - jQuery object for the element's anchor point.
-   * @param {String} position - a string relating to the desired position of the element, relative to it's anchor
-   * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.
-   * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.
-   * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.
-   * TODO alter/rewrite to work with `em` values as well/instead of pixels
-   */
-  function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {
-    var $eleDims = GetDimensions(element),
-        $anchorDims = anchor ? GetDimensions(anchor) : null;
+      if (!ret.hasOwnProperty(key)) {
+        ret[key] = val;
+      } else if (Array.isArray(ret[key])) {
+        ret[key].push(val);
+      } else {
+        ret[key] = [ret[key], val];
+      }
+      return ret;
+    }, {});
 
-    switch (position) {
-      case 'top':
-        return {
-          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
-          top: $anchorDims.offset.top - ($eleDims.height + vOffset)
-        };
-        break;
-      case 'left':
-        return {
-          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
-          top: $anchorDims.offset.top
-        };
-        break;
-      case 'right':
-        return {
-          left: $anchorDims.offset.left + $anchorDims.width + hOffset,
-          top: $anchorDims.offset.top
-        };
-        break;
-      case 'center top':
-        return {
-          left: $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
-          top: $anchorDims.offset.top - ($eleDims.height + vOffset)
-        };
-        break;
-      case 'center bottom':
-        return {
-          left: isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
-          top: $anchorDims.offset.top + $anchorDims.height + vOffset
-        };
-        break;
-      case 'center left':
-        return {
-          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
-          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
-        };
-        break;
-      case 'center right':
-        return {
-          left: $anchorDims.offset.left + $anchorDims.width + hOffset + 1,
-          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
-        };
-        break;
-      case 'center':
-        return {
-          left: $eleDims.windowDims.offset.left + $eleDims.windowDims.width / 2 - $eleDims.width / 2,
-          top: $eleDims.windowDims.offset.top + $eleDims.windowDims.height / 2 - $eleDims.height / 2
-        };
-        break;
-      case 'reveal':
-        return {
-          left: ($eleDims.windowDims.width - $eleDims.width) / 2,
-          top: $eleDims.windowDims.offset.top + vOffset
-        };
-      case 'reveal full':
-        return {
-          left: $eleDims.windowDims.offset.left,
-          top: $eleDims.windowDims.offset.top
-        };
-        break;
-      case 'left bottom':
-        return {
-          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
-          top: $anchorDims.offset.top + $anchorDims.height
-        };
-        break;
-      case 'right bottom':
-        return {
-          left: $anchorDims.offset.left + $anchorDims.width + hOffset - $eleDims.width,
-          top: $anchorDims.offset.top + $anchorDims.height
-        };
-        break;
-      default:
-        return {
-          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
-          top: $anchorDims.offset.top + $anchorDims.height + vOffset
-        };
-    }
+    return styleObject;
   }
+
+  Foundation.MediaQuery = MediaQuery;
 }(jQuery);
 'use strict';
 
 !function ($) {
 
-  var MutationObserver = function () {
-    var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
-    for (var i = 0; i < prefixes.length; i++) {
-      if (prefixes[i] + 'MutationObserver' in window) {
-        return window[prefixes[i] + 'MutationObserver'];
-      }
-    }
-    return false;
-  }();
-
-  var triggers = function (el, type) {
-    el.data(type).split(' ').forEach(function (id) {
-      $('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]);
-    });
-  };
-  // Elements with [data-open] will reveal a plugin that supports it when clicked.
-  $(document).on('click.zf.trigger', '[data-open]', function () {
-    triggers($(this), 'open');
-  });
-
-  // Elements with [data-close] will close a plugin that supports it when clicked.
-  // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
-  $(document).on('click.zf.trigger', '[data-close]', function () {
-    var id = $(this).data('close');
-    if (id) {
-      triggers($(this), 'close');
-    } else {
-      $(this).trigger('close.zf.trigger');
-    }
-  });
+  /**
+   * Motion module.
+   * @module foundation.motion
+   */
 
-  // Elements with [data-toggle] will toggle a plugin that supports it when clicked.
-  $(document).on('click.zf.trigger', '[data-toggle]', function () {
-    triggers($(this), 'toggle');
-  });
+  var initClasses = ['mui-enter', 'mui-leave'];
+  var activeClasses = ['mui-enter-active', 'mui-leave-active'];
 
-  // Elements with [data-closable] will respond to close.zf.trigger events.
-  $(document).on('close.zf.trigger', '[data-closable]', function (e) {
-    e.stopPropagation();
-    var animation = $(this).data('closable');
+  var Motion = {
+    animateIn: function (element, animation, cb) {
+      animate(true, element, animation, cb);
+    },
 
-    if (animation !== '') {
-      Foundation.Motion.animateOut($(this), animation, function () {
-        $(this).trigger('closed.zf');
-      });
-    } else {
-      $(this).fadeOut().trigger('closed.zf');
+    animateOut: function (element, animation, cb) {
+      animate(false, element, animation, cb);
     }
-  });
-
-  $(document).on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', function () {
-    var id = $(this).data('toggle-focus');
-    $('#' + id).triggerHandler('toggle.zf.trigger', [$(this)]);
-  });
-
-  /**
-  * Fires once after all other scripts have loaded
-  * @function
-  * @private
-  */
-  $(window).load(function () {
-    checkListeners();
-  });
+  };
 
-  function checkListeners() {
-    eventsListener();
-    resizeListener();
-    scrollListener();
-    closemeListener();
-  }
+  function Move(duration, elem, fn) {
+    var anim,
+        prog,
+        start = null;
+    // console.log('called');
 
-  //******** only fires this function once on load, if there's something to watch ********
-  function closemeListener(pluginName) {
-    var yetiBoxes = $('[data-yeti-box]'),
-        plugNames = ['dropdown', 'tooltip', 'reveal'];
+    function move(ts) {
+      if (!start) start = window.performance.now();
+      // console.log(start, ts);
+      prog = ts - start;
+      fn.apply(elem);
 
-    if (pluginName) {
-      if (typeof pluginName === 'string') {
-        plugNames.push(pluginName);
-      } else if (typeof pluginName === 'object' && typeof pluginName[0] === 'string') {
-        plugNames.concat(pluginName);
+      if (prog < duration) {
+        anim = window.requestAnimationFrame(move, elem);
       } else {
-        console.error('Plugin names must be strings');
+        window.cancelAnimationFrame(anim);
+        elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);
       }
     }
-    if (yetiBoxes.length) {
-      var listeners = plugNames.map(function (name) {
-        return 'closeme.zf.' + name;
-      }).join(' ');
+    anim = window.requestAnimationFrame(move);
+  }
 
-      $(window).off(listeners).on(listeners, function (e, pluginId) {
-        var plugin = e.namespace.split('.')[0];
-        var plugins = $('[data-' + plugin + ']').not('[data-yeti-box="' + pluginId + '"]');
+  /**
+   * Animates an element in or out using a CSS transition class.
+   * @function
+   * @private
+   * @param {Boolean} isIn - Defines if the animation is in or out.
+   * @param {Object} element - jQuery or HTML object to animate.
+   * @param {String} animation - CSS class to use.
+   * @param {Function} cb - Callback to run when animation is finished.
+   */
+  function animate(isIn, element, animation, cb) {
+    element = $(element).eq(0);
 
-        plugins.each(function () {
-          var _this = $(this);
+    if (!element.length) return;
 
-          _this.triggerHandler('close.zf.trigger', [_this]);
-        });
-      });
-    }
-  }
+    var initClass = isIn ? initClasses[0] : initClasses[1];
+    var activeClass = isIn ? activeClasses[0] : activeClasses[1];
 
-  function resizeListener(debounce) {
-    var timer = void 0,
-        $nodes = $('[data-resize]');
-    if ($nodes.length) {
-      $(window).off('resize.zf.trigger').on('resize.zf.trigger', function (e) {
-        if (timer) {
-          clearTimeout(timer);
-        }
+    // Set up the animation
+    reset();
 
-        timer = setTimeout(function () {
+    element.addClass(animation).css('transition', 'none');
 
-          if (!MutationObserver) {
-            //fallback for IE 9
-            $nodes.each(function () {
-              $(this).triggerHandler('resizeme.zf.trigger');
-            });
-          }
-          //trigger all listening elements and signal a resize event
-          $nodes.attr('data-events', "resize");
-        }, debounce || 10); //default time to emit resize event
-      });
-    }
-  }
+    requestAnimationFrame(function () {
+      element.addClass(initClass);
+      if (isIn) element.show();
+    });
 
-  function scrollListener(debounce) {
-    var timer = void 0,
-        $nodes = $('[data-scroll]');
-    if ($nodes.length) {
-      $(window).off('scroll.zf.trigger').on('scroll.zf.trigger', function (e) {
-        if (timer) {
-          clearTimeout(timer);
-        }
+    // Start the animation
+    requestAnimationFrame(function () {
+      element[0].offsetWidth;
+      element.css('transition', '').addClass(activeClass);
+    });
 
-        timer = setTimeout(function () {
+    // Clean up the animation when it finishes
+    element.one(Foundation.transitionend(element), finish);
 
-          if (!MutationObserver) {
-            //fallback for IE 9
-            $nodes.each(function () {
-              $(this).triggerHandler('scrollme.zf.trigger');
-            });
-          }
-          //trigger all listening elements and signal a scroll event
-          $nodes.attr('data-events', "scroll");
-        }, debounce || 10); //default time to emit scroll event
-      });
+    // Hides the element (for out animations), resets the element, and runs a callback
+    function finish() {
+      if (!isIn) element.hide();
+      reset();
+      if (cb) cb.apply(element);
     }
-  }
 
-  function eventsListener() {
-    if (!MutationObserver) {
-      return false;
+    // Resets transitions and removes motion-specific classes
+    function reset() {
+      element[0].style.transitionDuration = 0;
+      element.removeClass(initClass + ' ' + activeClass + ' ' + animation);
     }
-    var nodes = document.querySelectorAll('[data-resize], [data-scroll], [data-mutate]');
+  }
 
-    //element callback
-    var listeningElementsMutation = function (mutationRecordsList) {
-      var $target = $(mutationRecordsList[0].target);
-      //trigger the event handler for the element depending on type
-      switch ($target.attr("data-events")) {
+  Foundation.Move = Move;
+  Foundation.Motion = Motion;
+}(jQuery);
+'use strict';
 
-        case "resize":
-          $target.triggerHandler('resizeme.zf.trigger', [$target]);
-          break;
+!function ($) {
 
-        case "scroll":
-          $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
-          break;
+  var Nest = {
+    Feather: function (menu) {
+      var type = arguments.length <= 1 || arguments[1] === undefined ? 'zf' : arguments[1];
 
-        // case "mutate" :
-        // console.log('mutate', $target);
-        // $target.triggerHandler('mutate.zf.trigger');
-        //
-        // //make sure we don't get stuck in an infinite loop from sloppy codeing
-        // if ($target.index('[data-mutate]') == $("[data-mutate]").length-1) {
-        //   domMutationObserver();
-        // }
-        // break;
+      menu.attr('role', 'menubar');
 
-        default:
-          return false;
-        //nothing
-      }
-    };
+      var items = menu.find('li').attr({ 'role': 'menuitem' }),
+          subMenuClass = 'is-' + type + '-submenu',
+          subItemClass = subMenuClass + '-item',
+          hasSubClass = 'is-' + type + '-submenu-parent';
 
-    if (nodes.length) {
-      //for each element that needs to listen for resizing, scrolling, (or coming soon mutation) add a single observer
-      for (var i = 0; i <= nodes.length - 1; i++) {
-        var elementObserver = new MutationObserver(listeningElementsMutation);
-        elementObserver.observe(nodes[i], { attributes: true, childList: false, characterData: false, subtree: false, attributeFilter: ["data-events"] });
-      }
-    }
-  }
+      menu.find('a:first').attr('tabindex', 0);
 
-  // ------------------------------------
+      items.each(function () {
+        var $item = $(this),
+            $sub = $item.children('ul');
 
-  // [PH]
-  // Foundation.CheckWatchers = checkWatchers;
-  Foundation.IHearYou = checkListeners;
-  // Foundation.ISeeYou = scrollListener;
-  // Foundation.IFeelYou = closemeListener;
-}(jQuery);
+        if ($sub.length) {
+          $item.addClass(hasSubClass).attr({
+            'aria-haspopup': true,
+            'aria-expanded': false,
+            'aria-label': $item.children('a:first').text()
+          });
 
-// function domMutationObserver(debounce) {
-//   // !!! This is coming soon and needs more work; not active  !!! //
-//   var timer,
-//   nodes = document.querySelectorAll('[data-mutate]');
-//   //
-//   if (nodes.length) {
-//     // var MutationObserver = (function () {
-//     //   var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
-//     //   for (var i=0; i < prefixes.length; i++) {
-//     //     if (prefixes[i] + 'MutationObserver' in window) {
-//     //       return window[prefixes[i] + 'MutationObserver'];
-//     //     }
-//     //   }
-//     //   return false;
-//     // }());
-//
-//
-//     //for the body, we need to listen for all changes effecting the style and class attributes
-//     var bodyObserver = new MutationObserver(bodyMutation);
-//     bodyObserver.observe(document.body, { attributes: true, childList: true, characterData: false, subtree:true, attributeFilter:["style", "class"]});
-//
-//
-//     //body callback
-//     function bodyMutation(mutate) {
-//       //trigger all listening elements and signal a mutation event
-//       if (timer) { clearTimeout(timer); }
-//
-//       timer = setTimeout(function() {
-//         bodyObserver.disconnect();
-//         $('[data-mutate]').attr('data-events',"mutate");
-//       }, debounce || 150);
-//     }
-//   }
-// }
+          $sub.addClass('submenu ' + subMenuClass).attr({
+            'data-submenu': '',
+            'aria-hidden': true,
+            'role': 'menu'
+          });
+        }
+
+        if ($item.parent('[data-submenu]').length) {
+          $item.addClass('is-submenu-item ' + subItemClass);
+        }
+      });
+
+      return;
+    },
+    Burn: function (menu, type) {
+      var items = menu.find('li').removeAttr('tabindex'),
+          subMenuClass = 'is-' + type + '-submenu',
+          subItemClass = subMenuClass + '-item',
+          hasSubClass = 'is-' + type + '-submenu-parent';
+
+      menu.find('*').removeClass(subMenuClass + ' ' + subItemClass + ' ' + hasSubClass + ' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display', '');
+
+      // console.log(      menu.find('.' + subMenuClass + ', .' + subItemClass + ', .has-submenu, .is-submenu-item, .submenu, [data-submenu]')
+      //           .removeClass(subMenuClass + ' ' + subItemClass + ' has-submenu is-submenu-item submenu')
+      //           .removeAttr('data-submenu'));
+      // items.each(function(){
+      //   var $item = $(this),
+      //       $sub = $item.children('ul');
+      //   if($item.parent('[data-submenu]').length){
+      //     $item.removeClass('is-submenu-item ' + subItemClass);
+      //   }
+      //   if($sub.length){
+      //     $item.removeClass('has-submenu');
+      //     $sub.removeClass('submenu ' + subMenuClass).removeAttr('data-submenu');
+      //   }
+      // });
+    }
+  };
+
+  Foundation.Nest = Nest;
+}(jQuery);
 'use strict';
 
 !function ($) {
@@ -1766,6 +1523,249 @@
 */
 'use strict';
 
+!function ($) {
+
+  var MutationObserver = function () {
+    var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
+    for (var i = 0; i < prefixes.length; i++) {
+      if (prefixes[i] + 'MutationObserver' in window) {
+        return window[prefixes[i] + 'MutationObserver'];
+      }
+    }
+    return false;
+  }();
+
+  var triggers = function (el, type) {
+    el.data(type).split(' ').forEach(function (id) {
+      $('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]);
+    });
+  };
+  // Elements with [data-open] will reveal a plugin that supports it when clicked.
+  $(document).on('click.zf.trigger', '[data-open]', function () {
+    triggers($(this), 'open');
+  });
+
+  // Elements with [data-close] will close a plugin that supports it when clicked.
+  // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
+  $(document).on('click.zf.trigger', '[data-close]', function () {
+    var id = $(this).data('close');
+    if (id) {
+      triggers($(this), 'close');
+    } else {
+      $(this).trigger('close.zf.trigger');
+    }
+  });
+
+  // Elements with [data-toggle] will toggle a plugin that supports it when clicked.
+  $(document).on('click.zf.trigger', '[data-toggle]', function () {
+    triggers($(this), 'toggle');
+  });
+
+  // Elements with [data-closable] will respond to close.zf.trigger events.
+  $(document).on('close.zf.trigger', '[data-closable]', function (e) {
+    e.stopPropagation();
+    var animation = $(this).data('closable');
+
+    if (animation !== '') {
+      Foundation.Motion.animateOut($(this), animation, function () {
+        $(this).trigger('closed.zf');
+      });
+    } else {
+      $(this).fadeOut().trigger('closed.zf');
+    }
+  });
+
+  $(document).on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', function () {
+    var id = $(this).data('toggle-focus');
+    $('#' + id).triggerHandler('toggle.zf.trigger', [$(this)]);
+  });
+
+  /**
+  * Fires once after all other scripts have loaded
+  * @function
+  * @private
+  */
+  $(window).load(function () {
+    checkListeners();
+  });
+
+  function checkListeners() {
+    eventsListener();
+    resizeListener();
+    scrollListener();
+    closemeListener();
+  }
+
+  //******** only fires this function once on load, if there's something to watch ********
+  function closemeListener(pluginName) {
+    var yetiBoxes = $('[data-yeti-box]'),
+        plugNames = ['dropdown', 'tooltip', 'reveal'];
+
+    if (pluginName) {
+      if (typeof pluginName === 'string') {
+        plugNames.push(pluginName);
+      } else if (typeof pluginName === 'object' && typeof pluginName[0] === 'string') {
+        plugNames.concat(pluginName);
+      } else {
+        console.error('Plugin names must be strings');
+      }
+    }
+    if (yetiBoxes.length) {
+      var listeners = plugNames.map(function (name) {
+        return 'closeme.zf.' + name;
+      }).join(' ');
+
+      $(window).off(listeners).on(listeners, function (e, pluginId) {
+        var plugin = e.namespace.split('.')[0];
+        var plugins = $('[data-' + plugin + ']').not('[data-yeti-box="' + pluginId + '"]');
+
+        plugins.each(function () {
+          var _this = $(this);
+
+          _this.triggerHandler('close.zf.trigger', [_this]);
+        });
+      });
+    }
+  }
+
+  function resizeListener(debounce) {
+    var timer = void 0,
+        $nodes = $('[data-resize]');
+    if ($nodes.length) {
+      $(window).off('resize.zf.trigger').on('resize.zf.trigger', function (e) {
+        if (timer) {
+          clearTimeout(timer);
+        }
+
+        timer = setTimeout(function () {
+
+          if (!MutationObserver) {
+            //fallback for IE 9
+            $nodes.each(function () {
+              $(this).triggerHandler('resizeme.zf.trigger');
+            });
+          }
+          //trigger all listening elements and signal a resize event
+          $nodes.attr('data-events', "resize");
+        }, debounce || 10); //default time to emit resize event
+      });
+    }
+  }
+
+  function scrollListener(debounce) {
+    var timer = void 0,
+        $nodes = $('[data-scroll]');
+    if ($nodes.length) {
+      $(window).off('scroll.zf.trigger').on('scroll.zf.trigger', function (e) {
+        if (timer) {
+          clearTimeout(timer);
+        }
+
+        timer = setTimeout(function () {
+
+          if (!MutationObserver) {
+            //fallback for IE 9
+            $nodes.each(function () {
+              $(this).triggerHandler('scrollme.zf.trigger');
+            });
+          }
+          //trigger all listening elements and signal a scroll event
+          $nodes.attr('data-events', "scroll");
+        }, debounce || 10); //default time to emit scroll event
+      });
+    }
+  }
+
+  function eventsListener() {
+    if (!MutationObserver) {
+      return false;
+    }
+    var nodes = document.querySelectorAll('[data-resize], [data-scroll], [data-mutate]');
+
+    //element callback
+    var listeningElementsMutation = function (mutationRecordsList) {
+      var $target = $(mutationRecordsList[0].target);
+      //trigger the event handler for the element depending on type
+      switch ($target.attr("data-events")) {
+
+        case "resize":
+          $target.triggerHandler('resizeme.zf.trigger', [$target]);
+          break;
+
+        case "scroll":
+          $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
+          break;
+
+        // case "mutate" :
+        // console.log('mutate', $target);
+        // $target.triggerHandler('mutate.zf.trigger');
+        //
+        // //make sure we don't get stuck in an infinite loop from sloppy codeing
+        // if ($target.index('[data-mutate]') == $("[data-mutate]").length-1) {
+        //   domMutationObserver();
+        // }
+        // break;
+
+        default:
+          return false;
+        //nothing
+      }
+    };
+
+    if (nodes.length) {
+      //for each element that needs to listen for resizing, scrolling, (or coming soon mutation) add a single observer
+      for (var i = 0; i <= nodes.length - 1; i++) {
+        var elementObserver = new MutationObserver(listeningElementsMutation);
+        elementObserver.observe(nodes[i], { attributes: true, childList: false, characterData: false, subtree: false, attributeFilter: ["data-events"] });
+      }
+    }
+  }
+
+  // ------------------------------------
+
+  // [PH]
+  // Foundation.CheckWatchers = checkWatchers;
+  Foundation.IHearYou = checkListeners;
+  // Foundation.ISeeYou = scrollListener;
+  // Foundation.IFeelYou = closemeListener;
+}(jQuery);
+
+// function domMutationObserver(debounce) {
+//   // !!! This is coming soon and needs more work; not active  !!! //
+//   var timer,
+//   nodes = document.querySelectorAll('[data-mutate]');
+//   //
+//   if (nodes.length) {
+//     // var MutationObserver = (function () {
+//     //   var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
+//     //   for (var i=0; i < prefixes.length; i++) {
+//     //     if (prefixes[i] + 'MutationObserver' in window) {
+//     //       return window[prefixes[i] + 'MutationObserver'];
+//     //     }
+//     //   }
+//     //   return false;
+//     // }());
+//
+//
+//     //for the body, we need to listen for all changes effecting the style and class attributes
+//     var bodyObserver = new MutationObserver(bodyMutation);
+//     bodyObserver.observe(document.body, { attributes: true, childList: true, characterData: false, subtree:true, attributeFilter:["style", "class"]});
+//
+//
+//     //body callback
+//     function bodyMutation(mutate) {
+//       //trigger all listening elements and signal a mutation event
+//       if (timer) { clearTimeout(timer); }
+//
+//       timer = setTimeout(function() {
+//         bodyObserver.disconnect();
+//         $('[data-mutate]').attr('data-events',"mutate");
+//       }, debounce || 150);
+//     }
+//   }
+// }
+'use strict';
+
 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -9066,4 +9066,4 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
 
   // Window exports
   Foundation.plugin(Tooltip, 'Tooltip');
-}(jQuery);
\ No newline at end of file
+}(jQuery);
diff --git a/libraries/foundation-6/dist/foundation.min.css b/libraries/foundation-6/dist/foundation.min.css
new file mode 100755
index 00000000..81418ac0
--- /dev/null
+++ b/libraries/foundation-6/dist/foundation.min.css
@@ -0,0 +1,2 @@
+@charset "UTF-8";
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:not-allowed}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{font-size:100%;box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{padding:0;margin:0;font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:400;line-height:1.5;color:#0a0a0a;background:#fefefe;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;-ms-interpolation-mode:bicubic;display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px;border-radius:0}select{width:100%;border-radius:0}#map_canvas embed,#map_canvas img,#map_canvas object,.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{-webkit-appearance:none;-moz-appearance:none;background:transparent;padding:0;border:0;border-radius:0;line-height:1}[data-whatinput=mouse] button{outline:0}.is-visible{display:block!important}.is-hidden{display:none!important}.row{max-width:75rem;margin-left:auto;margin-right:auto}.row:after,.row:before{content:' ';display:table}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row .row{max-width:none;margin-left:-.625rem;margin-right:-.625rem}@media screen and (min-width:40em){.row .row{margin-left:-.9375rem;margin-right:-.9375rem}}.row .row.collapse{margin-left:0;margin-right:0}.row.expanded{max-width:none}.row.expanded .row{margin-left:auto;margin-right:auto}.column,.columns{width:100%;float:left;padding-left:.625rem;padding-right:.625rem}@media screen and (min-width:40em){.column,.columns{padding-left:.9375rem;padding-right:.9375rem}}.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:right}.column.end:last-child:last-child,.end.columns:last-child:last-child{float:left}.column.row.row,.row.row.columns{float:none}.row .column.row.row,.row .row.row.columns{padding-left:0;padding-right:0;margin-left:0;margin-right:0}.small-1{width:8.33333%}.small-push-1{position:relative;left:8.33333%}.small-pull-1{position:relative;left:-8.33333%}.small-offset-0{margin-left:0}.small-2{width:16.66667%}.small-push-2{position:relative;left:16.66667%}.small-pull-2{position:relative;left:-16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{width:25%}.small-push-3{position:relative;left:25%}.small-pull-3{position:relative;left:-25%}.small-offset-2{margin-left:16.66667%}.small-4{width:33.33333%}.small-push-4{position:relative;left:33.33333%}.small-pull-4{position:relative;left:-33.33333%}.small-offset-3{margin-left:25%}.small-5{width:41.66667%}.small-push-5{position:relative;left:41.66667%}.small-pull-5{position:relative;left:-41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{width:50%}.small-push-6{position:relative;left:50%}.small-pull-6{position:relative;left:-50%}.small-offset-5{margin-left:41.66667%}.small-7{width:58.33333%}.small-push-7{position:relative;left:58.33333%}.small-pull-7{position:relative;left:-58.33333%}.small-offset-6{margin-left:50%}.small-8{width:66.66667%}.small-push-8{position:relative;left:66.66667%}.small-pull-8{position:relative;left:-66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{width:75%}.small-push-9{position:relative;left:75%}.small-pull-9{position:relative;left:-75%}.small-offset-8{margin-left:66.66667%}.small-10{width:83.33333%}.small-push-10{position:relative;left:83.33333%}.small-pull-10{position:relative;left:-83.33333%}.small-offset-9{margin-left:75%}.small-11{width:91.66667%}.small-push-11{position:relative;left:91.66667%}.small-pull-11{position:relative;left:-91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{width:100%}.small-offset-11{margin-left:91.66667%}.small-up-1>.column,.small-up-1>.columns{width:100%;float:left}.small-up-1>.column:nth-of-type(1n),.small-up-1>.columns:nth-of-type(1n){clear:none}.small-up-1>.column:nth-of-type(1n+1),.small-up-1>.columns:nth-of-type(1n+1){clear:both}.small-up-1>.column:last-child,.small-up-1>.columns:last-child{float:left}.small-up-2>.column,.small-up-2>.columns{width:50%;float:left}.small-up-2>.column:nth-of-type(1n),.small-up-2>.columns:nth-of-type(1n){clear:none}.small-up-2>.column:nth-of-type(2n+1),.small-up-2>.columns:nth-of-type(2n+1){clear:both}.small-up-2>.column:last-child,.small-up-2>.columns:last-child{float:left}.small-up-3>.column,.small-up-3>.columns{width:33.33333%;float:left}.small-up-3>.column:nth-of-type(1n),.small-up-3>.columns:nth-of-type(1n){clear:none}.small-up-3>.column:nth-of-type(3n+1),.small-up-3>.columns:nth-of-type(3n+1){clear:both}.small-up-3>.column:last-child,.small-up-3>.columns:last-child{float:left}.small-up-4>.column,.small-up-4>.columns{width:25%;float:left}.small-up-4>.column:nth-of-type(1n),.small-up-4>.columns:nth-of-type(1n){clear:none}.small-up-4>.column:nth-of-type(4n+1),.small-up-4>.columns:nth-of-type(4n+1){clear:both}.small-up-4>.column:last-child,.small-up-4>.columns:last-child{float:left}.small-up-5>.column,.small-up-5>.columns{width:20%;float:left}.small-up-5>.column:nth-of-type(1n),.small-up-5>.columns:nth-of-type(1n){clear:none}.small-up-5>.column:nth-of-type(5n+1),.small-up-5>.columns:nth-of-type(5n+1){clear:both}.small-up-5>.column:last-child,.small-up-5>.columns:last-child{float:left}.small-up-6>.column,.small-up-6>.columns{width:16.66667%;float:left}.small-up-6>.column:nth-of-type(1n),.small-up-6>.columns:nth-of-type(1n){clear:none}.small-up-6>.column:nth-of-type(6n+1),.small-up-6>.columns:nth-of-type(6n+1){clear:both}.small-up-6>.column:last-child,.small-up-6>.columns:last-child{float:left}.small-up-7>.column,.small-up-7>.columns{width:14.28571%;float:left}.small-up-7>.column:nth-of-type(1n),.small-up-7>.columns:nth-of-type(1n){clear:none}.small-up-7>.column:nth-of-type(7n+1),.small-up-7>.columns:nth-of-type(7n+1){clear:both}.small-up-7>.column:last-child,.small-up-7>.columns:last-child{float:left}.small-up-8>.column,.small-up-8>.columns{width:12.5%;float:left}.small-up-8>.column:nth-of-type(1n),.small-up-8>.columns:nth-of-type(1n){clear:none}.small-up-8>.column:nth-of-type(8n+1),.small-up-8>.columns:nth-of-type(8n+1){clear:both}.small-up-8>.column:last-child,.small-up-8>.columns:last-child{float:left}.small-collapse>.column,.small-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .small-collapse.row,.small-collapse .row{margin-left:0;margin-right:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-left:.625rem;padding-right:.625rem}.small-centered{float:none;margin-left:auto;margin-right:auto}.small-pull-0,.small-push-0,.small-uncentered{position:static;margin-left:0;margin-right:0;float:left}@media screen and (min-width:40em){.medium-1{width:8.33333%}.medium-push-1{position:relative;left:8.33333%}.medium-pull-1{position:relative;left:-8.33333%}.medium-offset-0{margin-left:0}.medium-2{width:16.66667%}.medium-push-2{position:relative;left:16.66667%}.medium-pull-2{position:relative;left:-16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{width:25%}.medium-push-3{position:relative;left:25%}.medium-pull-3{position:relative;left:-25%}.medium-offset-2{margin-left:16.66667%}.medium-4{width:33.33333%}.medium-push-4{position:relative;left:33.33333%}.medium-pull-4{position:relative;left:-33.33333%}.medium-offset-3{margin-left:25%}.medium-5{width:41.66667%}.medium-push-5{position:relative;left:41.66667%}.medium-pull-5{position:relative;left:-41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{width:50%}.medium-push-6{position:relative;left:50%}.medium-pull-6{position:relative;left:-50%}.medium-offset-5{margin-left:41.66667%}.medium-7{width:58.33333%}.medium-push-7{position:relative;left:58.33333%}.medium-pull-7{position:relative;left:-58.33333%}.medium-offset-6{margin-left:50%}.medium-8{width:66.66667%}.medium-push-8{position:relative;left:66.66667%}.medium-pull-8{position:relative;left:-66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{width:75%}.medium-push-9{position:relative;left:75%}.medium-pull-9{position:relative;left:-75%}.medium-offset-8{margin-left:66.66667%}.medium-10{width:83.33333%}.medium-push-10{position:relative;left:83.33333%}.medium-pull-10{position:relative;left:-83.33333%}.medium-offset-9{margin-left:75%}.medium-11{width:91.66667%}.medium-push-11{position:relative;left:91.66667%}.medium-pull-11{position:relative;left:-91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{width:100%}.medium-offset-11{margin-left:91.66667%}.medium-up-1>.column,.medium-up-1>.columns{width:100%;float:left}.medium-up-1>.column:nth-of-type(1n),.medium-up-1>.columns:nth-of-type(1n){clear:none}.medium-up-1>.column:nth-of-type(1n+1),.medium-up-1>.columns:nth-of-type(1n+1){clear:both}.medium-up-1>.column:last-child,.medium-up-1>.columns:last-child{float:left}.medium-up-2>.column,.medium-up-2>.columns{width:50%;float:left}.medium-up-2>.column:nth-of-type(1n),.medium-up-2>.columns:nth-of-type(1n){clear:none}.medium-up-2>.column:nth-of-type(2n+1),.medium-up-2>.columns:nth-of-type(2n+1){clear:both}.medium-up-2>.column:last-child,.medium-up-2>.columns:last-child{float:left}.medium-up-3>.column,.medium-up-3>.columns{width:33.33333%;float:left}.medium-up-3>.column:nth-of-type(1n),.medium-up-3>.columns:nth-of-type(1n){clear:none}.medium-up-3>.column:nth-of-type(3n+1),.medium-up-3>.columns:nth-of-type(3n+1){clear:both}.medium-up-3>.column:last-child,.medium-up-3>.columns:last-child{float:left}.medium-up-4>.column,.medium-up-4>.columns{width:25%;float:left}.medium-up-4>.column:nth-of-type(1n),.medium-up-4>.columns:nth-of-type(1n){clear:none}.medium-up-4>.column:nth-of-type(4n+1),.medium-up-4>.columns:nth-of-type(4n+1){clear:both}.medium-up-4>.column:last-child,.medium-up-4>.columns:last-child{float:left}.medium-up-5>.column,.medium-up-5>.columns{width:20%;float:left}.medium-up-5>.column:nth-of-type(1n),.medium-up-5>.columns:nth-of-type(1n){clear:none}.medium-up-5>.column:nth-of-type(5n+1),.medium-up-5>.columns:nth-of-type(5n+1){clear:both}.medium-up-5>.column:last-child,.medium-up-5>.columns:last-child{float:left}.medium-up-6>.column,.medium-up-6>.columns{width:16.66667%;float:left}.medium-up-6>.column:nth-of-type(1n),.medium-up-6>.columns:nth-of-type(1n){clear:none}.medium-up-6>.column:nth-of-type(6n+1),.medium-up-6>.columns:nth-of-type(6n+1){clear:both}.medium-up-6>.column:last-child,.medium-up-6>.columns:last-child{float:left}.medium-up-7>.column,.medium-up-7>.columns{width:14.28571%;float:left}.medium-up-7>.column:nth-of-type(1n),.medium-up-7>.columns:nth-of-type(1n){clear:none}.medium-up-7>.column:nth-of-type(7n+1),.medium-up-7>.columns:nth-of-type(7n+1){clear:both}.medium-up-7>.column:last-child,.medium-up-7>.columns:last-child{float:left}.medium-up-8>.column,.medium-up-8>.columns{width:12.5%;float:left}.medium-up-8>.column:nth-of-type(1n),.medium-up-8>.columns:nth-of-type(1n){clear:none}.medium-up-8>.column:nth-of-type(8n+1),.medium-up-8>.columns:nth-of-type(8n+1){clear:both}.medium-up-8>.column:last-child,.medium-up-8>.columns:last-child{float:left}.medium-collapse>.column,.medium-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .medium-collapse.row,.medium-collapse .row{margin-left:0;margin-right:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}.medium-centered{float:none;margin-left:auto;margin-right:auto}.medium-pull-0,.medium-push-0,.medium-uncentered{position:static;margin-left:0;margin-right:0;float:left}}@media screen and (min-width:64em){.large-1{width:8.33333%}.large-push-1{position:relative;left:8.33333%}.large-pull-1{position:relative;left:-8.33333%}.large-offset-0{margin-left:0}.large-2{width:16.66667%}.large-push-2{position:relative;left:16.66667%}.large-pull-2{position:relative;left:-16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{width:25%}.large-push-3{position:relative;left:25%}.large-pull-3{position:relative;left:-25%}.large-offset-2{margin-left:16.66667%}.large-4{width:33.33333%}.large-push-4{position:relative;left:33.33333%}.large-pull-4{position:relative;left:-33.33333%}.large-offset-3{margin-left:25%}.large-5{width:41.66667%}.large-push-5{position:relative;left:41.66667%}.large-pull-5{position:relative;left:-41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{width:50%}.large-push-6{position:relative;left:50%}.large-pull-6{position:relative;left:-50%}.large-offset-5{margin-left:41.66667%}.large-7{width:58.33333%}.large-push-7{position:relative;left:58.33333%}.large-pull-7{position:relative;left:-58.33333%}.large-offset-6{margin-left:50%}.large-8{width:66.66667%}.large-push-8{position:relative;left:66.66667%}.large-pull-8{position:relative;left:-66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{width:75%}.large-push-9{position:relative;left:75%}.large-pull-9{position:relative;left:-75%}.large-offset-8{margin-left:66.66667%}.large-10{width:83.33333%}.large-push-10{position:relative;left:83.33333%}.large-pull-10{position:relative;left:-83.33333%}.large-offset-9{margin-left:75%}.large-11{width:91.66667%}.large-push-11{position:relative;left:91.66667%}.large-pull-11{position:relative;left:-91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{width:100%}.large-offset-11{margin-left:91.66667%}.large-up-1>.column,.large-up-1>.columns{width:100%;float:left}.large-up-1>.column:nth-of-type(1n),.large-up-1>.columns:nth-of-type(1n){clear:none}.large-up-1>.column:nth-of-type(1n+1),.large-up-1>.columns:nth-of-type(1n+1){clear:both}.large-up-1>.column:last-child,.large-up-1>.columns:last-child{float:left}.large-up-2>.column,.large-up-2>.columns{width:50%;float:left}.large-up-2>.column:nth-of-type(1n),.large-up-2>.columns:nth-of-type(1n){clear:none}.large-up-2>.column:nth-of-type(2n+1),.large-up-2>.columns:nth-of-type(2n+1){clear:both}.large-up-2>.column:last-child,.large-up-2>.columns:last-child{float:left}.large-up-3>.column,.large-up-3>.columns{width:33.33333%;float:left}.large-up-3>.column:nth-of-type(1n),.large-up-3>.columns:nth-of-type(1n){clear:none}.large-up-3>.column:nth-of-type(3n+1),.large-up-3>.columns:nth-of-type(3n+1){clear:both}.large-up-3>.column:last-child,.large-up-3>.columns:last-child{float:left}.large-up-4>.column,.large-up-4>.columns{width:25%;float:left}.large-up-4>.column:nth-of-type(1n),.large-up-4>.columns:nth-of-type(1n){clear:none}.large-up-4>.column:nth-of-type(4n+1),.large-up-4>.columns:nth-of-type(4n+1){clear:both}.large-up-4>.column:last-child,.large-up-4>.columns:last-child{float:left}.large-up-5>.column,.large-up-5>.columns{width:20%;float:left}.large-up-5>.column:nth-of-type(1n),.large-up-5>.columns:nth-of-type(1n){clear:none}.large-up-5>.column:nth-of-type(5n+1),.large-up-5>.columns:nth-of-type(5n+1){clear:both}.large-up-5>.column:last-child,.large-up-5>.columns:last-child{float:left}.large-up-6>.column,.large-up-6>.columns{width:16.66667%;float:left}.large-up-6>.column:nth-of-type(1n),.large-up-6>.columns:nth-of-type(1n){clear:none}.large-up-6>.column:nth-of-type(6n+1),.large-up-6>.columns:nth-of-type(6n+1){clear:both}.large-up-6>.column:last-child,.large-up-6>.columns:last-child{float:left}.large-up-7>.column,.large-up-7>.columns{width:14.28571%;float:left}.large-up-7>.column:nth-of-type(1n),.large-up-7>.columns:nth-of-type(1n){clear:none}.large-up-7>.column:nth-of-type(7n+1),.large-up-7>.columns:nth-of-type(7n+1){clear:both}.large-up-7>.column:last-child,.large-up-7>.columns:last-child{float:left}.large-up-8>.column,.large-up-8>.columns{width:12.5%;float:left}.large-up-8>.column:nth-of-type(1n),.large-up-8>.columns:nth-of-type(1n){clear:none}.large-up-8>.column:nth-of-type(8n+1),.large-up-8>.columns:nth-of-type(8n+1){clear:both}.large-up-8>.column:last-child,.large-up-8>.columns:last-child{float:left}.large-collapse>.column,.large-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .large-collapse.row,.large-collapse .row{margin-left:0;margin-right:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}.large-centered{float:none;margin-left:auto;margin-right:auto}.large-pull-0,.large-push-0,.large-uncentered{position:static;margin-left:0;margin-right:0;float:left}}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}p{font-size:inherit;line-height:1.6;margin-bottom:1rem;text-rendering:optimizeLegibility}em,i{font-style:italic}b,em,i,strong{line-height:inherit}b,strong{font-weight:700}small{font-size:80%;line-height:inherit}h1,h2,h3,h4,h5,h6{font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:400;font-style:normal;color:inherit;text-rendering:optimizeLegibility;margin-top:0;margin-bottom:.5rem;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#cacaca;line-height:0}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1875rem}h4{font-size:1.125rem}h5{font-size:1.0625rem}h6{font-size:1rem}@media screen and (min-width:40em){h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:1.9375rem}h4{font-size:1.5625rem}h5{font-size:1.25rem}h6{font-size:1rem}}a{color:#2199e8;text-decoration:none;line-height:inherit;cursor:pointer}a:focus,a:hover{color:#1585cf}a img{border:0}hr{max-width:75rem;height:0;border-right:0;border-top:0;border-bottom:1px solid #cacaca;border-left:0;margin:1.25rem auto;clear:both}dl,ol,ul{line-height:1.6;margin-bottom:1rem;list-style-position:outside}li{font-size:inherit}ul{list-style-type:disc}ol,ul{margin-left:1.25rem}ol ol,ol ul,ul ol,ul ul{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:700}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}cite{display:block;font-size:.8125rem;color:#8a8a8a}cite:before{content:'\2014 \0020'}abbr{color:#0a0a0a;cursor:help;border-bottom:1px dotted #0a0a0a}code{font-weight:400;border:1px solid #cacaca;padding:.125rem .3125rem .0625rem}code,kbd{font-family:Consolas,Liberation Mono,Courier,monospace;color:#0a0a0a;background-color:#e6e6e6}kbd{padding:.125rem .25rem 0;margin:0}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:400;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}.no-bullet{margin-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media screen and (min-width:40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media screen and (min-width:64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none!important}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.show-for-print{display:block!important}.hide-for-print{display:none!important}table.show-for-print{display:table!important}thead.show-for-print{display:table-header-group!important}tbody.show-for-print{display:table-row-group!important}tr.show-for-print{display:table-row!important}td.show-for-print,th.show-for-print{display:table-cell!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='#']:after,a[href^='javascript:']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{display:block;box-sizing:border-box;width:100%;height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-family:inherit;font-size:1rem;color:#0a0a0a;background-color:#fefefe;box-shadow:inset 0 1px 2px hsla(0,0%,4%,.1);border-radius:0;-webkit-transition:-webkit-box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out;-webkit-appearance:none;-moz-appearance:none}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{border:1px solid #8a8a8a;background-color:#fefefe;outline:none;box-shadow:0 0 5px #cacaca;-webkit-transition:-webkit-box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out}textarea{max-width:100%}textarea[rows]{height:auto}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#cacaca}input::-moz-placeholder,textarea::-moz-placeholder{color:#cacaca}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#cacaca}input::placeholder,textarea::placeholder{color:#cacaca}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type=button],[type=submit]{border-radius:0;-webkit-appearance:none;-moz-appearance:none}input[type=search]{box-sizing:border-box}[type=checkbox],[type=file],[type=radio]{margin:0 0 1rem}[type=checkbox]+label,[type=radio]+label{display:inline-block;margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}[type=checkbox]+label[for],[type=radio]+label[for]{cursor:pointer}label>[type=checkbox],label>[type=radio]{margin-right:.5rem}[type=file]{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:400;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:table;width:100%;margin-bottom:1rem}.input-group>:first-child,.input-group>:last-child>*{border-radius:0 0 0 0}.input-group-button,.input-group-field,.input-group-label{margin:0;white-space:nowrap;display:table-cell;vertical-align:middle}.input-group-label{text-align:center;padding:0 1rem;background:#e6e6e6;color:#0a0a0a;border:1px solid #cacaca;white-space:nowrap;width:1%;height:100%}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;height:2.5rem}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;height:100%;width:1%}.input-group-button a,.input-group-button button,.input-group-button input{margin:0}.input-group .input-group-button{display:table-cell}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:.5rem;max-width:100%}.fieldset{border:1px solid #cacaca;padding:1.25rem;margin:1.125rem 0}.fieldset legend{background:#fefefe;padding:0 .1875rem;margin:0;margin-left:-.1875rem}select{height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-size:1rem;font-family:inherit;line-height:normal;color:#0a0a0a;background-color:#fefefe;border-radius:0;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-size:9px 6px;background-position:right -1rem center;background-origin:content-box;background-repeat:no-repeat;padding-right:1.5rem}@media screen and (min-width:0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){background-color:rgba(236,88,64,.1);border-color:#ec5840}.form-error,.is-invalid-label{color:#ec5840}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:700}.form-error.is-visible{display:block}.button{display:inline-block;text-align:center;line-height:1;cursor:pointer;-webkit-appearance:none;-webkit-transition:background-color .25s ease-out,color .25s ease-out;transition:background-color .25s ease-out,color .25s ease-out;vertical-align:middle;border:1px solid transparent;border-radius:0;padding:.85em 1em;margin:0 0 1rem;font-size:.9rem;background-color:#2199e8;color:#fefefe}[data-whatinput=mouse] .button{outline:0}.button:focus,.button:hover{background-color:#1583cc;color:#fefefe}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-left:0;margin-right:0}.button.primary{background-color:#2199e8;color:#fefefe}.button.primary:focus,.button.primary:hover{background-color:#147cc0;color:#fefefe}.button.secondary{background-color:#777;color:#fefefe}.button.secondary:focus,.button.secondary:hover{background-color:#5f5f5f;color:#fefefe}.button.success{background-color:#3adb76;color:#fefefe}.button.success:focus,.button.success:hover{background-color:#22bb5b;color:#fefefe}.button.warning{background-color:#ffae00;color:#fefefe}.button.warning:focus,.button.warning:hover{background-color:#cc8b00;color:#fefefe}.button.alert{background-color:#ec5840;color:#fefefe}.button.alert:focus,.button.alert:hover{background-color:#da3116;color:#fefefe}.button.hollow{border:1px solid #2199e8;color:#2199e8}.button.hollow,.button.hollow:focus,.button.hollow:hover{background-color:transparent}.button.hollow:focus,.button.hollow:hover{border-color:#0c4d78;color:#0c4d78}.button.hollow.primary{border:1px solid #2199e8;color:#2199e8}.button.hollow.primary:focus,.button.hollow.primary:hover{border-color:#0c4d78;color:#0c4d78}.button.hollow.secondary{border:1px solid #777;color:#777}.button.hollow.secondary:focus,.button.hollow.secondary:hover{border-color:#3c3c3c;color:#3c3c3c}.button.hollow.success{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:focus,.button.hollow.success:hover{border-color:#157539;color:#157539}.button.hollow.warning{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:#805700;color:#805700}.button.hollow.alert{border:1px solid #ec5840;color:#ec5840}.button.hollow.alert:focus,.button.hollow.alert:hover{border-color:#881f0e;color:#881f0e}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled:focus,.button.disabled:hover,.button[disabled]:focus,.button[disabled]:hover{background-color:#2199e8;color:#fefefe}.button.dropdown:after{content:'';display:block;width:0;height:0;border:.4em inset;border-color:#fefefe transparent transparent;border-top-style:solid;border-bottom-width:0;position:relative;top:.4em;float:right;margin-left:1em;display:inline-block}.button.arrow-only:after{margin-left:0;float:none;top:-.1em}.accordion{list-style-type:none;background:#fefefe;margin-left:0}.accordion-item:first-child>:first-child,.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{display:block;padding:1.25rem 1rem;line-height:1;font-size:.75rem;color:#2199e8;position:relative;border:1px solid #e6e6e6;border-bottom:0}:last-child:not(.is-active)>.accordion-title{border-radius:0 0 0 0;border-bottom:1px solid #e6e6e6}.accordion-title:focus,.accordion-title:hover{background-color:#e6e6e6}.accordion-title:before{content:'+';position:absolute;right:1rem;top:50%;margin-top:-.5rem}.is-active>.accordion-title:before{content:'–'}.accordion-content{padding:1rem;display:none;border:1px solid #e6e6e6;border-bottom:0;background-color:#fefefe;color:#0a0a0a}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.is-accordion-submenu-parent>a{position:relative}.is-accordion-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:6px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;position:absolute;top:50%;margin-top:-4px;right:1rem}.is-accordion-submenu-parent[aria-expanded=true]>a:after{-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:scaleY(-1);transform:scaleY(-1)}.badge{display:inline-block;padding:.3em;min-width:2.1em;font-size:.6rem;text-align:center;border-radius:50%;background:#2199e8;color:#fefefe}.badge.secondary{background:#777;color:#fefefe}.badge.success{background:#3adb76;color:#fefefe}.badge.warning{background:#ffae00;color:#fefefe}.badge.alert{background:#ec5840;color:#fefefe}.breadcrumbs{list-style:none;margin:0 0 1rem}.breadcrumbs:after,.breadcrumbs:before{content:' ';display:table}.breadcrumbs:after{clear:both}.breadcrumbs li{float:left;color:#0a0a0a;font-size:.6875rem;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child):after{color:#cacaca;content:"/";margin:0 .75rem;position:relative;top:1px;opacity:1}.breadcrumbs a{color:#2199e8}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.button-group{margin-bottom:1rem;font-size:0}.button-group:after,.button-group:before{content:' ';display:table}.button-group:after{clear:both}.button-group .button{margin:0;margin-right:1px;margin-bottom:1px;font-size:.9rem}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded{margin-right:-1px}.button-group.expanded:after,.button-group.expanded:before{display:none}.button-group.expanded .button:first-child:nth-last-child(2),.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2)~.button{display:inline-block;width:calc(50% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(2):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(3),.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3)~.button{display:inline-block;width:calc(33.33333% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(3):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(4),.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4)~.button{display:inline-block;width:calc(25% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(4):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(5),.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5)~.button{display:inline-block;width:calc(20% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(5):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(6),.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6)~.button{display:inline-block;width:calc(16.66667% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(6):last-child{margin-right:-6px}.button-group.primary .button{background-color:#2199e8;color:#fefefe}.button-group.primary .button:focus,.button-group.primary .button:hover{background-color:#147cc0;color:#fefefe}.button-group.secondary .button{background-color:#777;color:#fefefe}.button-group.secondary .button:focus,.button-group.secondary .button:hover{background-color:#5f5f5f;color:#fefefe}.button-group.success .button{background-color:#3adb76;color:#fefefe}.button-group.success .button:focus,.button-group.success .button:hover{background-color:#22bb5b;color:#fefefe}.button-group.warning .button{background-color:#ffae00;color:#fefefe}.button-group.warning .button:focus,.button-group.warning .button:hover{background-color:#cc8b00;color:#fefefe}.button-group.alert .button{background-color:#ec5840;color:#fefefe}.button-group.alert .button:focus,.button-group.alert .button:hover{background-color:#da3116;color:#fefefe}.button-group.stacked-for-medium .button,.button-group.stacked-for-small .button,.button-group.stacked .button{width:100%}.button-group.stacked-for-medium .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked .button:last-child{margin-bottom:0}@media screen and (min-width:40em){.button-group.stacked-for-small .button{width:auto;margin-bottom:0}}@media screen and (min-width:64em){.button-group.stacked-for-medium .button{width:auto;margin-bottom:0}}@media screen and (max-width:39.9375em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}.callout{margin:0 0 1rem;padding:1rem;border:1px solid hsla(0,0%,4%,.25);border-radius:0;position:relative;color:#0a0a0a;background-color:#fff}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#def0fc}.callout.secondary{background-color:#ebebeb}.callout.success{background-color:#e1faea}.callout.warning{background-color:#fff3d9}.callout.alert{background-color:#fce6e2}.callout.small{padding:.5rem}.callout.large{padding:3rem}.close-button{position:absolute;color:#8a8a8a;right:1rem;top:.5rem;font-size:2em;line-height:1;cursor:pointer}[data-whatinput=mouse] .close-button{outline:0}.close-button:focus,.close-button:hover{color:#0a0a0a}.menu{margin:0;list-style-type:none}.menu>li{display:table-cell;vertical-align:middle}[data-whatinput=mouse] .menu>li{outline:0}.menu>li>a{display:block;padding:.7rem 1rem;line-height:1}.menu a,.menu button,.menu input{margin-bottom:0}.menu>li>a i,.menu>li>a i+span,.menu>li>a img,.menu>li>a img+span,.menu>li>a svg,.menu>li>a svg+span{vertical-align:middle}.menu>li>a i,.menu>li>a img,.menu>li>a svg{margin-right:.25rem;display:inline-block}.menu>li{display:table-cell}.menu.vertical>li{display:block}@media screen and (min-width:40em){.menu.medium-horizontal>li{display:table-cell}.menu.medium-vertical>li{display:block}}@media screen and (min-width:64em){.menu.large-horizontal>li{display:table-cell}.menu.large-vertical>li{display:block}}.menu.simple li{line-height:1;display:inline-block;margin-right:1rem}.menu.simple a{padding:0}.menu.align-right:after,.menu.align-right:before{content:' ';display:table}.menu.align-right:after{clear:both}.menu.align-right>li{float:right}.menu.expanded{width:100%;display:table;table-layout:fixed}.menu.expanded>li:first-child:last-child{width:100%}.menu.icon-top>li>a{text-align:center}.menu.icon-top>li>a i,.menu.icon-top>li>a img,.menu.icon-top>li>a svg{display:block;margin:0 auto .25rem}.menu.nested{margin-left:1rem}.menu .active>a{color:#fefefe;background:#2199e8}.menu-text{font-weight:700;color:inherit;line-height:1;padding-top:0;padding-bottom:0;padding:.7rem 1rem}.menu-centered{text-align:center}.menu-centered>.menu{display:inline-block}.no-js [data-responsive-menu] ul{display:none}.menu-icon{position:relative;display:inline-block;vertical-align:middle;cursor:pointer;width:20px;height:16px}.menu-icon:after{content:'';position:absolute;display:block;width:100%;height:2px;background:#fefefe;top:0;left:0;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe}.menu-icon:hover:after{background:#cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block!important}.is-drilldown-submenu{position:absolute;top:0;left:100%;z-index:-1;height:100%;width:100%;background:#fefefe;-webkit-transition:-webkit-transform .15s linear;transition:transform .15s linear}.is-drilldown-submenu.is-active{z-index:1;display:block;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.is-drilldown-submenu.is-closing{-webkit-transform:translateX(100%);transform:translateX(100%)}.is-drilldown-submenu-parent>a{position:relative}.is-drilldown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:6px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0;position:absolute;top:50%;margin-top:-6px;right:1rem}.js-drilldown-back>a:before{content:'';display:block;width:0;height:0;border:6px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0;display:inline-block;vertical-align:middle;margin-right:.75rem}.dropdown-pane{background-color:#fefefe;border:1px solid #cacaca;border-radius:0;display:block;font-size:1rem;padding:1rem;position:absolute;visibility:hidden;width:300px;z-index:10}.dropdown-pane.is-open{visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.dropdown.menu>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}[data-whatinput=mouse] .dropdown.menu a{outline:0}.no-js .dropdown.menu ul{display:none}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a:after{right:14px;margin-top:-3px}.dropdown.menu.vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}@media screen and (min-width:40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a:after{right:14px;margin-top:-3px}.dropdown.menu.medium-vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.medium-vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}@media screen and (min-width:64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a:after{right:14px;margin-top:-3px}.dropdown.menu.large-vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.large-vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;left:auto;right:0}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a:after{position:absolute;top:50%;right:5px;margin-top:-2px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{left:auto;right:100%}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{display:none;position:absolute;top:0;left:100%;min-width:200px;z-index:1;background:#fefefe;border:1px solid #cacaca}.is-dropdown-submenu .is-dropdown-submenu-parent>a:after{right:14px;margin-top:-3px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.flex-video{position:relative;height:0;padding-bottom:75%;margin-bottom:1rem;overflow:hidden}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.flex-video.widescreen{padding-bottom:56.25%}.flex-video.vimeo{padding-top:0}.label{display:inline-block;padding:.33333rem .5rem;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;border-radius:0;background:#2199e8;color:#fefefe}.label.secondary{background:#777;color:#fefefe}.label.success{background:#3adb76;color:#fefefe}.label.warning{background:#ffae00;color:#fefefe}.label.alert{background:#ec5840;color:#fefefe}.media-object{margin-bottom:1rem;display:block}.media-object img{max-width:none}@media screen and (max-width:39.9375em){.media-object.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;display:block}.media-object.stack-for-small .media-object-section img{width:100%}}.media-object-section{display:table-cell;vertical-align:top}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}.media-object-section.middle{vertical-align:middle}.media-object-section.bottom{vertical-align:bottom}body,html{height:100%}.off-canvas-wrapper{width:100%;overflow-x:hidden;position:relative;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:auto}.off-canvas-wrapper-inner{position:relative;width:100%;-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease}.off-canvas-wrapper-inner:after,.off-canvas-wrapper-inner:before{content:' ';display:table}.off-canvas-wrapper-inner:after{clear:both}.off-canvas-content{min-height:100%;background:#fefefe;-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;padding-bottom:.1px;box-shadow:0 0 10px hsla(0,0%,4%,.5)}.js-off-canvas-exit{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:hsla(0,0%,100%,.25);cursor:pointer;-webkit-transition:background .5s ease;transition:background .5s ease}.off-canvas{position:absolute;background:#e6e6e6;z-index:-1;max-height:100%;overflow-y:auto;-webkit-transform:translateX(0);transform:translateX(0)}[data-whatinput=mouse] .off-canvas{outline:0}.off-canvas.position-left{left:-250px;top:0;width:250px}.is-open-left{-webkit-transform:translateX(250px);transform:translateX(250px)}.off-canvas.position-right{right:-250px;top:0;width:250px}.is-open-right{-webkit-transform:translateX(-250px);transform:translateX(-250px)}@media screen and (min-width:40em){.position-left.reveal-for-medium{left:0;z-index:auto;position:fixed}.position-left.reveal-for-medium~.off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{right:0;z-index:auto;position:fixed}.position-right.reveal-for-medium~.off-canvas-content{margin-right:250px}}@media screen and (min-width:64em){.position-left.reveal-for-large{left:0;z-index:auto;position:fixed}.position-left.reveal-for-large~.off-canvas-content{margin-left:250px}.position-right.reveal-for-large{right:0;z-index:auto;position:fixed}.position-right.reveal-for-large~.off-canvas-content{margin-right:250px}}.orbit,.orbit-container{position:relative}.orbit-container{margin:0;overflow:hidden;list-style:none}.orbit-slide{width:100%;max-height:100%}.orbit-slide.no-motionui.is-active{top:0;left:0}.orbit-figure{margin:0}.orbit-image{margin:0;width:100%;max-width:100%}.orbit-caption{bottom:0;width:100%;margin-bottom:0;background-color:hsla(0,0%,4%,.5)}.orbit-caption,.orbit-next,.orbit-previous{position:absolute;padding:1rem;color:#fefefe}.orbit-next,.orbit-previous{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:10}[data-whatinput=mouse] .orbit-next,[data-whatinput=mouse] .orbit-previous{outline:0}.orbit-next:active,.orbit-next:focus,.orbit-next:hover,.orbit-previous:active,.orbit-previous:focus,.orbit-previous:hover{background-color:hsla(0,0%,4%,.5)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{position:relative;margin-top:.8rem;margin-bottom:.8rem;text-align:center}[data-whatinput=mouse] .orbit-bullets{outline:0}.orbit-bullets button{width:1.2rem;height:1.2rem;margin:.1rem;background-color:#cacaca;border-radius:50%}.orbit-bullets button.is-active,.orbit-bullets button:hover{background-color:#8a8a8a}.pagination{margin-left:0;margin-bottom:1rem}.pagination:after,.pagination:before{content:' ';display:table}.pagination:after{clear:both}.pagination li{font-size:.875rem;margin-right:.0625rem;border-radius:0;display:none}.pagination li:first-child,.pagination li:last-child{display:inline-block}@media screen and (min-width:40em){.pagination li{display:inline-block}}.pagination a,.pagination button{color:#0a0a0a;display:block;padding:.1875rem .625rem;border-radius:0}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{padding:.1875rem .625rem;background:#2199e8;color:#fefefe;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#cacaca;cursor:not-allowed}.pagination .disabled:hover{background:transparent}.pagination .ellipsis:after{content:'\2026';padding:.1875rem .625rem;color:#0a0a0a}.pagination-previous.disabled:before,.pagination-previous a:before{content:'\00ab';display:inline-block;margin-right:.5rem}.pagination-next.disabled:after,.pagination-next a:after{content:'\00bb';display:inline-block;margin-left:.5rem}.progress{background-color:#cacaca;height:1rem;margin-bottom:1rem;border-radius:0}.progress.primary .progress-meter{background-color:#2199e8}.progress.secondary .progress-meter{background-color:#777}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffae00}.progress.alert .progress-meter{background-color:#ec5840}.progress-meter{position:relative;display:block;width:0;height:100%;background-color:#2199e8}.progress-meter-text{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);position:absolute;margin:0;font-size:.75rem;font-weight:700;color:#fefefe;white-space:nowrap}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#e6e6e6;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.5rem;background-color:#cacaca;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.slider-fill.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider-handle{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);position:absolute;left:0;z-index:1;display:inline-block;width:1.4rem;height:1.4rem;background-color:#2199e8;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;-ms-touch-action:manipulation;touch-action:manipulation;border-radius:0}[data-whatinput=mouse] .slider-handle{outline:0}.slider-handle:hover{background-color:#1583cc}.slider-handle.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;-webkit-transform:scaleY(-1);transform:scaleY(-1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.sticky-container{position:relative}.sticky{position:absolute;z-index:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.sticky.is-stuck{position:fixed;z-index:5}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:absolute;left:auto;right:auto}.sticky.is-anchored.is-at-bottom{bottom:0}body.is-reveal-open{overflow:hidden}html.is-reveal-open,html.is-reveal-open body{height:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reveal-overlay{display:none;position:fixed;top:0;bottom:0;left:0;right:0;z-index:1005;background-color:hsla(0,0%,4%,.45);overflow-y:scroll}.reveal{display:none;z-index:1006;padding:1rem;border:1px solid #cacaca;background-color:#fefefe;border-radius:0;position:relative;top:100px;margin-left:auto;margin-right:auto;overflow-y:auto}[data-whatinput=mouse] .reveal{outline:0}@media screen and (min-width:40em){.reveal{min-height:0}}.reveal .column,.reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media screen and (min-width:40em){.reveal{width:600px;max-width:75rem}}@media screen and (min-width:40em){.reveal .reveal{left:auto;right:auto;margin:0 auto}}.reveal.collapse{padding:0}@media screen and (min-width:40em){.reveal.tiny{width:30%;max-width:75rem}}@media screen and (min-width:40em){.reveal.small{width:50%;max-width:75rem}}@media screen and (min-width:40em){.reveal.large{width:90%;max-width:75rem}}.reveal.full{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}@media screen and (max-width:39.9375em){.reveal{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.switch{margin-bottom:1rem;outline:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fefefe;font-weight:700;font-size:.875rem}.switch-input{opacity:0;position:absolute}.switch-paddle{background:#cacaca;cursor:pointer;display:block;position:relative;width:4rem;height:2rem;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;border-radius:0;color:inherit;font-weight:inherit}input+.switch-paddle{margin:0}.switch-paddle:after{background:#fefefe;content:'';display:block;position:absolute;height:1.5rem;left:.25rem;top:.25rem;width:1.5rem;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;-webkit-transform:translateZ(0);transform:translateZ(0);border-radius:0}input:checked~.switch-paddle{background:#2199e8}input:checked~.switch-paddle:after{left:2.25rem}[data-whatinput=mouse] input:focus~.switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle:after{width:1rem;height:1rem}.switch.tiny input:checked~.switch-paddle:after{left:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle:after{width:1.25rem;height:1.25rem}.switch.small input:checked~.switch-paddle:after{left:2rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle:after{width:2rem;height:2rem}.switch.large input:checked~.switch-paddle:after{left:2.75rem}table{width:100%;margin-bottom:1rem;border-radius:0}table tbody,table tfoot,table thead{border:1px solid #f1f1f1;background-color:#fefefe}table caption{font-weight:700;padding:.5rem .625rem .625rem}table tfoot,table thead{background:#f8f8f8;color:#0a0a0a}table tfoot tr,table thead tr{background:transparent}table tfoot td,table tfoot th,table thead td,table thead th{padding:.5rem .625rem .625rem;font-weight:700;text-align:left}table tbody tr:nth-child(even){background-color:#f1f1f1}table tbody td,table tbody th{padding:.5rem .625rem .625rem}@media screen and (max-width:63.9375em){table.stack tfoot,table.stack thead{display:none}table.stack td,table.stack th,table.stack tr{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover tr:hover{background-color:#f9f9f9}table.hover tr:nth-of-type(even):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.table-scroll table{width:auto}.tabs{margin:0;list-style-type:none;background:#fefefe;border:1px solid #e6e6e6}.tabs:after,.tabs:before{content:' ';display:table}.tabs:after{clear:both}.tabs.vertical>li{width:auto;float:none;display:block}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:transparent}.tabs.primary{background:#2199e8}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:focus,.tabs.primary>li>a:hover{background:#1893e4}.tabs-title{float:left}.tabs-title>a{display:block;padding:1.25rem 1.5rem;line-height:1;font-size:.75rem}.tabs-title>a:hover{background:#fefefe}.tabs-title>a:focus,.tabs-title>a[aria-selected=true]{background:#e6e6e6}.tabs-content{background:#fefefe;-webkit-transition:all .5s ease;transition:all .5s ease;border:1px solid #e6e6e6;border-top:0}.tabs-content.vertical{border:1px solid #e6e6e6;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{border:4px solid #fefefe;box-shadow:0 0 0 1px hsla(0,0%,4%,.2);display:inline-block;line-height:0;max-width:100%;-webkit-transition:-webkit-box-shadow .2s ease-out;transition:box-shadow .2s ease-out;border-radius:0;margin-bottom:1rem}.thumbnail:focus,.thumbnail:hover{box-shadow:0 0 6px 1px rgba(33,153,232,.5)}.title-bar{background:#0a0a0a;color:#fefefe;padding:.5rem}.title-bar:after,.title-bar:before{content:' ';display:table}.title-bar:after{clear:both}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left{float:left}.title-bar-right{float:right;text-align:right}.title-bar-title{font-weight:700}.menu-icon.dark,.title-bar-title{vertical-align:middle;display:inline-block}.menu-icon.dark{position:relative;cursor:pointer;width:20px;height:16px}.menu-icon.dark:after{content:'';position:absolute;display:block;width:100%;height:2px;background:#0a0a0a;top:0;left:0;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a}.menu-icon.dark:hover:after{background:#8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.has-tip{border-bottom:1px dotted #8a8a8a;font-weight:700;position:relative;display:inline-block;cursor:help}.tooltip{background-color:#0a0a0a;color:#fefefe;font-size:80%;padding:.75rem;position:absolute;z-index:10;top:calc(100% + .6495rem);max-width:10rem!important;border-radius:0}.tooltip:before{border-color:transparent transparent #0a0a0a;border-bottom-style:solid;border-top-width:0;bottom:100%;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top:before,.tooltip:before{content:'';display:block;width:0;height:0;border:.75rem inset}.tooltip.top:before{border-color:#0a0a0a transparent transparent;border-top-style:solid;border-bottom-width:0;top:100%;bottom:auto}.tooltip.left:before{border-color:transparent transparent transparent #0a0a0a;border-left-style:solid;border-right-width:0;left:100%}.tooltip.left:before,.tooltip.right:before{content:'';display:block;width:0;height:0;border:.75rem inset;bottom:auto;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right:before{border-color:transparent #0a0a0a transparent transparent;border-right-style:solid;border-left-width:0;left:auto;right:100%}.top-bar{padding:.5rem}.top-bar:after,.top-bar:before{content:' ';display:table}.top-bar:after{clear:both}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{width:100%}@media screen and (min-width:40em){.top-bar .top-bar-left,.top-bar .top-bar-right{width:auto}}@media screen and (max-width:63.9375em){.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{width:100%}}@media screen and (max-width:74.9375em){.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{width:100%}}.top-bar-title{float:left;margin-right:1rem}.top-bar-left{float:left}.top-bar-right{float:right}.hide{display:none!important}.invisible{visibility:hidden}@media screen and (max-width:39.9375em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:40em){.show-for-small-only{display:none!important}}@media screen and (min-width:40em){.hide-for-medium{display:none!important}}@media screen and (max-width:39.9375em){.show-for-medium{display:none!important}}@media screen and (min-width:40em) and (max-width:63.9375em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:39.9375em),screen and (min-width:64em){.show-for-medium-only{display:none!important}}@media screen and (min-width:64em){.hide-for-large{display:none!important}}@media screen and (max-width:63.9375em){.show-for-large{display:none!important}}@media screen and (min-width:64em) and (max-width:74.9375em){.hide-for-large-only{display:none!important}}@media screen and (max-width:63.9375em),screen and (min-width:75em){.show-for-large-only{display:none!important}}.show-for-sr,.show-on-focus{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.show-on-focus:active,.show-on-focus:focus{position:static!important;height:auto;width:auto;overflow:visible;clip:auto}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{display:none!important}}.hide-for-landscape,.show-for-portrait{display:none!important}@media screen and (orientation:landscape){.hide-for-landscape,.show-for-portrait{display:none!important}}@media screen and (orientation:portrait){.hide-for-landscape,.show-for-portrait{display:block!important}}.float-left{float:left!important}.float-right{float:right!important}.float-center{display:block;margin-left:auto;margin-right:auto}.clearfix:after,.clearfix:before{content:' ';display:table}.clearfix:after{clear:both}
\ No newline at end of file
diff --git a/libraries/foundation-6/js/vendor/foundation.min.js b/libraries/foundation-6/dist/foundation.min.js
old mode 100644
new mode 100755
similarity index 88%
rename from libraries/foundation-6/js/vendor/foundation.min.js
rename to libraries/foundation-6/dist/foundation.min.js
index d4812cc9..02b9150a
--- a/libraries/foundation-6/js/vendor/foundation.min.js
+++ b/libraries/foundation-6/dist/foundation.min.js
@@ -1,4 +1,4 @@
-function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}!function(t){"use strict";function e(t){if(void 0===Function.prototype.name){var e=/function\s([^(]{1,})\(/,i=e.exec(t.toString());return i&&i.length>1?i[1].trim():""}return void 0===t.prototype?t.constructor.name:t.prototype.constructor.name}function i(t){return/true/.test(t)?!0:/false/.test(t)?!1:isNaN(1*t)?t:parseFloat(t)}function n(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var s="6.2.2",o={version:s,_plugins:{},_uuids:[],rtl:function(){return"rtl"===t("html").attr("dir")},plugin:function(t,i){var s=i||e(t),o=n(s);this._plugins[o]=this[s]=t},registerPlugin:function(t,i){var s=i?n(i):e(t.constructor).toLowerCase();t.uuid=this.GetYoDigits(6,s),t.$element.attr("data-"+s)||t.$element.attr("data-"+s,t.uuid),t.$element.data("zfPlugin")||t.$element.data("zfPlugin",t),t.$element.trigger("init.zf."+s),this._uuids.push(t.uuid)},unregisterPlugin:function(t){var i=n(e(t.$element.data("zfPlugin").constructor));this._uuids.splice(this._uuids.indexOf(t.uuid),1),t.$element.removeAttr("data-"+i).removeData("zfPlugin").trigger("destroyed.zf."+i);for(var s in t)t[s]=null},reInit:function(e){var i=e instanceof t;try{if(i)e.each(function(){t(this).data("zfPlugin")._init()});else{var s=typeof e,o=this,a={object:function(e){e.forEach(function(e){e=n(e),t("[data-"+e+"]").foundation("_init")})},string:function(){e=n(e),t("[data-"+e+"]").foundation("_init")},undefined:function(){this.object(Object.keys(o._plugins))}};a[s](e)}}catch(r){console.error(r)}finally{return e}},GetYoDigits:function(t,e){return t=t||6,Math.round(Math.pow(36,t+1)-Math.random()*Math.pow(36,t)).toString(36).slice(1)+(e?"-"+e:"")},reflow:function(e,n){"undefined"==typeof n?n=Object.keys(this._plugins):"string"==typeof n&&(n=[n]);var s=this;t.each(n,function(n,o){var a=s._plugins[o],r=t(e).find("[data-"+o+"]").addBack("[data-"+o+"]");r.each(function(){var e=t(this),n={};if(e.data("zfPlugin"))return void console.warn("Tried to initialize "+o+" on an element that already has a Foundation plugin.");if(e.attr("data-options")){e.attr("data-options").split(";").forEach(function(t,e){var s=t.split(":").map(function(t){return t.trim()});s[0]&&(n[s[0]]=i(s[1]))})}try{e.data("zfPlugin",new a(t(this),n))}catch(s){console.error(s)}finally{return}})})},getFnName:e,transitionend:function(t){var e,i={transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend"},n=document.createElement("div");for(var s in i)"undefined"!=typeof n.style[s]&&(e=i[s]);return e?e:(e=setTimeout(function(){t.triggerHandler("transitionend",[t])},1),"transitionend")}};o.util={throttle:function(t,e){var i=null;return function(){var n=this,s=arguments;null===i&&(i=setTimeout(function(){t.apply(n,s),i=null},e))}}};var a=function(i){var n=typeof i,s=t("meta.foundation-mq"),a=t(".no-js");if(s.length||t('<meta class="foundation-mq">').appendTo(document.head),a.length&&a.removeClass("no-js"),"undefined"===n)o.MediaQuery._init(),o.reflow(this);else{if("string"!==n)throw new TypeError("We're sorry, "+n+" is not a valid parameter. You must use a string representing the method you wish to invoke.");var r=Array.prototype.slice.call(arguments,1),l=this.data("zfPlugin");if(void 0===l||void 0===l[i])throw new ReferenceError("We're sorry, '"+i+"' is not an available method for "+(l?e(l):"this element")+".");1===this.length?l[i].apply(l,r):this.each(function(e,n){l[i].apply(t(n).data("zfPlugin"),r)})}return this};window.Foundation=o,t.fn.foundation=a,function(){Date.now&&window.Date.now||(window.Date.now=Date.now=function(){return(new Date).getTime()});for(var t=["webkit","moz"],e=0;e<t.length&&!window.requestAnimationFrame;++e){var i=t[e];window.requestAnimationFrame=window[i+"RequestAnimationFrame"],window.cancelAnimationFrame=window[i+"CancelAnimationFrame"]||window[i+"CancelRequestAnimationFrame"]}if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)||!window.requestAnimationFrame||!window.cancelAnimationFrame){var n=0;window.requestAnimationFrame=function(t){var e=Date.now(),i=Math.max(n+16,e);return setTimeout(function(){t(n=i)},i-e)},window.cancelAnimationFrame=clearTimeout}window.performance&&window.performance.now||(window.performance={start:Date.now(),now:function(){return Date.now()-this.start}})}(),Function.prototype.bind||(Function.prototype.bind=function(t){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var e=Array.prototype.slice.call(arguments,1),i=this,n=function(){},s=function(){return i.apply(this instanceof n?this:t,e.concat(Array.prototype.slice.call(arguments)))};return this.prototype&&(n.prototype=this.prototype),s.prototype=new n,s})}(jQuery),!function(t){function e(t){var e={};return"string"!=typeof t?e:(t=t.trim().slice(1,-1))?e=t.split("&").reduce(function(t,e){var i=e.replace(/\+/g," ").split("="),n=i[0],s=i[1];return n=decodeURIComponent(n),s=void 0===s?null:decodeURIComponent(s),t.hasOwnProperty(n)?Array.isArray(t[n])?t[n].push(s):t[n]=[t[n],s]:t[n]=s,t},{}):e}var i={queries:[],current:"",_init:function(){var i,n=this,s=t(".foundation-mq").css("font-family");i=e(s);for(var o in i)i.hasOwnProperty(o)&&n.queries.push({name:o,value:"only screen and (min-width: "+i[o]+")"});this.current=this._getCurrentSize(),this._watcher()},atLeast:function(t){var e=this.get(t);return e?window.matchMedia(e).matches:!1},get:function(t){for(var e in this.queries)if(this.queries.hasOwnProperty(e)){var i=this.queries[e];if(t===i.name)return i.value}return null},_getCurrentSize:function(){for(var t,e=0;e<this.queries.length;e++){var i=this.queries[e];window.matchMedia(i.value).matches&&(t=i)}return"object"==typeof t?t.name:t},_watcher:function(){var e=this;t(window).on("resize.zf.mediaquery",function(){var i=e._getCurrentSize(),n=e.current;i!==n&&(e.current=i,t(window).trigger("changed.zf.mediaquery",[i,n]))})}};Foundation.MediaQuery=i,window.matchMedia||(window.matchMedia=function(){"use strict";var t=window.styleMedia||window.media;if(!t){var e=document.createElement("style"),i=document.getElementsByTagName("script")[0],n=null;e.type="text/css",e.id="matchmediajs-test",i.parentNode.insertBefore(e,i),n="getComputedStyle"in window&&window.getComputedStyle(e,null)||e.currentStyle,t={matchMedium:function(t){var i="@media "+t+"{ #matchmediajs-test { width: 1px; } }";return e.styleSheet?e.styleSheet.cssText=i:e.textContent=i,"1px"===n.width}}}return function(e){return{matches:t.matchMedium(e||"all"),media:e||"all"}}}()),Foundation.MediaQuery=i}(jQuery),!function(t){function e(t){var e={};for(var i in t)e[t[i]]=t[i];return e}var i={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},n={},s={keys:e(i),parseKey:function(t){var e=i[t.which||t.keyCode]||String.fromCharCode(t.which).toUpperCase();return t.shiftKey&&(e="SHIFT_"+e),t.ctrlKey&&(e="CTRL_"+e),t.altKey&&(e="ALT_"+e),e},handleKey:function(e,i,s){var o,a,r,l=n[i],u=this.parseKey(e);if(!l)return console.warn("Component not defined!");if(o="undefined"==typeof l.ltr?l:Foundation.rtl()?t.extend({},l.ltr,l.rtl):t.extend({},l.rtl,l.ltr),a=o[u],r=s[a],r&&"function"==typeof r){var d=r.apply();(s.handled||"function"==typeof s.handled)&&s.handled(d)}else(s.unhandled||"function"==typeof s.unhandled)&&s.unhandled()},findFocusable:function(e){return e.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return t(this).is(":visible")&&!(t(this).attr("tabindex")<0)})},register:function(t,e){n[t]=e}};Foundation.Keyboard=s}(jQuery),!function(t){function e(t,e,i){function n(r){a||(a=window.performance.now()),o=r-a,i.apply(e),t>o?s=window.requestAnimationFrame(n,e):(window.cancelAnimationFrame(s),e.trigger("finished.zf.animate",[e]).triggerHandler("finished.zf.animate",[e]))}var s,o,a=null;s=window.requestAnimationFrame(n)}function i(e,i,o,a){function r(){e||i.hide(),l(),a&&a.apply(i)}function l(){i[0].style.transitionDuration=0,i.removeClass(u+" "+d+" "+o)}if(i=t(i).eq(0),i.length){var u=e?n[0]:n[1],d=e?s[0]:s[1];l(),i.addClass(o).css("transition","none"),requestAnimationFrame(function(){i.addClass(u),e&&i.show()}),requestAnimationFrame(function(){i[0].offsetWidth,i.css("transition","").addClass(d)}),i.one(Foundation.transitionend(i),r)}}var n=["mui-enter","mui-leave"],s=["mui-enter-active","mui-leave-active"],o={animateIn:function(t,e,n){i(!0,t,e,n)},animateOut:function(t,e,n){i(!1,t,e,n)}};Foundation.Move=e,Foundation.Motion=o}(jQuery),!function(t){var e={Feather:function(e){var i=arguments.length<=1||void 0===arguments[1]?"zf":arguments[1];e.attr("role","menubar");var n=e.find("li").attr({role:"menuitem"}),s="is-"+i+"-submenu",o=s+"-item",a="is-"+i+"-submenu-parent";e.find("a:first").attr("tabindex",0),n.each(function(){var e=t(this),i=e.children("ul");i.length&&(e.addClass(a).attr({"aria-haspopup":!0,"aria-expanded":!1,"aria-label":e.children("a:first").text()}),i.addClass("submenu "+s).attr({"data-submenu":"","aria-hidden":!0,role:"menu"})),e.parent("[data-submenu]").length&&e.addClass("is-submenu-item "+o)})},Burn:function(t,e){var i=(t.find("li").removeAttr("tabindex"),"is-"+e+"-submenu"),n=i+"-item",s="is-"+e+"-submenu-parent";t.find("*").removeClass(i+" "+n+" "+s+" is-submenu-item submenu is-active").removeAttr("data-submenu").css("display","")}};Foundation.Nest=e}(jQuery),!function(t){function e(t,e,n,s){var o,a,r,l,u=i(t);if(e){var d=i(e);a=u.offset.top+u.height<=d.height+d.offset.top,o=u.offset.top>=d.offset.top,r=u.offset.left>=d.offset.left,l=u.offset.left+u.width<=d.width+d.offset.left}else a=u.offset.top+u.height<=u.windowDims.height+u.windowDims.offset.top,o=u.offset.top>=u.windowDims.offset.top,r=u.offset.left>=u.windowDims.offset.left,l=u.offset.left+u.width<=u.windowDims.width;var h=[a,o,r,l];return n?r===l==!0:s?o===a==!0:-1===h.indexOf(!1)}function i(t,e){if(t=t.length?t[0]:t,t===window||t===document)throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");var i=t.getBoundingClientRect(),n=t.parentNode.getBoundingClientRect(),s=document.body.getBoundingClientRect(),o=window.pageYOffset,a=window.pageXOffset;return{width:i.width,height:i.height,offset:{top:i.top+o,left:i.left+a},parentDims:{width:n.width,height:n.height,offset:{top:n.top+o,left:n.left+a}},windowDims:{width:s.width,height:s.height,offset:{top:o,left:a}}}}function n(t,e,n,s,o,a){var r=i(t),l=e?i(e):null;switch(n){case"top":return{left:Foundation.rtl()?l.offset.left-r.width+l.width:l.offset.left,top:l.offset.top-(r.height+s)};case"left":return{left:l.offset.left-(r.width+o),top:l.offset.top};case"right":return{left:l.offset.left+l.width+o,top:l.offset.top};case"center top":return{left:l.offset.left+l.width/2-r.width/2,top:l.offset.top-(r.height+s)};case"center bottom":return{left:a?o:l.offset.left+l.width/2-r.width/2,top:l.offset.top+l.height+s};case"center left":return{left:l.offset.left-(r.width+o),top:l.offset.top+l.height/2-r.height/2};case"center right":return{left:l.offset.left+l.width+o+1,top:l.offset.top+l.height/2-r.height/2};case"center":return{left:r.windowDims.offset.left+r.windowDims.width/2-r.width/2,top:r.windowDims.offset.top+r.windowDims.height/2-r.height/2};case"reveal":return{left:(r.windowDims.width-r.width)/2,top:r.windowDims.offset.top+s};case"reveal full":return{left:r.windowDims.offset.left,top:r.windowDims.offset.top};case"left bottom":return{left:l.offset.left-(r.width+o),top:l.offset.top+l.height};case"right bottom":return{left:l.offset.left+l.width+o-r.width,top:l.offset.top+l.height};default:return{left:Foundation.rtl()?l.offset.left-r.width+l.width:l.offset.left,top:l.offset.top+l.height+s}}}Foundation.Box={ImNotTouchingYou:e,GetDimensions:i,GetOffsets:n}}(jQuery),!function(t){function e(){o(),n(),s(),i()}function i(e){var i=t("[data-yeti-box]"),n=["dropdown","tooltip","reveal"];if(e&&("string"==typeof e?n.push(e):"object"==typeof e&&"string"==typeof e[0]?n.concat(e):console.error("Plugin names must be strings")),i.length){var s=n.map(function(t){return"closeme.zf."+t}).join(" ");t(window).off(s).on(s,function(e,i){var n=e.namespace.split(".")[0],s=t("[data-"+n+"]").not('[data-yeti-box="'+i+'"]');s.each(function(){var e=t(this);e.triggerHandler("close.zf.trigger",[e])})})}}function n(e){var i=void 0,n=t("[data-resize]");n.length&&t(window).off("resize.zf.trigger").on("resize.zf.trigger",function(s){i&&clearTimeout(i),i=setTimeout(function(){a||n.each(function(){t(this).triggerHandler("resizeme.zf.trigger")}),n.attr("data-events","resize")},e||10)})}function s(e){var i=void 0,n=t("[data-scroll]");n.length&&t(window).off("scroll.zf.trigger").on("scroll.zf.trigger",function(s){i&&clearTimeout(i),i=setTimeout(function(){a||n.each(function(){t(this).triggerHandler("scrollme.zf.trigger")}),n.attr("data-events","scroll")},e||10)})}function o(){if(!a)return!1;var e=document.querySelectorAll("[data-resize], [data-scroll], [data-mutate]"),i=function(e){var i=t(e[0].target);switch(i.attr("data-events")){case"resize":i.triggerHandler("resizeme.zf.trigger",[i]);break;case"scroll":i.triggerHandler("scrollme.zf.trigger",[i,window.pageYOffset]);break;default:return!1}};if(e.length)for(var n=0;n<=e.length-1;n++){var s=new a(i);s.observe(e[n],{attributes:!0,childList:!1,characterData:!1,subtree:!1,attributeFilter:["data-events"]})}}var a=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if(t[e]+"MutationObserver"in window)return window[t[e]+"MutationObserver"];return!1}(),r=function(e,i){e.data(i).split(" ").forEach(function(n){t("#"+n)["close"===i?"trigger":"triggerHandler"](i+".zf.trigger",[e])})};t(document).on("click.zf.trigger","[data-open]",function(){r(t(this),"open")}),t(document).on("click.zf.trigger","[data-close]",function(){var e=t(this).data("close");e?r(t(this),"close"):t(this).trigger("close.zf.trigger")}),t(document).on("click.zf.trigger","[data-toggle]",function(){r(t(this),"toggle")}),t(document).on("close.zf.trigger","[data-closable]",function(e){e.stopPropagation();var i=t(this).data("closable");""!==i?Foundation.Motion.animateOut(t(this),i,function(){t(this).trigger("closed.zf")}):t(this).fadeOut().trigger("closed.zf")}),t(document).on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",function(){var e=t(this).data("toggle-focus");t("#"+e).triggerHandler("toggle.zf.trigger",[t(this)])}),t(window).load(function(){e()}),Foundation.IHearYou=e}(jQuery),!function(t){function e(t,e,i){var n,s,o=this,a=e.duration,r=Object.keys(t.data())[0]||"timer",l=-1;this.isPaused=!1,this.restart=function(){l=-1,clearTimeout(s),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(s),l=0>=l?a:l,t.data("paused",!1),n=Date.now(),s=setTimeout(function(){e.infinite&&o.restart(),i()},l),t.trigger("timerstart.zf."+r)},this.pause=function(){this.isPaused=!0,clearTimeout(s),t.data("paused",!0);var e=Date.now();l-=e-n,t.trigger("timerpaused.zf."+r)}}function i(e,i){function n(){s--,0===s&&i()}var s=e.length;0===s&&i(),e.each(function(){this.complete?n():"undefined"!=typeof this.naturalWidth&&this.naturalWidth>0?n():t(this).one("load",function(){n()})})}Foundation.Timer=e,Foundation.onImagesLoaded=i}(jQuery),function(t){function e(){this.removeEventListener("touchmove",i),this.removeEventListener("touchend",e),u=!1}function i(i){if(t.spotSwipe.preventDefault&&i.preventDefault(),u){var n,s=i.touches[0].pageX,a=(i.touches[0].pageY,o-s);l=(new Date).getTime()-r,Math.abs(a)>=t.spotSwipe.moveThreshold&&l<=t.spotSwipe.timeThreshold&&(n=a>0?"left":"right"),n&&(i.preventDefault(),e.call(this),t(this).trigger("swipe",n).trigger("swipe"+n))}}function n(t){1==t.touches.length&&(o=t.touches[0].pageX,a=t.touches[0].pageY,u=!0,r=(new Date).getTime(),this.addEventListener("touchmove",i,!1),this.addEventListener("touchend",e,!1))}function s(){this.addEventListener&&this.addEventListener("touchstart",n,!1)}t.spotSwipe={version:"1.0.0",enabled:"ontouchstart"in document.documentElement,preventDefault:!1,moveThreshold:75,timeThreshold:200};var o,a,r,l,u=!1;t.event.special.swipe={setup:s},t.each(["left","up","down","right"],function(){t.event.special["swipe"+this]={setup:function(){t(this).on("swipe",t.noop)}}})}(jQuery),!function(t){t.fn.addTouch=function(){this.each(function(i,n){t(n).bind("touchstart touchmove touchend touchcancel",function(){e(event)})});var e=function(t){var e,i=t.changedTouches,n=i[0],s={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup"},o=s[t.type];"MouseEvent"in window&&"function"==typeof window.MouseEvent?e=new window.MouseEvent(o,{bubbles:!0,cancelable:!0,screenX:n.screenX,screenY:n.screenY,clientX:n.clientX,clientY:n.clientY}):(e=document.createEvent("MouseEvent"),e.initMouseEvent(o,!0,!0,window,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null)),n.target.dispatchEvent(e)}}}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Abide")}return _createClass(e,[{key:"_init",value:function(){this.$inputs=this.$element.find("input, textarea, select"),this._events()}},{key:"_events",value:function(){var e=this;this.$element.off(".abide").on("reset.zf.abide",function(){e.resetForm()}).on("submit.zf.abide",function(){return e.validateForm()}),"fieldChange"===this.options.validateOn&&this.$inputs.off("change.zf.abide").on("change.zf.abide",function(i){e.validateInput(t(i.target))}),this.options.liveValidate&&this.$inputs.off("input.zf.abide").on("input.zf.abide",function(i){e.validateInput(t(i.target))})}},{key:"_reflow",value:function(){this._init()}},{key:"requiredCheck",value:function(t){if(!t.attr("required"))return!0;var e=!0;switch(t[0].type){case"checkbox":e=t[0].checked;break;case"select":case"select-one":case"select-multiple":var i=t.find("option:selected");i.length&&i.val()||(e=!1);break;default:t.val()&&t.val().length||(e=!1)}return e}},{key:"findFormError",value:function(t){var e=t.siblings(this.options.formErrorSelector);return e.length||(e=t.parent().find(this.options.formErrorSelector)),e}},{key:"findLabel",value:function(t){var e=t[0].id,i=this.$element.find('label[for="'+e+'"]');return i.length?i:t.closest("label")}},{key:"findRadioLabels",value:function(e){var i=this,n=e.map(function(e,n){var s=n.id,o=i.$element.find('label[for="'+s+'"]');return o.length||(o=t(n).closest("label")),o[0]});return t(n)}},{key:"addErrorClasses",value:function(t){var e=this.findLabel(t),i=this.findFormError(t);e.length&&e.addClass(this.options.labelErrorClass),i.length&&i.addClass(this.options.formErrorClass),t.addClass(this.options.inputErrorClass).attr("data-invalid","")}},{key:"removeRadioErrorClasses",value:function(t){var e=this.$element.find(':radio[name="'+t+'"]'),i=this.findRadioLabels(e),n=this.findFormError(e);i.length&&i.removeClass(this.options.labelErrorClass),n.length&&n.removeClass(this.options.formErrorClass),e.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"removeErrorClasses",value:function(t){if("radio"==t[0].type)return this.removeRadioErrorClasses(t.attr("name"));var e=this.findLabel(t),i=this.findFormError(t);e.length&&e.removeClass(this.options.labelErrorClass),i.length&&i.removeClass(this.options.formErrorClass),t.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"validateInput",value:function(t){var e=this.requiredCheck(t),i=!1,n=!0,s=t.attr("data-validator"),o=!0;if(t.is("[data-abide-ignore]")||t.is('[type="hidden"]'))return!0;switch(t[0].type){case"radio":i=this.validateRadio(t.attr("name"));break;case"checkbox":i=e;break;case"select":case"select-one":case"select-multiple":i=e;break;default:i=this.validateText(t)}s&&(n=this.matchValidation(t,s,t.attr("required"))),t.attr("data-equalto")&&(o=this.options.validators.equalTo(t));var a=-1===[e,i,n,o].indexOf(!1),r=(a?"valid":"invalid")+".zf.abide";return this[a?"removeErrorClasses":"addErrorClasses"](t),t.trigger(r,[t]),a}},{key:"validateForm",value:function(){var e=[],i=this;this.$inputs.each(function(){e.push(i.validateInput(t(this)))});var n=-1===e.indexOf(!1);return this.$element.find("[data-abide-error]").css("display",n?"none":"block"),this.$element.trigger((n?"formvalid":"forminvalid")+".zf.abide",[this.$element]),n}},{key:"validateText",value:function(t,e){e=e||t.attr("pattern")||t.attr("type");var i=t.val(),n=!1;return i.length?n=this.options.patterns.hasOwnProperty(e)?this.options.patterns[e].test(i):e!==t.attr("type")?new RegExp(e).test(i):!0:t.prop("required")||(n=!0),n}},{key:"validateRadio",value:function(e){var i=this.$element.find(':radio[name="'+e+'"]'),n=!1,s=!1;return i.each(function(e,i){t(i).attr("required")&&(s=!0)}),s||(n=!0),n||i.each(function(e,i){t(i).prop("checked")&&(n=!0)}),n}},{key:"matchValidation",value:function(t,e,i){var n=this;i=!!i;var s=e.split(" ").map(function(e){return n.options.validators[e](t,i,t.parent())});return-1===s.indexOf(!1)}},{key:"resetForm",value:function(){var e=this.$element,i=this.options;t("."+i.labelErrorClass,e).not("small").removeClass(i.labelErrorClass),t("."+i.inputErrorClass,e).not("small").removeClass(i.inputErrorClass),t(i.formErrorSelector+"."+i.formErrorClass).removeClass(i.formErrorClass),e.find("[data-abide-error]").css("display","none"),t(":input",e).not(":button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]").val("").removeAttr("data-invalid"),t(":input:radio",e).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),t(":input:checkbox",e).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),e.trigger("formreset.zf.abide",[e])}},{key:"destroy",value:function(){var e=this;this.$element.off(".abide").find("[data-abide-error]").css("display","none"),this.$inputs.off(".abide").each(function(){e.removeErrorClasses(t(this))}),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={validateOn:"fieldChange",labelErrorClass:"is-invalid-label",inputErrorClass:"is-invalid-input",formErrorSelector:".form-error",formErrorClass:"is-visible",liveValidate:!1,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/},validators:{equalTo:function(e,i,n){return t("#"+e.attr("data-equalto")).val()===e.val()}}},Foundation.plugin(e,"Abide")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Accordion"),Foundation.Keyboard.register("Accordion",{ENTER:"toggle",SPACE:"toggle",ARROW_DOWN:"next",ARROW_UP:"previous"})}return _createClass(e,[{key:"_init",value:function(){this.$element.attr("role","tablist"),this.$tabs=this.$element.children("li, [data-accordion-item]"),this.$tabs.each(function(e,i){var n=t(i),s=n.children("[data-tab-content]"),o=s[0].id||Foundation.GetYoDigits(6,"accordion"),a=i.id||o+"-label";n.find("a:first").attr({"aria-controls":o,role:"tab",id:a,"aria-expanded":!1,"aria-selected":!1}),s.attr({role:"tabpanel","aria-labelledby":a,"aria-hidden":!0,id:o})});var e=this.$element.find(".is-active").children("[data-tab-content]");e.length&&this.down(e,!0),this._events()}},{key:"_events",value:function(){var e=this;this.$tabs.each(function(){var i=t(this),n=i.children("[data-tab-content]");n.length&&i.children("a").off("click.zf.accordion keydown.zf.accordion").on("click.zf.accordion",function(t){t.preventDefault(),i.hasClass("is-active")?(e.options.allowAllClosed||i.siblings().hasClass("is-active"))&&e.up(n):e.down(n)}).on("keydown.zf.accordion",function(t){Foundation.Keyboard.handleKey(t,"Accordion",{toggle:function(){e.toggle(n)},next:function(){var t=i.next().find("a").focus();e.options.multiExpand||t.trigger("click.zf.accordion")},previous:function(){var t=i.prev().find("a").focus();e.options.multiExpand||t.trigger("click.zf.accordion")},handled:function(){t.preventDefault(),t.stopPropagation()}})})})}},{key:"toggle",value:function(t){if(t.parent().hasClass("is-active")){if(!this.options.allowAllClosed&&!t.parent().siblings().hasClass("is-active"))return;this.up(t)}else this.down(t)}},{key:"down",value:function(e,i){var n=this;if(!this.options.multiExpand&&!i){var s=this.$element.children(".is-active").children("[data-tab-content]");s.length&&this.up(s)}e.attr("aria-hidden",!1).parent("[data-tab-content]").addBack().parent().addClass("is-active"),e.slideDown(this.options.slideSpeed,function(){n.$element.trigger("down.zf.accordion",[e])}),t("#"+e.attr("aria-labelledby")).attr({"aria-expanded":!0,"aria-selected":!0})}},{key:"up",value:function(e){var i=e.parent().siblings(),n=this,s=this.options.multiExpand?i.hasClass("is-active"):e.parent().hasClass("is-active");(this.options.allowAllClosed||s)&&(e.slideUp(n.options.slideSpeed,function(){n.$element.trigger("up.zf.accordion",[e])}),e.attr("aria-hidden",!0).parent().removeClass("is-active"),t("#"+e.attr("aria-labelledby")).attr({"aria-expanded":!1,"aria-selected":!1}))}},{key:"destroy",value:function(){this.$element.find("[data-tab-content]").stop(!0).slideUp(0).css("display",""),this.$element.find("a").off(".zf.accordion"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={slideSpeed:250,multiExpand:!1,allowAllClosed:!1},Foundation.plugin(e,"Accordion")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),Foundation.Nest.Feather(this.$element,"accordion"),this._init(),Foundation.registerPlugin(this,"AccordionMenu"),Foundation.Keyboard.register("AccordionMenu",{ENTER:"toggle",SPACE:"toggle",ARROW_RIGHT:"open",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"close",ESCAPE:"closeAll",TAB:"down",SHIFT_TAB:"up"})}return _createClass(e,[{key:"_init",value:function(){this.$element.find("[data-submenu]").not(".is-active").slideUp(0),this.$element.attr({role:"tablist","aria-multiselectable":this.options.multiOpen}),this.$menuLinks=this.$element.find(".is-accordion-submenu-parent"),this.$menuLinks.each(function(){var e=this.id||Foundation.GetYoDigits(6,"acc-menu-link"),i=t(this),n=i.children("[data-submenu]"),s=n[0].id||Foundation.GetYoDigits(6,"acc-menu"),o=n.hasClass("is-active");i.attr({"aria-controls":s,"aria-expanded":o,role:"tab",id:e}),n.attr({"aria-labelledby":e,"aria-hidden":!o,role:"tabpanel",id:s})});var e=this.$element.find(".is-active");if(e.length){var i=this;e.each(function(){i.down(t(this))})}this._events()}},{key:"_events",value:function(){var e=this;this.$element.find("li").each(function(){var i=t(this).children("[data-submenu]");i.length&&t(this).children("a").off("click.zf.accordionMenu").on("click.zf.accordionMenu",function(t){t.preventDefault(),e.toggle(i)})}).on("keydown.zf.accordionmenu",function(i){var n,s,o=t(this),a=o.parent("ul").children("li"),r=o.children("[data-submenu]");a.each(function(e){return t(this).is(o)?(n=a.eq(Math.max(0,e-1)).find("a").first(),
+function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}!function(t){"use strict";function e(t){if(void 0===Function.prototype.name){var e=/function\s([^(]{1,})\(/,i=e.exec(t.toString());return i&&i.length>1?i[1].trim():""}return void 0===t.prototype?t.constructor.name:t.prototype.constructor.name}function i(t){return/true/.test(t)?!0:/false/.test(t)?!1:isNaN(1*t)?t:parseFloat(t)}function n(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var s="6.2.3",o={version:s,_plugins:{},_uuids:[],rtl:function(){return"rtl"===t("html").attr("dir")},plugin:function(t,i){var s=i||e(t),o=n(s);this._plugins[o]=this[s]=t},registerPlugin:function(t,i){var s=i?n(i):e(t.constructor).toLowerCase();t.uuid=this.GetYoDigits(6,s),t.$element.attr("data-"+s)||t.$element.attr("data-"+s,t.uuid),t.$element.data("zfPlugin")||t.$element.data("zfPlugin",t),t.$element.trigger("init.zf."+s),this._uuids.push(t.uuid)},unregisterPlugin:function(t){var i=n(e(t.$element.data("zfPlugin").constructor));this._uuids.splice(this._uuids.indexOf(t.uuid),1),t.$element.removeAttr("data-"+i).removeData("zfPlugin").trigger("destroyed.zf."+i);for(var s in t)t[s]=null},reInit:function(e){var i=e instanceof t;try{if(i)e.each(function(){t(this).data("zfPlugin")._init()});else{var s=typeof e,o=this,a={object:function(e){e.forEach(function(e){e=n(e),t("[data-"+e+"]").foundation("_init")})},string:function(){e=n(e),t("[data-"+e+"]").foundation("_init")},undefined:function(){this.object(Object.keys(o._plugins))}};a[s](e)}}catch(r){console.error(r)}finally{return e}},GetYoDigits:function(t,e){return t=t||6,Math.round(Math.pow(36,t+1)-Math.random()*Math.pow(36,t)).toString(36).slice(1)+(e?"-"+e:"")},reflow:function(e,n){"undefined"==typeof n?n=Object.keys(this._plugins):"string"==typeof n&&(n=[n]);var s=this;t.each(n,function(n,o){var a=s._plugins[o],r=t(e).find("[data-"+o+"]").addBack("[data-"+o+"]");r.each(function(){var e=t(this),n={};if(e.data("zfPlugin"))return void console.warn("Tried to initialize "+o+" on an element that already has a Foundation plugin.");if(e.attr("data-options")){e.attr("data-options").split(";").forEach(function(t,e){var s=t.split(":").map(function(t){return t.trim()});s[0]&&(n[s[0]]=i(s[1]))})}try{e.data("zfPlugin",new a(t(this),n))}catch(s){console.error(s)}finally{return}})})},getFnName:e,transitionend:function(t){var e,i={transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend"},n=document.createElement("div");for(var s in i)"undefined"!=typeof n.style[s]&&(e=i[s]);return e?e:(e=setTimeout(function(){t.triggerHandler("transitionend",[t])},1),"transitionend")}};o.util={throttle:function(t,e){var i=null;return function(){var n=this,s=arguments;null===i&&(i=setTimeout(function(){t.apply(n,s),i=null},e))}}};var a=function(i){var n=typeof i,s=t("meta.foundation-mq"),a=t(".no-js");if(s.length||t('<meta class="foundation-mq">').appendTo(document.head),a.length&&a.removeClass("no-js"),"undefined"===n)o.MediaQuery._init(),o.reflow(this);else{if("string"!==n)throw new TypeError("We're sorry, "+n+" is not a valid parameter. You must use a string representing the method you wish to invoke.");var r=Array.prototype.slice.call(arguments,1),l=this.data("zfPlugin");if(void 0===l||void 0===l[i])throw new ReferenceError("We're sorry, '"+i+"' is not an available method for "+(l?e(l):"this element")+".");1===this.length?l[i].apply(l,r):this.each(function(e,n){l[i].apply(t(n).data("zfPlugin"),r)})}return this};window.Foundation=o,t.fn.foundation=a,function(){Date.now&&window.Date.now||(window.Date.now=Date.now=function(){return(new Date).getTime()});for(var t=["webkit","moz"],e=0;e<t.length&&!window.requestAnimationFrame;++e){var i=t[e];window.requestAnimationFrame=window[i+"RequestAnimationFrame"],window.cancelAnimationFrame=window[i+"CancelAnimationFrame"]||window[i+"CancelRequestAnimationFrame"]}if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)||!window.requestAnimationFrame||!window.cancelAnimationFrame){var n=0;window.requestAnimationFrame=function(t){var e=Date.now(),i=Math.max(n+16,e);return setTimeout(function(){t(n=i)},i-e)},window.cancelAnimationFrame=clearTimeout}window.performance&&window.performance.now||(window.performance={start:Date.now(),now:function(){return Date.now()-this.start}})}(),Function.prototype.bind||(Function.prototype.bind=function(t){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var e=Array.prototype.slice.call(arguments,1),i=this,n=function(){},s=function(){return i.apply(this instanceof n?this:t,e.concat(Array.prototype.slice.call(arguments)))};return this.prototype&&(n.prototype=this.prototype),s.prototype=new n,s})}(jQuery),!function(t){function e(t,e,n,s){var o,a,r,l,u=i(t);if(e){var d=i(e);a=u.offset.top+u.height<=d.height+d.offset.top,o=u.offset.top>=d.offset.top,r=u.offset.left>=d.offset.left,l=u.offset.left+u.width<=d.width+d.offset.left}else a=u.offset.top+u.height<=u.windowDims.height+u.windowDims.offset.top,o=u.offset.top>=u.windowDims.offset.top,r=u.offset.left>=u.windowDims.offset.left,l=u.offset.left+u.width<=u.windowDims.width;var h=[a,o,r,l];return n?r===l==!0:s?o===a==!0:-1===h.indexOf(!1)}function i(t,e){if(t=t.length?t[0]:t,t===window||t===document)throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");var i=t.getBoundingClientRect(),n=t.parentNode.getBoundingClientRect(),s=document.body.getBoundingClientRect(),o=window.pageYOffset,a=window.pageXOffset;return{width:i.width,height:i.height,offset:{top:i.top+o,left:i.left+a},parentDims:{width:n.width,height:n.height,offset:{top:n.top+o,left:n.left+a}},windowDims:{width:s.width,height:s.height,offset:{top:o,left:a}}}}function n(t,e,n,s,o,a){var r=i(t),l=e?i(e):null;switch(n){case"top":return{left:Foundation.rtl()?l.offset.left-r.width+l.width:l.offset.left,top:l.offset.top-(r.height+s)};case"left":return{left:l.offset.left-(r.width+o),top:l.offset.top};case"right":return{left:l.offset.left+l.width+o,top:l.offset.top};case"center top":return{left:l.offset.left+l.width/2-r.width/2,top:l.offset.top-(r.height+s)};case"center bottom":return{left:a?o:l.offset.left+l.width/2-r.width/2,top:l.offset.top+l.height+s};case"center left":return{left:l.offset.left-(r.width+o),top:l.offset.top+l.height/2-r.height/2};case"center right":return{left:l.offset.left+l.width+o+1,top:l.offset.top+l.height/2-r.height/2};case"center":return{left:r.windowDims.offset.left+r.windowDims.width/2-r.width/2,top:r.windowDims.offset.top+r.windowDims.height/2-r.height/2};case"reveal":return{left:(r.windowDims.width-r.width)/2,top:r.windowDims.offset.top+s};case"reveal full":return{left:r.windowDims.offset.left,top:r.windowDims.offset.top};case"left bottom":return{left:l.offset.left-(r.width+o),top:l.offset.top+l.height};case"right bottom":return{left:l.offset.left+l.width+o-r.width,top:l.offset.top+l.height};default:return{left:Foundation.rtl()?l.offset.left-r.width+l.width:l.offset.left,top:l.offset.top+l.height+s}}}Foundation.Box={ImNotTouchingYou:e,GetDimensions:i,GetOffsets:n}}(jQuery),!function(t){function e(t){var e={};for(var i in t)e[t[i]]=t[i];return e}var i={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},n={},s={keys:e(i),parseKey:function(t){var e=i[t.which||t.keyCode]||String.fromCharCode(t.which).toUpperCase();return t.shiftKey&&(e="SHIFT_"+e),t.ctrlKey&&(e="CTRL_"+e),t.altKey&&(e="ALT_"+e),e},handleKey:function(e,i,s){var o,a,r,l=n[i],u=this.parseKey(e);if(!l)return console.warn("Component not defined!");if(o="undefined"==typeof l.ltr?l:Foundation.rtl()?t.extend({},l.ltr,l.rtl):t.extend({},l.rtl,l.ltr),a=o[u],r=s[a],r&&"function"==typeof r){var d=r.apply();(s.handled||"function"==typeof s.handled)&&s.handled(d)}else(s.unhandled||"function"==typeof s.unhandled)&&s.unhandled()},findFocusable:function(e){return e.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return t(this).is(":visible")&&!(t(this).attr("tabindex")<0)})},register:function(t,e){n[t]=e}};Foundation.Keyboard=s}(jQuery),!function(t){function e(t){var e={};return"string"!=typeof t?e:(t=t.trim().slice(1,-1))?e=t.split("&").reduce(function(t,e){var i=e.replace(/\+/g," ").split("="),n=i[0],s=i[1];return n=decodeURIComponent(n),s=void 0===s?null:decodeURIComponent(s),t.hasOwnProperty(n)?Array.isArray(t[n])?t[n].push(s):t[n]=[t[n],s]:t[n]=s,t},{}):e}var i={queries:[],current:"",_init:function(){var i,n=this,s=t(".foundation-mq").css("font-family");i=e(s);for(var o in i)i.hasOwnProperty(o)&&n.queries.push({name:o,value:"only screen and (min-width: "+i[o]+")"});this.current=this._getCurrentSize(),this._watcher()},atLeast:function(t){var e=this.get(t);return e?window.matchMedia(e).matches:!1},get:function(t){for(var e in this.queries)if(this.queries.hasOwnProperty(e)){var i=this.queries[e];if(t===i.name)return i.value}return null},_getCurrentSize:function(){for(var t,e=0;e<this.queries.length;e++){var i=this.queries[e];window.matchMedia(i.value).matches&&(t=i)}return"object"==typeof t?t.name:t},_watcher:function(){var e=this;t(window).on("resize.zf.mediaquery",function(){var i=e._getCurrentSize(),n=e.current;i!==n&&(e.current=i,t(window).trigger("changed.zf.mediaquery",[i,n]))})}};Foundation.MediaQuery=i,window.matchMedia||(window.matchMedia=function(){"use strict";var t=window.styleMedia||window.media;if(!t){var e=document.createElement("style"),i=document.getElementsByTagName("script")[0],n=null;e.type="text/css",e.id="matchmediajs-test",i.parentNode.insertBefore(e,i),n="getComputedStyle"in window&&window.getComputedStyle(e,null)||e.currentStyle,t={matchMedium:function(t){var i="@media "+t+"{ #matchmediajs-test { width: 1px; } }";return e.styleSheet?e.styleSheet.cssText=i:e.textContent=i,"1px"===n.width}}}return function(e){return{matches:t.matchMedium(e||"all"),media:e||"all"}}}()),Foundation.MediaQuery=i}(jQuery),!function(t){function e(t,e,i){function n(r){a||(a=window.performance.now()),o=r-a,i.apply(e),t>o?s=window.requestAnimationFrame(n,e):(window.cancelAnimationFrame(s),e.trigger("finished.zf.animate",[e]).triggerHandler("finished.zf.animate",[e]))}var s,o,a=null;s=window.requestAnimationFrame(n)}function i(e,i,o,a){function r(){e||i.hide(),l(),a&&a.apply(i)}function l(){i[0].style.transitionDuration=0,i.removeClass(u+" "+d+" "+o)}if(i=t(i).eq(0),i.length){var u=e?n[0]:n[1],d=e?s[0]:s[1];l(),i.addClass(o).css("transition","none"),requestAnimationFrame(function(){i.addClass(u),e&&i.show()}),requestAnimationFrame(function(){i[0].offsetWidth,i.css("transition","").addClass(d)}),i.one(Foundation.transitionend(i),r)}}var n=["mui-enter","mui-leave"],s=["mui-enter-active","mui-leave-active"],o={animateIn:function(t,e,n){i(!0,t,e,n)},animateOut:function(t,e,n){i(!1,t,e,n)}};Foundation.Move=e,Foundation.Motion=o}(jQuery),!function(t){var e={Feather:function(e){var i=arguments.length<=1||void 0===arguments[1]?"zf":arguments[1];e.attr("role","menubar");var n=e.find("li").attr({role:"menuitem"}),s="is-"+i+"-submenu",o=s+"-item",a="is-"+i+"-submenu-parent";e.find("a:first").attr("tabindex",0),n.each(function(){var e=t(this),i=e.children("ul");i.length&&(e.addClass(a).attr({"aria-haspopup":!0,"aria-expanded":!1,"aria-label":e.children("a:first").text()}),i.addClass("submenu "+s).attr({"data-submenu":"","aria-hidden":!0,role:"menu"})),e.parent("[data-submenu]").length&&e.addClass("is-submenu-item "+o)})},Burn:function(t,e){var i=(t.find("li").removeAttr("tabindex"),"is-"+e+"-submenu"),n=i+"-item",s="is-"+e+"-submenu-parent";t.find("*").removeClass(i+" "+n+" "+s+" is-submenu-item submenu is-active").removeAttr("data-submenu").css("display","")}};Foundation.Nest=e}(jQuery),!function(t){function e(t,e,i){var n,s,o=this,a=e.duration,r=Object.keys(t.data())[0]||"timer",l=-1;this.isPaused=!1,this.restart=function(){l=-1,clearTimeout(s),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(s),l=0>=l?a:l,t.data("paused",!1),n=Date.now(),s=setTimeout(function(){e.infinite&&o.restart(),i()},l),t.trigger("timerstart.zf."+r)},this.pause=function(){this.isPaused=!0,clearTimeout(s),t.data("paused",!0);var e=Date.now();l-=e-n,t.trigger("timerpaused.zf."+r)}}function i(e,i){function n(){s--,0===s&&i()}var s=e.length;0===s&&i(),e.each(function(){this.complete?n():"undefined"!=typeof this.naturalWidth&&this.naturalWidth>0?n():t(this).one("load",function(){n()})})}Foundation.Timer=e,Foundation.onImagesLoaded=i}(jQuery),function(t){function e(){this.removeEventListener("touchmove",i),this.removeEventListener("touchend",e),u=!1}function i(i){if(t.spotSwipe.preventDefault&&i.preventDefault(),u){var n,s=i.touches[0].pageX,a=(i.touches[0].pageY,o-s);l=(new Date).getTime()-r,Math.abs(a)>=t.spotSwipe.moveThreshold&&l<=t.spotSwipe.timeThreshold&&(n=a>0?"left":"right"),n&&(i.preventDefault(),e.call(this),t(this).trigger("swipe",n).trigger("swipe"+n))}}function n(t){1==t.touches.length&&(o=t.touches[0].pageX,a=t.touches[0].pageY,u=!0,r=(new Date).getTime(),this.addEventListener("touchmove",i,!1),this.addEventListener("touchend",e,!1))}function s(){this.addEventListener&&this.addEventListener("touchstart",n,!1)}t.spotSwipe={version:"1.0.0",enabled:"ontouchstart"in document.documentElement,preventDefault:!1,moveThreshold:75,timeThreshold:200};var o,a,r,l,u=!1;t.event.special.swipe={setup:s},t.each(["left","up","down","right"],function(){t.event.special["swipe"+this]={setup:function(){t(this).on("swipe",t.noop)}}})}(jQuery),!function(t){t.fn.addTouch=function(){this.each(function(i,n){t(n).bind("touchstart touchmove touchend touchcancel",function(){e(event)})});var e=function(t){var e,i=t.changedTouches,n=i[0],s={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup"},o=s[t.type];"MouseEvent"in window&&"function"==typeof window.MouseEvent?e=new window.MouseEvent(o,{bubbles:!0,cancelable:!0,screenX:n.screenX,screenY:n.screenY,clientX:n.clientX,clientY:n.clientY}):(e=document.createEvent("MouseEvent"),e.initMouseEvent(o,!0,!0,window,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null)),n.target.dispatchEvent(e)}}}(jQuery),!function(t){function e(){o(),n(),s(),i()}function i(e){var i=t("[data-yeti-box]"),n=["dropdown","tooltip","reveal"];if(e&&("string"==typeof e?n.push(e):"object"==typeof e&&"string"==typeof e[0]?n.concat(e):console.error("Plugin names must be strings")),i.length){var s=n.map(function(t){return"closeme.zf."+t}).join(" ");t(window).off(s).on(s,function(e,i){var n=e.namespace.split(".")[0],s=t("[data-"+n+"]").not('[data-yeti-box="'+i+'"]');s.each(function(){var e=t(this);e.triggerHandler("close.zf.trigger",[e])})})}}function n(e){var i=void 0,n=t("[data-resize]");n.length&&t(window).off("resize.zf.trigger").on("resize.zf.trigger",function(s){i&&clearTimeout(i),i=setTimeout(function(){a||n.each(function(){t(this).triggerHandler("resizeme.zf.trigger")}),n.attr("data-events","resize")},e||10)})}function s(e){var i=void 0,n=t("[data-scroll]");n.length&&t(window).off("scroll.zf.trigger").on("scroll.zf.trigger",function(s){i&&clearTimeout(i),i=setTimeout(function(){a||n.each(function(){t(this).triggerHandler("scrollme.zf.trigger")}),n.attr("data-events","scroll")},e||10)})}function o(){if(!a)return!1;var e=document.querySelectorAll("[data-resize], [data-scroll], [data-mutate]"),i=function(e){var i=t(e[0].target);switch(i.attr("data-events")){case"resize":i.triggerHandler("resizeme.zf.trigger",[i]);break;case"scroll":i.triggerHandler("scrollme.zf.trigger",[i,window.pageYOffset]);break;default:return!1}};if(e.length)for(var n=0;n<=e.length-1;n++){var s=new a(i);s.observe(e[n],{attributes:!0,childList:!1,characterData:!1,subtree:!1,attributeFilter:["data-events"]})}}var a=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if(t[e]+"MutationObserver"in window)return window[t[e]+"MutationObserver"];return!1}(),r=function(e,i){e.data(i).split(" ").forEach(function(n){t("#"+n)["close"===i?"trigger":"triggerHandler"](i+".zf.trigger",[e])})};t(document).on("click.zf.trigger","[data-open]",function(){r(t(this),"open")}),t(document).on("click.zf.trigger","[data-close]",function(){var e=t(this).data("close");e?r(t(this),"close"):t(this).trigger("close.zf.trigger")}),t(document).on("click.zf.trigger","[data-toggle]",function(){r(t(this),"toggle")}),t(document).on("close.zf.trigger","[data-closable]",function(e){e.stopPropagation();var i=t(this).data("closable");""!==i?Foundation.Motion.animateOut(t(this),i,function(){t(this).trigger("closed.zf")}):t(this).fadeOut().trigger("closed.zf")}),t(document).on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",function(){var e=t(this).data("toggle-focus");t("#"+e).triggerHandler("toggle.zf.trigger",[t(this)])}),t(window).load(function(){e()}),Foundation.IHearYou=e}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Abide")}return _createClass(e,[{key:"_init",value:function(){this.$inputs=this.$element.find("input, textarea, select"),this._events()}},{key:"_events",value:function(){var e=this;this.$element.off(".abide").on("reset.zf.abide",function(){e.resetForm()}).on("submit.zf.abide",function(){return e.validateForm()}),"fieldChange"===this.options.validateOn&&this.$inputs.off("change.zf.abide").on("change.zf.abide",function(i){e.validateInput(t(i.target))}),this.options.liveValidate&&this.$inputs.off("input.zf.abide").on("input.zf.abide",function(i){e.validateInput(t(i.target))})}},{key:"_reflow",value:function(){this._init()}},{key:"requiredCheck",value:function(t){if(!t.attr("required"))return!0;var e=!0;switch(t[0].type){case"checkbox":e=t[0].checked;break;case"select":case"select-one":case"select-multiple":var i=t.find("option:selected");i.length&&i.val()||(e=!1);break;default:t.val()&&t.val().length||(e=!1)}return e}},{key:"findFormError",value:function(t){var e=t.siblings(this.options.formErrorSelector);return e.length||(e=t.parent().find(this.options.formErrorSelector)),e}},{key:"findLabel",value:function(t){var e=t[0].id,i=this.$element.find('label[for="'+e+'"]');return i.length?i:t.closest("label")}},{key:"findRadioLabels",value:function(e){var i=this,n=e.map(function(e,n){var s=n.id,o=i.$element.find('label[for="'+s+'"]');return o.length||(o=t(n).closest("label")),o[0]});return t(n)}},{key:"addErrorClasses",value:function(t){var e=this.findLabel(t),i=this.findFormError(t);e.length&&e.addClass(this.options.labelErrorClass),i.length&&i.addClass(this.options.formErrorClass),t.addClass(this.options.inputErrorClass).attr("data-invalid","")}},{key:"removeRadioErrorClasses",value:function(t){var e=this.$element.find(':radio[name="'+t+'"]'),i=this.findRadioLabels(e),n=this.findFormError(e);i.length&&i.removeClass(this.options.labelErrorClass),n.length&&n.removeClass(this.options.formErrorClass),e.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"removeErrorClasses",value:function(t){if("radio"==t[0].type)return this.removeRadioErrorClasses(t.attr("name"));var e=this.findLabel(t),i=this.findFormError(t);e.length&&e.removeClass(this.options.labelErrorClass),i.length&&i.removeClass(this.options.formErrorClass),t.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"validateInput",value:function(t){var e=this.requiredCheck(t),i=!1,n=!0,s=t.attr("data-validator"),o=!0;if(t.is("[data-abide-ignore]")||t.is('[type="hidden"]'))return!0;switch(t[0].type){case"radio":i=this.validateRadio(t.attr("name"));break;case"checkbox":i=e;break;case"select":case"select-one":case"select-multiple":i=e;break;default:i=this.validateText(t)}s&&(n=this.matchValidation(t,s,t.attr("required"))),t.attr("data-equalto")&&(o=this.options.validators.equalTo(t));var a=-1===[e,i,n,o].indexOf(!1),r=(a?"valid":"invalid")+".zf.abide";return this[a?"removeErrorClasses":"addErrorClasses"](t),t.trigger(r,[t]),a}},{key:"validateForm",value:function(){var e=[],i=this;this.$inputs.each(function(){e.push(i.validateInput(t(this)))});var n=-1===e.indexOf(!1);return this.$element.find("[data-abide-error]").css("display",n?"none":"block"),this.$element.trigger((n?"formvalid":"forminvalid")+".zf.abide",[this.$element]),n}},{key:"validateText",value:function(t,e){e=e||t.attr("pattern")||t.attr("type");var i=t.val(),n=!1;return i.length?n=this.options.patterns.hasOwnProperty(e)?this.options.patterns[e].test(i):e!==t.attr("type")?new RegExp(e).test(i):!0:t.prop("required")||(n=!0),n}},{key:"validateRadio",value:function(e){var i=this.$element.find(':radio[name="'+e+'"]'),n=!1,s=!1;return i.each(function(e,i){t(i).attr("required")&&(s=!0)}),s||(n=!0),n||i.each(function(e,i){t(i).prop("checked")&&(n=!0)}),n}},{key:"matchValidation",value:function(t,e,i){var n=this;i=!!i;var s=e.split(" ").map(function(e){return n.options.validators[e](t,i,t.parent())});return-1===s.indexOf(!1)}},{key:"resetForm",value:function(){var e=this.$element,i=this.options;t("."+i.labelErrorClass,e).not("small").removeClass(i.labelErrorClass),t("."+i.inputErrorClass,e).not("small").removeClass(i.inputErrorClass),t(i.formErrorSelector+"."+i.formErrorClass).removeClass(i.formErrorClass),e.find("[data-abide-error]").css("display","none"),t(":input",e).not(":button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]").val("").removeAttr("data-invalid"),t(":input:radio",e).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),t(":input:checkbox",e).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),e.trigger("formreset.zf.abide",[e])}},{key:"destroy",value:function(){var e=this;this.$element.off(".abide").find("[data-abide-error]").css("display","none"),this.$inputs.off(".abide").each(function(){e.removeErrorClasses(t(this))}),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={validateOn:"fieldChange",labelErrorClass:"is-invalid-label",inputErrorClass:"is-invalid-input",formErrorSelector:".form-error",formErrorClass:"is-visible",liveValidate:!1,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/},validators:{equalTo:function(e,i,n){return t("#"+e.attr("data-equalto")).val()===e.val()}}},Foundation.plugin(e,"Abide")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Accordion"),Foundation.Keyboard.register("Accordion",{ENTER:"toggle",SPACE:"toggle",ARROW_DOWN:"next",ARROW_UP:"previous"})}return _createClass(e,[{key:"_init",value:function(){this.$element.attr("role","tablist"),this.$tabs=this.$element.children("li, [data-accordion-item]"),this.$tabs.each(function(e,i){var n=t(i),s=n.children("[data-tab-content]"),o=s[0].id||Foundation.GetYoDigits(6,"accordion"),a=i.id||o+"-label";n.find("a:first").attr({"aria-controls":o,role:"tab",id:a,"aria-expanded":!1,"aria-selected":!1}),s.attr({role:"tabpanel","aria-labelledby":a,"aria-hidden":!0,id:o})});var e=this.$element.find(".is-active").children("[data-tab-content]");e.length&&this.down(e,!0),this._events()}},{key:"_events",value:function(){var e=this;this.$tabs.each(function(){var i=t(this),n=i.children("[data-tab-content]");n.length&&i.children("a").off("click.zf.accordion keydown.zf.accordion").on("click.zf.accordion",function(t){t.preventDefault(),i.hasClass("is-active")?(e.options.allowAllClosed||i.siblings().hasClass("is-active"))&&e.up(n):e.down(n)}).on("keydown.zf.accordion",function(t){Foundation.Keyboard.handleKey(t,"Accordion",{toggle:function(){e.toggle(n)},next:function(){var t=i.next().find("a").focus();e.options.multiExpand||t.trigger("click.zf.accordion")},previous:function(){var t=i.prev().find("a").focus();e.options.multiExpand||t.trigger("click.zf.accordion")},handled:function(){t.preventDefault(),t.stopPropagation()}})})})}},{key:"toggle",value:function(t){if(t.parent().hasClass("is-active")){if(!this.options.allowAllClosed&&!t.parent().siblings().hasClass("is-active"))return;this.up(t)}else this.down(t)}},{key:"down",value:function(e,i){var n=this;if(!this.options.multiExpand&&!i){var s=this.$element.children(".is-active").children("[data-tab-content]");s.length&&this.up(s)}e.attr("aria-hidden",!1).parent("[data-tab-content]").addBack().parent().addClass("is-active"),e.slideDown(this.options.slideSpeed,function(){n.$element.trigger("down.zf.accordion",[e])}),t("#"+e.attr("aria-labelledby")).attr({"aria-expanded":!0,"aria-selected":!0})}},{key:"up",value:function(e){var i=e.parent().siblings(),n=this,s=this.options.multiExpand?i.hasClass("is-active"):e.parent().hasClass("is-active");(this.options.allowAllClosed||s)&&(e.slideUp(n.options.slideSpeed,function(){n.$element.trigger("up.zf.accordion",[e])}),e.attr("aria-hidden",!0).parent().removeClass("is-active"),t("#"+e.attr("aria-labelledby")).attr({"aria-expanded":!1,"aria-selected":!1}))}},{key:"destroy",value:function(){this.$element.find("[data-tab-content]").stop(!0).slideUp(0).css("display",""),this.$element.find("a").off(".zf.accordion"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={slideSpeed:250,multiExpand:!1,allowAllClosed:!1},Foundation.plugin(e,"Accordion")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),Foundation.Nest.Feather(this.$element,"accordion"),this._init(),Foundation.registerPlugin(this,"AccordionMenu"),Foundation.Keyboard.register("AccordionMenu",{ENTER:"toggle",SPACE:"toggle",ARROW_RIGHT:"open",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"close",ESCAPE:"closeAll",TAB:"down",SHIFT_TAB:"up"})}return _createClass(e,[{key:"_init",value:function(){this.$element.find("[data-submenu]").not(".is-active").slideUp(0),this.$element.attr({role:"tablist","aria-multiselectable":this.options.multiOpen}),this.$menuLinks=this.$element.find(".is-accordion-submenu-parent"),this.$menuLinks.each(function(){var e=this.id||Foundation.GetYoDigits(6,"acc-menu-link"),i=t(this),n=i.children("[data-submenu]"),s=n[0].id||Foundation.GetYoDigits(6,"acc-menu"),o=n.hasClass("is-active");i.attr({"aria-controls":s,"aria-expanded":o,role:"tab",id:e}),n.attr({"aria-labelledby":e,"aria-hidden":!o,role:"tabpanel",id:s})});var e=this.$element.find(".is-active");if(e.length){var i=this;e.each(function(){i.down(t(this))})}this._events()}},{key:"_events",value:function(){var e=this;this.$element.find("li").each(function(){var i=t(this).children("[data-submenu]");i.length&&t(this).children("a").off("click.zf.accordionMenu").on("click.zf.accordionMenu",function(t){t.preventDefault(),e.toggle(i)})}).on("keydown.zf.accordionmenu",function(i){var n,s,o=t(this),a=o.parent("ul").children("li"),r=o.children("[data-submenu]");a.each(function(e){return t(this).is(o)?(n=a.eq(Math.max(0,e-1)).find("a").first(),
 s=a.eq(Math.min(e+1,a.length-1)).find("a").first(),t(this).children("[data-submenu]:visible").length&&(s=o.find("li:first-child").find("a").first()),t(this).is(":first-child")?n=o.parents("li").first().find("a").first():n.children("[data-submenu]:visible").length&&(n=n.find("li:last-child").find("a").first()),void(t(this).is(":last-child")&&(s=o.parents("li").first().next("li").find("a").first()))):void 0}),Foundation.Keyboard.handleKey(i,"AccordionMenu",{open:function(){r.is(":hidden")&&(e.down(r),r.find("li").first().find("a").first().focus())},close:function(){r.length&&!r.is(":hidden")?e.up(r):o.parent("[data-submenu]").length&&(e.up(o.parent("[data-submenu]")),o.parents("li").first().find("a").first().focus())},up:function(){return n.attr("tabindex",-1).focus(),!0},down:function(){return s.attr("tabindex",-1).focus(),!0},toggle:function(){o.children("[data-submenu]").length&&e.toggle(o.children("[data-submenu]"))},closeAll:function(){e.hideAll()},handled:function(t){t&&i.preventDefault(),i.stopImmediatePropagation()}})})}},{key:"hideAll",value:function(){this.$element.find("[data-submenu]").slideUp(this.options.slideSpeed)}},{key:"toggle",value:function(t){t.is(":animated")||(t.is(":hidden")?this.down(t):this.up(t))}},{key:"down",value:function(t){var e=this;this.options.multiOpen||this.up(this.$element.find(".is-active").not(t.parentsUntil(this.$element).add(t))),t.addClass("is-active").attr({"aria-hidden":!1}).parent(".is-accordion-submenu-parent").attr({"aria-expanded":!0}),t.slideDown(e.options.slideSpeed,function(){e.$element.trigger("down.zf.accordionMenu",[t])})}},{key:"up",value:function(t){var e=this;t.slideUp(e.options.slideSpeed,function(){e.$element.trigger("up.zf.accordionMenu",[t])});var i=t.find("[data-submenu]").slideUp(0).addBack().attr("aria-hidden",!0);i.parent(".is-accordion-submenu-parent").attr("aria-expanded",!1)}},{key:"destroy",value:function(){this.$element.find("[data-submenu]").slideDown(0).css("display",""),this.$element.find("a").off("click.zf.accordionMenu"),Foundation.Nest.Burn(this.$element,"accordion"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={slideSpeed:250,multiOpen:!0},Foundation.plugin(e,"AccordionMenu")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),Foundation.Nest.Feather(this.$element,"drilldown"),this._init(),Foundation.registerPlugin(this,"Drilldown"),Foundation.Keyboard.register("Drilldown",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"previous",ESCAPE:"close",TAB:"down",SHIFT_TAB:"up"})}return _createClass(e,[{key:"_init",value:function(){this.$submenuAnchors=this.$element.find("li.is-drilldown-submenu-parent").children("a"),this.$submenus=this.$submenuAnchors.parent("li").children("[data-submenu]"),this.$menuItems=this.$element.find("li").not(".js-drilldown-back").attr("role","menuitem").find("a"),this._prepareMenu(),this._keyboardEvents()}},{key:"_prepareMenu",value:function(){var e=this;this.$submenuAnchors.each(function(){var i=t(this),n=i.parent();e.options.parentLink&&i.clone().prependTo(n.children("[data-submenu]")).wrap('<li class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="menu-item"></li>'),i.data("savedHref",i.attr("href")).removeAttr("href"),i.children("[data-submenu]").attr({"aria-hidden":!0,tabindex:0,role:"menu"}),e._events(i)}),this.$submenus.each(function(){var i=t(this),n=i.find(".js-drilldown-back");n.length||i.prepend(e.options.backButton),e._back(i)}),this.$element.parent().hasClass("is-drilldown")||(this.$wrapper=t(this.options.wrapper).addClass("is-drilldown"),this.$wrapper=this.$element.wrap(this.$wrapper).parent().css(this._getMaxDims()))}},{key:"_events",value:function(e){var i=this;e.off("click.zf.drilldown").on("click.zf.drilldown",function(n){if(t(n.target).parentsUntil("ul","li").hasClass("is-drilldown-submenu-parent")&&(n.stopImmediatePropagation(),n.preventDefault()),i._show(e.parent("li")),i.options.closeOnClick){var s=t("body");s.off(".zf.drilldown").on("click.zf.drilldown",function(e){e.target===i.$element[0]||t.contains(i.$element[0],e.target)||(e.preventDefault(),i._hideAll(),s.off(".zf.drilldown"))})}})}},{key:"_keyboardEvents",value:function(){var e=this;this.$menuItems.add(this.$element.find(".js-drilldown-back > a")).on("keydown.zf.drilldown",function(i){var n,s,o=t(this),a=o.parent("li").parent("ul").children("li").children("a");a.each(function(e){return t(this).is(o)?(n=a.eq(Math.max(0,e-1)),void(s=a.eq(Math.min(e+1,a.length-1)))):void 0}),Foundation.Keyboard.handleKey(i,"Drilldown",{next:function(){return o.is(e.$submenuAnchors)?(e._show(o.parent("li")),o.parent("li").one(Foundation.transitionend(o),function(){o.parent("li").find("ul li a").filter(e.$menuItems).first().focus()}),!0):void 0},previous:function(){return e._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one(Foundation.transitionend(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0},up:function(){return n.focus(),!0},down:function(){return s.focus(),!0},close:function(){e._back()},open:function(){return o.is(e.$menuItems)?o.is(e.$submenuAnchors)&&(e._show(o.parent("li")),o.parent("li").one(Foundation.transitionend(o),function(){o.parent("li").find("ul li a").filter(e.$menuItems).first().focus()})):(e._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one(Foundation.transitionend(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)})),!0},handled:function(t){t&&i.preventDefault(),i.stopImmediatePropagation()}})})}},{key:"_hideAll",value:function(){var t=this.$element.find(".is-drilldown-submenu.is-active").addClass("is-closing");t.one(Foundation.transitionend(t),function(e){t.removeClass("is-active is-closing")}),this.$element.trigger("closed.zf.drilldown")}},{key:"_back",value:function(t){var e=this;t.off("click.zf.drilldown"),t.children(".js-drilldown-back").on("click.zf.drilldown",function(i){i.stopImmediatePropagation(),e._hide(t)})}},{key:"_menuLinkEvents",value:function(){var t=this;this.$menuItems.not(".is-drilldown-submenu-parent").off("click.zf.drilldown").on("click.zf.drilldown",function(e){setTimeout(function(){t._hideAll()},0)})}},{key:"_show",value:function(t){t.children("[data-submenu]").addClass("is-active"),this.$element.trigger("open.zf.drilldown",[t])}},{key:"_hide",value:function(t){t.addClass("is-closing").one(Foundation.transitionend(t),function(){t.removeClass("is-active is-closing"),t.blur()}),t.trigger("hide.zf.drilldown",[t])}},{key:"_getMaxDims",value:function(){var e=0,i={};return this.$submenus.add(this.$element).each(function(){var i=t(this).children("li").length;e=i>e?i:e}),i["min-height"]=e*this.$menuItems[0].getBoundingClientRect().height+"px",i["max-width"]=this.$element[0].getBoundingClientRect().width+"px",i}},{key:"destroy",value:function(){this._hideAll(),Foundation.Nest.Burn(this.$element,"drilldown"),this.$element.unwrap().find(".js-drilldown-back, .is-submenu-parent-item").remove().end().find(".is-active, .is-closing, .is-drilldown-submenu").removeClass("is-active is-closing is-drilldown-submenu").end().find("[data-submenu]").removeAttr("aria-hidden tabindex role"),this.$submenuAnchors.each(function(){t(this).off(".zf.drilldown")}),this.$element.find("a").each(function(){var e=t(this);e.data("savedHref")&&e.attr("href",e.data("savedHref")).removeData("savedHref")}),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={backButton:'<li class="js-drilldown-back"><a tabindex="0">Back</a></li>',wrapper:"<div></div>",parentLink:!1,closeOnClick:!1},Foundation.plugin(e,"Drilldown")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Dropdown"),Foundation.Keyboard.register("Dropdown",{ENTER:"open",SPACE:"open",ESCAPE:"close",TAB:"tab_forward",SHIFT_TAB:"tab_backward"})}return _createClass(e,[{key:"_init",value:function(){var e=this.$element.attr("id");this.$anchor=t('[data-toggle="'+e+'"]')||t('[data-open="'+e+'"]'),this.$anchor.attr({"aria-controls":e,"data-is-focus":!1,"data-yeti-box":e,"aria-haspopup":!0,"aria-expanded":!1}),this.options.positionClass=this.getPositionClass(),this.counter=4,this.usedPositions=[],this.$element.attr({"aria-hidden":"true","data-yeti-box":e,"data-resize":e,"aria-labelledby":this.$anchor[0].id||Foundation.GetYoDigits(6,"dd-anchor")}),this._events()}},{key:"getPositionClass",value:function(){var t=this.$element[0].className.match(/(top|left|right|bottom)/g);t=t?t[0]:"";var e=/float-(\S+)\s/.exec(this.$anchor[0].className);e=e?e[1]:"";var i=e?e+" "+t:t;return i}},{key:"_reposition",value:function(t){this.usedPositions.push(t?t:"bottom"),!t&&this.usedPositions.indexOf("top")<0?this.$element.addClass("top"):"top"===t&&this.usedPositions.indexOf("bottom")<0?this.$element.removeClass(t):"left"===t&&this.usedPositions.indexOf("right")<0?this.$element.removeClass(t).addClass("right"):"right"===t&&this.usedPositions.indexOf("left")<0?this.$element.removeClass(t).addClass("left"):!t&&this.usedPositions.indexOf("top")>-1&&this.usedPositions.indexOf("left")<0?this.$element.addClass("left"):"top"===t&&this.usedPositions.indexOf("bottom")>-1&&this.usedPositions.indexOf("left")<0?this.$element.removeClass(t).addClass("left"):"left"===t&&this.usedPositions.indexOf("right")>-1&&this.usedPositions.indexOf("bottom")<0?this.$element.removeClass(t):"right"===t&&this.usedPositions.indexOf("left")>-1&&this.usedPositions.indexOf("bottom")<0?this.$element.removeClass(t):this.$element.removeClass(t),this.classChanged=!0,this.counter--}},{key:"_setPosition",value:function(){if("false"===this.$anchor.attr("aria-expanded"))return!1;var t=this.getPositionClass(),e=Foundation.Box.GetDimensions(this.$element),i=(Foundation.Box.GetDimensions(this.$anchor),"left"===t?"left":"right"===t?"left":"top"),n="top"===i?"height":"width";"height"===n?this.options.vOffset:this.options.hOffset;if(e.width>=e.windowDims.width||!this.counter&&!Foundation.Box.ImNotTouchingYou(this.$element))return this.$element.offset(Foundation.Box.GetOffsets(this.$element,this.$anchor,"center bottom",this.options.vOffset,this.options.hOffset,!0)).css({width:e.windowDims.width-2*this.options.hOffset,height:"auto"}),this.classChanged=!0,!1;for(this.$element.offset(Foundation.Box.GetOffsets(this.$element,this.$anchor,t,this.options.vOffset,this.options.hOffset));!Foundation.Box.ImNotTouchingYou(this.$element,!1,!0)&&this.counter;)this._reposition(t),this._setPosition()}},{key:"_events",value:function(){var e=this;this.$element.on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":this.close.bind(this),"toggle.zf.trigger":this.toggle.bind(this),"resizeme.zf.trigger":this._setPosition.bind(this)}),this.options.hover&&(this.$anchor.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown",function(){clearTimeout(e.timeout),e.timeout=setTimeout(function(){e.open(),e.$anchor.data("hover",!0)},e.options.hoverDelay)}).on("mouseleave.zf.dropdown",function(){clearTimeout(e.timeout),e.timeout=setTimeout(function(){e.close(),e.$anchor.data("hover",!1)},e.options.hoverDelay)}),this.options.hoverPane&&this.$element.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown",function(){clearTimeout(e.timeout)}).on("mouseleave.zf.dropdown",function(){clearTimeout(e.timeout),e.timeout=setTimeout(function(){e.close(),e.$anchor.data("hover",!1)},e.options.hoverDelay)})),this.$anchor.add(this.$element).on("keydown.zf.dropdown",function(i){var n=t(this),s=Foundation.Keyboard.findFocusable(e.$element);Foundation.Keyboard.handleKey(i,"Dropdown",{tab_forward:function(){e.$element.find(":focus").is(s.eq(-1))&&(e.options.trapFocus?(s.eq(0).focus(),i.preventDefault()):e.close())},tab_backward:function(){(e.$element.find(":focus").is(s.eq(0))||e.$element.is(":focus"))&&(e.options.trapFocus?(s.eq(-1).focus(),i.preventDefault()):e.close())},open:function(){n.is(e.$anchor)&&(e.open(),e.$element.attr("tabindex",-1).focus(),i.preventDefault())},close:function(){e.close(),e.$anchor.focus()}})})}},{key:"_addBodyHandler",value:function(){var e=t(document.body).not(this.$element),i=this;e.off("click.zf.dropdown").on("click.zf.dropdown",function(t){i.$anchor.is(t.target)||i.$anchor.find(t.target).length||i.$element.find(t.target).length||(i.close(),e.off("click.zf.dropdown"))})}},{key:"open",value:function(){if(this.$element.trigger("closeme.zf.dropdown",this.$element.attr("id")),this.$anchor.addClass("hover").attr({"aria-expanded":!0}),this._setPosition(),this.$element.addClass("is-open").attr({"aria-hidden":!1}),this.options.autoFocus){var t=Foundation.Keyboard.findFocusable(this.$element);t.length&&t.eq(0).focus()}this.options.closeOnClick&&this._addBodyHandler(),this.$element.trigger("show.zf.dropdown",[this.$element])}},{key:"close",value:function(){if(!this.$element.hasClass("is-open"))return!1;if(this.$element.removeClass("is-open").attr({"aria-hidden":!0}),this.$anchor.removeClass("hover").attr("aria-expanded",!1),this.classChanged){var t=this.getPositionClass();t&&this.$element.removeClass(t),this.$element.addClass(this.options.positionClass).css({height:"",width:""}),this.classChanged=!1,this.counter=4,this.usedPositions.length=0}this.$element.trigger("hide.zf.dropdown",[this.$element])}},{key:"toggle",value:function(){if(this.$element.hasClass("is-open")){if(this.$anchor.data("hover"))return;this.close()}else this.open()}},{key:"destroy",value:function(){this.$element.off(".zf.trigger").hide(),this.$anchor.off(".zf.dropdown"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={hoverDelay:250,hover:!1,hoverPane:!1,vOffset:1,hOffset:1,positionClass:"",trapFocus:!1,autoFocus:!1,closeOnClick:!1},Foundation.plugin(e,"Dropdown")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),Foundation.Nest.Feather(this.$element,"dropdown"),this._init(),Foundation.registerPlugin(this,"DropdownMenu"),Foundation.Keyboard.register("DropdownMenu",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"previous",ESCAPE:"close"})}return _createClass(e,[{key:"_init",value:function(){var t=this.$element.find("li.is-dropdown-submenu-parent");this.$element.children(".is-dropdown-submenu-parent").children(".is-dropdown-submenu").addClass("first-sub"),this.$menuItems=this.$element.find('[role="menuitem"]'),this.$tabs=this.$element.children('[role="menuitem"]'),this.$tabs.find("ul.is-dropdown-submenu").addClass(this.options.verticalClass),this.$element.hasClass(this.options.rightClass)||"right"===this.options.alignment||Foundation.rtl()||this.$element.parents(".top-bar-right").is("*")?(this.options.alignment="right",t.addClass("opens-left")):t.addClass("opens-right"),this.changed=!1,this._events()}},{key:"_events",value:function(){var e=this,i="ontouchstart"in window||"undefined"!=typeof window.ontouchstart,n="is-dropdown-submenu-parent",s=function(s){var o=t(s.target).parentsUntil("ul","."+n),a=o.hasClass(n),r="true"===o.attr("data-is-click");o.children(".is-dropdown-submenu");if(a)if(r){if(!e.options.closeOnClick||!e.options.clickOpen&&!i||e.options.forceFollow&&i)return;s.stopImmediatePropagation(),s.preventDefault(),e._hide(o)}else s.preventDefault(),s.stopImmediatePropagation(),e._show(o.children(".is-dropdown-submenu")),o.add(o.parentsUntil(e.$element,"."+n)).attr("data-is-click",!0)};(this.options.clickOpen||i)&&this.$menuItems.on("click.zf.dropdownmenu touchstart.zf.dropdownmenu",s),this.options.disableHover||this.$menuItems.on("mouseenter.zf.dropdownmenu",function(i){var s=t(this),o=s.hasClass(n);o&&(clearTimeout(e.delay),e.delay=setTimeout(function(){e._show(s.children(".is-dropdown-submenu"))},e.options.hoverDelay))}).on("mouseleave.zf.dropdownmenu",function(i){var s=t(this),o=s.hasClass(n);if(o&&e.options.autoclose){if("true"===s.attr("data-is-click")&&e.options.clickOpen)return!1;clearTimeout(e.delay),e.delay=setTimeout(function(){e._hide(s)},e.options.closingTime)}}),this.$menuItems.on("keydown.zf.dropdownmenu",function(i){var n,s,o=t(i.target).parentsUntil("ul",'[role="menuitem"]'),a=e.$tabs.index(o)>-1,r=a?e.$tabs:o.siblings("li").add(o);r.each(function(e){return t(this).is(o)?(n=r.eq(e-1),void(s=r.eq(e+1))):void 0});var l=function(){o.is(":last-child")||(s.children("a:first").focus(),i.preventDefault())},u=function(){n.children("a:first").focus(),i.preventDefault()},d=function(){var t=o.children("ul.is-dropdown-submenu");t.length&&(e._show(t),o.find("li > a:first").focus(),i.preventDefault())},h=function(){var t=o.parent("ul").parent("li");t.children("a:first").focus(),e._hide(t),i.preventDefault()},c={open:d,close:function(){e._hide(e.$element),e.$menuItems.find("a:first").focus(),i.preventDefault()},handled:function(){i.stopImmediatePropagation()}};a?e.$element.hasClass(e.options.verticalClass)?"left"===e.options.alignment?t.extend(c,{down:l,up:u,next:d,previous:h}):t.extend(c,{down:l,up:u,next:h,previous:d}):t.extend(c,{next:l,previous:u,down:d,up:h}):"left"===e.options.alignment?t.extend(c,{next:d,previous:h,down:l,up:u}):t.extend(c,{next:h,previous:d,down:l,up:u}),Foundation.Keyboard.handleKey(i,"DropdownMenu",c)})}},{key:"_addBodyHandler",value:function(){var e=t(document.body),i=this;e.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu").on("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu",function(t){var n=i.$element.find(t.target);n.length||(i._hide(),e.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu"))})}},{key:"_show",value:function(e){var i=this.$tabs.index(this.$tabs.filter(function(i,n){return t(n).find(e).length>0})),n=e.parent("li.is-dropdown-submenu-parent").siblings("li.is-dropdown-submenu-parent");this._hide(n,i),e.css("visibility","hidden").addClass("js-dropdown-active").attr({"aria-hidden":!1}).parent("li.is-dropdown-submenu-parent").addClass("is-active").attr({"aria-expanded":!0});var s=Foundation.Box.ImNotTouchingYou(e,null,!0);if(!s){var o="left"===this.options.alignment?"-right":"-left",a=e.parent(".is-dropdown-submenu-parent");a.removeClass("opens"+o).addClass("opens-"+this.options.alignment),s=Foundation.Box.ImNotTouchingYou(e,null,!0),s||a.removeClass("opens-"+this.options.alignment).addClass("opens-inner"),this.changed=!0}e.css("visibility",""),this.options.closeOnClick&&this._addBodyHandler(),this.$element.trigger("show.zf.dropdownmenu",[e])}},{key:"_hide",value:function(t,e){var i;i=t&&t.length?t:void 0!==e?this.$tabs.not(function(t,i){return t===e}):this.$element;var n=i.hasClass("is-active")||i.find(".is-active").length>0;if(n){if(i.find("li.is-active").add(i).attr({"aria-expanded":!1,"data-is-click":!1}).removeClass("is-active"),i.find("ul.js-dropdown-active").attr({"aria-hidden":!0}).removeClass("js-dropdown-active"),this.changed||i.find("opens-inner").length){var s="left"===this.options.alignment?"right":"left";i.find("li.is-dropdown-submenu-parent").add(i).removeClass("opens-inner opens-"+this.options.alignment).addClass("opens-"+s),this.changed=!1}this.$element.trigger("hide.zf.dropdownmenu",[i])}}},{key:"destroy",value:function(){this.$menuItems.off(".zf.dropdownmenu").removeAttr("data-is-click").removeClass("is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner"),t(document.body).off(".zf.dropdownmenu"),Foundation.Nest.Burn(this.$element,"dropdown"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={disableHover:!1,autoclose:!0,hoverDelay:50,clickOpen:!1,closingTime:500,alignment:"left",closeOnClick:!0,verticalClass:"vertical",rightClass:"align-right",forceFollow:!0},Foundation.plugin(e,"DropdownMenu")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Equalizer")}return _createClass(e,[{key:"_init",value:function(){var e=this.$element.attr("data-equalizer")||"",i=this.$element.find('[data-equalizer-watch="'+e+'"]');this.$watched=i.length?i:this.$element.find("[data-equalizer-watch]"),this.$element.attr("data-resize",e||Foundation.GetYoDigits(6,"eq")),this.hasNested=this.$element.find("[data-equalizer]").length>0,this.isNested=this.$element.parentsUntil(document.body,"[data-equalizer]").length>0,this.isOn=!1,this._bindHandler={onResizeMeBound:this._onResizeMe.bind(this),onPostEqualizedBound:this._onPostEqualized.bind(this)};var n,s=this.$element.find("img");this.options.equalizeOn?(n=this._checkMQ(),t(window).on("changed.zf.mediaquery",this._checkMQ.bind(this))):this._events(),(void 0!==n&&n===!1||void 0===n)&&(s.length?Foundation.onImagesLoaded(s,this._reflow.bind(this)):this._reflow())}},{key:"_pauseEvents",value:function(){this.isOn=!1,this.$element.off({".zf.equalizer":this._bindHandler.onPostEqualizedBound,"resizeme.zf.trigger":this._bindHandler.onResizeMeBound})}},{key:"_onResizeMe",value:function(t){this._reflow()}},{key:"_onPostEqualized",value:function(t){t.target!==this.$element[0]&&this._reflow()}},{key:"_events",value:function(){this._pauseEvents(),this.hasNested?this.$element.on("postequalized.zf.equalizer",this._bindHandler.onPostEqualizedBound):this.$element.on("resizeme.zf.trigger",this._bindHandler.onResizeMeBound),this.isOn=!0}},{key:"_checkMQ",value:function(){var t=!Foundation.MediaQuery.atLeast(this.options.equalizeOn);return t?this.isOn&&(this._pauseEvents(),this.$watched.css("height","auto")):this.isOn||this._events(),t}},{key:"_killswitch",value:function(){}},{key:"_reflow",value:function(){return!this.options.equalizeOnStack&&this._isStacked()?(this.$watched.css("height","auto"),!1):void(this.options.equalizeByRow?this.getHeightsByRow(this.applyHeightByRow.bind(this)):this.getHeights(this.applyHeight.bind(this)))}},{key:"_isStacked",value:function(){return this.$watched[0].getBoundingClientRect().top!==this.$watched[1].getBoundingClientRect().top}},{key:"getHeights",value:function(t){for(var e=[],i=0,n=this.$watched.length;n>i;i++)this.$watched[i].style.height="auto",e.push(this.$watched[i].offsetHeight);t(e)}},{key:"getHeightsByRow",value:function(e){var i=this.$watched.length?this.$watched.first().offset().top:0,n=[],s=0;n[s]=[];for(var o=0,a=this.$watched.length;a>o;o++){this.$watched[o].style.height="auto";var r=t(this.$watched[o]).offset().top;r!=i&&(s++,n[s]=[],i=r),n[s].push([this.$watched[o],this.$watched[o].offsetHeight])}for(var l=0,u=n.length;u>l;l++){var d=t(n[l]).map(function(){return this[1]}).get(),h=Math.max.apply(null,d);n[l].push(h)}e(n)}},{key:"applyHeight",value:function(t){var e=Math.max.apply(null,t);this.$element.trigger("preequalized.zf.equalizer"),this.$watched.css("height",e),this.$element.trigger("postequalized.zf.equalizer")}},{key:"applyHeightByRow",value:function(e){this.$element.trigger("preequalized.zf.equalizer");for(var i=0,n=e.length;n>i;i++){var s=e[i].length,o=e[i][s-1];if(2>=s)t(e[i][0][0]).css({height:"auto"});else{this.$element.trigger("preequalizedrow.zf.equalizer");for(var a=0,r=s-1;r>a;a++)t(e[i][a][0]).css({height:o});this.$element.trigger("postequalizedrow.zf.equalizer")}}this.$element.trigger("postequalized.zf.equalizer")}},{key:"destroy",value:function(){this._pauseEvents(),this.$watched.css("height","auto"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={equalizeOnStack:!0,equalizeByRow:!1,equalizeOn:""},Foundation.plugin(e,"Equalizer")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,n),this.rules=[],this.currentPath="",this._init(),this._events(),Foundation.registerPlugin(this,"Interchange")}return _createClass(e,[{key:"_init",value:function(){this._addBreakpoints(),this._generateRules(),this._reflow()}},{key:"_events",value:function(){t(window).on("resize.zf.interchange",Foundation.util.throttle(this._reflow.bind(this),50))}},{key:"_reflow",value:function(){var t;for(var e in this.rules)if(this.rules.hasOwnProperty(e)){var i=this.rules[e];window.matchMedia(i.query).matches&&(t=i)}t&&this.replace(t.path)}},{key:"_addBreakpoints",value:function(){for(var t in Foundation.MediaQuery.queries)if(Foundation.MediaQuery.queries.hasOwnProperty(t)){var i=Foundation.MediaQuery.queries[t];e.SPECIAL_QUERIES[i.name]=i.value}}},{key:"_generateRules",value:function(t){var i,n=[];i=this.options.rules?this.options.rules:this.$element.data("interchange").match(/\[.*?\]/g);for(var s in i)if(i.hasOwnProperty(s)){var o=i[s].slice(1,-1).split(", "),a=o.slice(0,-1).join(""),r=o[o.length-1];e.SPECIAL_QUERIES[r]&&(r=e.SPECIAL_QUERIES[r]),n.push({path:a,query:r})}this.rules=n}},{key:"replace",value:function(e){if(this.currentPath!==e){var i=this,n="replaced.zf.interchange";"IMG"===this.$element[0].nodeName?this.$element.attr("src",e).load(function(){i.currentPath=e}).trigger(n):e.match(/\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i)?this.$element.css({"background-image":"url("+e+")"}).trigger(n):t.get(e,function(s){i.$element.html(s).trigger(n),t(s).foundation(),i.currentPath=e})}}},{key:"destroy",value:function(){}}]),e}();e.defaults={rules:null},e.SPECIAL_QUERIES={landscape:"screen and (orientation: landscape)",portrait:"screen and (orientation: portrait)",retina:"only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)"},Foundation.plugin(e,"Interchange")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Magellan")}return _createClass(e,[{key:"_init",value:function(){var e=this.$element[0].id||Foundation.GetYoDigits(6,"magellan");this.$targets=t("[data-magellan-target]"),this.$links=this.$element.find("a"),this.$element.attr({"data-resize":e,"data-scroll":e,id:e}),this.$active=t(),this.scrollPos=parseInt(window.pageYOffset,10),this._events()}},{key:"calcPoints",value:function(){var e=this,i=document.body,n=document.documentElement;this.points=[],this.winHeight=Math.round(Math.max(window.innerHeight,n.clientHeight)),this.docHeight=Math.round(Math.max(i.scrollHeight,i.offsetHeight,n.clientHeight,n.scrollHeight,n.offsetHeight)),this.$targets.each(function(){var i=t(this),n=Math.round(i.offset().top-e.options.threshold);i.targetPoint=n,e.points.push(n)})}},{key:"_events",value:function(){var e=this;t("html, body"),{duration:e.options.animationDuration,easing:e.options.animationEasing};t(window).one("load",function(){e.options.deepLinking&&location.hash&&e.scrollToLoc(location.hash),e.calcPoints(),e._updateActive()}),this.$element.on({"resizeme.zf.trigger":this.reflow.bind(this),"scrollme.zf.trigger":this._updateActive.bind(this)}).on("click.zf.magellan",'a[href^="#"]',function(t){t.preventDefault();var i=this.getAttribute("href");e.scrollToLoc(i)})}},{key:"scrollToLoc",value:function(e){var i=Math.round(t(e).offset().top-this.options.threshold/2-this.options.barOffset);t("html, body").stop(!0).animate({scrollTop:i},this.options.animationDuration,this.options.animationEasing)}},{key:"reflow",value:function(){this.calcPoints(),this._updateActive()}},{key:"_updateActive",value:function(){var t,e=parseInt(window.pageYOffset,10);if(e+this.winHeight===this.docHeight)t=this.points.length-1;else if(e<this.points[0])t=0;else{var i=this.scrollPos<e,n=this,s=this.points.filter(function(t,s){return i?t-n.options.barOffset<=e:t-n.options.barOffset-n.options.threshold<=e});t=s.length?s.length-1:0}if(this.$active.removeClass(this.options.activeClass),this.$active=this.$links.eq(t).addClass(this.options.activeClass),this.options.deepLinking){var o=this.$active[0].getAttribute("href");window.history.pushState?window.history.pushState(null,null,o):window.location.hash=o}this.scrollPos=e,this.$element.trigger("update.zf.magellan",[this.$active])}},{key:"destroy",value:function(){if(this.$element.off(".zf.trigger .zf.magellan").find("."+this.options.activeClass).removeClass(this.options.activeClass),this.options.deepLinking){var t=this.$active[0].getAttribute("href");window.location.hash.replace(t,"")}Foundation.unregisterPlugin(this)}}]),e}();e.defaults={animationDuration:500,animationEasing:"linear",threshold:50,activeClass:"active",deepLinking:!1,barOffset:0},Foundation.plugin(e,"Magellan")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this.$lastTrigger=t(),this.$triggers=t(),this._init(),this._events(),Foundation.registerPlugin(this,"OffCanvas")}return _createClass(e,[{key:"_init",value:function(){var e=this.$element.attr("id");if(this.$element.attr("aria-hidden","true"),this.$triggers=t(document).find('[data-open="'+e+'"], [data-close="'+e+'"], [data-toggle="'+e+'"]').attr("aria-expanded","false").attr("aria-controls",e),this.options.closeOnClick)if(t(".js-off-canvas-exit").length)this.$exiter=t(".js-off-canvas-exit");else{var i=document.createElement("div");i.setAttribute("class","js-off-canvas-exit"),t("[data-off-canvas-content]").append(i),this.$exiter=t(i)}this.options.isRevealed=this.options.isRevealed||new RegExp(this.options.revealClass,"g").test(this.$element[0].className),this.options.isRevealed&&(this.options.revealOn=this.options.revealOn||this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split("-")[2],this._setMQChecker()),this.options.transitionTime||(this.options.transitionTime=1e3*parseFloat(window.getComputedStyle(t("[data-off-canvas-wrapper]")[0]).transitionDuration))}},{key:"_events",value:function(){this.$element.off(".zf.trigger .zf.offcanvas").on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":this.close.bind(this),"toggle.zf.trigger":this.toggle.bind(this),"keydown.zf.offcanvas":this._handleKeyboard.bind(this)}),this.options.closeOnClick&&this.$exiter.length&&this.$exiter.on({
 "click.zf.offcanvas":this.close.bind(this)})}},{key:"_setMQChecker",value:function(){var e=this;t(window).on("changed.zf.mediaquery",function(){Foundation.MediaQuery.atLeast(e.options.revealOn)?e.reveal(!0):e.reveal(!1)}).one("load.zf.offcanvas",function(){Foundation.MediaQuery.atLeast(e.options.revealOn)&&e.reveal(!0)})}},{key:"reveal",value:function(t){var e=this.$element.find("[data-close]");t?(this.close(),this.isRevealed=!0,this.$element.off("open.zf.trigger toggle.zf.trigger"),e.length&&e.hide()):(this.isRevealed=!1,this.$element.on({"open.zf.trigger":this.open.bind(this),"toggle.zf.trigger":this.toggle.bind(this)}),e.length&&e.show())}},{key:"open",value:function(e,i){if(!this.$element.hasClass("is-open")&&!this.isRevealed){var n=this;t(document.body);this.options.forceTop&&t("body").scrollTop(0),Foundation.Move(this.options.transitionTime,this.$element,function(){t("[data-off-canvas-wrapper]").addClass("is-off-canvas-open is-open-"+n.options.position),n.$element.addClass("is-open")}),this.$triggers.attr("aria-expanded","true"),this.$element.attr("aria-hidden","false").trigger("opened.zf.offcanvas"),this.options.closeOnClick&&this.$exiter.addClass("is-visible"),i&&(this.$lastTrigger=i),this.options.autoFocus&&this.$element.one(Foundation.transitionend(this.$element),function(){n.$element.find("a, button").eq(0).focus()}),this.options.trapFocus&&(t("[data-off-canvas-content]").attr("tabindex","-1"),this._trapFocus())}}},{key:"_trapFocus",value:function(){var t=Foundation.Keyboard.findFocusable(this.$element),e=t.eq(0),i=t.eq(-1);t.off(".zf.offcanvas").on("keydown.zf.offcanvas",function(t){9!==t.which&&9!==t.keycode||(t.target!==i[0]||t.shiftKey||(t.preventDefault(),e.focus()),t.target===e[0]&&t.shiftKey&&(t.preventDefault(),i.focus()))})}},{key:"close",value:function(e){if(this.$element.hasClass("is-open")&&!this.isRevealed){var i=this;t("[data-off-canvas-wrapper]").removeClass("is-off-canvas-open is-open-"+i.options.position),i.$element.removeClass("is-open"),this.$element.attr("aria-hidden","true").trigger("closed.zf.offcanvas"),this.options.closeOnClick&&this.$exiter.removeClass("is-visible"),this.$triggers.attr("aria-expanded","false"),this.options.trapFocus&&t("[data-off-canvas-content]").removeAttr("tabindex")}}},{key:"toggle",value:function(t,e){this.$element.hasClass("is-open")?this.close(t,e):this.open(t,e)}},{key:"_handleKeyboard",value:function(t){27===t.which&&(t.stopPropagation(),t.preventDefault(),this.close(),this.$lastTrigger.focus())}},{key:"destroy",value:function(){this.close(),this.$element.off(".zf.trigger .zf.offcanvas"),this.$exiter.off(".zf.offcanvas"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={closeOnClick:!0,transitionTime:0,position:"left",forceTop:!0,isRevealed:!1,revealOn:null,autoFocus:!0,revealClass:"reveal-for-",trapFocus:!1},Foundation.plugin(e,"OffCanvas")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Orbit"),Foundation.Keyboard.register("Orbit",{ltr:{ARROW_RIGHT:"next",ARROW_LEFT:"previous"},rtl:{ARROW_LEFT:"next",ARROW_RIGHT:"previous"}})}return _createClass(e,[{key:"_init",value:function(){this.$wrapper=this.$element.find("."+this.options.containerClass),this.$slides=this.$element.find("."+this.options.slideClass);var t=this.$element.find("img"),e=this.$slides.filter(".is-active");e.length||this.$slides.eq(0).addClass("is-active"),this.options.useMUI||this.$slides.addClass("no-motionui"),t.length?Foundation.onImagesLoaded(t,this._prepareForOrbit.bind(this)):this._prepareForOrbit(),this.options.bullets&&this._loadBullets(),this._events(),this.options.autoPlay&&this.$slides.length>1&&this.geoSync(),this.options.accessible&&this.$wrapper.attr("tabindex",0)}},{key:"_loadBullets",value:function(){this.$bullets=this.$element.find("."+this.options.boxOfBullets).find("button")}},{key:"geoSync",value:function(){var t=this;this.timer=new Foundation.Timer(this.$element,{duration:this.options.timerDelay,infinite:!1},function(){t.changeSlide(!0)}),this.timer.start()}},{key:"_prepareForOrbit",value:function(){var t=this;this._setWrapperHeight(function(e){t._setSlideHeight(e)})}},{key:"_setWrapperHeight",value:function(e){var i,n=0,s=0;this.$slides.each(function(){i=this.getBoundingClientRect().height,t(this).attr("data-slide",s),s&&t(this).css({position:"relative",display:"none"}),n=i>n?i:n,s++}),s===this.$slides.length&&(this.$wrapper.css({height:n}),e(n))}},{key:"_setSlideHeight",value:function(e){this.$slides.each(function(){t(this).css("max-height",e)})}},{key:"_events",value:function(){var e=this;if(this.$slides.length>1){if(this.options.swipe&&this.$slides.off("swipeleft.zf.orbit swiperight.zf.orbit").on("swipeleft.zf.orbit",function(t){t.preventDefault(),e.changeSlide(!0)}).on("swiperight.zf.orbit",function(t){t.preventDefault(),e.changeSlide(!1)}),this.options.autoPlay&&(this.$slides.on("click.zf.orbit",function(){e.$element.data("clickedOn",!e.$element.data("clickedOn")),e.timer[e.$element.data("clickedOn")?"pause":"start"]()}),this.options.pauseOnHover&&this.$element.on("mouseenter.zf.orbit",function(){e.timer.pause()}).on("mouseleave.zf.orbit",function(){e.$element.data("clickedOn")||e.timer.start()})),this.options.navButtons){var i=this.$element.find("."+this.options.nextClass+", ."+this.options.prevClass);i.attr("tabindex",0).on("click.zf.orbit touchend.zf.orbit",function(i){i.preventDefault(),e.changeSlide(t(this).hasClass(e.options.nextClass))})}this.options.bullets&&this.$bullets.on("click.zf.orbit touchend.zf.orbit",function(){if(/is-active/g.test(this.className))return!1;var i=t(this).data("slide"),n=i>e.$slides.filter(".is-active").data("slide"),s=e.$slides.eq(i);e.changeSlide(n,s,i)}),this.$wrapper.add(this.$bullets).on("keydown.zf.orbit",function(i){Foundation.Keyboard.handleKey(i,"Orbit",{next:function(){e.changeSlide(!0)},previous:function(){e.changeSlide(!1)},handled:function(){t(i.target).is(e.$bullets)&&e.$bullets.filter(".is-active").focus()}})})}}},{key:"changeSlide",value:function(t,e,i){var n=this.$slides.filter(".is-active").eq(0);if(/mui/g.test(n[0].className))return!1;var s,o=this.$slides.first(),a=this.$slides.last(),r=t?"Right":"Left",l=t?"Left":"Right",u=this;s=e?e:t?this.options.infiniteWrap?n.next("."+this.options.slideClass).length?n.next("."+this.options.slideClass):o:n.next("."+this.options.slideClass):this.options.infiniteWrap?n.prev("."+this.options.slideClass).length?n.prev("."+this.options.slideClass):a:n.prev("."+this.options.slideClass),s.length&&(this.options.bullets&&(i=i||this.$slides.index(s),this._updateBullets(i)),this.options.useMUI?(Foundation.Motion.animateIn(s.addClass("is-active").css({position:"absolute",top:0}),this.options["animInFrom"+r],function(){s.css({position:"relative",display:"block"}).attr("aria-live","polite")}),Foundation.Motion.animateOut(n.removeClass("is-active"),this.options["animOutTo"+l],function(){n.removeAttr("aria-live"),u.options.autoPlay&&!u.timer.isPaused&&u.timer.restart()})):(n.removeClass("is-active is-in").removeAttr("aria-live").hide(),s.addClass("is-active is-in").attr("aria-live","polite").show(),this.options.autoPlay&&!this.timer.isPaused&&this.timer.restart()),this.$element.trigger("slidechange.zf.orbit",[s]))}},{key:"_updateBullets",value:function(t){var e=this.$element.find("."+this.options.boxOfBullets).find(".is-active").removeClass("is-active").blur(),i=e.find("span:last").detach();this.$bullets.eq(t).addClass("is-active").append(i)}},{key:"destroy",value:function(){this.$element.off(".zf.orbit").find("*").off(".zf.orbit").end().hide(),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={bullets:!0,navButtons:!0,animInFromRight:"slide-in-right",animOutToRight:"slide-out-right",animInFromLeft:"slide-in-left",animOutToLeft:"slide-out-left",autoPlay:!0,timerDelay:5e3,infiniteWrap:!0,swipe:!0,pauseOnHover:!0,accessible:!0,containerClass:"orbit-container",slideClass:"orbit-slide",boxOfBullets:"orbit-bullets",nextClass:"orbit-next",prevClass:"orbit-previous",useMUI:!0},Foundation.plugin(e,"Orbit")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=t(i),this.rules=this.$element.data("responsive-menu"),this.currentMq=null,this.currentPlugin=null,this._init(),this._events(),Foundation.registerPlugin(this,"ResponsiveMenu")}return _createClass(e,[{key:"_init",value:function(){if("string"==typeof this.rules){for(var e={},n=this.rules.split(" "),s=0;s<n.length;s++){var o=n[s].split("-"),a=o.length>1?o[0]:"small",r=o.length>1?o[1]:o[0];null!==i[r]&&(e[a]=i[r])}this.rules=e}t.isEmptyObject(this.rules)||this._checkMediaQueries()}},{key:"_events",value:function(){var e=this;t(window).on("changed.zf.mediaquery",function(){e._checkMediaQueries()})}},{key:"_checkMediaQueries",value:function(){var e,n=this;t.each(this.rules,function(t){Foundation.MediaQuery.atLeast(t)&&(e=t)}),e&&(this.currentPlugin instanceof this.rules[e].plugin||(t.each(i,function(t,e){n.$element.removeClass(e.cssClass)}),this.$element.addClass(this.rules[e].cssClass),this.currentPlugin&&this.currentPlugin.destroy(),this.currentPlugin=new this.rules[e].plugin(this.$element,{})))}},{key:"destroy",value:function(){this.currentPlugin.destroy(),t(window).off(".zf.ResponsiveMenu"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={};var i={dropdown:{cssClass:"dropdown",plugin:Foundation._plugins["dropdown-menu"]||null},drilldown:{cssClass:"drilldown",plugin:Foundation._plugins.drilldown||null},accordion:{cssClass:"accordion-menu",plugin:Foundation._plugins["accordion-menu"]||null}};Foundation.plugin(e,"ResponsiveMenu")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=t(i),this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),this._events(),Foundation.registerPlugin(this,"ResponsiveToggle")}return _createClass(e,[{key:"_init",value:function(){var e=this.$element.data("responsive-toggle");e||console.error("Your tab bar needs an ID of a Menu as the value of data-tab-bar."),this.$targetMenu=t("#"+e),this.$toggler=this.$element.find("[data-toggle]"),this._update()}},{key:"_events",value:function(){this._updateMqHandler=this._update.bind(this),t(window).on("changed.zf.mediaquery",this._updateMqHandler),this.$toggler.on("click.zf.responsiveToggle",this.toggleMenu.bind(this))}},{key:"_update",value:function(){Foundation.MediaQuery.atLeast(this.options.hideFor)?(this.$element.hide(),this.$targetMenu.show()):(this.$element.show(),this.$targetMenu.hide())}},{key:"toggleMenu",value:function(){Foundation.MediaQuery.atLeast(this.options.hideFor)||(this.$targetMenu.toggle(0),this.$element.trigger("toggled.zf.responsiveToggle"))}},{key:"destroy",value:function(){this.$element.off(".zf.responsiveToggle"),this.$toggler.off(".zf.responsiveToggle"),t(window).off("changed.zf.mediaquery",this._updateMqHandler),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={hideFor:"medium"},Foundation.plugin(e,"ResponsiveToggle")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){function e(){return/iP(ad|hone|od).*OS/.test(window.navigator.userAgent)}function i(){return/Android/.test(window.navigator.userAgent)}function n(){return e()||i()}var s=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Reveal"),Foundation.Keyboard.register("Reveal",{ENTER:"open",SPACE:"open",ESCAPE:"close",TAB:"tab_forward",SHIFT_TAB:"tab_backward"})}return _createClass(e,[{key:"_init",value:function(){this.id=this.$element.attr("id"),this.isActive=!1,this.cached={mq:Foundation.MediaQuery.current},this.isMobile=n(),this.$anchor=t(t('[data-open="'+this.id+'"]').length?'[data-open="'+this.id+'"]':'[data-toggle="'+this.id+'"]'),this.$anchor.attr({"aria-controls":this.id,"aria-haspopup":!0,tabindex:0}),(this.options.fullScreen||this.$element.hasClass("full"))&&(this.options.fullScreen=!0,this.options.overlay=!1),this.options.overlay&&!this.$overlay&&(this.$overlay=this._makeOverlay(this.id)),this.$element.attr({role:"dialog","aria-hidden":!0,"data-yeti-box":this.id,"data-resize":this.id}),this.$overlay?this.$element.detach().appendTo(this.$overlay):(this.$element.detach().appendTo(t("body")),this.$element.addClass("without-overlay")),this._events(),this.options.deepLink&&window.location.hash==="#"+this.id&&t(window).one("load.zf.reveal",this.open.bind(this))}},{key:"_makeOverlay",value:function(e){var i=t("<div></div>").addClass("reveal-overlay").appendTo("body");return i}},{key:"_updatePosition",value:function(){var e,i,n=this.$element.outerWidth(),s=t(window).width(),o=this.$element.outerHeight(),a=t(window).height();e="auto"===this.options.hOffset?parseInt((s-n)/2,10):parseInt(this.options.hOffset,10),i="auto"===this.options.vOffset?o>a?parseInt(Math.min(100,a/10),10):parseInt((a-o)/4,10):parseInt(this.options.vOffset,10),this.$element.css({top:i+"px"}),this.$overlay&&"auto"===this.options.hOffset||(this.$element.css({left:e+"px"}),this.$element.css({margin:"0px"}))}},{key:"_events",value:function(){var e=this,i=this;this.$element.on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":function(n,s){return n.target===i.$element[0]||t(n.target).parents("[data-closable]")[0]===s?e.close.apply(e):void 0},"toggle.zf.trigger":this.toggle.bind(this),"resizeme.zf.trigger":function(){i._updatePosition()}}),this.$anchor.length&&this.$anchor.on("keydown.zf.reveal",function(t){13!==t.which&&32!==t.which||(t.stopPropagation(),t.preventDefault(),i.open())}),this.options.closeOnClick&&this.options.overlay&&this.$overlay.off(".zf.reveal").on("click.zf.reveal",function(e){e.target===i.$element[0]||t.contains(i.$element[0],e.target)||i.close()}),this.options.deepLink&&t(window).on("popstate.zf.reveal:"+this.id,this._handleState.bind(this))}},{key:"_handleState",value:function(t){window.location.hash!=="#"+this.id||this.isActive?this.close():this.open()}},{key:"open",value:function(){var e=this;if(this.options.deepLink){var i="#"+this.id;window.history.pushState?window.history.pushState(null,null,i):window.location.hash=i}if(this.isActive=!0,this.$element.css({visibility:"hidden"}).show().scrollTop(0),this.options.overlay&&this.$overlay.css({visibility:"hidden"}).show(),this._updatePosition(),this.$element.hide().css({visibility:""}),this.$overlay&&(this.$overlay.css({visibility:""}).hide(),this.$element.hasClass("fast")?this.$overlay.addClass("fast"):this.$element.hasClass("slow")&&this.$overlay.addClass("slow")),this.options.multipleOpened||this.$element.trigger("closeme.zf.reveal",this.id),this.options.animationIn){var n;!function(){var t=function(){n.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),console.log("focus")};n=e,e.options.overlay&&Foundation.Motion.animateIn(e.$overlay,"fade-in"),Foundation.Motion.animateIn(e.$element,e.options.animationIn,function(){e.focusableElements=Foundation.Keyboard.findFocusable(e.$element),t()})}()}else this.options.overlay&&this.$overlay.show(0),this.$element.show(this.options.showDelay);this.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),this.$element.trigger("open.zf.reveal"),this.isMobile?(this.originalScrollPos=window.pageYOffset,t("html, body").addClass("is-reveal-open")):t("body").addClass("is-reveal-open"),setTimeout(function(){e._extraHandlers()},0)}},{key:"_extraHandlers",value:function(){var e=this;this.focusableElements=Foundation.Keyboard.findFocusable(this.$element),this.options.overlay||!this.options.closeOnClick||this.options.fullScreen||t("body").on("click.zf.reveal",function(i){i.target===e.$element[0]||t.contains(e.$element[0],i.target)||e.close()}),this.options.closeOnEsc&&t(window).on("keydown.zf.reveal",function(t){Foundation.Keyboard.handleKey(t,"Reveal",{close:function(){e.options.closeOnEsc&&(e.close(),e.$anchor.focus())}})}),this.$element.on("keydown.zf.reveal",function(i){var n=t(this);Foundation.Keyboard.handleKey(i,"Reveal",{tab_forward:function(){return e.$element.find(":focus").is(e.focusableElements.eq(-1))?(e.focusableElements.eq(0).focus(),!0):0===e.focusableElements.length?!0:void 0},tab_backward:function(){return e.$element.find(":focus").is(e.focusableElements.eq(0))||e.$element.is(":focus")?(e.focusableElements.eq(-1).focus(),!0):0===e.focusableElements.length?!0:void 0},open:function(){e.$element.find(":focus").is(e.$element.find("[data-close]"))?setTimeout(function(){e.$anchor.focus()},1):n.is(e.focusableElements)&&e.open()},close:function(){e.options.closeOnEsc&&(e.close(),e.$anchor.focus())},handled:function(t){t&&i.preventDefault()}})})}},{key:"close",value:function(){function e(){i.isMobile?(t("html, body").removeClass("is-reveal-open"),i.originalScrollPos&&(t("body").scrollTop(i.originalScrollPos),i.originalScrollPos=null)):t("body").removeClass("is-reveal-open"),i.$element.attr("aria-hidden",!0),i.$element.trigger("closed.zf.reveal")}if(!this.isActive||!this.$element.is(":visible"))return!1;var i=this;this.options.animationOut?(this.options.overlay?Foundation.Motion.animateOut(this.$overlay,"fade-out",e):e(),Foundation.Motion.animateOut(this.$element,this.options.animationOut)):(this.options.overlay?this.$overlay.hide(0,e):e(),this.$element.hide(this.options.hideDelay)),this.options.closeOnEsc&&t(window).off("keydown.zf.reveal"),!this.options.overlay&&this.options.closeOnClick&&t("body").off("click.zf.reveal"),this.$element.off("keydown.zf.reveal"),this.options.resetOnClose&&this.$element.html(this.$element.html()),this.isActive=!1,i.options.deepLink&&(window.history.replaceState?window.history.replaceState("",document.title,window.location.pathname):window.location.hash="")}},{key:"toggle",value:function(){this.isActive?this.close():this.open()}},{key:"destroy",value:function(){this.options.overlay&&(this.$element.appendTo(t("body")),this.$overlay.hide().off().remove()),this.$element.hide().off(),this.$anchor.off(".zf"),t(window).off(".zf.reveal:"+this.id),Foundation.unregisterPlugin(this)}}]),e}();s.defaults={animationIn:"",animationOut:"",showDelay:0,hideDelay:0,closeOnClick:!0,closeOnEsc:!0,multipleOpened:!1,vOffset:"auto",hOffset:"auto",fullScreen:!1,btmOffsetPct:10,overlay:!0,resetOnClose:!1,deepLink:!1},Foundation.plugin(s,"Reveal")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){function e(t,e){return t/e}function i(t,e,i,n){return Math.abs(t.position()[e]+t[n]()/2-i)}var n=function(){function n(e,i){_classCallCheck(this,n),this.$element=e,this.options=t.extend({},n.defaults,this.$element.data(),i),this._init(),Foundation.registerPlugin(this,"Slider"),Foundation.Keyboard.register("Slider",{ltr:{ARROW_RIGHT:"increase",ARROW_UP:"increase",ARROW_DOWN:"decrease",ARROW_LEFT:"decrease",SHIFT_ARROW_RIGHT:"increase_fast",SHIFT_ARROW_UP:"increase_fast",SHIFT_ARROW_DOWN:"decrease_fast",SHIFT_ARROW_LEFT:"decrease_fast"},rtl:{ARROW_LEFT:"increase",ARROW_RIGHT:"decrease",SHIFT_ARROW_LEFT:"increase_fast",SHIFT_ARROW_RIGHT:"decrease_fast"}})}return _createClass(n,[{key:"_init",value:function(){this.inputs=this.$element.find("input"),this.handles=this.$element.find("[data-slider-handle]"),this.$handle=this.handles.eq(0),this.$input=this.inputs.length?this.inputs.eq(0):t("#"+this.$handle.attr("aria-controls")),this.$fill=this.$element.find("[data-slider-fill]").css(this.options.vertical?"height":"width",0);var e=!1,i=this;(this.options.disabled||this.$element.hasClass(this.options.disabledClass))&&(this.options.disabled=!0,this.$element.addClass(this.options.disabledClass)),this.inputs.length||(this.inputs=t().add(this.$input),this.options.binding=!0),this._setInitAttr(0),this._events(this.$handle),this.handles[1]&&(this.options.doubleSided=!0,this.$handle2=this.handles.eq(1),this.$input2=this.inputs.length>1?this.inputs.eq(1):t("#"+this.$handle2.attr("aria-controls")),this.inputs[1]||(this.inputs=this.inputs.add(this.$input2)),e=!0,this._setHandlePos(this.$handle,this.options.initialStart,!0,function(){i._setHandlePos(i.$handle2,i.options.initialEnd,!0)}),this._setInitAttr(1),this._events(this.$handle2)),e||this._setHandlePos(this.$handle,this.options.initialStart,!0)}},{key:"_setHandlePos",value:function(t,i,n,s){if(!this.$element.hasClass(this.options.disabledClass)){i=parseFloat(i),i<this.options.start?i=this.options.start:i>this.options.end&&(i=this.options.end);var o=this.options.doubleSided;if(o)if(0===this.handles.index(t)){var a=parseFloat(this.$handle2.attr("aria-valuenow"));i=i>=a?a-this.options.step:i}else{var r=parseFloat(this.$handle.attr("aria-valuenow"));i=r>=i?r+this.options.step:i}this.options.vertical&&!n&&(i=this.options.end-i);var l=this,u=this.options.vertical,d=u?"height":"width",h=u?"top":"left",c=t[0].getBoundingClientRect()[d],f=this.$element[0].getBoundingClientRect()[d],p=e(i-this.options.start,this.options.end-this.options.start).toFixed(2),m=(f-c)*p,v=(100*e(m,f)).toFixed(this.options.decimal);i=parseFloat(i.toFixed(this.options.decimal));var g={};if(this._setValues(t,i),o){var w,y=0===this.handles.index(t),b=~~(100*e(c,f));if(y)g[h]=v+"%",w=parseFloat(this.$handle2[0].style[h])-v+b,s&&"function"==typeof s&&s();else{var $=parseFloat(this.$handle[0].style[h]);w=v-(isNaN($)?this.options.initialStart/((this.options.end-this.options.start)/100):$)+b}g["min-"+d]=w+"%"}this.$element.one("finished.zf.animate",function(){l.$element.trigger("moved.zf.slider",[t])});var C=this.$element.data("dragging")?1e3/60:this.options.moveTime;Foundation.Move(C,t,function(){t.css(h,v+"%"),l.options.doubleSided?l.$fill.css(g):l.$fill.css(d,100*p+"%")}),clearTimeout(l.timeout),l.timeout=setTimeout(function(){l.$element.trigger("changed.zf.slider",[t])},l.options.changedDelay)}}},{key:"_setInitAttr",value:function(t){var e=this.inputs.eq(t).attr("id")||Foundation.GetYoDigits(6,"slider");this.inputs.eq(t).attr({id:e,max:this.options.end,min:this.options.start,step:this.options.step}),this.handles.eq(t).attr({role:"slider","aria-controls":e,"aria-valuemax":this.options.end,"aria-valuemin":this.options.start,"aria-valuenow":0===t?this.options.initialStart:this.options.initialEnd,"aria-orientation":this.options.vertical?"vertical":"horizontal",tabindex:0})}},{key:"_setValues",value:function(t,e){var i=this.options.doubleSided?this.handles.index(t):0;this.inputs.eq(i).val(e),t.attr("aria-valuenow",e)}},{key:"_handleEvent",value:function(n,s,o){var a,r;if(o)a=this._adjustValue(null,o),r=!0;else{n.preventDefault();var l=this,u=this.options.vertical,d=u?"height":"width",h=u?"top":"left",c=u?n.pageY:n.pageX,f=(this.$handle[0].getBoundingClientRect()[d]/2,this.$element[0].getBoundingClientRect()[d]),p=u?t(window).scrollTop():t(window).scrollLeft(),m=this.$element.offset()[h];n.clientY===n.pageY&&(c+=p);var v,g=c-m;if(v=0>g?0:g>f?f:g,offsetPct=e(v,f),a=(this.options.end-this.options.start)*offsetPct+this.options.start,Foundation.rtl()&&!this.options.vertical&&(a=this.options.end-a),a=l._adjustValue(null,a),r=!1,!s){var w=i(this.$handle,h,v,d),y=i(this.$handle2,h,v,d);s=y>=w?this.$handle:this.$handle2}}this._setHandlePos(s,a,r)}},{key:"_adjustValue",value:function(t,e){var i,n,s,o,a=this.options.step,r=parseFloat(a/2);return i=t?parseFloat(t.attr("aria-valuenow")):e,n=i%a,s=i-n,o=s+a,0===n?i:i=i>=s+r?o:s}},{key:"_events",value:function(e){var i,n=this;if(this.inputs.off("change.zf.slider").on("change.zf.slider",function(e){var i=n.inputs.index(t(this));n._handleEvent(e,n.handles.eq(i),t(this).val())}),this.options.clickSelect&&this.$element.off("click.zf.slider").on("click.zf.slider",function(e){return n.$element.data("dragging")?!1:void(t(e.target).is("[data-slider-handle]")||(n.options.doubleSided?n._handleEvent(e):n._handleEvent(e,n.$handle)))}),this.options.draggable){this.handles.addTouch();var s=t("body");e.off("mousedown.zf.slider").on("mousedown.zf.slider",function(o){e.addClass("is-dragging"),n.$fill.addClass("is-dragging"),n.$element.data("dragging",!0),i=t(o.currentTarget),s.on("mousemove.zf.slider",function(t){t.preventDefault(),n._handleEvent(t,i)}).on("mouseup.zf.slider",function(t){n._handleEvent(t,i),e.removeClass("is-dragging"),n.$fill.removeClass("is-dragging"),n.$element.data("dragging",!1),s.off("mousemove.zf.slider mouseup.zf.slider")})}).on("selectstart.zf.slider touchmove.zf.slider",function(t){t.preventDefault()})}e.off("keydown.zf.slider").on("keydown.zf.slider",function(e){var i,s=t(this),o=n.options.doubleSided?n.handles.index(s):0,a=parseFloat(n.inputs.eq(o).val());Foundation.Keyboard.handleKey(e,"Slider",{decrease:function(){i=a-n.options.step},increase:function(){i=a+n.options.step},decrease_fast:function(){i=a-10*n.options.step},increase_fast:function(){i=a+10*n.options.step},handled:function(){e.preventDefault(),n._setHandlePos(s,i,!0)}})})}},{key:"destroy",value:function(){this.handles.off(".zf.slider"),this.inputs.off(".zf.slider"),this.$element.off(".zf.slider"),Foundation.unregisterPlugin(this)}}]),n}();n.defaults={start:0,end:100,step:1,initialStart:0,initialEnd:100,binding:!1,clickSelect:!0,vertical:!1,draggable:!0,disabled:!1,doubleSided:!1,decimal:2,moveTime:200,disabledClass:"disabled",invertVertical:!1,changedDelay:500},Foundation.plugin(n,"Slider")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){function e(t){return parseInt(window.getComputedStyle(document.body,null).fontSize,10)*t}var i=function(){function i(e,n){_classCallCheck(this,i),this.$element=e,this.options=t.extend({},i.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Sticky")}return _createClass(i,[{key:"_init",value:function(){var e=this.$element.parent("[data-sticky-container]"),i=this.$element[0].id||Foundation.GetYoDigits(6,"sticky"),n=this;e.length||(this.wasWrapped=!0),this.$container=e.length?e:t(this.options.container).wrapInner(this.$element),this.$container.addClass(this.options.containerClass),this.$element.addClass(this.options.stickyClass).attr({"data-resize":i}),this.scrollCount=this.options.checkEvery,this.isStuck=!1,t(window).one("load.zf.sticky",function(){""!==n.options.anchor?n.$anchor=t("#"+n.options.anchor):n._parsePoints(),n._setSizes(function(){n._calc(!1)}),n._events(i.split("-").reverse().join("-"))})}},{key:"_parsePoints",value:function(){for(var e=""==this.options.topAnchor?1:this.options.topAnchor,i=""==this.options.btmAnchor?document.documentElement.scrollHeight:this.options.btmAnchor,n=[e,i],s={},o=0,a=n.length;a>o&&n[o];o++){var r;if("number"==typeof n[o])r=n[o];else{var l=n[o].split(":"),u=t("#"+l[0]);r=u.offset().top,l[1]&&"bottom"===l[1].toLowerCase()&&(r+=u[0].getBoundingClientRect().height)}s[o]=r}this.points=s}},{key:"_events",value:function(e){var i=this,n=this.scrollListener="scroll.zf."+e;this.isOn||(this.canStick&&(this.isOn=!0,t(window).off(n).on(n,function(t){0===i.scrollCount?(i.scrollCount=i.options.checkEvery,i._setSizes(function(){i._calc(!1,window.pageYOffset)})):(i.scrollCount--,i._calc(!1,window.pageYOffset))})),this.$element.off("resizeme.zf.trigger").on("resizeme.zf.trigger",function(t,s){i._setSizes(function(){i._calc(!1),i.canStick?i.isOn||i._events(e):i.isOn&&i._pauseListeners(n)})}))}},{key:"_pauseListeners",value:function(e){this.isOn=!1,t(window).off(e),this.$element.trigger("pause.zf.sticky")}},{key:"_calc",value:function(t,e){return t&&this._setSizes(),this.canStick?(e||(e=window.pageYOffset),void(e>=this.topPoint?e<=this.bottomPoint?this.isStuck||this._setSticky():this.isStuck&&this._removeSticky(!1):this.isStuck&&this._removeSticky(!0))):(this.isStuck&&this._removeSticky(!0),!1)}},{key:"_setSticky",value:function(){var t=this,e=this.options.stickTo,i="top"===e?"marginTop":"marginBottom",n="top"===e?"bottom":"top",s={};s[i]=this.options[i]+"em",s[e]=0,s[n]="auto",s.left=this.$container.offset().left+parseInt(window.getComputedStyle(this.$container[0])["padding-left"],10),this.isStuck=!0,this.$element.removeClass("is-anchored is-at-"+n).addClass("is-stuck is-at-"+e).css(s).trigger("sticky.zf.stuckto:"+e),this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",function(){t._setSizes()})}},{key:"_removeSticky",value:function(t){var e=this.options.stickTo,i="top"===e,n={},s=(this.points?this.points[1]-this.points[0]:this.anchorHeight)-this.elemHeight,o=i?"marginTop":"marginBottom",a=t?"top":"bottom";n[o]=0,n.bottom="auto",t?n.top=0:n.top=s,n.left="",this.isStuck=!1,this.$element.removeClass("is-stuck is-at-"+e).addClass("is-anchored is-at-"+a).css(n).trigger("sticky.zf.unstuckfrom:"+a)}},{key:"_setSizes",value:function(t){this.canStick=Foundation.MediaQuery.atLeast(this.options.stickyOn),this.canStick||t();var e=this.$container[0].getBoundingClientRect().width,i=window.getComputedStyle(this.$container[0]),n=parseInt(i["padding-right"],10);this.$anchor&&this.$anchor.length?this.anchorHeight=this.$anchor[0].getBoundingClientRect().height:this._parsePoints(),this.$element.css({"max-width":e-n+"px"});var s=this.$element[0].getBoundingClientRect().height||this.containerHeight;"none"==this.$element.css("display")&&(s=0),this.containerHeight=s,this.$container.css({height:s}),this.elemHeight=s,this.isStuck&&this.$element.css({left:this.$container.offset().left+parseInt(i["padding-left"],10)}),this._setBreakPoints(s,function(){t&&t()})}},{key:"_setBreakPoints",value:function(t,i){if(!this.canStick){if(!i)return!1;i()}var n=e(this.options.marginTop),s=e(this.options.marginBottom),o=this.points?this.points[0]:this.$anchor.offset().top,a=this.points?this.points[1]:o+this.anchorHeight,r=window.innerHeight;"top"===this.options.stickTo?(o-=n,a-=t+n):"bottom"===this.options.stickTo&&(o-=r-(t+s),a-=r-s),this.topPoint=o,this.bottomPoint=a,i&&i()}},{key:"destroy",value:function(){this._removeSticky(!0),this.$element.removeClass(this.options.stickyClass+" is-anchored is-at-top").css({height:"",top:"",bottom:"","max-width":""}).off("resizeme.zf.trigger"),this.$anchor&&this.$anchor.length&&this.$anchor.off("change.zf.sticky"),t(window).off(this.scrollListener),this.wasWrapped?this.$element.unwrap():this.$container.removeClass(this.options.containerClass).css({height:""}),Foundation.unregisterPlugin(this)}}]),i}();i.defaults={container:"<div data-sticky-container></div>",stickTo:"top",anchor:"",topAnchor:"",btmAnchor:"",marginTop:1,marginBottom:1,stickyOn:"medium",stickyClass:"sticky",containerClass:"sticky-container",checkEvery:-1},Foundation.plugin(i,"Sticky")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n);
-}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Tabs"),Foundation.Keyboard.register("Tabs",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"previous",ARROW_DOWN:"next",ARROW_LEFT:"previous"})}return _createClass(e,[{key:"_init",value:function(){var e=this;if(this.$tabTitles=this.$element.find("."+this.options.linkClass),this.$tabContent=t('[data-tabs-content="'+this.$element[0].id+'"]'),this.$tabTitles.each(function(){var i=t(this),n=i.find("a"),s=i.hasClass("is-active"),o=n[0].hash.slice(1),a=n[0].id?n[0].id:o+"-label",r=t("#"+o);i.attr({role:"presentation"}),n.attr({role:"tab","aria-controls":o,"aria-selected":s,id:a}),r.attr({role:"tabpanel","aria-hidden":!s,"aria-labelledby":a}),s&&e.options.autoFocus&&n.focus()}),this.options.matchHeight){var i=this.$tabContent.find("img");i.length?Foundation.onImagesLoaded(i,this._setHeight.bind(this)):this._setHeight()}this._events()}},{key:"_events",value:function(){this._addKeyHandler(),this._addClickHandler(),this._setHeightMqHandler=null,this.options.matchHeight&&(this._setHeightMqHandler=this._setHeight.bind(this),t(window).on("changed.zf.mediaquery",this._setHeightMqHandler))}},{key:"_addClickHandler",value:function(){var e=this;this.$element.off("click.zf.tabs").on("click.zf.tabs","."+this.options.linkClass,function(i){i.preventDefault(),i.stopPropagation(),t(this).hasClass("is-active")||e._handleTabChange(t(this))})}},{key:"_addKeyHandler",value:function(){var e=this;e.$element.find("li:first-of-type"),e.$element.find("li:last-of-type");this.$tabTitles.off("keydown.zf.tabs").on("keydown.zf.tabs",function(i){if(9!==i.which){var n,s,o=t(this),a=o.parent("ul").children("li");a.each(function(i){return t(this).is(o)?void(e.options.wrapOnKeys?(n=0===i?a.last():a.eq(i-1),s=i===a.length-1?a.first():a.eq(i+1)):(n=a.eq(Math.max(0,i-1)),s=a.eq(Math.min(i+1,a.length-1)))):void 0}),Foundation.Keyboard.handleKey(i,"Tabs",{open:function(){o.find('[role="tab"]').focus(),e._handleTabChange(o)},previous:function(){n.find('[role="tab"]').focus(),e._handleTabChange(n)},next:function(){s.find('[role="tab"]').focus(),e._handleTabChange(s)},handled:function(){i.stopPropagation(),i.preventDefault()}})}})}},{key:"_handleTabChange",value:function(e){var i=e.find('[role="tab"]'),n=i[0].hash,s=this.$tabContent.find(n),o=this.$element.find("."+this.options.linkClass+".is-active").removeClass("is-active").find('[role="tab"]').attr({"aria-selected":"false"});t("#"+o.attr("aria-controls")).removeClass("is-active").attr({"aria-hidden":"true"}),e.addClass("is-active"),i.attr({"aria-selected":"true"}),s.addClass("is-active").attr({"aria-hidden":"false"}),this.$element.trigger("change.zf.tabs",[e])}},{key:"selectTab",value:function(t){var e;e="object"==typeof t?t[0].id:t,e.indexOf("#")<0&&(e="#"+e);var i=this.$tabTitles.find('[href="'+e+'"]').parent("."+this.options.linkClass);this._handleTabChange(i)}},{key:"_setHeight",value:function(){var e=0;this.$tabContent.find("."+this.options.panelClass).css("height","").each(function(){var i=t(this),n=i.hasClass("is-active");n||i.css({visibility:"hidden",display:"block"});var s=this.getBoundingClientRect().height;n||i.css({visibility:"",display:""}),e=s>e?s:e}).css("height",e+"px")}},{key:"destroy",value:function(){this.$element.find("."+this.options.linkClass).off(".zf.tabs").hide().end().find("."+this.options.panelClass).hide(),this.options.matchHeight&&null!=this._setHeightMqHandler&&t(window).off("changed.zf.mediaquery",this._setHeightMqHandler),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={autoFocus:!1,wrapOnKeys:!0,matchHeight:!1,linkClass:"tabs-title",panelClass:"tabs-panel"},Foundation.plugin(e,"Tabs")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,i.data(),n),this.className="",this._init(),this._events(),Foundation.registerPlugin(this,"Toggler")}return _createClass(e,[{key:"_init",value:function(){var e;this.options.animate?(e=this.options.animate.split(" "),this.animationIn=e[0],this.animationOut=e[1]||null):(e=this.$element.data("toggler"),this.className="."===e[0]?e.slice(1):e);var i=this.$element[0].id;t('[data-open="'+i+'"], [data-close="'+i+'"], [data-toggle="'+i+'"]').attr("aria-controls",i),this.$element.attr("aria-expanded",!this.$element.is(":hidden"))}},{key:"_events",value:function(){this.$element.off("toggle.zf.trigger").on("toggle.zf.trigger",this.toggle.bind(this))}},{key:"toggle",value:function(){this[this.options.animate?"_toggleAnimate":"_toggleClass"]()}},{key:"_toggleClass",value:function(){this.$element.toggleClass(this.className);var t=this.$element.hasClass(this.className);t?this.$element.trigger("on.zf.toggler"):this.$element.trigger("off.zf.toggler"),this._updateARIA(t)}},{key:"_toggleAnimate",value:function(){var t=this;this.$element.is(":hidden")?Foundation.Motion.animateIn(this.$element,this.animationIn,function(){t._updateARIA(!0),this.trigger("on.zf.toggler")}):Foundation.Motion.animateOut(this.$element,this.animationOut,function(){t._updateARIA(!1),this.trigger("off.zf.toggler")})}},{key:"_updateARIA",value:function(t){this.$element.attr("aria-expanded",!!t)}},{key:"destroy",value:function(){this.$element.off(".zf.toggler"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={animate:!1},Foundation.plugin(e,"Toggler")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this.isActive=!1,this.isClick=!1,this._init(),Foundation.registerPlugin(this,"Tooltip")}return _createClass(e,[{key:"_init",value:function(){var e=this.$element.attr("aria-describedby")||Foundation.GetYoDigits(6,"tooltip");this.options.positionClass=this.options.positionClass||this._getPositionClass(this.$element),this.options.tipText=this.options.tipText||this.$element.attr("title"),this.template=this.options.template?t(this.options.template):this._buildTemplate(e),this.template.appendTo(document.body).text(this.options.tipText).hide(),this.$element.attr({title:"","aria-describedby":e,"data-yeti-box":e,"data-toggle":e,"data-resize":e}).addClass(this.triggerClass),this.usedPositions=[],this.counter=4,this.classChanged=!1,this._events()}},{key:"_getPositionClass",value:function(t){if(!t)return"";var e=t[0].className.match(/\b(top|left|right)\b/g);return e=e?e[0]:""}},{key:"_buildTemplate",value:function(e){var i=(this.options.tooltipClass+" "+this.options.positionClass+" "+this.options.templateClasses).trim(),n=t("<div></div>").addClass(i).attr({role:"tooltip","aria-hidden":!0,"data-is-active":!1,"data-is-focus":!1,id:e});return n}},{key:"_reposition",value:function(t){this.usedPositions.push(t?t:"bottom"),!t&&this.usedPositions.indexOf("top")<0?this.template.addClass("top"):"top"===t&&this.usedPositions.indexOf("bottom")<0?this.template.removeClass(t):"left"===t&&this.usedPositions.indexOf("right")<0?this.template.removeClass(t).addClass("right"):"right"===t&&this.usedPositions.indexOf("left")<0?this.template.removeClass(t).addClass("left"):!t&&this.usedPositions.indexOf("top")>-1&&this.usedPositions.indexOf("left")<0?this.template.addClass("left"):"top"===t&&this.usedPositions.indexOf("bottom")>-1&&this.usedPositions.indexOf("left")<0?this.template.removeClass(t).addClass("left"):"left"===t&&this.usedPositions.indexOf("right")>-1&&this.usedPositions.indexOf("bottom")<0?this.template.removeClass(t):"right"===t&&this.usedPositions.indexOf("left")>-1&&this.usedPositions.indexOf("bottom")<0?this.template.removeClass(t):this.template.removeClass(t),this.classChanged=!0,this.counter--}},{key:"_setPosition",value:function(){var t=this._getPositionClass(this.template),e=Foundation.Box.GetDimensions(this.template),i=Foundation.Box.GetDimensions(this.$element),n="left"===t?"left":"right"===t?"left":"top",s="top"===n?"height":"width";"height"===s?this.options.vOffset:this.options.hOffset;if(e.width>=e.windowDims.width||!this.counter&&!Foundation.Box.ImNotTouchingYou(this.template))return this.template.offset(Foundation.Box.GetOffsets(this.template,this.$element,"center bottom",this.options.vOffset,this.options.hOffset,!0)).css({width:i.windowDims.width-2*this.options.hOffset,height:"auto"}),!1;for(this.template.offset(Foundation.Box.GetOffsets(this.template,this.$element,"center "+(t||"bottom"),this.options.vOffset,this.options.hOffset));!Foundation.Box.ImNotTouchingYou(this.template)&&this.counter;)this._reposition(t),this._setPosition()}},{key:"show",value:function(){if("all"!==this.options.showOn&&!Foundation.MediaQuery.atLeast(this.options.showOn))return!1;var t=this;this.template.css("visibility","hidden").show(),this._setPosition(),this.$element.trigger("closeme.zf.tooltip",this.template.attr("id")),this.template.attr({"data-is-active":!0,"aria-hidden":!1}),t.isActive=!0,this.template.stop().hide().css("visibility","").fadeIn(this.options.fadeInDuration,function(){}),this.$element.trigger("show.zf.tooltip")}},{key:"hide",value:function(){var t=this;this.template.stop().attr({"aria-hidden":!0,"data-is-active":!1}).fadeOut(this.options.fadeOutDuration,function(){t.isActive=!1,t.isClick=!1,t.classChanged&&(t.template.removeClass(t._getPositionClass(t.template)).addClass(t.options.positionClass),t.usedPositions=[],t.counter=4,t.classChanged=!1)}),this.$element.trigger("hide.zf.tooltip")}},{key:"_events",value:function(){var t=this,e=(this.template,!1);this.options.disableHover||this.$element.on("mouseenter.zf.tooltip",function(e){t.isActive||(t.timeout=setTimeout(function(){t.show()},t.options.hoverDelay))}).on("mouseleave.zf.tooltip",function(i){clearTimeout(t.timeout),(!e||t.isClick&&!t.options.clickOpen)&&t.hide()}),this.options.clickOpen?this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick||(t.isClick=!0,!t.options.disableHover&&t.$element.attr("tabindex")||t.isActive||t.show())}):this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick=!0}),this.options.disableForTouch||this.$element.on("tap.zf.tooltip touchend.zf.tooltip",function(e){t.isActive?t.hide():t.show()}),this.$element.on({"close.zf.trigger":this.hide.bind(this)}),this.$element.on("focus.zf.tooltip",function(i){return e=!0,t.isClick?(t.options.clickOpen||(e=!1),!1):void t.show()}).on("focusout.zf.tooltip",function(i){e=!1,t.isClick=!1,t.hide()}).on("resizeme.zf.trigger",function(){t.isActive&&t._setPosition()})}},{key:"toggle",value:function(){this.isActive?this.hide():this.show()}},{key:"destroy",value:function(){this.$element.attr("title",this.template.text()).off(".zf.trigger .zf.tootip").removeAttr("aria-describedby").removeAttr("data-yeti-box").removeAttr("data-toggle").removeAttr("data-resize"),this.template.remove(),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={disableForTouch:!1,hoverDelay:200,fadeInDuration:150,fadeOutDuration:150,disableHover:!1,templateClasses:"",tooltipClass:"tooltip",triggerClass:"has-tip",showOn:"small",template:"",tipText:"",touchCloseText:"Tap to close.",clickOpen:!0,positionClass:"",vOffset:10,hOffset:12},Foundation.plugin(e,"Tooltip")}(jQuery);
\ No newline at end of file
+}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Tabs"),Foundation.Keyboard.register("Tabs",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"previous",ARROW_DOWN:"next",ARROW_LEFT:"previous"})}return _createClass(e,[{key:"_init",value:function(){var e=this;if(this.$tabTitles=this.$element.find("."+this.options.linkClass),this.$tabContent=t('[data-tabs-content="'+this.$element[0].id+'"]'),this.$tabTitles.each(function(){var i=t(this),n=i.find("a"),s=i.hasClass("is-active"),o=n[0].hash.slice(1),a=n[0].id?n[0].id:o+"-label",r=t("#"+o);i.attr({role:"presentation"}),n.attr({role:"tab","aria-controls":o,"aria-selected":s,id:a}),r.attr({role:"tabpanel","aria-hidden":!s,"aria-labelledby":a}),s&&e.options.autoFocus&&n.focus()}),this.options.matchHeight){var i=this.$tabContent.find("img");i.length?Foundation.onImagesLoaded(i,this._setHeight.bind(this)):this._setHeight()}this._events()}},{key:"_events",value:function(){this._addKeyHandler(),this._addClickHandler(),this._setHeightMqHandler=null,this.options.matchHeight&&(this._setHeightMqHandler=this._setHeight.bind(this),t(window).on("changed.zf.mediaquery",this._setHeightMqHandler))}},{key:"_addClickHandler",value:function(){var e=this;this.$element.off("click.zf.tabs").on("click.zf.tabs","."+this.options.linkClass,function(i){i.preventDefault(),i.stopPropagation(),t(this).hasClass("is-active")||e._handleTabChange(t(this))})}},{key:"_addKeyHandler",value:function(){var e=this;e.$element.find("li:first-of-type"),e.$element.find("li:last-of-type");this.$tabTitles.off("keydown.zf.tabs").on("keydown.zf.tabs",function(i){if(9!==i.which){var n,s,o=t(this),a=o.parent("ul").children("li");a.each(function(i){return t(this).is(o)?void(e.options.wrapOnKeys?(n=0===i?a.last():a.eq(i-1),s=i===a.length-1?a.first():a.eq(i+1)):(n=a.eq(Math.max(0,i-1)),s=a.eq(Math.min(i+1,a.length-1)))):void 0}),Foundation.Keyboard.handleKey(i,"Tabs",{open:function(){o.find('[role="tab"]').focus(),e._handleTabChange(o)},previous:function(){n.find('[role="tab"]').focus(),e._handleTabChange(n)},next:function(){s.find('[role="tab"]').focus(),e._handleTabChange(s)},handled:function(){i.stopPropagation(),i.preventDefault()}})}})}},{key:"_handleTabChange",value:function(e){var i=e.find('[role="tab"]'),n=i[0].hash,s=this.$tabContent.find(n),o=this.$element.find("."+this.options.linkClass+".is-active").removeClass("is-active").find('[role="tab"]').attr({"aria-selected":"false"});t("#"+o.attr("aria-controls")).removeClass("is-active").attr({"aria-hidden":"true"}),e.addClass("is-active"),i.attr({"aria-selected":"true"}),s.addClass("is-active").attr({"aria-hidden":"false"}),this.$element.trigger("change.zf.tabs",[e])}},{key:"selectTab",value:function(t){var e;e="object"==typeof t?t[0].id:t,e.indexOf("#")<0&&(e="#"+e);var i=this.$tabTitles.find('[href="'+e+'"]').parent("."+this.options.linkClass);this._handleTabChange(i)}},{key:"_setHeight",value:function(){var e=0;this.$tabContent.find("."+this.options.panelClass).css("height","").each(function(){var i=t(this),n=i.hasClass("is-active");n||i.css({visibility:"hidden",display:"block"});var s=this.getBoundingClientRect().height;n||i.css({visibility:"",display:""}),e=s>e?s:e}).css("height",e+"px")}},{key:"destroy",value:function(){this.$element.find("."+this.options.linkClass).off(".zf.tabs").hide().end().find("."+this.options.panelClass).hide(),this.options.matchHeight&&null!=this._setHeightMqHandler&&t(window).off("changed.zf.mediaquery",this._setHeightMqHandler),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={autoFocus:!1,wrapOnKeys:!0,matchHeight:!1,linkClass:"tabs-title",panelClass:"tabs-panel"},Foundation.plugin(e,"Tabs")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,i.data(),n),this.className="",this._init(),this._events(),Foundation.registerPlugin(this,"Toggler")}return _createClass(e,[{key:"_init",value:function(){var e;this.options.animate?(e=this.options.animate.split(" "),this.animationIn=e[0],this.animationOut=e[1]||null):(e=this.$element.data("toggler"),this.className="."===e[0]?e.slice(1):e);var i=this.$element[0].id;t('[data-open="'+i+'"], [data-close="'+i+'"], [data-toggle="'+i+'"]').attr("aria-controls",i),this.$element.attr("aria-expanded",!this.$element.is(":hidden"))}},{key:"_events",value:function(){this.$element.off("toggle.zf.trigger").on("toggle.zf.trigger",this.toggle.bind(this))}},{key:"toggle",value:function(){this[this.options.animate?"_toggleAnimate":"_toggleClass"]()}},{key:"_toggleClass",value:function(){this.$element.toggleClass(this.className);var t=this.$element.hasClass(this.className);t?this.$element.trigger("on.zf.toggler"):this.$element.trigger("off.zf.toggler"),this._updateARIA(t)}},{key:"_toggleAnimate",value:function(){var t=this;this.$element.is(":hidden")?Foundation.Motion.animateIn(this.$element,this.animationIn,function(){t._updateARIA(!0),this.trigger("on.zf.toggler")}):Foundation.Motion.animateOut(this.$element,this.animationOut,function(){t._updateARIA(!1),this.trigger("off.zf.toggler")})}},{key:"_updateARIA",value:function(t){this.$element.attr("aria-expanded",!!t)}},{key:"destroy",value:function(){this.$element.off(".zf.toggler"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={animate:!1},Foundation.plugin(e,"Toggler")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this.isActive=!1,this.isClick=!1,this._init(),Foundation.registerPlugin(this,"Tooltip")}return _createClass(e,[{key:"_init",value:function(){var e=this.$element.attr("aria-describedby")||Foundation.GetYoDigits(6,"tooltip");this.options.positionClass=this.options.positionClass||this._getPositionClass(this.$element),this.options.tipText=this.options.tipText||this.$element.attr("title"),this.template=this.options.template?t(this.options.template):this._buildTemplate(e),this.template.appendTo(document.body).text(this.options.tipText).hide(),this.$element.attr({title:"","aria-describedby":e,"data-yeti-box":e,"data-toggle":e,"data-resize":e}).addClass(this.triggerClass),this.usedPositions=[],this.counter=4,this.classChanged=!1,this._events()}},{key:"_getPositionClass",value:function(t){if(!t)return"";var e=t[0].className.match(/\b(top|left|right)\b/g);return e=e?e[0]:""}},{key:"_buildTemplate",value:function(e){var i=(this.options.tooltipClass+" "+this.options.positionClass+" "+this.options.templateClasses).trim(),n=t("<div></div>").addClass(i).attr({role:"tooltip","aria-hidden":!0,"data-is-active":!1,"data-is-focus":!1,id:e});return n}},{key:"_reposition",value:function(t){this.usedPositions.push(t?t:"bottom"),!t&&this.usedPositions.indexOf("top")<0?this.template.addClass("top"):"top"===t&&this.usedPositions.indexOf("bottom")<0?this.template.removeClass(t):"left"===t&&this.usedPositions.indexOf("right")<0?this.template.removeClass(t).addClass("right"):"right"===t&&this.usedPositions.indexOf("left")<0?this.template.removeClass(t).addClass("left"):!t&&this.usedPositions.indexOf("top")>-1&&this.usedPositions.indexOf("left")<0?this.template.addClass("left"):"top"===t&&this.usedPositions.indexOf("bottom")>-1&&this.usedPositions.indexOf("left")<0?this.template.removeClass(t).addClass("left"):"left"===t&&this.usedPositions.indexOf("right")>-1&&this.usedPositions.indexOf("bottom")<0?this.template.removeClass(t):"right"===t&&this.usedPositions.indexOf("left")>-1&&this.usedPositions.indexOf("bottom")<0?this.template.removeClass(t):this.template.removeClass(t),this.classChanged=!0,this.counter--}},{key:"_setPosition",value:function(){var t=this._getPositionClass(this.template),e=Foundation.Box.GetDimensions(this.template),i=Foundation.Box.GetDimensions(this.$element),n="left"===t?"left":"right"===t?"left":"top",s="top"===n?"height":"width";"height"===s?this.options.vOffset:this.options.hOffset;if(e.width>=e.windowDims.width||!this.counter&&!Foundation.Box.ImNotTouchingYou(this.template))return this.template.offset(Foundation.Box.GetOffsets(this.template,this.$element,"center bottom",this.options.vOffset,this.options.hOffset,!0)).css({width:i.windowDims.width-2*this.options.hOffset,height:"auto"}),!1;for(this.template.offset(Foundation.Box.GetOffsets(this.template,this.$element,"center "+(t||"bottom"),this.options.vOffset,this.options.hOffset));!Foundation.Box.ImNotTouchingYou(this.template)&&this.counter;)this._reposition(t),this._setPosition()}},{key:"show",value:function(){if("all"!==this.options.showOn&&!Foundation.MediaQuery.atLeast(this.options.showOn))return!1;var t=this;this.template.css("visibility","hidden").show(),this._setPosition(),this.$element.trigger("closeme.zf.tooltip",this.template.attr("id")),this.template.attr({"data-is-active":!0,"aria-hidden":!1}),t.isActive=!0,this.template.stop().hide().css("visibility","").fadeIn(this.options.fadeInDuration,function(){}),this.$element.trigger("show.zf.tooltip")}},{key:"hide",value:function(){var t=this;this.template.stop().attr({"aria-hidden":!0,"data-is-active":!1}).fadeOut(this.options.fadeOutDuration,function(){t.isActive=!1,t.isClick=!1,t.classChanged&&(t.template.removeClass(t._getPositionClass(t.template)).addClass(t.options.positionClass),t.usedPositions=[],t.counter=4,t.classChanged=!1)}),this.$element.trigger("hide.zf.tooltip")}},{key:"_events",value:function(){var t=this,e=(this.template,!1);this.options.disableHover||this.$element.on("mouseenter.zf.tooltip",function(e){t.isActive||(t.timeout=setTimeout(function(){t.show()},t.options.hoverDelay))}).on("mouseleave.zf.tooltip",function(i){clearTimeout(t.timeout),(!e||t.isClick&&!t.options.clickOpen)&&t.hide()}),this.options.clickOpen?this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick||(t.isClick=!0,!t.options.disableHover&&t.$element.attr("tabindex")||t.isActive||t.show())}):this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick=!0}),this.options.disableForTouch||this.$element.on("tap.zf.tooltip touchend.zf.tooltip",function(e){t.isActive?t.hide():t.show()}),this.$element.on({"close.zf.trigger":this.hide.bind(this)}),this.$element.on("focus.zf.tooltip",function(i){return e=!0,t.isClick?(t.options.clickOpen||(e=!1),!1):void t.show()}).on("focusout.zf.tooltip",function(i){e=!1,t.isClick=!1,t.hide()}).on("resizeme.zf.trigger",function(){t.isActive&&t._setPosition()})}},{key:"toggle",value:function(){this.isActive?this.hide():this.show()}},{key:"destroy",value:function(){this.$element.attr("title",this.template.text()).off(".zf.trigger .zf.tootip").removeAttr("aria-describedby").removeAttr("data-yeti-box").removeAttr("data-toggle").removeAttr("data-resize"),this.template.remove(),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={disableForTouch:!1,hoverDelay:200,fadeInDuration:150,fadeOutDuration:150,disableHover:!1,templateClasses:"",tooltipClass:"tooltip",triggerClass:"has-tip",showOn:"small",template:"",tipText:"",touchCloseText:"Tap to close.",clickOpen:!0,positionClass:"",vOffset:10,hOffset:12},Foundation.plugin(e,"Tooltip")}(jQuery);
diff --git a/libraries/foundation-6/dist/plugins/foundation.abide.js b/libraries/foundation-6/dist/plugins/foundation.abide.js
new file mode 100755
index 00000000..5cfe562b
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.abide.js
@@ -0,0 +1,600 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Abide module.
+   * @module foundation.abide
+   */
+
+  var Abide = function () {
+    /**
+     * Creates a new instance of Abide.
+     * @class
+     * @fires Abide#init
+     * @param {Object} element - jQuery object to add the trigger to.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Abide(element) {
+      var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
+
+      _classCallCheck(this, Abide);
+
+      this.$element = element;
+      this.options = $.extend({}, Abide.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Abide');
+    }
+
+    /**
+     * Initializes the Abide plugin and calls functions to get Abide functioning on load.
+     * @private
+     */
+
+
+    _createClass(Abide, [{
+      key: '_init',
+      value: function _init() {
+        this.$inputs = this.$element.find('input, textarea, select');
+
+        this._events();
+      }
+
+      /**
+       * Initializes events for Abide.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this2 = this;
+
+        this.$element.off('.abide').on('reset.zf.abide', function () {
+          _this2.resetForm();
+        }).on('submit.zf.abide', function () {
+          return _this2.validateForm();
+        });
+
+        if (this.options.validateOn === 'fieldChange') {
+          this.$inputs.off('change.zf.abide').on('change.zf.abide', function (e) {
+            _this2.validateInput($(e.target));
+          });
+        }
+
+        if (this.options.liveValidate) {
+          this.$inputs.off('input.zf.abide').on('input.zf.abide', function (e) {
+            _this2.validateInput($(e.target));
+          });
+        }
+      }
+
+      /**
+       * Calls necessary functions to update Abide upon DOM change
+       * @private
+       */
+
+    }, {
+      key: '_reflow',
+      value: function _reflow() {
+        this._init();
+      }
+
+      /**
+       * Checks whether or not a form element has the required attribute and if it's checked or not
+       * @param {Object} element - jQuery object to check for required attribute
+       * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
+       */
+
+    }, {
+      key: 'requiredCheck',
+      value: function requiredCheck($el) {
+        if (!$el.attr('required')) return true;
+
+        var isGood = true;
+
+        switch ($el[0].type) {
+          case 'checkbox':
+            isGood = $el[0].checked;
+            break;
+
+          case 'select':
+          case 'select-one':
+          case 'select-multiple':
+            var opt = $el.find('option:selected');
+            if (!opt.length || !opt.val()) isGood = false;
+            break;
+
+          default:
+            if (!$el.val() || !$el.val().length) isGood = false;
+        }
+
+        return isGood;
+      }
+
+      /**
+       * Based on $el, get the first element with selector in this order:
+       * 1. The element's direct sibling('s).
+       * 3. The element's parent's children.
+       *
+       * This allows for multiple form errors per input, though if none are found, no form errors will be shown.
+       *
+       * @param {Object} $el - jQuery object to use as reference to find the form error selector.
+       * @returns {Object} jQuery object with the selector.
+       */
+
+    }, {
+      key: 'findFormError',
+      value: function findFormError($el) {
+        var $error = $el.siblings(this.options.formErrorSelector);
+
+        if (!$error.length) {
+          $error = $el.parent().find(this.options.formErrorSelector);
+        }
+
+        return $error;
+      }
+
+      /**
+       * Get the first element in this order:
+       * 2. The <label> with the attribute `[for="someInputId"]`
+       * 3. The `.closest()` <label>
+       *
+       * @param {Object} $el - jQuery object to check for required attribute
+       * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
+       */
+
+    }, {
+      key: 'findLabel',
+      value: function findLabel($el) {
+        var id = $el[0].id;
+        var $label = this.$element.find('label[for="' + id + '"]');
+
+        if (!$label.length) {
+          return $el.closest('label');
+        }
+
+        return $label;
+      }
+
+      /**
+       * Get the set of labels associated with a set of radio els in this order
+       * 2. The <label> with the attribute `[for="someInputId"]`
+       * 3. The `.closest()` <label>
+       *
+       * @param {Object} $el - jQuery object to check for required attribute
+       * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
+       */
+
+    }, {
+      key: 'findRadioLabels',
+      value: function findRadioLabels($els) {
+        var _this3 = this;
+
+        var labels = $els.map(function (i, el) {
+          var id = el.id;
+          var $label = _this3.$element.find('label[for="' + id + '"]');
+
+          if (!$label.length) {
+            $label = $(el).closest('label');
+          }
+          return $label[0];
+        });
+
+        return $(labels);
+      }
+
+      /**
+       * Adds the CSS error class as specified by the Abide settings to the label, input, and the form
+       * @param {Object} $el - jQuery object to add the class to
+       */
+
+    }, {
+      key: 'addErrorClasses',
+      value: function addErrorClasses($el) {
+        var $label = this.findLabel($el);
+        var $formError = this.findFormError($el);
+
+        if ($label.length) {
+          $label.addClass(this.options.labelErrorClass);
+        }
+
+        if ($formError.length) {
+          $formError.addClass(this.options.formErrorClass);
+        }
+
+        $el.addClass(this.options.inputErrorClass).attr('data-invalid', '');
+      }
+
+      /**
+       * Remove CSS error classes etc from an entire radio button group
+       * @param {String} groupName - A string that specifies the name of a radio button group
+       *
+       */
+
+    }, {
+      key: 'removeRadioErrorClasses',
+      value: function removeRadioErrorClasses(groupName) {
+        var $els = this.$element.find(':radio[name="' + groupName + '"]');
+        var $labels = this.findRadioLabels($els);
+        var $formErrors = this.findFormError($els);
+
+        if ($labels.length) {
+          $labels.removeClass(this.options.labelErrorClass);
+        }
+
+        if ($formErrors.length) {
+          $formErrors.removeClass(this.options.formErrorClass);
+        }
+
+        $els.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');
+      }
+
+      /**
+       * Removes CSS error class as specified by the Abide settings from the label, input, and the form
+       * @param {Object} $el - jQuery object to remove the class from
+       */
+
+    }, {
+      key: 'removeErrorClasses',
+      value: function removeErrorClasses($el) {
+        // radios need to clear all of the els
+        if ($el[0].type == 'radio') {
+          return this.removeRadioErrorClasses($el.attr('name'));
+        }
+
+        var $label = this.findLabel($el);
+        var $formError = this.findFormError($el);
+
+        if ($label.length) {
+          $label.removeClass(this.options.labelErrorClass);
+        }
+
+        if ($formError.length) {
+          $formError.removeClass(this.options.formErrorClass);
+        }
+
+        $el.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');
+      }
+
+      /**
+       * Goes through a form to find inputs and proceeds to validate them in ways specific to their type
+       * @fires Abide#invalid
+       * @fires Abide#valid
+       * @param {Object} element - jQuery object to validate, should be an HTML input
+       * @returns {Boolean} goodToGo - If the input is valid or not.
+       */
+
+    }, {
+      key: 'validateInput',
+      value: function validateInput($el) {
+        var clearRequire = this.requiredCheck($el),
+            validated = false,
+            customValidator = true,
+            validator = $el.attr('data-validator'),
+            equalTo = true;
+
+        // don't validate ignored inputs or hidden inputs
+        if ($el.is('[data-abide-ignore]') || $el.is('[type="hidden"]')) {
+          return true;
+        }
+
+        switch ($el[0].type) {
+          case 'radio':
+            validated = this.validateRadio($el.attr('name'));
+            break;
+
+          case 'checkbox':
+            validated = clearRequire;
+            break;
+
+          case 'select':
+          case 'select-one':
+          case 'select-multiple':
+            validated = clearRequire;
+            break;
+
+          default:
+            validated = this.validateText($el);
+        }
+
+        if (validator) {
+          customValidator = this.matchValidation($el, validator, $el.attr('required'));
+        }
+
+        if ($el.attr('data-equalto')) {
+          equalTo = this.options.validators.equalTo($el);
+        }
+
+        var goodToGo = [clearRequire, validated, customValidator, equalTo].indexOf(false) === -1;
+        var message = (goodToGo ? 'valid' : 'invalid') + '.zf.abide';
+
+        this[goodToGo ? 'removeErrorClasses' : 'addErrorClasses']($el);
+
+        /**
+         * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`
+         * Trigger includes the DOM element of the input.
+         * @event Abide#valid
+         * @event Abide#invalid
+         */
+        $el.trigger(message, [$el]);
+
+        return goodToGo;
+      }
+
+      /**
+       * Goes through a form and if there are any invalid inputs, it will display the form error element
+       * @returns {Boolean} noError - true if no errors were detected...
+       * @fires Abide#formvalid
+       * @fires Abide#forminvalid
+       */
+
+    }, {
+      key: 'validateForm',
+      value: function validateForm() {
+        var acc = [];
+        var _this = this;
+
+        this.$inputs.each(function () {
+          acc.push(_this.validateInput($(this)));
+        });
+
+        var noError = acc.indexOf(false) === -1;
+
+        this.$element.find('[data-abide-error]').css('display', noError ? 'none' : 'block');
+
+        /**
+         * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.
+         * Trigger includes the element of the form.
+         * @event Abide#formvalid
+         * @event Abide#forminvalid
+         */
+        this.$element.trigger((noError ? 'formvalid' : 'forminvalid') + '.zf.abide', [this.$element]);
+
+        return noError;
+      }
+
+      /**
+       * Determines whether or a not a text input is valid based on the pattern specified in the attribute. If no matching pattern is found, returns true.
+       * @param {Object} $el - jQuery object to validate, should be a text input HTML element
+       * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns
+       * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified
+       */
+
+    }, {
+      key: 'validateText',
+      value: function validateText($el, pattern) {
+        // A pattern can be passed to this function, or it will be infered from the input's "pattern" attribute, or it's "type" attribute
+        pattern = pattern || $el.attr('pattern') || $el.attr('type');
+        var inputText = $el.val();
+        var valid = false;
+
+        if (inputText.length) {
+          // If the pattern attribute on the element is in Abide's list of patterns, then test that regexp
+          if (this.options.patterns.hasOwnProperty(pattern)) {
+            valid = this.options.patterns[pattern].test(inputText);
+          }
+          // If the pattern name isn't also the type attribute of the field, then test it as a regexp
+          else if (pattern !== $el.attr('type')) {
+              valid = new RegExp(pattern).test(inputText);
+            } else {
+              valid = true;
+            }
+        }
+        // An empty field is valid if it's not required
+        else if (!$el.prop('required')) {
+            valid = true;
+          }
+
+        return valid;
+      }
+
+      /**
+       * Determines whether or a not a radio input is valid based on whether or not it is required and selected. Although the function targets a single `<input>`, it validates by checking the `required` and `checked` properties of all radio buttons in its group.
+       * @param {String} groupName - A string that specifies the name of a radio button group
+       * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)
+       */
+
+    }, {
+      key: 'validateRadio',
+      value: function validateRadio(groupName) {
+        // If at least one radio in the group has the `required` attribute, the group is considered required
+        // Per W3C spec, all radio buttons in a group should have `required`, but we're being nice
+        var $group = this.$element.find(':radio[name="' + groupName + '"]');
+        var valid = false,
+            required = false;
+
+        // For the group to be required, at least one radio needs to be required
+        $group.each(function (i, e) {
+          if ($(e).attr('required')) {
+            required = true;
+          }
+        });
+        if (!required) valid = true;
+
+        if (!valid) {
+          // For the group to be valid, at least one radio needs to be checked
+          $group.each(function (i, e) {
+            if ($(e).prop('checked')) {
+              valid = true;
+            }
+          });
+        };
+
+        return valid;
+      }
+
+      /**
+       * Determines if a selected input passes a custom validation function. Multiple validations can be used, if passed to the element with `data-validator="foo bar baz"` in a space separated listed.
+       * @param {Object} $el - jQuery input element.
+       * @param {String} validators - a string of function names matching functions in the Abide.options.validators object.
+       * @param {Boolean} required - self explanatory?
+       * @returns {Boolean} - true if validations passed.
+       */
+
+    }, {
+      key: 'matchValidation',
+      value: function matchValidation($el, validators, required) {
+        var _this4 = this;
+
+        required = required ? true : false;
+
+        var clear = validators.split(' ').map(function (v) {
+          return _this4.options.validators[v]($el, required, $el.parent());
+        });
+        return clear.indexOf(false) === -1;
+      }
+
+      /**
+       * Resets form inputs and styles
+       * @fires Abide#formreset
+       */
+
+    }, {
+      key: 'resetForm',
+      value: function resetForm() {
+        var $form = this.$element,
+            opts = this.options;
+
+        $('.' + opts.labelErrorClass, $form).not('small').removeClass(opts.labelErrorClass);
+        $('.' + opts.inputErrorClass, $form).not('small').removeClass(opts.inputErrorClass);
+        $(opts.formErrorSelector + '.' + opts.formErrorClass).removeClass(opts.formErrorClass);
+        $form.find('[data-abide-error]').css('display', 'none');
+        $(':input', $form).not(':button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]').val('').removeAttr('data-invalid');
+        $(':input:radio', $form).not('[data-abide-ignore]').prop('checked', false).removeAttr('data-invalid');
+        $(':input:checkbox', $form).not('[data-abide-ignore]').prop('checked', false).removeAttr('data-invalid');
+        /**
+         * Fires when the form has been reset.
+         * @event Abide#formreset
+         */
+        $form.trigger('formreset.zf.abide', [$form]);
+      }
+
+      /**
+       * Destroys an instance of Abide.
+       * Removes error styles and classes from elements, without resetting their values.
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        var _this = this;
+        this.$element.off('.abide').find('[data-abide-error]').css('display', 'none');
+
+        this.$inputs.off('.abide').each(function () {
+          _this.removeErrorClasses($(this));
+        });
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Abide;
+  }();
+
+  /**
+   * Default settings for plugin
+   */
+
+
+  Abide.defaults = {
+    /**
+     * The default event to validate inputs. Checkboxes and radios validate immediately.
+     * Remove or change this value for manual validation.
+     * @option
+     * @example 'fieldChange'
+     */
+    validateOn: 'fieldChange',
+
+    /**
+     * Class to be applied to input labels on failed validation.
+     * @option
+     * @example 'is-invalid-label'
+     */
+    labelErrorClass: 'is-invalid-label',
+
+    /**
+     * Class to be applied to inputs on failed validation.
+     * @option
+     * @example 'is-invalid-input'
+     */
+    inputErrorClass: 'is-invalid-input',
+
+    /**
+     * Class selector to use to target Form Errors for show/hide.
+     * @option
+     * @example '.form-error'
+     */
+    formErrorSelector: '.form-error',
+
+    /**
+     * Class added to Form Errors on failed validation.
+     * @option
+     * @example 'is-visible'
+     */
+    formErrorClass: 'is-visible',
+
+    /**
+     * Set to true to validate text inputs on any value change.
+     * @option
+     * @example false
+     */
+    liveValidate: false,
+
+    patterns: {
+      alpha: /^[a-zA-Z]+$/,
+      alpha_numeric: /^[a-zA-Z0-9]+$/,
+      integer: /^[-+]?\d+$/,
+      number: /^[-+]?\d*(?:[\.\,]\d+)?$/,
+
+      // amex, visa, diners
+      card: /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,
+      cvv: /^([0-9]){3,4}$/,
+
+      // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
+      email: /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,
+
+      url: /^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,
+      // abc.de
+      domain: /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,
+
+      datetime: /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,
+      // YYYY-MM-DD
+      date: /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,
+      // HH:MM:SS
+      time: /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,
+      dateISO: /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,
+      // MM/DD/YYYY
+      month_day_year: /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,
+      // DD/MM/YYYY
+      day_month_year: /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,
+
+      // #FFF or #FFFFFF
+      color: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
+    },
+
+    /**
+     * Optional validation functions to be used. `equalTo` being the only default included function.
+     * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:
+     * el : The jQuery element to validate.
+     * required : Boolean value of the required attribute be present or not.
+     * parent : The direct parent of the input.
+     * @option
+     */
+    validators: {
+      equalTo: function (el, required, parent) {
+        return $('#' + el.attr('data-equalto')).val() === el.val();
+      }
+    }
+  };
+
+  // Window exports
+  Foundation.plugin(Abide, 'Abide');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.accordion.js b/libraries/foundation-6/dist/plugins/foundation.accordion.js
new file mode 100755
index 00000000..ce0f9b3a
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.accordion.js
@@ -0,0 +1,262 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Accordion module.
+   * @module foundation.accordion
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.motion
+   */
+
+  var Accordion = function () {
+    /**
+     * Creates a new instance of an accordion.
+     * @class
+     * @fires Accordion#init
+     * @param {jQuery} element - jQuery object to make into an accordion.
+     * @param {Object} options - a plain object with settings to override the default options.
+     */
+
+    function Accordion(element, options) {
+      _classCallCheck(this, Accordion);
+
+      this.$element = element;
+      this.options = $.extend({}, Accordion.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Accordion');
+      Foundation.Keyboard.register('Accordion', {
+        'ENTER': 'toggle',
+        'SPACE': 'toggle',
+        'ARROW_DOWN': 'next',
+        'ARROW_UP': 'previous'
+      });
+    }
+
+    /**
+     * Initializes the accordion by animating the preset active pane(s).
+     * @private
+     */
+
+
+    _createClass(Accordion, [{
+      key: '_init',
+      value: function _init() {
+        this.$element.attr('role', 'tablist');
+        this.$tabs = this.$element.children('li, [data-accordion-item]');
+
+        this.$tabs.each(function (idx, el) {
+          var $el = $(el),
+              $content = $el.children('[data-tab-content]'),
+              id = $content[0].id || Foundation.GetYoDigits(6, 'accordion'),
+              linkId = el.id || id + '-label';
+
+          $el.find('a:first').attr({
+            'aria-controls': id,
+            'role': 'tab',
+            'id': linkId,
+            'aria-expanded': false,
+            'aria-selected': false
+          });
+
+          $content.attr({ 'role': 'tabpanel', 'aria-labelledby': linkId, 'aria-hidden': true, 'id': id });
+        });
+        var $initActive = this.$element.find('.is-active').children('[data-tab-content]');
+        if ($initActive.length) {
+          this.down($initActive, true);
+        }
+        this._events();
+      }
+
+      /**
+       * Adds event handlers for items within the accordion.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+
+        this.$tabs.each(function () {
+          var $elem = $(this);
+          var $tabContent = $elem.children('[data-tab-content]');
+          if ($tabContent.length) {
+            $elem.children('a').off('click.zf.accordion keydown.zf.accordion').on('click.zf.accordion', function (e) {
+              // $(this).children('a').on('click.zf.accordion', function(e) {
+              e.preventDefault();
+              if ($elem.hasClass('is-active')) {
+                if (_this.options.allowAllClosed || $elem.siblings().hasClass('is-active')) {
+                  _this.up($tabContent);
+                }
+              } else {
+                _this.down($tabContent);
+              }
+            }).on('keydown.zf.accordion', function (e) {
+              Foundation.Keyboard.handleKey(e, 'Accordion', {
+                toggle: function () {
+                  _this.toggle($tabContent);
+                },
+                next: function () {
+                  var $a = $elem.next().find('a').focus();
+                  if (!_this.options.multiExpand) {
+                    $a.trigger('click.zf.accordion');
+                  }
+                },
+                previous: function () {
+                  var $a = $elem.prev().find('a').focus();
+                  if (!_this.options.multiExpand) {
+                    $a.trigger('click.zf.accordion');
+                  }
+                },
+                handled: function () {
+                  e.preventDefault();
+                  e.stopPropagation();
+                }
+              });
+            });
+          }
+        });
+      }
+
+      /**
+       * Toggles the selected content pane's open/close state.
+       * @param {jQuery} $target - jQuery object of the pane to toggle.
+       * @function
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle($target) {
+        if ($target.parent().hasClass('is-active')) {
+          if (this.options.allowAllClosed || $target.parent().siblings().hasClass('is-active')) {
+            this.up($target);
+          } else {
+            return;
+          }
+        } else {
+          this.down($target);
+        }
+      }
+
+      /**
+       * Opens the accordion tab defined by `$target`.
+       * @param {jQuery} $target - Accordion pane to open.
+       * @param {Boolean} firstTime - flag to determine if reflow should happen.
+       * @fires Accordion#down
+       * @function
+       */
+
+    }, {
+      key: 'down',
+      value: function down($target, firstTime) {
+        var _this2 = this;
+
+        if (!this.options.multiExpand && !firstTime) {
+          var $currentActive = this.$element.children('.is-active').children('[data-tab-content]');
+          if ($currentActive.length) {
+            this.up($currentActive);
+          }
+        }
+
+        $target.attr('aria-hidden', false).parent('[data-tab-content]').addBack().parent().addClass('is-active');
+
+        $target.slideDown(this.options.slideSpeed, function () {
+          /**
+           * Fires when the tab is done opening.
+           * @event Accordion#down
+           */
+          _this2.$element.trigger('down.zf.accordion', [$target]);
+        });
+
+        $('#' + $target.attr('aria-labelledby')).attr({
+          'aria-expanded': true,
+          'aria-selected': true
+        });
+      }
+
+      /**
+       * Closes the tab defined by `$target`.
+       * @param {jQuery} $target - Accordion tab to close.
+       * @fires Accordion#up
+       * @function
+       */
+
+    }, {
+      key: 'up',
+      value: function up($target) {
+        var $aunts = $target.parent().siblings(),
+            _this = this;
+        var canClose = this.options.multiExpand ? $aunts.hasClass('is-active') : $target.parent().hasClass('is-active');
+
+        if (!this.options.allowAllClosed && !canClose) {
+          return;
+        }
+
+        // Foundation.Move(this.options.slideSpeed, $target, function(){
+        $target.slideUp(_this.options.slideSpeed, function () {
+          /**
+           * Fires when the tab is done collapsing up.
+           * @event Accordion#up
+           */
+          _this.$element.trigger('up.zf.accordion', [$target]);
+        });
+        // });
+
+        $target.attr('aria-hidden', true).parent().removeClass('is-active');
+
+        $('#' + $target.attr('aria-labelledby')).attr({
+          'aria-expanded': false,
+          'aria-selected': false
+        });
+      }
+
+      /**
+       * Destroys an instance of an accordion.
+       * @fires Accordion#destroyed
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.find('[data-tab-content]').stop(true).slideUp(0).css('display', '');
+        this.$element.find('a').off('.zf.accordion');
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Accordion;
+  }();
+
+  Accordion.defaults = {
+    /**
+     * Amount of time to animate the opening of an accordion pane.
+     * @option
+     * @example 250
+     */
+    slideSpeed: 250,
+    /**
+     * Allow the accordion to have multiple open panes.
+     * @option
+     * @example false
+     */
+    multiExpand: false,
+    /**
+     * Allow the accordion to close all panes.
+     * @option
+     * @example false
+     */
+    allowAllClosed: false
+  };
+
+  // Window exports
+  Foundation.plugin(Accordion, 'Accordion');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.accordionMenu.js b/libraries/foundation-6/dist/plugins/foundation.accordionMenu.js
new file mode 100755
index 00000000..cbd4127e
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.accordionMenu.js
@@ -0,0 +1,307 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * AccordionMenu module.
+   * @module foundation.accordionMenu
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.motion
+   * @requires foundation.util.nest
+   */
+
+  var AccordionMenu = function () {
+    /**
+     * Creates a new instance of an accordion menu.
+     * @class
+     * @fires AccordionMenu#init
+     * @param {jQuery} element - jQuery object to make into an accordion menu.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function AccordionMenu(element, options) {
+      _classCallCheck(this, AccordionMenu);
+
+      this.$element = element;
+      this.options = $.extend({}, AccordionMenu.defaults, this.$element.data(), options);
+
+      Foundation.Nest.Feather(this.$element, 'accordion');
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'AccordionMenu');
+      Foundation.Keyboard.register('AccordionMenu', {
+        'ENTER': 'toggle',
+        'SPACE': 'toggle',
+        'ARROW_RIGHT': 'open',
+        'ARROW_UP': 'up',
+        'ARROW_DOWN': 'down',
+        'ARROW_LEFT': 'close',
+        'ESCAPE': 'closeAll',
+        'TAB': 'down',
+        'SHIFT_TAB': 'up'
+      });
+    }
+
+    /**
+     * Initializes the accordion menu by hiding all nested menus.
+     * @private
+     */
+
+
+    _createClass(AccordionMenu, [{
+      key: '_init',
+      value: function _init() {
+        this.$element.find('[data-submenu]').not('.is-active').slideUp(0); //.find('a').css('padding-left', '1rem');
+        this.$element.attr({
+          'role': 'tablist',
+          'aria-multiselectable': this.options.multiOpen
+        });
+
+        this.$menuLinks = this.$element.find('.is-accordion-submenu-parent');
+        this.$menuLinks.each(function () {
+          var linkId = this.id || Foundation.GetYoDigits(6, 'acc-menu-link'),
+              $elem = $(this),
+              $sub = $elem.children('[data-submenu]'),
+              subId = $sub[0].id || Foundation.GetYoDigits(6, 'acc-menu'),
+              isActive = $sub.hasClass('is-active');
+          $elem.attr({
+            'aria-controls': subId,
+            'aria-expanded': isActive,
+            'role': 'tab',
+            'id': linkId
+          });
+          $sub.attr({
+            'aria-labelledby': linkId,
+            'aria-hidden': !isActive,
+            'role': 'tabpanel',
+            'id': subId
+          });
+        });
+        var initPanes = this.$element.find('.is-active');
+        if (initPanes.length) {
+          var _this = this;
+          initPanes.each(function () {
+            _this.down($(this));
+          });
+        }
+        this._events();
+      }
+
+      /**
+       * Adds event handlers for items within the menu.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+
+        this.$element.find('li').each(function () {
+          var $submenu = $(this).children('[data-submenu]');
+
+          if ($submenu.length) {
+            $(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function (e) {
+              e.preventDefault();
+
+              _this.toggle($submenu);
+            });
+          }
+        }).on('keydown.zf.accordionmenu', function (e) {
+          var $element = $(this),
+              $elements = $element.parent('ul').children('li'),
+              $prevElement,
+              $nextElement,
+              $target = $element.children('[data-submenu]');
+
+          $elements.each(function (i) {
+            if ($(this).is($element)) {
+              $prevElement = $elements.eq(Math.max(0, i - 1)).find('a').first();
+              $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)).find('a').first();
+
+              if ($(this).children('[data-submenu]:visible').length) {
+                // has open sub menu
+                $nextElement = $element.find('li:first-child').find('a').first();
+              }
+              if ($(this).is(':first-child')) {
+                // is first element of sub menu
+                $prevElement = $element.parents('li').first().find('a').first();
+              } else if ($prevElement.children('[data-submenu]:visible').length) {
+                // if previous element has open sub menu
+                $prevElement = $prevElement.find('li:last-child').find('a').first();
+              }
+              if ($(this).is(':last-child')) {
+                // is last element of sub menu
+                $nextElement = $element.parents('li').first().next('li').find('a').first();
+              }
+
+              return;
+            }
+          });
+          Foundation.Keyboard.handleKey(e, 'AccordionMenu', {
+            open: function () {
+              if ($target.is(':hidden')) {
+                _this.down($target);
+                $target.find('li').first().find('a').first().focus();
+              }
+            },
+            close: function () {
+              if ($target.length && !$target.is(':hidden')) {
+                // close active sub of this item
+                _this.up($target);
+              } else if ($element.parent('[data-submenu]').length) {
+                // close currently open sub
+                _this.up($element.parent('[data-submenu]'));
+                $element.parents('li').first().find('a').first().focus();
+              }
+            },
+            up: function () {
+              $prevElement.attr('tabindex', -1).focus();
+              return true;
+            },
+            down: function () {
+              $nextElement.attr('tabindex', -1).focus();
+              return true;
+            },
+            toggle: function () {
+              if ($element.children('[data-submenu]').length) {
+                _this.toggle($element.children('[data-submenu]'));
+              }
+            },
+            closeAll: function () {
+              _this.hideAll();
+            },
+            handled: function (preventDefault) {
+              if (preventDefault) {
+                e.preventDefault();
+              }
+              e.stopImmediatePropagation();
+            }
+          });
+        }); //.attr('tabindex', 0);
+      }
+
+      /**
+       * Closes all panes of the menu.
+       * @function
+       */
+
+    }, {
+      key: 'hideAll',
+      value: function hideAll() {
+        this.$element.find('[data-submenu]').slideUp(this.options.slideSpeed);
+      }
+
+      /**
+       * Toggles the open/close state of a submenu.
+       * @function
+       * @param {jQuery} $target - the submenu to toggle
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle($target) {
+        if (!$target.is(':animated')) {
+          if (!$target.is(':hidden')) {
+            this.up($target);
+          } else {
+            this.down($target);
+          }
+        }
+      }
+
+      /**
+       * Opens the sub-menu defined by `$target`.
+       * @param {jQuery} $target - Sub-menu to open.
+       * @fires AccordionMenu#down
+       */
+
+    }, {
+      key: 'down',
+      value: function down($target) {
+        var _this = this;
+
+        if (!this.options.multiOpen) {
+          this.up(this.$element.find('.is-active').not($target.parentsUntil(this.$element).add($target)));
+        }
+
+        $target.addClass('is-active').attr({ 'aria-hidden': false }).parent('.is-accordion-submenu-parent').attr({ 'aria-expanded': true });
+
+        //Foundation.Move(this.options.slideSpeed, $target, function() {
+        $target.slideDown(_this.options.slideSpeed, function () {
+          /**
+           * Fires when the menu is done opening.
+           * @event AccordionMenu#down
+           */
+          _this.$element.trigger('down.zf.accordionMenu', [$target]);
+        });
+        //});
+      }
+
+      /**
+       * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.
+       * @param {jQuery} $target - Sub-menu to close.
+       * @fires AccordionMenu#up
+       */
+
+    }, {
+      key: 'up',
+      value: function up($target) {
+        var _this = this;
+        //Foundation.Move(this.options.slideSpeed, $target, function(){
+        $target.slideUp(_this.options.slideSpeed, function () {
+          /**
+           * Fires when the menu is done collapsing up.
+           * @event AccordionMenu#up
+           */
+          _this.$element.trigger('up.zf.accordionMenu', [$target]);
+        });
+        //});
+
+        var $menus = $target.find('[data-submenu]').slideUp(0).addBack().attr('aria-hidden', true);
+
+        $menus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false);
+      }
+
+      /**
+       * Destroys an instance of accordion menu.
+       * @fires AccordionMenu#destroyed
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.find('[data-submenu]').slideDown(0).css('display', '');
+        this.$element.find('a').off('click.zf.accordionMenu');
+
+        Foundation.Nest.Burn(this.$element, 'accordion');
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return AccordionMenu;
+  }();
+
+  AccordionMenu.defaults = {
+    /**
+     * Amount of time to animate the opening of a submenu in ms.
+     * @option
+     * @example 250
+     */
+    slideSpeed: 250,
+    /**
+     * Allow the menu to have multiple open panes.
+     * @option
+     * @example true
+     */
+    multiOpen: true
+  };
+
+  // Window exports
+  Foundation.plugin(AccordionMenu, 'AccordionMenu');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.core.js b/libraries/foundation-6/dist/plugins/foundation.core.js
new file mode 100755
index 00000000..002c7a0e
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.core.js
@@ -0,0 +1,386 @@
+!function ($) {
+
+  "use strict";
+
+  var FOUNDATION_VERSION = '6.2.2';
+
+  // Global Foundation object
+  // This is attached to the window, or used as a module for AMD/Browserify
+  var Foundation = {
+    version: FOUNDATION_VERSION,
+
+    /**
+     * Stores initialized plugins.
+     */
+    _plugins: {},
+
+    /**
+     * Stores generated unique ids for plugin instances
+     */
+    _uuids: [],
+
+    /**
+     * Returns a boolean for RTL support
+     */
+    rtl: function () {
+      return $('html').attr('dir') === 'rtl';
+    },
+    /**
+     * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.
+     * @param {Object} plugin - The constructor of the plugin.
+     */
+    plugin: function (plugin, name) {
+      // Object key to use when adding to global Foundation object
+      // Examples: Foundation.Reveal, Foundation.OffCanvas
+      var className = name || functionName(plugin);
+      // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin
+      // Examples: data-reveal, data-off-canvas
+      var attrName = hyphenate(className);
+
+      // Add to the Foundation object and the plugins list (for reflowing)
+      this._plugins[attrName] = this[className] = plugin;
+    },
+    /**
+     * @function
+     * Populates the _uuids array with pointers to each individual plugin instance.
+     * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.
+     * Also fires the initialization event for each plugin, consolidating repetitive code.
+     * @param {Object} plugin - an instance of a plugin, usually `this` in context.
+     * @param {String} name - the name of the plugin, passed as a camelCased string.
+     * @fires Plugin#init
+     */
+    registerPlugin: function (plugin, name) {
+      var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();
+      plugin.uuid = this.GetYoDigits(6, pluginName);
+
+      if (!plugin.$element.attr('data-' + pluginName)) {
+        plugin.$element.attr('data-' + pluginName, plugin.uuid);
+      }
+      if (!plugin.$element.data('zfPlugin')) {
+        plugin.$element.data('zfPlugin', plugin);
+      }
+      /**
+       * Fires when the plugin has initialized.
+       * @event Plugin#init
+       */
+      plugin.$element.trigger('init.zf.' + pluginName);
+
+      this._uuids.push(plugin.uuid);
+
+      return;
+    },
+    /**
+     * @function
+     * Removes the plugins uuid from the _uuids array.
+     * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.
+     * Also fires the destroyed event for the plugin, consolidating repetitive code.
+     * @param {Object} plugin - an instance of a plugin, usually `this` in context.
+     * @fires Plugin#destroyed
+     */
+    unregisterPlugin: function (plugin) {
+      var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));
+
+      this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);
+      plugin.$element.removeAttr('data-' + pluginName).removeData('zfPlugin')
+      /**
+       * Fires when the plugin has been destroyed.
+       * @event Plugin#destroyed
+       */
+      .trigger('destroyed.zf.' + pluginName);
+      for (var prop in plugin) {
+        plugin[prop] = null; //clean up script to prep for garbage collection.
+      }
+      return;
+    },
+
+    /**
+     * @function
+     * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.
+     * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`
+     * @default If no argument is passed, reflow all currently active plugins.
+     */
+    reInit: function (plugins) {
+      var isJQ = plugins instanceof $;
+      try {
+        if (isJQ) {
+          plugins.each(function () {
+            $(this).data('zfPlugin')._init();
+          });
+        } else {
+          var type = typeof plugins,
+              _this = this,
+              fns = {
+            'object': function (plgs) {
+              plgs.forEach(function (p) {
+                p = hyphenate(p);
+                $('[data-' + p + ']').foundation('_init');
+              });
+            },
+            'string': function () {
+              plugins = hyphenate(plugins);
+              $('[data-' + plugins + ']').foundation('_init');
+            },
+            'undefined': function () {
+              this['object'](Object.keys(_this._plugins));
+            }
+          };
+          fns[type](plugins);
+        }
+      } catch (err) {
+        console.error(err);
+      } finally {
+        return plugins;
+      }
+    },
+
+    /**
+     * returns a random base-36 uid with namespacing
+     * @function
+     * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.
+     * @param {String} namespace - name of plugin to be incorporated in uid, optional.
+     * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.
+     * @returns {String} - unique id
+     */
+    GetYoDigits: function (length, namespace) {
+      length = length || 6;
+      return Math.round(Math.pow(36, length + 1) - Math.random() * Math.pow(36, length)).toString(36).slice(1) + (namespace ? '-' + namespace : '');
+    },
+    /**
+     * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.
+     * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.
+     * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.
+     */
+    reflow: function (elem, plugins) {
+
+      // If plugins is undefined, just grab everything
+      if (typeof plugins === 'undefined') {
+        plugins = Object.keys(this._plugins);
+      }
+      // If plugins is a string, convert it to an array with one item
+      else if (typeof plugins === 'string') {
+          plugins = [plugins];
+        }
+
+      var _this = this;
+
+      // Iterate through each plugin
+      $.each(plugins, function (i, name) {
+        // Get the current plugin
+        var plugin = _this._plugins[name];
+
+        // Localize the search to all elements inside elem, as well as elem itself, unless elem === document
+        var $elem = $(elem).find('[data-' + name + ']').addBack('[data-' + name + ']');
+
+        // For each plugin found, initialize it
+        $elem.each(function () {
+          var $el = $(this),
+              opts = {};
+          // Don't double-dip on plugins
+          if ($el.data('zfPlugin')) {
+            console.warn("Tried to initialize " + name + " on an element that already has a Foundation plugin.");
+            return;
+          }
+
+          if ($el.attr('data-options')) {
+            var thing = $el.attr('data-options').split(';').forEach(function (e, i) {
+              var opt = e.split(':').map(function (el) {
+                return el.trim();
+              });
+              if (opt[0]) opts[opt[0]] = parseValue(opt[1]);
+            });
+          }
+          try {
+            $el.data('zfPlugin', new plugin($(this), opts));
+          } catch (er) {
+            console.error(er);
+          } finally {
+            return;
+          }
+        });
+      });
+    },
+    getFnName: functionName,
+    transitionend: function ($elem) {
+      var transitions = {
+        'transition': 'transitionend',
+        'WebkitTransition': 'webkitTransitionEnd',
+        'MozTransition': 'transitionend',
+        'OTransition': 'otransitionend'
+      };
+      var elem = document.createElement('div'),
+          end;
+
+      for (var t in transitions) {
+        if (typeof elem.style[t] !== 'undefined') {
+          end = transitions[t];
+        }
+      }
+      if (end) {
+        return end;
+      } else {
+        end = setTimeout(function () {
+          $elem.triggerHandler('transitionend', [$elem]);
+        }, 1);
+        return 'transitionend';
+      }
+    }
+  };
+
+  Foundation.util = {
+    /**
+     * Function for applying a debounce effect to a function call.
+     * @function
+     * @param {Function} func - Function to be called at end of timeout.
+     * @param {Number} delay - Time in ms to delay the call of `func`.
+     * @returns function
+     */
+    throttle: function (func, delay) {
+      var timer = null;
+
+      return function () {
+        var context = this,
+            args = arguments;
+
+        if (timer === null) {
+          timer = setTimeout(function () {
+            func.apply(context, args);
+            timer = null;
+          }, delay);
+        }
+      };
+    }
+  };
+
+  // TODO: consider not making this a jQuery function
+  // TODO: need way to reflow vs. re-initialize
+  /**
+   * The Foundation jQuery method.
+   * @param {String|Array} method - An action to perform on the current jQuery object.
+   */
+  var foundation = function (method) {
+    var type = typeof method,
+        $meta = $('meta.foundation-mq'),
+        $noJS = $('.no-js');
+
+    if (!$meta.length) {
+      $('<meta class="foundation-mq">').appendTo(document.head);
+    }
+    if ($noJS.length) {
+      $noJS.removeClass('no-js');
+    }
+
+    if (type === 'undefined') {
+      //needs to initialize the Foundation object, or an individual plugin.
+      Foundation.MediaQuery._init();
+      Foundation.reflow(this);
+    } else if (type === 'string') {
+      //an individual method to invoke on a plugin or group of plugins
+      var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary
+      var plugClass = this.data('zfPlugin'); //determine the class of plugin
+
+      if (plugClass !== undefined && plugClass[method] !== undefined) {
+        //make sure both the class and method exist
+        if (this.length === 1) {
+          //if there's only one, call it directly.
+          plugClass[method].apply(plugClass, args);
+        } else {
+          this.each(function (i, el) {
+            //otherwise loop through the jQuery collection and invoke the method on each
+            plugClass[method].apply($(el).data('zfPlugin'), args);
+          });
+        }
+      } else {
+        //error for no class or no method
+        throw new ReferenceError("We're sorry, '" + method + "' is not an available method for " + (plugClass ? functionName(plugClass) : 'this element') + '.');
+      }
+    } else {
+      //error for invalid argument type
+      throw new TypeError('We\'re sorry, ' + type + ' is not a valid parameter. You must use a string representing the method you wish to invoke.');
+    }
+    return this;
+  };
+
+  window.Foundation = Foundation;
+  $.fn.foundation = foundation;
+
+  // Polyfill for requestAnimationFrame
+  (function () {
+    if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () {
+      return new Date().getTime();
+    };
+
+    var vendors = ['webkit', 'moz'];
+    for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
+      var vp = vendors[i];
+      window.requestAnimationFrame = window[vp + 'RequestAnimationFrame'];
+      window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame'];
+    }
+    if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {
+      var lastTime = 0;
+      window.requestAnimationFrame = function (callback) {
+        var now = Date.now();
+        var nextTime = Math.max(lastTime + 16, now);
+        return setTimeout(function () {
+          callback(lastTime = nextTime);
+        }, nextTime - now);
+      };
+      window.cancelAnimationFrame = clearTimeout;
+    }
+    /**
+     * Polyfill for performance.now, required by rAF
+     */
+    if (!window.performance || !window.performance.now) {
+      window.performance = {
+        start: Date.now(),
+        now: function () {
+          return Date.now() - this.start;
+        }
+      };
+    }
+  })();
+  if (!Function.prototype.bind) {
+    Function.prototype.bind = function (oThis) {
+      if (typeof this !== 'function') {
+        // closest thing possible to the ECMAScript 5
+        // internal IsCallable function
+        throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');
+      }
+
+      var aArgs = Array.prototype.slice.call(arguments, 1),
+          fToBind = this,
+          fNOP = function () {},
+          fBound = function () {
+        return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));
+      };
+
+      if (this.prototype) {
+        // native functions don't have a prototype
+        fNOP.prototype = this.prototype;
+      }
+      fBound.prototype = new fNOP();
+
+      return fBound;
+    };
+  }
+  // Polyfill to get the name of a function in IE9
+  function functionName(fn) {
+    if (Function.prototype.name === undefined) {
+      var funcNameRegex = /function\s([^(]{1,})\(/;
+      var results = funcNameRegex.exec(fn.toString());
+      return results && results.length > 1 ? results[1].trim() : "";
+    } else if (fn.prototype === undefined) {
+      return fn.constructor.name;
+    } else {
+      return fn.prototype.constructor.name;
+    }
+  }
+  function parseValue(str) {
+    if (/true/.test(str)) return true;else if (/false/.test(str)) return false;else if (!isNaN(str * 1)) return parseFloat(str);
+    return str;
+  }
+  // Convert PascalCase to kebab-case
+  // Thank you: http://stackoverflow.com/a/8955580
+  function hyphenate(str) {
+    return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
+  }
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.drilldown.js b/libraries/foundation-6/dist/plugins/foundation.drilldown.js
new file mode 100755
index 00000000..f16f4c8b
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.drilldown.js
@@ -0,0 +1,409 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Drilldown module.
+   * @module foundation.drilldown
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.motion
+   * @requires foundation.util.nest
+   */
+
+  var Drilldown = function () {
+    /**
+     * Creates a new instance of a drilldown menu.
+     * @class
+     * @param {jQuery} element - jQuery object to make into an accordion menu.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Drilldown(element, options) {
+      _classCallCheck(this, Drilldown);
+
+      this.$element = element;
+      this.options = $.extend({}, Drilldown.defaults, this.$element.data(), options);
+
+      Foundation.Nest.Feather(this.$element, 'drilldown');
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Drilldown');
+      Foundation.Keyboard.register('Drilldown', {
+        'ENTER': 'open',
+        'SPACE': 'open',
+        'ARROW_RIGHT': 'next',
+        'ARROW_UP': 'up',
+        'ARROW_DOWN': 'down',
+        'ARROW_LEFT': 'previous',
+        'ESCAPE': 'close',
+        'TAB': 'down',
+        'SHIFT_TAB': 'up'
+      });
+    }
+
+    /**
+     * Initializes the drilldown by creating jQuery collections of elements
+     * @private
+     */
+
+
+    _createClass(Drilldown, [{
+      key: '_init',
+      value: function _init() {
+        this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a');
+        this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]');
+        this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'menuitem').find('a');
+
+        this._prepareMenu();
+
+        this._keyboardEvents();
+      }
+
+      /**
+       * prepares drilldown menu by setting attributes to links and elements
+       * sets a min height to prevent content jumping
+       * wraps the element if not already wrapped
+       * @private
+       * @function
+       */
+
+    }, {
+      key: '_prepareMenu',
+      value: function _prepareMenu() {
+        var _this = this;
+        // if(!this.options.holdOpen){
+        //   this._menuLinkEvents();
+        // }
+        this.$submenuAnchors.each(function () {
+          var $link = $(this);
+          var $sub = $link.parent();
+          if (_this.options.parentLink) {
+            $link.clone().prependTo($sub.children('[data-submenu]')).wrap('<li class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="menu-item"></li>');
+          }
+          $link.data('savedHref', $link.attr('href')).removeAttr('href');
+          $link.children('[data-submenu]').attr({
+            'aria-hidden': true,
+            'tabindex': 0,
+            'role': 'menu'
+          });
+          _this._events($link);
+        });
+        this.$submenus.each(function () {
+          var $menu = $(this),
+              $back = $menu.find('.js-drilldown-back');
+          if (!$back.length) {
+            $menu.prepend(_this.options.backButton);
+          }
+          _this._back($menu);
+        });
+        if (!this.$element.parent().hasClass('is-drilldown')) {
+          this.$wrapper = $(this.options.wrapper).addClass('is-drilldown');
+          this.$wrapper = this.$element.wrap(this.$wrapper).parent().css(this._getMaxDims());
+        }
+      }
+
+      /**
+       * Adds event handlers to elements in the menu.
+       * @function
+       * @private
+       * @param {jQuery} $elem - the current menu item to add handlers to.
+       */
+
+    }, {
+      key: '_events',
+      value: function _events($elem) {
+        var _this = this;
+
+        $elem.off('click.zf.drilldown').on('click.zf.drilldown', function (e) {
+          if ($(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')) {
+            e.stopImmediatePropagation();
+            e.preventDefault();
+          }
+
+          // if(e.target !== e.currentTarget.firstElementChild){
+          //   return false;
+          // }
+          _this._show($elem.parent('li'));
+
+          if (_this.options.closeOnClick) {
+            var $body = $('body');
+            $body.off('.zf.drilldown').on('click.zf.drilldown', function (e) {
+              if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) {
+                return;
+              }
+              e.preventDefault();
+              _this._hideAll();
+              $body.off('.zf.drilldown');
+            });
+          }
+        });
+      }
+
+      /**
+       * Adds keydown event listener to `li`'s in the menu.
+       * @private
+       */
+
+    }, {
+      key: '_keyboardEvents',
+      value: function _keyboardEvents() {
+        var _this = this;
+
+        this.$menuItems.add(this.$element.find('.js-drilldown-back > a')).on('keydown.zf.drilldown', function (e) {
+
+          var $element = $(this),
+              $elements = $element.parent('li').parent('ul').children('li').children('a'),
+              $prevElement,
+              $nextElement;
+
+          $elements.each(function (i) {
+            if ($(this).is($element)) {
+              $prevElement = $elements.eq(Math.max(0, i - 1));
+              $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1));
+              return;
+            }
+          });
+
+          Foundation.Keyboard.handleKey(e, 'Drilldown', {
+            next: function () {
+              if ($element.is(_this.$submenuAnchors)) {
+                _this._show($element.parent('li'));
+                $element.parent('li').one(Foundation.transitionend($element), function () {
+                  $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();
+                });
+                return true;
+              }
+            },
+            previous: function () {
+              _this._hide($element.parent('li').parent('ul'));
+              $element.parent('li').parent('ul').one(Foundation.transitionend($element), function () {
+                setTimeout(function () {
+                  $element.parent('li').parent('ul').parent('li').children('a').first().focus();
+                }, 1);
+              });
+              return true;
+            },
+            up: function () {
+              $prevElement.focus();
+              return true;
+            },
+            down: function () {
+              $nextElement.focus();
+              return true;
+            },
+            close: function () {
+              _this._back();
+              //_this.$menuItems.first().focus(); // focus to first element
+            },
+            open: function () {
+              if (!$element.is(_this.$menuItems)) {
+                // not menu item means back button
+                _this._hide($element.parent('li').parent('ul'));
+                $element.parent('li').parent('ul').one(Foundation.transitionend($element), function () {
+                  setTimeout(function () {
+                    $element.parent('li').parent('ul').parent('li').children('a').first().focus();
+                  }, 1);
+                });
+              } else if ($element.is(_this.$submenuAnchors)) {
+                _this._show($element.parent('li'));
+                $element.parent('li').one(Foundation.transitionend($element), function () {
+                  $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();
+                });
+              }
+              return true;
+            },
+            handled: function (preventDefault) {
+              if (preventDefault) {
+                e.preventDefault();
+              }
+              e.stopImmediatePropagation();
+            }
+          });
+        }); // end keyboardAccess
+      }
+
+      /**
+       * Closes all open elements, and returns to root menu.
+       * @function
+       * @fires Drilldown#closed
+       */
+
+    }, {
+      key: '_hideAll',
+      value: function _hideAll() {
+        var $elem = this.$element.find('.is-drilldown-submenu.is-active').addClass('is-closing');
+        $elem.one(Foundation.transitionend($elem), function (e) {
+          $elem.removeClass('is-active is-closing');
+        });
+        /**
+         * Fires when the menu is fully closed.
+         * @event Drilldown#closed
+         */
+        this.$element.trigger('closed.zf.drilldown');
+      }
+
+      /**
+       * Adds event listener for each `back` button, and closes open menus.
+       * @function
+       * @fires Drilldown#back
+       * @param {jQuery} $elem - the current sub-menu to add `back` event.
+       */
+
+    }, {
+      key: '_back',
+      value: function _back($elem) {
+        var _this = this;
+        $elem.off('click.zf.drilldown');
+        $elem.children('.js-drilldown-back').on('click.zf.drilldown', function (e) {
+          e.stopImmediatePropagation();
+          // console.log('mouseup on back');
+          _this._hide($elem);
+        });
+      }
+
+      /**
+       * Adds event listener to menu items w/o submenus to close open menus on click.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_menuLinkEvents',
+      value: function _menuLinkEvents() {
+        var _this = this;
+        this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown', function (e) {
+          // e.stopImmediatePropagation();
+          setTimeout(function () {
+            _this._hideAll();
+          }, 0);
+        });
+      }
+
+      /**
+       * Opens a submenu.
+       * @function
+       * @fires Drilldown#open
+       * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.
+       */
+
+    }, {
+      key: '_show',
+      value: function _show($elem) {
+        $elem.children('[data-submenu]').addClass('is-active');
+        /**
+         * Fires when the submenu has opened.
+         * @event Drilldown#open
+         */
+        this.$element.trigger('open.zf.drilldown', [$elem]);
+      }
+    }, {
+      key: '_hide',
+
+
+      /**
+       * Hides a submenu
+       * @function
+       * @fires Drilldown#hide
+       * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.
+       */
+      value: function _hide($elem) {
+        var _this = this;
+        $elem.addClass('is-closing').one(Foundation.transitionend($elem), function () {
+          $elem.removeClass('is-active is-closing');
+          $elem.blur();
+        });
+        /**
+         * Fires when the submenu has closed.
+         * @event Drilldown#hide
+         */
+        $elem.trigger('hide.zf.drilldown', [$elem]);
+      }
+
+      /**
+       * Iterates through the nested menus to calculate the min-height, and max-width for the menu.
+       * Prevents content jumping.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_getMaxDims',
+      value: function _getMaxDims() {
+        var max = 0,
+            result = {};
+        this.$submenus.add(this.$element).each(function () {
+          var numOfElems = $(this).children('li').length;
+          max = numOfElems > max ? numOfElems : max;
+        });
+
+        result['min-height'] = max * this.$menuItems[0].getBoundingClientRect().height + 'px';
+        result['max-width'] = this.$element[0].getBoundingClientRect().width + 'px';
+
+        return result;
+      }
+
+      /**
+       * Destroys the Drilldown Menu
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this._hideAll();
+        Foundation.Nest.Burn(this.$element, 'drilldown');
+        this.$element.unwrap().find('.js-drilldown-back, .is-submenu-parent-item').remove().end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');
+        this.$submenuAnchors.each(function () {
+          $(this).off('.zf.drilldown');
+        });
+        this.$element.find('a').each(function () {
+          var $link = $(this);
+          if ($link.data('savedHref')) {
+            $link.attr('href', $link.data('savedHref')).removeData('savedHref');
+          } else {
+            return;
+          }
+        });
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Drilldown;
+  }();
+
+  Drilldown.defaults = {
+    /**
+     * Markup used for JS generated back button. Prepended to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\`) if copy and pasting.
+     * @option
+     * @example '<\li><\a>Back<\/a><\/li>'
+     */
+    backButton: '<li class="js-drilldown-back"><a tabindex="0">Back</a></li>',
+    /**
+     * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\`) if copy and pasting.
+     * @option
+     * @example '<\div class="is-drilldown"><\/div>'
+     */
+    wrapper: '<div></div>',
+    /**
+     * Adds the parent link to the submenu.
+     * @option
+     * @example false
+     */
+    parentLink: false,
+    /**
+     * Allow the menu to return to root list on body click.
+     * @option
+     * @example false
+     */
+    closeOnClick: false
+    // holdOpen: false
+  };
+
+  // Window exports
+  Foundation.plugin(Drilldown, 'Drilldown');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.dropdown.js b/libraries/foundation-6/dist/plugins/foundation.dropdown.js
new file mode 100755
index 00000000..c6cc98c8
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.dropdown.js
@@ -0,0 +1,447 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Dropdown module.
+   * @module foundation.dropdown
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.box
+   * @requires foundation.util.triggers
+   */
+
+  var Dropdown = function () {
+    /**
+     * Creates a new instance of a dropdown.
+     * @class
+     * @param {jQuery} element - jQuery object to make into a dropdown.
+     *        Object should be of the dropdown panel, rather than its anchor.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Dropdown(element, options) {
+      _classCallCheck(this, Dropdown);
+
+      this.$element = element;
+      this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);
+      this._init();
+
+      Foundation.registerPlugin(this, 'Dropdown');
+      Foundation.Keyboard.register('Dropdown', {
+        'ENTER': 'open',
+        'SPACE': 'open',
+        'ESCAPE': 'close',
+        'TAB': 'tab_forward',
+        'SHIFT_TAB': 'tab_backward'
+      });
+    }
+
+    /**
+     * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.
+     * @function
+     * @private
+     */
+
+
+    _createClass(Dropdown, [{
+      key: '_init',
+      value: function _init() {
+        var $id = this.$element.attr('id');
+
+        this.$anchor = $('[data-toggle="' + $id + '"]') || $('[data-open="' + $id + '"]');
+        this.$anchor.attr({
+          'aria-controls': $id,
+          'data-is-focus': false,
+          'data-yeti-box': $id,
+          'aria-haspopup': true,
+          'aria-expanded': false
+
+        });
+
+        this.options.positionClass = this.getPositionClass();
+        this.counter = 4;
+        this.usedPositions = [];
+        this.$element.attr({
+          'aria-hidden': 'true',
+          'data-yeti-box': $id,
+          'data-resize': $id,
+          'aria-labelledby': this.$anchor[0].id || Foundation.GetYoDigits(6, 'dd-anchor')
+        });
+        this._events();
+      }
+
+      /**
+       * Helper function to determine current orientation of dropdown pane.
+       * @function
+       * @returns {String} position - string value of a position class.
+       */
+
+    }, {
+      key: 'getPositionClass',
+      value: function getPositionClass() {
+        var verticalPosition = this.$element[0].className.match(/(top|left|right|bottom)/g);
+        verticalPosition = verticalPosition ? verticalPosition[0] : '';
+        var horizontalPosition = /float-(\S+)\s/.exec(this.$anchor[0].className);
+        horizontalPosition = horizontalPosition ? horizontalPosition[1] : '';
+        var position = horizontalPosition ? horizontalPosition + ' ' + verticalPosition : verticalPosition;
+        return position;
+      }
+
+      /**
+       * Adjusts the dropdown panes orientation by adding/removing positioning classes.
+       * @function
+       * @private
+       * @param {String} position - position class to remove.
+       */
+
+    }, {
+      key: '_reposition',
+      value: function _reposition(position) {
+        this.usedPositions.push(position ? position : 'bottom');
+        //default, try switching to opposite side
+        if (!position && this.usedPositions.indexOf('top') < 0) {
+          this.$element.addClass('top');
+        } else if (position === 'top' && this.usedPositions.indexOf('bottom') < 0) {
+          this.$element.removeClass(position);
+        } else if (position === 'left' && this.usedPositions.indexOf('right') < 0) {
+          this.$element.removeClass(position).addClass('right');
+        } else if (position === 'right' && this.usedPositions.indexOf('left') < 0) {
+          this.$element.removeClass(position).addClass('left');
+        }
+
+        //if default change didn't work, try bottom or left first
+        else if (!position && this.usedPositions.indexOf('top') > -1 && this.usedPositions.indexOf('left') < 0) {
+            this.$element.addClass('left');
+          } else if (position === 'top' && this.usedPositions.indexOf('bottom') > -1 && this.usedPositions.indexOf('left') < 0) {
+            this.$element.removeClass(position).addClass('left');
+          } else if (position === 'left' && this.usedPositions.indexOf('right') > -1 && this.usedPositions.indexOf('bottom') < 0) {
+            this.$element.removeClass(position);
+          } else if (position === 'right' && this.usedPositions.indexOf('left') > -1 && this.usedPositions.indexOf('bottom') < 0) {
+            this.$element.removeClass(position);
+          }
+          //if nothing cleared, set to bottom
+          else {
+              this.$element.removeClass(position);
+            }
+        this.classChanged = true;
+        this.counter--;
+      }
+
+      /**
+       * Sets the position and orientation of the dropdown pane, checks for collisions.
+       * Recursively calls itself if a collision is detected, with a new position class.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_setPosition',
+      value: function _setPosition() {
+        if (this.$anchor.attr('aria-expanded') === 'false') {
+          return false;
+        }
+        var position = this.getPositionClass(),
+            $eleDims = Foundation.Box.GetDimensions(this.$element),
+            $anchorDims = Foundation.Box.GetDimensions(this.$anchor),
+            _this = this,
+            direction = position === 'left' ? 'left' : position === 'right' ? 'left' : 'top',
+            param = direction === 'top' ? 'height' : 'width',
+            offset = param === 'height' ? this.options.vOffset : this.options.hOffset;
+
+        if ($eleDims.width >= $eleDims.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.$element)) {
+          this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({
+            'width': $eleDims.windowDims.width - this.options.hOffset * 2,
+            'height': 'auto'
+          });
+          this.classChanged = true;
+          return false;
+        }
+
+        this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, position, this.options.vOffset, this.options.hOffset));
+
+        while (!Foundation.Box.ImNotTouchingYou(this.$element, false, true) && this.counter) {
+          this._reposition(position);
+          this._setPosition();
+        }
+      }
+
+      /**
+       * Adds event listeners to the element utilizing the triggers utility library.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+        this.$element.on({
+          'open.zf.trigger': this.open.bind(this),
+          'close.zf.trigger': this.close.bind(this),
+          'toggle.zf.trigger': this.toggle.bind(this),
+          'resizeme.zf.trigger': this._setPosition.bind(this)
+        });
+
+        if (this.options.hover) {
+          this.$anchor.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {
+            clearTimeout(_this.timeout);
+            _this.timeout = setTimeout(function () {
+              _this.open();
+              _this.$anchor.data('hover', true);
+            }, _this.options.hoverDelay);
+          }).on('mouseleave.zf.dropdown', function () {
+            clearTimeout(_this.timeout);
+            _this.timeout = setTimeout(function () {
+              _this.close();
+              _this.$anchor.data('hover', false);
+            }, _this.options.hoverDelay);
+          });
+          if (this.options.hoverPane) {
+            this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {
+              clearTimeout(_this.timeout);
+            }).on('mouseleave.zf.dropdown', function () {
+              clearTimeout(_this.timeout);
+              _this.timeout = setTimeout(function () {
+                _this.close();
+                _this.$anchor.data('hover', false);
+              }, _this.options.hoverDelay);
+            });
+          }
+        }
+        this.$anchor.add(this.$element).on('keydown.zf.dropdown', function (e) {
+
+          var $target = $(this),
+              visibleFocusableElements = Foundation.Keyboard.findFocusable(_this.$element);
+
+          Foundation.Keyboard.handleKey(e, 'Dropdown', {
+            tab_forward: function () {
+              if (_this.$element.find(':focus').is(visibleFocusableElements.eq(-1))) {
+                // left modal downwards, setting focus to first element
+                if (_this.options.trapFocus) {
+                  // if focus shall be trapped
+                  visibleFocusableElements.eq(0).focus();
+                  e.preventDefault();
+                } else {
+                  // if focus is not trapped, close dropdown on focus out
+                  _this.close();
+                }
+              }
+            },
+            tab_backward: function () {
+              if (_this.$element.find(':focus').is(visibleFocusableElements.eq(0)) || _this.$element.is(':focus')) {
+                // left modal upwards, setting focus to last element
+                if (_this.options.trapFocus) {
+                  // if focus shall be trapped
+                  visibleFocusableElements.eq(-1).focus();
+                  e.preventDefault();
+                } else {
+                  // if focus is not trapped, close dropdown on focus out
+                  _this.close();
+                }
+              }
+            },
+            open: function () {
+              if ($target.is(_this.$anchor)) {
+                _this.open();
+                _this.$element.attr('tabindex', -1).focus();
+                e.preventDefault();
+              }
+            },
+            close: function () {
+              _this.close();
+              _this.$anchor.focus();
+            }
+          });
+        });
+      }
+
+      /**
+       * Adds an event handler to the body to close any dropdowns on a click.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_addBodyHandler',
+      value: function _addBodyHandler() {
+        var $body = $(document.body).not(this.$element),
+            _this = this;
+        $body.off('click.zf.dropdown').on('click.zf.dropdown', function (e) {
+          if (_this.$anchor.is(e.target) || _this.$anchor.find(e.target).length) {
+            return;
+          }
+          if (_this.$element.find(e.target).length) {
+            return;
+          }
+          _this.close();
+          $body.off('click.zf.dropdown');
+        });
+      }
+
+      /**
+       * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.
+       * @function
+       * @fires Dropdown#closeme
+       * @fires Dropdown#show
+       */
+
+    }, {
+      key: 'open',
+      value: function open() {
+        // var _this = this;
+        /**
+         * Fires to close other open dropdowns
+         * @event Dropdown#closeme
+         */
+        this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));
+        this.$anchor.addClass('hover').attr({ 'aria-expanded': true });
+        // this.$element/*.show()*/;
+        this._setPosition();
+        this.$element.addClass('is-open').attr({ 'aria-hidden': false });
+
+        if (this.options.autoFocus) {
+          var $focusable = Foundation.Keyboard.findFocusable(this.$element);
+          if ($focusable.length) {
+            $focusable.eq(0).focus();
+          }
+        }
+
+        if (this.options.closeOnClick) {
+          this._addBodyHandler();
+        }
+
+        /**
+         * Fires once the dropdown is visible.
+         * @event Dropdown#show
+         */
+        this.$element.trigger('show.zf.dropdown', [this.$element]);
+      }
+
+      /**
+       * Closes the open dropdown pane.
+       * @function
+       * @fires Dropdown#hide
+       */
+
+    }, {
+      key: 'close',
+      value: function close() {
+        if (!this.$element.hasClass('is-open')) {
+          return false;
+        }
+        this.$element.removeClass('is-open').attr({ 'aria-hidden': true });
+
+        this.$anchor.removeClass('hover').attr('aria-expanded', false);
+
+        if (this.classChanged) {
+          var curPositionClass = this.getPositionClass();
+          if (curPositionClass) {
+            this.$element.removeClass(curPositionClass);
+          }
+          this.$element.addClass(this.options.positionClass)
+          /*.hide()*/.css({ height: '', width: '' });
+          this.classChanged = false;
+          this.counter = 4;
+          this.usedPositions.length = 0;
+        }
+        this.$element.trigger('hide.zf.dropdown', [this.$element]);
+      }
+
+      /**
+       * Toggles the dropdown pane's visibility.
+       * @function
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle() {
+        if (this.$element.hasClass('is-open')) {
+          if (this.$anchor.data('hover')) return;
+          this.close();
+        } else {
+          this.open();
+        }
+      }
+
+      /**
+       * Destroys the dropdown.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.off('.zf.trigger').hide();
+        this.$anchor.off('.zf.dropdown');
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Dropdown;
+  }();
+
+  Dropdown.defaults = {
+    /**
+     * Amount of time to delay opening a submenu on hover event.
+     * @option
+     * @example 250
+     */
+    hoverDelay: 250,
+    /**
+     * Allow submenus to open on hover events
+     * @option
+     * @example false
+     */
+    hover: false,
+    /**
+     * Don't close dropdown when hovering over dropdown pane
+     * @option
+     * @example true
+     */
+    hoverPane: false,
+    /**
+     * Number of pixels between the dropdown pane and the triggering element on open.
+     * @option
+     * @example 1
+     */
+    vOffset: 1,
+    /**
+     * Number of pixels between the dropdown pane and the triggering element on open.
+     * @option
+     * @example 1
+     */
+    hOffset: 1,
+    /**
+     * Class applied to adjust open position. JS will test and fill this in.
+     * @option
+     * @example 'top'
+     */
+    positionClass: '',
+    /**
+     * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.
+     * @option
+     * @example false
+     */
+    trapFocus: false,
+    /**
+     * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.
+     * @option
+     * @example true
+     */
+    autoFocus: false,
+    /**
+     * Allows a click on the body to close the dropdown.
+     * @option
+     * @example false
+     */
+    closeOnClick: false
+  };
+
+  // Window exports
+  Foundation.plugin(Dropdown, 'Dropdown');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.dropdownMenu.js b/libraries/foundation-6/dist/plugins/foundation.dropdownMenu.js
new file mode 100755
index 00000000..5ae3a3aa
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.dropdownMenu.js
@@ -0,0 +1,447 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * DropdownMenu module.
+   * @module foundation.dropdown-menu
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.box
+   * @requires foundation.util.nest
+   */
+
+  var DropdownMenu = function () {
+    /**
+     * Creates a new instance of DropdownMenu.
+     * @class
+     * @fires DropdownMenu#init
+     * @param {jQuery} element - jQuery object to make into a dropdown menu.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function DropdownMenu(element, options) {
+      _classCallCheck(this, DropdownMenu);
+
+      this.$element = element;
+      this.options = $.extend({}, DropdownMenu.defaults, this.$element.data(), options);
+
+      Foundation.Nest.Feather(this.$element, 'dropdown');
+      this._init();
+
+      Foundation.registerPlugin(this, 'DropdownMenu');
+      Foundation.Keyboard.register('DropdownMenu', {
+        'ENTER': 'open',
+        'SPACE': 'open',
+        'ARROW_RIGHT': 'next',
+        'ARROW_UP': 'up',
+        'ARROW_DOWN': 'down',
+        'ARROW_LEFT': 'previous',
+        'ESCAPE': 'close'
+      });
+    }
+
+    /**
+     * Initializes the plugin, and calls _prepareMenu
+     * @private
+     * @function
+     */
+
+
+    _createClass(DropdownMenu, [{
+      key: '_init',
+      value: function _init() {
+        var subs = this.$element.find('li.is-dropdown-submenu-parent');
+        this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');
+
+        this.$menuItems = this.$element.find('[role="menuitem"]');
+        this.$tabs = this.$element.children('[role="menuitem"]');
+        this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);
+
+        if (this.$element.hasClass(this.options.rightClass) || this.options.alignment === 'right' || Foundation.rtl() || this.$element.parents('.top-bar-right').is('*')) {
+          this.options.alignment = 'right';
+          subs.addClass('opens-left');
+        } else {
+          subs.addClass('opens-right');
+        }
+        this.changed = false;
+        this._events();
+      }
+    }, {
+      key: '_events',
+
+      /**
+       * Adds event listeners to elements within the menu
+       * @private
+       * @function
+       */
+      value: function _events() {
+        var _this = this,
+            hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined',
+            parClass = 'is-dropdown-submenu-parent';
+
+        // used for onClick and in the keyboard handlers
+        var handleClickFn = function (e) {
+          var $elem = $(e.target).parentsUntil('ul', '.' + parClass),
+              hasSub = $elem.hasClass(parClass),
+              hasClicked = $elem.attr('data-is-click') === 'true',
+              $sub = $elem.children('.is-dropdown-submenu');
+
+          if (hasSub) {
+            if (hasClicked) {
+              if (!_this.options.closeOnClick || !_this.options.clickOpen && !hasTouch || _this.options.forceFollow && hasTouch) {
+                return;
+              } else {
+                e.stopImmediatePropagation();
+                e.preventDefault();
+                _this._hide($elem);
+              }
+            } else {
+              e.preventDefault();
+              e.stopImmediatePropagation();
+              _this._show($elem.children('.is-dropdown-submenu'));
+              $elem.add($elem.parentsUntil(_this.$element, '.' + parClass)).attr('data-is-click', true);
+            }
+          } else {
+            return;
+          }
+        };
+
+        if (this.options.clickOpen || hasTouch) {
+          this.$menuItems.on('click.zf.dropdownmenu touchstart.zf.dropdownmenu', handleClickFn);
+        }
+
+        if (!this.options.disableHover) {
+          this.$menuItems.on('mouseenter.zf.dropdownmenu', function (e) {
+            var $elem = $(this),
+                hasSub = $elem.hasClass(parClass);
+
+            if (hasSub) {
+              clearTimeout(_this.delay);
+              _this.delay = setTimeout(function () {
+                _this._show($elem.children('.is-dropdown-submenu'));
+              }, _this.options.hoverDelay);
+            }
+          }).on('mouseleave.zf.dropdownmenu', function (e) {
+            var $elem = $(this),
+                hasSub = $elem.hasClass(parClass);
+            if (hasSub && _this.options.autoclose) {
+              if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) {
+                return false;
+              }
+
+              clearTimeout(_this.delay);
+              _this.delay = setTimeout(function () {
+                _this._hide($elem);
+              }, _this.options.closingTime);
+            }
+          });
+        }
+        this.$menuItems.on('keydown.zf.dropdownmenu', function (e) {
+          var $element = $(e.target).parentsUntil('ul', '[role="menuitem"]'),
+              isTab = _this.$tabs.index($element) > -1,
+              $elements = isTab ? _this.$tabs : $element.siblings('li').add($element),
+              $prevElement,
+              $nextElement;
+
+          $elements.each(function (i) {
+            if ($(this).is($element)) {
+              $prevElement = $elements.eq(i - 1);
+              $nextElement = $elements.eq(i + 1);
+              return;
+            }
+          });
+
+          var nextSibling = function () {
+            if (!$element.is(':last-child')) {
+              $nextElement.children('a:first').focus();
+              e.preventDefault();
+            }
+          },
+              prevSibling = function () {
+            $prevElement.children('a:first').focus();
+            e.preventDefault();
+          },
+              openSub = function () {
+            var $sub = $element.children('ul.is-dropdown-submenu');
+            if ($sub.length) {
+              _this._show($sub);
+              $element.find('li > a:first').focus();
+              e.preventDefault();
+            } else {
+              return;
+            }
+          },
+              closeSub = function () {
+            //if ($element.is(':first-child')) {
+            var close = $element.parent('ul').parent('li');
+            close.children('a:first').focus();
+            _this._hide(close);
+            e.preventDefault();
+            //}
+          };
+          var functions = {
+            open: openSub,
+            close: function () {
+              _this._hide(_this.$element);
+              _this.$menuItems.find('a:first').focus(); // focus to first element
+              e.preventDefault();
+            },
+            handled: function () {
+              e.stopImmediatePropagation();
+            }
+          };
+
+          if (isTab) {
+            if (_this.$element.hasClass(_this.options.verticalClass)) {
+              // vertical menu
+              if (_this.options.alignment === 'left') {
+                // left aligned
+                $.extend(functions, {
+                  down: nextSibling,
+                  up: prevSibling,
+                  next: openSub,
+                  previous: closeSub
+                });
+              } else {
+                // right aligned
+                $.extend(functions, {
+                  down: nextSibling,
+                  up: prevSibling,
+                  next: closeSub,
+                  previous: openSub
+                });
+              }
+            } else {
+              // horizontal menu
+              $.extend(functions, {
+                next: nextSibling,
+                previous: prevSibling,
+                down: openSub,
+                up: closeSub
+              });
+            }
+          } else {
+            // not tabs -> one sub
+            if (_this.options.alignment === 'left') {
+              // left aligned
+              $.extend(functions, {
+                next: openSub,
+                previous: closeSub,
+                down: nextSibling,
+                up: prevSibling
+              });
+            } else {
+              // right aligned
+              $.extend(functions, {
+                next: closeSub,
+                previous: openSub,
+                down: nextSibling,
+                up: prevSibling
+              });
+            }
+          }
+          Foundation.Keyboard.handleKey(e, 'DropdownMenu', functions);
+        });
+      }
+
+      /**
+       * Adds an event handler to the body to close any dropdowns on a click.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_addBodyHandler',
+      value: function _addBodyHandler() {
+        var $body = $(document.body),
+            _this = this;
+        $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu').on('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu', function (e) {
+          var $link = _this.$element.find(e.target);
+          if ($link.length) {
+            return;
+          }
+
+          _this._hide();
+          $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu');
+        });
+      }
+
+      /**
+       * Opens a dropdown pane, and checks for collisions first.
+       * @param {jQuery} $sub - ul element that is a submenu to show
+       * @function
+       * @private
+       * @fires DropdownMenu#show
+       */
+
+    }, {
+      key: '_show',
+      value: function _show($sub) {
+        var idx = this.$tabs.index(this.$tabs.filter(function (i, el) {
+          return $(el).find($sub).length > 0;
+        }));
+        var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');
+        this._hide($sibs, idx);
+        $sub.css('visibility', 'hidden').addClass('js-dropdown-active').attr({ 'aria-hidden': false }).parent('li.is-dropdown-submenu-parent').addClass('is-active').attr({ 'aria-expanded': true });
+        var clear = Foundation.Box.ImNotTouchingYou($sub, null, true);
+        if (!clear) {
+          var oldClass = this.options.alignment === 'left' ? '-right' : '-left',
+              $parentLi = $sub.parent('.is-dropdown-submenu-parent');
+          $parentLi.removeClass('opens' + oldClass).addClass('opens-' + this.options.alignment);
+          clear = Foundation.Box.ImNotTouchingYou($sub, null, true);
+          if (!clear) {
+            $parentLi.removeClass('opens-' + this.options.alignment).addClass('opens-inner');
+          }
+          this.changed = true;
+        }
+        $sub.css('visibility', '');
+        if (this.options.closeOnClick) {
+          this._addBodyHandler();
+        }
+        /**
+         * Fires when the new dropdown pane is visible.
+         * @event DropdownMenu#show
+         */
+        this.$element.trigger('show.zf.dropdownmenu', [$sub]);
+      }
+
+      /**
+       * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.
+       * @function
+       * @param {jQuery} $elem - element with a submenu to hide
+       * @param {Number} idx - index of the $tabs collection to hide
+       * @private
+       */
+
+    }, {
+      key: '_hide',
+      value: function _hide($elem, idx) {
+        var $toClose;
+        if ($elem && $elem.length) {
+          $toClose = $elem;
+        } else if (idx !== undefined) {
+          $toClose = this.$tabs.not(function (i, el) {
+            return i === idx;
+          });
+        } else {
+          $toClose = this.$element;
+        }
+        var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0;
+
+        if (somethingToClose) {
+          $toClose.find('li.is-active').add($toClose).attr({
+            'aria-expanded': false,
+            'data-is-click': false
+          }).removeClass('is-active');
+
+          $toClose.find('ul.js-dropdown-active').attr({
+            'aria-hidden': true
+          }).removeClass('js-dropdown-active');
+
+          if (this.changed || $toClose.find('opens-inner').length) {
+            var oldClass = this.options.alignment === 'left' ? 'right' : 'left';
+            $toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass('opens-inner opens-' + this.options.alignment).addClass('opens-' + oldClass);
+            this.changed = false;
+          }
+          /**
+           * Fires when the open menus are closed.
+           * @event DropdownMenu#hide
+           */
+          this.$element.trigger('hide.zf.dropdownmenu', [$toClose]);
+        }
+      }
+
+      /**
+       * Destroys the plugin.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$menuItems.off('.zf.dropdownmenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');
+        $(document.body).off('.zf.dropdownmenu');
+        Foundation.Nest.Burn(this.$element, 'dropdown');
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return DropdownMenu;
+  }();
+
+  /**
+   * Default settings for plugin
+   */
+
+
+  DropdownMenu.defaults = {
+    /**
+     * Disallows hover events from opening submenus
+     * @option
+     * @example false
+     */
+    disableHover: false,
+    /**
+     * Allow a submenu to automatically close on a mouseleave event, if not clicked open.
+     * @option
+     * @example true
+     */
+    autoclose: true,
+    /**
+     * Amount of time to delay opening a submenu on hover event.
+     * @option
+     * @example 50
+     */
+    hoverDelay: 50,
+    /**
+     * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.
+     * @option
+     * @example true
+     */
+    clickOpen: false,
+    /**
+     * Amount of time to delay closing a submenu on a mouseleave event.
+     * @option
+     * @example 500
+     */
+
+    closingTime: 500,
+    /**
+     * Position of the menu relative to what direction the submenus should open. Handled by JS.
+     * @option
+     * @example 'left'
+     */
+    alignment: 'left',
+    /**
+     * Allow clicks on the body to close any open submenus.
+     * @option
+     * @example true
+     */
+    closeOnClick: true,
+    /**
+     * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.
+     * @option
+     * @example 'vertical'
+     */
+    verticalClass: 'vertical',
+    /**
+     * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.
+     * @option
+     * @example 'align-right'
+     */
+    rightClass: 'align-right',
+    /**
+     * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.
+     * @option
+     * @example false
+     */
+    forceFollow: true
+  };
+
+  // Window exports
+  Foundation.plugin(DropdownMenu, 'DropdownMenu');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.equalizer.js b/libraries/foundation-6/dist/plugins/foundation.equalizer.js
new file mode 100755
index 00000000..36782aac
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.equalizer.js
@@ -0,0 +1,364 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Equalizer module.
+   * @module foundation.equalizer
+   */
+
+  var Equalizer = function () {
+    /**
+     * Creates a new instance of Equalizer.
+     * @class
+     * @fires Equalizer#init
+     * @param {Object} element - jQuery object to add the trigger to.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Equalizer(element, options) {
+      _classCallCheck(this, Equalizer);
+
+      this.$element = element;
+      this.options = $.extend({}, Equalizer.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Equalizer');
+    }
+
+    /**
+     * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load.
+     * @private
+     */
+
+
+    _createClass(Equalizer, [{
+      key: '_init',
+      value: function _init() {
+        var eqId = this.$element.attr('data-equalizer') || '';
+        var $watched = this.$element.find('[data-equalizer-watch="' + eqId + '"]');
+
+        this.$watched = $watched.length ? $watched : this.$element.find('[data-equalizer-watch]');
+        this.$element.attr('data-resize', eqId || Foundation.GetYoDigits(6, 'eq'));
+
+        this.hasNested = this.$element.find('[data-equalizer]').length > 0;
+        this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0;
+        this.isOn = false;
+        this._bindHandler = {
+          onResizeMeBound: this._onResizeMe.bind(this),
+          onPostEqualizedBound: this._onPostEqualized.bind(this)
+        };
+
+        var imgs = this.$element.find('img');
+        var tooSmall;
+        if (this.options.equalizeOn) {
+          tooSmall = this._checkMQ();
+          $(window).on('changed.zf.mediaquery', this._checkMQ.bind(this));
+        } else {
+          this._events();
+        }
+        if (tooSmall !== undefined && tooSmall === false || tooSmall === undefined) {
+          if (imgs.length) {
+            Foundation.onImagesLoaded(imgs, this._reflow.bind(this));
+          } else {
+            this._reflow();
+          }
+        }
+      }
+
+      /**
+       * Removes event listeners if the breakpoint is too small.
+       * @private
+       */
+
+    }, {
+      key: '_pauseEvents',
+      value: function _pauseEvents() {
+        this.isOn = false;
+        this.$element.off({
+          '.zf.equalizer': this._bindHandler.onPostEqualizedBound,
+          'resizeme.zf.trigger': this._bindHandler.onResizeMeBound
+        });
+      }
+
+      /**
+       * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound
+       * @private
+       */
+
+    }, {
+      key: '_onResizeMe',
+      value: function _onResizeMe(e) {
+        this._reflow();
+      }
+
+      /**
+       * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound
+       * @private
+       */
+
+    }, {
+      key: '_onPostEqualized',
+      value: function _onPostEqualized(e) {
+        if (e.target !== this.$element[0]) {
+          this._reflow();
+        }
+      }
+
+      /**
+       * Initializes events for Equalizer.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+        this._pauseEvents();
+        if (this.hasNested) {
+          this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound);
+        } else {
+          this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound);
+        }
+        this.isOn = true;
+      }
+
+      /**
+       * Checks the current breakpoint to the minimum required size.
+       * @private
+       */
+
+    }, {
+      key: '_checkMQ',
+      value: function _checkMQ() {
+        var tooSmall = !Foundation.MediaQuery.atLeast(this.options.equalizeOn);
+        if (tooSmall) {
+          if (this.isOn) {
+            this._pauseEvents();
+            this.$watched.css('height', 'auto');
+          }
+        } else {
+          if (!this.isOn) {
+            this._events();
+          }
+        }
+        return tooSmall;
+      }
+
+      /**
+       * A noop version for the plugin
+       * @private
+       */
+
+    }, {
+      key: '_killswitch',
+      value: function _killswitch() {
+        return;
+      }
+
+      /**
+       * Calls necessary functions to update Equalizer upon DOM change
+       * @private
+       */
+
+    }, {
+      key: '_reflow',
+      value: function _reflow() {
+        if (!this.options.equalizeOnStack) {
+          if (this._isStacked()) {
+            this.$watched.css('height', 'auto');
+            return false;
+          }
+        }
+        if (this.options.equalizeByRow) {
+          this.getHeightsByRow(this.applyHeightByRow.bind(this));
+        } else {
+          this.getHeights(this.applyHeight.bind(this));
+        }
+      }
+
+      /**
+       * Manually determines if the first 2 elements are *NOT* stacked.
+       * @private
+       */
+
+    }, {
+      key: '_isStacked',
+      value: function _isStacked() {
+        return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top;
+      }
+
+      /**
+       * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
+       * @param {Function} cb - A non-optional callback to return the heights array to.
+       * @returns {Array} heights - An array of heights of children within Equalizer container
+       */
+
+    }, {
+      key: 'getHeights',
+      value: function getHeights(cb) {
+        var heights = [];
+        for (var i = 0, len = this.$watched.length; i < len; i++) {
+          this.$watched[i].style.height = 'auto';
+          heights.push(this.$watched[i].offsetHeight);
+        }
+        cb(heights);
+      }
+
+      /**
+       * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
+       * @param {Function} cb - A non-optional callback to return the heights array to.
+       * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child
+       */
+
+    }, {
+      key: 'getHeightsByRow',
+      value: function getHeightsByRow(cb) {
+        var lastElTopOffset = this.$watched.length ? this.$watched.first().offset().top : 0,
+            groups = [],
+            group = 0;
+        //group by Row
+        groups[group] = [];
+        for (var i = 0, len = this.$watched.length; i < len; i++) {
+          this.$watched[i].style.height = 'auto';
+          //maybe could use this.$watched[i].offsetTop
+          var elOffsetTop = $(this.$watched[i]).offset().top;
+          if (elOffsetTop != lastElTopOffset) {
+            group++;
+            groups[group] = [];
+            lastElTopOffset = elOffsetTop;
+          }
+          groups[group].push([this.$watched[i], this.$watched[i].offsetHeight]);
+        }
+
+        for (var j = 0, ln = groups.length; j < ln; j++) {
+          var heights = $(groups[j]).map(function () {
+            return this[1];
+          }).get();
+          var max = Math.max.apply(null, heights);
+          groups[j].push(max);
+        }
+        cb(groups);
+      }
+
+      /**
+       * Changes the CSS height property of each child in an Equalizer parent to match the tallest
+       * @param {array} heights - An array of heights of children within Equalizer container
+       * @fires Equalizer#preequalized
+       * @fires Equalizer#postequalized
+       */
+
+    }, {
+      key: 'applyHeight',
+      value: function applyHeight(heights) {
+        var max = Math.max.apply(null, heights);
+        /**
+         * Fires before the heights are applied
+         * @event Equalizer#preequalized
+         */
+        this.$element.trigger('preequalized.zf.equalizer');
+
+        this.$watched.css('height', max);
+
+        /**
+         * Fires when the heights have been applied
+         * @event Equalizer#postequalized
+         */
+        this.$element.trigger('postequalized.zf.equalizer');
+      }
+
+      /**
+       * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row
+       * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child
+       * @fires Equalizer#preequalized
+       * @fires Equalizer#preequalizedRow
+       * @fires Equalizer#postequalizedRow
+       * @fires Equalizer#postequalized
+       */
+
+    }, {
+      key: 'applyHeightByRow',
+      value: function applyHeightByRow(groups) {
+        /**
+         * Fires before the heights are applied
+         */
+        this.$element.trigger('preequalized.zf.equalizer');
+        for (var i = 0, len = groups.length; i < len; i++) {
+          var groupsILength = groups[i].length,
+              max = groups[i][groupsILength - 1];
+          if (groupsILength <= 2) {
+            $(groups[i][0][0]).css({ 'height': 'auto' });
+            continue;
+          }
+          /**
+            * Fires before the heights per row are applied
+            * @event Equalizer#preequalizedRow
+            */
+          this.$element.trigger('preequalizedrow.zf.equalizer');
+          for (var j = 0, lenJ = groupsILength - 1; j < lenJ; j++) {
+            $(groups[i][j][0]).css({ 'height': max });
+          }
+          /**
+            * Fires when the heights per row have been applied
+            * @event Equalizer#postequalizedRow
+            */
+          this.$element.trigger('postequalizedrow.zf.equalizer');
+        }
+        /**
+         * Fires when the heights have been applied
+         */
+        this.$element.trigger('postequalized.zf.equalizer');
+      }
+
+      /**
+       * Destroys an instance of Equalizer.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this._pauseEvents();
+        this.$watched.css('height', 'auto');
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Equalizer;
+  }();
+
+  /**
+   * Default settings for plugin
+   */
+
+
+  Equalizer.defaults = {
+    /**
+     * Enable height equalization when stacked on smaller screens.
+     * @option
+     * @example true
+     */
+    equalizeOnStack: true,
+    /**
+     * Enable height equalization row by row.
+     * @option
+     * @example false
+     */
+    equalizeByRow: false,
+    /**
+     * String representing the minimum breakpoint size the plugin should equalize heights on.
+     * @option
+     * @example 'medium'
+     */
+    equalizeOn: ''
+  };
+
+  // Window exports
+  Foundation.plugin(Equalizer, 'Equalizer');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.interchange.js b/libraries/foundation-6/dist/plugins/foundation.interchange.js
new file mode 100755
index 00000000..7531ccde
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.interchange.js
@@ -0,0 +1,227 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Interchange module.
+   * @module foundation.interchange
+   * @requires foundation.util.mediaQuery
+   * @requires foundation.util.timerAndImageLoader
+   */
+
+  var Interchange = function () {
+    /**
+     * Creates a new instance of Interchange.
+     * @class
+     * @fires Interchange#init
+     * @param {Object} element - jQuery object to add the trigger to.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Interchange(element, options) {
+      _classCallCheck(this, Interchange);
+
+      this.$element = element;
+      this.options = $.extend({}, Interchange.defaults, options);
+      this.rules = [];
+      this.currentPath = '';
+
+      this._init();
+      this._events();
+
+      Foundation.registerPlugin(this, 'Interchange');
+    }
+
+    /**
+     * Initializes the Interchange plugin and calls functions to get interchange functioning on load.
+     * @function
+     * @private
+     */
+
+
+    _createClass(Interchange, [{
+      key: '_init',
+      value: function _init() {
+        this._addBreakpoints();
+        this._generateRules();
+        this._reflow();
+      }
+
+      /**
+       * Initializes events for Interchange.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        $(window).on('resize.zf.interchange', Foundation.util.throttle(this._reflow.bind(this), 50));
+      }
+
+      /**
+       * Calls necessary functions to update Interchange upon DOM change
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_reflow',
+      value: function _reflow() {
+        var match;
+
+        // Iterate through each rule, but only save the last match
+        for (var i in this.rules) {
+          if (this.rules.hasOwnProperty(i)) {
+            var rule = this.rules[i];
+
+            if (window.matchMedia(rule.query).matches) {
+              match = rule;
+            }
+          }
+        }
+
+        if (match) {
+          this.replace(match.path);
+        }
+      }
+
+      /**
+       * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_addBreakpoints',
+      value: function _addBreakpoints() {
+        for (var i in Foundation.MediaQuery.queries) {
+          if (Foundation.MediaQuery.queries.hasOwnProperty(i)) {
+            var query = Foundation.MediaQuery.queries[i];
+            Interchange.SPECIAL_QUERIES[query.name] = query.value;
+          }
+        }
+      }
+
+      /**
+       * Checks the Interchange element for the provided media query + content pairings
+       * @function
+       * @private
+       * @param {Object} element - jQuery object that is an Interchange instance
+       * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys
+       */
+
+    }, {
+      key: '_generateRules',
+      value: function _generateRules(element) {
+        var rulesList = [];
+        var rules;
+
+        if (this.options.rules) {
+          rules = this.options.rules;
+        } else {
+          rules = this.$element.data('interchange').match(/\[.*?\]/g);
+        }
+
+        for (var i in rules) {
+          if (rules.hasOwnProperty(i)) {
+            var rule = rules[i].slice(1, -1).split(', ');
+            var path = rule.slice(0, -1).join('');
+            var query = rule[rule.length - 1];
+
+            if (Interchange.SPECIAL_QUERIES[query]) {
+              query = Interchange.SPECIAL_QUERIES[query];
+            }
+
+            rulesList.push({
+              path: path,
+              query: query
+            });
+          }
+        }
+
+        this.rules = rulesList;
+      }
+
+      /**
+       * Update the `src` property of an image, or change the HTML of a container, to the specified path.
+       * @function
+       * @param {String} path - Path to the image or HTML partial.
+       * @fires Interchange#replaced
+       */
+
+    }, {
+      key: 'replace',
+      value: function replace(path) {
+        if (this.currentPath === path) return;
+
+        var _this = this,
+            trigger = 'replaced.zf.interchange';
+
+        // Replacing images
+        if (this.$element[0].nodeName === 'IMG') {
+          this.$element.attr('src', path).load(function () {
+            _this.currentPath = path;
+          }).trigger(trigger);
+        }
+        // Replacing background images
+        else if (path.match(/\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i)) {
+            this.$element.css({ 'background-image': 'url(' + path + ')' }).trigger(trigger);
+          }
+          // Replacing HTML
+          else {
+              $.get(path, function (response) {
+                _this.$element.html(response).trigger(trigger);
+                $(response).foundation();
+                _this.currentPath = path;
+              });
+            }
+
+        /**
+         * Fires when content in an Interchange element is done being loaded.
+         * @event Interchange#replaced
+         */
+        // this.$element.trigger('replaced.zf.interchange');
+      }
+
+      /**
+       * Destroys an instance of interchange.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        //TODO this.
+      }
+    }]);
+
+    return Interchange;
+  }();
+
+  /**
+   * Default settings for plugin
+   */
+
+
+  Interchange.defaults = {
+    /**
+     * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.
+     * @option
+     */
+    rules: null
+  };
+
+  Interchange.SPECIAL_QUERIES = {
+    'landscape': 'screen and (orientation: landscape)',
+    'portrait': 'screen and (orientation: portrait)',
+    'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'
+  };
+
+  // Window exports
+  Foundation.plugin(Interchange, 'Interchange');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.magellan.js b/libraries/foundation-6/dist/plugins/foundation.magellan.js
new file mode 100755
index 00000000..f4ef0b98
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.magellan.js
@@ -0,0 +1,257 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Magellan module.
+   * @module foundation.magellan
+   */
+
+  var Magellan = function () {
+    /**
+     * Creates a new instance of Magellan.
+     * @class
+     * @fires Magellan#init
+     * @param {Object} element - jQuery object to add the trigger to.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Magellan(element, options) {
+      _classCallCheck(this, Magellan);
+
+      this.$element = element;
+      this.options = $.extend({}, Magellan.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Magellan');
+    }
+
+    /**
+     * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.
+     * @private
+     */
+
+
+    _createClass(Magellan, [{
+      key: '_init',
+      value: function _init() {
+        var id = this.$element[0].id || Foundation.GetYoDigits(6, 'magellan');
+        var _this = this;
+        this.$targets = $('[data-magellan-target]');
+        this.$links = this.$element.find('a');
+        this.$element.attr({
+          'data-resize': id,
+          'data-scroll': id,
+          'id': id
+        });
+        this.$active = $();
+        this.scrollPos = parseInt(window.pageYOffset, 10);
+
+        this._events();
+      }
+
+      /**
+       * Calculates an array of pixel values that are the demarcation lines between locations on the page.
+       * Can be invoked if new elements are added or the size of a location changes.
+       * @function
+       */
+
+    }, {
+      key: 'calcPoints',
+      value: function calcPoints() {
+        var _this = this,
+            body = document.body,
+            html = document.documentElement;
+
+        this.points = [];
+        this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));
+        this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));
+
+        this.$targets.each(function () {
+          var $tar = $(this),
+              pt = Math.round($tar.offset().top - _this.options.threshold);
+          $tar.targetPoint = pt;
+          _this.points.push(pt);
+        });
+      }
+
+      /**
+       * Initializes events for Magellan.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this,
+            $body = $('html, body'),
+            opts = {
+          duration: _this.options.animationDuration,
+          easing: _this.options.animationEasing
+        };
+        $(window).one('load', function () {
+          if (_this.options.deepLinking) {
+            if (location.hash) {
+              _this.scrollToLoc(location.hash);
+            }
+          }
+          _this.calcPoints();
+          _this._updateActive();
+        });
+
+        this.$element.on({
+          'resizeme.zf.trigger': this.reflow.bind(this),
+          'scrollme.zf.trigger': this._updateActive.bind(this)
+        }).on('click.zf.magellan', 'a[href^="#"]', function (e) {
+          e.preventDefault();
+          var arrival = this.getAttribute('href');
+          _this.scrollToLoc(arrival);
+        });
+      }
+
+      /**
+       * Function to scroll to a given location on the page.
+       * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'
+       * @function
+       */
+
+    }, {
+      key: 'scrollToLoc',
+      value: function scrollToLoc(loc) {
+        var scrollPos = Math.round($(loc).offset().top - this.options.threshold / 2 - this.options.barOffset);
+
+        $('html, body').stop(true).animate({ scrollTop: scrollPos }, this.options.animationDuration, this.options.animationEasing);
+      }
+
+      /**
+       * Calls necessary functions to update Magellan upon DOM change
+       * @function
+       */
+
+    }, {
+      key: 'reflow',
+      value: function reflow() {
+        this.calcPoints();
+        this._updateActive();
+      }
+
+      /**
+       * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.
+       * @private
+       * @function
+       * @fires Magellan#update
+       */
+
+    }, {
+      key: '_updateActive',
+      value: function _updateActive() /*evt, elem, scrollPos*/{
+        var winPos = /*scrollPos ||*/parseInt(window.pageYOffset, 10),
+            curIdx;
+
+        if (winPos + this.winHeight === this.docHeight) {
+          curIdx = this.points.length - 1;
+        } else if (winPos < this.points[0]) {
+          curIdx = 0;
+        } else {
+          var isDown = this.scrollPos < winPos,
+              _this = this,
+              curVisible = this.points.filter(function (p, i) {
+            return isDown ? p - _this.options.barOffset <= winPos : p - _this.options.barOffset - _this.options.threshold <= winPos;
+          });
+          curIdx = curVisible.length ? curVisible.length - 1 : 0;
+        }
+
+        this.$active.removeClass(this.options.activeClass);
+        this.$active = this.$links.eq(curIdx).addClass(this.options.activeClass);
+
+        if (this.options.deepLinking) {
+          var hash = this.$active[0].getAttribute('href');
+          if (window.history.pushState) {
+            window.history.pushState(null, null, hash);
+          } else {
+            window.location.hash = hash;
+          }
+        }
+
+        this.scrollPos = winPos;
+        /**
+         * Fires when magellan is finished updating to the new active element.
+         * @event Magellan#update
+         */
+        this.$element.trigger('update.zf.magellan', [this.$active]);
+      }
+
+      /**
+       * Destroys an instance of Magellan and resets the url of the window.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.off('.zf.trigger .zf.magellan').find('.' + this.options.activeClass).removeClass(this.options.activeClass);
+
+        if (this.options.deepLinking) {
+          var hash = this.$active[0].getAttribute('href');
+          window.location.hash.replace(hash, '');
+        }
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Magellan;
+  }();
+
+  /**
+   * Default settings for plugin
+   */
+
+
+  Magellan.defaults = {
+    /**
+     * Amount of time, in ms, the animated scrolling should take between locations.
+     * @option
+     * @example 500
+     */
+    animationDuration: 500,
+    /**
+     * Animation style to use when scrolling between locations.
+     * @option
+     * @example 'ease-in-out'
+     */
+    animationEasing: 'linear',
+    /**
+     * Number of pixels to use as a marker for location changes.
+     * @option
+     * @example 50
+     */
+    threshold: 50,
+    /**
+     * Class applied to the active locations link on the magellan container.
+     * @option
+     * @example 'active'
+     */
+    activeClass: 'active',
+    /**
+     * Allows the script to manipulate the url of the current page, and if supported, alter the history.
+     * @option
+     * @example true
+     */
+    deepLinking: false,
+    /**
+     * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.
+     * @option
+     * @example 25
+     */
+    barOffset: 0
+  };
+
+  // Window exports
+  Foundation.plugin(Magellan, 'Magellan');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.offcanvas.js b/libraries/foundation-6/dist/plugins/foundation.offcanvas.js
new file mode 100755
index 00000000..4350c696
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.offcanvas.js
@@ -0,0 +1,438 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * OffCanvas module.
+   * @module foundation.offcanvas
+   * @requires foundation.util.mediaQuery
+   * @requires foundation.util.triggers
+   * @requires foundation.util.motion
+   */
+
+  var OffCanvas = function () {
+    /**
+     * Creates a new instance of an off-canvas wrapper.
+     * @class
+     * @fires OffCanvas#init
+     * @param {Object} element - jQuery object to initialize.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function OffCanvas(element, options) {
+      _classCallCheck(this, OffCanvas);
+
+      this.$element = element;
+      this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);
+      this.$lastTrigger = $();
+      this.$triggers = $();
+
+      this._init();
+      this._events();
+
+      Foundation.registerPlugin(this, 'OffCanvas');
+    }
+
+    /**
+     * Initializes the off-canvas wrapper by adding the exit overlay (if needed).
+     * @function
+     * @private
+     */
+
+
+    _createClass(OffCanvas, [{
+      key: '_init',
+      value: function _init() {
+        var id = this.$element.attr('id');
+
+        this.$element.attr('aria-hidden', 'true');
+
+        // Find triggers that affect this element and add aria-expanded to them
+        this.$triggers = $(document).find('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr('aria-expanded', 'false').attr('aria-controls', id);
+
+        // Add a close trigger over the body if necessary
+        if (this.options.closeOnClick) {
+          if ($('.js-off-canvas-exit').length) {
+            this.$exiter = $('.js-off-canvas-exit');
+          } else {
+            var exiter = document.createElement('div');
+            exiter.setAttribute('class', 'js-off-canvas-exit');
+            $('[data-off-canvas-content]').append(exiter);
+
+            this.$exiter = $(exiter);
+          }
+        }
+
+        this.options.isRevealed = this.options.isRevealed || new RegExp(this.options.revealClass, 'g').test(this.$element[0].className);
+
+        if (this.options.isRevealed) {
+          this.options.revealOn = this.options.revealOn || this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split('-')[2];
+          this._setMQChecker();
+        }
+        if (!this.options.transitionTime) {
+          this.options.transitionTime = parseFloat(window.getComputedStyle($('[data-off-canvas-wrapper]')[0]).transitionDuration) * 1000;
+        }
+      }
+
+      /**
+       * Adds event handlers to the off-canvas wrapper and the exit overlay.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        this.$element.off('.zf.trigger .zf.offcanvas').on({
+          'open.zf.trigger': this.open.bind(this),
+          'close.zf.trigger': this.close.bind(this),
+          'toggle.zf.trigger': this.toggle.bind(this),
+          'keydown.zf.offcanvas': this._handleKeyboard.bind(this)
+        });
+
+        if (this.options.closeOnClick && this.$exiter.length) {
+          this.$exiter.on({ 'click.zf.offcanvas': this.close.bind(this) });
+        }
+      }
+
+      /**
+       * Applies event listener for elements that will reveal at certain breakpoints.
+       * @private
+       */
+
+    }, {
+      key: '_setMQChecker',
+      value: function _setMQChecker() {
+        var _this = this;
+
+        $(window).on('changed.zf.mediaquery', function () {
+          if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {
+            _this.reveal(true);
+          } else {
+            _this.reveal(false);
+          }
+        }).one('load.zf.offcanvas', function () {
+          if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {
+            _this.reveal(true);
+          }
+        });
+      }
+
+      /**
+       * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.
+       * @param {Boolean} isRevealed - true if element should be revealed.
+       * @function
+       */
+
+    }, {
+      key: 'reveal',
+      value: function reveal(isRevealed) {
+        var $closer = this.$element.find('[data-close]');
+        if (isRevealed) {
+          this.close();
+          this.isRevealed = true;
+          // if (!this.options.forceTop) {
+          //   var scrollPos = parseInt(window.pageYOffset);
+          //   this.$element[0].style.transform = 'translate(0,' + scrollPos + 'px)';
+          // }
+          // if (this.options.isSticky) { this._stick(); }
+          this.$element.off('open.zf.trigger toggle.zf.trigger');
+          if ($closer.length) {
+            $closer.hide();
+          }
+        } else {
+          this.isRevealed = false;
+          // if (this.options.isSticky || !this.options.forceTop) {
+          //   this.$element[0].style.transform = '';
+          //   $(window).off('scroll.zf.offcanvas');
+          // }
+          this.$element.on({
+            'open.zf.trigger': this.open.bind(this),
+            'toggle.zf.trigger': this.toggle.bind(this)
+          });
+          if ($closer.length) {
+            $closer.show();
+          }
+        }
+      }
+
+      /**
+       * Opens the off-canvas menu.
+       * @function
+       * @param {Object} event - Event object passed from listener.
+       * @param {jQuery} trigger - element that triggered the off-canvas to open.
+       * @fires OffCanvas#opened
+       */
+
+    }, {
+      key: 'open',
+      value: function open(event, trigger) {
+        if (this.$element.hasClass('is-open') || this.isRevealed) {
+          return;
+        }
+        var _this = this,
+            $body = $(document.body);
+
+        if (this.options.forceTop) {
+          $('body').scrollTop(0);
+        }
+        // window.pageYOffset = 0;
+
+        // if (!this.options.forceTop) {
+        //   var scrollPos = parseInt(window.pageYOffset);
+        //   this.$element[0].style.transform = 'translate(0,' + scrollPos + 'px)';
+        //   if (this.$exiter.length) {
+        //     this.$exiter[0].style.transform = 'translate(0,' + scrollPos + 'px)';
+        //   }
+        // }
+        /**
+         * Fires when the off-canvas menu opens.
+         * @event OffCanvas#opened
+         */
+        Foundation.Move(this.options.transitionTime, this.$element, function () {
+          $('[data-off-canvas-wrapper]').addClass('is-off-canvas-open is-open-' + _this.options.position);
+
+          _this.$element.addClass('is-open');
+
+          // if (_this.options.isSticky) {
+          //   _this._stick();
+          // }
+        });
+
+        this.$triggers.attr('aria-expanded', 'true');
+        this.$element.attr('aria-hidden', 'false').trigger('opened.zf.offcanvas');
+
+        if (this.options.closeOnClick) {
+          this.$exiter.addClass('is-visible');
+        }
+
+        if (trigger) {
+          this.$lastTrigger = trigger;
+        }
+
+        if (this.options.autoFocus) {
+          this.$element.one(Foundation.transitionend(this.$element), function () {
+            _this.$element.find('a, button').eq(0).focus();
+          });
+        }
+
+        if (this.options.trapFocus) {
+          $('[data-off-canvas-content]').attr('tabindex', '-1');
+          this._trapFocus();
+        }
+      }
+
+      /**
+       * Traps focus within the offcanvas on open.
+       * @private
+       */
+
+    }, {
+      key: '_trapFocus',
+      value: function _trapFocus() {
+        var focusable = Foundation.Keyboard.findFocusable(this.$element),
+            first = focusable.eq(0),
+            last = focusable.eq(-1);
+
+        focusable.off('.zf.offcanvas').on('keydown.zf.offcanvas', function (e) {
+          if (e.which === 9 || e.keycode === 9) {
+            if (e.target === last[0] && !e.shiftKey) {
+              e.preventDefault();
+              first.focus();
+            }
+            if (e.target === first[0] && e.shiftKey) {
+              e.preventDefault();
+              last.focus();
+            }
+          }
+        });
+      }
+
+      /**
+       * Allows the offcanvas to appear sticky utilizing translate properties.
+       * @private
+       */
+      // OffCanvas.prototype._stick = function() {
+      //   var elStyle = this.$element[0].style;
+      //
+      //   if (this.options.closeOnClick) {
+      //     var exitStyle = this.$exiter[0].style;
+      //   }
+      //
+      //   $(window).on('scroll.zf.offcanvas', function(e) {
+      //     console.log(e);
+      //     var pageY = window.pageYOffset;
+      //     elStyle.transform = 'translate(0,' + pageY + 'px)';
+      //     if (exitStyle !== undefined) { exitStyle.transform = 'translate(0,' + pageY + 'px)'; }
+      //   });
+      //   // this.$element.trigger('stuck.zf.offcanvas');
+      // };
+      /**
+       * Closes the off-canvas menu.
+       * @function
+       * @param {Function} cb - optional cb to fire after closure.
+       * @fires OffCanvas#closed
+       */
+
+    }, {
+      key: 'close',
+      value: function close(cb) {
+        if (!this.$element.hasClass('is-open') || this.isRevealed) {
+          return;
+        }
+
+        var _this = this;
+
+        //  Foundation.Move(this.options.transitionTime, this.$element, function() {
+        $('[data-off-canvas-wrapper]').removeClass('is-off-canvas-open is-open-' + _this.options.position);
+        _this.$element.removeClass('is-open');
+        // Foundation._reflow();
+        // });
+        this.$element.attr('aria-hidden', 'true')
+        /**
+         * Fires when the off-canvas menu opens.
+         * @event OffCanvas#closed
+         */
+        .trigger('closed.zf.offcanvas');
+        // if (_this.options.isSticky || !_this.options.forceTop) {
+        //   setTimeout(function() {
+        //     _this.$element[0].style.transform = '';
+        //     $(window).off('scroll.zf.offcanvas');
+        //   }, this.options.transitionTime);
+        // }
+        if (this.options.closeOnClick) {
+          this.$exiter.removeClass('is-visible');
+        }
+
+        this.$triggers.attr('aria-expanded', 'false');
+        if (this.options.trapFocus) {
+          $('[data-off-canvas-content]').removeAttr('tabindex');
+        }
+      }
+
+      /**
+       * Toggles the off-canvas menu open or closed.
+       * @function
+       * @param {Object} event - Event object passed from listener.
+       * @param {jQuery} trigger - element that triggered the off-canvas to open.
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle(event, trigger) {
+        if (this.$element.hasClass('is-open')) {
+          this.close(event, trigger);
+        } else {
+          this.open(event, trigger);
+        }
+      }
+
+      /**
+       * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_handleKeyboard',
+      value: function _handleKeyboard(event) {
+        if (event.which !== 27) return;
+
+        event.stopPropagation();
+        event.preventDefault();
+        this.close();
+        this.$lastTrigger.focus();
+      }
+
+      /**
+       * Destroys the offcanvas plugin.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.close();
+        this.$element.off('.zf.trigger .zf.offcanvas');
+        this.$exiter.off('.zf.offcanvas');
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return OffCanvas;
+  }();
+
+  OffCanvas.defaults = {
+    /**
+     * Allow the user to click outside of the menu to close it.
+     * @option
+     * @example true
+     */
+    closeOnClick: true,
+
+    /**
+     * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.
+     * @option
+     * @example 500
+     */
+    transitionTime: 0,
+
+    /**
+     * Direction the offcanvas opens from. Determines class applied to body.
+     * @option
+     * @example left
+     */
+    position: 'left',
+
+    /**
+     * Force the page to scroll to top on open.
+     * @option
+     * @example true
+     */
+    forceTop: true,
+
+    /**
+     * Allow the offcanvas to remain open for certain breakpoints.
+     * @option
+     * @example false
+     */
+    isRevealed: false,
+
+    /**
+     * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.
+     * @option
+     * @example reveal-for-large
+     */
+    revealOn: null,
+
+    /**
+     * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.
+     * @option
+     * @example true
+     */
+    autoFocus: true,
+
+    /**
+     * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.
+     * @option
+     * TODO improve the regex testing for this.
+     * @example reveal-for-large
+     */
+    revealClass: 'reveal-for-',
+
+    /**
+     * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.
+     * @option
+     * @example true
+     */
+    trapFocus: false
+  };
+
+  // Window exports
+  Foundation.plugin(OffCanvas, 'OffCanvas');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.orbit.js b/libraries/foundation-6/dist/plugins/foundation.orbit.js
new file mode 100755
index 00000000..7ecae386
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.orbit.js
@@ -0,0 +1,484 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Orbit module.
+   * @module foundation.orbit
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.motion
+   * @requires foundation.util.timerAndImageLoader
+   * @requires foundation.util.touch
+   */
+
+  var Orbit = function () {
+    /**
+    * Creates a new instance of an orbit carousel.
+    * @class
+    * @param {jQuery} element - jQuery object to make into an Orbit Carousel.
+    * @param {Object} options - Overrides to the default plugin settings.
+    */
+
+    function Orbit(element, options) {
+      _classCallCheck(this, Orbit);
+
+      this.$element = element;
+      this.options = $.extend({}, Orbit.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Orbit');
+      Foundation.Keyboard.register('Orbit', {
+        'ltr': {
+          'ARROW_RIGHT': 'next',
+          'ARROW_LEFT': 'previous'
+        },
+        'rtl': {
+          'ARROW_LEFT': 'next',
+          'ARROW_RIGHT': 'previous'
+        }
+      });
+    }
+
+    /**
+    * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation.
+    * @function
+    * @private
+    */
+
+
+    _createClass(Orbit, [{
+      key: '_init',
+      value: function _init() {
+        this.$wrapper = this.$element.find('.' + this.options.containerClass);
+        this.$slides = this.$element.find('.' + this.options.slideClass);
+        var $images = this.$element.find('img'),
+            initActive = this.$slides.filter('.is-active');
+
+        if (!initActive.length) {
+          this.$slides.eq(0).addClass('is-active');
+        }
+
+        if (!this.options.useMUI) {
+          this.$slides.addClass('no-motionui');
+        }
+
+        if ($images.length) {
+          Foundation.onImagesLoaded($images, this._prepareForOrbit.bind(this));
+        } else {
+          this._prepareForOrbit(); //hehe
+        }
+
+        if (this.options.bullets) {
+          this._loadBullets();
+        }
+
+        this._events();
+
+        if (this.options.autoPlay && this.$slides.length > 1) {
+          this.geoSync();
+        }
+
+        if (this.options.accessible) {
+          // allow wrapper to be focusable to enable arrow navigation
+          this.$wrapper.attr('tabindex', 0);
+        }
+      }
+
+      /**
+      * Creates a jQuery collection of bullets, if they are being used.
+      * @function
+      * @private
+      */
+
+    }, {
+      key: '_loadBullets',
+      value: function _loadBullets() {
+        this.$bullets = this.$element.find('.' + this.options.boxOfBullets).find('button');
+      }
+
+      /**
+      * Sets a `timer` object on the orbit, and starts the counter for the next slide.
+      * @function
+      */
+
+    }, {
+      key: 'geoSync',
+      value: function geoSync() {
+        var _this = this;
+        this.timer = new Foundation.Timer(this.$element, {
+          duration: this.options.timerDelay,
+          infinite: false
+        }, function () {
+          _this.changeSlide(true);
+        });
+        this.timer.start();
+      }
+
+      /**
+      * Sets wrapper and slide heights for the orbit.
+      * @function
+      * @private
+      */
+
+    }, {
+      key: '_prepareForOrbit',
+      value: function _prepareForOrbit() {
+        var _this = this;
+        this._setWrapperHeight(function (max) {
+          _this._setSlideHeight(max);
+        });
+      }
+
+      /**
+      * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.
+      * @function
+      * @private
+      * @param {Function} cb - a callback function to fire when complete.
+      */
+
+    }, {
+      key: '_setWrapperHeight',
+      value: function _setWrapperHeight(cb) {
+        //rewrite this to `for` loop
+        var max = 0,
+            temp,
+            counter = 0;
+
+        this.$slides.each(function () {
+          temp = this.getBoundingClientRect().height;
+          $(this).attr('data-slide', counter);
+
+          if (counter) {
+            //if not the first slide, set css position and display property
+            $(this).css({ 'position': 'relative', 'display': 'none' });
+          }
+          max = temp > max ? temp : max;
+          counter++;
+        });
+
+        if (counter === this.$slides.length) {
+          this.$wrapper.css({ 'height': max }); //only change the wrapper height property once.
+          cb(max); //fire callback with max height dimension.
+        }
+      }
+
+      /**
+      * Sets the max-height of each slide.
+      * @function
+      * @private
+      */
+
+    }, {
+      key: '_setSlideHeight',
+      value: function _setSlideHeight(height) {
+        this.$slides.each(function () {
+          $(this).css('max-height', height);
+        });
+      }
+
+      /**
+      * Adds event listeners to basically everything within the element.
+      * @function
+      * @private
+      */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+
+        //***************************************
+        //**Now using custom event - thanks to:**
+        //**      Yohai Ararat of Toronto      **
+        //***************************************
+        if (this.$slides.length > 1) {
+
+          if (this.options.swipe) {
+            this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit').on('swipeleft.zf.orbit', function (e) {
+              e.preventDefault();
+              _this.changeSlide(true);
+            }).on('swiperight.zf.orbit', function (e) {
+              e.preventDefault();
+              _this.changeSlide(false);
+            });
+          }
+          //***************************************
+
+          if (this.options.autoPlay) {
+            this.$slides.on('click.zf.orbit', function () {
+              _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true);
+              _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start']();
+            });
+
+            if (this.options.pauseOnHover) {
+              this.$element.on('mouseenter.zf.orbit', function () {
+                _this.timer.pause();
+              }).on('mouseleave.zf.orbit', function () {
+                if (!_this.$element.data('clickedOn')) {
+                  _this.timer.start();
+                }
+              });
+            }
+          }
+
+          if (this.options.navButtons) {
+            var $controls = this.$element.find('.' + this.options.nextClass + ', .' + this.options.prevClass);
+            $controls.attr('tabindex', 0)
+            //also need to handle enter/return and spacebar key presses
+            .on('click.zf.orbit touchend.zf.orbit', function (e) {
+              e.preventDefault();
+              _this.changeSlide($(this).hasClass(_this.options.nextClass));
+            });
+          }
+
+          if (this.options.bullets) {
+            this.$bullets.on('click.zf.orbit touchend.zf.orbit', function () {
+              if (/is-active/g.test(this.className)) {
+                return false;
+              } //if this is active, kick out of function.
+              var idx = $(this).data('slide'),
+                  ltr = idx > _this.$slides.filter('.is-active').data('slide'),
+                  $slide = _this.$slides.eq(idx);
+
+              _this.changeSlide(ltr, $slide, idx);
+            });
+          }
+
+          this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function (e) {
+            // handle keyboard event with keyboard util
+            Foundation.Keyboard.handleKey(e, 'Orbit', {
+              next: function () {
+                _this.changeSlide(true);
+              },
+              previous: function () {
+                _this.changeSlide(false);
+              },
+              handled: function () {
+                // if bullet is focused, make sure focus moves
+                if ($(e.target).is(_this.$bullets)) {
+                  _this.$bullets.filter('.is-active').focus();
+                }
+              }
+            });
+          });
+        }
+      }
+
+      /**
+      * Changes the current slide to a new one.
+      * @function
+      * @param {Boolean} isLTR - flag if the slide should move left to right.
+      * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.
+      * @param {Number} idx - the index of the new slide in its collection, if one chosen.
+      * @fires Orbit#slidechange
+      */
+
+    }, {
+      key: 'changeSlide',
+      value: function changeSlide(isLTR, chosenSlide, idx) {
+        var $curSlide = this.$slides.filter('.is-active').eq(0);
+
+        if (/mui/g.test($curSlide[0].className)) {
+          return false;
+        } //if the slide is currently animating, kick out of the function
+
+        var $firstSlide = this.$slides.first(),
+            $lastSlide = this.$slides.last(),
+            dirIn = isLTR ? 'Right' : 'Left',
+            dirOut = isLTR ? 'Left' : 'Right',
+            _this = this,
+            $newSlide;
+
+        if (!chosenSlide) {
+          //most of the time, this will be auto played or clicked from the navButtons.
+          $newSlide = isLTR ? //if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!
+          this.options.infiniteWrap ? $curSlide.next('.' + this.options.slideClass).length ? $curSlide.next('.' + this.options.slideClass) : $firstSlide : $curSlide.next('.' + this.options.slideClass) : //pick next slide if moving left to right
+          this.options.infiniteWrap ? $curSlide.prev('.' + this.options.slideClass).length ? $curSlide.prev('.' + this.options.slideClass) : $lastSlide : $curSlide.prev('.' + this.options.slideClass); //pick prev slide if moving right to left
+        } else {
+            $newSlide = chosenSlide;
+          }
+
+        if ($newSlide.length) {
+          if (this.options.bullets) {
+            idx = idx || this.$slides.index($newSlide); //grab index to update bullets
+            this._updateBullets(idx);
+          }
+
+          if (this.options.useMUI) {
+            Foundation.Motion.animateIn($newSlide.addClass('is-active').css({ 'position': 'absolute', 'top': 0 }), this.options['animInFrom' + dirIn], function () {
+              $newSlide.css({ 'position': 'relative', 'display': 'block' }).attr('aria-live', 'polite');
+            });
+
+            Foundation.Motion.animateOut($curSlide.removeClass('is-active'), this.options['animOutTo' + dirOut], function () {
+              $curSlide.removeAttr('aria-live');
+              if (_this.options.autoPlay && !_this.timer.isPaused) {
+                _this.timer.restart();
+              }
+              //do stuff?
+            });
+          } else {
+              $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();
+              $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show();
+              if (this.options.autoPlay && !this.timer.isPaused) {
+                this.timer.restart();
+              }
+            }
+          /**
+          * Triggers when the slide has finished animating in.
+          * @event Orbit#slidechange
+          */
+          this.$element.trigger('slidechange.zf.orbit', [$newSlide]);
+        }
+      }
+
+      /**
+      * Updates the active state of the bullets, if displayed.
+      * @function
+      * @private
+      * @param {Number} idx - the index of the current slide.
+      */
+
+    }, {
+      key: '_updateBullets',
+      value: function _updateBullets(idx) {
+        var $oldBullet = this.$element.find('.' + this.options.boxOfBullets).find('.is-active').removeClass('is-active').blur(),
+            span = $oldBullet.find('span:last').detach(),
+            $newBullet = this.$bullets.eq(idx).addClass('is-active').append(span);
+      }
+
+      /**
+      * Destroys the carousel and hides the element.
+      * @function
+      */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Orbit;
+  }();
+
+  Orbit.defaults = {
+    /**
+    * Tells the JS to look for and loadBullets.
+    * @option
+    * @example true
+    */
+    bullets: true,
+    /**
+    * Tells the JS to apply event listeners to nav buttons
+    * @option
+    * @example true
+    */
+    navButtons: true,
+    /**
+    * motion-ui animation class to apply
+    * @option
+    * @example 'slide-in-right'
+    */
+    animInFromRight: 'slide-in-right',
+    /**
+    * motion-ui animation class to apply
+    * @option
+    * @example 'slide-out-right'
+    */
+    animOutToRight: 'slide-out-right',
+    /**
+    * motion-ui animation class to apply
+    * @option
+    * @example 'slide-in-left'
+    *
+    */
+    animInFromLeft: 'slide-in-left',
+    /**
+    * motion-ui animation class to apply
+    * @option
+    * @example 'slide-out-left'
+    */
+    animOutToLeft: 'slide-out-left',
+    /**
+    * Allows Orbit to automatically animate on page load.
+    * @option
+    * @example true
+    */
+    autoPlay: true,
+    /**
+    * Amount of time, in ms, between slide transitions
+    * @option
+    * @example 5000
+    */
+    timerDelay: 5000,
+    /**
+    * Allows Orbit to infinitely loop through the slides
+    * @option
+    * @example true
+    */
+    infiniteWrap: true,
+    /**
+    * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library
+    * @option
+    * @example true
+    */
+    swipe: true,
+    /**
+    * Allows the timing function to pause animation on hover.
+    * @option
+    * @example true
+    */
+    pauseOnHover: true,
+    /**
+    * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys
+    * @option
+    * @example true
+    */
+    accessible: true,
+    /**
+    * Class applied to the container of Orbit
+    * @option
+    * @example 'orbit-container'
+    */
+    containerClass: 'orbit-container',
+    /**
+    * Class applied to individual slides.
+    * @option
+    * @example 'orbit-slide'
+    */
+    slideClass: 'orbit-slide',
+    /**
+    * Class applied to the bullet container. You're welcome.
+    * @option
+    * @example 'orbit-bullets'
+    */
+    boxOfBullets: 'orbit-bullets',
+    /**
+    * Class applied to the `next` navigation button.
+    * @option
+    * @example 'orbit-next'
+    */
+    nextClass: 'orbit-next',
+    /**
+    * Class applied to the `previous` navigation button.
+    * @option
+    * @example 'orbit-previous'
+    */
+    prevClass: 'orbit-previous',
+    /**
+    * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatability.
+    * @option
+    * @example true
+    */
+    useMUI: true
+  };
+
+  // Window exports
+  Foundation.plugin(Orbit, 'Orbit');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.responsiveMenu.js b/libraries/foundation-6/dist/plugins/foundation.responsiveMenu.js
new file mode 100755
index 00000000..8ba0f7b0
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.responsiveMenu.js
@@ -0,0 +1,171 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * ResponsiveMenu module.
+   * @module foundation.responsiveMenu
+   * @requires foundation.util.triggers
+   * @requires foundation.util.mediaQuery
+   * @requires foundation.util.accordionMenu
+   * @requires foundation.util.drilldown
+   * @requires foundation.util.dropdown-menu
+   */
+
+  var ResponsiveMenu = function () {
+    /**
+     * Creates a new instance of a responsive menu.
+     * @class
+     * @fires ResponsiveMenu#init
+     * @param {jQuery} element - jQuery object to make into a dropdown menu.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function ResponsiveMenu(element, options) {
+      _classCallCheck(this, ResponsiveMenu);
+
+      this.$element = $(element);
+      this.rules = this.$element.data('responsive-menu');
+      this.currentMq = null;
+      this.currentPlugin = null;
+
+      this._init();
+      this._events();
+
+      Foundation.registerPlugin(this, 'ResponsiveMenu');
+    }
+
+    /**
+     * Initializes the Menu by parsing the classes from the 'data-ResponsiveMenu' attribute on the element.
+     * @function
+     * @private
+     */
+
+
+    _createClass(ResponsiveMenu, [{
+      key: '_init',
+      value: function _init() {
+        // The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules
+        if (typeof this.rules === 'string') {
+          var rulesTree = {};
+
+          // Parse rules from "classes" pulled from data attribute
+          var rules = this.rules.split(' ');
+
+          // Iterate through every rule found
+          for (var i = 0; i < rules.length; i++) {
+            var rule = rules[i].split('-');
+            var ruleSize = rule.length > 1 ? rule[0] : 'small';
+            var rulePlugin = rule.length > 1 ? rule[1] : rule[0];
+
+            if (MenuPlugins[rulePlugin] !== null) {
+              rulesTree[ruleSize] = MenuPlugins[rulePlugin];
+            }
+          }
+
+          this.rules = rulesTree;
+        }
+
+        if (!$.isEmptyObject(this.rules)) {
+          this._checkMediaQueries();
+        }
+      }
+
+      /**
+       * Initializes events for the Menu.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+
+        $(window).on('changed.zf.mediaquery', function () {
+          _this._checkMediaQueries();
+        });
+        // $(window).on('resize.zf.ResponsiveMenu', function() {
+        //   _this._checkMediaQueries();
+        // });
+      }
+
+      /**
+       * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_checkMediaQueries',
+      value: function _checkMediaQueries() {
+        var matchedMq,
+            _this = this;
+        // Iterate through each rule and find the last matching rule
+        $.each(this.rules, function (key) {
+          if (Foundation.MediaQuery.atLeast(key)) {
+            matchedMq = key;
+          }
+        });
+
+        // No match? No dice
+        if (!matchedMq) return;
+
+        // Plugin already initialized? We good
+        if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;
+
+        // Remove existing plugin-specific CSS classes
+        $.each(MenuPlugins, function (key, value) {
+          _this.$element.removeClass(value.cssClass);
+        });
+
+        // Add the CSS class for the new plugin
+        this.$element.addClass(this.rules[matchedMq].cssClass);
+
+        // Create an instance of the new plugin
+        if (this.currentPlugin) this.currentPlugin.destroy();
+        this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {});
+      }
+
+      /**
+       * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.currentPlugin.destroy();
+        $(window).off('.zf.ResponsiveMenu');
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return ResponsiveMenu;
+  }();
+
+  ResponsiveMenu.defaults = {};
+
+  // The plugin matches the plugin classes with these plugin instances.
+  var MenuPlugins = {
+    dropdown: {
+      cssClass: 'dropdown',
+      plugin: Foundation._plugins['dropdown-menu'] || null
+    },
+    drilldown: {
+      cssClass: 'drilldown',
+      plugin: Foundation._plugins['drilldown'] || null
+    },
+    accordion: {
+      cssClass: 'accordion-menu',
+      plugin: Foundation._plugins['accordion-menu'] || null
+    }
+  };
+
+  // Window exports
+  Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.responsiveToggle.js b/libraries/foundation-6/dist/plugins/foundation.responsiveToggle.js
new file mode 100755
index 00000000..30360604
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.responsiveToggle.js
@@ -0,0 +1,142 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * ResponsiveToggle module.
+   * @module foundation.responsiveToggle
+   * @requires foundation.util.mediaQuery
+   */
+
+  var ResponsiveToggle = function () {
+    /**
+     * Creates a new instance of Tab Bar.
+     * @class
+     * @fires ResponsiveToggle#init
+     * @param {jQuery} element - jQuery object to attach tab bar functionality to.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function ResponsiveToggle(element, options) {
+      _classCallCheck(this, ResponsiveToggle);
+
+      this.$element = $(element);
+      this.options = $.extend({}, ResponsiveToggle.defaults, this.$element.data(), options);
+
+      this._init();
+      this._events();
+
+      Foundation.registerPlugin(this, 'ResponsiveToggle');
+    }
+
+    /**
+     * Initializes the tab bar by finding the target element, toggling element, and running update().
+     * @function
+     * @private
+     */
+
+
+    _createClass(ResponsiveToggle, [{
+      key: '_init',
+      value: function _init() {
+        var targetID = this.$element.data('responsive-toggle');
+        if (!targetID) {
+          console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.');
+        }
+
+        this.$targetMenu = $('#' + targetID);
+        this.$toggler = this.$element.find('[data-toggle]');
+
+        this._update();
+      }
+
+      /**
+       * Adds necessary event handlers for the tab bar to work.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+
+        this._updateMqHandler = this._update.bind(this);
+
+        $(window).on('changed.zf.mediaquery', this._updateMqHandler);
+
+        this.$toggler.on('click.zf.responsiveToggle', this.toggleMenu.bind(this));
+      }
+
+      /**
+       * Checks the current media query to determine if the tab bar should be visible or hidden.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_update',
+      value: function _update() {
+        // Mobile
+        if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {
+          this.$element.show();
+          this.$targetMenu.hide();
+        }
+
+        // Desktop
+        else {
+            this.$element.hide();
+            this.$targetMenu.show();
+          }
+      }
+
+      /**
+       * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it.
+       * @function
+       * @fires ResponsiveToggle#toggled
+       */
+
+    }, {
+      key: 'toggleMenu',
+      value: function toggleMenu() {
+        if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {
+          this.$targetMenu.toggle(0);
+
+          /**
+           * Fires when the element attached to the tab bar toggles.
+           * @event ResponsiveToggle#toggled
+           */
+          this.$element.trigger('toggled.zf.responsiveToggle');
+        }
+      }
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.off('.zf.responsiveToggle');
+        this.$toggler.off('.zf.responsiveToggle');
+
+        $(window).off('changed.zf.mediaquery', this._updateMqHandler);
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return ResponsiveToggle;
+  }();
+
+  ResponsiveToggle.defaults = {
+    /**
+     * The breakpoint after which the menu is always shown, and the tab bar is hidden.
+     * @option
+     * @example 'medium'
+     */
+    hideFor: 'medium'
+  };
+
+  // Window exports
+  Foundation.plugin(ResponsiveToggle, 'ResponsiveToggle');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.reveal.js b/libraries/foundation-6/dist/plugins/foundation.reveal.js
new file mode 100755
index 00000000..21ed625d
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.reveal.js
@@ -0,0 +1,623 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Reveal module.
+   * @module foundation.reveal
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.box
+   * @requires foundation.util.triggers
+   * @requires foundation.util.mediaQuery
+   * @requires foundation.util.motion if using animations
+   */
+
+  var Reveal = function () {
+    /**
+     * Creates a new instance of Reveal.
+     * @class
+     * @param {jQuery} element - jQuery object to use for the modal.
+     * @param {Object} options - optional parameters.
+     */
+
+    function Reveal(element, options) {
+      _classCallCheck(this, Reveal);
+
+      this.$element = element;
+      this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);
+      this._init();
+
+      Foundation.registerPlugin(this, 'Reveal');
+      Foundation.Keyboard.register('Reveal', {
+        'ENTER': 'open',
+        'SPACE': 'open',
+        'ESCAPE': 'close',
+        'TAB': 'tab_forward',
+        'SHIFT_TAB': 'tab_backward'
+      });
+    }
+
+    /**
+     * Initializes the modal by adding the overlay and close buttons, (if selected).
+     * @private
+     */
+
+
+    _createClass(Reveal, [{
+      key: '_init',
+      value: function _init() {
+        this.id = this.$element.attr('id');
+        this.isActive = false;
+        this.cached = { mq: Foundation.MediaQuery.current };
+        this.isMobile = mobileSniff();
+
+        this.$anchor = $('[data-open="' + this.id + '"]').length ? $('[data-open="' + this.id + '"]') : $('[data-toggle="' + this.id + '"]');
+        this.$anchor.attr({
+          'aria-controls': this.id,
+          'aria-haspopup': true,
+          'tabindex': 0
+        });
+
+        if (this.options.fullScreen || this.$element.hasClass('full')) {
+          this.options.fullScreen = true;
+          this.options.overlay = false;
+        }
+        if (this.options.overlay && !this.$overlay) {
+          this.$overlay = this._makeOverlay(this.id);
+        }
+
+        this.$element.attr({
+          'role': 'dialog',
+          'aria-hidden': true,
+          'data-yeti-box': this.id,
+          'data-resize': this.id
+        });
+
+        if (this.$overlay) {
+          this.$element.detach().appendTo(this.$overlay);
+        } else {
+          this.$element.detach().appendTo($('body'));
+          this.$element.addClass('without-overlay');
+        }
+        this._events();
+        if (this.options.deepLink && window.location.hash === '#' + this.id) {
+          $(window).one('load.zf.reveal', this.open.bind(this));
+        }
+      }
+
+      /**
+       * Creates an overlay div to display behind the modal.
+       * @private
+       */
+
+    }, {
+      key: '_makeOverlay',
+      value: function _makeOverlay(id) {
+        var $overlay = $('<div></div>').addClass('reveal-overlay').appendTo('body');
+        return $overlay;
+      }
+
+      /**
+       * Updates position of modal
+       * TODO:  Figure out if we actually need to cache these values or if it doesn't matter
+       * @private
+       */
+
+    }, {
+      key: '_updatePosition',
+      value: function _updatePosition() {
+        var width = this.$element.outerWidth();
+        var outerWidth = $(window).width();
+        var height = this.$element.outerHeight();
+        var outerHeight = $(window).height();
+        var left, top;
+        if (this.options.hOffset === 'auto') {
+          left = parseInt((outerWidth - width) / 2, 10);
+        } else {
+          left = parseInt(this.options.hOffset, 10);
+        }
+        if (this.options.vOffset === 'auto') {
+          if (height > outerHeight) {
+            top = parseInt(Math.min(100, outerHeight / 10), 10);
+          } else {
+            top = parseInt((outerHeight - height) / 4, 10);
+          }
+        } else {
+          top = parseInt(this.options.vOffset, 10);
+        }
+        this.$element.css({ top: top + 'px' });
+        // only worry about left if we don't have an overlay or we havea  horizontal offset,
+        // otherwise we're perfectly in the middle
+        if (!this.$overlay || this.options.hOffset !== 'auto') {
+          this.$element.css({ left: left + 'px' });
+          this.$element.css({ margin: '0px' });
+        }
+      }
+
+      /**
+       * Adds event handlers for the modal.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this2 = this;
+
+        var _this = this;
+
+        this.$element.on({
+          'open.zf.trigger': this.open.bind(this),
+          'close.zf.trigger': function (event, $element) {
+            if (event.target === _this.$element[0] || $(event.target).parents('[data-closable]')[0] === $element) {
+              // only close reveal when it's explicitly called
+              return _this2.close.apply(_this2);
+            }
+          },
+          'toggle.zf.trigger': this.toggle.bind(this),
+          'resizeme.zf.trigger': function () {
+            _this._updatePosition();
+          }
+        });
+
+        if (this.$anchor.length) {
+          this.$anchor.on('keydown.zf.reveal', function (e) {
+            if (e.which === 13 || e.which === 32) {
+              e.stopPropagation();
+              e.preventDefault();
+              _this.open();
+            }
+          });
+        }
+
+        if (this.options.closeOnClick && this.options.overlay) {
+          this.$overlay.off('.zf.reveal').on('click.zf.reveal', function (e) {
+            if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) {
+              return;
+            }
+            _this.close();
+          });
+        }
+        if (this.options.deepLink) {
+          $(window).on('popstate.zf.reveal:' + this.id, this._handleState.bind(this));
+        }
+      }
+
+      /**
+       * Handles modal methods on back/forward button clicks or any other event that triggers popstate.
+       * @private
+       */
+
+    }, {
+      key: '_handleState',
+      value: function _handleState(e) {
+        if (window.location.hash === '#' + this.id && !this.isActive) {
+          this.open();
+        } else {
+          this.close();
+        }
+      }
+
+      /**
+       * Opens the modal controlled by `this.$anchor`, and closes all others by default.
+       * @function
+       * @fires Reveal#closeme
+       * @fires Reveal#open
+       */
+
+    }, {
+      key: 'open',
+      value: function open() {
+        var _this3 = this;
+
+        if (this.options.deepLink) {
+          var hash = '#' + this.id;
+
+          if (window.history.pushState) {
+            window.history.pushState(null, null, hash);
+          } else {
+            window.location.hash = hash;
+          }
+        }
+
+        this.isActive = true;
+
+        // Make elements invisible, but remove display: none so we can get size and positioning
+        this.$element.css({ 'visibility': 'hidden' }).show().scrollTop(0);
+        if (this.options.overlay) {
+          this.$overlay.css({ 'visibility': 'hidden' }).show();
+        }
+
+        this._updatePosition();
+
+        this.$element.hide().css({ 'visibility': '' });
+
+        if (this.$overlay) {
+          this.$overlay.css({ 'visibility': '' }).hide();
+          if (this.$element.hasClass('fast')) {
+            this.$overlay.addClass('fast');
+          } else if (this.$element.hasClass('slow')) {
+            this.$overlay.addClass('slow');
+          }
+        }
+
+        if (!this.options.multipleOpened) {
+          /**
+           * Fires immediately before the modal opens.
+           * Closes any other modals that are currently open
+           * @event Reveal#closeme
+           */
+          this.$element.trigger('closeme.zf.reveal', this.id);
+        }
+        // Motion UI method of reveal
+        if (this.options.animationIn) {
+          var _this;
+
+          (function () {
+            var afterAnimationFocus = function () {
+              _this.$element.attr({
+                'aria-hidden': false,
+                'tabindex': -1
+              }).focus();
+              console.log('focus');
+            };
+
+            _this = _this3;
+
+            if (_this3.options.overlay) {
+              Foundation.Motion.animateIn(_this3.$overlay, 'fade-in');
+            }
+            Foundation.Motion.animateIn(_this3.$element, _this3.options.animationIn, function () {
+              _this3.focusableElements = Foundation.Keyboard.findFocusable(_this3.$element);
+              afterAnimationFocus();
+            });
+          })();
+        }
+        // jQuery method of reveal
+        else {
+            if (this.options.overlay) {
+              this.$overlay.show(0);
+            }
+            this.$element.show(this.options.showDelay);
+          }
+
+        // handle accessibility
+        this.$element.attr({
+          'aria-hidden': false,
+          'tabindex': -1
+        }).focus();
+
+        /**
+         * Fires when the modal has successfully opened.
+         * @event Reveal#open
+         */
+        this.$element.trigger('open.zf.reveal');
+
+        if (this.isMobile) {
+          this.originalScrollPos = window.pageYOffset;
+          $('html, body').addClass('is-reveal-open');
+        } else {
+          $('body').addClass('is-reveal-open');
+        }
+
+        setTimeout(function () {
+          _this3._extraHandlers();
+        }, 0);
+      }
+
+      /**
+       * Adds extra event handlers for the body and window if necessary.
+       * @private
+       */
+
+    }, {
+      key: '_extraHandlers',
+      value: function _extraHandlers() {
+        var _this = this;
+        this.focusableElements = Foundation.Keyboard.findFocusable(this.$element);
+
+        if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {
+          $('body').on('click.zf.reveal', function (e) {
+            if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) {
+              return;
+            }
+            _this.close();
+          });
+        }
+
+        if (this.options.closeOnEsc) {
+          $(window).on('keydown.zf.reveal', function (e) {
+            Foundation.Keyboard.handleKey(e, 'Reveal', {
+              close: function () {
+                if (_this.options.closeOnEsc) {
+                  _this.close();
+                  _this.$anchor.focus();
+                }
+              }
+            });
+          });
+        }
+
+        // lock focus within modal while tabbing
+        this.$element.on('keydown.zf.reveal', function (e) {
+          var $target = $(this);
+          // handle keyboard event with keyboard util
+          Foundation.Keyboard.handleKey(e, 'Reveal', {
+            tab_forward: function () {
+              if (_this.$element.find(':focus').is(_this.focusableElements.eq(-1))) {
+                // left modal downwards, setting focus to first element
+                _this.focusableElements.eq(0).focus();
+                return true;
+              }
+              if (_this.focusableElements.length === 0) {
+                // no focusable elements inside the modal at all, prevent tabbing in general
+                return true;
+              }
+            },
+            tab_backward: function () {
+              if (_this.$element.find(':focus').is(_this.focusableElements.eq(0)) || _this.$element.is(':focus')) {
+                // left modal upwards, setting focus to last element
+                _this.focusableElements.eq(-1).focus();
+                return true;
+              }
+              if (_this.focusableElements.length === 0) {
+                // no focusable elements inside the modal at all, prevent tabbing in general
+                return true;
+              }
+            },
+            open: function () {
+              if (_this.$element.find(':focus').is(_this.$element.find('[data-close]'))) {
+                setTimeout(function () {
+                  // set focus back to anchor if close button has been activated
+                  _this.$anchor.focus();
+                }, 1);
+              } else if ($target.is(_this.focusableElements)) {
+                // dont't trigger if acual element has focus (i.e. inputs, links, ...)
+                _this.open();
+              }
+            },
+            close: function () {
+              if (_this.options.closeOnEsc) {
+                _this.close();
+                _this.$anchor.focus();
+              }
+            },
+            handled: function (preventDefault) {
+              if (preventDefault) {
+                e.preventDefault();
+              }
+            }
+          });
+        });
+      }
+
+      /**
+       * Closes the modal.
+       * @function
+       * @fires Reveal#closed
+       */
+
+    }, {
+      key: 'close',
+      value: function close() {
+        if (!this.isActive || !this.$element.is(':visible')) {
+          return false;
+        }
+        var _this = this;
+
+        // Motion UI method of hiding
+        if (this.options.animationOut) {
+          if (this.options.overlay) {
+            Foundation.Motion.animateOut(this.$overlay, 'fade-out', finishUp);
+          } else {
+            finishUp();
+          }
+
+          Foundation.Motion.animateOut(this.$element, this.options.animationOut);
+        }
+        // jQuery method of hiding
+        else {
+            if (this.options.overlay) {
+              this.$overlay.hide(0, finishUp);
+            } else {
+              finishUp();
+            }
+
+            this.$element.hide(this.options.hideDelay);
+          }
+
+        // Conditionals to remove extra event listeners added on open
+        if (this.options.closeOnEsc) {
+          $(window).off('keydown.zf.reveal');
+        }
+
+        if (!this.options.overlay && this.options.closeOnClick) {
+          $('body').off('click.zf.reveal');
+        }
+
+        this.$element.off('keydown.zf.reveal');
+
+        function finishUp() {
+          if (_this.isMobile) {
+            $('html, body').removeClass('is-reveal-open');
+            if (_this.originalScrollPos) {
+              $('body').scrollTop(_this.originalScrollPos);
+              _this.originalScrollPos = null;
+            }
+          } else {
+            $('body').removeClass('is-reveal-open');
+          }
+
+          _this.$element.attr('aria-hidden', true);
+
+          /**
+          * Fires when the modal is done closing.
+          * @event Reveal#closed
+          */
+          _this.$element.trigger('closed.zf.reveal');
+        }
+
+        /**
+        * Resets the modal content
+        * This prevents a running video to keep going in the background
+        */
+        if (this.options.resetOnClose) {
+          this.$element.html(this.$element.html());
+        }
+
+        this.isActive = false;
+        if (_this.options.deepLink) {
+          if (window.history.replaceState) {
+            window.history.replaceState("", document.title, window.location.pathname);
+          } else {
+            window.location.hash = '';
+          }
+        }
+      }
+
+      /**
+       * Toggles the open/closed state of a modal.
+       * @function
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle() {
+        if (this.isActive) {
+          this.close();
+        } else {
+          this.open();
+        }
+      }
+    }, {
+      key: 'destroy',
+
+
+      /**
+       * Destroys an instance of a modal.
+       * @function
+       */
+      value: function destroy() {
+        if (this.options.overlay) {
+          this.$element.appendTo($('body')); // move $element outside of $overlay to prevent error unregisterPlugin()
+          this.$overlay.hide().off().remove();
+        }
+        this.$element.hide().off();
+        this.$anchor.off('.zf');
+        $(window).off('.zf.reveal:' + this.id);
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Reveal;
+  }();
+
+  Reveal.defaults = {
+    /**
+     * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
+     * @option
+     * @example 'slide-in-left'
+     */
+    animationIn: '',
+    /**
+     * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
+     * @option
+     * @example 'slide-out-right'
+     */
+    animationOut: '',
+    /**
+     * Time, in ms, to delay the opening of a modal after a click if no animation used.
+     * @option
+     * @example 10
+     */
+    showDelay: 0,
+    /**
+     * Time, in ms, to delay the closing of a modal after a click if no animation used.
+     * @option
+     * @example 10
+     */
+    hideDelay: 0,
+    /**
+     * Allows a click on the body/overlay to close the modal.
+     * @option
+     * @example true
+     */
+    closeOnClick: true,
+    /**
+     * Allows the modal to close if the user presses the `ESCAPE` key.
+     * @option
+     * @example true
+     */
+    closeOnEsc: true,
+    /**
+     * If true, allows multiple modals to be displayed at once.
+     * @option
+     * @example false
+     */
+    multipleOpened: false,
+    /**
+     * Distance, in pixels, the modal should push down from the top of the screen.
+     * @option
+     * @example auto
+     */
+    vOffset: 'auto',
+    /**
+     * Distance, in pixels, the modal should push in from the side of the screen.
+     * @option
+     * @example auto
+     */
+    hOffset: 'auto',
+    /**
+     * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.
+     * @option
+     * @example false
+     */
+    fullScreen: false,
+    /**
+     * Percentage of screen height the modal should push up from the bottom of the view.
+     * @option
+     * @example 10
+     */
+    btmOffsetPct: 10,
+    /**
+     * Allows the modal to generate an overlay div, which will cover the view when modal opens.
+     * @option
+     * @example true
+     */
+    overlay: true,
+    /**
+     * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.
+     * @option
+     * @example false
+     */
+    resetOnClose: false,
+    /**
+     * Allows the modal to alter the url on open/close, and allows the use of the `back` button to close modals. ALSO, allows a modal to auto-maniacally open on page load IF the hash === the modal's user-set id.
+     * @option
+     * @example false
+     */
+    deepLink: false
+  };
+
+  // Window exports
+  Foundation.plugin(Reveal, 'Reveal');
+
+  function iPhoneSniff() {
+    return (/iP(ad|hone|od).*OS/.test(window.navigator.userAgent)
+    );
+  }
+
+  function androidSniff() {
+    return (/Android/.test(window.navigator.userAgent)
+    );
+  }
+
+  function mobileSniff() {
+    return iPhoneSniff() || androidSniff();
+  }
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.slider.js b/libraries/foundation-6/dist/plugins/foundation.slider.js
new file mode 100755
index 00000000..3cbc0374
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.slider.js
@@ -0,0 +1,648 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Slider module.
+   * @module foundation.slider
+   * @requires foundation.util.motion
+   * @requires foundation.util.triggers
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.touch
+   */
+
+  var Slider = function () {
+    /**
+     * Creates a new instance of a drilldown menu.
+     * @class
+     * @param {jQuery} element - jQuery object to make into an accordion menu.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Slider(element, options) {
+      _classCallCheck(this, Slider);
+
+      this.$element = element;
+      this.options = $.extend({}, Slider.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Slider');
+      Foundation.Keyboard.register('Slider', {
+        'ltr': {
+          'ARROW_RIGHT': 'increase',
+          'ARROW_UP': 'increase',
+          'ARROW_DOWN': 'decrease',
+          'ARROW_LEFT': 'decrease',
+          'SHIFT_ARROW_RIGHT': 'increase_fast',
+          'SHIFT_ARROW_UP': 'increase_fast',
+          'SHIFT_ARROW_DOWN': 'decrease_fast',
+          'SHIFT_ARROW_LEFT': 'decrease_fast'
+        },
+        'rtl': {
+          'ARROW_LEFT': 'increase',
+          'ARROW_RIGHT': 'decrease',
+          'SHIFT_ARROW_LEFT': 'increase_fast',
+          'SHIFT_ARROW_RIGHT': 'decrease_fast'
+        }
+      });
+    }
+
+    /**
+     * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).
+     * @function
+     * @private
+     */
+
+
+    _createClass(Slider, [{
+      key: '_init',
+      value: function _init() {
+        this.inputs = this.$element.find('input');
+        this.handles = this.$element.find('[data-slider-handle]');
+
+        this.$handle = this.handles.eq(0);
+        this.$input = this.inputs.length ? this.inputs.eq(0) : $('#' + this.$handle.attr('aria-controls'));
+        this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);
+
+        var isDbl = false,
+            _this = this;
+        if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {
+          this.options.disabled = true;
+          this.$element.addClass(this.options.disabledClass);
+        }
+        if (!this.inputs.length) {
+          this.inputs = $().add(this.$input);
+          this.options.binding = true;
+        }
+        this._setInitAttr(0);
+        this._events(this.$handle);
+
+        if (this.handles[1]) {
+          this.options.doubleSided = true;
+          this.$handle2 = this.handles.eq(1);
+          this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $('#' + this.$handle2.attr('aria-controls'));
+
+          if (!this.inputs[1]) {
+            this.inputs = this.inputs.add(this.$input2);
+          }
+          isDbl = true;
+
+          this._setHandlePos(this.$handle, this.options.initialStart, true, function () {
+
+            _this._setHandlePos(_this.$handle2, _this.options.initialEnd, true);
+          });
+          // this.$handle.triggerHandler('click.zf.slider');
+          this._setInitAttr(1);
+          this._events(this.$handle2);
+        }
+
+        if (!isDbl) {
+          this._setHandlePos(this.$handle, this.options.initialStart, true);
+        }
+      }
+
+      /**
+       * Sets the position of the selected handle and fill bar.
+       * @function
+       * @private
+       * @param {jQuery} $hndl - the selected handle to move.
+       * @param {Number} location - floating point between the start and end values of the slider bar.
+       * @param {Function} cb - callback function to fire on completion.
+       * @fires Slider#moved
+       * @fires Slider#changed
+       */
+
+    }, {
+      key: '_setHandlePos',
+      value: function _setHandlePos($hndl, location, noInvert, cb) {
+        // don't move if the slider has been disabled since its initialization
+        if (this.$element.hasClass(this.options.disabledClass)) {
+          return;
+        }
+        //might need to alter that slightly for bars that will have odd number selections.
+        location = parseFloat(location); //on input change events, convert string to number...grumble.
+
+        // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max
+        if (location < this.options.start) {
+          location = this.options.start;
+        } else if (location > this.options.end) {
+          location = this.options.end;
+        }
+
+        var isDbl = this.options.doubleSided;
+
+        if (isDbl) {
+          //this block is to prevent 2 handles from crossing eachother. Could/should be improved.
+          if (this.handles.index($hndl) === 0) {
+            var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));
+            location = location >= h2Val ? h2Val - this.options.step : location;
+          } else {
+            var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));
+            location = location <= h1Val ? h1Val + this.options.step : location;
+          }
+        }
+
+        //this is for single-handled vertical sliders, it adjusts the value to account for the slider being "upside-down"
+        //for click and drag events, it's weird due to the scale(-1, 1) css property
+        if (this.options.vertical && !noInvert) {
+          location = this.options.end - location;
+        }
+
+        var _this = this,
+            vert = this.options.vertical,
+            hOrW = vert ? 'height' : 'width',
+            lOrT = vert ? 'top' : 'left',
+            handleDim = $hndl[0].getBoundingClientRect()[hOrW],
+            elemDim = this.$element[0].getBoundingClientRect()[hOrW],
+
+        //percentage of bar min/max value based on click or drag point
+        pctOfBar = percent(location - this.options.start, this.options.end - this.options.start).toFixed(2),
+
+        //number of actual pixels to shift the handle, based on the percentage obtained above
+        pxToMove = (elemDim - handleDim) * pctOfBar,
+
+        //percentage of bar to shift the handle
+        movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);
+        //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value
+        location = parseFloat(location.toFixed(this.options.decimal));
+        // declare empty object for css adjustments, only used with 2 handled-sliders
+        var css = {};
+
+        this._setValues($hndl, location);
+
+        // TODO update to calculate based on values set to respective inputs??
+        if (isDbl) {
+          var isLeftHndl = this.handles.index($hndl) === 0,
+
+          //empty variable, will be used for min-height/width for fill bar
+          dim,
+
+          //percentage w/h of the handle compared to the slider bar
+          handlePct = ~ ~(percent(handleDim, elemDim) * 100);
+          //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar
+          if (isLeftHndl) {
+            //left or top percentage value to apply to the fill bar.
+            css[lOrT] = movement + '%';
+            //calculate the new min-height/width for the fill bar.
+            dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;
+            //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider
+            //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.
+            if (cb && typeof cb === 'function') {
+              cb();
+            } //this is only needed for the initialization of 2 handled sliders
+          } else {
+              //just caching the value of the left/bottom handle's left/top property
+              var handlePos = parseFloat(this.$handle[0].style[lOrT]);
+              //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0
+              //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself
+              dim = movement - (isNaN(handlePos) ? this.options.initialStart / ((this.options.end - this.options.start) / 100) : handlePos) + handlePct;
+            }
+          // assign the min-height/width to our css object
+          css['min-' + hOrW] = dim + '%';
+        }
+
+        this.$element.one('finished.zf.animate', function () {
+          /**
+           * Fires when the handle is done moving.
+           * @event Slider#moved
+           */
+          _this.$element.trigger('moved.zf.slider', [$hndl]);
+        });
+
+        //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.
+        var moveTime = this.$element.data('dragging') ? 1000 / 60 : this.options.moveTime;
+
+        Foundation.Move(moveTime, $hndl, function () {
+          //adjusting the left/top property of the handle, based on the percentage calculated above
+          $hndl.css(lOrT, movement + '%');
+
+          if (!_this.options.doubleSided) {
+            //if single-handled, a simple method to expand the fill bar
+            _this.$fill.css(hOrW, pctOfBar * 100 + '%');
+          } else {
+            //otherwise, use the css object we created above
+            _this.$fill.css(css);
+          }
+        });
+
+        /**
+         * Fires when the value has not been change for a given time.
+         * @event Slider#changed
+         */
+        clearTimeout(_this.timeout);
+        _this.timeout = setTimeout(function () {
+          _this.$element.trigger('changed.zf.slider', [$hndl]);
+        }, _this.options.changedDelay);
+      }
+
+      /**
+       * Sets the initial attribute for the slider element.
+       * @function
+       * @private
+       * @param {Number} idx - index of the current handle/input to use.
+       */
+
+    }, {
+      key: '_setInitAttr',
+      value: function _setInitAttr(idx) {
+        var id = this.inputs.eq(idx).attr('id') || Foundation.GetYoDigits(6, 'slider');
+        this.inputs.eq(idx).attr({
+          'id': id,
+          'max': this.options.end,
+          'min': this.options.start,
+          'step': this.options.step
+        });
+        this.handles.eq(idx).attr({
+          'role': 'slider',
+          'aria-controls': id,
+          'aria-valuemax': this.options.end,
+          'aria-valuemin': this.options.start,
+          'aria-valuenow': idx === 0 ? this.options.initialStart : this.options.initialEnd,
+          'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',
+          'tabindex': 0
+        });
+      }
+
+      /**
+       * Sets the input and `aria-valuenow` values for the slider element.
+       * @function
+       * @private
+       * @param {jQuery} $handle - the currently selected handle.
+       * @param {Number} val - floating point of the new value.
+       */
+
+    }, {
+      key: '_setValues',
+      value: function _setValues($handle, val) {
+        var idx = this.options.doubleSided ? this.handles.index($handle) : 0;
+        this.inputs.eq(idx).val(val);
+        $handle.attr('aria-valuenow', val);
+      }
+
+      /**
+       * Handles events on the slider element.
+       * Calculates the new location of the current handle.
+       * If there are two handles and the bar was clicked, it determines which handle to move.
+       * @function
+       * @private
+       * @param {Object} e - the `event` object passed from the listener.
+       * @param {jQuery} $handle - the current handle to calculate for, if selected.
+       * @param {Number} val - floating point number for the new value of the slider.
+       * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.
+       */
+
+    }, {
+      key: '_handleEvent',
+      value: function _handleEvent(e, $handle, val) {
+        var value, hasVal;
+        if (!val) {
+          //click or drag events
+          e.preventDefault();
+          var _this = this,
+              vertical = this.options.vertical,
+              param = vertical ? 'height' : 'width',
+              direction = vertical ? 'top' : 'left',
+              eventOffset = vertical ? e.pageY : e.pageX,
+              halfOfHandle = this.$handle[0].getBoundingClientRect()[param] / 2,
+              barDim = this.$element[0].getBoundingClientRect()[param],
+              windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();
+
+          var elemOffset = this.$element.offset()[direction];
+
+          // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...
+          // best way to guess this is simulated is if clientY == pageY
+          if (e.clientY === e.pageY) {
+            eventOffset = eventOffset + windowScroll;
+          }
+          var eventFromBar = eventOffset - elemOffset;
+          var barXY;
+          if (eventFromBar < 0) {
+            barXY = 0;
+          } else if (eventFromBar > barDim) {
+            barXY = barDim;
+          } else {
+            barXY = eventFromBar;
+          }
+          offsetPct = percent(barXY, barDim);
+
+          value = (this.options.end - this.options.start) * offsetPct + this.options.start;
+
+          // turn everything around for RTL, yay math!
+          if (Foundation.rtl() && !this.options.vertical) {
+            value = this.options.end - value;
+          }
+
+          value = _this._adjustValue(null, value);
+          //boolean flag for the setHandlePos fn, specifically for vertical sliders
+          hasVal = false;
+
+          if (!$handle) {
+            //figure out which handle it is, pass it to the next function.
+            var firstHndlPos = absPosition(this.$handle, direction, barXY, param),
+                secndHndlPos = absPosition(this.$handle2, direction, barXY, param);
+            $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;
+          }
+        } else {
+          //change event on input
+          value = this._adjustValue(null, val);
+          hasVal = true;
+        }
+
+        this._setHandlePos($handle, value, hasVal);
+      }
+
+      /**
+       * Adjustes value for handle in regard to step value. returns adjusted value
+       * @function
+       * @private
+       * @param {jQuery} $handle - the selected handle.
+       * @param {Number} value - value to adjust. used if $handle is falsy
+       */
+
+    }, {
+      key: '_adjustValue',
+      value: function _adjustValue($handle, value) {
+        var val,
+            step = this.options.step,
+            div = parseFloat(step / 2),
+            left,
+            prev_val,
+            next_val;
+        if (!!$handle) {
+          val = parseFloat($handle.attr('aria-valuenow'));
+        } else {
+          val = value;
+        }
+        left = val % step;
+        prev_val = val - left;
+        next_val = prev_val + step;
+        if (left === 0) {
+          return val;
+        }
+        val = val >= prev_val + div ? next_val : prev_val;
+        return val;
+      }
+
+      /**
+       * Adds event listeners to the slider elements.
+       * @function
+       * @private
+       * @param {jQuery} $handle - the current handle to apply listeners to.
+       */
+
+    }, {
+      key: '_events',
+      value: function _events($handle) {
+        var _this = this,
+            curHandle,
+            timer;
+
+        this.inputs.off('change.zf.slider').on('change.zf.slider', function (e) {
+          var idx = _this.inputs.index($(this));
+          _this._handleEvent(e, _this.handles.eq(idx), $(this).val());
+        });
+
+        if (this.options.clickSelect) {
+          this.$element.off('click.zf.slider').on('click.zf.slider', function (e) {
+            if (_this.$element.data('dragging')) {
+              return false;
+            }
+
+            if (!$(e.target).is('[data-slider-handle]')) {
+              if (_this.options.doubleSided) {
+                _this._handleEvent(e);
+              } else {
+                _this._handleEvent(e, _this.$handle);
+              }
+            }
+          });
+        }
+
+        if (this.options.draggable) {
+          this.handles.addTouch();
+
+          var $body = $('body');
+          $handle.off('mousedown.zf.slider').on('mousedown.zf.slider', function (e) {
+            $handle.addClass('is-dragging');
+            _this.$fill.addClass('is-dragging'); //
+            _this.$element.data('dragging', true);
+
+            curHandle = $(e.currentTarget);
+
+            $body.on('mousemove.zf.slider', function (e) {
+              e.preventDefault();
+              _this._handleEvent(e, curHandle);
+            }).on('mouseup.zf.slider', function (e) {
+              _this._handleEvent(e, curHandle);
+
+              $handle.removeClass('is-dragging');
+              _this.$fill.removeClass('is-dragging');
+              _this.$element.data('dragging', false);
+
+              $body.off('mousemove.zf.slider mouseup.zf.slider');
+            });
+          })
+          // prevent events triggered by touch
+          .on('selectstart.zf.slider touchmove.zf.slider', function (e) {
+            e.preventDefault();
+          });
+        }
+
+        $handle.off('keydown.zf.slider').on('keydown.zf.slider', function (e) {
+          var _$handle = $(this),
+              idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,
+              oldValue = parseFloat(_this.inputs.eq(idx).val()),
+              newValue;
+
+          // handle keyboard event with keyboard util
+          Foundation.Keyboard.handleKey(e, 'Slider', {
+            decrease: function () {
+              newValue = oldValue - _this.options.step;
+            },
+            increase: function () {
+              newValue = oldValue + _this.options.step;
+            },
+            decrease_fast: function () {
+              newValue = oldValue - _this.options.step * 10;
+            },
+            increase_fast: function () {
+              newValue = oldValue + _this.options.step * 10;
+            },
+            handled: function () {
+              // only set handle pos when event was handled specially
+              e.preventDefault();
+              _this._setHandlePos(_$handle, newValue, true);
+            }
+          });
+          /*if (newValue) { // if pressed key has special function, update value
+            e.preventDefault();
+            _this._setHandlePos(_$handle, newValue);
+          }*/
+        });
+      }
+
+      /**
+       * Destroys the slider plugin.
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.handles.off('.zf.slider');
+        this.inputs.off('.zf.slider');
+        this.$element.off('.zf.slider');
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Slider;
+  }();
+
+  Slider.defaults = {
+    /**
+     * Minimum value for the slider scale.
+     * @option
+     * @example 0
+     */
+    start: 0,
+    /**
+     * Maximum value for the slider scale.
+     * @option
+     * @example 100
+     */
+    end: 100,
+    /**
+     * Minimum value change per change event.
+     * @option
+     * @example 1
+     */
+    step: 1,
+    /**
+     * Value at which the handle/input *(left handle/first input)* should be set to on initialization.
+     * @option
+     * @example 0
+     */
+    initialStart: 0,
+    /**
+     * Value at which the right handle/second input should be set to on initialization.
+     * @option
+     * @example 100
+     */
+    initialEnd: 100,
+    /**
+     * Allows the input to be located outside the container and visible. Set to by the JS
+     * @option
+     * @example false
+     */
+    binding: false,
+    /**
+     * Allows the user to click/tap on the slider bar to select a value.
+     * @option
+     * @example true
+     */
+    clickSelect: true,
+    /**
+     * Set to true and use the `vertical` class to change alignment to vertical.
+     * @option
+     * @example false
+     */
+    vertical: false,
+    /**
+     * Allows the user to drag the slider handle(s) to select a value.
+     * @option
+     * @example true
+     */
+    draggable: true,
+    /**
+     * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.
+     * @option
+     * @example false
+     */
+    disabled: false,
+    /**
+     * Allows the use of two handles. Double checked by the JS. Changes some logic handling.
+     * @option
+     * @example false
+     */
+    doubleSided: false,
+    /**
+     * Potential future feature.
+     */
+    // steps: 100,
+    /**
+     * Number of decimal places the plugin should go to for floating point precision.
+     * @option
+     * @example 2
+     */
+    decimal: 2,
+    /**
+     * Time delay for dragged elements.
+     */
+    // dragDelay: 0,
+    /**
+     * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.
+     * @option
+     * @example 200
+     */
+    moveTime: 200, //update this if changing the transition time in the sass
+    /**
+     * Class applied to disabled sliders.
+     * @option
+     * @example 'disabled'
+     */
+    disabledClass: 'disabled',
+    /**
+     * Will invert the default layout for a vertical<span data-tooltip title="who would do this???"> </span>slider.
+     * @option
+     * @example false
+     */
+    invertVertical: false,
+    /**
+     * Milliseconds before the `changed.zf-slider` event is triggered after value change.
+     * @option
+     * @example 500
+     */
+    changedDelay: 500
+  };
+
+  function percent(frac, num) {
+    return frac / num;
+  }
+  function absPosition($handle, dir, clickPos, param) {
+    return Math.abs($handle.position()[dir] + $handle[param]() / 2 - clickPos);
+  }
+
+  // Window exports
+  Foundation.plugin(Slider, 'Slider');
+}(jQuery);
+
+//*********this is in case we go to static, absolute positions instead of dynamic positioning********
+// this.setSteps(function() {
+//   _this._events();
+//   var initStart = _this.options.positions[_this.options.initialStart - 1] || null;
+//   var initEnd = _this.options.initialEnd ? _this.options.position[_this.options.initialEnd - 1] : null;
+//   if (initStart || initEnd) {
+//     _this._handleEvent(initStart, initEnd);
+//   }
+// });
+
+//***********the other part of absolute positions*************
+// Slider.prototype.setSteps = function(cb) {
+//   var posChange = this.$element.outerWidth() / this.options.steps;
+//   var counter = 0
+//   while(counter < this.options.steps) {
+//     if (counter) {
+//       this.options.positions.push(this.options.positions[counter - 1] + posChange);
+//     } else {
+//       this.options.positions.push(posChange);
+//     }
+//     counter++;
+//   }
+//   cb();
+// };
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.sticky.js b/libraries/foundation-6/dist/plugins/foundation.sticky.js
new file mode 100755
index 00000000..d1a4689d
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.sticky.js
@@ -0,0 +1,495 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Sticky module.
+   * @module foundation.sticky
+   * @requires foundation.util.triggers
+   * @requires foundation.util.mediaQuery
+   */
+
+  var Sticky = function () {
+    /**
+     * Creates a new instance of a sticky thing.
+     * @class
+     * @param {jQuery} element - jQuery object to make sticky.
+     * @param {Object} options - options object passed when creating the element programmatically.
+     */
+
+    function Sticky(element, options) {
+      _classCallCheck(this, Sticky);
+
+      this.$element = element;
+      this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Sticky');
+    }
+
+    /**
+     * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes
+     * @function
+     * @private
+     */
+
+
+    _createClass(Sticky, [{
+      key: '_init',
+      value: function _init() {
+        var $parent = this.$element.parent('[data-sticky-container]'),
+            id = this.$element[0].id || Foundation.GetYoDigits(6, 'sticky'),
+            _this = this;
+
+        if (!$parent.length) {
+          this.wasWrapped = true;
+        }
+        this.$container = $parent.length ? $parent : $(this.options.container).wrapInner(this.$element);
+        this.$container.addClass(this.options.containerClass);
+
+        this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id });
+
+        this.scrollCount = this.options.checkEvery;
+        this.isStuck = false;
+        $(window).one('load.zf.sticky', function () {
+          if (_this.options.anchor !== '') {
+            _this.$anchor = $('#' + _this.options.anchor);
+          } else {
+            _this._parsePoints();
+          }
+
+          _this._setSizes(function () {
+            _this._calc(false);
+          });
+          _this._events(id.split('-').reverse().join('-'));
+        });
+      }
+
+      /**
+       * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_parsePoints',
+      value: function _parsePoints() {
+        var top = this.options.topAnchor == "" ? 1 : this.options.topAnchor,
+            btm = this.options.btmAnchor == "" ? document.documentElement.scrollHeight : this.options.btmAnchor,
+            pts = [top, btm],
+            breaks = {};
+        for (var i = 0, len = pts.length; i < len && pts[i]; i++) {
+          var pt;
+          if (typeof pts[i] === 'number') {
+            pt = pts[i];
+          } else {
+            var place = pts[i].split(':'),
+                anchor = $('#' + place[0]);
+
+            pt = anchor.offset().top;
+            if (place[1] && place[1].toLowerCase() === 'bottom') {
+              pt += anchor[0].getBoundingClientRect().height;
+            }
+          }
+          breaks[i] = pt;
+        }
+
+        this.points = breaks;
+        return;
+      }
+
+      /**
+       * Adds event handlers for the scrolling element.
+       * @private
+       * @param {String} id - psuedo-random id for unique scroll event listener.
+       */
+
+    }, {
+      key: '_events',
+      value: function _events(id) {
+        var _this = this,
+            scrollListener = this.scrollListener = 'scroll.zf.' + id;
+        if (this.isOn) {
+          return;
+        }
+        if (this.canStick) {
+          this.isOn = true;
+          $(window).off(scrollListener).on(scrollListener, function (e) {
+            if (_this.scrollCount === 0) {
+              _this.scrollCount = _this.options.checkEvery;
+              _this._setSizes(function () {
+                _this._calc(false, window.pageYOffset);
+              });
+            } else {
+              _this.scrollCount--;
+              _this._calc(false, window.pageYOffset);
+            }
+          });
+        }
+
+        this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function (e, el) {
+          _this._setSizes(function () {
+            _this._calc(false);
+            if (_this.canStick) {
+              if (!_this.isOn) {
+                _this._events(id);
+              }
+            } else if (_this.isOn) {
+              _this._pauseListeners(scrollListener);
+            }
+          });
+        });
+      }
+
+      /**
+       * Removes event handlers for scroll and change events on anchor.
+       * @fires Sticky#pause
+       * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`
+       */
+
+    }, {
+      key: '_pauseListeners',
+      value: function _pauseListeners(scrollListener) {
+        this.isOn = false;
+        $(window).off(scrollListener);
+
+        /**
+         * Fires when the plugin is paused due to resize event shrinking the view.
+         * @event Sticky#pause
+         * @private
+         */
+        this.$element.trigger('pause.zf.sticky');
+      }
+
+      /**
+       * Called on every `scroll` event and on `_init`
+       * fires functions based on booleans and cached values
+       * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.
+       * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.
+       */
+
+    }, {
+      key: '_calc',
+      value: function _calc(checkSizes, scroll) {
+        if (checkSizes) {
+          this._setSizes();
+        }
+
+        if (!this.canStick) {
+          if (this.isStuck) {
+            this._removeSticky(true);
+          }
+          return false;
+        }
+
+        if (!scroll) {
+          scroll = window.pageYOffset;
+        }
+
+        if (scroll >= this.topPoint) {
+          if (scroll <= this.bottomPoint) {
+            if (!this.isStuck) {
+              this._setSticky();
+            }
+          } else {
+            if (this.isStuck) {
+              this._removeSticky(false);
+            }
+          }
+        } else {
+          if (this.isStuck) {
+            this._removeSticky(true);
+          }
+        }
+      }
+
+      /**
+       * Causes the $element to become stuck.
+       * Adds `position: fixed;`, and helper classes.
+       * @fires Sticky#stuckto
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_setSticky',
+      value: function _setSticky() {
+        var _this = this,
+            stickTo = this.options.stickTo,
+            mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',
+            notStuckTo = stickTo === 'top' ? 'bottom' : 'top',
+            css = {};
+
+        css[mrgn] = this.options[mrgn] + 'em';
+        css[stickTo] = 0;
+        css[notStuckTo] = 'auto';
+        css['left'] = this.$container.offset().left + parseInt(window.getComputedStyle(this.$container[0])["padding-left"], 10);
+        this.isStuck = true;
+        this.$element.removeClass('is-anchored is-at-' + notStuckTo).addClass('is-stuck is-at-' + stickTo).css(css)
+        /**
+         * Fires when the $element has become `position: fixed;`
+         * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`
+         * @event Sticky#stuckto
+         */
+        .trigger('sticky.zf.stuckto:' + stickTo);
+        this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd", function () {
+          _this._setSizes();
+        });
+      }
+
+      /**
+       * Causes the $element to become unstuck.
+       * Removes `position: fixed;`, and helper classes.
+       * Adds other helper classes.
+       * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.
+       * @fires Sticky#unstuckfrom
+       * @private
+       */
+
+    }, {
+      key: '_removeSticky',
+      value: function _removeSticky(isTop) {
+        var stickTo = this.options.stickTo,
+            stickToTop = stickTo === 'top',
+            css = {},
+            anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,
+            mrgn = stickToTop ? 'marginTop' : 'marginBottom',
+            notStuckTo = stickToTop ? 'bottom' : 'top',
+            topOrBottom = isTop ? 'top' : 'bottom';
+
+        css[mrgn] = 0;
+
+        css['bottom'] = 'auto';
+        if (isTop) {
+          css['top'] = 0;
+        } else {
+          css['top'] = anchorPt;
+        }
+
+        css['left'] = '';
+        this.isStuck = false;
+        this.$element.removeClass('is-stuck is-at-' + stickTo).addClass('is-anchored is-at-' + topOrBottom).css(css)
+        /**
+         * Fires when the $element has become anchored.
+         * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`
+         * @event Sticky#unstuckfrom
+         */
+        .trigger('sticky.zf.unstuckfrom:' + topOrBottom);
+      }
+
+      /**
+       * Sets the $element and $container sizes for plugin.
+       * Calls `_setBreakPoints`.
+       * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.
+       * @private
+       */
+
+    }, {
+      key: '_setSizes',
+      value: function _setSizes(cb) {
+        this.canStick = Foundation.MediaQuery.atLeast(this.options.stickyOn);
+        if (!this.canStick) {
+          cb();
+        }
+        var _this = this,
+            newElemWidth = this.$container[0].getBoundingClientRect().width,
+            comp = window.getComputedStyle(this.$container[0]),
+            pdng = parseInt(comp['padding-right'], 10);
+
+        if (this.$anchor && this.$anchor.length) {
+          this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;
+        } else {
+          this._parsePoints();
+        }
+
+        this.$element.css({
+          'max-width': newElemWidth - pdng + 'px'
+        });
+
+        var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;
+        if (this.$element.css("display") == "none") {
+          newContainerHeight = 0;
+        }
+        this.containerHeight = newContainerHeight;
+        this.$container.css({
+          height: newContainerHeight
+        });
+        this.elemHeight = newContainerHeight;
+
+        if (this.isStuck) {
+          this.$element.css({ "left": this.$container.offset().left + parseInt(comp['padding-left'], 10) });
+        }
+
+        this._setBreakPoints(newContainerHeight, function () {
+          if (cb) {
+            cb();
+          }
+        });
+      }
+
+      /**
+       * Sets the upper and lower breakpoints for the element to become sticky/unsticky.
+       * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.
+       * @param {Function} cb - optional callback function to be called on completion.
+       * @private
+       */
+
+    }, {
+      key: '_setBreakPoints',
+      value: function _setBreakPoints(elemHeight, cb) {
+        if (!this.canStick) {
+          if (cb) {
+            cb();
+          } else {
+            return false;
+          }
+        }
+        var mTop = emCalc(this.options.marginTop),
+            mBtm = emCalc(this.options.marginBottom),
+            topPoint = this.points ? this.points[0] : this.$anchor.offset().top,
+            bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,
+
+        // topPoint = this.$anchor.offset().top || this.points[0],
+        // bottomPoint = topPoint + this.anchorHeight || this.points[1],
+        winHeight = window.innerHeight;
+
+        if (this.options.stickTo === 'top') {
+          topPoint -= mTop;
+          bottomPoint -= elemHeight + mTop;
+        } else if (this.options.stickTo === 'bottom') {
+          topPoint -= winHeight - (elemHeight + mBtm);
+          bottomPoint -= winHeight - mBtm;
+        } else {
+          //this would be the stickTo: both option... tricky
+        }
+
+        this.topPoint = topPoint;
+        this.bottomPoint = bottomPoint;
+
+        if (cb) {
+          cb();
+        }
+      }
+
+      /**
+       * Destroys the current sticky element.
+       * Resets the element to the top position first.
+       * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this._removeSticky(true);
+
+        this.$element.removeClass(this.options.stickyClass + ' is-anchored is-at-top').css({
+          height: '',
+          top: '',
+          bottom: '',
+          'max-width': ''
+        }).off('resizeme.zf.trigger');
+        if (this.$anchor && this.$anchor.length) {
+          this.$anchor.off('change.zf.sticky');
+        }
+        $(window).off(this.scrollListener);
+
+        if (this.wasWrapped) {
+          this.$element.unwrap();
+        } else {
+          this.$container.removeClass(this.options.containerClass).css({
+            height: ''
+          });
+        }
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Sticky;
+  }();
+
+  Sticky.defaults = {
+    /**
+     * Customizable container template. Add your own classes for styling and sizing.
+     * @option
+     * @example '&lt;div data-sticky-container class="small-6 columns"&gt;&lt;/div&gt;'
+     */
+    container: '<div data-sticky-container></div>',
+    /**
+     * Location in the view the element sticks to.
+     * @option
+     * @example 'top'
+     */
+    stickTo: 'top',
+    /**
+     * If anchored to a single element, the id of that element.
+     * @option
+     * @example 'exampleId'
+     */
+    anchor: '',
+    /**
+     * If using more than one element as anchor points, the id of the top anchor.
+     * @option
+     * @example 'exampleId:top'
+     */
+    topAnchor: '',
+    /**
+     * If using more than one element as anchor points, the id of the bottom anchor.
+     * @option
+     * @example 'exampleId:bottom'
+     */
+    btmAnchor: '',
+    /**
+     * Margin, in `em`'s to apply to the top of the element when it becomes sticky.
+     * @option
+     * @example 1
+     */
+    marginTop: 1,
+    /**
+     * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.
+     * @option
+     * @example 1
+     */
+    marginBottom: 1,
+    /**
+     * Breakpoint string that is the minimum screen size an element should become sticky.
+     * @option
+     * @example 'medium'
+     */
+    stickyOn: 'medium',
+    /**
+     * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.
+     * @option
+     * @example 'sticky'
+     */
+    stickyClass: 'sticky',
+    /**
+     * Class applied to sticky container. Foundation defaults to `sticky-container`.
+     * @option
+     * @example 'sticky-container'
+     */
+    containerClass: 'sticky-container',
+    /**
+     * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.
+     * @option
+     * @example 50
+     */
+    checkEvery: -1
+  };
+
+  /**
+   * Helper function to calculate em values
+   * @param Number {em} - number of em's to calculate into pixels
+   */
+  function emCalc(em) {
+    return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;
+  }
+
+  // Window exports
+  Foundation.plugin(Sticky, 'Sticky');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.tabs.js b/libraries/foundation-6/dist/plugins/foundation.tabs.js
new file mode 100755
index 00000000..47e25b5e
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.tabs.js
@@ -0,0 +1,348 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Tabs module.
+   * @module foundation.tabs
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.timerAndImageLoader if tabs contain images
+   */
+
+  var Tabs = function () {
+    /**
+     * Creates a new instance of tabs.
+     * @class
+     * @fires Tabs#init
+     * @param {jQuery} element - jQuery object to make into tabs.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Tabs(element, options) {
+      _classCallCheck(this, Tabs);
+
+      this.$element = element;
+      this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);
+
+      this._init();
+      Foundation.registerPlugin(this, 'Tabs');
+      Foundation.Keyboard.register('Tabs', {
+        'ENTER': 'open',
+        'SPACE': 'open',
+        'ARROW_RIGHT': 'next',
+        'ARROW_UP': 'previous',
+        'ARROW_DOWN': 'next',
+        'ARROW_LEFT': 'previous'
+        // 'TAB': 'next',
+        // 'SHIFT_TAB': 'previous'
+      });
+    }
+
+    /**
+     * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.
+     * @private
+     */
+
+
+    _createClass(Tabs, [{
+      key: '_init',
+      value: function _init() {
+        var _this = this;
+
+        this.$tabTitles = this.$element.find('.' + this.options.linkClass);
+        this.$tabContent = $('[data-tabs-content="' + this.$element[0].id + '"]');
+
+        this.$tabTitles.each(function () {
+          var $elem = $(this),
+              $link = $elem.find('a'),
+              isActive = $elem.hasClass('is-active'),
+              hash = $link[0].hash.slice(1),
+              linkId = $link[0].id ? $link[0].id : hash + '-label',
+              $tabContent = $('#' + hash);
+
+          $elem.attr({ 'role': 'presentation' });
+
+          $link.attr({
+            'role': 'tab',
+            'aria-controls': hash,
+            'aria-selected': isActive,
+            'id': linkId
+          });
+
+          $tabContent.attr({
+            'role': 'tabpanel',
+            'aria-hidden': !isActive,
+            'aria-labelledby': linkId
+          });
+
+          if (isActive && _this.options.autoFocus) {
+            $link.focus();
+          }
+        });
+
+        if (this.options.matchHeight) {
+          var $images = this.$tabContent.find('img');
+
+          if ($images.length) {
+            Foundation.onImagesLoaded($images, this._setHeight.bind(this));
+          } else {
+            this._setHeight();
+          }
+        }
+
+        this._events();
+      }
+
+      /**
+       * Adds event handlers for items within the tabs.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        this._addKeyHandler();
+        this._addClickHandler();
+        this._setHeightMqHandler = null;
+
+        if (this.options.matchHeight) {
+          this._setHeightMqHandler = this._setHeight.bind(this);
+
+          $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);
+        }
+      }
+
+      /**
+       * Adds click handlers for items within the tabs.
+       * @private
+       */
+
+    }, {
+      key: '_addClickHandler',
+      value: function _addClickHandler() {
+        var _this = this;
+
+        this.$element.off('click.zf.tabs').on('click.zf.tabs', '.' + this.options.linkClass, function (e) {
+          e.preventDefault();
+          e.stopPropagation();
+          if ($(this).hasClass('is-active')) {
+            return;
+          }
+          _this._handleTabChange($(this));
+        });
+      }
+
+      /**
+       * Adds keyboard event handlers for items within the tabs.
+       * @private
+       */
+
+    }, {
+      key: '_addKeyHandler',
+      value: function _addKeyHandler() {
+        var _this = this;
+        var $firstTab = _this.$element.find('li:first-of-type');
+        var $lastTab = _this.$element.find('li:last-of-type');
+
+        this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function (e) {
+          if (e.which === 9) return;
+
+          var $element = $(this),
+              $elements = $element.parent('ul').children('li'),
+              $prevElement,
+              $nextElement;
+
+          $elements.each(function (i) {
+            if ($(this).is($element)) {
+              if (_this.options.wrapOnKeys) {
+                $prevElement = i === 0 ? $elements.last() : $elements.eq(i - 1);
+                $nextElement = i === $elements.length - 1 ? $elements.first() : $elements.eq(i + 1);
+              } else {
+                $prevElement = $elements.eq(Math.max(0, i - 1));
+                $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1));
+              }
+              return;
+            }
+          });
+
+          // handle keyboard event with keyboard util
+          Foundation.Keyboard.handleKey(e, 'Tabs', {
+            open: function () {
+              $element.find('[role="tab"]').focus();
+              _this._handleTabChange($element);
+            },
+            previous: function () {
+              $prevElement.find('[role="tab"]').focus();
+              _this._handleTabChange($prevElement);
+            },
+            next: function () {
+              $nextElement.find('[role="tab"]').focus();
+              _this._handleTabChange($nextElement);
+            },
+            handled: function () {
+              e.stopPropagation();
+              e.preventDefault();
+            }
+          });
+        });
+      }
+
+      /**
+       * Opens the tab `$targetContent` defined by `$target`.
+       * @param {jQuery} $target - Tab to open.
+       * @fires Tabs#change
+       * @function
+       */
+
+    }, {
+      key: '_handleTabChange',
+      value: function _handleTabChange($target) {
+        var $tabLink = $target.find('[role="tab"]'),
+            hash = $tabLink[0].hash,
+            $targetContent = this.$tabContent.find(hash),
+            $oldTab = this.$element.find('.' + this.options.linkClass + '.is-active').removeClass('is-active').find('[role="tab"]').attr({ 'aria-selected': 'false' });
+
+        $('#' + $oldTab.attr('aria-controls')).removeClass('is-active').attr({ 'aria-hidden': 'true' });
+
+        $target.addClass('is-active');
+
+        $tabLink.attr({ 'aria-selected': 'true' });
+
+        $targetContent.addClass('is-active').attr({ 'aria-hidden': 'false' });
+
+        /**
+         * Fires when the plugin has successfully changed tabs.
+         * @event Tabs#change
+         */
+        this.$element.trigger('change.zf.tabs', [$target]);
+      }
+
+      /**
+       * Public method for selecting a content pane to display.
+       * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.
+       * @function
+       */
+
+    }, {
+      key: 'selectTab',
+      value: function selectTab(elem) {
+        var idStr;
+
+        if (typeof elem === 'object') {
+          idStr = elem[0].id;
+        } else {
+          idStr = elem;
+        }
+
+        if (idStr.indexOf('#') < 0) {
+          idStr = '#' + idStr;
+        }
+
+        var $target = this.$tabTitles.find('[href="' + idStr + '"]').parent('.' + this.options.linkClass);
+
+        this._handleTabChange($target);
+      }
+    }, {
+      key: '_setHeight',
+
+      /**
+       * Sets the height of each panel to the height of the tallest panel.
+       * If enabled in options, gets called on media query change.
+       * If loading content via external source, can be called directly or with _reflow.
+       * @function
+       * @private
+       */
+      value: function _setHeight() {
+        var max = 0;
+        this.$tabContent.find('.' + this.options.panelClass).css('height', '').each(function () {
+          var panel = $(this),
+              isActive = panel.hasClass('is-active');
+
+          if (!isActive) {
+            panel.css({ 'visibility': 'hidden', 'display': 'block' });
+          }
+
+          var temp = this.getBoundingClientRect().height;
+
+          if (!isActive) {
+            panel.css({
+              'visibility': '',
+              'display': ''
+            });
+          }
+
+          max = temp > max ? temp : max;
+        }).css('height', max + 'px');
+      }
+
+      /**
+       * Destroys an instance of an tabs.
+       * @fires Tabs#destroyed
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.find('.' + this.options.linkClass).off('.zf.tabs').hide().end().find('.' + this.options.panelClass).hide();
+
+        if (this.options.matchHeight) {
+          if (this._setHeightMqHandler != null) {
+            $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);
+          }
+        }
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Tabs;
+  }();
+
+  Tabs.defaults = {
+    /**
+     * Allows the window to scroll to content of active pane on load if set to true.
+     * @option
+     * @example false
+     */
+    autoFocus: false,
+
+    /**
+     * Allows keyboard input to 'wrap' around the tab links.
+     * @option
+     * @example true
+     */
+    wrapOnKeys: true,
+
+    /**
+     * Allows the tab content panes to match heights if set to true.
+     * @option
+     * @example false
+     */
+    matchHeight: false,
+
+    /**
+     * Class applied to `li`'s in tab link list.
+     * @option
+     * @example 'tabs-title'
+     */
+    linkClass: 'tabs-title',
+
+    /**
+     * Class applied to the content containers.
+     * @option
+     * @example 'tabs-panel'
+     */
+    panelClass: 'tabs-panel'
+  };
+
+  function checkClass($elem) {
+    return $elem.hasClass('is-active');
+  }
+
+  // Window exports
+  Foundation.plugin(Tabs, 'Tabs');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.toggler.js b/libraries/foundation-6/dist/plugins/foundation.toggler.js
new file mode 100755
index 00000000..3e73b8d6
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.toggler.js
@@ -0,0 +1,166 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Toggler module.
+   * @module foundation.toggler
+   * @requires foundation.util.motion
+   * @requires foundation.util.triggers
+   */
+
+  var Toggler = function () {
+    /**
+     * Creates a new instance of Toggler.
+     * @class
+     * @fires Toggler#init
+     * @param {Object} element - jQuery object to add the trigger to.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Toggler(element, options) {
+      _classCallCheck(this, Toggler);
+
+      this.$element = element;
+      this.options = $.extend({}, Toggler.defaults, element.data(), options);
+      this.className = '';
+
+      this._init();
+      this._events();
+
+      Foundation.registerPlugin(this, 'Toggler');
+    }
+
+    /**
+     * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.
+     * @function
+     * @private
+     */
+
+
+    _createClass(Toggler, [{
+      key: '_init',
+      value: function _init() {
+        var input;
+        // Parse animation classes if they were set
+        if (this.options.animate) {
+          input = this.options.animate.split(' ');
+
+          this.animationIn = input[0];
+          this.animationOut = input[1] || null;
+        }
+        // Otherwise, parse toggle class
+        else {
+            input = this.$element.data('toggler');
+            // Allow for a . at the beginning of the string
+            this.className = input[0] === '.' ? input.slice(1) : input;
+          }
+
+        // Add ARIA attributes to triggers
+        var id = this.$element[0].id;
+        $('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr('aria-controls', id);
+        // If the target is hidden, add aria-hidden
+        this.$element.attr('aria-expanded', this.$element.is(':hidden') ? false : true);
+      }
+
+      /**
+       * Initializes events for the toggle trigger.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));
+      }
+
+      /**
+       * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was "on" or "off".
+       * @function
+       * @fires Toggler#on
+       * @fires Toggler#off
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle() {
+        this[this.options.animate ? '_toggleAnimate' : '_toggleClass']();
+      }
+    }, {
+      key: '_toggleClass',
+      value: function _toggleClass() {
+        this.$element.toggleClass(this.className);
+
+        var isOn = this.$element.hasClass(this.className);
+        if (isOn) {
+          /**
+           * Fires if the target element has the class after a toggle.
+           * @event Toggler#on
+           */
+          this.$element.trigger('on.zf.toggler');
+        } else {
+          /**
+           * Fires if the target element does not have the class after a toggle.
+           * @event Toggler#off
+           */
+          this.$element.trigger('off.zf.toggler');
+        }
+
+        this._updateARIA(isOn);
+      }
+    }, {
+      key: '_toggleAnimate',
+      value: function _toggleAnimate() {
+        var _this = this;
+
+        if (this.$element.is(':hidden')) {
+          Foundation.Motion.animateIn(this.$element, this.animationIn, function () {
+            _this._updateARIA(true);
+            this.trigger('on.zf.toggler');
+          });
+        } else {
+          Foundation.Motion.animateOut(this.$element, this.animationOut, function () {
+            _this._updateARIA(false);
+            this.trigger('off.zf.toggler');
+          });
+        }
+      }
+    }, {
+      key: '_updateARIA',
+      value: function _updateARIA(isOn) {
+        this.$element.attr('aria-expanded', isOn ? true : false);
+      }
+
+      /**
+       * Destroys the instance of Toggler on the element.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.off('.zf.toggler');
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Toggler;
+  }();
+
+  Toggler.defaults = {
+    /**
+     * Tells the plugin if the element should animated when toggled.
+     * @option
+     * @example false
+     */
+    animate: false
+  };
+
+  // Window exports
+  Foundation.plugin(Toggler, 'Toggler');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.tooltip.js b/libraries/foundation-6/dist/plugins/foundation.tooltip.js
new file mode 100755
index 00000000..a02bd5ab
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.tooltip.js
@@ -0,0 +1,468 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Tooltip module.
+   * @module foundation.tooltip
+   * @requires foundation.util.box
+   * @requires foundation.util.triggers
+   */
+
+  var Tooltip = function () {
+    /**
+     * Creates a new instance of a Tooltip.
+     * @class
+     * @fires Tooltip#init
+     * @param {jQuery} element - jQuery object to attach a tooltip to.
+     * @param {Object} options - object to extend the default configuration.
+     */
+
+    function Tooltip(element, options) {
+      _classCallCheck(this, Tooltip);
+
+      this.$element = element;
+      this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);
+
+      this.isActive = false;
+      this.isClick = false;
+      this._init();
+
+      Foundation.registerPlugin(this, 'Tooltip');
+    }
+
+    /**
+     * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.
+     * @private
+     */
+
+
+    _createClass(Tooltip, [{
+      key: '_init',
+      value: function _init() {
+        var elemId = this.$element.attr('aria-describedby') || Foundation.GetYoDigits(6, 'tooltip');
+
+        this.options.positionClass = this.options.positionClass || this._getPositionClass(this.$element);
+        this.options.tipText = this.options.tipText || this.$element.attr('title');
+        this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId);
+
+        this.template.appendTo(document.body).text(this.options.tipText).hide();
+
+        this.$element.attr({
+          'title': '',
+          'aria-describedby': elemId,
+          'data-yeti-box': elemId,
+          'data-toggle': elemId,
+          'data-resize': elemId
+        }).addClass(this.triggerClass);
+
+        //helper variables to track movement on collisions
+        this.usedPositions = [];
+        this.counter = 4;
+        this.classChanged = false;
+
+        this._events();
+      }
+
+      /**
+       * Grabs the current positioning class, if present, and returns the value or an empty string.
+       * @private
+       */
+
+    }, {
+      key: '_getPositionClass',
+      value: function _getPositionClass(element) {
+        if (!element) {
+          return '';
+        }
+        // var position = element.attr('class').match(/top|left|right/g);
+        var position = element[0].className.match(/\b(top|left|right)\b/g);
+        position = position ? position[0] : '';
+        return position;
+      }
+    }, {
+      key: '_buildTemplate',
+
+      /**
+       * builds the tooltip element, adds attributes, and returns the template.
+       * @private
+       */
+      value: function _buildTemplate(id) {
+        var templateClasses = (this.options.tooltipClass + ' ' + this.options.positionClass + ' ' + this.options.templateClasses).trim();
+        var $template = $('<div></div>').addClass(templateClasses).attr({
+          'role': 'tooltip',
+          'aria-hidden': true,
+          'data-is-active': false,
+          'data-is-focus': false,
+          'id': id
+        });
+        return $template;
+      }
+
+      /**
+       * Function that gets called if a collision event is detected.
+       * @param {String} position - positioning class to try
+       * @private
+       */
+
+    }, {
+      key: '_reposition',
+      value: function _reposition(position) {
+        this.usedPositions.push(position ? position : 'bottom');
+
+        //default, try switching to opposite side
+        if (!position && this.usedPositions.indexOf('top') < 0) {
+          this.template.addClass('top');
+        } else if (position === 'top' && this.usedPositions.indexOf('bottom') < 0) {
+          this.template.removeClass(position);
+        } else if (position === 'left' && this.usedPositions.indexOf('right') < 0) {
+          this.template.removeClass(position).addClass('right');
+        } else if (position === 'right' && this.usedPositions.indexOf('left') < 0) {
+          this.template.removeClass(position).addClass('left');
+        }
+
+        //if default change didn't work, try bottom or left first
+        else if (!position && this.usedPositions.indexOf('top') > -1 && this.usedPositions.indexOf('left') < 0) {
+            this.template.addClass('left');
+          } else if (position === 'top' && this.usedPositions.indexOf('bottom') > -1 && this.usedPositions.indexOf('left') < 0) {
+            this.template.removeClass(position).addClass('left');
+          } else if (position === 'left' && this.usedPositions.indexOf('right') > -1 && this.usedPositions.indexOf('bottom') < 0) {
+            this.template.removeClass(position);
+          } else if (position === 'right' && this.usedPositions.indexOf('left') > -1 && this.usedPositions.indexOf('bottom') < 0) {
+            this.template.removeClass(position);
+          }
+          //if nothing cleared, set to bottom
+          else {
+              this.template.removeClass(position);
+            }
+        this.classChanged = true;
+        this.counter--;
+      }
+
+      /**
+       * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.
+       * if the tooltip is larger than the screen width, default to full width - any user selected margin
+       * @private
+       */
+
+    }, {
+      key: '_setPosition',
+      value: function _setPosition() {
+        var position = this._getPositionClass(this.template),
+            $tipDims = Foundation.Box.GetDimensions(this.template),
+            $anchorDims = Foundation.Box.GetDimensions(this.$element),
+            direction = position === 'left' ? 'left' : position === 'right' ? 'left' : 'top',
+            param = direction === 'top' ? 'height' : 'width',
+            offset = param === 'height' ? this.options.vOffset : this.options.hOffset,
+            _this = this;
+
+        if ($tipDims.width >= $tipDims.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.template)) {
+          this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({
+            // this.$element.offset(Foundation.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({
+            'width': $anchorDims.windowDims.width - this.options.hOffset * 2,
+            'height': 'auto'
+          });
+          return false;
+        }
+
+        this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, 'center ' + (position || 'bottom'), this.options.vOffset, this.options.hOffset));
+
+        while (!Foundation.Box.ImNotTouchingYou(this.template) && this.counter) {
+          this._reposition(position);
+          this._setPosition();
+        }
+      }
+
+      /**
+       * reveals the tooltip, and fires an event to close any other open tooltips on the page
+       * @fires Tooltip#closeme
+       * @fires Tooltip#show
+       * @function
+       */
+
+    }, {
+      key: 'show',
+      value: function show() {
+        if (this.options.showOn !== 'all' && !Foundation.MediaQuery.atLeast(this.options.showOn)) {
+          // console.error('The screen is too small to display this tooltip');
+          return false;
+        }
+
+        var _this = this;
+        this.template.css('visibility', 'hidden').show();
+        this._setPosition();
+
+        /**
+         * Fires to close all other open tooltips on the page
+         * @event Closeme#tooltip
+         */
+        this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));
+
+        this.template.attr({
+          'data-is-active': true,
+          'aria-hidden': false
+        });
+        _this.isActive = true;
+        // console.log(this.template);
+        this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function () {
+          //maybe do stuff?
+        });
+        /**
+         * Fires when the tooltip is shown
+         * @event Tooltip#show
+         */
+        this.$element.trigger('show.zf.tooltip');
+      }
+
+      /**
+       * Hides the current tooltip, and resets the positioning class if it was changed due to collision
+       * @fires Tooltip#hide
+       * @function
+       */
+
+    }, {
+      key: 'hide',
+      value: function hide() {
+        // console.log('hiding', this.$element.data('yeti-box'));
+        var _this = this;
+        this.template.stop().attr({
+          'aria-hidden': true,
+          'data-is-active': false
+        }).fadeOut(this.options.fadeOutDuration, function () {
+          _this.isActive = false;
+          _this.isClick = false;
+          if (_this.classChanged) {
+            _this.template.removeClass(_this._getPositionClass(_this.template)).addClass(_this.options.positionClass);
+
+            _this.usedPositions = [];
+            _this.counter = 4;
+            _this.classChanged = false;
+          }
+        });
+        /**
+         * fires when the tooltip is hidden
+         * @event Tooltip#hide
+         */
+        this.$element.trigger('hide.zf.tooltip');
+      }
+
+      /**
+       * adds event listeners for the tooltip and its anchor
+       * TODO combine some of the listeners like focus and mouseenter, etc.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+        var $template = this.template;
+        var isFocus = false;
+
+        if (!this.options.disableHover) {
+
+          this.$element.on('mouseenter.zf.tooltip', function (e) {
+            if (!_this.isActive) {
+              _this.timeout = setTimeout(function () {
+                _this.show();
+              }, _this.options.hoverDelay);
+            }
+          }).on('mouseleave.zf.tooltip', function (e) {
+            clearTimeout(_this.timeout);
+            if (!isFocus || _this.isClick && !_this.options.clickOpen) {
+              _this.hide();
+            }
+          });
+        }
+
+        if (this.options.clickOpen) {
+          this.$element.on('mousedown.zf.tooltip', function (e) {
+            e.stopImmediatePropagation();
+            if (_this.isClick) {
+              //_this.hide();
+              // _this.isClick = false;
+            } else {
+                _this.isClick = true;
+                if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {
+                  _this.show();
+                }
+              }
+          });
+        } else {
+          this.$element.on('mousedown.zf.tooltip', function (e) {
+            e.stopImmediatePropagation();
+            _this.isClick = true;
+          });
+        }
+
+        if (!this.options.disableForTouch) {
+          this.$element.on('tap.zf.tooltip touchend.zf.tooltip', function (e) {
+            _this.isActive ? _this.hide() : _this.show();
+          });
+        }
+
+        this.$element.on({
+          // 'toggle.zf.trigger': this.toggle.bind(this),
+          // 'close.zf.trigger': this.hide.bind(this)
+          'close.zf.trigger': this.hide.bind(this)
+        });
+
+        this.$element.on('focus.zf.tooltip', function (e) {
+          isFocus = true;
+          if (_this.isClick) {
+            // If we're not showing open on clicks, we need to pretend a click-launched focus isn't
+            // a real focus, otherwise on hover and come back we get bad behavior
+            if (!_this.options.clickOpen) {
+              isFocus = false;
+            }
+            return false;
+          } else {
+            _this.show();
+          }
+        }).on('focusout.zf.tooltip', function (e) {
+          isFocus = false;
+          _this.isClick = false;
+          _this.hide();
+        }).on('resizeme.zf.trigger', function () {
+          if (_this.isActive) {
+            _this._setPosition();
+          }
+        });
+      }
+
+      /**
+       * adds a toggle method, in addition to the static show() & hide() functions
+       * @function
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle() {
+        if (this.isActive) {
+          this.hide();
+        } else {
+          this.show();
+        }
+      }
+
+      /**
+       * Destroys an instance of tooltip, removes template element from the view.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.attr('title', this.template.text()).off('.zf.trigger .zf.tootip')
+        //  .removeClass('has-tip')
+        .removeAttr('aria-describedby').removeAttr('data-yeti-box').removeAttr('data-toggle').removeAttr('data-resize');
+
+        this.template.remove();
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Tooltip;
+  }();
+
+  Tooltip.defaults = {
+    disableForTouch: false,
+    /**
+     * Time, in ms, before a tooltip should open on hover.
+     * @option
+     * @example 200
+     */
+    hoverDelay: 200,
+    /**
+     * Time, in ms, a tooltip should take to fade into view.
+     * @option
+     * @example 150
+     */
+    fadeInDuration: 150,
+    /**
+     * Time, in ms, a tooltip should take to fade out of view.
+     * @option
+     * @example 150
+     */
+    fadeOutDuration: 150,
+    /**
+     * Disables hover events from opening the tooltip if set to true
+     * @option
+     * @example false
+     */
+    disableHover: false,
+    /**
+     * Optional addtional classes to apply to the tooltip template on init.
+     * @option
+     * @example 'my-cool-tip-class'
+     */
+    templateClasses: '',
+    /**
+     * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.
+     * @option
+     * @example 'tooltip'
+     */
+    tooltipClass: 'tooltip',
+    /**
+     * Class applied to the tooltip anchor element.
+     * @option
+     * @example 'has-tip'
+     */
+    triggerClass: 'has-tip',
+    /**
+     * Minimum breakpoint size at which to open the tooltip.
+     * @option
+     * @example 'small'
+     */
+    showOn: 'small',
+    /**
+     * Custom template to be used to generate markup for tooltip.
+     * @option
+     * @example '&lt;div class="tooltip"&gt;&lt;/div&gt;'
+     */
+    template: '',
+    /**
+     * Text displayed in the tooltip template on open.
+     * @option
+     * @example 'Some cool space fact here.'
+     */
+    tipText: '',
+    touchCloseText: 'Tap to close.',
+    /**
+     * Allows the tooltip to remain open if triggered with a click or touch event.
+     * @option
+     * @example true
+     */
+    clickOpen: true,
+    /**
+     * Additional positioning classes, set by the JS
+     * @option
+     * @example 'top'
+     */
+    positionClass: '',
+    /**
+     * Distance, in pixels, the template should push away from the anchor on the Y axis.
+     * @option
+     * @example 10
+     */
+    vOffset: 10,
+    /**
+     * Distance, in pixels, the template should push away from the anchor on the X axis, if aligned to a side.
+     * @option
+     * @example 12
+     */
+    hOffset: 12
+  };
+
+  /**
+   * TODO utilize resize event trigger
+   */
+
+  // Window exports
+  Foundation.plugin(Tooltip, 'Tooltip');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.util.box.js b/libraries/foundation-6/dist/plugins/foundation.util.box.js
new file mode 100755
index 00000000..b3ff90ee
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.util.box.js
@@ -0,0 +1,196 @@
+'use strict';
+
+!function ($) {
+
+  Foundation.Box = {
+    ImNotTouchingYou: ImNotTouchingYou,
+    GetDimensions: GetDimensions,
+    GetOffsets: GetOffsets
+  };
+
+  /**
+   * Compares the dimensions of an element to a container and determines collision events with container.
+   * @function
+   * @param {jQuery} element - jQuery object to test for collisions.
+   * @param {jQuery} parent - jQuery object to use as bounding container.
+   * @param {Boolean} lrOnly - set to true to check left and right values only.
+   * @param {Boolean} tbOnly - set to true to check top and bottom values only.
+   * @default if no parent object passed, detects collisions with `window`.
+   * @returns {Boolean} - true if collision free, false if a collision in any direction.
+   */
+  function ImNotTouchingYou(element, parent, lrOnly, tbOnly) {
+    var eleDims = GetDimensions(element),
+        top,
+        bottom,
+        left,
+        right;
+
+    if (parent) {
+      var parDims = GetDimensions(parent);
+
+      bottom = eleDims.offset.top + eleDims.height <= parDims.height + parDims.offset.top;
+      top = eleDims.offset.top >= parDims.offset.top;
+      left = eleDims.offset.left >= parDims.offset.left;
+      right = eleDims.offset.left + eleDims.width <= parDims.width + parDims.offset.left;
+    } else {
+      bottom = eleDims.offset.top + eleDims.height <= eleDims.windowDims.height + eleDims.windowDims.offset.top;
+      top = eleDims.offset.top >= eleDims.windowDims.offset.top;
+      left = eleDims.offset.left >= eleDims.windowDims.offset.left;
+      right = eleDims.offset.left + eleDims.width <= eleDims.windowDims.width;
+    }
+
+    var allDirs = [bottom, top, left, right];
+
+    if (lrOnly) {
+      return left === right === true;
+    }
+
+    if (tbOnly) {
+      return top === bottom === true;
+    }
+
+    return allDirs.indexOf(false) === -1;
+  };
+
+  /**
+   * Uses native methods to return an object of dimension values.
+   * @function
+   * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.
+   * @returns {Object} - nested object of integer pixel values
+   * TODO - if element is window, return only those values.
+   */
+  function GetDimensions(elem, test) {
+    elem = elem.length ? elem[0] : elem;
+
+    if (elem === window || elem === document) {
+      throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");
+    }
+
+    var rect = elem.getBoundingClientRect(),
+        parRect = elem.parentNode.getBoundingClientRect(),
+        winRect = document.body.getBoundingClientRect(),
+        winY = window.pageYOffset,
+        winX = window.pageXOffset;
+
+    return {
+      width: rect.width,
+      height: rect.height,
+      offset: {
+        top: rect.top + winY,
+        left: rect.left + winX
+      },
+      parentDims: {
+        width: parRect.width,
+        height: parRect.height,
+        offset: {
+          top: parRect.top + winY,
+          left: parRect.left + winX
+        }
+      },
+      windowDims: {
+        width: winRect.width,
+        height: winRect.height,
+        offset: {
+          top: winY,
+          left: winX
+        }
+      }
+    };
+  }
+
+  /**
+   * Returns an object of top and left integer pixel values for dynamically rendered elements,
+   * such as: Tooltip, Reveal, and Dropdown
+   * @function
+   * @param {jQuery} element - jQuery object for the element being positioned.
+   * @param {jQuery} anchor - jQuery object for the element's anchor point.
+   * @param {String} position - a string relating to the desired position of the element, relative to it's anchor
+   * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.
+   * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.
+   * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.
+   * TODO alter/rewrite to work with `em` values as well/instead of pixels
+   */
+  function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {
+    var $eleDims = GetDimensions(element),
+        $anchorDims = anchor ? GetDimensions(anchor) : null;
+
+    switch (position) {
+      case 'top':
+        return {
+          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
+          top: $anchorDims.offset.top - ($eleDims.height + vOffset)
+        };
+        break;
+      case 'left':
+        return {
+          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+          top: $anchorDims.offset.top
+        };
+        break;
+      case 'right':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width + hOffset,
+          top: $anchorDims.offset.top
+        };
+        break;
+      case 'center top':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
+          top: $anchorDims.offset.top - ($eleDims.height + vOffset)
+        };
+        break;
+      case 'center bottom':
+        return {
+          left: isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
+          top: $anchorDims.offset.top + $anchorDims.height + vOffset
+        };
+        break;
+      case 'center left':
+        return {
+          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
+        };
+        break;
+      case 'center right':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width + hOffset + 1,
+          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
+        };
+        break;
+      case 'center':
+        return {
+          left: $eleDims.windowDims.offset.left + $eleDims.windowDims.width / 2 - $eleDims.width / 2,
+          top: $eleDims.windowDims.offset.top + $eleDims.windowDims.height / 2 - $eleDims.height / 2
+        };
+        break;
+      case 'reveal':
+        return {
+          left: ($eleDims.windowDims.width - $eleDims.width) / 2,
+          top: $eleDims.windowDims.offset.top + vOffset
+        };
+      case 'reveal full':
+        return {
+          left: $eleDims.windowDims.offset.left,
+          top: $eleDims.windowDims.offset.top
+        };
+        break;
+      case 'left bottom':
+        return {
+          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+          top: $anchorDims.offset.top + $anchorDims.height
+        };
+        break;
+      case 'right bottom':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width + hOffset - $eleDims.width,
+          top: $anchorDims.offset.top + $anchorDims.height
+        };
+        break;
+      default:
+        return {
+          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
+          top: $anchorDims.offset.top + $anchorDims.height + vOffset
+        };
+    }
+  }
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.util.keyboard.js b/libraries/foundation-6/dist/plugins/foundation.util.keyboard.js
new file mode 100755
index 00000000..e9e03bbe
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.util.keyboard.js
@@ -0,0 +1,123 @@
+/*******************************************
+ *                                         *
+ * This util was created by Marius Olbertz *
+ * Please thank Marius on GitHub /owlbertz *
+ * or the web http://www.mariusolbertz.de/ *
+ *                                         *
+ ******************************************/
+
+'use strict';
+
+!function ($) {
+
+  var keyCodes = {
+    9: 'TAB',
+    13: 'ENTER',
+    27: 'ESCAPE',
+    32: 'SPACE',
+    37: 'ARROW_LEFT',
+    38: 'ARROW_UP',
+    39: 'ARROW_RIGHT',
+    40: 'ARROW_DOWN'
+  };
+
+  var commands = {};
+
+  var Keyboard = {
+    keys: getKeyCodes(keyCodes),
+
+    /**
+     * Parses the (keyboard) event and returns a String that represents its key
+     * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
+     * @param {Event} event - the event generated by the event handler
+     * @return String key - String that represents the key pressed
+     */
+    parseKey: function (event) {
+      var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();
+      if (event.shiftKey) key = 'SHIFT_' + key;
+      if (event.ctrlKey) key = 'CTRL_' + key;
+      if (event.altKey) key = 'ALT_' + key;
+      return key;
+    },
+
+
+    /**
+     * Handles the given (keyboard) event
+     * @param {Event} event - the event generated by the event handler
+     * @param {String} component - Foundation component's name, e.g. Slider or Reveal
+     * @param {Objects} functions - collection of functions that are to be executed
+     */
+    handleKey: function (event, component, functions) {
+      var commandList = commands[component],
+          keyCode = this.parseKey(event),
+          cmds,
+          command,
+          fn;
+
+      if (!commandList) return console.warn('Component not defined!');
+
+      if (typeof commandList.ltr === 'undefined') {
+        // this component does not differentiate between ltr and rtl
+        cmds = commandList; // use plain list
+      } else {
+          // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa
+          if (Foundation.rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);else cmds = $.extend({}, commandList.rtl, commandList.ltr);
+        }
+      command = cmds[keyCode];
+
+      fn = functions[command];
+      if (fn && typeof fn === 'function') {
+        // execute function  if exists
+        var returnValue = fn.apply();
+        if (functions.handled || typeof functions.handled === 'function') {
+          // execute function when event was handled
+          functions.handled(returnValue);
+        }
+      } else {
+        if (functions.unhandled || typeof functions.unhandled === 'function') {
+          // execute function when event was not handled
+          functions.unhandled();
+        }
+      }
+    },
+
+
+    /**
+     * Finds all focusable elements within the given `$element`
+     * @param {jQuery} $element - jQuery object to search within
+     * @return {jQuery} $focusable - all focusable elements within `$element`
+     */
+    findFocusable: function ($element) {
+      return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () {
+        if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) {
+          return false;
+        } //only have visible elements and those that have a tabindex greater or equal 0
+        return true;
+      });
+    },
+
+
+    /**
+     * Returns the component name name
+     * @param {Object} component - Foundation component, e.g. Slider or Reveal
+     * @return String componentName
+     */
+
+    register: function (componentName, cmds) {
+      commands[componentName] = cmds;
+    }
+  };
+
+  /*
+   * Constants for easier comparing.
+   * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
+   */
+  function getKeyCodes(kcs) {
+    var k = {};
+    for (var kc in kcs) {
+      k[kcs[kc]] = kcs[kc];
+    }return k;
+  }
+
+  Foundation.Keyboard = Keyboard;
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.util.mediaQuery.js b/libraries/foundation-6/dist/plugins/foundation.util.mediaQuery.js
new file mode 100755
index 00000000..328be8e9
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.util.mediaQuery.js
@@ -0,0 +1,216 @@
+'use strict';
+
+!function ($) {
+
+  // Default set of media queries
+  var defaultQueries = {
+    'default': 'only screen',
+    landscape: 'only screen and (orientation: landscape)',
+    portrait: 'only screen and (orientation: portrait)',
+    retina: 'only screen and (-webkit-min-device-pixel-ratio: 2),' + 'only screen and (min--moz-device-pixel-ratio: 2),' + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + 'only screen and (min-device-pixel-ratio: 2),' + 'only screen and (min-resolution: 192dpi),' + 'only screen and (min-resolution: 2dppx)'
+  };
+
+  var MediaQuery = {
+    queries: [],
+
+    current: '',
+
+    /**
+     * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.
+     * @function
+     * @private
+     */
+    _init: function () {
+      var self = this;
+      var extractedStyles = $('.foundation-mq').css('font-family');
+      var namedQueries;
+
+      namedQueries = parseStyleToObject(extractedStyles);
+
+      for (var key in namedQueries) {
+        if (namedQueries.hasOwnProperty(key)) {
+          self.queries.push({
+            name: key,
+            value: 'only screen and (min-width: ' + namedQueries[key] + ')'
+          });
+        }
+      }
+
+      this.current = this._getCurrentSize();
+
+      this._watcher();
+    },
+
+
+    /**
+     * Checks if the screen is at least as wide as a breakpoint.
+     * @function
+     * @param {String} size - Name of the breakpoint to check.
+     * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
+     */
+    atLeast: function (size) {
+      var query = this.get(size);
+
+      if (query) {
+        return window.matchMedia(query).matches;
+      }
+
+      return false;
+    },
+
+
+    /**
+     * Gets the media query of a breakpoint.
+     * @function
+     * @param {String} size - Name of the breakpoint to get.
+     * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
+     */
+    get: function (size) {
+      for (var i in this.queries) {
+        if (this.queries.hasOwnProperty(i)) {
+          var query = this.queries[i];
+          if (size === query.name) return query.value;
+        }
+      }
+
+      return null;
+    },
+
+
+    /**
+     * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
+     * @function
+     * @private
+     * @returns {String} Name of the current breakpoint.
+     */
+    _getCurrentSize: function () {
+      var matched;
+
+      for (var i = 0; i < this.queries.length; i++) {
+        var query = this.queries[i];
+
+        if (window.matchMedia(query.value).matches) {
+          matched = query;
+        }
+      }
+
+      if (typeof matched === 'object') {
+        return matched.name;
+      } else {
+        return matched;
+      }
+    },
+
+
+    /**
+     * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.
+     * @function
+     * @private
+     */
+    _watcher: function () {
+      var _this = this;
+
+      $(window).on('resize.zf.mediaquery', function () {
+        var newSize = _this._getCurrentSize(),
+            currentSize = _this.current;
+
+        if (newSize !== currentSize) {
+          // Change the current media query
+          _this.current = newSize;
+
+          // Broadcast the media query change on the window
+          $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);
+        }
+      });
+    }
+  };
+
+  Foundation.MediaQuery = MediaQuery;
+
+  // matchMedia() polyfill - Test a CSS media type/query in JS.
+  // Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license
+  window.matchMedia || (window.matchMedia = function () {
+    'use strict';
+
+    // For browsers that support matchMedium api such as IE 9 and webkit
+
+    var styleMedia = window.styleMedia || window.media;
+
+    // For those that don't support matchMedium
+    if (!styleMedia) {
+      var style = document.createElement('style'),
+          script = document.getElementsByTagName('script')[0],
+          info = null;
+
+      style.type = 'text/css';
+      style.id = 'matchmediajs-test';
+
+      script.parentNode.insertBefore(style, script);
+
+      // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
+      info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;
+
+      styleMedia = {
+        matchMedium: function (media) {
+          var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
+
+          // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
+          if (style.styleSheet) {
+            style.styleSheet.cssText = text;
+          } else {
+            style.textContent = text;
+          }
+
+          // Test if media query is true or false
+          return info.width === '1px';
+        }
+      };
+    }
+
+    return function (media) {
+      return {
+        matches: styleMedia.matchMedium(media || 'all'),
+        media: media || 'all'
+      };
+    };
+  }());
+
+  // Thank you: https://github.com/sindresorhus/query-string
+  function parseStyleToObject(str) {
+    var styleObject = {};
+
+    if (typeof str !== 'string') {
+      return styleObject;
+    }
+
+    str = str.trim().slice(1, -1); // browsers re-quote string style values
+
+    if (!str) {
+      return styleObject;
+    }
+
+    styleObject = str.split('&').reduce(function (ret, param) {
+      var parts = param.replace(/\+/g, ' ').split('=');
+      var key = parts[0];
+      var val = parts[1];
+      key = decodeURIComponent(key);
+
+      // missing `=` should be `null`:
+      // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
+      val = val === undefined ? null : decodeURIComponent(val);
+
+      if (!ret.hasOwnProperty(key)) {
+        ret[key] = val;
+      } else if (Array.isArray(ret[key])) {
+        ret[key].push(val);
+      } else {
+        ret[key] = [ret[key], val];
+      }
+      return ret;
+    }, {});
+
+    return styleObject;
+  }
+
+  Foundation.MediaQuery = MediaQuery;
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.util.motion.js b/libraries/foundation-6/dist/plugins/foundation.util.motion.js
new file mode 100755
index 00000000..c045ec84
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.util.motion.js
@@ -0,0 +1,97 @@
+'use strict';
+
+!function ($) {
+
+  /**
+   * Motion module.
+   * @module foundation.motion
+   */
+
+  var initClasses = ['mui-enter', 'mui-leave'];
+  var activeClasses = ['mui-enter-active', 'mui-leave-active'];
+
+  var Motion = {
+    animateIn: function (element, animation, cb) {
+      animate(true, element, animation, cb);
+    },
+
+    animateOut: function (element, animation, cb) {
+      animate(false, element, animation, cb);
+    }
+  };
+
+  function Move(duration, elem, fn) {
+    var anim,
+        prog,
+        start = null;
+    // console.log('called');
+
+    function move(ts) {
+      if (!start) start = window.performance.now();
+      // console.log(start, ts);
+      prog = ts - start;
+      fn.apply(elem);
+
+      if (prog < duration) {
+        anim = window.requestAnimationFrame(move, elem);
+      } else {
+        window.cancelAnimationFrame(anim);
+        elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);
+      }
+    }
+    anim = window.requestAnimationFrame(move);
+  }
+
+  /**
+   * Animates an element in or out using a CSS transition class.
+   * @function
+   * @private
+   * @param {Boolean} isIn - Defines if the animation is in or out.
+   * @param {Object} element - jQuery or HTML object to animate.
+   * @param {String} animation - CSS class to use.
+   * @param {Function} cb - Callback to run when animation is finished.
+   */
+  function animate(isIn, element, animation, cb) {
+    element = $(element).eq(0);
+
+    if (!element.length) return;
+
+    var initClass = isIn ? initClasses[0] : initClasses[1];
+    var activeClass = isIn ? activeClasses[0] : activeClasses[1];
+
+    // Set up the animation
+    reset();
+
+    element.addClass(animation).css('transition', 'none');
+
+    requestAnimationFrame(function () {
+      element.addClass(initClass);
+      if (isIn) element.show();
+    });
+
+    // Start the animation
+    requestAnimationFrame(function () {
+      element[0].offsetWidth;
+      element.css('transition', '').addClass(activeClass);
+    });
+
+    // Clean up the animation when it finishes
+    element.one(Foundation.transitionend(element), finish);
+
+    // Hides the element (for out animations), resets the element, and runs a callback
+    function finish() {
+      if (!isIn) element.hide();
+      reset();
+      if (cb) cb.apply(element);
+    }
+
+    // Resets transitions and removes motion-specific classes
+    function reset() {
+      element[0].style.transitionDuration = 0;
+      element.removeClass(initClass + ' ' + activeClass + ' ' + animation);
+    }
+  }
+
+  Foundation.Move = Move;
+  Foundation.Motion = Motion;
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.util.nest.js b/libraries/foundation-6/dist/plugins/foundation.util.nest.js
new file mode 100755
index 00000000..a8433837
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.util.nest.js
@@ -0,0 +1,69 @@
+'use strict';
+
+!function ($) {
+
+  var Nest = {
+    Feather: function (menu) {
+      var type = arguments.length <= 1 || arguments[1] === undefined ? 'zf' : arguments[1];
+
+      menu.attr('role', 'menubar');
+
+      var items = menu.find('li').attr({ 'role': 'menuitem' }),
+          subMenuClass = 'is-' + type + '-submenu',
+          subItemClass = subMenuClass + '-item',
+          hasSubClass = 'is-' + type + '-submenu-parent';
+
+      menu.find('a:first').attr('tabindex', 0);
+
+      items.each(function () {
+        var $item = $(this),
+            $sub = $item.children('ul');
+
+        if ($sub.length) {
+          $item.addClass(hasSubClass).attr({
+            'aria-haspopup': true,
+            'aria-expanded': false,
+            'aria-label': $item.children('a:first').text()
+          });
+
+          $sub.addClass('submenu ' + subMenuClass).attr({
+            'data-submenu': '',
+            'aria-hidden': true,
+            'role': 'menu'
+          });
+        }
+
+        if ($item.parent('[data-submenu]').length) {
+          $item.addClass('is-submenu-item ' + subItemClass);
+        }
+      });
+
+      return;
+    },
+    Burn: function (menu, type) {
+      var items = menu.find('li').removeAttr('tabindex'),
+          subMenuClass = 'is-' + type + '-submenu',
+          subItemClass = subMenuClass + '-item',
+          hasSubClass = 'is-' + type + '-submenu-parent';
+
+      menu.find('*').removeClass(subMenuClass + ' ' + subItemClass + ' ' + hasSubClass + ' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display', '');
+
+      // console.log(      menu.find('.' + subMenuClass + ', .' + subItemClass + ', .has-submenu, .is-submenu-item, .submenu, [data-submenu]')
+      //           .removeClass(subMenuClass + ' ' + subItemClass + ' has-submenu is-submenu-item submenu')
+      //           .removeAttr('data-submenu'));
+      // items.each(function(){
+      //   var $item = $(this),
+      //       $sub = $item.children('ul');
+      //   if($item.parent('[data-submenu]').length){
+      //     $item.removeClass('is-submenu-item ' + subItemClass);
+      //   }
+      //   if($sub.length){
+      //     $item.removeClass('has-submenu');
+      //     $sub.removeClass('submenu ' + subMenuClass).removeAttr('data-submenu');
+      //   }
+      // });
+    }
+  };
+
+  Foundation.Nest = Nest;
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.util.timerAndImageLoader.js b/libraries/foundation-6/dist/plugins/foundation.util.timerAndImageLoader.js
new file mode 100755
index 00000000..21e3384f
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.util.timerAndImageLoader.js
@@ -0,0 +1,84 @@
+'use strict';
+
+!function ($) {
+
+  function Timer(elem, options, cb) {
+    var _this = this,
+        duration = options.duration,
+        //options is an object for easily adding features later.
+    nameSpace = Object.keys(elem.data())[0] || 'timer',
+        remain = -1,
+        start,
+        timer;
+
+    this.isPaused = false;
+
+    this.restart = function () {
+      remain = -1;
+      clearTimeout(timer);
+      this.start();
+    };
+
+    this.start = function () {
+      this.isPaused = false;
+      // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
+      clearTimeout(timer);
+      remain = remain <= 0 ? duration : remain;
+      elem.data('paused', false);
+      start = Date.now();
+      timer = setTimeout(function () {
+        if (options.infinite) {
+          _this.restart(); //rerun the timer.
+        }
+        cb();
+      }, remain);
+      elem.trigger('timerstart.zf.' + nameSpace);
+    };
+
+    this.pause = function () {
+      this.isPaused = true;
+      //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
+      clearTimeout(timer);
+      elem.data('paused', true);
+      var end = Date.now();
+      remain = remain - (end - start);
+      elem.trigger('timerpaused.zf.' + nameSpace);
+    };
+  }
+
+  /**
+   * Runs a callback function when images are fully loaded.
+   * @param {Object} images - Image(s) to check if loaded.
+   * @param {Func} callback - Function to execute when image is fully loaded.
+   */
+  function onImagesLoaded(images, callback) {
+    var self = this,
+        unloaded = images.length;
+
+    if (unloaded === 0) {
+      callback();
+    }
+
+    images.each(function () {
+      if (this.complete) {
+        singleImageLoaded();
+      } else if (typeof this.naturalWidth !== 'undefined' && this.naturalWidth > 0) {
+        singleImageLoaded();
+      } else {
+        $(this).one('load', function () {
+          singleImageLoaded();
+        });
+      }
+    });
+
+    function singleImageLoaded() {
+      unloaded--;
+      if (unloaded === 0) {
+        callback();
+      }
+    }
+  }
+
+  Foundation.Timer = Timer;
+  Foundation.onImagesLoaded = onImagesLoaded;
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.util.touch.js b/libraries/foundation-6/dist/plugins/foundation.util.touch.js
new file mode 100755
index 00000000..b37d0f16
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.util.touch.js
@@ -0,0 +1,352 @@
+//**************************************************
+//**Work inspired by multiple jquery swipe plugins**
+//**Done by Yohai Ararat ***************************
+//**************************************************
+(function ($) {
+
+	$.spotSwipe = {
+		version: '1.0.0',
+		enabled: 'ontouchstart' in document.documentElement,
+		preventDefault: false,
+		moveThreshold: 75,
+		timeThreshold: 200
+	};
+
+	var startPosX,
+	    startPosY,
+	    startTime,
+	    elapsedTime,
+	    isMoving = false;
+
+	function onTouchEnd() {
+		//  alert(this);
+		this.removeEventListener('touchmove', onTouchMove);
+		this.removeEventListener('touchend', onTouchEnd);
+		isMoving = false;
+	}
+
+	function onTouchMove(e) {
+		if ($.spotSwipe.preventDefault) {
+			e.preventDefault();
+		}
+		if (isMoving) {
+			var x = e.touches[0].pageX;
+			var y = e.touches[0].pageY;
+			var dx = startPosX - x;
+			var dy = startPosY - y;
+			var dir;
+			elapsedTime = new Date().getTime() - startTime;
+			if (Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
+				dir = dx > 0 ? 'left' : 'right';
+			}
+			// else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
+			//   dir = dy > 0 ? 'down' : 'up';
+			// }
+			if (dir) {
+				e.preventDefault();
+				onTouchEnd.call(this);
+				$(this).trigger('swipe', dir).trigger('swipe' + dir);
+			}
+		}
+	}
+
+	function onTouchStart(e) {
+		if (e.touches.length == 1) {
+			startPosX = e.touches[0].pageX;
+			startPosY = e.touches[0].pageY;
+			isMoving = true;
+			startTime = new Date().getTime();
+			this.addEventListener('touchmove', onTouchMove, false);
+			this.addEventListener('touchend', onTouchEnd, false);
+		}
+	}
+
+	function init() {
+		this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);
+	}
+
+	function teardown() {
+		this.removeEventListener('touchstart', onTouchStart);
+	}
+
+	$.event.special.swipe = { setup: init };
+
+	$.each(['left', 'up', 'down', 'right'], function () {
+		$.event.special['swipe' + this] = { setup: function () {
+				$(this).on('swipe', $.noop);
+			} };
+	});
+})(jQuery);
+/****************************************************
+ * Method for adding psuedo drag events to elements *
+ ***************************************************/
+!function ($) {
+	$.fn.addTouch = function () {
+		this.each(function (i, el) {
+			$(el).bind('touchstart touchmove touchend touchcancel', function () {
+				//we pass the original event object because the jQuery event
+				//object is normalized to w3c specs and does not provide the TouchList
+				handleTouch(event);
+			});
+		});
+
+		var handleTouch = function (event) {
+			var touches = event.changedTouches,
+			    first = touches[0],
+			    eventTypes = {
+				touchstart: 'mousedown',
+				touchmove: 'mousemove',
+				touchend: 'mouseup'
+			},
+			    type = eventTypes[event.type],
+			    simulatedEvent;
+
+			if ('MouseEvent' in window && typeof window.MouseEvent === 'function') {
+				simulatedEvent = new window.MouseEvent(type, {
+					'bubbles': true,
+					'cancelable': true,
+					'screenX': first.screenX,
+					'screenY': first.screenY,
+					'clientX': first.clientX,
+					'clientY': first.clientY
+				});
+			} else {
+				simulatedEvent = document.createEvent('MouseEvent');
+				simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0 /*left*/, null);
+			}
+			first.target.dispatchEvent(simulatedEvent);
+		};
+	};
+}(jQuery);
+
+//**********************************
+//**From the jQuery Mobile Library**
+//**need to recreate functionality**
+//**and try to improve if possible**
+//**********************************
+
+/* Removing the jQuery function ****
+************************************
+
+(function( $, window, undefined ) {
+
+	var $document = $( document ),
+		// supportTouch = $.mobile.support.touch,
+		touchStartEvent = 'touchstart'//supportTouch ? "touchstart" : "mousedown",
+		touchStopEvent = 'touchend'//supportTouch ? "touchend" : "mouseup",
+		touchMoveEvent = 'touchmove'//supportTouch ? "touchmove" : "mousemove";
+
+	// setup new event shortcuts
+	$.each( ( "touchstart touchmove touchend " +
+		"swipe swipeleft swiperight" ).split( " " ), function( i, name ) {
+
+		$.fn[ name ] = function( fn ) {
+			return fn ? this.bind( name, fn ) : this.trigger( name );
+		};
+
+		// jQuery < 1.8
+		if ( $.attrFn ) {
+			$.attrFn[ name ] = true;
+		}
+	});
+
+	function triggerCustomEvent( obj, eventType, event, bubble ) {
+		var originalType = event.type;
+		event.type = eventType;
+		if ( bubble ) {
+			$.event.trigger( event, undefined, obj );
+		} else {
+			$.event.dispatch.call( obj, event );
+		}
+		event.type = originalType;
+	}
+
+	// also handles taphold
+
+	// Also handles swipeleft, swiperight
+	$.event.special.swipe = {
+
+		// More than this horizontal displacement, and we will suppress scrolling.
+		scrollSupressionThreshold: 30,
+
+		// More time than this, and it isn't a swipe.
+		durationThreshold: 1000,
+
+		// Swipe horizontal displacement must be more than this.
+		horizontalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,
+
+		// Swipe vertical displacement must be less than this.
+		verticalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,
+
+		getLocation: function ( event ) {
+			var winPageX = window.pageXOffset,
+				winPageY = window.pageYOffset,
+				x = event.clientX,
+				y = event.clientY;
+
+			if ( event.pageY === 0 && Math.floor( y ) > Math.floor( event.pageY ) ||
+				event.pageX === 0 && Math.floor( x ) > Math.floor( event.pageX ) ) {
+
+				// iOS4 clientX/clientY have the value that should have been
+				// in pageX/pageY. While pageX/page/ have the value 0
+				x = x - winPageX;
+				y = y - winPageY;
+			} else if ( y < ( event.pageY - winPageY) || x < ( event.pageX - winPageX ) ) {
+
+				// Some Android browsers have totally bogus values for clientX/Y
+				// when scrolling/zooming a page. Detectable since clientX/clientY
+				// should never be smaller than pageX/pageY minus page scroll
+				x = event.pageX - winPageX;
+				y = event.pageY - winPageY;
+			}
+
+			return {
+				x: x,
+				y: y
+			};
+		},
+
+		start: function( event ) {
+			var data = event.originalEvent.touches ?
+					event.originalEvent.touches[ 0 ] : event,
+				location = $.event.special.swipe.getLocation( data );
+			return {
+						time: ( new Date() ).getTime(),
+						coords: [ location.x, location.y ],
+						origin: $( event.target )
+					};
+		},
+
+		stop: function( event ) {
+			var data = event.originalEvent.touches ?
+					event.originalEvent.touches[ 0 ] : event,
+				location = $.event.special.swipe.getLocation( data );
+			return {
+						time: ( new Date() ).getTime(),
+						coords: [ location.x, location.y ]
+					};
+		},
+
+		handleSwipe: function( start, stop, thisObject, origTarget ) {
+			if ( stop.time - start.time < $.event.special.swipe.durationThreshold &&
+				Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold &&
+				Math.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) {
+				var direction = start.coords[0] > stop.coords[ 0 ] ? "swipeleft" : "swiperight";
+
+				triggerCustomEvent( thisObject, "swipe", $.Event( "swipe", { target: origTarget, swipestart: start, swipestop: stop }), true );
+				triggerCustomEvent( thisObject, direction,$.Event( direction, { target: origTarget, swipestart: start, swipestop: stop } ), true );
+				return true;
+			}
+			return false;
+
+		},
+
+		// This serves as a flag to ensure that at most one swipe event event is
+		// in work at any given time
+		eventInProgress: false,
+
+		setup: function() {
+			var events,
+				thisObject = this,
+				$this = $( thisObject ),
+				context = {};
+
+			// Retrieve the events data for this element and add the swipe context
+			events = $.data( this, "mobile-events" );
+			if ( !events ) {
+				events = { length: 0 };
+				$.data( this, "mobile-events", events );
+			}
+			events.length++;
+			events.swipe = context;
+
+			context.start = function( event ) {
+
+				// Bail if we're already working on a swipe event
+				if ( $.event.special.swipe.eventInProgress ) {
+					return;
+				}
+				$.event.special.swipe.eventInProgress = true;
+
+				var stop,
+					start = $.event.special.swipe.start( event ),
+					origTarget = event.target,
+					emitted = false;
+
+				context.move = function( event ) {
+					if ( !start || event.isDefaultPrevented() ) {
+						return;
+					}
+
+					stop = $.event.special.swipe.stop( event );
+					if ( !emitted ) {
+						emitted = $.event.special.swipe.handleSwipe( start, stop, thisObject, origTarget );
+						if ( emitted ) {
+
+							// Reset the context to make way for the next swipe event
+							$.event.special.swipe.eventInProgress = false;
+						}
+					}
+					// prevent scrolling
+					if ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) {
+						event.preventDefault();
+					}
+				};
+
+				context.stop = function() {
+						emitted = true;
+
+						// Reset the context to make way for the next swipe event
+						$.event.special.swipe.eventInProgress = false;
+						$document.off( touchMoveEvent, context.move );
+						context.move = null;
+				};
+
+				$document.on( touchMoveEvent, context.move )
+					.one( touchStopEvent, context.stop );
+			};
+			$this.on( touchStartEvent, context.start );
+		},
+
+		teardown: function() {
+			var events, context;
+
+			events = $.data( this, "mobile-events" );
+			if ( events ) {
+				context = events.swipe;
+				delete events.swipe;
+				events.length--;
+				if ( events.length === 0 ) {
+					$.removeData( this, "mobile-events" );
+				}
+			}
+
+			if ( context ) {
+				if ( context.start ) {
+					$( this ).off( touchStartEvent, context.start );
+				}
+				if ( context.move ) {
+					$document.off( touchMoveEvent, context.move );
+				}
+				if ( context.stop ) {
+					$document.off( touchStopEvent, context.stop );
+				}
+			}
+		}
+	};
+	$.each({
+		swipeleft: "swipe.left",
+		swiperight: "swipe.right"
+	}, function( event, sourceEvent ) {
+
+		$.event.special[ event ] = {
+			setup: function() {
+				$( this ).bind( sourceEvent, $.noop );
+			},
+			teardown: function() {
+				$( this ).unbind( sourceEvent );
+			}
+		};
+	});
+})( jQuery, this );
+*/
\ No newline at end of file
diff --git a/libraries/foundation-6/dist/plugins/foundation.util.triggers.js b/libraries/foundation-6/dist/plugins/foundation.util.triggers.js
new file mode 100755
index 00000000..17eb7cbc
--- /dev/null
+++ b/libraries/foundation-6/dist/plugins/foundation.util.triggers.js
@@ -0,0 +1,243 @@
+'use strict';
+
+!function ($) {
+
+  var MutationObserver = function () {
+    var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
+    for (var i = 0; i < prefixes.length; i++) {
+      if (prefixes[i] + 'MutationObserver' in window) {
+        return window[prefixes[i] + 'MutationObserver'];
+      }
+    }
+    return false;
+  }();
+
+  var triggers = function (el, type) {
+    el.data(type).split(' ').forEach(function (id) {
+      $('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]);
+    });
+  };
+  // Elements with [data-open] will reveal a plugin that supports it when clicked.
+  $(document).on('click.zf.trigger', '[data-open]', function () {
+    triggers($(this), 'open');
+  });
+
+  // Elements with [data-close] will close a plugin that supports it when clicked.
+  // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
+  $(document).on('click.zf.trigger', '[data-close]', function () {
+    var id = $(this).data('close');
+    if (id) {
+      triggers($(this), 'close');
+    } else {
+      $(this).trigger('close.zf.trigger');
+    }
+  });
+
+  // Elements with [data-toggle] will toggle a plugin that supports it when clicked.
+  $(document).on('click.zf.trigger', '[data-toggle]', function () {
+    triggers($(this), 'toggle');
+  });
+
+  // Elements with [data-closable] will respond to close.zf.trigger events.
+  $(document).on('close.zf.trigger', '[data-closable]', function (e) {
+    e.stopPropagation();
+    var animation = $(this).data('closable');
+
+    if (animation !== '') {
+      Foundation.Motion.animateOut($(this), animation, function () {
+        $(this).trigger('closed.zf');
+      });
+    } else {
+      $(this).fadeOut().trigger('closed.zf');
+    }
+  });
+
+  $(document).on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', function () {
+    var id = $(this).data('toggle-focus');
+    $('#' + id).triggerHandler('toggle.zf.trigger', [$(this)]);
+  });
+
+  /**
+  * Fires once after all other scripts have loaded
+  * @function
+  * @private
+  */
+  $(window).load(function () {
+    checkListeners();
+  });
+
+  function checkListeners() {
+    eventsListener();
+    resizeListener();
+    scrollListener();
+    closemeListener();
+  }
+
+  //******** only fires this function once on load, if there's something to watch ********
+  function closemeListener(pluginName) {
+    var yetiBoxes = $('[data-yeti-box]'),
+        plugNames = ['dropdown', 'tooltip', 'reveal'];
+
+    if (pluginName) {
+      if (typeof pluginName === 'string') {
+        plugNames.push(pluginName);
+      } else if (typeof pluginName === 'object' && typeof pluginName[0] === 'string') {
+        plugNames.concat(pluginName);
+      } else {
+        console.error('Plugin names must be strings');
+      }
+    }
+    if (yetiBoxes.length) {
+      var listeners = plugNames.map(function (name) {
+        return 'closeme.zf.' + name;
+      }).join(' ');
+
+      $(window).off(listeners).on(listeners, function (e, pluginId) {
+        var plugin = e.namespace.split('.')[0];
+        var plugins = $('[data-' + plugin + ']').not('[data-yeti-box="' + pluginId + '"]');
+
+        plugins.each(function () {
+          var _this = $(this);
+
+          _this.triggerHandler('close.zf.trigger', [_this]);
+        });
+      });
+    }
+  }
+
+  function resizeListener(debounce) {
+    var timer = void 0,
+        $nodes = $('[data-resize]');
+    if ($nodes.length) {
+      $(window).off('resize.zf.trigger').on('resize.zf.trigger', function (e) {
+        if (timer) {
+          clearTimeout(timer);
+        }
+
+        timer = setTimeout(function () {
+
+          if (!MutationObserver) {
+            //fallback for IE 9
+            $nodes.each(function () {
+              $(this).triggerHandler('resizeme.zf.trigger');
+            });
+          }
+          //trigger all listening elements and signal a resize event
+          $nodes.attr('data-events', "resize");
+        }, debounce || 10); //default time to emit resize event
+      });
+    }
+  }
+
+  function scrollListener(debounce) {
+    var timer = void 0,
+        $nodes = $('[data-scroll]');
+    if ($nodes.length) {
+      $(window).off('scroll.zf.trigger').on('scroll.zf.trigger', function (e) {
+        if (timer) {
+          clearTimeout(timer);
+        }
+
+        timer = setTimeout(function () {
+
+          if (!MutationObserver) {
+            //fallback for IE 9
+            $nodes.each(function () {
+              $(this).triggerHandler('scrollme.zf.trigger');
+            });
+          }
+          //trigger all listening elements and signal a scroll event
+          $nodes.attr('data-events', "scroll");
+        }, debounce || 10); //default time to emit scroll event
+      });
+    }
+  }
+
+  function eventsListener() {
+    if (!MutationObserver) {
+      return false;
+    }
+    var nodes = document.querySelectorAll('[data-resize], [data-scroll], [data-mutate]');
+
+    //element callback
+    var listeningElementsMutation = function (mutationRecordsList) {
+      var $target = $(mutationRecordsList[0].target);
+      //trigger the event handler for the element depending on type
+      switch ($target.attr("data-events")) {
+
+        case "resize":
+          $target.triggerHandler('resizeme.zf.trigger', [$target]);
+          break;
+
+        case "scroll":
+          $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
+          break;
+
+        // case "mutate" :
+        // console.log('mutate', $target);
+        // $target.triggerHandler('mutate.zf.trigger');
+        //
+        // //make sure we don't get stuck in an infinite loop from sloppy codeing
+        // if ($target.index('[data-mutate]') == $("[data-mutate]").length-1) {
+        //   domMutationObserver();
+        // }
+        // break;
+
+        default:
+          return false;
+        //nothing
+      }
+    };
+
+    if (nodes.length) {
+      //for each element that needs to listen for resizing, scrolling, (or coming soon mutation) add a single observer
+      for (var i = 0; i <= nodes.length - 1; i++) {
+        var elementObserver = new MutationObserver(listeningElementsMutation);
+        elementObserver.observe(nodes[i], { attributes: true, childList: false, characterData: false, subtree: false, attributeFilter: ["data-events"] });
+      }
+    }
+  }
+
+  // ------------------------------------
+
+  // [PH]
+  // Foundation.CheckWatchers = checkWatchers;
+  Foundation.IHearYou = checkListeners;
+  // Foundation.ISeeYou = scrollListener;
+  // Foundation.IFeelYou = closemeListener;
+}(jQuery);
+
+// function domMutationObserver(debounce) {
+//   // !!! This is coming soon and needs more work; not active  !!! //
+//   var timer,
+//   nodes = document.querySelectorAll('[data-mutate]');
+//   //
+//   if (nodes.length) {
+//     // var MutationObserver = (function () {
+//     //   var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
+//     //   for (var i=0; i < prefixes.length; i++) {
+//     //     if (prefixes[i] + 'MutationObserver' in window) {
+//     //       return window[prefixes[i] + 'MutationObserver'];
+//     //     }
+//     //   }
+//     //   return false;
+//     // }());
+//
+//
+//     //for the body, we need to listen for all changes effecting the style and class attributes
+//     var bodyObserver = new MutationObserver(bodyMutation);
+//     bodyObserver.observe(document.body, { attributes: true, childList: true, characterData: false, subtree:true, attributeFilter:["style", "class"]});
+//
+//
+//     //body callback
+//     function bodyMutation(mutate) {
+//       //trigger all listening elements and signal a mutation event
+//       if (timer) { clearTimeout(timer); }
+//
+//       timer = setTimeout(function() {
+//         bodyObserver.disconnect();
+//         $('[data-mutate]').attr('data-events',"mutate");
+//       }, debounce || 150);
+//     }
+//   }
+// }
\ No newline at end of file
diff --git a/libraries/foundation-6/docs/assets/img/a11y/chrome-a11y-inspector.jpg b/libraries/foundation-6/docs/assets/img/a11y/chrome-a11y-inspector.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..cb0694de64d5efc70895bd11b7976aaab1773f05
GIT binary patch
literal 20979
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

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/rectangle-1.jpg b/libraries/foundation-6/docs/assets/img/generic/rectangle-1.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..2898e4cccf608cc8cf844740c17c7eb0cb3a952b
GIT binary patch
literal 9284
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

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/rectangle-2.jpg b/libraries/foundation-6/docs/assets/img/generic/rectangle-2.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..a48b680e658421ed2f85e9e3ff283bbbab753c28
GIT binary patch
literal 172889
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

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/rectangle-3.jpg b/libraries/foundation-6/docs/assets/img/generic/rectangle-3.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..ec69293a7792a6118ac92b870b0e89b3a7be06ba
GIT binary patch
literal 14048
zcma*Nc|25K{6BtYF~&9qLv~}3u_T1-W*AG>k(m(68kIduN*TtU>{~^~R2ris%3Ahi
z@D3A7Nm)yhBFXOS^Z7m=-^b(k-|yVVJ&*f%oqNx@=XuU~?FSPF(*V-i;*<pd0t0~W
z;RPHl0|JCdpUW`-2!H|rV0cJc0T6iK5N|)gxBZX;I+z3!0T>ht<$%ICIAC0`!<z>V
zgTZ-txw(0`xp|Si|67o}2!13#f>%fgg%T2yl#q~+l=*)J#L3CY$IB;*M2d<F3kZw<
zzlQ(64+rgl033t_EkHm509XJ75da-@0~r7S0sU_|{L}v}U<echaKJd>|6lU|w1E!W
zkN^k@f<V9=;KS*FA)v!)3xFZA8iG)~qn8jzSbPo!R*rhEY0BBbo>@Kp+gr}8Rydb_
zLPX%OKL8AZ{?Bm#cO;MiSP&xXC<N8OqrBue4n6|Bhy8&CAOe61u<u5eL?S_)ntX6A
zC=|lEjedv2Vf1nc6NCWZFTNdp6#rj38U@9OM&sOw0`Yuha!fvN-0I^FJY6k3osF_s
zCZfvE{dv9-Xa6;7jrCOc=P}s~K@$?*Ra8O&i|edCmB{s}<F`x|x&tcp9JY+F5EM1i
z#@`E_GC+4pqTeLJg7h~=XkCJl{dy6i-V|GFUJVi#9GVC=WppBa{7~{}FwzIzi?4kG
z?=%f7oIaHreM`i9u9`_Pq4VOCM!et}_zbGBBo!se=$1_X(h%bDg$|a@k*KLr<j?u0
zN~PfNwFkiQbUtY$GLO)c?9$>dmCh%g1d=R)Nfn4s5KvY5ZlOW#R<YbJdfAuJ*km=c
zOcu8Vp(t>vJ;MA7`UFg$T48xO;bU~LfC5GA0MO$2o+Bsy02;#$M(Xje;Y{n+$3bxa
zzqo-7!yEYKM(RcaCVbE3FAgkYj&i(pM4ZNU)xShUUA|Hhvx%PJ-@sSAhU>2{Qxi3I
zP33T@CAM>|XezcvcX<&^1Qj=~vVmn8V-~arCh7&d=G(%j?F;rM2E7$=h+=gCK@=~_
zaBk!nO`xxyG{8Q>gj$3z@|LE&NiRR0diWv}+K2rg{IGtK|L_@G@DrDKKT;(rQ&N-D
z6szcC>o|FIkEJG64CXU?SfRfk$<a5#(-COnMv}KmGls8~p_i@6a8}a#R;z0NRS~T#
zx)PcVhr=zgT*WzKo-|EwFC+$pSVMd>x(U~XT2Lt6r#!V4;ZFk>2m$Hk1)UZmRsg}Z
ze@w3nQ$vWrg{2NI5OhbsyYlTEOB1*wke96Y(Q0JfD96L|s9P~XvR6)3A1Z;2%I>%o
z!T*<dq{1u)Axe|w0QGVVFEWl>;|MGye8(Yd=7>bi$=}4_Zm7y{s=3!Xz6BZF-X)_Y
zjt1l|-%qIpO+@%{1{xKJULN2@0tsdm_sj!;0Kr~z8{pO6qcx5t|5zo!g;Fu{w>xe{
z!h!CTMFjWZN1)+D&=^9<Yno_YVX!xam&ldQn~w|S*$VlClW;U;sUL#LE6ZsQlh@;D
z*G2#MjpL<q^ZH7f<qmZaP3soLQmInyVheNB%ny!n<|qqg4NgoGh^_?{2V$quXfQbB
zE}t(Hl8*<{Wo4LP0X!X>Ah1n4;htQchB!Q3csQfN+1;jTvQlu&^J3;w0+Nk1l{$0j
z?!|nrj9H(f9FG!YOc*#*PLgA4p=ac{V{2I)oigWk#DAHR<jO{wRuDoe(!bco-9@bL
zqJN#rzDT#_;+6kuB9{-UTcnzw4+X^hA(kM4$LZ!5K1kiGb3yOTOyvAF@3aeuU!SD&
zYE9elo=3<?jewqJ^H*4I(ZP=Lxsm!zpaTix07TJZ1T^@NHGq*I?u?=g9|93|2*~6(
zP)Zb7H-b$b|HRdF@Af?jyC*wkRW#Rh{_DTLbQ}Pf-L|Q=?Kbb(`wptkDt<>k%E5Va
zt#2KD)fT>SKcs#q=@lZ#KdZmuLQA<}P`0XvOK}=26oKH+7aa;;geHnI*hniDP<Ul@
z0K2-Rv)HiqYfvZa!4^KFPZ^yZ4o=14N}hX0N+Sc{VlQD7N&;8_D+<MlUMad^h{k3i
zu2-Z78MYG4-&>!tcrKne??Jg`p|=b}xxIKU!#oN%tA$ypx}yV?<)tZ?Zel%?d^NU}
zs*(dsZk4bqsL0=x9^XQLMI5E)CQ?VZ6d2R!#LhWq(2iTdx;C)}Z?~@EKj*MP7BDp&
zG}{8FpS(onP{{VDhg)z1w~u4CeOvSq!aW_?@{y1;_y&*)qD$84Wmpb0HERJ%fu#z6
z&l~`0o0#LocLP#|TtcwA*4~xx+I#JCC3|k|J$~>PS9WTOCFM>B-tkk6FVPghG<RBj
z3HQ}AR{~OWJ~;Ih<Q$oVujG5$`(kD$RQgViD`)lVo_o{t@1~vf@L-X_WVt4G-d?)o
z(UGp6f%k@A96F>=B@9q{0MT{aQAnj935Mm!_5!W0;Z!MB%Lxa7@4qk68z!MCCLd#>
zLYuM$1)A@O_CFNOz}C(hpI6BnoOkV?|DY05ZxJ=Axt5=KO8)ODo`~XXsorl;e&}Da
z^!wSk+|gypR=bTI|0AE~`sXJ5)|<jKkvisy)7@GL-)Gk%TJ8=jJyUBn`ZO3=KorP0
z7j-xV%YJ>1<cHR{n~QqFEPnZak+9rTJ1<3tlN`%&c+k&mAiERamqX`+i)vD4Ax$Hf
z3^wsJwATcCV*AF*$IahVZ=`4@3Wg!7<53;bPnj?aBc!G}Q6F3<7M$`4heX#&e``+H
zB_yowIG7?OFT>5e#4Jo5<ppwN69g>9hkf}O;`54-`mp1IDA{?39K8>Ly&IowYkaT6
zmXiMZUPd<_?qqGtYw(lo-_+N<0o2=awE@GEnJi7RZ*e21piJL9h0jC_@*N~7HXH#_
zHiOBac(lHW;shVk!DO_MbCT)8Y1s>}9YI)N>N;Hr%K-#k1h+Ss(K#j-N<c5v(V%Ze
z1014yB)$S`L5*y0ZCsr&PL#$)Xr}Qxnwo-Sfo!Vix0*59{}qFYg&)5KKV@^m?*zy^
zV__NzdC5{&ZX>TOY%ek1sq&lA`8av$T4;5uDXg@D&>fV8vngZJ=rrBTQb!BTD}RWh
zsS#$-xG9eC8B;^uHA_sTn9W6+&=Rjfw%N%yM|d(U)Z^c3mi)&8?&pBz=D}yV)o~Lz
z-O#!ER59_vSQ6ju;0Z?(`ONC~RH~-CO%<Xv$Ctew>{b(q^~$M)c%8ABSu@wvTE|U{
zXV82v@_nO&Q8d|8o5sQti;Wl9Fm5UQ+qnjF+%<$2&ZIu?d9REK6r{`(&{d9u<>SN+
z(e9PXK!G{2&XJ%-hH_~y<baerp+ofqWg_l@TOp{w9anemaRZ4vKYaTTq(z3S3<-oS
zB!M!+nb1VQ6zj`^Qt5yOKGA2BCbEU@9pGCZ`UA$Hvu%?5vTs4kR~U-V#%??wy`f)=
z5RexdxkP*GQCcJFl^sAp!g<l^@i|NJ6zqf4;Z2Mfa(kT(N@a*+v=CG2FbjQ5sk=*S
zD>ozqsjvQvsWkEww>Umt6F<V3Ney=`waCAJvOJa^<@&w<mefdIl!hKRw%q0bNMJ-<
z?7N?y+?&PCIh+#Y^dXS<sCEVwxz~Ynr1|aJruzmAV#Ic$M<jXwlEUVuy*O`v(Z{NO
z+u>{q{Z8L^79U`=8Zc`e(bn=yQkPbrYx6Rm2%-_g->0e~qMS%|eI_U|eaN&rz-t`4
z0QSS<G-(1wy;M4MAY&d)s@%p3D_>_OS<_g8mk7#{{++U?snUzWSBApt0=+Ms(nt+R
zS>(he#B^jI4fRev<T9sI$IxoWk>N4YSx-G=0v|1T9LwJE_MNQD{m-xp`Vh@!?uuiX
z@4pYhW@O089vejlG=|#b?8z2z%Qb`Knz7sn?FqE12Bt|+4#Oj;4Qxj6$il$*FvbW|
zgA?!#%XM`5MuO6gve&U%7&uyk$w|icMJ<NF<T>Rv^lhZF1Mx&nS%|kfWfsMkag$Ne
ziIspy;x;=VJ{+XQ_5u!JX94UTu+JE{2emo6P9*y()pU~2C`%Ch0o(gH!1vp}<uUdJ
z#*c?}5zFb%-p*aqPPMq%s5q_}bo+J-ZaDfZzBB8YAEf+L2SirbA2Z~jITv@d-z^M~
zP`o3ua*ehaHXIm1&?2rWP{NnBxS5$J8*Z6D{J{Mm+V^DcNsXZA!3-~-jPv4{lN)Pd
zqQ24xK-*2fU!VW}j5P`VX0Q1;4T-^l&1)pHc%twBXB#^)S2)m_xEhx8+ZVXHH9DW}
z-Z=AOK=$<9<rKKEK9^c}q&&@bk*|WpT`GW7yEz>yL1f&GpxIVtz90I>u9=!59UV}R
zL=JtaCYh=|4t$7-2EtUIL#l}me!*`<;x=$;?_~6&;fdB9Bg(`ps|01oaquIgS>#Im
z6`24jGp2|s2a5xTWCDk33?N&ZF6jTV<fk}idjte)6a00@BYuryrPi%+SbJNvTBK)o
z@|tTNMJJeLmg5J&aJVuRglb3erpqSCi^!&qNouACdZz|r7A4?&76SH(R=7<<3QW)F
zFI)<aVb1+zo<70Ud8HsA*2+ueg2`!&VWm7m4a|ZLfc%$z9m3|3^`b~dh1S0<hLnd|
zE%S1DGn(Ga&7`Az2q?=8JVHNug()Si&uNx5gPK^aqnGE*T~6#4owa)I9}8Ql=G}Xi
z*iJruxyD)p`kW6fuPI@gt+Mg3sjtf%kX8yZwmPDwA+|(S?0WK6L2#7gNm_7quiTj+
zC+OPT$!+XIhpZ&9e_!U?Ya5G<x#itEzZHj4v&!9j!gn6DM8um6{9>PL&@PSH7_$Pp
z`N~T!-Bec6ary^4iUTwyW{sKj%NG%$uqPk3(76M*F4BRD!NynVTd11aCN5mIykvA*
z=*>$mHU&~Uk54GYY4mqNt?#p1@^Y`y?h{#rqmH;rAl`|eDSJArz?;&&zKIbb<B$xY
zM2L=l92>{$QW&ajR0<wYLD-aRk+?VjdK0nJy#+L_$_Iy|(fTxBQyAzEK~okrkzkWM
zzqBO#JZ(vvjanqc(J`s-Cww+B_u#OozBsImyAAdIkRy4#yWTw}9D0tyGCjTQ%O$gG
z&FScFOHmA1vUgjgGb(c3c8Sg&in5M&kpYj$+C&4@bS5p5<m3To%Jz*kbT|@pe=)gb
zdr8KUA>1iusa8>=<S@kEGtX-9-m}|6u=^+9zz}LqfV5(gI&WifUw5kzI7>8PkEk4b
z+NJ<?XZ00Uu}rK?MgjV6br5|&!V3HmbF`LPqANwT(Z9!?_VnQ;vrW9}k}UKcTQ`-}
zlUOGhq3SB2P|(6SS})HkgtWKgU$sg_IFeqw3{9F1H2we`0MWU1%AfV5W2awqXr@D1
zXwpj(M}k4-Xd`5!|4v^AvJ%+rOCrX){h*KPu@MAYMUY2JJyo|jZLdOMdM72HR2x^3
zPO~}byh7nW#{x263!iZq)!dP^93mxwNIc4VITkgCa8qUlVBmCLQ%+bo&hy$OrUa4}
zfk~$$d_-%&YCROa6$@s!zJNj|Q|Wg~37RgPPrg|Kt#_8w-xkzaUtTbGB0GLObqsB0
z{&H*6oNPx}C%KaSDBHpu<hL#&eUaGOR@H7FIYCTZA;Gi$360qdIpN=2g(6!fk;$=F
zJ~-MPR);GgEsQeDO5PLh){%_ko{qS>aF5=YjL^{<@cc4))tU3=WT&Uh#~*B4;A+PU
zTb?3`&SD|slSvv*!?$N_g+BB;2_O4(L6KQ}v`FR{1tC+LU~_ezGcdvgN+=B5RaU5d
zAUFs06(&oK)isRcr3x_e^%eMI1$70`ces{+1UubL0wxTX)`Lvz8RwDX`+yV__>l5x
zVg15lJORxGY?66oQ5-~QsR;qcRBvhfZ62AE;g9Y0ZbuxIg!~1V99bdQig)P1)H@jH
z?Oxfzs~m;G8DEZEIFz-bD14$*xeQZw1YXfDf_I$raQ9JqkF{`t;Zo4xxGktU%X~cH
zZaF)f%$>T}PqrgVsxq4^4<+g09%WQ1Ki)&Sk~!;<*Fx*JLT9><Et*<{0i2)0s$Zi#
zjG4aeM}n!djOzQk9RImTu~FNbTWqrPc^PJ7`i#wd#t+Jil=pqk0=Bv<j9A^S+Q#I*
z+cTFTKE1Y3-Os`uZS}v4p{tgD>d?jqwVtHLR#f|)RZ@phiMM-0fyU_%eZT7x+^#Nh
z9h=*95|%0n4_m*XnP7trvS`Mpsg(;0zwqzm3ZiIa_zBb_mOBYTCH2IZjrUCW%2UFr
zK+Oa<^fmg?5+Wwdb1~6gIdMQxJVAc}NmoyW2>oS)S)L460`CF_!-JH1v2^VKV46cK
zY+d3h?e&q7rs=%j3oIh=r9{Dj7bs4_`0f+~kbn_aES8%CLMI`fWbiYaALBU$u2e<{
zlR43mR>$a61@iaNt|?A~hB+4Y*yG8C54Pl&*JGb2c6gkdI=W9*uBw`x@A~P-5gB?x
zUj<#;DiF&NI$jVu4@=5yJYz;C_Za2z9dZB};m~pIu!)4Bf$54?gQu9goBP7uj@%+O
z##&dMArCB*LN&FH$|ht4RP*h%CAKSO%^c#l<Vo869)Dskc~sfEqAv4Mf}8GK?a(1|
z4dx}JLiUUewCJrL#%g$U6UzvEpv-lAE|GN7aRQ63FZuo(F58^T723zZrdC&drKK;m
zTuROSxQi|f)$7Du>;Wqx?L!TjiEoBH4gfat4wO5a0P1z!S59KhnpqALxN~XT02W#|
z_ZOe4feNNgbZ1*}BtNc=r|i+x$ERwUaBPJ+L~ffF;g?J_uKkR1`cdN1T={@KH=$zz
zedT=$((k{|y)-v5&0WzcZ<6nRz2quqB2FgE>)Z5QpUK(K#Cqxr>FSrf*GkS`67iNd
z_{%QHk$x?cH5i(PE(v(a*4n&|!hf_mNm{~6zah9tNK~Z%<x6>ann$R**cOpePx>i%
zXeL*4noU+oIiVJJe8qanOBZvdaXPN&DoUl1<Kx+*<(<aDUG`ZByt|!_;i)LHT^4GC
zFzVB5RG`IL&GLomKCb00LT%uhR$rm-AF>SSpU0i?BB$w(>dSaAHUX}5gNr=MnIBCP
z46x(AmN&%dePuT|m6drG<>qM#+ojMWB#8lx1T(s?0~(zWchA6#pF*?@wDGS<r`w=Y
zZTr_Bfnjf>1Eku2RiO*RZuxwzlK)R1%EBB`Fr7y#<B6OEfXIbYfMHTE>2DGx{m^h|
z{4vY8^i(vZQz?g_?%QO7auR#kCA+;rbae0XGuP^w9@%6(cI+>>fa%!CnysiBonHI)
z%2hxKx7Vopt@g6R*{rbQ0wP7TcqhZ%>heg6>tE;By}JqNv*z_(fe%NX_%=$}M1C*0
z&R;Qo)8Xf=@FW<DnXI_^g?DK1;Tqxj-*b~&CmZZd4e$2I_m?YqS|O(soP&+6-psB)
zh&}qImc<f#Cs+2O1li+Z>kJ>*ggZO2QqT<!Sns==_bf(5yXP}<$=N7uh32O#vg5AE
zE^$BVds@4>X7dja-IuewDn5q}%`2&ZA+$ox5{$W%Gj$dE)f_pc)mO-Tw?+LU_-=C`
z7aeCH<$XqZW)HfJ^4V`^ui70l<KNY3fpeR9!$nRy*ONJ@kZX^Et>9$$=?<w+rXN)&
znv++KYPr^oMTHeFde~}9?Zz(F-M&2BmQ}6obmUy*dNhynpDmPz?f}33_I28ym8wp7
zaFsGf<q}@1CODn$hEBEH&$;c5R4*}el~bHjlottU5G7RlNi)k&g#E@Q*)?BWAU-D-
z22XGaAlzs;x-ST*o5d69G_ezNau23yLJdaS=>8MaxdJ!}l{PV7i*EOxB1)1F$!}NO
zM7x@Bb3u8DXq(;|0)!Xr&Y)-Qp%4^aTC7Y3gQ=1xhZaWpr(?YIANqLRSiJzWYU!Qs
zae@p`(k2`EtiBhyJb!vk(jhW_?&f6Pxy6oDO}@vL+^SEX6?qgnTOP?-H0@NV?`X6z
zlgB;_Z@bdy>e$SV3_CF;U<d<s`;<Oo+fTf^%-(p$D(_n8-43d+$k8aqXrTEQIOZWS
zyie9X*yk)eZvAR~cLTzzDli|-sR*CsvA|D+@iRZ|9Qj?;yB!j;Kf9(<5cUtj_qn9R
z!ZX-QvQ@h;>3!BjS$zoiKix0)Z))`4sgB<NZ0SG}jW6t1d9t?pWNvKsdRy(<S1(It
z5o`1vtrYtY17qJ1RZC^!M8U*v`YD7~SoN6=DTmao-Ll@a3Mt6?FDBz^G1P~IGSz17
z4U|8xE(-6!ZIa!5uqmdD4T2LHw}^B;FDjjWR%ZwcF;@_n!krax>wV8fx6z%CAld07
zT%ms|JmSqA^cCJJb3LgrBhE9tuPZ(M1l7<kkyS*;7z;rQe|v}H_#gY-f;#UIb9A><
zr~f?LpqM4;SHHS%S?A(T**|mb<ujGMpC?mxLLbf9#oV9in;#CTlsN!O2pG1&j!y;E
zMEG8nwB4?&FLEFt;j>mUj(z5m!IGk)(Ui+jd2>zQrm|d#*q3u@skT3h<0*i7eF>-R
zm-D$^l}EW{HN(3cl#{Gjf}oCZ@Iz~kQ-C1l6i$s=rjJIu(9@fWt*pGw%qHkupPI%&
zJvdf&{PR5lyC+#WOSBu;HNORXPr33ziJy7h9d;3>yU(pOk{6J`oL^q7!a@r(%jgNr
z8QWFewgQbv^H^ymbdbb#;rmrghnHc2*&4?AcUsxh4`Z)H!c7i<>I!cQGDs;-=gZRe
zlXHAg9@5%*57^mR4^O};y~pOzl~>QSs60y}T|NK?N#AQ^cB9{(^1Mz}drkVjGB!_A
z`s%zS7VghV^HP46mI~?(_Y+FGrFzLpw}dC!&F?~%z2>CgTD4=yQU>kRj}PYzE8oc=
zqMO2e{G9E7K<-?N4YswM+B0~7o*Sqe^q+4vx<=fe-Dwcf9`N2a67BA-f>tM%L034#
zcpmO3#YV2M_eTD~;oJGE%NY+;e6T{K%+cMH>wZP2HgY$AjLyVeHEMRMu696t49Y%K
zMYP9f_l~%3JdiT_Ty$ioZnG)>&BlOwT53jB+WlF}l(S{t3UkumWd3~VsTMB&<0Ei!
zQglK=EO@zFt?VRf>F?G1TR#nN@hUAiYii=M!`31zhe)raAIlVwsgY3@KKpO^f1jOr
zGjnD<CT!QS#MN2pm6ErZvD0l*38838h&fUiWe)a}EvZ#Hy<WTkR=sU$LZ`c_+(2DC
z_R{4#|6QQAQPLW{n<Hp*8{mH|#~FHUsY2Y=hwLO>`N?6erEOHjg!0VvhwO>(!D15k
zF8UccVrN&M^E-LT0V%BU9VHE`q6X_j|5}0poyV#IqZVCn&FLf1vVHGoT$;6IQS{4q
zJ_kT9WVZJ5z`_o{WP*=Op3*y~bBYENbi6;b$Uga%@%h@1lI;mX<<EEux=Nr8=Jo&H
z8zr#*1T&)kv#=x+a-aP7Gd1Rj*Y9BxAqq+u#oa->!jE86_!D_#0Th_%Q!31{k3CsS
znWMwhCBk`9&=J3hq8FsL8KQ99$n<kwOH=wi!T9mgI0Ao0+8BfBrOHdIsHD~23*92R
zl9|jUHT3kiX60?wu66cqWx~>vD{S?Gpwnr*rj5<DjCW=^6~&9C-WwjyLR4(oF45pt
zfA1rQOx14=#-l%@ISnuUs{sd<D8(9ve6O6ZSUmuwH?F#>aGXxcm9U*V@wk1)e{1vQ
z8rx>|oK*dL6Czb+j{-3|-#PrpqSfpCrb9y>*V|JC!Di}Hx8>!R!na!o4f~(&%1x?e
zRT^t;{-LN6d~I4<xgv+B8^836$#e$(Q(~<>nI9a@UiS}#49Ho^d2xsR{?qznuuNi0
z?OBhC^gJl*!Hd1ZZa1#_(NcC<Y{0|0!O$U@lAxP?zhqioWJSC<mHhEhSXvI>*w0Nb
z`%eb|&+6fClWu<7Noi-YKCGM>5XjaJK6)K@05n4z&$h-X$_#|9+U#7D3>l8oVFXJy
zs~%Oq9oA^wc#mtz@5ny!=B3r0lES^n=lkFGLyqLkhCbD|7N|GCU!i#Pdp7KSDsFRQ
zNAv7d{`yqrlI2_4TLEjdM`s-~N=pCHxAN=zt-l9Am)icavkfAocI|snzzb@m+7XB4
zxgDRGy7gF-X6ZM^C!a|h%?qBb6M0UF{`hjw-D#FzV(01RV|3@yL6zF@iOcz-y&maf
zJBF@{)n&tN!fjDQ5zzR_TJwhvlrxXZ(j%Rm=Wq72prij)`@Hhy9$Pc3vTWJ$Wu?yZ
z_2Kh!*yq^#$?m^`azZ}!MLj$cD)d7A=nzk^WU36hxiu~6PT25Yd?rYt)Y?m@x0pJT
zal00+I?;G<xg@RDakI2LXTkqj^P}3Z>NwxTic?^XygjGiLnjL&HJ(V@P4^K&Iw!lq
zMSB_x9>W`pd#m}&FS1@_Lt{n4>uS2gn}xCq9E0XuXVu~o#x$f>nT@P)C|)eUO3L}v
zeqGkRe=3bF^AHQYD>FU?x5lThD4J*Mr2)QM#-u5YKknO0QyZs-Lz~9??nHh0j^4r+
z%06Fn%zv9tvwu4TH-RJw6V|Xmwl!onth~Q%w01M>LA~X8L)80>Qvy4LTm8je=)1lN
zbA08}NO*>V*npFO29WyvsJ%;rgC0rEuJPxMXDQ>&`T!1(vPQ>uLegOb20{ViX=SvJ
zeN5In^ur%Ry9+}+N&NA+P06K%RI3Bvt}=7pl7t#Jd6r0iF)_ds@Itxjdy6ft`5u*b
zmwaTDB^7sPJKzh4`TBVZb)@3=3pM61W%|Gqj=Dnw+k<(xy5-iT$|~h~7Hm9N{AzuR
z&YgCfkhMIvrqjz4{@lLSvDX%4%hl6NI&3<xAHNnDura&CNSR8|p{$h2$oSp2#&7U@
zme@Lo7E8&s2I}uM_4Qxb50R;hGdUjqbJuMmNKHw@$avNwvct8_DQQpJxKFWQMP~9@
zUlXp_`eTsEj$B~Z&8ni~4?6e7%Pu^eKLCPm)K8eo<>?O8u<w<P1vGux-CFtbSF!5%
z{pcgv{^zkD`0hbi-Mcs64fkKTp>}$kyq|XNyyEZU;o7NPcf?uuH$T)^zv;ri%69eM
zvp@Ia4?!}k>j03IOm*`cUlWJHkc_V5l^Vsz7cOk-b<NLO9sskiyAw=;?C@zKy-|V=
z;qr(xk8j=6`5jY|bz!$C+452E6dWcIZDsB8XUcy+dkD+-C2zHY7y7+U?&9r~t>zmY
z#`cc-_*-%EnmPlTCnmG(Z6z~1?p%t|Q<xDNo{CeXoR}xGG&Of{2JxJ|r?+B+`grR8
z$Xu5Qs6WzchQZzKij>NFV;p?$o0Y_2to&cFR(x@@#{=2M=Zn4~j|+Dm<*@gs&x#W(
zhKc;OK38s5mnmo}*6pMWSBKX}TDU#jH;WyeuUz!nU%38+nKv#5$=k^N0v0QLTu9fu
z8MESR1)e<%5$u}Ya=UMxs<vA+rH2NrZf4^83a*ctn}q+<dz0w4Ka2PMD8Onf#$N|1
z5+QM@3l;el_U9}aX9@4E$`&X8kW0-2XZ2;2Yb^q^Ga#%*N&eY{m?LZeY07{+pt)k9
z*_2bH3(=QnzQDCG4Wf=5LhRo}^`8<^MZKZ_T}NY=;&b@pnejPT3Bf}Fp)t-OJRo7y
z`cEQmcFF^{?PK6y&pR!Y3&Th*^;2e!V^tHE>n=n~n##@4oKQ>4Y>r6V1Y>hyzcc9O
zd-s_1k55O|jmaY8Q5m7krxm-GsO;G_O16CPt*;6b4N+%KS3k?f^Hai&dCuOt)TYl=
zWgY<7^rg0ek?JEa@L~5$$!zo3_^FHhNi*5{h8Zg5)SLwmiJdI0`kEmF__6?AV6D*$
zjIE&#xgUl39E`08z6&j6YZJ%n*W}RMx6jMko?|_&)f3gw(?BCDr1ISSH2JWEhNOGF
zstc#XIR(SO171hjvxqX`<6O&Q--v5+UBwqi!3LtqP7gQE{Y91k{GG{igcE!%&?ni)
z5ypMjl9z5&+xz##-+SfTbv~hI2JwCPXL<1`u;+3tY({Xca?Aa0ARt~P0Kf!5lh1lW
z<c#j$SgWwq0M!~RWiMwA&Z=|1akn$OF`Xo2*)bEg^(r{%-Ji<Y;ae`X%qL+gY1tB<
z?J0xRC07Sq!tR|DemmT8g_QfDXzOHzsV@Y5W(&Vj7>eJNa^%Xv(TS=B7N(lD-bk2J
zjwk17A_ywTZ%6dTQsisK7O4qnI$m~t=_7+zl6GNKK+p<<??PUyzm7(egx7S7!a~Yq
za*YgVpnP{5BAj2)0&nh%59;<QU%UxND00g_SEU8Yr_)>DTgj^NU&A!z0nnlr|0q_a
z^k!jitxj;_1zRqI=s4RF{>Dh$$0wtI&7JM;AY7#EpP<P3pD@>xWgW@RCpR%qnY))5
z>)#Epbm`oi%vP+|f|vBP-HW>As=-g6g-fk-D=#&vefVw6P5;=0)`@gBe;IC}$yBMz
zUP`|_&rJ8~A7U<*Njn!rXc|6KUi6&baweW{TBEjISpWv}7POSzvy=l!TcDT2ep;B=
zoGClfMz{<!;j$j2tp~5&P#E_;Doz>xbAHR*&e(BKDzseCt$(fdtx61M^C4A|mi`&9
zyA(mR3_&M(7JeqQEL;?Hz1cJ_pu6BCIy_c2UP8s)5&gN=MTUyF5bb<xQtyU$a?Lw}
zmPB*=i1<wu{0>1W;~_NM9#~6v?|>#~YU65|P^#cZB!$a7da~xoPRXlS^vG~2@?uWT
zm1kRCgaDl9+%zR+56YW{V-bpT^)Dk=ruGkGZ}aU2lx2NCh#Z<0=$BEd4u*AJ6JX;e
z-ayLbon|x>D$R1tE2@4Joat#W_3XuWrEs9Oe=cs~$xgbxQmp}1x?itkXJGtJ?9wis
z=2ofcJD<*M$%=J1ERL1pAct%6lZ40n507I1TEak+zCNS6mG~<u!s)yUce?BVUo{z#
zrDDqz)w2?lc3i1W*!z;t?kiZ(2FF-7UrKN<I0U+I6K&gM<dMq88*a(zZDK2z=jV2v
z2=!~)2wLuE%K~WKe2g{W{n{fvF{}BKvh+c#pRdrFlWPe!fkV}c^0l-7ZASZfD>Sn|
zF%|0_{#iRp#Cw|jT!Ce#=Jx;i09N#bE7tm@F4<dSVzNIIkDfM>H+@J{_5-b6HEeZ%
zB(24}0QenU<Rr<D<%L@5-*)6ttfleLYiN=*d2zZn2+ApDtqGH-jwEsl_Q}o1XV-=*
z`esB!#5DZV#$@1dDHAfpJ1RT$T7&taFYVVVZmGgYRXr3RHS&WA$;jtR+)tHpJ&NPA
zhvD|I%)o{7H!41x=hk<&5BUz5Q+bOPDKi&RnV0M6+?Si$-U!>OEr&CEv_G3FH#dpC
zSLR-t4=}h{WqKHBd0`|_Kwi@tpfk6O$*A!G^sMbba$n&T*~#m_wX~GJg6fEIBrE(@
z<DlOw^u*c$U}qZe<ufn3YjE*9lPkPSdhZMUuCTFl{>VK&Tx29FEnHHj5jJ#<akNZj
zsJSBT$$SjaAw+I~>(SMf)VooyD4~*ddGV{R7mwAK<*=cJXHSuAf?7lAM@yT|CR|oM
z03scY3Z)l?lyIH)JF72}L)21B2K988;?ET4+FGzj4448J%5NP2hv_yhbu9rT?oV$8
zJG_^}H9nz91EAaW@4hyPwoM+@Z!?Y8G$LEr1b;G~{q-To8msfeu3jt$X``DeAj(Hk
zr<goyfQ`2XXpc!QY9sL=EU)B0KQk_gwA6q+icQTXZG`5D730z&39kkPeC7bpDgVL9
z+Xdo3>ts*WC8@faLB^3`xv);F#})xnTnng07Y7e5JV7y$tUb{+pq&0wocY}DjE%#6
z6sq%GAXDjC4uz>yRfva*XsF4j#_HWTkHw~_M*Br*h1afBS7tB7*zu<*G*^_jHK8FR
zi%yPTn%4$CKK^_|{8HV!>fy6T-DDLtyv?j4bgcn5-=*5c`T>@pn#@Xj?_&a&VfBJP
zNhG}A<PFX1H&?mP{FalcKWjiqBpd~A$VQ~mW7Z7j5vhsx{}gKUIjt4zM=aWe3mp8O
zOT_Cz_{wrCD+6DSIQZSaX-$v$kf8!r(DbPNxGPN9u%Z!`m*Y>=lwR|~ziLi00P02V
zwA(Jr|NJC#F^sYFBJG0x#4i6T5!+8vGY8L;c#1-qh1L{qhTxk8lwuzn=CvDzXYvuk
zAy0zy3}TFtS7<(>g|b=RG&B*36@?J2vU|FW!)9<edZwW4q|`n<xz`GzNz~L_N)Nmc
z|NM@*zK}kKQQbR^Ts(VzSHR)+qYq?f@<gxSK96ion=KQYw9QE}uEs$Hq4&xo&3ssg
z29Hac=pgix0s4mFsQA<54I#)+Pmf!5>nn_jHC!hvFh;JGY-WirKFqecTr+$=K`u+t
zy~zA_5k{i5GwJ}a{~E^@PRT1Nu#m?6x<9DQ6>dl)ZApzNJKtY|4jlk`xU|n5;MZ60
zfHcixZZyeB)g;7tu-}&JxULh`{@7lwCN{)=<*(#>7>Le>l)C%#xTGb~bu26}rV9W0
z{ye(q){NIKq+)P@(C%w(Hu09?b_7AWf8~oh)S?1i2aez`Ap9w8+QtZ-c>g#O_2BqF
zoTi4xny~3IU?Gj)R{&@Ddiy1(fl7>HmE-Tow<2Ki&1e_!Y4GWfh*~wb!+=m>a4Axi
z0cAo<nt`SCA%+%u9O;xebF3~cBl)>(W;iu1d>MB4Vg`DIDCv>5sBMnKCJ$+MoB1VN
zr}K6R)Sq7+-o&1~Qq+5m7d=Aa6ig3vX&JQNJJh|tO{eP)a>F`t(|g2|5roW6+w;)r
zh7MHdT~5>gXtAn5%5a2}Prw17U>*_vgvoMquOEV1D?S&;Ui|mR0rUMlwpZv*3>+ld
zG)`9+)~;!6f#l>nJzxzrD~n0=nSMrU8d4I{t3UeyW~}<qFM^b|aE*%FnXSYV|K!4e
zSJ#9RD1C}mba;5};)#DA9>QM^MQfI#r5c#yzID1-xVp`^hD7cnbOcsdWsIk^{d=Nm
z;Oq7-fyrmN4EHxViHfot6JG^adeXfG44lBKbpx^|>Yfik?c2K}52HT;!b(hGy;1@0
z{H$2CbQ))%yw^n)HD=gt-@nkT!}vg2rFHt7RWL3^UVU`|MpjM}Xk?w9&jWZ%pFb;8
z9$vRUPp6u%-9EvvkO-V?ET+o7JOBzUHKGSE#d84pU`KcMjcYew7f7Nc=~}trHu;j2
zcpQ#~cC>F^bk)$sId61}-j)Qow(1yXz^S@Jj^R9l@GVKynY0<uibAqFC9#I)6OWA6
zQ(ImBc!MZfa#r=%`?(oVuMbn{?YzAwm!u^Gh=X$SxJdErmvKNc9*AWtG{&)F4Vm=Y
z4C&*D?W^Kg329v5<?#ccgQR&9u~d1#)yxZ&X?2XPHI9k2(703h`v8c*dw*HF`$Y17
zIWlzqa^X@uwO~O@W<~6-sXeIALCj7<niN+#qz-=27G>k#$#=3im6iP#Axa(3=9>Q-
zmkZisjgJxc=j+<G7{D4Lmd16idtOGL=KgF?8&`R5n=Y(kX^R1$NhWdR9+MMl7I=3S
zF-3Gx;f&xecs@z}XR;XY^t@kJ%Ejj#>&PqcyzX);sltHfT2^3bfh&rTvD<t+SGe;<
zzx9}}Vd~C#^7|Bt!MA!>zR9h}4aU{9{_5HYSYtfNBb_p0g`a7ax%_1HRm1Ayu31@c
zk;r$l$=5WWRUT^X2{Z#tgw1NHZmLou@hLy^6Y29lMm$UrBA2;0n78BBzu$CStoC94
z=m-+aH6jL6c*yIk4b_0_DE!Zw{m;rRQaW&^)-Vg4WXdWXJB?Sh@i|RN9MRDUS`JN@
z)q<(5P<jT+6W%6gcr1W!`L>s8_C26s*ANh91<wIs9*UfgapDu5UtGM)?&oI~U$&If
zRqlD0Y4z(5SuzGHBHtFcI|{ow|Ig7w!cX>upt!)4Vy`6c4HA!GZiF&okF~T2{d}D!
zbmcD&_BQ^)+mCdp>o*Xw$z}fA0EhMeP&9T)JUY@#@ddRvA_-jeE{D0bk>#!He9|+6
znu0nkmiqS*b!W?uH#xT2R6ZCDRFfXJ3bU+wZF`F1_zicPu4GNMDemuFcW&HA19QdU
zdSsa;NXRGe1AzWHZ0?8huMpcf^_ylZBH=N4wI}4QR#?C@rC!4U^Srq)A<x|HFvm#4
zUyOQM+doWJ+65EBo4cN5s}6Zs1DYl%uqG}_YJ^Jx_)GSf;p9VEFt~AiPh}MmuB+2+
zBry35#kH48h9yF|A^G3*#D*-K3T+>{m!)BKuM&@tpxh6lg+X9SVmfR*(5q=iY$YxA
z&;fSQWK1+8iIYp2Cp=wNo=-$DTJT#lSjV<?_LM@u(GLCOO)C8XVJMv{k`0fQG6jo3
zp{h93FU(r;<784mi#X%y-&H2{MjTc*oIjTK>ywD=xYSNs9E;xaZmoj%<YD}m_pje$
zN4AFBkC@F0gow3eK>u=arj8UBF`^o#0ai78Rae3gxv-6Pt>M70Hop2CA|KWmF`UQB
zmM0TW<OoP)a(Wia>m2c60|PD`z1JdTP=H@PZlLSIcRENup$GW&e&9hv++ptIcRqx^
z3gcPciik~8-?Jz=F0hQka_)GA;p8#Rezh~Ew)sRsVcemg-<%7dNE4(sD{JFU1MnYB
zt<(Q~=<DN_LtddXXLiaA(i||EMlDJU-Ol|~u%al-7CikO&8=FQ!+~7Q@wOVg4Xjb|
zI8y=`<QXY75<nC=0A83UOSbqM4LtA|6XynVfVj}dwvF9Du-;CP6oNq)>ckA8t~#Zl
z*Fp+TBwcT0XPmsH`U%#5M8Zrj!ZnGDe)1|wWL~O?GX%f9Z?LjI+-}&la&uB9?DlTV
zxY-bK{fWMd&eCV+kRxh_(HEW%TplQ(<>CVJl9EgO3pvK5mXxTk&tnb7i6IORm+HSx
zoIHny2_v=Z5;)_VW)u|z%K1T&%<u868{iW;Ns?Hafk~Ja#|wRO0sBTknu}3E!%4Wl
zyr45Y$|dC*52tN?jiG4AJHK*i9cqjdQAjU^vd085rCj$SMJBKOZL(MsELb)65;gG7
z`jQm=&}s9Wq|~npDI3QLVqq85TpEATY23V6jSqkzRT#D3RkYLgF-W?_c<T3s$+oSs
z;QPex8Jx9Tc2ug~pH=gKD|Ei8Do^QDt&^u&+OQ;$<?+J4_ni+sKwzo|o<{r0;y!(A
z?_thuvshwiQ2{<J24{LT(&83Upl$&1mmBdpm5sUP<pOsdS&Yw}?|!R{Or6Bsz!}f2
zI^R$~ehu*#C9&i)fDqBIiP~itjG6m0sODb{iXn|b@)Q??nRP7Z7`}xC<WS2u(Z9|Z
zxVC;9|2=hw^V*|3V^Xh5__uw*zELY-3IA;kCxY6rP}X0ZLH^-ViD9Anl8cAVlO=xJ
zp4yc~Aoq(TO>FRIR!7@u3gIj0qZQ}YJ?U^JkWb8|b&|o0&@v`3ejqdU#GJz_zT8?H
zPowJ`3h2mVA3z=?W__d;Re9b=PK?XEBhXqt!7z~s6{n=h=TRI2`Du8THrs6+d8PJ@
zm9_0OAPP!N7QYJD)oaIB)4pNFY~}nCP86~t3oFkU-#wpv-EX%=Y2yp)s&i+n=+|pS
zD|4^936J~0aXWI43#wZO$Jf@nQ#mFPTBkK<6o_uwQR`=ZVRfxaA_*6BMD;gF!5g~z
z0Yuaj`FV|{YehqjuCGaf58wL7$q^(2qoi^(h4AznFV7&R7Hq{{!$Qa&uVKMXAQxVp
zJ$B({+Kopawq=Y3+a<=NUgJ(Tgoz3Ope(7I%JDk-yq~BI7>&;KKKu}^k8p+Fv~~y#
zqB;HYoMT`NvObzi0-Ks$>gL;S*De#v@+R8JQ7Gr<x#bX34_hrA;7_Ki7KuDe7(viQ
zeNh{qm^(ZQa`ZKNmSYlB*4SyV$m}5Z>bJ8DqY-Zx=?ia6$rcS0Hh)3c0kYP5BbRCO
z;!6n9C8}lqnN55-jE0^fUPg}~!w<Kiq_NooY{J`L4*oOVB+z3bDnbS1E4g&2^p$c}
zZN5I&74mv@=GX4M#{2J1om|sp3)QP~WlrRpR2DW~*nWZ^DDcm_$UI%@mf1hJ^-#uX
zzA_H$Mq^`sy>CWv4q^<#A4H3I(bM1bGp2eRTUby?+KH?LUQPU4+5NYxi<?;eE`j4O
zH)Q5Dd97|-qf?`ZQS(xb3>`PKpu%rJ$q6CG7P=39BAklf@n~M6g2<9f2tjk<>k7Vv
zg<ARBZ~Z;DR4e!zohAImA1|GeC#VLsP^ar%chG<(Npw*?HzCvVsLrbHI6^zpI$n1$
z2PA9YzH(hMdo_v|CM=lig5?;Ap!i20&+wUL9D&2E)En%O-muaCT8mw|zxqf#sBK3m
ONV(9gA7sZJeE2^)bEPl<

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/rectangle-4.jpg b/libraries/foundation-6/docs/assets/img/generic/rectangle-4.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..df2ac80ab9ed380a4fc95aa9cdf791c1f408095e
GIT binary patch
literal 32780
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%0Aj%lrqS)4rnYiSR~kA
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

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/rectangle-5.jpg b/libraries/foundation-6/docs/assets/img/generic/rectangle-5.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..632e907092952d6802d9a63f9c5a44bf0e895b67
GIT binary patch
literal 31295
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
Y*8Z=){{QglzklFAU;FP6_4nuh2XQqYT>t<8

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/rectangle-6.jpg b/libraries/foundation-6/docs/assets/img/generic/rectangle-6.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..79cc090104372b9a954e225ce1bb881c23926ca3
GIT binary patch
literal 33578
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
Ukh3zMm-$u!pXc?z-js9y+0{cNGXMYp

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/rectangle-7.jpg b/libraries/foundation-6/docs/assets/img/generic/rectangle-7.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..3c60ba7ee755dcf54f12bcd58eb1fb83c14a567d
GIT binary patch
literal 30779
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

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/rectangle-8.jpg b/libraries/foundation-6/docs/assets/img/generic/rectangle-8.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..9902a5f9f0a2dcc5ff5cd8655c70938f132b099d
GIT binary patch
literal 69069
zcmeFZc|4Tg|37@q7>qT9gfb?|zVGYU2PuTIRgAG@jj>hA$d-~NOPefFc3CUZLRpe5
zg$RWbh0uZ`zjKYH^8S36-+e#sf9}V7aLsj{*I8cYoacFM=UkRwEx(0WjPwolAp`;e
z;lU5IJh^4NsjD~1+t1b82O}#X1u1D8nxIe+{88jZ*g#Y~f(HNVZzKeP-<3K9DRr>O
z@KyhUIQ;Wle$tuSzOL$^)UQIJy$4qo@Q0v0G5Gkpd6D+|lYIP1Ab}cAH1#9xbM*H1
zpyV+0A`yvR{+=)azK6ecJbdBjO_Z|x+=Ad7+HNGc3`}0Bljyt0!INmAcfbN9tu(e$
zz|_~<+j$?6<nOcB@dyDB86i{17xD%_&JYIL2N59><PZ74RYCMV>$$-br5bGylGiFn
zjE??p9wav}N|k_4N6D>YVr{%K8me#=NO5ra-D9>tdc4<%<mT<=2k2YioH{-vueDBq
zPCELoKbX7tnXEtP_<HI5e()mwe%S5k;kQoN<3b8pf6(*v&|QB3<M_L3ZGyYY>OicF
z5@c?mtpm8Bf>|<m!eE@d{T*@MZ{bJE$H3R?A8Fbi|IDZD>ttc+Mbh74?g7v3`bXQt
z3G<)Q&HX$`lyuV|51jdWcKQG!f#mJ0>p*gVdq82*)Wy_q4HfV`oEdz>Y(u+=&MVby
zXx0K?{XaFkkKnPAZt6?GS;I9@J}d-ZZ=e0HL@>Dkp>AF-Ys1G36U+fm+TJ9Rx2K1<
zm&<Aq#x)Ae!XN2OYw6~0F0OwP7}f}YxApw+TA`X;;Q?N)0Cn)XrF>J?(M}4DnR2CE
zG(%TbAJr`7kshpY%4c;=GEq|D)xDike(T@QR9`61bd)Q&ASl?~1tS*Ve+Bb!GKH^i
zlvF$<>Ff+B9^gttNkOcpWL~<wo+1O6f^5KbEss1U1zr!UDU>?r!7~J}w-v58Ua7`l
z^2XGa=l?e}%2>cv!{Q4`d4k0l1feNcaG|70QJzphcv40H1#=Jc596?el4B+R>Iz5V
zKy~16we)uQ4x&g_N?vaGktzyYRz?7RgwUYxo8TK^Aboa&KXFJAl7c*e91@3gAuUJ;
zk_C5rfs}H9ydW1Kp~Rs*kQ=yjrR0I-7ZH?n0CLL<B7jtJ$P!@299o$JxbD9{t4keD
zgj<F=`1|umhIPVf7vX0we-BvJ!UIO*=<V<2<hMbF5J=L1M(H@b@Yc}{5;v?4NPB%1
zt*~LfzDOv8LgVM*Mj-lGdF+OlIpVK&s3|m%%m)5wDG!Faf3!vG;_L12^H&m$x38Ov
z+qwkT+XvUamy!nRU~=#$c^eSDh`tUaq7z7fEP{R36cGJNW;g|=7<#&3z}NrR{ipKx
z_4rGTQ3n6-6cay}zf~QLg9pjN!R4=9%mku`hXpZ+Wax*tFxkB(Ownt}e`Tg~_4Ylc
z<>BVCHd32bI*(sV20f>BB04+xQ-nKR0MVE9AF^AmCI6kB!O=y>+r!)UkHKYKsbAY*
zodAkJd%V5iv8E$=`v4=skNBtbr1t<~_8+N?juf%{k8}nw#jYE(Q`V#q+z_w=0Gu_a
zDfcTYpOtbCj3!DhcFGeB=zElBI6uT>1upPX$pC*q(jneLQ0_yJt^#pEh~-zylMthp
zleZ)Bkd6t2T%LlMDNm47C<HPuzlOpgMl>2thi0UsV`OEZXJF;n#K^dbgKP6<j?J67
zSQ#mw)vuL@jaLK{0|OH?6ALpl3p+D2Gdp}?W?w17`oF1Q`60xL2FzzrA+QjV6+y*{
zSRMc?mwx#%LKARF4U0Z73M(Hf2!TXV)6k;n=ox@w`kRP=kW_0#76^etP$5xBYFZjJ
zH5H>QAhJ@S_}QeXwagqgV~>($XxI}nOSN|haF{=Gl$G-h>(HSUOx!m;G(+%{=gcZQ
zy;Jvsg_B<0b&|rCPRn89Y<YP73;&TX`n!^{BPx;~zkK&Kr}9bH`)^jx0g)*;sv5dS
zzbhK-cL|J2y?MK_=ffN;ghT>vQ52qNX{hBXEbvRSp#TR*v74!7$O-H)2an7<rey^j
zhkU~lb@p)({N!c?X<!Cucgojw0w%6+aniF?AQ6YxS@^Fx*!7!*<vxg!iqa-4qzTPt
zj|;@48qxa<m3wu_s(!n;G#KFd>!~OTm$v8hXf#^LJi=$lGw*qro#v*PLfiT476sNt
zx<t2&o5F52;926)qVlD^YMT;8Z47o;p1S_EMI~x~!;@lppVIda<F{IKYU=-*>)4ZR
zdx<YFM$5l;@5gV<ibJwI6KMw9USC|Q_sn|n=~(c|4_#lkFGHp8Mvk2t6T8tit(0bv
zQ;xRcUYbgk>8PmM-e_=Y(Eak2#}d`WL-JnMXeUt=bU3p%w^N+{%szhIaJF-~dGT4=
z^wu)ImrxIu+h?1M*!z0T`!?sHhw#+c$5ly5&8Y`EXb0<b&KgSLM@YNeO{(U-1DlL4
zh)$icwb@n>xV_GCbNuD2$FA64_X)Yc=w~?6@}uclgP+*fe)%)Are%>$Wfypj4Mx*B
zi=OFxkN0fqQ&*>T*~Xp_eZW}n;-(!|jbxj&t*I}PKFu__=M|QAkKfGIAxZqokC@{@
z7iGww)*3GU`qbF9`oZ(cN$GdAKP}WI&PnaAAMI2*Wn(Af^gcA@z!}fHWr$rxUF*`q
zUS+2r3y9>h8xQ9qX{Cpz+<2;FJqvq(=$-C5mX>DBbzA&gRi8rT-7xoC$eu}O%Tukd
zx_?L(be$UCI$oC3?$Ey2<3u1N+)rW3Sv+<=?Rvnda!r-ySRsSX)Ry-ebt42DareF+
zwae*Km4o*ur@r3)b-`unwqwE5rv~gq&5PqD&s?V)UT=Lkf>mWA1>aP#iyTeJT_~6v
z{-HpN+-7+?gjhxzdKU1xEpM<<<U2${atu7FJXU#DtBa|1s?ZZ5dy$`79&O5hAmku=
z4+^9GPEY0%y>Q;C<&G~qT`fXoNV{K}G&m~n)nQR|jkV{A48!kvT9Hoe97S_lGYlgx
zM0NNk)AWZ@{UB5mZ^3~(6Ic(Yg_}?$SLNf{w@usz^mF+QQS_tRhBL<^=g1?!p4fac
z@e-#oa8z9yf0%XU&Q$-fPSkDly^wg-%cF;w`t2sOKZp5yEkn~zKSP!wt)pM7KPcCg
z(mcAg47t{Ql_;|F7uAxj{23IN)h%r?f3E2vB=2%)#+EnRpxSV3%a4Lx1;lMdX?H%W
zRxW;usyysOkh$6-eT6XB>#T$JJDg}z6Oa~CQ{_><3{lxW*nf5On@8v?p4{9|>V>Dm
zPtIQN5xJY@JlmWT+v<6xALoYZ`E)XT+m(YY+kUh@$XSMpekJI&xS!s7KfUsTaA7$|
zO=DGVSwmz>W&8JvORqKYyXA`mI|jd(GEGJha+T)?j3%toI~eS`qmT>=7se;ku1#KR
z>wiTi<k&|&?MfNr&5}=+MSIZ(hUpnWKEb9ThqL6k5-)})y$o^UPm_!AZ>6UGI!Bi+
zxZL?=XV`9Pw`3N16HABcB;P>vUWA(%f}gW$N=n%%-}o6+S*jA`%IvcjnUZ*xhi1=Q
zfh56ZfVIC9B`0`j&;2h`DV2iCRXhhBZyA-J?u@u3&(kov1v#^r@VWfgX{*W*m3*F(
z!2)OJ{pW4R(+tn6>M9G$`IOd|ON%na*?hF+>ps54_T>bv%IxmeD)*bSYFi{bX0M#;
zmbhe$N`2R@J2R<qvu5#0+0TIlhudkNZ$%F)*6&@&G@HLvsPpqpnaMT0U0dSGv%%iB
zx1@8Pyvlfp3E|;cc>b#_z1zd?>9N?QJs;g4AkGzy-Yz@%qQaZ8?6hrvk9vA`^=oy(
zE948`57t=5rJc{5EYl41KlyngM6i9ykzJ+F>sxE!55!9v>v7sUTVj?Wn;$&(Kd)Sn
za(`MsvkYxbA^gx?tO$}URP|L!>*aVUN}MYG(Z6d^mBu>n%fg$SC5Elb5Z#3Jp2aPC
zU8ORgxq8%Zg!P$NnInp7K9zNIe+1xN%B&pjIyJTo$)wMx@7sGl#I)f7G38`JG2-ED
zCv%bb{^^ECRM+>4<@N@p1#2HA)qPDbO1Em;J8nVzTCTUV2G{gczoB%}=lfLkQsv9;
ziNM>(`2xTApG<Wes_y2qeB3PWMDM{FXA@=aE*>JlBU*i<drm#cdVlS;e3=aVV7z=+
zR*&no&6Tk}33X>s0y)u!;)B9?A;IMrUw(ajt|2>tK?q&Es4zIqE$AO2`ti#{RF$DQ
z*_a_U;)Mc)PpotupR=8G-*0^8TSy^d&TZQTf9A{=)&4G4QHY1{d46OzyBH7;{`42A
z@;0k~?8YV_cCF-FRm&NoioBn)a!UVXo4`|p$9cVNpV}%?x(|zN&nao}Kd({~%yzh*
z`^2dvt6(3M>EhayW0vg=t*5s=4w|Y^o?3<;4uHjrG)L~u_x3wkHf$(xyZfc#%YClY
zHN=24RgN1~Q!G@5R84o^EO0cCcBFQeU%6tC{j;y}<yLpQ(KyTd>7yD&&->mFI_ygh
z8Lh6WZ6(+Y<DE0^O}$>ct!z3Usr;^SjMpN7ySeh|9_jSluBBMf>f?OfM=y3Ci+Fi(
zGC}tCi@^59Z`UuJiF}@5-B#3LT*z49Al5hhnqk6Stl?zC-8Ywxlq5bYPW^T|=bcm4
z5udwJgqwc$*57}szqwN5)phe_*)in?u|{_Zze3uH`L^vnN~cskQ6n{9)L$(_-{|gD
zo}=3Ob&tmNt(*35+Cp5AZ+)z8mU?4k@S1(iv2yFs*GG%16Vz4upuCs8I|BG7=3;y`
zTI0LB`@EM3FP`P37aj|iwAXz3X{u>_GLidfbJ2y(RQ&@Fn&*z4`u1S&!jtpg{nb2<
zi`M7FHM)Is+59cAh4}02^vrA9fd^l1*C;%gCtmNUuAeRSDCh68^xO0a$5it??B3+a
zSV-p0&gN62#8b*kJJa_}F=l*Z8cgfETZ(tpvnny{u2v7(pXq$qjw!Y}>i`eW?eedc
z+#eQqem}k?#<~1s%`Jv$p7evZcD7^v!hYO{6ph80D|>4vzn7I5EJNnUseV;{edf%a
z7SQt&>LdBs#o2sXhAgK%GY%7~TXxqDr_d@rpX^qS<ym@jFGs0a0q=OOz(^8do9EvD
z^y&vILvcw&cB60i-PdM}EXk2^mcut_DvJd#JnsyYIz<@ERqnj3U}xo%q^MZ0hutS&
zz6>qD92iTt5N*gSt~h?(dVl$kIK#1T7YJAG1x!_aId%QPxX;Nb&EA8u-wJ-%E<@RV
zzgUe&OS?ZEIy8B&x^OQcDB<b5*<;BI5)!5FE)3`L<qYgP(a~LzKdql;ov50t!LK_r
zpy<@qQhKfET;6qCUTzI%&L<uNmrm|`__c4K&_^xq`t6^L-b?bA$V&?6HPTNiiA-v?
zmuZd+G-`f(%swz~!uj5;#{84I!HFAfKR<ptW?**Xe({98{iz$<MOk;MKQ`!mQ`PXp
zbMadvsbt(gL}SyplW`wT@p~-UFGEQp%TV!5+n3YhV7)9uZ&*ZlYBzOzOsJjv73aSF
z(~;8WAy!r>_2R-u-bG(+f9U^Q66N%gv>Si<!P>jzpoD@6$Gx&SshZ<@KT;JZ-efOr
ze?#P(c25N}(yrpNn73H3nfB}KV%MqJQ@>*E%0heYsZP&(estdQ=w@K$^B*H7!OFWE
zn?k<!%~Z(W^pNv%FYv#1wzuj{V7nDhm%e>$TWhaniTlMDm31xLW1h*Xoyc?f;)JSG
z%J<XK-|nX#ASo|H^XZR&U0D3`EB&k2*2Tspu;>jJW6zYn9ogQ){HxkY?S#ynq_;_x
zERS<TWwD|a;^%fPmD<o{$e?Md#r+4<uS1KT?%R4c3m&Zh71s7aGkY0|{IGC)8PZ>d
z2Hq^uSoodFe*N`i>gdsBC=E>SFPkcf%Qq5KhIzNmY9dpMSq?oi6FQRptNi#)PPzP>
z$<nXq1#T|)QamhvipOCOdrGkPu?Yl1oIsG)5rjH0AY|(b?n&U!k8%eGFt+>;IWQoQ
zq65mxfZ&QWv=WS>w6qe7p@q<(A@I9A#Qaz<$jupoOiUmVP%#=}1RTHtQ3M>409h#a
zaJT}2q};>L*AO%->2O#C!M1u23L-dG??EmEHzmjoQlV@F&-#5KLg<gO(v-l80LW8;
zkfGee-sh_*H%dSSE;|8g5&(R`KhSD)aP^zwVPbyA_jPnIGE&m=7$Fk}0*GXSpuaE#
zC#XnEseoi@85Jox6?rKTtceFMJ*W*OB_ku9vD(MwW#HT**V^3#yu`Kp^_US2f@+m_
zFpj_bhw%N~Kg6*=`-eoV)qw~@uGbBG=9Lc~e8GLBeE;i1|La5l>qGzRL;veT|La5l
z>qGzRL;veT|La5l>qGzRL;veT|4%;j@(|ZeR}#rbMN-nsPr?D-g_Iz8drAg5_()1i
zNJ&C!nn6Ae1a~3{<46QM;_BGXH4m^DHz#%Met8oq6CWL-D<;U(!^=-4NF7TlucE1e
zQ43ND^7Qc}k{mV?K}I-P5{sc^A-St#6&2+a#VGElq?D|rtdxX;I6+E55u>OqAuYd=
zC@v$bA}6IHCxco2U^M~*B?4t7ynS6HrInSHC8d0woYk?boeJDYl#!H?5eGTM{erzn
z4ng8xemm5$fSHvpc>0)_sDsm17?48+oFwumZ6vN${Ksf*96m}_ek8pBQ24(aTR(VX
zThg4karEKA^dp%QfA`{##(q!DT5&(H^-t-&6G4*bLG&c5I1$zx_Ss1EBKd)dm4?Tk
z!l#d`_u3&p%7laTKXCxaD<=Tgh->4t-h!7O!QYeUMKaV~n|}ZsxOOm<D!SeqiB8@G
zHz$?#YE@(v9i5zIq}B=;dijx*<&|W_ofHVtM54UXMxuikfe1GR>X&c>HAxZW<dg`+
zwes*84F@M@X>n-+h+fFcD{LgXc{zCe$(5X(A{OIBP;vJ5^>hFe=H}@jC#|S2BPA=P
zuPv)9vytdRlsw`?birbNcR^oKK}S|sN>@ilMovjvUq&6Ppr<XXD5I;VudKh3sI920
zEBj|@9d9XVIdLf^acN}>5Nwf?QPJ@wf^#L{C>v273t}*T6Xj*ZrQ}tlRt8MP#M{Zu
z`S%l8SWXTkd5g7h&0kqphz{%Z%8N@&iA#gb9_rY?!a<%sD=dJM7vA0*iQt&ddaP)_
zo0pS!pdUsJUM(JO7z*Z99DIX;0DzPB5s$9k{U#FN!;I=!KZgLK6LzJ9wziC-o}9F_
zwv?{Cw!VVg%DieT$?Iq<NN*%6=;+AGC@IOUmQ@LKC9byX=j}`ibnqo=smMqJSgrMa
zg{gI-3xMi|{t|&Olf+7{v$|F_!PUXbWg~H|ldJt8czXq40A^NUfgyQg9KeZE64BRB
z9qa7t?YWWY;{%QoIlzM;8Q|qak+=@4bvY4z-QZFAdo(u?SKIe-@Lg}lVMCpNbF+cC
zBI4J<3wL{EgxtW&TUlKHoFSFp#6MP^&gu-2;7I^;x`x$%&d?u380FG`&(PW#W1W2p
z7$JbEf6fpLx>X_!IN`r%=r1r)SOub2Wo=adMB0DshqM$yMoC(Ft<FGK1#x95WjS$K
zX(cBm<&DJEj>?NmDFanxA+4YywGmJxmH!TH|6D*D7sm!T{s+W?^HS@pN5y9qMns9#
zS>1?-4O0$d^fzJw0M^!_$||V-XT-s%r|^J*Ar7Ap|Fh0jGh!WMe-T~&SZJ#~`%9cV
z$SJ{^^FPj%6d)=&J35HV%SbDVI{?uw?jSEOEB)tW$f(Fs%CAFm0}(u~h|k}0VKwr-
zD$M}6OxKj&KSbRI<gLuq8gkYa$^RO8jtWw;a*mE`<=0pimm$c?Dk(}UC_2jk#kRue
z8WD6B7Ta<#@?>RIWPqFlHrrn;Q-t7ukaK?`?{}CVi=m9y8q;8E|2ac{5Lf1XjVlUb
zHVU*A4M`D&|FiG`ih|PqD)wNx38clEC|vFQA4Kfm*n^P_+pOzg1I%v_uYVIaDk}i?
zHB-WwsHh+Zmi~Xl-WpL{R*9%2E+-`eqy#}mN?bvfxM4cve~ZI^&ecZj!E^Q3t_wV}
zE3aIvtJy#2Y6T2`Yo`B)@>|)_k?1Vt;3&QkU=EJbQbZ+ZWoLzT$*=)^e_I%TqYonk
zRPg@=`us?L2y4pZt}Eiz+5hj+M<o3@{S?&wrCtA+{{KP{f%g9b*#8CkD5CanX^K(%
z4aWbX!3_d`-H=sMB05Qn6W0~-AG($ZBp-z+OCXBNIXg*-|F&{r8*X)fjw0OFl<~TO
z_a_k;jw|#1TSp0P02t+kpZ_)b)Fdf}{)+9Q4_iDccsGDyiWRu(1^hvzI5vN;FnMv}
zUyvgxODTxUDF6lQNO0arTqzH{h;^qUh_VP}<(vsp4i1XIVE^X|{e!qte&u-gsweP=
zu@4)8KKi=4+DfuIQc4Pcdjb^Vnrc{gZM3}fWp(6aWp(uArDYVAm6c>%)&Z;`t+bJ-
ztgEf3tt}^`s3fN&ucRgkj6DT?B_&;11!)CYX>BD1SuHsoEoo_aZ8=>nEd`~GL`n%@
zZ2xY<L0mybRzX}^nkX;s=-?<T4$q&8ytAXCgQMI(hy<b(aIEAUfPdw@TG!v!w}KAr
zRjt`}8%*;x>-!HbBz=KL2G6%2U<vMy3f%mfi>0-Zs7v%C__|SEX<Ey_=E<*pYpmV;
z`~B|-{5t~wj=;Yo@b3uxI|Bc|9RV-kMh9XwHC9h{K^V;MO$Xu{5xfSa1JTpcqG@U9
z!OKt#^z;nOTrA8?Ow8LjI9a)N@CgcF`LO&uMHMA?3d;%eW2LmD<&;%5G&BSybPaXX
z@QUghs&FL;dIkn&CT3n17G6~$tdQ#e^@s8*6w(OAN`(OL4z0Wj^%&v>FNRV5@d^}t
zJZ<$or{%|xG37-kBo#F^6+IOVH5D~DyN0A<MNxw{owR5+W6d07j*=5H*-IbMa_o@R
zHh1h8nilZQ5+sBrmd$X=>Flf9;zv?A-8no9D&wZSYW4eVtM#S;O@<W#YDQ2|QK66!
z4U%#K5xh~w#xD(CXWERFp_X+xx`WKFZ4O?ldNc!C`TO;w`OZuX3z`}V#epvrGBX3u
zjbH({+^A3-_A+KA6#?bKL<GncFNZ{!j<d9*QA`LtmzIbnBjzwRo0XAT2LVcqBUcMh
zQNAHLavwkYJ_MD89FEL^q8G*pBZb%ydICsPsHq?>6qkg|Fa;HZlJV3?95#{6j*DTX
zW5?h@V>rr{Jsxg&oeg$m2DqoEQ;r~K#|K4B1Y=@oSY&9^GPIBu@=z`y>jDO0F2EPu
zDUOw|HTE$_GBaFJ)R@B<7Cd&F2p9TBbiCHid;xOCk#KD?We75GLezjYA#Maj4rlJt
zH8kanVG*E%$QV8LcmX6C!;VDd;;F%q&?8JS?C1<U8)#4nWiCWUf}SCu3?nj?DY*HY
z^-x?F9biZZ^agy1aEDr;Q95h=0*t~OX5cWcD|EQ;H2K^#9L!177#5>=c5-NLJerF>
zvy+A#&W7vSlt{<S#>#??5jH1h2%DNC<Jm*AktlKoo(uOBfs5gfyikp@iDAKlk)=mj
zqQlMM?@&_#i1Wy&E>n0=LoMX!kRmA1X}~LBoFAJAdJF~^VJd_|3R4(DXzfa28RVRf
zSA26xi=D#x%7~hR3Sd;oAu+#sW}zpq4R|}C)8w<o;8D!UIC6$77n+;aC@kJMg2h}o
zGz=#ashp9Fu?Wp(0zf&OzjXkC4@=NSP-Sc3Ij~vU2wWF4=rRjghzl)_qUp>fk7np`
zaNsiV;JraSE1C^(CkT;+P;_7dm_TpX$nb!nVvG<_G?*nciVi2Tis|f7Ft+p*EU*C3
zQo2sT6Sa;hn%Wc|a9X4AP@Fj}o*p-DngmZ0+;=7j%n%uupbbw$C|ZErnHkQAaplg;
z+J+&KGr$U=#Z&9x%#j^TNIi&M2iJ~fMWBp?L&;f8@z@wV6y_R%XVnwIaUgLCFeLMk
z*{<*$;F9Rz0fw=|3Kjzdm<G_t#(*}#kY?biaiDUPIn2b`vRvgF0?-9n@?qWpf>7je
zB!32EVH}<zj6!2_bMP=V6xWV0?VzL5V#^9=6p18faInFwa%l;gKE&10AZhWScrJ<D
ziOFU{;>>A6aVY8xiFi?*eFm`x6DP1w5LrQ;%YduP!jqA>By$lm4va4b7ekHD&cJ6P
zaWM#_DPT1N7ej##85>T=0_JXY<*%%v74)nOB$6f<Mi@lS1?&OPBSDiG2h)eTpv!W&
z+>2T}ll9KWxzlA^=xwWuDGX;d)20En$T7irQ5NR7x?EQ-3nL(Sz#8nNVP&I_WM#yr
ziEP6NQ|ZbvDzs~G=nVDZ?pV^t@1i#qZ-+82X!)JCp*t!EeKa)+A~s%{-piAf92GGU
zl=b4Bwn+W}Dl}V12xDOynoWnm??mRh!tKz<iwv-vW3s6+7G!ohq)>JY9*88+b$CdV
zz|sQq!A2H=#Z>qTMg(D`uo_aX$d&1%vJe1+3NVGsiZBHQD4iXPZR$0{yv@gEg)^~Y
zIM~4JugRPWM(n|&6<Y6<we}@hxaqNzBl~hwk?52RVYoh54va2_MJi0oOhuQS+$kKP
zo5wN^A?Z*$^mzb(t`LigmO?%^m=*LjSJnYNjxuytR*iieVXr%B`Yrl1UH`#FLF2dQ
z)8AvIR1e^xEsl>(n4Mz?Z%f3Q(suMU$lZM|*Ii+~tJ#9|?fmm2$9No0dhkj=Yq#BD
zQn9^gS0<fA&z^k=^hJ6a9H!>fb>v8}T6MvC#bJz)@$_J|M4JkLF#<CvU<%|P05!%F
zqr@h5a0r@ZIO96B<<@;8AQ(}w)C8gu9=mLi2P|4}T^lkX7)C%hfFUzQbFXU{42vz*
z9cQ<Uz<0qMl98p=C1!n##m}4wLyf&-eCOvc{Sr{(PI$-kNFePtLtDLUYOv~TzsJj-
zbe9VUZ(alo6su(>WvX!`3LmbGPU(xW6B5|5U)%GH+!?Mh5n(?I3wAK+VD03ynu_4+
z=um9*Svr?#STu44I5uZ%XYbQRn6}F?V&ZY*W*80~91GA}_yN>jxqb9BJVe^-69;3{
z(hC`{8eVVYDv}^Q$M)edEQ4PC5i$qH0+u19fjcYFFmWdzF*YtC;fjQ3n5&1_kGxpX
zL&W1611iogM46jnRr)i-=NI@4EPs-Xtqg954;{I)so}U|b97a9?CUVKC4>CB`~H2!
z58HBPM#squT!cV_)|pLD?%!Kn>>jl>-YzFD<3eIYS)4ZYSnOMdS`S^NdgKy3kkUQU
z^YO;du^wj?OLT;G4pN8%j5{k1C|!OaefW|5D5HEMpq2z-CCq}2fO3t%%mIj_G61%L
zB!br|tjgAO7ZlAxF9fDd-W2EtoCq0$<sQm3R2PlfheqLm_y?m01UTlf$W9I&epHYJ
zn>)uA8uRKcja+Ko*+e?WA&r;=h2~+~OD*Zm^spS*#0&r-1Qccz$;yTnh;gtmyw`5s
zVS&Dh4+8=}!&Ly8<zOKPL<B#I!Ga^nl;uDd>v+vp#^P>`_PXQu0+bR)@fjM+P@+@m
zxP0AsC9l}`k)|(H_dJIBPTT88skgO@$qjw1t|-5cm;T^idGns4Zk(h%M*-h1QCcC*
z?aEk4{+S=QPN1virc*n5T4~EW<>&n#MjnY0Fui{3=;EfEJ391yj_-fP<<I;@6;C+)
zbfE3@1%WRm1DbkysZS3qgre9sNx2ruR2IG_DimG3?9sdTM#Y5K;G^r$u8|31@4Ot`
zI}X2X)F7uvHdEc<?TKPFsU9CMd)ziq5Lf=Rm1-!t;~vZCWlZsGi^6;7WX>WPGCdG2
ztcD0Y3dcf?)MCrP=f;!GGlkfMa7o%=v1n5Ry##9|EjC!;QGxl&q%0^lctHu6!dEmI
z3N-`j(-O9%z$3^2PZSae-3$&LG?yhC0u>4rz$8SUb-0hNG9|3L)E%Er&p`9YjWtMu
z_a&Dg&79pQqvnjz3UeVWye?509AFXX?nW_j02|Lw>+rjL0g963z$A-sW356fs535D
za#HKsv2)zb)Z*3){3+Y(5$oT`|NWWLo4OCo-fB(W!y#6l9XrONOrrMG6QoM-950=y
zyqBWTebrk2UbL*e+^Z?i^V|AxRBx(l<XQ_q&Nw@s=4AK6%)j^3Dv3)ybm+2}-=!28
zYfgz9jeEHcv+jB1tGjo}<k#kDexi+UuLOH*((`8N8}~=?eIKYk=obvWSlZ`)^F~LF
z{(-G=SKod=MCDBL=|#`Lvtzl{CqC@!+<h$4_-K6`>ilqQ-PI14Q)Y7^R@FCa)D?RR
zc6W}rTVF^Sex<ir=keq+<aBZu@x!}!)!h<{C;W~#_q3j%A#7)NR+AkjZ2NigghAfV
zYDtYP;vv863$IMv)*>8VEHwALfIG6ZX~(DP&k=r4Wj-B~P$gYGkvlt*Dip@Y^8K_y
zddb^6$4;50y}R>Xo@aEp@#fKY{e7Yz4Z;feE%f8DEFwT4VJxfZ%u%M;FhLG#V9Ic?
z!-|KUK4DM101{;iuT%gRb~*^2Ub;UP?5ep2EO)SAy8v!r5C9_qC?Gg16BNw>0gZ7M
zvOr-Ogt%0v!aT2cnGqb->Z-TMhg&_(YNz(dy<&axU8i6jhn`GjD?59B)6xXXt<EUL
zmc%fA4uy*CuF-cZ%*;%Ip-C;m%nqRiz!Kh;5w9x3H5%5Q4}1X}qMB~{z<w>TIUFsF
z%!bfAk(uOb2JU<$WM-*k6UJeiw7(;x`3ggMpVuXZ^sOW&Qd(2qcKZhmA%SK4y?6x&
z_b)>|b9TXgJ+HxgV!w8Dj@^l?ubaAYUvd5{L(6<Xe)&?bow7`-#Pj*j;61y^>Gnw;
z9*ylYVRxeRT5rbn9M`;%jbA)Rc&qlkbZSSlp5Ni~YTb7TL5KLl8wQ$a=T7{Z&N(9X
z`1q|WvfTAzY$vPfATgiq*G}qsl~+~tN%vk*E&KZFXH%cfjTnQ(?>sau!OGXKM@dv%
zv09jwo3wInPL|DV^LozAq|kB8551*yRJlXGS<=tO<pS%S&NDL8I|yZ4pRgB8hzIRR
z7<}*`W+ch~Nu*s$V{DSmE8FjZw>V`W<Dim|A2B6I_uW{qO)@Zie*9a|)*TCpoqbdn
zm!Yz54eOQ~=FA<0*2}wI+w-(BT>0|8%RbO~@cDLvjevxM8|~aNzDLKDX21J9KVBAJ
zqnxFUj?d6Tnqo~w2dFBTP)2BWb2EyK40N*y4x5}o(YXLUu!T$yWIeEb@hDS@HA69j
zDSCNDfY9W!0?7}o7dj|c7y<M)5GJl<2$)|YSr6ZmFAy&0#&*W=dSIdjw!12hC?)85
z$=bMivL+0?HZ=cEqgJQiXLO*mA(5^qC2K1IKO>qMC794vQ5>LuouB!Ahl43Lp4TEw
zu$$Eo*G?aWCqrQ-4jM6M^_9hM>D`D;ICuM^a7Mggu9zz<uO8}34Rl$O-N3&JAt#if
zJ8A2}fZ3RTR!6~-<v4!8DF2gx{Ixf9bC{nRoSbU>mx$>(q}|@EgZFkgFNoPqrfIb9
zcK$x5Jv~wmZLcYm8^blQsEN<h>+R2TV7yA$e5s*v@=4dtoF76Z=k+4wdi|m|F=UJc
ztJw+AT)US4-ha#1>PffVCreP*cODo@RG49mif<ozccLwKexXECQbEaDvZkZ4(f7<b
zH=o&ag`{{VZJxTBlRGSrlU`@_=Q(~LG8x2(ave+Hz(wjQe^tBqIrFQHOMOYiPPGH+
z&fUiS$M0`Z?!05jnlFF9>qFb%?TPdHnK`46BBaQTyG+FS@A3xjil{rY&HLKmy%Z0H
zA+0DmoAAxgKC;|X&Spx}b2bsLvF{U8Y|eYv#&elJws1tCqrB;qWsPd-ZT2VoWP}e-
zjT{|%|8iEb$Nz+^-CUH+KAyW_TK1(aUV+<RvQ#}qVa_ITB%|mC5Jza}Gy70R)UE6>
z(MDv*R1ldBdyD3%7}&+a0B<}AXcb^E0K<R{pkv)epokn?s2;#h*5wRcbS4!JOR*g2
zBQpSwVD|~dL`7|(inF1k{}}4$?n5p!f6;1ItagRHQdC7pBv7?((B7ib$(ZRel2*F<
zP7Y}#xwgIb?7dX$<FYx*<uXF^I)#PrN%;3?yl}&ta_y>KTX;KFwRe>DPn}y}V)7|2
zkarBTFeOK@bWvkSq5KHE0E=5xol=}&?%96Ar6l!?%D(Gcqod3YyfEf|h|E2VxoCl>
z)_sT@%a77S;G^(-^cnm(nv7femYk8@O=66mwh={c3TI2}BgjUiE9PTN9)YvgFKk01
zih0FPgexdi$Y=aarL`8XKKu4mkkV;h>d6obyVCJ$f9dbp`txqjnF8Jx-saocSVywY
zdO6eFyY!Q)QG)1_xKuRLcDJp8ji`Q04H{)Yju&k+s3|IukJBaje%o=riTkkRlOXli
zk`XVNwotYI*p_E~cWH~IlJwcjPBAWRaT2X+c7ioiOli00gT=oYPBoeocQc=e3u;I_
zet3FrG2m5{_(Qc{*W4?Lt=z^-!F$~Axu~{^s%Ff;me)MFC+k>RT!O7*PhyX%%ClYX
zTf=ntom=Zs%!+rcp)YP6{_g@r4qWjqyAdUS*HL?i>~Lu@aVDjy^F%Fu?(B;hMYf$)
z0e7?KPZ`unENqJZ(5jW_*!-$DG><B;eoCaJ_|wjx!t#%8UqUC{tCV-&Q|iseTUc4J
z`1ER-;ZSVZ%vD-!ZX7J8ApV0*6Qb7@V8tcq!3HUN9>NGk#<B^S3IK6MaTM4=;D=&|
z0y}3V{s4kO07w8`K%Y?}4HTn>;#k2ha0hTg+Yj{Ey5?hM_TXqaP>+~-lJ#yq>pmb+
zz+RZ=*zJ_6QsQOw^zwemPl~*E+4GZF6%6J=j0`J0PO>&Q2w2;WcY1qyJQ)~b9=mIm
zoSS0=!YeFz0AkeTL2T|o?3u?}4Es1e4=He+v*~Iy6y5ylz+?)y6rF;pQLYFF=7Kf@
zWVzX0%Tl2%S0qA<ohBpx2v#dUv{Z|w-nHN|hwf>QzO3(xXNlG(lS2*&Gh6KN;2ck0
z&g=2c_ag>p<5IpyDYsWXbC0EYHF~N>^hxtIHQ)Xcmz#`U`wu*yva8K(IzC>Kc<+)~
z+@19Nh29^_(2t|XrN5?sv$|&=$e+Dg;QHX(nOO{9{(DXHvL*1}3wmqDK2#oy-DTnB
z!W0>G-Xb7ySiSM%{kSa(ym!7i9JHICt^2gA^=p3*@yLR#a<Ob}8|hr!_a|RUq`xs(
zx9(|)n7YBGG$VMHmy;ND0u?sJ)a<_ZVAL~-L!Q&)iddS>5;W-zRB^%5L&MCHJlq^J
z`-FR4QVDyXH#F5>-f4S1?J666QLg8>?*2zU_w0j>L(-1DYuqh;cg9Ki;?c|GhfYpU
z-JX}!q-(|>%<KJ7J0Nzly(Q}E*p7Jp2{%4o&m^d4aB%zSfv1b9)^>%*?lEb_Jz3&p
zfAl@*nt(%a;6c$Hr?ji;qYB)D`mW`U|GayvoZu>0TCwHX)Yalg-kN>v%Ham#-4$xl
zHuGsQW6p#*2RGM*;y3jlp1y4VKz!?@b-w>@5M6J1WpP=3`yJAQ2ZJeM)rDdXROhY;
z#E10P^=zBE^w_ROIm3cQguZF;CBzOij;p8-2z=3mn#v(j+F5cjx*+@qB4xrHNK0f4
z9%$2e;9*hJDu{us+2wE~Efh#Y*i+&L4iqUA1hzmt5f+KCWQ5H#6o_xo<J!0AK_<XL
zqu1JbdCQSl>8HGdTUZYkm}iapG^jqZQYlcy*5}>*THh36`Dsr|@Brg^2~|G9EBU2K
zU6aj3oX|Gld?lM_09#AkN%ClKj{T0JNG0L3H^i(i%^SO3vB~4T`-&=7!v9V-lKGQJ
zVrFQ*01|+f4a(ofuEV5-5k_4W%NJ+5ACt+Mn>(F#qaFMw0I{j)3Z$|K`SG<Q(OZ1N
zkf&doB#w`S^Dv!PsLc2w$8ad+o86oJDT@XJZ%4-JPUL!5-0P{o=NXkabm3^{i`jvw
z#AYoybmfZ|Uk+~HQ{o&P^ke45v+;8zo39h`Ty2b1%w46TU+3<t#$AZ>sJR)|KVZDK
zCGzKjqx){JfX|*v)+p~=Z!W(VEbZ8ng$;d3qg%dv*nY?BVXC5^osVvE9+)1MXo|0r
ztqD@k(@d?EzwQ-~Szw&}BnI7Z?qpGs>Y==kn?4J_7yfv6D`VGytc_EkKl{1ZnX1di
zh=PI-P74ynmhAzxmu`N#wA&+Ys^!kJD=ZCnkjh_>&)<mbKUO$CCSCbVczR|K?c+qA
z66g(?7zqjf*_icuSE0*cqK1;6@r^U&M`enRjY{<8A1Vj<4!Xu|%XPb?;&P1l`%^)0
z+T#uAgyQ`7&&+P^O(tnQaz*ZvetQPu<F1sRykH$<x<9ko+7vgH#eq%6up=xaTv>^^
z{LKhghF;tw;P_JGIfOW{;plKW_5}I_LtH!v-~#;%%ryZz5O{*!bByOv!s#o|c+i`#
z+6|99yCMV}!31qe932DvMRVYs1H1x=(UVt^27)ZQXlfjYaYq2(8;~U8RW0!Nw<6zl
zMF*fyLLiz1A|Z%sCYHzJLgM(Sonq&Bbq^Q|S7IN%%c>kvei&nOu4j*uab7*axcJhm
zpdq<H4Oc0XNsi~09QG4g*<9|4)jCi(BZpoqCkIigOSkV~zSxkbuNGSi?qLpfQBI}=
zvj9U)4izhhUMvwSo=+ch%}q;;>tshtcUs?@&9yC!pOo*XGL^SZeEs32ao<q=di5;S
zU-GQ!CrQ8O&MQK}fT7324kr^Ip3;`s7e_NA{EC$O!nMAr7oR;Fqw4->hG~wkBjk-v
zi{J40{WjX%y4`cLV*#89np>kvi60t*)4m^^IB~Bx$hPm^fw#?VOIsLEn5qT2W%a%N
zI3N2$q9rcs0%@RSw{O&aS{^^GvKK#F7Y&xWiK4voi)yU+UpszoqU!NE^`O>Xwra_7
z>uYAwbHyH~oZO)gx(9Z>vDjiFeW1KqnMJ80`psEZKf^Z;^(U9Yl2ZbjHMVQ$9L_r-
zo^+u1E%$>xr|50YSjj4?iZ#YD9P*XJE1iEBoLJFfc7=9ZIw8f)_d{Zzu5&M)T8qKH
z@n#EOCA&#n;OtT5^Fw|mE|YD8<+fk84i0Wfxpug7>RnM&bTS7!H3qiRk)ye1FXn{Z
zXNv)T7YL{yLBif7F2PK#9S)*{Z50e2fCS!RfdkNb03dMOhaOmSMr2qPk=d~*Ha$7q
zieQ4bAz(#I1IKwloVp#&4bVkz0m9K_^9(c>`V0objZ<ZF>brh!KA>_SAxw)0Sxw+7
zDyuA04DF(>8Aw$)VAG67_Nek0skrfY#gni}^t8lIE4h95wi{YWr_8V!)$2AD&Kfe<
z42LIF_n)&V5s~WdOA#ZobJ`pn2rDdh_jKc=>CDoK=A(C&dd$X}CB~$I=i78qOX{^H
zn>ZvQdNe25eB_8|>2*iWk*#UBg95%}JW&0Ss<~fM_xm#Rdg7Rd#x;$CsWBy*ICROu
zg3*@SxAc?TV~-X+c}vUmq_E<uhucvCng4BNHdEhJy8V68-m!&~>0<M>SMSdMm^RC-
z-yvUx@9~K`T7f7XxOwW>62s_$o0|M@92&fw$_!&uqc&firEYkOzx7#^H||ou1XoLO
zSB-POf}7vSdF<#r?Ka1NZCA#IT5ta7uxXfkp%7p`#OpAtJazc6WJIfHs*)cjc>i44
zC*F@HFY{$~g^b(@3Zg?aK5rO$Gx)LGlIX}=%3i9mmkNFJIL<!wM5B7$eQR+(@<M_(
zLH+eWT~Gw8V_ZL5u<?-o^~iZ2pZ?x+h~f*}`#(1qtA=p)I-ONeJ4|>Ktv)q<Y1`!H
zrcGlkdsP%$zNg$fb2H-lBy(&9RrQq0d4rei1)``A4ZNCe8O0X|`y8KtjOoOJD8xfu
z2%{^MZHC5X?`gu=WSrs2z%yup;H?D+Oz7$6B3T5rz%~r4nIQ^95aF-{5KzC7m4t+M
zHP(<N*u~xf5-7n41VAT%764ki028p|RDgm-fekM9T%aNuBB-(%Q99Yo@o2GVX6YvY
zTa3xKLiIl#f1%QAoa%-0NX6<hE^41Kxy+PsBg(AH<m~ZAagWY=$<3nqH73}e?INbG
z=dr=mcelQ_mrn@W^9kQ9B`MGqak(_PBYr8eMaA`ze-~E%vBGxuqg$YSagTt_`Y${b
ziZ8fDpSYmkcGrXluOIpr%@nF-do?Tnc#)Ra?o*XS88+8#{UNmSqu<ot7{rWD);E5W
zy;!?jO2z2>P7i8CJN1I0Oxv!3Dgs-I5N3(+v(caFUA1APW{c|6`3axV$E}ynJ^DQ0
z{?TxFm)?DMyWr9qml1t~toOk#_oeSfJvsO&N}*LEVz4G6ZicuhKR2?NDaVF0V0ks`
z^KQS|^qpW*qj2J$gbod{CaU8Pr?BYP(S8fR1W!hFehE1!ocu*~f9q)db@k)?H{X}@
z(R0a`KD%}G<diebuf}b$&l@j&v!Cw1I-ATmz;vhhq>GD_M@MbubMkXuT^{P#`zLBI
zeCV<(O}>;Ir+f)@?ChaOysyeeCLCi!W2@vkwP;V;Mx<At66`uUe1iKh*Cm<2TSik`
zc_FMKX~#={`yFZf(>R?OF50~vjS-s~c#IY}OFy32kZ@<;LqpcuM7iib4>BQLYkI)i
zyk;rmu}8IYIp>?q=FPYJ-@aJvz7$-`AJ-60tc~bp+y0q;=UKs}L-rzLe6nL<!C!cV
zPboZ{ZP0%$>Ck6z$1E`Sx=#DCydxuucArKbHwL2;j!tMk5Ohh(?{SeLn*(!Q0T-=>
zWH-a3AT)NUI!tJb#Xf3XRa}v&5Gxw1hfSmj&C%x9Vn>HtSODD$K!}A^Du5-}q=17V
z0NX$;f+#B>?TKfP277O?G;{@UL?RF%0t+H(Fox@3%?j^mp}BPNUZBz(c60u4HiW4;
z9g4e+33(!=BW<+5j7MZnOA7iJ_I9Q|pd$K=UZ>}NeVu4a(ULRJ3GJtoJCY0D#6BLh
z70vETFZbJLTxA!n6YOVQnrA7qIl!X5y}`Uwk|35JD}9R%nfvk;H?lkanU;x2s-izK
zAI4^ZUy`Ml2>nyhg5IWccgrd>voC&ZdjCLEZ}!2y7Rj6EWd~~qWA@Y}e?O*pH?#Jo
zt-kWL;%}l~dS_1oRoB(Xcl>>vV8uYvBX`Vb^~)n?KAktqec34CUzIBp#52&OG#sd~
za4h1UY>)epOk>E0q}O6fz0xDk7+$MJ1sGuWzxcXY*tg-}z_q>mh>1PiYRxi!hj`|h
zaSm0A@vb~Sb4gzh83jztE=;|N%{7U`T-n;7%&i<Vvk9vbk!N1z^yGA(8@KGMezDs$
zk$ZYr#O!}gST(jd-hThQRW0twaZQbDGwd@jsG{a`FB<FI#_-8#&He0pq3T!e7;!P;
z;%x2A+zHcalWTni-oxq~&UcwZE6yC!t+4G=0sfKZ<<o<<zBl51q8KN|<A$&kXT66x
zdxLtO6CQfmpWbnK!u7Nkl7@VD8IoqE8XnH5-*LYqwDWV1L;Hilb7}Vtyko?6-c#k{
zPrvg^`jDL6y#jyx^9DXOZOn4<Xejq0npPTYOPCJ{(VI%(G5R0*&4qz_y{L<ZSme-W
zO?AUfk;r8Fcq}_BKL<D1Ap_`Qj^+UFE&vhm4Zz+Dh`qt+LuUdzjs<;o-A3c)?-a^L
zW(vX4wiToS>;bzCXP()KV3i{0gId6G1V*_eP8n5^tX}TP+yb4G%8-(;@O4)ovtlE(
z%A*0)<zEq~z3TC95p^m8MSGg<&+*3NIco@Z69Ib4p~ZzFVxGA&d(ZQRSb11m2J)&3
z=kzr+MD`eLi!eK3)=}PSb~Cg+C)=bn4E-^>O;m~3>PT7b%d%2K5jnC#%o$T$#^iSo
zpPHRo&ngQSu4wwsKPdQ6D4nhvvPnxZxwzxdwGgWl7d-8yjGB~-3yT~M6v;_{z5D8A
z!R4O^N{cFGcWh0lli74`&m;6lL$#<9nfoQ<cLQ6vXMWu6v+~sBc-8Ara^kAwiG(WU
zH;;q)oH~D02fZggOW(XLL57PDa_4!%s$d)?qefnklw?-B=v_SdMm6#v2XFnu?q>(7
za;ImQcfQfC^}Y8kOQPe+&5Cn3LT<CR@^?J-m~5xIEvcE+UmT#;aO3Eq;s&W#W78iR
zgBxQf#rZ4T)05*1B%DRDfeZt(S*r2&tUJ8@^D-w$y<B4?<&p1py`_O1oexWnTlM;q
zmN-N92v7HJb(WRkJwBcv{ob>fghTWG*mJ&@FDgQm*up5rERY}`w|Ot_L{ye*aL~ma
zEz+t!^YbR(ijv$VkK|>iFck1`f3-hadv#*U!7Uz~gb+~BQjgZfg`1<Zl5}}la1rqd
z_;6OB1i_IHawkd~oeZ(Clg;yWF=yz}oxuM*gJy$|dH^{Du!Iz%M(Ux#-W?n>p}-5t
zzyV7xVJc7sJ(&gLn#lrAhiI^a{cQj__*4wMH^gP30-tygKw@zs@Xi}cjHkmcqW;AZ
z;GVEbFil$Q4NZ$-y4WG#%IlJ<cXw-Lx&o%h7Wv$az)F+CtshTC)Jv|+l6-RFT+ooJ
zO}DDiSF`t#4-umG`zw;RGA6NY66nqNFvE@BLRZvol3>GRrpx`>Cb~4Cw~{1&)Sc&J
z^z+5@RAni}m)<o=jFwlr_?7r4$26N|6~&8av9SdFRR3|evEUTPwB~_D@DF0WZ;q)s
zO>7IB_s(w97$QB{dRnYFC2RCnaX`L9w%Fv}=y3bO6BB3oYLE9npPax{cuz8wWX=7$
z^0Vhha4py<;QjSF<C))kCr>61&mh0>gxLCOsuOcOKT4_=emXk^B{nPwh4z>>CO@Rr
zSdjlP)oUWrFE+nj1}%9sVf5!+TB^pIdE2jjOOxoWShQF0D3{1xaPrvojWL7om$#&E
zzvJyseS@iaydHK3?6>0+io#Q3cxGQ`y^!3d`dn^Sk6-h8Fmgd5Rw&LmgBX~0(c|6g
zTmC|WdowY7KVn`QNLCz6@nX(P$gbKmMbk9JjL>WKyOVp($yycDD5i1_(&2v_vxP+s
zchrpbNPnW@oJg$AOZ^ao$#c=C#f=Y}`UJ{oC@zKDfA`HfVW#wIlVCUWei<UA8d_RQ
zj0}mn#|aj?E9|T;b3o;>JhYIKyc{NArl*ICq3_R#fp-YTp-}WzaEzc6nM5tZCZxp%
zWEYa3gAJ%kI{3`TimL#&4^~b+2(eKdO%VIF?y^90gX1Jd8QCECN(LAMQV@?hF2Vqc
z8KH88VF3rnJkZ=(TBuM<=6ER<Llz9Wf<Ataddzhl@IU*iyE}FowY%PUJi#KAf3~K6
zvj@ZeW4hy=QflM}dMD1kAhf^oD0h7Nj36%GY9i4T`y_W)y@S~as_@WbMY=`BiPwi}
ze~3?BXpFzbVv$tD`udEIO>_^JU+8`J-Ib+D$d_Rq_a9H>3pizJDF`K6Ua?Fu=xepq
z&CN~Bpz<`GH^shW2z#MZlOY?m-6i<mrmV#epSCPs+&i)irFMVii`>6JI{5a!T3kk}
z@U7ddG=4U@?GNvCXAN#kvDCTRImI*JWpqV1^~Hgv$LIYnLu!$WJ?%@HbIVXyaP5Au
zgLvDU&!|zkeCzfFrR=Kh;+Ls?$m5PZ11ARVU8|IPwXo08c=K7Ee%0#xqKdcklZpEy
z6s*)bhK@{qetQ(D=C<{TKwxwKq0&QqzKJ4toEp2br`}%NE9x{T936)(jz$F?vKKv>
z#G!8}S9-Q!J6-mfi(f+LI4e?Klsp-}#me<lCv2oo?bUT2701z^=a-?FLjvc!V{h{A
zX*+Uf-~-S5P{Z38TmN}c1}^`Zod<LKue$1dNax<l^^505yiRSy*qeBftVvCLfa<x~
zcXO%3r}#cLzxnWNu}lBNWx}O1+os<HpLITajH~s_8=sI6GhXW%KF;0bnK`{;tZ8uh
z5B9C^nvMz<x%$k`($neH&|1Fcx%1=z@`W%^q3juFdQo&{raRjOQRw^8S@G-{!r(Xp
zY*vAgJiQiMsGa~ioRuHgb8Nu00{%q?ICcU8Y(U__d*VRof#ZPjXgES#o}UY!kpbJ@
zG~^5m3Iqi}D9r-wP_9Tjb|C3cjNp`?0Fo{=Ul2t6vw%#5^srnQO!BL2R)w&m_fD5u
zF~!f1vEANU94d{@^|PI*V|KUe%eE3OZQ&a$C773SZpW78l{Z`1z1T~Cc4{ui+9Wjf
z7`FOO$5BMx7W@-$4_@rJ_wE}uI4z{BaHZCBQ`5P;O4AQKrr`8cB?m$OX^sY)QSL>@
zozDzHSYDTBGcy{z+5Zc1(&gK!Hy7rYq0#$o8A}DHQlhGRS`wzrzvYJa-9OTi6V6<4
z-b6d)2>YAMcqwB=s*<MS`H|bIq&JZV7cOGe1iO`*Zgto#L-#9cHKKUH|LpAY{l*!x
zE91#ww$O$<%(x$t_ZN;E*wy{iXS}p~#N$?jca7_apFygGT?gUm-c;5ujVH8y8l7{}
zv#ii5E<df0pV7sntUC*Sj*rsgu`fTIli6>#r(wifmA5(Pie>l9)7z5yTY{g)I0q?V
zf)f>#Gg4+~5_G>X*Ctmaq+2(*e{e2AF((Quag7=U+1ttSLW8laPJY&vdE6Djy%IXy
zho$ur7%rm{t#`GX_C<X&w=8XW$vsax#~Yc*Nd0OSI`Z&n$z693x3u2&X&LhcfuX@W
zt;c`SKTQ$6ESvw}tKRG~bg!1od)hnjg!&R^RqK(q7qaD2y-8y>3wE8&vA=F977w@+
zK5`gbnSwCnADX=k2S%z>ZghtV(Qh{{xCD;xp)Z^2Cb7T{ERbR-Y!)0^17ZtAI>_J{
zr!EGc0}Oo_cdYy<yqQtFZn(CYAso{Md+!;n+OW!{?51K9v!3Thvd95s>B_+y5g-Q}
z4r~a3&C-}yAol3Nu|ObBxwOD3Q))9QVV1i5WGo7S=D?oS6=1|%bmK>5#WhGKmWoWf
zy%xuI->K+T6*+4yTvNbco_Sw;sTx(`oSbpZSl%%|heP2?i7vP8FtO-3_UMHt&9s3g
zZXRlTK30zmJ+Gt-%qhy+<HJwmw!JK$_Z!E)m>4q9pO9BfWu}!C6n(|k#b2-WF#Y&8
zUfBZ=Hw}u;zR4f>ab?Ni^;g+N&8h5z4D+-qf<d>2?*`Uhf01%*k~2^oO7-5~_Dk|z
ztt_KU^as!T?mAR9XvFn&{$Iq}8{xB4dh~P0k`>%qF7KUDQ;Rs*lGez3ui<AKN87Wc
zip>FP-K9hGE@Hn9p2nS-JzS-2Y~0XL*mLvC!8gW@FYetx=;d)ccdGsjTH!lwP3yaR
zC4{yvd#;%gs)r1lrj?c&om6hWe|LQU_f`p?v2d~a6xqS24{e2uJ%>4Pn<k39ov$g{
ziwC+oCvr7!Wjb$l`rRm1buu9!>y`bbGfDIPADU0I`jylT^0>W!HUaS+dv2Ngv7z^i
zV_hPC%AkHg`HKDAl}#c0n|<EDzewn^zcc@%II<)n*Wsg`{m7AB=fC>M8E$#Z)R;S8
zIOF@=uq)<$WYQ?k`QgjMucn&^70*rT()ulw=oTv|9VmS`p2eJcUZJ%3u-o*)q2jki
zw~8)pcH8QGHk#&+&w%eX^kPV$jl*DL+wr%<(FOwNT$zrdB7+gNn|wwqT4D>wr|J`C
z<rHfqI2+OrUps3)F6PJFkZK+9!Klb|TUeN&7SdFZgWHmhT?mEF0Q=<_aO?vJGk6y^
z9>6FD90oEE6M#*^_!x^Y0U?+`@h#TWG*G-+L=k!|0f_z#6rD<+$pS(+I2#~m+vS0M
zhy_Pz;j`4^uy6ZN3&YBWFvEZo#*qNby5J{91eYb@BAy%_Kb>|re^&!l0H<XigG7#A
zW<QhV=JUpMLYLeRDvQKC7RP+4l&i63$8f7=N4@|@hNADrB9pgq-NZ^E`wPbj2ltGf
zsorPT_3HVD#InvZumH`?(D2D2DX-|eWVbC<Qi@i(%yMk8EW5jPyRTL4Z9VDT?a=kn
z_coA>FD8Dt7jMOmYRu9VO#9ArJn1c*Ve^X8e4=+i^2zP=Wk`-=?+K^<2d~ZM92hlO
zhAwX}`eiJg|L&vA^sU~kTDyaG%G*B~3~|K|>_?A})!z9YEIakF^7-)0|DowCgQ8&D
zwuz;?m0U`Y21!9eSU?a70clA|=`IPS8wo*RSp-*7x=}io?iA^ePEo+`+WUFG8HaHO
z7=L)~8An~D6zf|r#$FFK(HT2joQa2r&bQdw+G)Oa^La3LG+TC+m@*l2l=aCaRjcQ{
z=!WE~O7~KpQ!L%q1R@RDX8$=ub7Fo`XNLJWVa3POibPz3-Qt<aVdN897u*k!%nCQY
z%-Xe>t5{~UzlFUrHoeVt;;1?8!L;${zgu{xl%~mB!RF^CM?F^aVrjc4d$K}ajG0Dj
zo#I0L62Vr-W(_N5I{GpzRR%lN%3BzCTs31?bG+KaC9&*xmy7z7P>-IgkO{gPC3qe^
zFs4;^iz|<>?;0gZ3QVkMv}cOWS?+>*WX<Apey=TC7@2qzQ!qS2bX@gRa8a+e>jk+{
zFTb#bz#vo&)EH1r6Y_9FaJUH-sI@}0(X{_48U#UKu3+Y(uYzboaDgPjqw#?#jXYEb
zEg~Vn(gGSl&=tXtg3f1z#3BG~jwc#I48}IZ9=HO4wu1@%ZS;|%^Pi~u4&j#&#2rwH
zK){PdfTIoN$9N1upEWogAy`R<Oev+X9Q~wvZa#|@+EVPC?jei`7;aSmy|kzX<tKVn
zPB!H@kUn^5EzBX(wf1fqws}pI%zP|O3OtmXy$dKD-xJ4=Q9A0uh6rP`#0e3@tR_>B
zJwgc-I~+gzVtf2$4fdGam_nu9zO)Tza_igi5m{?d+x1|SRE*5y96ok`(o*ngz2hRy
z#m~xO<nQ$h@o6&a(_fcT3Iuj7`!mNp`UPpyg5na`qpwd4Qk%Um+-kk0jw5P}bL9PV
zGAa^w4_fAih90%0T;8NI;|jHz?bl(#m;JW+JQvSS&90>{eNXpx<D`BZ-1pe9m#fA$
zzH^mi66{!BknLnZiTQJ+U)Iv>F6LE8FiZ@yq^Ixe18ehRX{M#MCv`0^L}YsNig`C4
z#+4#JP&?fa;WKJ9Eq@-e;!<sVH}^-^Ii)|sQXOZatOe;Z$oKale|X~QGoLX1M^!2k
zjPVGKsnAhA$67}l%vh*YYr9ATrF4A~!KF65nr(kpkYs3rbC!V3Q#t<Z*1|h?*lVlM
znxua)%<dnCBI8H5DAVr>RU}JSXGR|7&z@U3E(x$R-tl(5*Z2F12SpTOoqvgPgBc{0
z(|#IXWeHmIW9DH#gBi|M4!!os<880YzR*Y9x41Wdtmz`uwC3HT)n}xnstwQ)at@tO
zXfo?D5CM?KK!7S5-PF)^$19&Kuk=tpN?wPD0}b3g4&wlB08oMB=mGuT=7(0Af5JkW
zEMm2ULf<JWiBh?6kZ4oFV}L+^90TeQibhsAz(^m57Ak(C{Dgte30m9^IDdG)U_~V_
zvavnpMjyYdu5g_2DuUzUXbD#!hmUwmiS0?({i14I?`+kZTU2?5Hr6Q0#X{#TR?Ih+
ztVy-eX9HDVx@qv75XC?tPXY;5GMLhKT`%VBve#y2x5JZ-*ueR%oH<Iss6<Bg!11(U
z?z}$urRB)+?n6KKAzXy$W^>D1;Y7|QiS1UpTr=s(4aw30&(g#>2E+V+7~O%Fl>yku
z(e2=^`;`Rrr}qwMdc8Wo$%&RQenDk_pj{wezU9peY6_72^Zil(j(kwN|L>OGjMUD>
z3&+UQSG?JOog5SUgBZ<Za@MLdRK)xIAo{QEl0R+jzgaQ0ygI#g;0w$Uy|dg!`u9*h
z_u1E<)*|*&p%-_0RqkULQad_cmi`rA2)R9B9K5G&G-KJgPN_*iEzfcODQ4@YT=lrQ
zCFn!_-Cu`X{Wh<?ph@+L9hupZbGoYAg8wk~nlwqh!VTY68x3H-=ddW)s+}3-7uryG
zV0_=|CK`{ZRVId=Rtc6OmB1Kn1fyBAw?}LiqY4vai4}^>peIhaMC=pGm;4Sz)2g$m
zQ0v!mm<k0R$Gk-%J^cF0sHbr7zYlo~cu{BgeQ+9pDxl#0q(z7ebR%d?En0#4IX*zo
zumHUA1*?!6tZ(E>wF;CJ+F*y%VgukX=6~E5I7QL!93pa2Mf@V5iM>ZU5b~aaQ$7ZR
znsgLMl+chaq5Kz2(77yhRUt~@TC&tQJfA`7jA7x%n6q(6L19`txKZXjSYh0hY_Gj|
z_#n_s{Cjtv%tB{qg;&;VKg}QP)n_%)b&Nl*<Z*UEupy>sB)h4p+>FQt3L%UeIM#6e
z&@g1Smce+*{YaizW0zSR<s$n-wxz1+RL8idJrhM9@POP^ob*%sa<lA%7L&$<-A5+A
zyUzK<Ov6gTIg7po*oC?3D{ln9T#IdxU7VG(g<Hh=#*>MzH}yPEaGnbD7KTeiPyKBs
z&0`MrJ!Jo;de>`!_1KM<F4<pw-}{$vVtCZ^UHu~NN3-L!jY9!uKa}@8Z`BP>t_wRF
znyN9Q7eDf5{uV6k^v{)j^0{QM`P*!R*SJtyx*)TrQV_gJXpRgDPY5(U;5eQ-ZfAEK
z=|J@Mow9l4+hfIcn&3FeNQX4cAF?ZFEPb_kZ0^Q>cZ79usYAgqtxVL;_3}@g^C2g(
zhskJfcgIB6kGE8|UZu{vGqgWCm-c=TF(gKIn|prE<k-6{q<;0A$cChKp?>MBsqoR3
z?k_F%jA9E72<{7Y?3XLs4-cAzvIE4JWd!<$(<0v*8+L1))xY7iel?Rb%rDY{h3{Ag
zJ#~Q*Y{bz=rDyT~TCYKUCOr}gAIkT4J7#oA(!)nWALA!C#i+8YhP?+YJ7_;_@My4_
zXd&%Fskv$3Qg9mzdKj!73;#<<lpVMU&~i9%VE%98LQh3}pwa%{%7ulA8)tZ&Pjyp3
zx6kNC+q=epur#*dQNf984Lm&6#ke7a(ZJ|6iY8xyupMl1Kuw>O|CTJ$`Z1ups4)M-
zMi{vXxxv+d2Is)P$MaTPfmfHdm=gOP=v)g`M42=U!i)5F@iCKMjLj}YgpB;kjIwlC
zrk3=*%OnpWqr5tWW-E$b+Bu6ChR^NuZM5kgX++T(XgwZ#LZ0^Ac{?_1nG~gJ{<=Xy
zTznDph3c+_@-%~Sa?G!luDQ+ClxF0mxL<Cl$L7dq+TUMyk-wx^j~^~-{GmB@Z!K9C
zF7?%Brbxa2XuW7&CZiLT>i1;t&jTin;*oD7so_JFJ%T@*|HQfd@!<c5@mZF!LN80W
zPcZA8g@dj6nEey!h3-4Ia}h-inzJCWDc`G>M<C?LWQmL-S>?yzCNu342Bvhw8O!WT
zTe{)??Y3^2$-UC6Xt~OSfFiPtsB5+D%_-arB6;EUS3QT~8!|Tp?AwSY@=kX8X?5X`
zDe@j!^mYlgl|aUsJrYTUy0b;w5FGbgF#U()P|l?P*KDuKGjB_ksFn1&2xI1+YD?o4
z_BWiXKhK#0GngJRess4y&0KYI8su6Zyt9d7$Tb}tqwcBkWb%L681OkG7da`6cvY4i
zE1D1`;^Qh886^==yrniLK2lwXun@U_B78eWjR>?<!8!bfWG?aTarZc>$_xKwe}xe5
zU#c@Pq(9I@dDZbo%N8bQK>PaL0=1JyQE>5D%!v#!!{VQ8!8cV(qoyq6<>s?x!{_>O
zU(=5yYrGi8T+#=*+^mjrUyHUf`uH~5NSCqNzqbbl4ty;h7@)4y@ZS>va~1_R4L9Ze
zVjKuK5R#PeDS0@IaOuNLz%WHiMpW}b2UG$}nF1Dt>N|)k*!PUk92U@%0AC&!kru#4
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
M4B%bY@89hI0BQk1#{d8T

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/square-1.jpg b/libraries/foundation-6/docs/assets/img/generic/square-1.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..580ed19d028402ce4de3227c58b88b482285296b
GIT binary patch
literal 38630
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%0Ab}841T>lW5buZzIgsmqx`<AOa|`XF|lx<_}#a
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
YQ%FDP(<C?Qp*kt`G!QL8{{SEV*$hL9fdBvi

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/square-2.jpg b/libraries/foundation-6/docs/assets/img/generic/square-2.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..a5831cdcd74b492430ebceda9e0b60042897ddd1
GIT binary patch
literal 44931
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
B*~kC@

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/square-3.jpg b/libraries/foundation-6/docs/assets/img/generic/square-3.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..4b363e4e99fa8e0185df39dde328f7dcfad654bd
GIT binary patch
literal 36494
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%0AqVJAm0
zr}bLB6EUI3`^UzUbsK%QE#`K_7Y^KCG-U$){6XoT5)BRKPIITv|N4k%rbp|q2LB(M
z?-wH#e5q~@k!mlnG#iPbC)i021fbFy++*L{;D%P7h#a;qclWE=DOd2hrDG}YkS4F4
zK1dhBjviq1?j7IqRdH!pA`K|@cibWM04y0^DG8Uu_RqBt7qBrg3v;nlAp^K!_JgVf
zBU)OPO_7`}V)CY{$~J7R4}UjltcL$mP7#C7i7nUugB?WNI|8YJoYTFT;aUkepoQDZ
z#KziPLsRaeJ1n0Xro9E^v+gs)jZ1URsFad8BXh>&0E@@qVU`5}ZN-Kx77O(`%$-rl
z4>-ngG)2>RKDiiqO5^XH>y{04B5NSY42x9?leAUAL`_DhlsMa^UXkD$jd&XpyuYnB
zVHovECSD|?3exzb^A18hXR)#ftb1P<EY6tWtJaB_a~jQqx{xEGXYZISJ=v5Dzir3{
zrTiP#Rsbu8@yNAy)AvqBK>JcZ^AbozrYI8|Rhme~=e^sq1~@G!;D)y^VbGZmrP<oZ
zE@J<kUpiNy_+dd$R1}faZ@iQU8#S*M{h(!r89jO~zy>^W=Z88qg%0A_G0Fz+y@wWD
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

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/square-4.jpg b/libraries/foundation-6/docs/assets/img/generic/square-4.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..e178f82c884e505934b17be5bbd822c711ebb5ae
GIT binary patch
literal 15982
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
BMt}eS

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/square-5.jpg b/libraries/foundation-6/docs/assets/img/generic/square-5.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..5cca2171c377061b56faae98282622dc3ab5e14c
GIT binary patch
literal 32614
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%0DBnpsSGKWFcL9wP-m-S=RE}b
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
U|Bw0KmG<9$`F~xi|6Tn507UKK)c^nh

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/square-6.jpg b/libraries/foundation-6/docs/assets/img/generic/square-6.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..bde98f9c9a4e657961e1f45141deda5a578d0436
GIT binary patch
literal 35787
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
U7Vl6lTBs3FG2nq9Uvdxs*$KS&ng9R*

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/generic/voyager.jpg b/libraries/foundation-6/docs/assets/img/generic/voyager.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..b76585bd2636dc803b2fb26fc694cf9b4affa39d
GIT binary patch
literal 45757
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
Z?1v89cZ+WdhzMNjP1}G)T>Rha{{eyR8nXZZ

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/gulpfile.js b/libraries/foundation-6/docs/assets/img/gulpfile.js
new file mode 100755
index 00000000..56cffd65
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/img/gulpfile.js
@@ -0,0 +1,167 @@
+var $      = require('gulp-load-plugins')();
+var argv   = require('yargs').argv;
+var gulp   = require('gulp');
+var rimraf = require('rimraf');
+var panini = require('panini');
+var sequence = require('run-sequence');
+
+// Check for --production flag
+var isProduction = !!(argv.production);
+
+// File paths to various assets are defined here.
+var paths = {
+  assets: [
+    'src/assets/**/*',
+    '!src/assets/{!img,js,scss}/**/*'
+  ],
+  downloads: [
+    'src/downloads/**/*.*'
+  ],
+  sass: [
+    'bower_components/foundation-sites/scss'
+  ],
+  javascript: [
+    'node_modules/jquery/dist/jquery.js',
+    'bower_components/foundation-sites/dist/foundation.js',
+    'bower_components/what-input/what-input.js',
+    'src/assets/js/**/*.js',
+    'bower_components/lodash/lodash.js',
+    'src/assets/js/app.js'
+  ]
+};
+
+// Delete the "dist" folder
+// This happens every time a build starts
+gulp.task('clean', function(done) {
+  rimraf('./dist', done);
+});
+
+// Copy files out of the assets folder
+// This task skips over the "img", "js", and "scss" folders, which are parsed separately
+gulp.task('copy', function(done) {
+  gulp.src(paths.assets)
+    .pipe(gulp.dest('./dist/assets'));
+});
+gulp.task('downloads', function(done){
+  gulp.src('src/downloads/**/*.*')
+      .pipe(gulp.dest('./dist/downloads'));
+      done();
+});
+
+// Copy page templates into finished HTML files
+gulp.task('pages', function() {
+  gulp.src('./src/pages/**/*.html')
+    .pipe(panini({
+      root: './src/pages/',
+      layouts: './src/layouts/',
+      partials: './src/partials/',
+      data: './src/data/'
+    }))
+    .pipe($.cacheBust({ type: 'MD5' }))
+    .pipe(gulp.dest('./dist'));
+});
+
+gulp.task('pages:reset', function() {
+  panini.refresh();
+  gulp.run('pages');
+});
+
+// Compile Sass into CSS
+// In production, the CSS is compressed
+gulp.task('sass', function() {
+  var uncss = $.if(isProduction, $.uncss({
+    html: ['src/**/*.html'],
+    ignore: [
+      new RegExp('^meta\..*'),
+      new RegExp('^\.is-.*')
+    ]
+  }));
+
+  return gulp.src('./src/assets/scss/app.scss')
+    .pipe($.sass({
+      includePaths: paths.sass,
+      outputStyle: isProduction ? 'compressed' : 'nested'
+    })
+      .on('error', $.sass.logError))
+    .pipe($.autoprefixer({
+      browsers: ['last 2 versions', 'ie >= 9']
+    }))
+    // .pipe(uncss)
+    .pipe(gulp.dest('./dist/assets/css'));
+});
+
+// Combine JavaScript into one file
+// In production, the file is minified
+gulp.task('javascript', function() {
+  var uglify = $.if(isProduction, $.uglify({
+      mangle: false
+    })
+    .on('error', function (e) {
+      console.log(e);
+    }));
+
+  return gulp.src(paths.javascript)
+    .pipe($.concat('app.js'))
+    .pipe(uglify)
+    .pipe(gulp.dest('./dist/assets/js'));
+});
+
+// Compiles HTML templates into JST
+gulp.task('jst', function() {
+  gulp.src('src/templates/*.html')
+    .pipe($.jstConcat('templates.js', {
+      renameKeys: ['^.*marketing/(src.*.html)$', '$1']
+    }))
+    .pipe(gulp.dest('dist/assets/js'));
+});
+
+// Copy images to the "dist" folder
+// In production, the images are compressed
+gulp.task('images', function() {
+  var imagemin = $.if(isProduction, $.imagemin({
+    progressive: true
+  }));
+
+  return gulp.src('./src/assets/img/**/*')
+    // .pipe(imagemin)
+    .pipe(gulp.dest('./dist/assets/img'));
+});
+
+// Deploy to the live server
+gulp.task('deploy', ['build'], function() {
+  return gulp.src('./dist/**')
+    .pipe($.prompt.confirm('Make sure everything looks right before you deploy.'))
+    .pipe($.rsync({
+      root: './dist',
+      hostname: 'deployer@72.32.134.77',
+      destination: '/home/deployer/sites/foundation-sites-6-marketing'
+    }));
+});
+
+// Build the "dist" folder by running all of the above tasks
+gulp.task('build', function(done) {
+  sequence('clean', ['pages', 'sass', 'javascript', 'images', 'jst', 'downloads'], done);
+});
+
+// Start a server with LiveReload to preview the site in
+gulp.task('server', ['build'], function() {
+  return gulp.src('./dist')
+    .pipe($.webserver({
+      host: 'localhost',
+      port: 8000,
+      livereload: true,
+      open: true
+    }));
+});
+
+// Build the site, run the server, and watch for file changes
+gulp.task('default', ['build', 'server'], function() {
+  gulp.watch(paths.assets, ['copy']);
+  gulp.watch(['./src/pages/**/*.html'], ['pages']);
+  gulp.watch(['./src/{layouts,partials}/**/*.html'], ['pages:reset']);
+  gulp.watch(['./src/assets/scss/**/*.scss'], ['sass']);
+  gulp.watch(['./src/assets/js/**/*.js'], ['javascript']);
+  gulp.watch(['bower_components/foundation-sites/dist/foundation.js'], ['javascript']);
+  gulp.watch(['./src/assets/img/**/*'], ['images']);
+  gulp.watch(['./src/templates/**/*'], ['jst']);
+});
diff --git a/libraries/foundation-6/docs/assets/img/icons/favicon.ico b/libraries/foundation-6/docs/assets/img/icons/favicon.ico
new file mode 100755
index 0000000000000000000000000000000000000000..0ce83eaa696c96eca8451b74b9435abcbed5bf0e
GIT binary patch
literal 1406
zcmeHE`!keb6n<1nS1KWwb=!+XMT)Q}p^KDj_f#rAMJ2jTmzgp(V+ol>YlX-di?AeP
z%CftyWwESlF=-n5H#%<9PCxdu@15s+&+~rgIp2BC3mDKcF~QuEU<jB|<V2V~vLhJ4
zh~9I-{H_;Eb8Ru)nU1OcH&B#vF|Esox||DbQ#i)Dgpg#i@JZ|gUHfCGDm^jT{SvA&
zHs$i5B(#ei@JpMGAALd$G(}*tw-AcT04NFaGFM14tnpn_gqdLxdMbI))CQrKps8|4
zeGVJl@13Ek=A$Olmg;*!Ssg|-9WkoP#Ten|z*|hHpQEk7p6W;9qsW`;i7`ExhY@)?
zT8q8W@X8Xh3V(DEv~@nv)(1mY6^+hfdo<?QV5Bt$5`h)uC2X{ad?0(r$GBREo+=NF
zc09zCR)pc!SWIYyP?oz>Z!TyQx=|k-(zBqh;9*c20v$mju!d3+gGogS6eS!C%U@6r
zzU0#!Ekb*$k&l_7LP+y?=&f?anEVNO<Usf35q^&pQ4d`7)dgepYc_PUrx+sCWLS`{
z0L`y0@wt>wcTs>5MHX6$$V*!qY6L9OiZQOrg049f6J5_R&=7)evUtdfIgsYENau&z
zOl#5>qW?n>x~c=ACe#Y3FOlcpdtZu{CZIQgy?1Tm)68}qN!gve`kuA#f#48hBY)?Z
zAVk{TxwXN<-X&zY19OTwd1#)WC(dkhx)`L-la{Udho7->i!+SiY_OQiPr7>I2E%3^
zIQlH`P2A|~rYlx$_gv%`EH4M1-MVs-r^YhJn0<`-@rCcH1|GNhEZc+U7V~*Kc1CTy
zwy0mX-!C!BG|_eQoZi@*31Ds}Fk#GE`XBiTUGIGVv{&5WOD5!J*6*Gz;YY8yC&$nF
K)f>fsg?|76JsEKT

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/footer-expo-retina.png b/libraries/foundation-6/docs/assets/img/icons/footer-expo-retina.png
new file mode 100755
index 0000000000000000000000000000000000000000..71275576fa5e64c85e8540264501c9477aeb2402
GIT binary patch
literal 2137
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
H<8uBB-JoA-

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/footer-expo.png b/libraries/foundation-6/docs/assets/img/icons/footer-expo.png
new file mode 100755
index 0000000000000000000000000000000000000000..548278d8e191e227c428d6838179db98b7f89986
GIT binary patch
literal 1353
zcmeAS@N?(olHy`uVBq!ia0vp^;y^6I!3HGL_ATQBQj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS=07?@QuLn2Bde0{8v^K<nQL2C3WatnaE85nHrD+&^mvr|hH
zl2X$%^K6yg@7}MZkeOnu6mIHk;9KCFnvv;IRg@ZB<rk7%m7Q#vqGWHUU{hfQG$1#%
zBvGLvHz%*ys=`(YY_1iM4HDK@QUEI{$+lI3I4Z(7K*2e`C{@8!&saCvz|c^^%uLVF
z#MI2pP)EVYz|ctF0Eo<V4Na^}&8&>f6`()~Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M(
zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}<f6=ilFa-(1(1n}N%^HE
zwn{*kLcEY$05>+T7#d8#0MoBXEYLU9GXQxBrqI_HztY@Xxa#7Ppj3o=u^L<)Qdy9y
zACy|0Us{w5jJPyqkW~d%&PAz-CHX}m`T04pPz=b(FUc>?$S+WE4mMNJ@J&q4%mWE%
zf_3=%T6yLbmn7yTr+T{BDgn*V%gju%ay2wCcC>JIb91&ZGc<HHvaob^baOUzGIla{
zakj89h3R$4PcF?(%`1WFO@ZrmF~F%8lo)agfHu3N7G;*DrnnX5=PH0bZIy||Eskau
zM#e^_W;o4*>P^Av7H3zSdi8;h(Fa8>QdGl)fawRsgeP1e2cGm(^ML8S2$--xKP`1+
zU|`(s>Eaktacj+#+uAOHBFE0pyi-&^QS+F_^eNGaQ?k8G?mY?o8E^Ahyy6pk#WE57
z#UCF9xlCTzqZr6`wmJID$F;xu{BGY!pB%dXoZaqkzrMx&j=o(cbKI!I>H=%mK}!oJ
z`MU0$`A<v}WVUF2=1<_3dErv$6~}ta!JH%G$X2DSPeBGuN(&Ac_3u&2`=n&Rz!rIZ
z|1sr`ol2AT$TtTDtc%>j{p|oZM<ZvzL*-4HC!g1rDZ58AoS$cDnJJvXcy@u&`CUCK
z{Ye+NxlEb9Kakkd6gAI5XC{-sf`_7@4m0P5x7T94j97lvxO|%Xs?8~AThBS&dcneq
zRiy%H@jA_GvbOu(E4dT!#7B?s&c=sNlvW=!hzOqCEvkM{vsU_fjEmq-Ch0$?YR_)E
zDdsrq>;G#S)^~EXJu6*q-AtMOfayzvWPk9aKlhs0POeq!H;kO&tIE{-K<Z7f&%fm_
zKbOZnQ7q57XuIvk)%Op%KJ^C5uah~NVjOwChP~sGg!Z<FleKrxU37e@&gv}-q>8`n
zayj&+a8i*@W0hLDN$!7BzCVi+i`J}ux8l(}^YZ76uj?1H%(?JA^YX0OZYLfuda|5>
ZnPGL|1mCRVnaZHT&C}J-Wt~$(69B2)>~R19

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/footer-foundation-retina.png b/libraries/foundation-6/docs/assets/img/icons/footer-foundation-retina.png
new file mode 100755
index 0000000000000000000000000000000000000000..03d7d06b022fbf980f24fc45c5fa00f75ad0387f
GIT binary patch
literal 1980
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

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/footer-foundation.png b/libraries/foundation-6/docs/assets/img/icons/footer-foundation.png
new file mode 100755
index 0000000000000000000000000000000000000000..143f9eae3a05bba9992b430fd172f68bf2597573
GIT binary patch
literal 1297
zcmeAS@N?(olHy`uVBq!ia0vp^5<o1*!3HF6)y8xHDajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_cg49qH-ArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8
zNvY|XdA3ULckfqH$V{<S3ODsN@GWpo&B*kqDoPEm@(W3>%1*XSQL?vFu&J;D8jzb>
zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XRMoSU}&gdW~OIo
zVrph)sH0$HU}&Uo07PcGh9*{~W>!Y#3Q(W~w5=#5%__*n4QdyVXRDM^Qc_^0uU}qX
zu2*iXmtT~wZ)j<02{OaTNEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0?5R~r2Ntn
zTP2`NAzsKWfE$}v3=Jk=fazBx7U&!58GyV5Q|Rl9UukYGTy=3tP%6T`SPd=?sVqp<
z4@xc0FD*(2MqHXQ$f^P>=c3falKi5O{QMkPC<bKYm*f{`<QFJ72b(Eq_$DT2=79t>
z!8&|>tvvIJOA_;vQ$1a5m4IgGWoD*WIht7*85@~6yE$8!85+78Sy(zdx;Yy<89N!f
zI9phl!t}c2Czs}?=9R$orXcjX;M5CB47mkBn_W_iGRsm^+=}vZ6~Lah%EaOpQ%6f<
zH*<40oaRCGreJXkM6ZPbPQCg-$LNEi7AdM>LcsI`V!{(HkONQpsd>QkUIa|o#!R^h
z3=E9To-U3d6}PTjy{qk9C~@H9{WQPGLdExbIhv|@OZLRx*fUjHyy&rgK$rcorT-l#
za(lH*SfUv;O(^@GP*jIe-}}kWugto+u1>uARq*Yfw&~|Bt<V3oJyv>`G33yn#e#t$
zPfl_wGpSeWCiHYJU_XB2SohCfEuKZ9o+Zj{vU{@qY}+obd9M2P2W!kvfeXx^UmP;w
z6Lew!v#YLwWzmd-c3BtL=0DSUEEgPcHA!>*0qL+WM-;cr-aqk>&?>{GX)>1UXEZlQ
z>ipU)G;d?tr{m1mKCh{N#hU+6JK@dIxM#*21RwAC7OfMYcK*;aSr6wWxne6OuiF&q
z5O=2KEYtJ~omXbEhkMVO=}r&RePy<Gs_n@%#+ink?<Gw{J>I#laOlf<$SZk&eaiEx
z))5C*gvFenkr8+25s&bW!)*JCzwGfy7MguyD(n0+zKdAqzPSF^u1Edv#$eg{zI}6R
zt#&#^1?ats;hy@cD(1GyGtm!+E?)fEs4OXA`LAoivlFayDmI&I%lwUgY|q5Q(ED@Y
U@9$@q9sw0np00i_>zopr0GT@0CjbBd

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/footer-icons-retina.png b/libraries/foundation-6/docs/assets/img/icons/footer-icons-retina.png
new file mode 100755
index 0000000000000000000000000000000000000000..17fdedc867689e0cb9025fd81c8b7208b7488d47
GIT binary patch
literal 6389
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
J{_XZ({|7rMSqlIF

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/footer-icons.png b/libraries/foundation-6/docs/assets/img/icons/footer-icons.png
new file mode 100755
index 0000000000000000000000000000000000000000..39b48e1c08e77c4773504d1ca0b38e4555b8eb8b
GIT binary patch
literal 5662
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
U57zh0{A26p?CEr4>;A+40w#Z+lK=n!

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/footer-products-retina.png b/libraries/foundation-6/docs/assets/img/icons/footer-products-retina.png
new file mode 100755
index 0000000000000000000000000000000000000000..04fee5d23f81e745ab9a4e178bbb8b7722c51e9b
GIT binary patch
literal 2187
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

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/footer-products.png b/libraries/foundation-6/docs/assets/img/icons/footer-products.png
new file mode 100755
index 0000000000000000000000000000000000000000..2506878b1889f52d801cfad3ce8658b00c61902a
GIT binary patch
literal 1466
zcmeAS@N?(olHy`uVBq!ia0vp^l0YoR!3HEv_nU7636!`-lmzFem6RtIr7}3C<R_&n
zc;+Uirv{}arc@T5OtoQPU{=Wti71Ki^|4CM&(%u=snM&*Edc6fV6d^TC`e4sPAySL
zN=?tqvsHS(d%u!GW{Ry+xT&v!Z-H}aMy5wqQEG6NUr2IQcCuxPlD(aRO@$TEfZWuQ
zM1_jnoV;SI3R@+xxmG|nNLXJ<0j#7X+g1tUs0iNx1?T*tR0UH#W8Gu}Lqi2KGd)8S
zQ!_I|9R(u;LnD0yATrZ6G_f)@vobPQfC43;ZAB?*RzWUqP`iLUTcwPWk^(Dz{qpj1
zy>er{{GxPyLrY6bkQqisx<D1W#g%y_i50qe#mX=fTvCgZi!uvJGV}8kKqe+8<(HP&
zDgj*z@j`9^+}ONgXfOc-Our(rK;KZ$0OTc@LSJ9}N^^7Js*6j4QW5UOYH)E#WkITb
zP-=00X;CsT;?k5sRuxz|7o{ea<QIkH=jXseF(4zqB)>Q#zd*q`*i1pgH!(Rg4<w)o
z*5T`G<(XGpl9-pA>gi&u1T;f0Gc(1?(agfg*vQnx&Dp}t(9qS$!qVB%&Dqe&*vZ(%
z*}}pUrq?AuximL5uLPzy1)<jzr(RHE$SnZc?2=lPS(cjOR+OKs0QR(1CT_PF;WQ7b
zHwCv_jB)DK2RcR{6tzfE4HE*U9}p9saDg0n(of9;ruQOX!cLTpo6W$$q~q!07*cU-
z$<*84A%P;t&YzJfPCIjE;U*6ieIMZy9;sg*Jn?4h%+Rl74iu<*$^R+V(`ACwtm$$}
z9*(t~xlH*B1Sg7zoXL{Wp1V)={)2Y~&)($f{xE#A`TWiM_p;aK_v_C-8#QYO%eqEm
z8Tkgw50@{wb9UU4(~n`{cQid7e~`x`lf`KP&y|L%4e!*17&r^~Py7*_!7%y3^y81h
z9i;28-q;-5cb)Il)O61eev`%IU$8uneHNB;+;D!w=Dz7cY&-d%37%+R-Tz79nUX?b
zw6eg1r1`PWmZkc+toyt|w^FR~fYUBli7y-L&L3Q7^j&bz)`%N=&#ok8d$GGZDt|DJ
zb(|C^X31W4koB4YFWUj$b<>kB%XFV<n*HYkZ~14|oJNix2ann{rausv@`+`q)rquO
z2aL>rg?F6r)_Q+|d*=@aWxJ<4glw4f9o8<saOu|KzW4r7=MQ|G^#1p$h(DjCwlqci
zbaLoCi#}kMah~(pf4<|K?<`Ip(y!*6F;8XsXTP#VOW)LSruf>KRl2|1Xn2(S(;LGb
zS-YHLJ#2ryoGNJ6;llVLjs4&Bjw=fpMVjOSc-Wp^dR!wozx`k65-t<%$G#tWUFE}i
zG}T`|_*$ejk)!xscwUpDRB%#rt9?nuiFB=`;`GF_i`r5jwm;q*YOt;({LVvlf5Dw{
zdd=_8{Ga0Pb^r2=X^$4pIM*ZkKySwL(#d8o_Ibw5Q`*3Ltt74I^Z)9DR<RzsuU`DA
def~tAk&QuRPgUlhP3reRrKzVYFpQlNngFSJA{+n!

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/footer-studios-retina.png b/libraries/foundation-6/docs/assets/img/icons/footer-studios-retina.png
new file mode 100755
index 0000000000000000000000000000000000000000..84ff2b2ed61e36a41ff76f5fc5c95be24099a218
GIT binary patch
literal 2725
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
Ur<!%5WcA|cN%khyxrL?v8*BH8M*si-

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/footer-studios.png b/libraries/foundation-6/docs/assets/img/icons/footer-studios.png
new file mode 100755
index 0000000000000000000000000000000000000000..79050a8d58f0299a05c1fd93214253685322faec
GIT binary patch
literal 1565
zcmeAS@N?(olHy`uVBq!ia0vp^l0YoR!3HEv_nU7636!`-lmzFem6RtIr7}3C<R_&n
zc;+Uirv{}arc@T5OtoQPU{=Wti71Ki^|4CM&(%u=snM&*Edc6fV6d^TC`e4sPAySL
zN=?tqvsHS(d%u!GW{Ry+xT&v!Z-H}aMy5wqQEG6NUr2IQcCuxPlD(aRO@$TEfZWuQ
zM1_jnoV;SI3R@+xxmG|nNLXJ<0j#7X+g1tUs0iNx1?T*tR0UH#W8Gu}Lqi2KGd)8S
zQ!_I|9R(u;LnD0yATrZ6G_f)@vobPQfC43;ZAB?*RzWUqP`iLUTcwPWk^(Dz{qpj1
zy>er{{GxPyLrY6bkQqisx<D1W#g%y_i50qe#mX=fTvCgZi!uvJGV}8kKqe+8<(HP&
zDgj*z@j`9^+}ONgXfOc-Our(rK;KZ$0OTc@LSJ9}N^^7Js*6j4QW5UOYH)E#WkITb
zP-=00X;CsT;?k5sRuxz|7o{ea<QIkH=jXseF(4zqB)>Q#zd*q`*i1pgH!(Rg4<w)o
z*5T`G<(XGpl9-pA>gi&u1T;f0Gc(1?(agfg*vQnt&Dp}t(9qS$!qVB%&Dqe&*vZ(%
z*}}pUrq?AuximL5uLPzy1)<jvr(RHE$SnZc?2=lPS(cjOR+OKs0QR(1CQi4QxZ*Sq
zsy79vTTI+=>eUB2MjsTlNKp+F0;V4j6P|E^9C*@C%>$<QB4ENk(mFejfq|*t)5S5Q
z;?|t0H}ic1McS+TSDQ|`eaxmc;E3s6aVKZdj|m*AiieuTIsbRoJ0^9wDLE=#TH@-Y
z^{8{olz_v|g{wm}O|RZ~y#2}TlPAx;+nK5wUvz$F_WP~hqxNt0Q|o)YNhnN@D{0~k
z4Y$toi!|PKFJEeQVhTr)a#=^=qWF@|_crIBG0c6`^y7=Y<Fu~1kD7Pr%&Yj{FQR>v
zEw9X}=FfD6Y15n+`Ogtz*4#c<`CGR+i_{m{MT%m1PxfzCWtw3tyf&#VLZ*m=RZ>|j
z=*qrL4{z%7ZPxjcZuTKh>)>vW+x$g#5+7t0i{5+=IwRvJpq)1F{%xW6`vZT>esb^C
zhNv^#Zv=m`ds+DiS6j}!$^0qSZ{KH)cdVaGHSI<2J~H<@EqI`5fBDNY$7LPN7F#-W
zPkbzUB(UvZBGVq><HCzhbeKLetv37cZpPPem$>f_Y9=X(z5H~sQ{i*vwq<i3JheZs
z_$F=t5lgkhQPcM`b+7B#uCuExnAz@_)kWpLF8vdC)_CQp{gAyU`f{e&^mVF_R%d+Q
zQs3PBy_3()Q(H4jxHO5?PIQr=s#Ue>tF<hVDz_ykyeR!Rd1K(=-6wNmj(!fyy58}m
z_VjKA(K|=BOPsV5yM0t=<EhUZZ<|+}d(4te2%6@0dTB|q{>x1Y%Ofr3KD;?m=)jvr
zz7sg+?%p`pZ2p`p)q!C?_u4mo>{-5FC{NuX_f%7!)!u0itgmj&-?VJr%D`Mlxx!1k
zTpFFzgw~6&PyBLK<i5<|PxDMOj%+>uxzK3mI(HsLX@_sqUr63RW^{SZqgj9Zr&+#9
zdN-qF{^K`kz*6-_%cHW{MJv38FWo!BVmbNGq_%xM#Yc<Oa#dfwOnkhpW!4%_@eh_3
jP7~k$TzB8No<)M;O~QsLs^_%!g9>a<S3j3^P6<r_#1vkw

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/footer-top-icons-retina.png b/libraries/foundation-6/docs/assets/img/icons/footer-top-icons-retina.png
new file mode 100755
index 0000000000000000000000000000000000000000..345027cf4cac57abbf9451d7694b634145965f24
GIT binary patch
literal 3647
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
LGo2c3x2V4WB~VWS

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/footer-top-icons.png b/libraries/foundation-6/docs/assets/img/icons/footer-top-icons.png
new file mode 100755
index 0000000000000000000000000000000000000000..596be27f8288917e7e014284c641eca64e2f793c
GIT binary patch
literal 4645
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

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/footer-university.png b/libraries/foundation-6/docs/assets/img/icons/footer-university.png
new file mode 100755
index 0000000000000000000000000000000000000000..548278d8e191e227c428d6838179db98b7f89986
GIT binary patch
literal 1353
zcmeAS@N?(olHy`uVBq!ia0vp^;y^6I!3HGL_ATQBQj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS=07?@QuLn2Bde0{8v^K<nQL2C3WatnaE85nHrD+&^mvr|hH
zl2X$%^K6yg@7}MZkeOnu6mIHk;9KCFnvv;IRg@ZB<rk7%m7Q#vqGWHUU{hfQG$1#%
zBvGLvHz%*ys=`(YY_1iM4HDK@QUEI{$+lI3I4Z(7K*2e`C{@8!&saCvz|c^^%uLVF
z#MI2pP)EVYz|ctF0Eo<V4Na^}&8&>f6`()~Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M(
zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}<f6=ilFa-(1(1n}N%^HE
zwn{*kLcEY$05>+T7#d8#0MoBXEYLU9GXQxBrqI_HztY@Xxa#7Ppj3o=u^L<)Qdy9y
zACy|0Us{w5jJPyqkW~d%&PAz-CHX}m`T04pPz=b(FUc>?$S+WE4mMNJ@J&q4%mWE%
zf_3=%T6yLbmn7yTr+T{BDgn*V%gju%ay2wCcC>JIb91&ZGc<HHvaob^baOUzGIla{
zakj89h3R$4PcF?(%`1WFO@ZrmF~F%8lo)agfHu3N7G;*DrnnX5=PH0bZIy||Eskau
zM#e^_W;o4*>P^Av7H3zSdi8;h(Fa8>QdGl)fawRsgeP1e2cGm(^ML8S2$--xKP`1+
zU|`(s>Eaktacj+#+uAOHBFE0pyi-&^QS+F_^eNGaQ?k8G?mY?o8E^Ahyy6pk#WE57
z#UCF9xlCTzqZr6`wmJID$F;xu{BGY!pB%dXoZaqkzrMx&j=o(cbKI!I>H=%mK}!oJ
z`MU0$`A<v}WVUF2=1<_3dErv$6~}ta!JH%G$X2DSPeBGuN(&Ac_3u&2`=n&Rz!rIZ
z|1sr`ol2AT$TtTDtc%>j{p|oZM<ZvzL*-4HC!g1rDZ58AoS$cDnJJvXcy@u&`CUCK
z{Ye+NxlEb9Kakkd6gAI5XC{-sf`_7@4m0P5x7T94j97lvxO|%Xs?8~AThBS&dcneq
zRiy%H@jA_GvbOu(E4dT!#7B?s&c=sNlvW=!hzOqCEvkM{vsU_fjEmq-Ch0$?YR_)E
zDdsrq>;G#S)^~EXJu6*q-AtMOfayzvWPk9aKlhs0POeq!H;kO&tIE{-K<Z7f&%fm_
zKbOZnQ7q57XuIvk)%Op%KJ^C5uah~NVjOwChP~sGg!Z<FleKrxU37e@&gv}-q>8`n
zayj&+a8i*@W0hLDN$!7BzCVi+i`J}ux8l(}^YZ76uj?1H%(?JA^YX0OZYLfuda|5>
ZnPGL|1mCRVnaZHT&C}J-Wt~$(69B2)>~R19

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/social-retina.png b/libraries/foundation-6/docs/assets/img/icons/social-retina.png
new file mode 100755
index 0000000000000000000000000000000000000000..3f2e4a3fd9e69ba20d707a2eaec9ac8d1ec542be
GIT binary patch
literal 6847
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

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/icons/social.png b/libraries/foundation-6/docs/assets/img/icons/social.png
new file mode 100755
index 0000000000000000000000000000000000000000..aa4b1896d7162650fd288c8d66fddea8bcf5f6d5
GIT binary patch
literal 3815
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
V4c9xkS!=(Zj&{zrH*AhY{s&9iWyk;k

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/inky-banner-bg-boat.svg b/libraries/foundation-6/docs/assets/img/inky-banner-bg-boat.svg
new file mode 100755
index 00000000..39f45364
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/img/inky-banner-bg-boat.svg
@@ -0,0 +1,563 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 6000 120" style="enable-background:new 0 0 6000 120;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#71B9EA;}
+	.st1{fill:#1C86AF;}
+	.st2{fill:#353638;}
+	.st3{fill:#F7F4EB;}
+	.st4{fill:#EFE8D6;}
+	.st5{fill:#F7F4ED;}
+	.st6{fill:#FFFFFF;}
+	.st7{clip-path:url(#SVGID_2_);fill:#D5CFC0;}
+	.st8{fill:#E9BAA9;}
+	.st9{fill:#DFA696;}
+	.st10{fill:#CC7691;}
+	.st11{fill:#3A3A3A;}
+	.st12{fill:#B75978;}
+</style>
+<polyline class="st0" points="-5.5,-6.3 6004.5,-6.3 6004.5,117.8 -5.5,117.8 -5.5,-6.3 "/>
+<g>
+	<path class="st1" d="M998.3,98.2c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0
+		s-184.2,0-184.2,0s-92.2,19-192.5,0s-184.2,0-184.2,0s-92.2,19-192.5,0s-184.2,0-184.2,0s-4.2,0.9-11.8,2.1V143h1895.7V98.2
+		C1190.8,98.2,1098.6,117.2,998.3,98.2z"/>
+	<path class="st1" d="M6703.8,105.2c-17.4-1.3-35.5-3.5-54-7c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0
+		s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0
+		c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0v0
+		c-3.7,0.7-94.4,18.6-192.9,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0
+		c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0s-184.2,0-184.2,0s-92.2,19-192.5,0
+		c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0V143h753.6
+		h753.6h753.6h753.4h0.1H6704v-37.8H6703.8z"/>
+</g>
+<g>
+	
+		<rect x="3633.5" y="59.4" transform="matrix(0.1625 -0.9867 0.9867 0.1625 3012.9478 3669.9067)" class="st2" width="69.6" height="1.5"/>
+	<path class="st2" d="M3663.3,90.7l-0.2,1.1c0,0.1,0,0.1,0.1,0.1l31.8,5.2c0.1,0,0.1,0,0.1-0.1l0.2-1.1c0-0.1,0-0.1-0.1-0.1
+		l-31.8-5.2C3663.3,90.6,3663.3,90.7,3663.3,90.7z"/>
+	<polygon class="st3" points="3677.2,27.9 3672.6,28.9 3673.7,21.9 3677.8,24 	"/>
+	<path class="st4" d="M3633.7,86.6l28,4.6c0,0,0.6-9.6,3.3-25.5l-12.3-9.3C3640.7,72.2,3633.7,86.6,3633.7,86.6"/>
+	<path class="st3" d="M3670.9,35.7c-6.9,6.4-13.1,13.7-18.3,20.6l12.3,9.3C3666.3,57.3,3668.2,47.1,3670.9,35.7z"/>
+	<polygon class="st4" points="3668.5,68.4 3665,89.9 3693.9,94.7 3691.2,86.2 	"/>
+	<polygon class="st3" points="3674.6,31.4 3668.5,68.4 3691.2,86.2 	"/>
+	<path class="st5" d="M3675.4,96.2l-22.8-3.7c-0.1,0-0.1,0-0.1,0.1l-0.9,5.3h0.1v0.2l22.8,3.7v-0.2h0.2l0.9-5.3
+		C3675.5,96.3,3675.5,96.2,3675.4,96.2z"/>
+	<path class="st2" d="M3657.5,97.4l-3.7-0.7c0,0-0.1,0-0.1-0.1l0.5-2.6c0,0,0-0.1,0.1-0.1l3.7,0.7c0,0,0.1,0,0.1,0.1L3657.5,97.4
+		C3657.6,97.3,3657.6,97.4,3657.5,97.4z"/>
+	<path class="st2" d="M3662.5,98.2l-3.7-0.7c0,0-0.1,0-0.1-0.1l0.5-2.6c0,0,0-0.1,0.1-0.1l3.7,0.7c0,0,0.1,0,0.1,0.1L3662.5,98.2
+		C3662.6,98.2,3662.6,98.2,3662.5,98.2z"/>
+	<path class="st2" d="M3667.5,99l-3.7-0.7c0,0-0.1,0-0.1-0.1l0.5-2.6c0,0,0-0.1,0.1-0.1l3.7,0.7c0,0,0.1,0,0.1,0.1L3667.5,99
+		C3667.6,99,3667.6,99,3667.5,99z"/>
+	<path class="st2" d="M3672.4,99.8l-3.7-0.7c0,0-0.1,0-0.1-0.1l0.5-2.6c0,0,0-0.1,0.1-0.1l3.7,0.7c0,0,0.1,0,0.1,0.1L3672.4,99.8
+		C3672.6,99.8,3672.6,99.8,3672.4,99.8z"/>
+	<path class="st2" d="M3681.4,111.9l-35.3-5.8c0,0-10.8-2.7-12-11.2c3.7,0.6,51.4,8.5,51.4,8.5L3681.4,111.9z"/>
+	<path class="st4" d="M3684.2,106.3l-49-8.1c0,0,0,0,0-0.1l-0.7-1.5c0,0,0,0,0.1,0l50.5,8.4c0,0,0,0,0,0.1L3684.2,106.3
+		C3684.3,106.2,3684.2,106.3,3684.2,106.3z"/>
+	<path class="st4" d="M3685.4,104l-54.2-8.9c0,0-0.1,0-0.1-0.1l0.1-0.6c0,0,0-0.1,0.1-0.1l54.2,8.9c0,0,0.1,0,0.1,0.1L3685.4,104
+		C3685.6,104,3685.4,104.1,3685.4,104z"/>
+	<path class="st4" d="M3676.9,96.8l-25.5-4.2c0,0-0.1,0-0.1-0.1l0.1-0.6c0,0,0-0.1,0.1-0.1L3677,96c0,0,0.1,0,0.1,0.1L3676.9,96.8
+		C3677,96.8,3676.9,96.8,3676.9,96.8z"/>
+	<polygon class="st6" points="3681.6,26.4 3678.8,25.1 3677,24.2 3676.2,29.2 3684.4,27.9 	"/>
+	<g>
+		<defs>
+			<path id="SVGID_1_" d="M3656.6,87.7C3656.6,87.7,3656.6,87.8,3656.6,87.7L3656.6,87.7L3656.6,87.7 M3657.3,87.6
+				c-0.1,0-0.2,0.1-0.3,0.1c0,0,0,0,0,0c-0.1,0-0.2,0.1-0.3,0.1l0,0c0,0-0.2,0-0.1,0.3c0,0,0.1,0,0.1,0c0.2,0,0.4-0.1,0.6-0.4
+				C3657.2,87.8,3657.2,87.7,3657.3,87.6 M3657.7,87.3L3657.7,87.3l-0.2,0.2l0,0c0,0,0,0.1,0,0.1c0.1,0,0.2,0,0.2,0
+				c0.1,0.1,0.1,0.2,0.1,0.2c0.1,0,0.1,0,0-0.1v-0.1c0,0,0,0,0-0.1C3657.8,87.4,3657.8,87.3,3657.7,87.3 M3659.7,86.2
+				c0.3,0.2,0.4,0.3,0.4,0.3s0-0.1,0-0.2C3660,86.2,3659.8,86.2,3659.7,86.2 M3659.5,86h-0.1c-0.1,0.2-0.2,0.4-0.6,0.4v0
+				c0,0.1,0,0.1,0,0.1c0,0.1,0,0.1,0,0.1c0,0.1,0,0.1,0,0.1c0,0.1-0.1,0.1-0.1,0.1c0,0,0,0,0,0c0,0-0.1,0.1-0.1,0.1
+				c-0.2,0.1-0.3,0.1-0.3,0.1s0-0.1,0.1-0.1c0,0,0-0.1,0.1-0.1h-0.1c-0.1,0-0.1,0-0.1,0c0,0,0,0,0,0c0,0,0,0.1,0,0.1v0.1
+				c0,0,0.1,0.1,0.5,0.2h0.1h0.1c0.1-0.1,0.2-0.1,0.2-0.1c0.1-0.1,0.1-0.1,0.1-0.1c0.1-0.1,0.1-0.1,0.1-0.3c0-0.2,0.1-0.5,0.2-0.6
+				h0.1c0,0,0,0,0,0C3659.6,86.2,3659.6,86.1,3659.5,86 M3654.9,85c0,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1
+				c0.1,0,0.1,0,0.2,0c-0.1,0-0.2,0-0.3-0.1c-0.1,0-0.1,0-0.1,0c-0.1,0-0.1,0-0.1,0c-0.1-0.1-0.1-0.1-0.1-0.1
+				C3654.9,85,3654.9,85,3654.9,85C3654.9,85,3654.9,85,3654.9,85 M3656.1,83.5C3656.1,83.5,3656.1,83.6,3656.1,83.5
+				C3656.1,83.6,3656.1,83.5,3656.1,83.5 M3656.1,83.5C3656.1,83.5,3656.1,83.5,3656.1,83.5C3656.1,83.5,3656.1,83.5,3656.1,83.5
+				 M3656.2,83.5v0.1C3656.2,83.6,3656.1,83.6,3656.2,83.5c-0.1,0.1,0,0.1,0,0.1l0,0l0,0l0,0l0,0
+				C3656.2,83.6,3656.2,83.6,3656.2,83.5 M3655,83.1c-0.3,0-0.5,0-0.6,0.1c0,0,0,0-0.1,0.1c0,0,0,0.1-0.1,0.1c0,0,0,0,0,0.1
+				c0,0.1,0,0.2,0,0.2c0,0.1,0,0.3-0.1,0.5c0,0,0.2,0,0.5-0.2c0.1-0.1,0.1-0.3,0.3-0.5c0.1-0.1,0.3-0.1,0.5-0.1c0,0,0.1,0.1,0.1,0.2
+				c0,0.1,0,0.2-0.2,0.3c-0.1,0-0.3,0.1-0.5,0.3c0,0,0,0,0,0.1c0,0.1,0,0.3,0,0.5c0,0,0,0.1,0.1,0.1c-0.1-0.2-0.1-0.3,0-0.5
+				c0.1-0.2,0.2-0.3,0.5-0.5c0.2-0.1,0.2-0.3,0.2-0.6S3655.5,83.1,3655,83.1 M3656.2,87.6c0-0.1,0-0.2,0.1-0.3
+				c0-0.1,0.1-0.2,0.1-0.3c0,0,0,0,0-0.1v0.1V87c0,0.1,0.1,0.3,0.2,0.4c0,0-0.1,0.1-0.2,0.1C3656.3,87.5,3656.3,87.6,3656.2,87.6
+				 M3657.5,81.3c-0.1,0-0.2,0-0.3,0.1c-0.1,0-0.1,0.1-0.2,0.1c0,0,0,0-0.1,0.1c-0.1,0.1-0.2,0.1-0.2,0.3c-0.1-0.1-0.1-0.1-0.2-0.1
+				c-0.1,0-0.2,0-0.3,0.1c-0.2,0.2-0.1,0.6-0.3,0.6c0,0,0.2,0.1,0.5,0.1c0.1,0,0.1,0,0.2,0v0.1c0,0.5,0,0.6,0,0.7c0,0-0.2,0-0.2,0.2
+				c0,0,0,0,0,0.1c0,0.1,0,0.2,0.1,0.2c-0.1,0-0.1,0-0.1,0.1c0,0.1,0,0.1,0.1,0.1c0,0,0,0.1,0,0.2c0,0.1-0.1,0.6-0.2,0.7
+				c-0.1,0.1-0.2,0.2-0.4,0.2c0.1,0,0.2,0,0.3,0c0.1,0,0.1,0,0.1,0s-0.2,0.1-0.3,0.2c-0.1,0-0.1,0.1-0.2,0.1c0,0,0,0-0.1,0
+				c-0.1,0-0.1,0-0.2,0c-0.1,0-0.1,0-0.2,0c-0.1,0-0.3-0.1-0.5-0.2c-0.2-0.1-0.3-0.1-0.6-0.1c-0.1,0-0.2,0-0.2,0.1l-0.1,0.1
+				c-0.1,0.3,0,0.5,0.2,0.6c0.1,0.1,0.1,0.1,0.2,0.1s0.1,0,0.2-0.1c0.1-0.1,0-0.1,0-0.1h-0.1h-0.1c-0.1,0-0.1-0.1-0.1-0.1
+				c0-0.1,0-0.3,0.2-0.3c0,0,0,0,0.1,0c0.1,0,0.2,0.1,0.3,0.2c0.1,0.1,0.2,0.2,0.5,0.2h-0.1c-0.1,0-0.1,0.1-0.1,0.1s0,0.1-0.1,0.1
+				c0,0.1,0,0.3,0,0.5c0,0.1,0.1,0.2,0.1,0.3c0,0,0,0,0,0.1v0.1c0,0,0,0.1-0.1,0.1l-0.1,0.1h-0.1c-0.1,0-0.1-0.1-0.1-0.1v-0.1
+				c0,0,0-0.1-0.1-0.1c0,0,0,0,0,0.1c0,0,0,0,0,0.1c0,0.1,0,0.2,0.1,0.2c0.1,0.1,0.2,0.1,0.3,0.1s0.2,0,0.3-0.1
+				c0.1-0.1,0.2-0.2,0.2-0.2c0-0.1,0-0.1,0-0.2c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.1-0.1-0.2v-0.1c0-0.2,0.3-0.2,0.6-0.3
+				c0.1,0,0.2,0,0.3-0.1c-0.1,0.1-0.2,0.6-0.2,1c-0.2,0.1-0.3,0.3-0.5,0.6c-0.1,0.3-0.1,0.7,0.1,0.9c0.1,0.1,0.1,0.1,0.2,0.1
+				c0,0,0.1,0,0.1,0s0,0,0-0.1c0-0.1,0-0.2,0-0.5c0-0.1,0-0.2,0-0.3c0-0.1,0.1-0.2,0.2-0.3c0.1,0.7,0.2,0.9,0.3,0.9c0,0,0.1,0,0-0.1
+				c0-0.1-0.1-0.5-0.1-0.9c0,0,0.1,0,0.1-0.1c0,0.1,0,0.3,0.1,0.5c0.1,0.1,0.2,0.1,0.4,0.1c0.2,0,0.4-0.1,0.6-0.3c0,0,0,0,0.1,0.1
+				l-0.1,0.1c0,0-0.1,0.1,0,0.1c0.3-0.2,0.3-0.3,0.3-0.3h0.1c0,0.1,0,0.2-0.1,0.3c0,0,0.1,0,0.1,0c0.1,0,0.2,0,0.2-0.1
+				c0-0.2,0-0.2,0-0.2h0.1c0,0,0,0,0.1,0.1l0.1-0.1c0.1-0.1,0.1-0.2,0.1-0.3c0.1,0,0.2,0,0.3,0c0,0,0-0.1-0.1-0.1c0,0,0-0.1-0.1-0.1
+				l0.1-0.1c0.1,0,0.1,0,0.2,0c0.1,0,0.2,0.1,0.2,0.2c0.1,0.1,0,0.2-0.1,0.2h0.1h0.1c0,0,0,0,0.1,0c0.1-0.1,0.1-0.3,0-0.5
+				c0,0,0.1,0,0.1,0v-0.1v-0.1c0-0.1,0-0.2,0-0.3c0-0.1,0.1-0.1,0.2-0.1c0.1,0,0.1,0,0.2,0c0.1,0,0.1,0.1,0.1,0.1V86h0
+				c0-0.1,0.1-0.2,0.1-0.3c0.1-0.3-0.1-0.7-0.2-0.8c-0.1-0.1-0.2-0.2-0.2-0.3c0-0.1,0.1-0.1,0.2-0.1c0.1,0.1,0.1,0.3,0.1,0.6
+				c0.1,0.1,0.1,0.1,0.1,0.1c-0.1-0.1,0-0.3,0.1-0.5c0-0.1,0-0.1,0-0.2v-0.1c0,0,0,0,0-0.1c-0.1-0.2-0.1-0.2-0.6-0.3
+				c-0.1,0-0.2,0-0.3,0c-0.2,0-0.3,0.1-0.4,0.3c-0.1,0.2-0.2,0.5,0,0.7c0.1,0,0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.3,0,0.6
+				c-0.1,0.2-0.3,0.3-0.5,0.3c-0.1,0-0.2,0-0.3,0c-0.3-0.1-0.6-0.3-0.6-0.6c0-0.2,0.1-0.6,0.1-0.7c0.1-0.1,0.2-0.2,0.2-0.3
+				c0.1,0,0.1,0,0.1-0.1c0-0.1,0-0.1-0.1-0.1l0.1-0.1c0,0,0.1,0,0.1-0.1c0,0,0,0.1-0.1,0.1c0,0,0,0,0-0.1c0,0,0.1,0,0.1-0.1
+				c0,0,0,0-0.1,0c0,0,0.1-0.1,0-0.2c0-0.1,0.1-0.3-0.1-0.7c-0.2-0.3-0.2-0.6-0.2-0.6h0.1c0.1,0,0.2-0.1,0.5-0.2l0.1-0.1
+				c0-0.1,0-0.2-0.1-0.3C3657.7,81.3,3657.6,81.3,3657.5,81.3"/>
+		</defs>
+		<clipPath id="SVGID_2_">
+			<use xlink:href="#SVGID_1_"  style="overflow:visible;"/>
+		</clipPath>
+		<rect x="3653.5" y="81.3" class="st7" width="6.7" height="7.3"/>
+	</g>
+</g>
+<g>
+	<path class="st8" d="M2231.6,79.2c0.1,0.1,0.2,0.2,0.2,0.2C2231.8,79.3,2231.8,79.2,2231.6,79.2z"/>
+	<path class="st8" d="M2214.4,122L2214.4,122h1.6c0.2-3,0.6-5.4,1.3-8c-1.6,1.7-3,3.8-4.2,5.8C2213.8,120.2,2214.3,121.1,2214.4,122
+		z"/>
+	<path class="st8" d="M2210.5,111.4c0.2-0.7,0.3-1.4,0.5-2C2210.9,110.1,2210.8,110.7,2210.5,111.4z"/>
+	<path class="st8" d="M2209.8,115.8c0.1-0.5,0.2-1,0.3-1.6C2209.8,114.8,2209.8,115.3,2209.8,115.8z"/>
+	<path class="st8" d="M2231.4,78.9c-0.2-0.1-0.3-0.3-0.5-0.4C2231.1,78.6,2231.2,78.8,2231.4,78.9z"/>
+	<path class="st8" d="M2210,113.5c0.1-0.5,0.2-1,0.3-1.5C2210.3,112.5,2210.1,113,2210,113.5z"/>
+	<path class="st8" d="M2209.1,121.3c0,0.3,0,0.6,0,0.8C2209.1,121.8,2209.1,121.5,2209.1,121.3z"/>
+	<path class="st8" d="M2209.1,120.7c0-0.6,0.1-1.2,0.1-1.8C2209.2,119.5,2209.2,120.1,2209.1,120.7z"/>
+	<path class="st8" d="M2209.3,118.2c0.1-0.6,0.1-1.1,0.2-1.7C2209.5,117.1,2209.4,117.6,2209.3,118.2z"/>
+	<path class="st9" d="M2209.1,121.3c0-0.2,0-0.4,0-0.5C2209.1,120.9,2209.1,121.1,2209.1,121.3z"/>
+	<path class="st9" d="M2210.4,112c0-0.2,0.1-0.4,0.1-0.6C2210.5,111.6,2210.4,111.8,2210.4,112z"/>
+	<path class="st9" d="M2209.6,116.5c0-0.2,0.1-0.5,0.1-0.7C2209.6,116.1,2209.6,116.3,2209.6,116.5z"/>
+	<path class="st9" d="M2225.9,76.7h0.1c-0.3,0-0.6-0.1-1-0.1c0,0,4.6,2.9,5.8,6.3C2229.6,79.5,2225.9,76.7,2225.9,76.7z"/>
+	<path class="st9" d="M2209.9,114.3c0-0.2,0.1-0.5,0.1-0.7C2210,113.8,2210,114,2209.9,114.3z"/>
+	<path class="st9" d="M2209.3,118.9c0-0.2,0-0.4,0.1-0.7C2209.3,118.4,2209.3,118.6,2209.3,118.9z"/>
+	<path class="st9" d="M2209.8,122c0-1,1-2.4,2.3-2.4c0.4,0,0.7,0.1,1,0.3c1.2-2.1,2.6-4.1,4.2-5.8c1.3-4.6,3.6-8.5,7.3-10.5
+		c9.9-5,11.4-9.4,10.9-13.4c0-0.2,0-0.3,0-0.5c-0.5,0.9-1.8,1.5-2.5,1.3c-0.8-0.1-0.5-1.2-0.3-2.5c0.2-1.2,0.4-2.1,1.2-1.9
+		c0.4,0.1,0.9,0.4,1.3,1c0.1,0.4,0.1,0.7,0.2,1.1c0-0.1,0-0.2,0-0.3c-0.4-2.2-1-4.9-2.3-7c-0.3-0.7-0.7-1.3-1.2-1.9
+		c-0.1-0.1-0.2-0.2-0.2-0.2c-0.1-0.1-0.2-0.2-0.3-0.2c-0.2-0.1-0.3-0.3-0.5-0.4c-0.6-0.5-1.3-0.9-2.2-1.2c-0.4-0.2-0.9-0.3-1.4-0.4
+		c-0.2,0-0.4-0.1-0.6-0.1c-0.2,0-0.3-0.1-0.5-0.1c-0.1,0-0.2,0-0.3,0h-0.1c0,0,3.7,2.8,4.9,6.2c1.2,3.4,0.5,9.1-5.3,12.4
+		c-3.2,1.8-11.5,4.4-14.4,14c-0.2,0.6-0.4,1.3-0.5,2c0,0.2-0.1,0.4-0.1,0.6c-0.1,0.5-0.2,1-0.3,1.5c0,0.2-0.1,0.5-0.1,0.7
+		c-0.1,0.5-0.2,1-0.3,1.6c0,0.2-0.1,0.5-0.1,0.7c-0.1,0.6-0.1,1.1-0.2,1.7c0,0.2,0,0.4-0.1,0.7c-0.1,0.6-0.1,1.2-0.1,1.8
+		c0,0.2,0,0.3,0,0.5c0,0.3,0,0.8,0,0.8L2209.8,122L2209.8,122z M2229.4,93c0.7-1,1.7-1.4,2.5-0.8c0.8,0.6,0.9,1.9,0.2,2.9
+		c-0.7,1-1.9,1.4-2.7,0.8C2228.6,95.3,2228.8,94,2229.4,93z M2224.6,96.9c1.1-0.8,2.5-0.6,3.2,0.4c0.7,1,0.4,2.5-0.7,3.2
+		c-1.1,0.8-2.5,0.6-3.2-0.4C2223.2,99.2,2223.6,97.7,2224.6,96.9z M2218.8,100.9c1.1-0.8,2.5-0.6,3.3,0.5c0.8,1.1,0.4,2.6-0.7,3.3
+		c-1.1,0.8-2.5,0.6-3.3-0.5C2217.5,103.2,2217.8,101.7,2218.8,100.9z M2213.6,107.3c0.6-1.2,2-1.7,3.1-1s1.5,2.1,0.8,3.3
+		c-0.6,1.2-2,1.7-3.1,1S2212.9,108.5,2213.6,107.3z M2210.8,114.6c0.3-1.3,1.5-2.1,2.7-1.9c1.2,0.3,1.9,1.6,1.6,2.9
+		s-1.5,2.1-2.7,1.9C2211.2,117.2,2210.5,115.9,2210.8,114.6z"/>
+	<path class="st9" d="M2235.4,88.8c0,0.3,0,0.6,0.1,0.8C2235.4,89.4,2235.4,89.1,2235.4,88.8z"/>
+	<path class="st9" d="M2353.6,91.5c0.2,1.2,0.5,2.3-0.3,2.4c-0.2,0-0.3,0-0.5,0c-0.1,0.6-0.1,1.1-0.1,1.6c-0.6,4,0.9,8.4,10.9,13.4
+		c0.8,0.4,2.8,1.9,3.7,4.3c1.5,2.6,2.5,4.8,2.6,8.8h3c0.4,0,0.8-0.5,1.4-0.5c0.5,0,0.9,0.5,1.3,0.5h2.1c-0.8-12-8.4-20.2-13.2-22.4
+		c-5.3-2.5-10.2-7.1-10.4-10.6c-0.2,0.6-0.4,1.2-0.5,1.8C2353.5,90.9,2353.6,91.2,2353.6,91.5z M2375.5,116.8
+		c0.3,1.3-0.5,2.5-1.6,2.8c-1.2,0.3-2.4-0.5-2.7-1.8c-0.3-1.3,0.5-2.5,1.6-2.8S2375.2,115.5,2375.5,116.8z M2369.5,108.7
+		c1.1-0.6,2.5-0.1,3.1,1c0.6,1.2,0.3,2.6-0.8,3.2s-2.5,0.1-3.1-1C2368,110.7,2368.4,109.3,2369.5,108.7z M2364.1,104
+		c0.7-1,2.2-1.2,3.3-0.5c1.1,0.8,1.4,2.2,0.7,3.2c-0.7,1-2.2,1.2-3.3,0.5S2363.4,105,2364.1,104z M2358.4,100c0.7-1,2.1-1.2,3.2-0.4
+		c1.1,0.8,1.4,2.2,0.7,3.1c-0.7,1-2.1,1.2-3.2,0.4C2358,102.4,2357.8,101,2358.4,100z M2354.3,95c0.8-0.6,1.8-0.2,2.5,0.8
+		c0.7,1,0.8,2.2,0,2.8c-0.8,0.6-2,0.3-2.7-0.7C2353.5,96.9,2353.5,95.6,2354.3,95z"/>
+	<path class="st8" d="M2257.2,14.5c0-5.9,1.4-13.3,4.6-18.8c1.3,0.3,2.5,0.6,3.4,0.9c-4.6-1.5-15.2-3.6-20.4,5.4
+		c-6.7,11.6-1.4,22.2-10.9,25.1c0,0,13.2,6.6,27.2-0.1c-0.8,0.4-1.5,0.7-2.3,1C2257.8,23.7,2257.2,18.9,2257.2,14.5z"/>
+	<path class="st9" d="M2261.2,26.9c0.1-0.1,0.2-0.1,0.4-0.2C2261.4,26.8,2261.3,26.9,2261.2,26.9z"/>
+	<path class="st9" d="M2265.3-3.4c-0.9-0.3-2.1-0.6-3.4-0.9c-3.2,5.5-4.6,12.9-4.6,18.8c0,4.4,0.5,9.1,1.6,13.3
+		c0.8-0.3,1.5-0.6,2.3-1c0.1-0.1,0.2-0.1,0.4-0.2C2260.4,14.3,2262.2,4.4,2265.3-3.4z"/>
+	<path class="st8" d="M2353.3,93.9c0.8-0.1,0.5-1.2,0.3-2.4c-0.1-0.3-0.1-0.5-0.2-0.8c-0.3,1-0.5,2-0.6,2.9c0,0.1,0,0.2,0,0.3
+		C2353,93.9,2353.2,93.9,2353.3,93.9z"/>
+	<path class="st10" d="M2395,115.7c-0.3-0.2-0.5-0.5-0.8-0.8C2394.4,115.2,2394.8,115.4,2395,115.7z"/>
+	<path class="st10" d="M2392.6,113.2c-0.2-0.3-0.5-0.6-0.7-0.9C2392.1,112.6,2392.3,112.9,2392.6,113.2z"/>
+	<path class="st10" d="M2393.8,114.5c-0.2-0.3-0.5-0.5-0.7-0.8C2393.3,114,2393.5,114.2,2393.8,114.5z"/>
+	<path class="st10" d="M2390.4,110.2c-0.3-0.5-0.7-1.1-1-1.7C2389.8,109.1,2390,109.7,2390.4,110.2z"/>
+	<path class="st10" d="M2391.4,111.8c-0.2-0.3-0.5-0.7-0.7-1C2391,111.1,2391.2,111.4,2391.4,111.8z"/>
+	<path class="st10" d="M2396.2,116.7c-0.3-0.2-0.6-0.5-0.9-0.8C2395.6,116.2,2395.9,116.5,2396.2,116.7z"/>
+	<path class="st10" d="M2265.4-3.6c0,0.1-0.1,0.1-0.1,0.2C2265.3-3.5,2265.3-3.5,2265.4-3.6z"/>
+	<path class="st10" d="M2266,69.5c0.2-0.2,0.4-0.4,0.6-0.5c-0.6-0.4-2.6-1.9-1.8-5.3c0,0,0.5,3.4,3.9,3.8c0.4-0.2,0.8-0.5,1.3-0.7
+		h0.1c0.4-0.2,0.8-0.3,1.2-0.5c0.1,0,0.1-0.1,0.2-0.1c0.4-0.1,0.8-0.2,1.2-0.3c0.1,0,0.2-0.1,0.3-0.1c0.5-0.1,1-0.2,1.5-0.2
+		s1-0.1,1.5,0c0.2,0,0.3,0,0.5,0c0.4,0,0.7,0,1.1,0.1c0.2,0,0.3,0,0.5,0.1c0.4,0.1,0.7,0.1,1.1,0.2c0.1,0,0.3,0.1,0.4,0.1
+		c0.4,0.1,0.9,0.3,1.3,0.4h0.1c1,0.4,1.9,0.9,2.7,1.4c0,0,0.1,0,0.1,0.1c0.4,0.3,0.7,0.5,1.1,0.8l0.1,0.1c0.4,0.3,0.7,0.7,1,1
+		c1.6-0.7,6.9-2.6,12.1,0c0.3-0.4,0.7-0.7,1-1c0.1-0.1,0.2-0.2,0.3-0.3c0.3-0.2,0.5-0.4,0.8-0.6c0.1-0.1,0.3-0.2,0.4-0.3
+		c0.3-0.2,0.6-0.4,0.9-0.5c0.1-0.1,0.3-0.4,0.4-0.4c0.4-0.2,0.9,0.2,1.3-0.8c0.5,0,0.9-0.1,1.4-0.2c0.1,0,0.3,0,0.4,0
+		c0.3-0.1,0.7-0.1,1.1-0.1c0.2,0,0.3,0,0.5,0c0.4,0,0.7,0,1.1-0.1c0.2,0,0.4,0,0.6,0c0.5,0,0.7,0.2,1.7,0.3V66h-0.2
+		c0.5,0,1,0,1.4,0.1c0.1,0,0.1,0,0.2,0c0.4,0.1,0.8,0.2,1.2,0.3l0.1,0.1c0.4,0.1,0.8,0.6,1.2,0.6s0.8,0.3,1.2,0.5
+		c3.3-0.5,3.8-3.8,3.8-3.8c0.7,3.3-1.1,4.8-1.7,5.3c0.1,0.1,0.2,0.2,0.3,0.3c0.1,0.1,0.2,0.2,0.4,0.3c0.8,0,1.4-0.1,2-0.4
+		c1.1-2.4,2.3-7-2.8-9.6c0,0-8.3-4-18.9,0.2c0,0,0.4-0.8,1.6-1.8c5.4-3.1,12.2-3.7,17.8-1.4c0,0.3,0,0.6-0.1,1
+		c0.5-4.2,0.5-14.3-9.7-25.3c-10.5-11.6-10.3-19.1-10.2-19.7c-0.1-0.8-1.5-19.4,3.3-24.8c0,0-4.2,10.8,3.2,22.5c0,0-1.2,0.6-3.2,1.3
+		c3.9-1.4,10.3-4.5,14-10.7c1.4-2.3,2.6-4.7,3.4-7c-3.2,0.5-7.2-0.1-7.2-0.1c5.3-0.4,7.5-5.7,8.2-7.7c-0.5-4.3-2.8-8.5-7.9-12.5
+		c-10.9-8.6-18.5-4.2-27.9,1.2c-2.3,1.3-5,3.3-7.7,6.1c4.1,0.1,5.2,4.5,5.2,4.5s-2.9-1.6-7.9-1.6c-2.8,3.3-5.4,7.5-7.5,12.7
+		c0.3-0.7,0.6-1.4,0.9-2.1c10.2-2.5,15.1,3,15.1,3s-7.5-1.1-13.8,0.4c0.2,0.4,0.8,1.5,1.3,2.9c0.1,0.2,0.2,0.5,0.3,0.8
+		c0.3,0.8,0.6,1.7,0.9,2.7c0.2,0.6,0.3,1.2,0.5,1.8c8.3-1.3,13.2,4.2,13.2,4.2c-5.4-0.7-9.4-0.3-12.5,0.6c0,0.7,0,1.5,0,2.2
+		c0,0.8-0.1,1.6-0.3,2.4c-0.1,0.4-0.2,0.8-0.3,1.2c-0.3,1.2-0.7,2.3-1.3,3.4c-1.2,2.2-3.1,4.2-5.9,5.9c-0.4,0.2-0.8,0.5-1.3,0.7
+		c-0.3,0.1-0.5,0.3-0.8,0.4c0.2,1.8,0.4,3.7,0.7,5.6c2.6,15.3,4.8,22.1,6.5,26.1l-0.7-1.9c3.5-1.5,7.3-2.3,10.8-1.7
+		c5.3,1.5,6.9,4.3,6.9,4.3c-5.8-2.8-17-0.7-17-0.7s-7.2,3.4-5.6,10.1C2263.8,69.1,2264.8,69.6,2266,69.5z M2313.9,2
+		c-1.4,1.9-3,3.5-4.6,4.8c-4.1-1.8-6.4-6-6.4-6C2307.8,3.5,2312.8,2.3,2313.9,2z M2266.2,32.7c0,0-2.5-8.5,5.8-11.8
+		c9.8-3.9,17.2,2.9,17.2,2.9C2271.3,20.8,2266.2,32.7,2266.2,32.7z M2270.1,50.1c0,0-0.8-9.1,10.1-12.3c12.3-3.6,20.2,4,20.2,4
+		C2275.9,39.4,2270.1,50.1,2270.1,50.1z"/>
+	<path class="st10" d="M2397.4,117.7c-0.3-0.2-0.6-0.5-1-0.8C2396.8,117.2,2397.1,117.5,2397.4,117.7z"/>
+	<path class="st10" d="M2312.8,110c4.4-4.2,5.3-9.8,4.5-14.8c0.2,0,0.5,0.1,0.7,0.1c2.7,0,4.9-2.2,4.9-4.9c0-2.2-1.5-4.1-3.5-4.7
+		c-0.3,0.4-0.6,0.8-0.9,1.1c-0.6,0.6-1.2,1.2-1.9,1.7c-0.7,0.5-1.4,0.9-2.2,1.3c-0.8,0.4-1.6,0.7-2.4,0.9c-0.8,0.2-1.7,0.4-2.6,0.4
+		c-0.9,0-1.8,0.1-2.7-0.1c-0.9-0.1-1.8-0.3-2.7-0.6c-0.4-0.1-0.8-0.3-1.2-0.5c-0.8-0.3-1.6-0.8-2.3-1.2c-0.7-0.5-1.4-1-2-1.6
+		c-2.7-2.7-4.2-6.4-3.7-10.4c0.1-0.4,0.1-0.8,0.2-1.3c0.1-0.3,0.2-0.7,0.3-1c0-0.1,0-0.1,0.1-0.2c0.3-0.8,0.6-1.5,1-2.2
+		c-0.9-0.6-3.6-1.8-9.1-0.2c0.2,0.4,0.4,0.8,0.6,1.2c0.2,0.4,0.3,0.8,0.5,1.2v0.1c0.1,0.4,0.2,0.7,0.3,1.1c0,0.1,0,0.2,0.1,0.2
+		c0.1,0.5,0.2,0.9,0.2,1.4c0.4,4.4-1.6,8.5-5,11.1c-0.7,0.5-1.4,1-2.2,1.4c-1.5,0.8-3.3,1.3-5.1,1.5c-3.7,0.3-7.1-0.8-9.8-2.8
+		c-0.1,0-0.3,0-0.4,0c-2.8,0-5.1,2.3-5.1,5.1s2.3,5.1,5.1,5.1c0.3,0,0.6,0,0.8-0.1c0,1.9,0.4,5.4,2.6,8.9c0.1,2.3,0.3,8.7-0.3,14.7
+		h41.7C2311.8,117,2312.4,111.6,2312.8,110z M2283.4,104.8c0,0,8.9,4.1,19.2,0.4C2302.6,105.2,2296.3,115,2283.4,104.8z M2302.8,95
+		c-0.1,0.6-0.3,0-0.6,1l-0.1,0.4c-0.1,0.1-0.2,0.5-0.3,0.6c-0.2,0.1-0.5,0.3-0.7,0.4c-0.5,0.2-0.9,0.3-0.9,0.3
+		c-5.7,1.1-9.1-1.2-9.1-1.2c5.2,1,9,0.1,9.9-0.3c0.3-0.1,0.7-0.4,0.7-1.2v-0.2c-1.1-0.5-2-0.8-2-0.8c4.5-1.3,4.8,3,4.8,3
+		C2304,96,2303.4,95.4,2302.8,95z"/>
+	<path class="st10" d="M2398.6,118.5c-0.3-0.2-0.7-0.5-1.1-0.7C2397.9,118,2398.2,118.3,2398.6,118.5z"/>
+	<path class="st10" d="M2380.1,89.6c-0.3-0.3-0.5-0.5-0.8-0.8C2379.6,89.1,2379.8,89.3,2380.1,89.6z"/>
+	<path class="st10" d="M2264.2,71.3c0,0.1,0.1,0.1,0.1,0.2c0,0,0,0,0,0.1c0-0.1,0.1-0.1,0.1-0.2
+		C2264.4,71.4,2264.3,71.3,2264.2,71.3z"/>
+	<path class="st10" d="M2369.6,82.9c-0.1,0-0.1,0-0.2-0.1C2369.5,82.9,2369.6,82.9,2369.6,82.9z"/>
+	<path class="st10" d="M2368.5,82.6c-0.1,0-0.1,0-0.2,0C2368.4,82.5,2368.5,82.6,2368.5,82.6z"/>
+	<path class="st10" d="M2370.8,83.3c-0.1,0-0.1-0.1-0.2-0.1C2370.6,83.3,2370.8,83.3,2370.8,83.3z"/>
+	<path class="st10" d="M2367.4,82.3h-0.1H2367.4z"/>
+	<path class="st10" d="M2379,88.5c-0.2-0.2-0.3-0.3-0.5-0.5C2378.6,88.2,2378.8,88.4,2379,88.5z"/>
+	<path class="st10" d="M2371.9,83.8c-0.1,0-0.2-0.1-0.2-0.1C2371.8,83.7,2371.8,83.8,2371.9,83.8z"/>
+	<path class="st10" d="M2366.3,82.1C2366.2,82.1,2366.2,82.1,2366.3,82.1C2366.2,82.1,2366.2,82.1,2366.3,82.1z"/>
+	<path class="st10" d="M2365.1,82L2365.1,82z"/>
+	<path class="st10" d="M2377.1,86.9c-0.1-0.1-0.3-0.2-0.4-0.3C2376.8,86.7,2376.9,86.8,2377.1,86.9z"/>
+	<path class="st10" d="M2378,87.7c-0.2-0.1-0.3-0.3-0.5-0.4C2377.8,87.5,2377.9,87.6,2378,87.7z"/>
+	<path class="st10" d="M2376.1,86.2c-0.1-0.1-0.3-0.2-0.4-0.3C2375.8,86.1,2376,86.1,2376.1,86.2z"/>
+	<path class="st10" d="M2372.9,84.3c-0.1,0-0.2-0.1-0.3-0.1C2372.8,84.2,2372.9,84.3,2372.9,84.3z"/>
+	<path class="st10" d="M2374,84.9c-0.1-0.1-0.2-0.1-0.3-0.2C2373.8,84.8,2373.9,84.9,2374,84.9z"/>
+	<path class="st10" d="M2375.1,85.6c-0.1-0.1-0.2-0.1-0.3-0.2C2374.8,85.4,2374.9,85.5,2375.1,85.6z"/>
+	<path class="st10" d="M2363.8,113.4c-1-1.6-2.3-3-3.8-4.3c-0.4-0.3-0.7-0.6-1.1-0.9c0,0,0,0-0.1-0.1c-0.4-0.3-0.8-0.6-1.2-0.8
+		l-0.1-0.1c-0.4-0.3-0.8-0.5-1.2-0.8c-0.1,0-0.1-0.1-0.2-0.1c-0.5-0.3-1-0.6-1.5-0.9c-8.2-4.8-6.6-24.6,4-23c0,0-4.5,2.9-4.5,6.5
+		c0,0.1,0,0.1,0,0.2c0.3-0.8,0.7-1.7,1.1-2.4c1.3-3,4-4.4,8.1-4.7c0.3,0,0.6,0,0.9,0c7.9-1.1,16.8,1.3,21.5,6.5
+		c2.2,2.4,3.1,5.7,4,8.7c1.1,3.4,1.9,6.9,3,10.4c1.3,4.1,3.2,8.1,6,11.1c2.6,1.8,4.7,2.5,4.7,2.5c-3.9-3.5-2.3-14.3-0.9-19.1
+		c1.4-4.8,0.7-12.3-3.2-20.6c-0.3-0.6-0.5-1.1-0.8-1.6c-4.7-1.3-11.4-1-11.4-1c4.3-3,7.8-2.8,9.4-2.5c0.7,1,1.3,2.1,2,3.4
+		c-3.5-7-6.8-9.7-23.2-10.7c-17.6-1.1-20.5,4.4-24,14.1s-5.3,19.4,3.2,24.2c2.8,1.6,6.1,4.5,7.9,6.3c1.7,2.3,2.9,5.4,3.3,8.4h1.5
+		C2366.3,119,2365.2,115.7,2363.8,113.4z"/>
+	<path class="st10" d="M2319.1-11c0,0.2,0,0.4-0.1,0.6C2319.1-10.6,2319.1-10.8,2319.1-11z"/>
+	<path class="st10" d="M2318.4-7.2c-0.1,0.3-0.2,0.6-0.3,0.9C2318.2-6.6,2318.3-6.9,2318.4-7.2z"/>
+	<path class="st10" d="M2319.1-14.1c0,0.3,0.1,0.6,0.1,1C2319.2-13.5,2319.2-13.8,2319.1-14.1z"/>
+	<path class="st10" d="M2318.9-9.1c0,0.2-0.1,0.4-0.1,0.6C2318.8-8.7,2318.8-8.9,2318.9-9.1z"/>
+	<path class="st10" d="M2318.8-8.1c-0.1,0.2-0.1,0.4-0.2,0.7C2318.6-7.7,2318.6-7.9,2318.8-8.1z"/>
+	<path class="st10" d="M2319-10c0,0.2-0.1,0.4-0.1,0.6C2319-9.6,2319-9.8,2319-10z"/>
+	<path class="st10" d="M2272.9-16.3c0.9-1.1,1.8-2,2.7-2.9C2274.8-18.4,2273.8-17.4,2272.9-16.3z"/>
+	<path class="st10" d="M2319.2-11.9c0,0.2,0,0.4,0,0.7C2319.2-11.5,2319.2-11.7,2319.2-11.9z"/>
+	<path class="st10" d="M2185.5,86.9c0.1-0.4,0.1-0.8,0.2-1.3C2185.8,86.1,2185.6,86.5,2185.5,86.9z"/>
+	<path class="st10" d="M2185.8,85.6c0.1-0.4,0.2-0.9,0.3-1.3C2185.9,84.7,2185.8,85.2,2185.8,85.6z"/>
+	<path class="st10" d="M2202.5,81.8c5.5-7.9,16.7-8.2,25-5.4c0.1,0.1,0.2,0.2,0.4,0.3c6.7,1,10.1,12.9,9.6,17.7
+		c-0.5,5.3-11.4,9-15.3,14.8c-0.4,0.6-0.8,0.7-1.1,1.7c-1.8,3-3.3,6-3.5,11h3.4c0.7-11,4.4-15.3,12.9-20c8.5-4.8,6.7-14.4,3.2-24.1
+		s-6.4-15.2-24-14.1c-13.4,0.8-18,2.7-21.2,7.2c1.5-0.3,5-0.6,9.4,2.5c0,0-6.7-0.3-11.4,1c-0.3,0.5-0.5,1.1-0.8,1.6
+		c-0.2,0.5-0.5,1-0.7,1.5c1.5-0.2,3.8-0.1,6.5,1.2c0,0-4.1,0.5-7.7,1.8c-0.4,1.3-0.8,2.5-1.1,3.8c1.3-0.4,3.2-0.6,5.7,0.2
+		c0,0-3.4,0.9-6.3,2.4c-0.6,3.9-0.5,7.2,0.3,9.8c1.4,4.6,2.9,14.7-0.5,18.6C2197.8,108.9,2195.3,92.1,2202.5,81.8z"/>
+	<path class="st10" d="M2187.8,79c0.2-0.5,0.4-1,0.6-1.5C2188.1,78,2187.9,78.5,2187.8,79z"/>
+	<path class="st10" d="M2187.2,80.5c0.2-0.5,0.3-1,0.5-1.5C2187.5,79.5,2187.3,80,2187.2,80.5z"/>
+	<path class="st10" d="M2189.8,74.4c0.7-1.3,1.3-2.5,2-3.5C2191,72,2190.4,73.1,2189.8,74.4z"/>
+	<path class="st10" d="M2319.2-13c0,0.3,0,0.5,0,0.8C2319.2-12.5,2319.2-12.7,2319.2-13z"/>
+	<path class="st10" d="M2237.5,94.5c0.5-4.8-2.9-16.7-9.6-17.7c0.1,0,0.1,0.1,0.2,0.1c1,0.3,2,0.9,2.8,1.6c0.2,0.1,0.3,0.3,0.5,0.4
+		c0.1,0.1,0.2,0.2,0.3,0.2c0.1,0.1,0.2,0.2,0.2,0.2C2235.8,83.5,2237.9,90.9,2237.5,94.5z"/>
+	<path class="st10" d="M2217.5,122c0.1-5,1.7-8.2,3.5-11c-0.1,0-0.2,0-0.3,0.1c-1.3,0.8-2.4,1.8-3.4,2.9c-0.7,2.6-1.1,5-1.3,8
+		H2217.5z"/>
+	<path class="st10" d="M2226,76.7c-0.3,0-0.7-0.1-1-0.1C2225.3,76.6,2225.8,76.7,2226,76.7z"/>
+	<path class="st10" d="M2221,111c0.4-0.6,0.8-1.2,1.1-1.7C2221.8,109.8,2221.4,110.4,2221,111z"/>
+	<path class="st10" d="M2220.8,111.1c0.1-0.1,0.2-0.1,0.3-0.1c0.4-0.6,0.8-1.2,1.1-1.7c4-5.8,14.8-9.5,15.3-14.8
+		c0.4-3.6-1.8-11-5.6-15.1c0.5,0.5,0.9,1.2,1.2,1.9c1.3,2.1,1.9,4.8,2.3,7c0,0.1,0,0.2,0,0.3c0,0,0,0,0,0.1v0.1
+		c0,0.3,0.1,0.6,0.1,0.8c0,0.2,0,0.3,0,0.5c0.6,4-0.9,8.4-10.9,13.4c-3.8,1.9-6,5.9-7.3,10.5
+		C2218.3,112.9,2219.4,111.9,2220.8,111.1z"/>
+	<path class="st10" d="M2231.4,78.9c0.1,0.1,0.2,0.2,0.3,0.2C2231.6,79.1,2231.5,79,2231.4,78.9z"/>
+	<path class="st10" d="M2226,76.7c0.1,0,0.2,0,0.3,0C2226.2,76.7,2226.1,76.7,2226,76.7z"/>
+	<path class="st10" d="M2228.8,77.3L2228.8,77.3c0.8,0.3,1.5,0.7,2.2,1.2c-0.9-0.7-1.8-1.3-2.8-1.6
+		C2228.3,77,2228.5,77.2,2228.8,77.3z"/>
+	<path class="st10" d="M2227.4,76.9c-0.2,0-0.4-0.1-0.6-0.1C2227,76.9,2227.2,76.9,2227.4,76.9z"/>
+	<path class="st10" d="M2358.8,108.2C2358.8,108.1,2358.8,108.1,2358.8,108.2C2358.8,108.1,2358.8,108.1,2358.8,108.2z"/>
+	<path class="st10" d="M2359.9,109.1L2359.9,109.1z"/>
+	<path class="st10" d="M2357.5,107.3l-0.1-0.1C2357.4,107.2,2357.5,107.2,2357.5,107.3z"/>
+	<path class="st10" d="M2356.2,106.4c-0.1,0-0.1-0.1-0.2-0.1C2356.1,106.3,2356.1,106.3,2356.2,106.4z"/>
+	<path class="st10" d="M2364.2,113.5c-0.1-0.1-0.3-0.1-0.3-0.1c1,2.4,2.4,5.6,3.2,8.6h2.7C2368.8,119,2367.3,115.4,2364.2,113.5z"/>
+	<path class="st10" d="M2359.9,109.1c1.5,1.3,2.8,2.7,3.8,4.3C2362.8,111.8,2361.4,110.4,2359.9,109.1z"/>
+	<path class="st10" d="M2357.4,107.2c-0.4-0.3-0.8-0.5-1.2-0.8C2356.6,106.6,2357,106.9,2357.4,107.2z"/>
+	<path class="st10" d="M2359.9,109.1c-0.4-0.3-0.7-0.6-1.1-0.9C2359.2,108.5,2359.5,108.8,2359.9,109.1z"/>
+	<path class="st10" d="M2356,106.2c-0.5-0.3-1-0.6-1.5-0.9C2355,105.6,2355.5,105.9,2356,106.2z"/>
+	<path class="st10" d="M2358.8,108.1c-0.4-0.3-0.8-0.6-1.2-0.8C2357.9,107.5,2358.3,107.8,2358.8,108.1z"/>
+	<path class="st10" d="M2358.5,82.3c-10.6-1.6-12.2,18.3-4,23c0.5,0.3,1,0.6,1.5,0.9c0.1,0,0.1,0.1,0.2,0.1c0.4,0.3,0.8,0.5,1.2,0.8
+		l0.1,0.1c0.4,0.3,0.8,0.6,1.2,0.8c0,0,0,0,0.1,0.1c0.4,0.3,0.8,0.6,1.1,0.9c1.5,1.3,2.8,2.7,3.8,4.3c0.1,0,0.2-0.1,0.4,0
+		c3.1,2,4.6,5.5,5.7,8.5h0.1c-0.1-4-1.1-6.3-2.6-8.8c-1-2.4-2.9-3.9-3.7-4.3c-9.9-5-11.4-9.4-10.9-13.4c0-0.5,0-1,0.1-1.6
+		c-0.9-0.1-2-0.7-2.2-1.7c-0.2-1.2,1-2.4,1.8-2.5c0.6-0.1,0.9,0.3,1.1,1.1c0.2-0.6,0.3-1.2,0.5-1.7c0-0.1,0-0.1,0-0.2
+		C2354,85.2,2358.5,82.3,2358.5,82.3z"/>
+	<path class="st10" d="M2262.3,26.3c-0.3,0.1-0.5,0.3-0.8,0.4C2261.8,26.6,2262.1,26.5,2262.3,26.3z"/>
+	<path class="st10" d="M2265.2-3.4L2265.2-3.4z"/>
+	<path class="st10" d="M2269.2,1.3c0.3,0.8,0.6,1.7,0.9,2.7C2269.9,3,2269.6,2.1,2269.2,1.3z"/>
+	<path class="st10" d="M2271.3,12.8c0,0.8-0.1,1.6-0.3,2.4C2271.2,14.4,2271.3,13.6,2271.3,12.8z"/>
+	<path class="st10" d="M2261.5,26.7L2261.5,26.7z"/>
+	<path class="st10" d="M2268.9,0.6c-0.6-1.4-1.1-2.5-1.3-2.9C2267.8-1.9,2268.4-0.9,2268.9,0.6z"/>
+	<path class="st10" d="M2270.6,5.8c-0.1-0.6-0.3-1.2-0.5-1.8C2270.3,4.6,2270.5,5.2,2270.6,5.8z"/>
+	<path class="st10" d="M2263.6,25.6c-0.4,0.2-0.8,0.5-1.3,0.7C2262.8,26.1,2263.2,25.9,2263.6,25.6z"/>
+	<path class="st10" d="M2271.3,12.8c0-0.7,0-1.5,0-2.2C2271.4,11.3,2271.4,12.1,2271.3,12.8z"/>
+	<path class="st10" d="M2270.8,16.3c-0.3,1.2-0.7,2.3-1.3,3.4C2270.1,18.6,2270.5,17.5,2270.8,16.3z"/>
+	<path class="st10" d="M2264.5-1.2c0.2-0.7,0.5-1.8,0.8-1.8c-3.1,7-4.9,17.5-3.8,29.9v-0.1c0.3-0.1,0.5-0.3,0.8-0.5
+		c0.4-0.2,0.8-0.5,1.3-0.7c2.8-1.7,4.7-3.7,5.9-5.9c0.6-1.1,1-2.3,1.3-3.4c0.1-0.4,0.2-0.8,0.3-1.2c0.1-0.8,0.2-1.6,0.3-2.4
+		c0-0.7,0-1.5,0-2.2c-6.3,1.8-8.3,5.6-8.5,5.5c0,0-1.6-7.5,5.2-9.7c0.9-0.3,1.8-0.5,2.7-0.6c-0.1-0.6-0.3-1.2-0.5-1.8
+		c-0.3-1-0.6-1.9-0.9-2.7c-0.1-0.3-0.2-0.5-0.3-0.8c-0.6-1.4-1.1-2.4-1.3-2.8C2266.5-2,2265.5-1.6,2264.5-1.2z"/>
+	<path class="st10" d="M2353.4,90.7c-0.2-0.7-0.5-1.2-1.1-1.1c-0.8,0.1-2,1.3-1.8,2.5c0.2,1,1.3,1.6,2.2,1.7c0-0.1,0-0.2,0-0.3
+		C2353,92.7,2353.2,91.7,2353.4,90.7z"/>
+	<path class="st6" d="M2262.2,78c0-0.4,0-0.8,0.1-1.2C2262.2,77.3,2262.2,77.6,2262.2,78z"/>
+	<path class="st6" d="M2262.3,76.8c0.1-0.9,0.3-1.7,0.6-2.5C2262.6,75.1,2262.4,75.9,2262.3,76.8z"/>
+	<path class="st6" d="M2267.1,73.6c-1,1.7-1.6,3.6-1.4,5.7c0.3,3.1,2.2,5.9,4.8,7.5l0.2-12.2C2269.3,74.3,2268.1,74,2267.1,73.6z"/>
+	<path class="st6" d="M2262.2,78.2c0,0.4,0,0.9,0,1.4c0.1,0.9,0.3,1.7,0.5,2.5c-0.3-0.8-0.4-1.7-0.5-2.5
+		C2262.2,79.1,2262.2,78.7,2262.2,78.2z"/>
+	<path class="st6" d="M2264.3,71.5L2264.3,71.5c-0.1,0.2-0.2,0.3-0.3,0.5C2264.1,71.9,2264.2,71.7,2264.3,71.5z"/>
+	<path class="st6" d="M2287.9,73.1c0.2,0.4,0.3,0.8,0.5,1.2C2288.3,73.9,2288.1,73.5,2287.9,73.1z"/>
+	<path class="st6" d="M2287.3,71.9c0.2,0.4,0.4,0.8,0.6,1.2C2287.8,72.7,2287.5,72.3,2287.3,71.9z"/>
+	<path class="st6" d="M2288.5,74.4c0.1,0.4,0.2,0.7,0.3,1.1C2288.8,75.2,2288.6,74.8,2288.5,74.4z"/>
+	<path class="st6" d="M2280.9,66.5c1,0.4,1.9,0.9,2.7,1.4C2282.8,67.4,2281.8,66.9,2280.9,66.5z"/>
+	<path class="st6" d="M2264.4,71.4L2264.4,71.4c0,0-0.1,0.1-0.1,0.2C2264.4,71.5,2264.4,71.4,2264.4,71.4z"/>
+	<path class="st6" d="M2283.8,68c0.4,0.3,0.7,0.5,1.1,0.8C2284.4,68.6,2284,68.3,2283.8,68z"/>
+	<path class="st6" d="M2284.9,69c0.4,0.3,0.7,0.7,1,1C2285.6,69.6,2285.2,69.3,2284.9,69z"/>
+	<path class="st6" d="M2279.5,66.1c0.4,0.1,0.9,0.3,1.3,0.4C2280.4,66.3,2279.9,66.2,2279.5,66.1z"/>
+	<path class="st6" d="M2276.5,88.2c2.1-0.2,4-1,5.5-2.3c-0.6,0.2-1.3,0.3-2,0.3c-4,0-7.3-3-7.3-6.7c0-2.5,1.5-4.7,3.7-5.9
+		c0.3,2.1,2.1,3.7,4.3,3.7c1.9,0,3.5-1.2,4.1-3c-1.7-3.5-5.6-5.8-9.9-5.4c-3.3,0.3-6.1,2.1-7.7,4.7c1,0.4,2.2,0.7,3.6,1l-0.2,12.2
+		C2272.2,87.8,2274.3,88.4,2276.5,88.2z"/>
+	<path class="st6" d="M2278.1,65.8c0.4,0.1,0.7,0.1,1.1,0.2C2278.8,65.9,2278.4,65.8,2278.1,65.8z"/>
+	<path class="st6" d="M2276,65.6c-0.5,0-1,0-1.5,0s-1,0.1-1.5,0.2c0.5-0.1,1-0.2,1.5-0.2S2275.5,65.6,2276,65.6z"/>
+	<path class="st6" d="M2270,66.8c-0.4,0.2-0.9,0.4-1.3,0.7C2269.1,67.2,2269.6,67,2270,66.8z"/>
+	<path class="st6" d="M2288.8,75.8c0.1,0.4,0.2,0.9,0.2,1.4C2289,76.7,2288.9,76.2,2288.8,75.8z"/>
+	<path class="st6" d="M2271.5,66.2c0.4-0.1,0.8-0.2,1.2-0.3C2272.3,66,2271.9,66.1,2271.5,66.2z"/>
+	<path class="st6" d="M2276.5,65.6c0.4,0,0.7,0,1.1,0.1C2277.2,65.6,2276.9,65.6,2276.5,65.6z"/>
+	<path class="st6" d="M2270.1,66.8c0.4-0.2,0.8-0.3,1.2-0.5C2270.9,66.4,2270.5,66.6,2270.1,66.8z"/>
+	<path class="st6" d="M2266,69.5c0.2-0.2,0.4-0.4,0.6-0.5C2266.4,69.1,2266.2,69.3,2266,69.5z"/>
+	<path class="st6" d="M2321.3,75.7c0.1,0.4,0.2,0.8,0.2,1.2C2321.5,76.5,2321.4,76.1,2321.3,75.7z"/>
+	<path class="st6" d="M2319.4,85.7c0.2-0.3,0.4-0.6,0.6-0.9C2319.8,85.1,2319.6,85.4,2319.4,85.7z"/>
+	<path class="st6" d="M2321.3,75.6c-0.1-0.4-0.2-0.9-0.4-1.3C2321.1,74.7,2321.2,75.2,2321.3,75.6z"/>
+	<path class="st6" d="M2321.6,77.1c0,0.4,0.1,0.8,0.1,1.2C2321.8,77.9,2321.6,77.5,2321.6,77.1z"/>
+	<path class="st6" d="M2319.9,72.1L2319.9,72.1c-0.1-0.2-0.3-0.5-0.5-0.7C2319.6,71.6,2319.8,71.8,2319.9,72.1z"/>
+	<path class="st6" d="M2321.8,78.5c0,0.5,0,0.9-0.1,1.4C2321.8,79.5,2321.8,79,2321.8,78.5z"/>
+	<path class="st6" d="M2321.6,79.9c-0.1,0.9-0.3,1.7-0.6,2.5C2321.3,81.6,2321.5,80.8,2321.6,79.9z"/>
+	<path class="st6" d="M2314.2,86.2c2.2-1.6,3.7-4,4-6.7c0.4-3.2-1-6.2-3.3-8.2c-0.1,0-0.3,0-0.4,0.1
+		C2314.4,75.2,2314.3,81.8,2314.2,86.2z"/>
+	<path class="st6" d="M2299.3,68.7c0.3-0.2,0.5-0.4,0.8-0.6C2299.9,68.3,2299.6,68.5,2299.3,68.7z"/>
+	<path class="st6" d="M2300.5,67.8c0.3-0.2,0.6-0.4,0.9-0.5C2301.1,67.4,2300.8,67.6,2300.5,67.8z"/>
+	<path class="st6" d="M2298,70c0.3-0.4,0.7-0.7,1-1C2298.6,69.3,2298.3,69.6,2298,70z"/>
+	<path class="st6" d="M2318.5,86.8c0.3-0.3,0.6-0.7,0.9-1.1C2319.1,86,2318.8,86.4,2318.5,86.8z"/>
+	<path class="st6" d="M2314.5,89.8c-0.8,0.4-1.6,0.7-2.4,0.9C2312.9,90.4,2313.8,90.1,2314.5,89.8z"/>
+	<path class="st6" d="M2312.6,66.3c0.4,0.1,0.8,0.3,1.2,0.5C2313.5,66.6,2313.1,66.5,2312.6,66.3z"/>
+	<path class="st6" d="M2303.2,66.5c0.5-0.2,0.9-0.3,1.4-0.4C2304.1,66.1,2303.6,66.3,2303.2,66.5z"/>
+	<path class="st6" d="M2295.1,75.5c0.1-0.3,0.2-0.7,0.3-1C2295.3,74.9,2295.2,75.2,2295.1,75.5z"/>
+	<path class="st6" d="M2299.6,73.5c0.9,2.1,3.2,3.3,5.5,2.7c2-0.5,3.4-2.3,3.6-4.3c2,0.9,3.5,2.6,4.1,4.7c1,4-1.7,8-6,9.1
+		c-1.9,0.5-3.7,0.3-5.3-0.4c1.5,1.4,3.5,2.4,5.7,2.7c2.6,0.3,5.1-0.5,7.1-1.9c0.1-4.4,0.2-11.1,0.3-14.8c0.1,0,0.3,0,0.4-0.1
+		c-1.5-1.3-3.4-2.2-5.5-2.4C2305.3,68.5,2301.5,70.4,2299.6,73.5z"/>
+	<path class="st6" d="M2306.6,65.7c0.4,0,0.7-0.1,1.1-0.1C2307.3,65.6,2306.9,65.6,2306.6,65.7z"/>
+	<path class="st6" d="M2305,65.9c0.3-0.1,0.7-0.1,1.1-0.2C2305.8,65.8,2305.4,65.8,2305,65.9z"/>
+	<path class="st6" d="M2309.8,65.7c0.5,0.1,1,0.1,1.4,0.2C2310.8,65.8,2310.2,65.7,2309.8,65.7z"/>
+	<path class="st6" d="M2311.4,66c0.4,0.1,0.8,0.2,1.2,0.3C2312.1,66.2,2311.8,66.1,2311.4,66z"/>
+	<path class="st6" d="M2316.6,88.5c0.7-0.5,1.3-1.1,1.9-1.7C2317.9,87.4,2317.3,87.9,2316.6,88.5z"/>
+	<path class="st6" d="M2308.1,65.6c0.5,0,1,0,1.6,0.1C2309.2,65.6,2308.8,65.6,2308.1,65.6z"/>
+	<path class="st6" d="M2295.4,74.3c0.3-0.8,0.6-1.5,1-2.2C2296,72.8,2295.8,73.6,2295.4,74.3z"/>
+	<path class="st6" d="M2315.1,67.5c-0.4-0.2-0.8-0.4-1.2-0.6C2314.3,67,2314.8,67.2,2315.1,67.5z"/>
+	<path class="st6" d="M2317.5,69.2c-0.1-0.1-0.2-0.2-0.3-0.3C2317.3,69,2317.4,69.1,2317.5,69.2z"/>
+	<path class="st6" d="M2301.8,67.1c0.4-0.2,0.9-0.4,1.3-0.6C2302.8,66.6,2302.2,66.8,2301.8,67.1z"/>
+	<path class="st11" d="M2280.6,77.3c-2.2,0-4-1.6-4.3-3.7c-2.2,1.2-3.7,3.3-3.7,5.9c0,3.7,3.3,6.7,7.3,6.7c0.7,0,1.4-0.1,2-0.3
+		c2.5-2,3.9-5.2,3.6-8.4c-0.1-1.1-0.4-2.2-0.9-3.1C2284.1,76.1,2282.5,77.3,2280.6,77.3z"/>
+	<path class="st11" d="M2306.8,85.8c4.3-1.1,7-5.1,6-9.1c-0.5-2.2-2.1-3.8-4.1-4.7c-0.1,2-1.5,3.7-3.6,4.3c-2.3,0.6-4.6-0.6-5.5-2.7
+		c-0.7,1.1-1.1,2.3-1.3,3.7c-0.4,3.1,0.9,6.2,3.1,8.3C2303,86.1,2304.8,86.3,2306.8,85.8z"/>
+	<path class="st11" d="M2324.8,70.3c0,0-1.9,2.7-5,1.7c0.4,0.7,0.8,1.4,1.1,2.2C2321.8,74.2,2324,73.7,2324.8,70.3z"/>
+	<path class="st11" d="M2321.3,75.6L2321.3,75.6z"/>
+	<path class="st11" d="M2261.6,66.6c0,3.1,1.7,4.3,2.6,4.7c-0.5-1-0.9-1.9-1.1-2.7C2262,67.7,2261.6,66.6,2261.6,66.6z"/>
+	<path class="st11" d="M2267,88.2C2267,88.2,2267,88.3,2267,88.2C2267,88.3,2267,88.2,2267,88.2z"/>
+	<path class="st11" d="M2318.8,70.6c0.2,0.2,0.4,0.5,0.6,0.7c0.7-0.3,2.8-1.4,2.7-4.8c0,0-0.6,1.7-2.3,2.5c-0.4,0.9-0.8,1.5-0.8,1.5
+		S2318.9,70.6,2318.8,70.6z"/>
+	<path class="st11" d="M2262.2,78.2c0-0.1,0-0.1,0-0.2C2262.2,78.1,2262.2,78.2,2262.2,78.2z"/>
+	<path class="st11" d="M2262.3,76.9C2262.3,76.8,2262.3,76.8,2262.3,76.9C2262.3,76.8,2262.3,76.8,2262.3,76.9z"/>
+	<path class="st11" d="M2321.6,76.9c0,0.1,0,0.1,0,0.2C2321.6,77,2321.6,77,2321.6,76.9z"/>
+	<path class="st11" d="M2258.9,70.3c0.9,3.5,3.4,3.9,4,4c0.3-0.8,0.6-1.5,1.1-2.3C2260.8,73.1,2258.9,70.3,2258.9,70.3z"/>
+	<path class="st11" d="M2321.8,78.2c0,0.1,0,0.2,0,0.3C2321.8,78.4,2321.8,78.3,2321.8,78.2z"/>
+	<path class="st11" d="M2302.8,90c-0.8-0.3-1.6-0.8-2.3-1.2C2301.3,89.3,2302,89.7,2302.8,90z"/>
+	<path class="st11" d="M2300.6,88.8c-0.7-0.5-1.4-1-2-1.6C2299.2,87.8,2299.8,88.3,2300.6,88.8z"/>
+	<path class="st11" d="M2288.4,74.3L2288.4,74.3C2288.5,74.4,2288.4,74.3,2288.4,74.3z"/>
+	<path class="st11" d="M2295.4,74.5c0-0.1,0-0.1,0.1-0.2C2295.4,74.4,2295.4,74.5,2295.4,74.5z"/>
+	<path class="st11" d="M2294.9,76.8c0.1-0.4,0.1-0.8,0.2-1.3C2295,76,2294.9,76.4,2294.9,76.8z"/>
+	<path class="st11" d="M2287.9,73.1L2287.9,73.1z"/>
+	<path class="st11" d="M2271.3,66.3c0.1,0,0.1-0.1,0.2-0.1C2271.5,66.2,2271.4,66.3,2271.3,66.3z"/>
+	<path class="st11" d="M2303.2,66L2303.2,66z"/>
+	<path class="st11" d="M2301.4,67.3c0.1-0.1,0.3-0.1,0.4-0.2C2301.8,67.1,2301.6,67.2,2301.4,67.3z"/>
+	<path class="st11" d="M2300.1,68.1c0.1-0.1,0.3-0.2,0.4-0.3C2300.4,67.9,2300.3,68,2300.1,68.1z"/>
+	<path class="st11" d="M2299,69c0.1-0.1,0.2-0.2,0.3-0.3C2299.2,68.8,2299.1,68.9,2299,69z"/>
+	<path class="st11" d="M2304.6,66c0.1,0,0.3-0.1,0.4-0.1C2304.9,65.9,2304.8,66,2304.6,66z"/>
+	<path class="st11" d="M2311.1,65.9c0.1,0,0.1,0,0.2,0.1C2311.3,65.9,2311.2,65.9,2311.1,65.9z"/>
+	<path class="st11" d="M2298,70c-5.2-2.6-10.4-0.7-12.1,0c0.5,0.6,1,1.2,1.4,1.9c5.6-1.6,8.3-0.4,9.1,0.2
+		C2296.9,71.3,2297.4,70.6,2298,70z"/>
+	<path class="st11" d="M2307.8,65.6c0.2,0,0.3,0,0.5,0C2308,65.6,2307.8,65.6,2307.8,65.6z"/>
+	<path class="st11" d="M2306.1,65.7c0.2,0,0.3,0,0.5-0.1C2306.4,65.7,2306.2,65.7,2306.1,65.7z"/>
+	<path class="st11" d="M2276,65.6c0.2,0,0.3,0,0.5,0C2276.3,65.6,2276.2,65.6,2276,65.6z"/>
+	<path class="st11" d="M2270,66.8C2270,66.8,2270.1,66.8,2270,66.8C2270.1,66.8,2270,66.8,2270,66.8z"/>
+	<path class="st11" d="M2312.5,66.3C2312.6,66.3,2312.6,66.3,2312.5,66.3C2312.6,66.3,2312.6,66.3,2312.5,66.3z"/>
+	<path class="st11" d="M2272.8,65.9c0.1,0,0.2-0.1,0.3-0.1C2272.9,65.9,2272.8,65.9,2272.8,65.9z"/>
+	<path class="st11" d="M2284.8,68.9l0.1,0.1C2284.8,68.9,2284.8,68.9,2284.8,68.9z"/>
+	<path class="st11" d="M2264.8,63.7c-0.8,3.4,1.2,4.9,1.8,5.3c0.6-0.6,1.3-1.1,2.1-1.5C2265.3,67,2264.8,63.7,2264.8,63.7z"/>
+	<path class="st11" d="M2288.8,75.5c0,0.1,0,0.2,0.1,0.2C2288.8,75.7,2288.8,75.6,2288.8,75.5z"/>
+	<path class="st11" d="M2283.6,68c0,0,0.1,0,0.1,0.1C2283.6,68,2283.6,68,2283.6,68z"/>
+	<path class="st11" d="M2280.8,66.5L2280.8,66.5z"/>
+	<path class="st11" d="M2279.1,66c0.1,0,0.3,0.1,0.4,0.1C2279.4,66,2279.2,66,2279.1,66z"/>
+	<path class="st11" d="M2277.6,65.7c0.2,0,0.3,0,0.5,0.1C2277.9,65.7,2277.8,65.7,2277.6,65.7z"/>
+	<path class="st11" d="M2266,69.5L2266,69.5c-1.3,0.1-2.2-0.4-2.9-0.9c0.2,0.9,0.6,1.8,1.1,2.7c0.1,0,0.2,0.1,0.2,0.1
+		C2264.9,70.7,2265.4,70.1,2266,69.5z"/>
+	<path class="st11" d="M2317.5,69.2c0.5,0.4,1,0.9,1.4,1.4c0.1,0,0.1,0,0.1,0s0.4-0.6,0.8-1.5c-0.5,0.3-1.2,0.4-2,0.4
+		C2317.8,69.4,2317.6,69.3,2317.5,69.2z"/>
+	<path class="st11" d="M2306.8,91.1c-0.9-0.1-1.8-0.3-2.7-0.6C2304.9,90.8,2305.8,91,2306.8,91.1c0.9,0.1,1.8,0.1,2.7,0.1
+		C2308.6,91.2,2307.8,91.2,2306.8,91.1z"/>
+	<path class="st11" d="M2284.1,88.2c-0.7,0.5-1.4,1-2.2,1.4C2282.8,89.2,2283.4,88.8,2284.1,88.2z"/>
+	<path class="st11" d="M2276.8,91.1c1.9-0.2,3.6-0.7,5.1-1.5C2280.4,90.4,2278.6,90.9,2276.8,91.1c-3.7,0.3-7.1-0.8-9.8-2.8
+		C2269.8,90.3,2273.1,91.4,2276.8,91.1z"/>
+	<path class="st11" d="M2309.8,65.8L2309.8,65.8z"/>
+	<path class="st11" d="M2313.9,67L2313.9,67z"/>
+	<path class="st11" d="M2318.9,63.7c0,0-0.5,3.3-3.8,3.8c0.7,0.4,1.4,0.9,2.1,1.5C2317.8,68.5,2319.8,67,2318.9,63.7z"/>
+	<path class="st11" d="M2270.4,90l0.1-3.2c-2.6-1.6-4.5-4.4-4.8-7.5c-0.2-2.1,0.3-4,1.4-5.7c-1.3-0.5-2.2-1.2-2.7-2
+		c-0.1,0.2-0.2,0.3-0.3,0.5c-0.4,0.7-0.8,1.5-1.1,2.3c-0.3,0.8-0.5,1.6-0.6,2.5V77c-0.1,0.4-0.1,0.8-0.1,1.2c0,0.1,0,0.1,0,0.2
+		c0,0.4,0,0.9,0,1.4c0.1,0.9,0.3,1.7,0.5,2.5c0.8,2.4,2.3,4.5,4.2,6.1c0,0,0,0,0.1,0C2268.4,88.4,2269.6,89,2270.4,90z"/>
+	<path class="st11" d="M2284.9,69l-0.1-0.1c-0.3-0.3-0.7-0.6-1.1-0.8l-0.1-0.1c-0.8-0.6-1.7-1.1-2.7-1.4h-0.1
+		c-0.4-0.2-0.8-0.3-1.3-0.4c-0.1,0-0.3-0.1-0.4-0.1c-0.3-0.1-0.7-0.2-1.1-0.2c-0.2,0-0.3-0.1-0.5-0.1c-0.4,0-0.7-0.1-1.1-0.1
+		c-0.2,0-0.3,0-0.5,0c-0.5,0-1,0-1.5,0s-1,0.1-1.5,0.2c-0.1,0-0.2,0-0.3,0.1c-0.4,0.1-0.8,0.2-1.2,0.3c-0.1,0-0.1,0.1-0.2,0.1
+		c-0.4,0.1-0.8,0.3-1.2,0.5h-0.1c-0.4,0.2-0.9,0.4-1.3,0.7c-0.8,0.4-1.5,0.9-2.1,1.5c-0.2,0.2-0.4,0.4-0.6,0.5
+		c-0.6,0.6-1.1,1.2-1.6,1.9c0,0-0.1,0.1-0.1,0.2c0.5,0.8,1.5,1.5,2.7,2c1.6-2.5,4.4-4.4,7.7-4.7c4.3-0.4,8.2,1.9,9.9,5.4
+		c1.6,1.2,2.5,3.1,2.5,5.1c0,3.1-2.2,5.7-5.3,6.5c-1.5,1.3-3.4,2.1-5.5,2.3c-2.2,0.2-4.3-0.4-6-1.4l-0.1,3.2c-0.8-1-2-1.6-3.4-1.7
+		c2.6,2.1,6.1,3.2,9.8,2.8c1.9-0.2,3.6-0.7,5.1-1.5c0.8-0.4,1.5-0.9,2.2-1.4c3.4-2.6,5.4-6.7,5-11.1c0-0.5-0.1-0.9-0.2-1.4
+		c0-0.1,0-0.2-0.1-0.2c-0.1-0.4-0.2-0.8-0.3-1.1v-0.1c-0.1-0.4-0.3-0.8-0.5-1.2c-0.2-0.4-0.4-0.8-0.6-1.2c-0.4-0.7-0.9-1.3-1.4-1.9
+		C2285.6,69.6,2285.2,69.3,2284.9,69z"/>
+	<path class="st11" d="M2314.9,71.3c2.3,2,3.7,5,3.3,8.2c-0.3,2.7-1.8,5.1-4,6.7c0,0.3,0,0.7,0,1c0.9-1.1,2.3-1.8,3.8-1.8
+		c0.5,0,1,0.1,1.4,0.2c0.2-0.3,0.4-0.6,0.6-0.9c0.4-0.7,0.8-1.5,1.1-2.3c0.3-0.8,0.5-1.7,0.6-2.5c0.1-0.5,0.1-0.9,0.1-1.4
+		c0-0.1,0-0.2,0-0.3c0-0.4,0-0.8-0.1-1.2c0-0.1,0-0.1,0-0.2c-0.1-0.4-0.1-0.8-0.2-1.2c0,0,0,0,0-0.1c-0.1-0.4-0.2-0.9-0.4-1.3
+		c-0.3-0.8-0.6-1.5-1.1-2.2c-0.1-0.2-0.3-0.5-0.5-0.7c-0.2-0.3-0.4-0.5-0.6-0.7C2318.4,70.7,2317,71,2314.9,71.3z"/>
+	<path class="st11" d="M2317.9,85.4c-1.5,0-2.9,0.7-3.8,1.8c0-0.3,0-0.7,0-1c-2,1.4-4.5,2.2-7.1,1.9c-2.2-0.3-4.2-1.3-5.7-2.7
+		c-2.1-0.9-3.7-2.6-4.3-4.8c-0.7-2.7,0.3-5.4,2.4-7.2c0,0,0,0.1,0.1,0.1c1.9-3.1,5.7-5.1,9.7-4.6c2.1,0.2,4,1.1,5.5,2.4
+		c2.1-0.4,3.6-0.6,4-0.7c-0.4-0.5-0.9-1-1.4-1.4c-0.1-0.1-0.2-0.2-0.3-0.3c-0.6-0.6-1.3-1-2.1-1.4c-0.4-0.2-0.8-0.5-1.2-0.5
+		s-0.8-0.4-1.2-0.6l-0.1-0.1c-0.4-0.1-0.8-0.3-1.2-0.4c-0.1,0-0.1,0.1-0.2,0.1c-0.5-0.1-0.9-0.1-1.4-0.1h0.2v-0.2
+		c-1-0.1-1.1-0.2-1.7-0.2c-0.2,0-0.4,0-0.5,0c-0.4,0-0.7,0-1.1,0c-0.2,0-0.4,0-0.5,0.1c-0.4,0.1-0.7,0.1-1.1,0.2
+		c-0.1,0-0.3-0.2-0.4-0.1c-0.5,0.1-1,0.2-1.4,0.2c-0.5,1-0.9,0.6-1.3,0.8c-0.1,0.1-0.3,0.3-0.4,0.3c-0.3,0.2-0.6,0.4-0.9,0.6
+		c-0.1,0.1-0.3,0.2-0.4,0.3c-0.3,0.2-0.6,0.4-0.8,0.7c-0.1,0.1-0.2,0.2-0.3,0.3c-0.4,0.3-0.7,0.7-1,1c-0.6,0.7-1.1,1.4-1.5,2.1
+		s-0.7,1.4-1,2.2c0,0.1,0,0.1-0.1,0.2c-0.1,0.3-0.2,0.7-0.3,1c-0.1,0.4-0.2,0.8-0.2,1.3c-0.5,3.9,1,7.7,3.7,10.4
+		c0.6,0.6,1.3,1.1,2,1.6c0.7,0.5,1.5,0.9,2.3,1.2c0.4,0.2,0.8,0.3,1.2,0.5c0.9,0.3,1.7,0.5,2.7,0.6c0.9,0.1,1.8,0.1,2.7,0.1
+		c0.9-0.1,1.8-0.2,2.6-0.4c0.8-0.2,1.6-0.5,2.4-0.9s1.5-0.8,2.2-1.3c0.7-0.5,1.3-1.1,1.9-1.7c0.3-0.3,0.6-0.7,0.9-1.1
+		C2318.9,85.5,2318.4,85.4,2317.9,85.4z"/>
+	<path class="st11" d="M2282,85.9c3.1-0.8,5.3-3.4,5.3-6.5c0-2-1-3.9-2.5-5.1c0.5,1,0.8,2,0.9,3.1
+		C2285.9,80.7,2284.4,83.8,2282,85.9z"/>
+	<path class="st11" d="M2298.3,77.2c0.2-1.3,0.6-2.6,1.3-3.7c0,0,0-0.1-0.1-0.1c-2.1,1.8-3.1,4.5-2.4,7.2c0.6,2.2,2.2,4,4.3,4.8
+		C2299.2,83.4,2297.9,80.3,2298.3,77.2z"/>
+	<path class="st12" d="M2283.4,104.8c12.8,10.2,19.2,0.4,19.2,0.4C2292.3,108.9,2283.4,104.8,2283.4,104.8z"/>
+	<path class="st12" d="M2285.8,59.1c0,0-1.6-2.8-6.9-4.3c-3.5-0.6-7.3,0.2-10.8,1.7l0.7,1.9C2268.8,58.4,2279.9,56.4,2285.8,59.1z"
+		/>
+	<path class="st12" d="M2317.4,57.5c-0.2,1.3-0.4,2-0.4,2C2317.2,59.1,2317.4,58.3,2317.4,57.5z"/>
+	<path class="st12" d="M2299.8,57.9c-1.2,1-1.6,1.8-1.6,1.8c10.7-4.2,18.9-0.2,18.9-0.2s0.2-0.7,0.4-2c0-0.3,0.1-0.7,0.1-1
+		C2311.9,54.1,2305.1,54.7,2299.8,57.9z"/>
+	<path class="st12" d="M2185.3,115.3c-0.1,0.2-0.3,0.3-0.4,0.5C2185.1,115.6,2185.2,115.5,2185.3,115.3z"/>
+	<path class="st12" d="M2226.8,76.8c-0.2,0-0.3-0.1-0.5-0.1C2226.4,76.8,2226.6,76.8,2226.8,76.8z"/>
+	<path class="st12" d="M2228.8,77.3c-0.4-0.2-0.9-0.3-1.4-0.4C2227.8,77,2228.3,77.2,2228.8,77.3z"/>
+	<path class="st12" d="M2227.3,76.7c0.2,0,0.4,0,0.6,0.1c-0.1-0.1-0.2-0.2-0.4-0.3c-8.3-2.8-19.5-2.5-25,5.4
+		c-7.1,10.3-4.8,27-17.2,33.5c-0.1,0.2-0.3,0.3-0.4,0.5c0,0,9-3.4,13.8-12.5c2.9-6.6,4-13.6,9.3-19c4.2-4.2,10.8-8,17-7.6
+		C2225.8,76.5,2226.6,76.5,2227.3,76.7z"/>
+	<path class="st12" d="M2227.9,76.7c-0.2,0-0.4-0.1-0.6-0.1c0.3,0.1,0.5,0.1,0.8,0.2C2228,76.8,2228,76.8,2227.9,76.7z"/>
+	<path class="st12" d="M2227.3,76.7c-0.7-0.1-1.5-0.2-2.3,0c0.4,0,0.7,0.1,1,0.1C2226.5,76.7,2226.9,76.6,2227.3,76.7z"/>
+	<path class="st12" d="M2228.1,76.9c-0.3-0.1-0.5-0.2-0.8-0.2c-0.4,0-0.8,0-1.2,0.1c0.1,0,0.1,0,0.2,0c0.2,0,0.3,0,0.5,0.1
+		c0.2,0,0.4,0.1,0.6,0.1c0.5,0.1,1,0.2,1.4,0.4C2228.5,77.2,2228.3,77,2228.1,76.9z"/>
+	<path class="st12" d="M2393,113.7c-0.1-0.2-0.3-0.3-0.4-0.5C2392.8,113.4,2392.9,113.5,2393,113.7z"/>
+	<path class="st12" d="M2374.8,85.3c-0.2-0.1-0.5-0.3-0.7-0.4C2374.2,85.1,2374.5,85.2,2374.8,85.3z"/>
+	<path class="st12" d="M2367.3,82.3c-0.3-0.1-0.7-0.1-1-0.2C2366.6,82.1,2366.9,82.2,2367.3,82.3z"/>
+	<path class="st12" d="M2366.2,82.1c-0.3-0.1-0.7-0.1-1-0.1C2365.5,82,2365.8,82,2366.2,82.1z"/>
+	<path class="st12" d="M2390.8,110.7c-0.1-0.2-0.2-0.3-0.4-0.5C2390.5,110.4,2390.6,110.6,2390.8,110.7z"/>
+	<path class="st12" d="M2375.8,86c-0.2-0.1-0.4-0.3-0.6-0.4C2375.3,85.7,2375.5,85.8,2375.8,86z"/>
+	<path class="st12" d="M2379.3,88.8c-0.1-0.1-0.2-0.2-0.3-0.3C2379.1,88.6,2379.2,88.7,2379.3,88.8z"/>
+	<path class="st12" d="M2376.8,86.6c-0.2-0.1-0.4-0.3-0.6-0.4C2376.3,86.4,2376.5,86.5,2376.8,86.6z"/>
+	<path class="st12" d="M2364,81.9L2364,81.9c0.4,0,0.7,0,1.1,0C2364.8,81.9,2364.4,81.9,2364,81.9z"/>
+	<path class="st12" d="M2377.6,87.3c-0.2-0.1-0.3-0.3-0.5-0.4C2377.2,87.1,2377.4,87.2,2377.6,87.3z"/>
+	<path class="st12" d="M2378.5,88.1c-0.1-0.1-0.3-0.2-0.4-0.3C2378.2,87.8,2378.3,87.9,2378.5,88.1z"/>
+	<path class="st12" d="M2391.9,112.3c-0.1-0.2-0.3-0.4-0.4-0.6C2391.6,112,2391.8,112.1,2391.9,112.3z"/>
+	<path class="st12" d="M2371.6,83.7c-0.3-0.1-0.6-0.2-0.9-0.4C2371,83.5,2371.3,83.6,2371.6,83.7z"/>
+	<path class="st12" d="M2369.5,82.9c-0.3-0.1-0.6-0.2-0.9-0.3C2368.8,82.7,2369.1,82.8,2369.5,82.9z"/>
+	<path class="st12" d="M2398.6,118.5L2398.6,118.5z"/>
+	<path class="st12" d="M2370.5,83.3c-0.3-0.1-0.6-0.2-0.9-0.3C2369.9,83,2370.2,83.1,2370.5,83.3z"/>
+	<path class="st12" d="M2373.8,84.7c-0.2-0.1-0.5-0.3-0.8-0.4C2373.2,84.5,2373.5,84.6,2373.8,84.7z"/>
+	<path class="st12" d="M2394.2,114.9c-0.1-0.1-0.3-0.3-0.4-0.4C2393.9,114.6,2394,114.8,2394.2,114.9z"/>
+	<path class="st12" d="M2372.8,84.2c-0.3-0.1-0.5-0.3-0.8-0.4C2372.1,83.9,2372.4,84.1,2372.8,84.2z"/>
+	<path class="st12" d="M2396.4,116.9c-0.1-0.1-0.2-0.1-0.2-0.2C2396.3,116.8,2396.3,116.9,2396.4,116.9z"/>
+	<path class="st12" d="M2397.5,117.8l-0.1-0.1L2397.5,117.8z"/>
+	<path class="st12" d="M2395.3,116c-0.1-0.1-0.2-0.2-0.3-0.3C2395.1,115.8,2395.2,115.9,2395.3,116z"/>
+	<path class="st12" d="M2368.4,82.5c-0.3-0.1-0.6-0.2-1-0.2C2367.8,82.4,2368,82.4,2368.4,82.5z"/>
+	<path class="st12" d="M2389.5,97.1c-0.9-3-1.9-6.3-4-8.7c-4.7-5.2-13.6-7.6-21.5-6.5c0.4,0,0.7,0,1.1,0c0.3,0,0.7,0.1,1,0.1h0.1
+		c0.3,0.1,0.7,0.1,1,0.2h0.1c0.3,0.1,0.6,0.2,1,0.2c0.1,0,0.1,0,0.2,0c0.3,0.1,0.6,0.2,0.9,0.3c0.1,0,0.1,0,0.2,0.1
+		c0.3,0.1,0.6,0.2,0.9,0.3c0.1,0,0.1,0.1,0.2,0.1c0.3,0.1,0.6,0.2,0.9,0.4c0.1,0,0.2,0.1,0.2,0.1c0.3,0.1,0.5,0.3,0.8,0.4
+		c0.1,0,0.2,0.1,0.3,0.1c0.3,0.1,0.5,0.3,0.8,0.4c0.1,0.1,0.2,0.1,0.3,0.2c0.2,0.1,0.5,0.3,0.7,0.4c0.1,0.1,0.2,0.1,0.3,0.2
+		c0.2,0.1,0.4,0.3,0.6,0.4c0.1,0.1,0.3,0.2,0.4,0.3c0.2,0.1,0.4,0.3,0.6,0.4c0.1,0.1,0.3,0.2,0.4,0.3c0.2,0.1,0.3,0.3,0.5,0.4
+		c0.2,0.1,0.3,0.3,0.5,0.4c0.1,0.1,0.3,0.2,0.4,0.3c0.2,0.2,0.4,0.3,0.5,0.5c0.1,0.1,0.2,0.2,0.3,0.3c0.3,0.3,0.5,0.5,0.8,0.8
+		c5.3,5.3,6.4,12.4,9.3,19c0.3,0.6,0.6,1.2,1,1.7c0.1,0.2,0.2,0.3,0.4,0.5c0.2,0.4,0.5,0.7,0.7,1c0.1,0.2,0.3,0.4,0.4,0.6
+		c0.2,0.3,0.5,0.6,0.7,0.9c0.1,0.2,0.3,0.3,0.4,0.5c0.2,0.3,0.5,0.6,0.7,0.8c0.1,0.1,0.3,0.3,0.4,0.4c0.3,0.3,0.5,0.5,0.8,0.8
+		c0.1,0.1,0.2,0.2,0.3,0.3c0.3,0.3,0.6,0.5,0.9,0.8c0.1,0.1,0.2,0.1,0.2,0.2c0.3,0.3,0.7,0.5,1,0.8l0.1,0.1c0.4,0.3,0.7,0.5,1.1,0.7
+		c-2.9-3-4.7-7-6-11.1C2391.4,104,2390.6,100.5,2389.5,97.1z"/>
+	<path class="st8" d="M2300.5,41.8c0,0-7.9-7.6-20.2-4c-11,3.2-10.1,12.3-10.1,12.3S2275.9,39.4,2300.5,41.8z"/>
+	<path class="st8" d="M2289.3,23.8c0,0-7.4-6.8-17.2-2.9c-8.3,3.3-5.8,11.8-5.8,11.8S2271.3,20.8,2289.3,23.8z"/>
+	<path class="st8" d="M2271.2,9.3c0,0.4,0.1,0.9,0.1,1.3c3.1-0.9,7.1-1.3,12.5-0.6c0,0-4.9-5.5-13.2-4.2c0,0.1,0,0.1,0,0.2
+		C2270.9,7.1,2271.1,8.2,2271.2,9.3z"/>
+	<path class="st8" d="M2271.3,10.6L2271.3,10.6c0-0.4-0.1-0.9-0.1-1.3C2271.3,9.7,2271.3,10.2,2271.3,10.6z"/>
+	<path class="st8" d="M2270.8,6c0-0.1,0-0.1,0-0.2C2270.6,5.9,2270.8,6,2270.8,6z"/>
+	<path class="st8" d="M2270.8,6c0.2,1.1,0.4,2.2,0.6,3.3C2271.1,8.2,2270.9,7.1,2270.8,6z"/>
+	<path class="st8" d="M2270.8,6c0-0.1,0-0.1,0-0.2c-0.9,0.1-1.7,0.3-2.7,0.6c-6.7,2.1-5.2,9.7-5.2,9.7c0.3,0.1,2.3-3.7,8.5-5.5
+		c0-0.4-0.1-0.9-0.1-1.3C2271.1,8.2,2270.9,7.1,2270.8,6z"/>
+	<path class="st8" d="M2265.4-3.6L2265.4-3.6z"/>
+	<path class="st8" d="M2267.4-2.7L2267.4-2.7c0.1,0,0.1,0,0.1,0s0.1,0.1,0.1,0.3c6.3-1.5,13.8-0.4,13.8-0.4s-4.9-5.5-15.1-3
+		c-0.3,0.7-0.6,1.4-0.9,2.1c0,0,0,0,0,0.1s0,0.1-0.1,0.2C2266.4-3.1,2267.1-2.8,2267.4-2.7z"/>
+	<path class="st8" d="M2267.4-2.7C2267.4-2.6,2267.5-2.6,2267.4-2.7C2267.5-2.6,2267.4-2.6,2267.4-2.7z"/>
+	<path class="st8" d="M2265.3-3.4L2265.3-3.4c1.1,0.3,1.8,0.6,2.1,0.7C2267.1-2.8,2266.4-3.1,2265.3-3.4z"/>
+	<path class="st8" d="M2267.4-2.7L2267.4-2.7z"/>
+	<path class="st8" d="M2267.5-2.6L2267.5-2.6c0,0,0.1,0.1,0.1,0.3C2267.5-2.5,2267.5-2.6,2267.5-2.6z"/>
+	<path class="st8" d="M2267.6-2.4c-0.1-0.2-0.1-0.3-0.1-0.3s0,0-0.1,0c-0.3-0.1-1-0.4-2.1-0.7c-0.3,0.7-0.5,1.3-0.8,2
+		C2265.5-1.8,2266.5-2.1,2267.6-2.4z"/>
+	<path class="st8" d="M2275.6-19.3L2275.6-19.3z"/>
+	<path class="st8" d="M2272.9-16.3L2272.9-16.3z"/>
+	<path class="st8" d="M2275.6-19.3L2275.6-19.3c-0.9,0.9-1.8,1.9-2.7,2.9c4.9,0,7.9,1.6,7.9,1.6S2279.8-19.2,2275.6-19.3z"/>
+	<path class="st8" d="M2319.2-12.2c0,0.1,0,0.2,0,0.3C2319.2-12,2319.2-12.1,2319.2-12.2z"/>
+	<path class="st8" d="M2318.5-7.5c0,0.1,0,0.2-0.1,0.3C2318.4-7.3,2318.5-7.4,2318.5-7.5z"/>
+	<path class="st8" d="M2319.2-13.1v0.1C2319.2-13.1,2319.2-13.1,2319.2-13.1z"/>
+	<path class="st8" d="M2318.1-6.3L2318.1-6.3z"/>
+	<path class="st8" d="M2319.1-10.4c0,0.1,0,0.2,0,0.3C2319.1-10.1,2319.1-10.2,2319.1-10.4z"/>
+	<path class="st8" d="M2318.9-9.4c0,0.1,0,0.2-0.1,0.3C2318.9-9.2,2318.9-9.3,2318.9-9.4z"/>
+	<path class="st8" d="M2319.2-11.3c0,0.1,0,0.2,0,0.3C2319.2-11.1,2319.2-11.2,2319.2-11.3z"/>
+	<path class="st8" d="M2318.8-8.5c0,0.1,0,0.2-0.1,0.3C2318.8-8.3,2318.8-8.4,2318.8-8.5z"/>
+	<path class="st8" d="M2319.1-14.1L2319.1-14.1z"/>
+	<path class="st8" d="M2311-6.4c0,0,4,0.6,7.2,0.1c0.1-0.3,0.2-0.6,0.3-0.9c0-0.1,0-0.2,0.1-0.3c0.1-0.2,0.1-0.4,0.2-0.7
+		c0-0.1,0.1-0.2,0.1-0.3c0-0.2,0.1-0.4,0.1-0.6c0-0.1,0-0.2,0.1-0.3c0-0.2,0.1-0.4,0.1-0.6c0-0.1,0-0.2,0-0.3c0-0.2,0-0.4,0.1-0.6
+		c0-0.1,0-0.2,0-0.3c0-0.2,0-0.4,0-0.7c0-0.1,0-0.2,0-0.3c0-0.3,0-0.5,0-0.8v-0.1c0-0.3,0-0.6-0.1-1
+		C2318.5-12.1,2316.2-6.8,2311-6.4z"/>
+	<path class="st8" d="M2309.3,6.8c1.7-1.3,3.3-2.9,4.6-4.8c-1.2,0.4-6.2,1.5-11-1.2C2302.9,0.7,2305.2,5,2309.3,6.8z"/>
+	<path class="st12" d="M2297.5,12.4C2297.5,12.5,2297.5,12.5,2297.5,12.4c1.2-0.3,2.3-0.7,3.3-1
+		C2298.8,12.1,2297.5,12.4,2297.5,12.4z"/>
+	<path class="st12" d="M2300.8-12.4c-4.7,5.5-3.3,24-3.3,24.8c0,0,1.3-0.3,3.3-1c1.9-0.7,3.2-1.3,3.2-1.3
+		C2296.5-1.6,2300.8-12.4,2300.8-12.4z"/>
+	<path class="st8" d="M2191.8,70.9L2191.8,70.9z"/>
+	<path class="st8" d="M2189.8,74.4L2189.8,74.4z"/>
+	<path class="st8" d="M2201.1,73.4c-4.3-3-7.8-2.8-9.4-2.5c-0.7,1-1.4,2.2-2,3.5C2194.5,73.1,2201.1,73.4,2201.1,73.4z"/>
+	<path class="st8" d="M2187.8,79.1C2187.8,79,2187.8,79,2187.8,79.1C2187.8,79,2187.8,79,2187.8,79.1z"/>
+	<path class="st8" d="M2188.3,77.6L2188.3,77.6z"/>
+	<path class="st8" d="M2187.1,80.5L2187.1,80.5C2187.1,80.5,2187.2,80.5,2187.1,80.5C2187.2,80.5,2187.1,80.5,2187.1,80.5z"/>
+	<path class="st8" d="M2187.9,77.6L2187.9,77.6c0,0.5-0.2,1-0.4,1.5h0.1c-0.2,0.5-0.3,1-0.5,1.5c3.6-1.3,7.5-1.8,7.5-1.8
+		C2191.9,77.4,2189.9,77.3,2187.9,77.6z"/>
+	<path class="st8" d="M2185.8,85.6L2185.8,85.6z"/>
+	<path class="st8" d="M2185.5,86.9L2185.5,86.9z"/>
+	<path class="st8" d="M2186,84.3L2186,84.3z"/>
+	<path class="st8" d="M2185.9,84.3L2185.9,84.3c0,0.4-0.1,0.9-0.2,1.3h0.2c-0.1,0.4,0,0.9,0,1.3c2-1.5,6-2.4,6-2.4
+		C2189.4,83.7,2186.9,83.9,2185.9,84.3z"/>
+	<path class="st8" d="M2398.4,79.8C2398.4,79.7,2398.4,79.7,2398.4,79.8C2398.4,79.7,2398.4,79.7,2398.4,79.8z"/>
+	<path class="st8" d="M2387,78.8c0,0,6.7-0.3,11.4,1v-0.1c-0.6-1.3-1.3-2.4-2-3.4C2394.9,76,2391.4,75.7,2387,78.8z"/>
+	<path class="st11" d="M2299.6,93.9c0,0,0.9,0.3,2,0.8v0.2c0,0.7-0.4,1-0.7,1.2c-0.9,0.4-4.7,1.3-9.9,0.3c0,0,3.4,2.3,9.1,1.2
+		c0,0,0.5-0.1,0.9-0.3c0.3-0.1,0.5-0.2,0.7-0.4c0.1-0.1,0.2-0.5,0.3-0.6l0.1-0.4c0.3-1,0.5-0.4,0.6-1c0.6,0.4,1.2,1.1,1.6,1.9
+		C2304.4,96.8,2304.2,92.6,2299.6,93.9z"/>
+	<path class="st8" d="M2374.2,121.5c-0.5,0-1,0.5-1.4,0.5h2.7C2375.1,122,2374.8,121.5,2374.2,121.5z"/>
+	
+		<ellipse transform="matrix(0.9755 -0.2201 0.2201 0.9755 32.4092 525.3669)" class="st8" cx="2373.4" cy="117.3" rx="2.2" ry="2.3"/>
+	<ellipse transform="matrix(0.8773 -0.48 0.48 0.8773 237.796 1151.5271)" class="st8" cx="2370.8" cy="110.7" rx="2.3" ry="2.4"/>
+	
+		<ellipse transform="matrix(0.5744 -0.8186 0.8186 0.5744 920.8434 1981.6462)" class="st8" cx="2366.1" cy="105.3" rx="2.3" ry="2.4"/>
+	
+		<ellipse transform="matrix(0.5745 -0.8185 0.8185 0.5745 921.3823 1975.3059)" class="st8" cx="2360.5" cy="101.5" rx="2.2" ry="2.4"/>
+	<path class="st8" d="M2354.2,97.9c0.7,1,1.9,1.3,2.7,0.7c0.8-0.6,0.7-1.8,0-2.8c-0.7-1-1.7-1.4-2.5-0.8
+		C2353.5,95.6,2353.5,96.9,2354.2,97.9z"/>
+	<path class="st8" d="M2235.6,88.8c0-0.1-0.1-0.1-0.1-0.2c-0.1-0.4-0.2-0.7-0.2-1.1c-0.4-0.5-0.9-0.9-1.3-1c-0.8-0.1-1,0.7-1.3,1.9
+		c-0.2,1.2-0.3,2.3,0.5,2.5c0.7,0.1,1.8-0.4,2.8-1.3C2234.9,89.4,2235.6,89.1,2235.6,88.8z"/>
+	<path class="st8" d="M2235.4,89.6C2235.4,89.6,2235.4,89.7,2235.4,89.6C2235.4,89.7,2235.4,89.7,2235.4,89.6
+		C2235.4,89.7,2235.4,89.6,2235.4,89.6z"/>
+	<path class="st8" d="M2235.4,88.7C2235.4,88.7,2235.3,88.7,2235.4,88.7C2235.4,88.8,2235.4,88.7,2235.4,88.7z"/>
+	<path class="st8" d="M2214.4,122L2214.4,122c0-0.9-0.5-1.8-1.3-2.2c-0.4,0.7-0.8,1.2-1.2,2.2H2214.4z"/>
+	<path class="st8" d="M2213.1,119.8c-0.3-0.2-0.7-0.3-1-0.3c-1.3,0-2.3,1.5-2.3,2.5h2.1C2212.3,121,2212.8,120.6,2213.1,119.8z"/>
+	<path class="st8" d="M2212.4,117.4c1.2,0.3,2.4-0.6,2.7-1.9c0.3-1.3-0.5-2.6-1.6-2.9c-1.2-0.3-2.4,0.6-2.7,1.9
+		C2210.5,115.9,2211.2,117.2,2212.4,117.4z"/>
+	<path class="st8" d="M2214.4,110.6c1.1,0.6,2.5,0.2,3.1-1s0.3-2.7-0.8-3.3s-2.5-0.2-3.1,1S2213.3,110,2214.4,110.6z"/>
+	<path class="st8" d="M2221.5,104.8c1.1-0.8,1.4-2.3,0.7-3.3c-0.7-1-2.2-1.3-3.3-0.5s-1.4,2.3-0.7,3.3
+		C2218.9,105.3,2220.4,105.6,2221.5,104.8z"/>
+	<path class="st8" d="M2227.1,100.6c1.1-0.8,1.4-2.2,0.7-3.2c-0.7-1-2.1-1.2-3.2-0.4c-1.1,0.8-1.4,2.2-0.7,3.2
+		C2224.6,101.2,2226,101.4,2227.1,100.6z"/>
+	<path class="st8" d="M2229.3,95.8c0.8,0.6,2,0.3,2.7-0.8c0.7-1.1,0.6-2.3-0.2-2.9c-0.8-0.6-1.8-0.2-2.5,0.8
+		C2228.6,93.9,2228.5,95.2,2229.3,95.8z"/>
+	<path class="st1" d="M2369.9,122.1L2369.9,122.1c0,0.1,0,0.2,0,0.2C2369.9,122.3,2369.9,122.2,2369.9,122.1z"/>
+</g>
+</svg>
diff --git a/libraries/foundation-6/docs/assets/img/inky-banner-bg-clear.svg b/libraries/foundation-6/docs/assets/img/inky-banner-bg-clear.svg
new file mode 100755
index 00000000..d526c775
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/img/inky-banner-bg-clear.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 6000 120" style="enable-background:new 0 0 6000 120;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#71B9EA;}
+	.st1{fill:#1C86AF;}
+</style>
+<polyline class="st0" points="-5.5,-6.3 6004.5,-6.3 6004.5,117.8 -5.5,117.8 -5.5,-6.3 "/>
+<g>
+	<path class="st1" d="M998.3,98.2c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0
+		s-184.2,0-184.2,0s-92.2,19-192.5,0s-184.2,0-184.2,0s-92.2,19-192.5,0s-184.2,0-184.2,0s-4.2,0.9-11.8,2.1V143h1895.7V98.2
+		C1190.8,98.2,1098.6,117.2,998.3,98.2z"/>
+	<path class="st1" d="M6703.8,105.2c-17.4-1.3-35.5-3.5-54-7c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0
+		s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0
+		c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0v0
+		c-3.7,0.7-94.4,18.6-192.9,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0
+		c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0s-184.2,0-184.2,0s-92.2,19-192.5,0
+		c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0s-92.2,19-192.5,0c-100.3-19-184.2,0-184.2,0V143h753.6
+		h753.6h753.6h753.4h0.1H6704v-37.8H6703.8z"/>
+</g>
+</svg>
diff --git a/libraries/foundation-6/docs/assets/img/interchange/large.jpg b/libraries/foundation-6/docs/assets/img/interchange/large.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..e933c979bfa4dc506bbc3b147eaa65b25061fa74
GIT binary patch
literal 56157
zcma%hWmH?=wr_B!xD{Fm?j%^SVj&IgLEA!bhv1arMT5JyxVI2Opg;@7y~Qc6Ews2)
zp^yK0=iK`~y!*!cjj{JwYwl@l?YY*6Ip^QSzncISjUX3C06<ey2tW$>Z~XlRpoRL|
zxdj980ED+>7y$5hlR(7T&(B+4T-?)F%+}ru=^$q3<slwq>n#ovlMn|eDhGMn+POLS
zaUva@Ts)P4$DQwhoG$iCKr?Aw30-e>2WJ;}2+F}YM9;)7#LZ659;p0)Q!z+B$iv&i
z!Oxa6$iv;!S3XDy_%G%1x8r}v;y})SvG}<u0agF8%4x1^z^U$qa^RE}lNPm;07-Gm
z%87xbK~fNq2q#zqBq=T-DGrhp1%c%y<m5rpoc{*!)*8y*QQim&`?syznG*2diwX=3
z6bqCT^Fld^gXHAo#3jJuV6f;dhp2C`r=M+*sHZRYe>6ZHeC<#!-hM7#o}B+^v_*RP
z`zZl$J^kNH@bLaGwg1<>`ac+Tb^qV29v=T}z`xY``WZR=x4-{a#l9xN-VWkM4!&Og
zC_9H+cJ6<Kz2((W4z_+?C=)L)_y6pofwPyNm#?#zH>bKfr+}`lor~u`bHRTJ=<3RA
zdiwg=dfGW?LY08GD#Tn|?BylZB;`OLSve_HRWJyoAqj!0gXPqrYU-+TV0CF2^gpst
zFFSt^2T#BM$lCw6tm^+L`%f%*c;8xvI-pzv9PD8zFAvUtty$jXfA&T8f7JJHS^NLl
z7s&r8D}L*Y_&<O4|M=7YA>D@0Kg0iu+uO;1MZSaQZMdUu<NEIrfcjt23b60FJwJGV
zmjN*VLV|yA`z9nNynRTB2nmTuNQsF_h>1zbNy%<ON={Ds4{qO7RFsso|A67YfJaC~
zL`p(>hn)Nl12r}Ef6@QH2Y-72w4`_<1YZd7XaV@Ncm%X~fBONg0005r|HglA06csG
zLLy=kQnG*3@&5DS_CEO6CmH}A0Y2fsfd9_|Nbmr(_*?`aRXRdLTOg4Sn4UN?oq^<K
zvl?ly5jW$<%@ZU_l85OuN`01@#ds#Gl@~i_S2<t?AuEeEi7|C}NPBAuKmfqUBgDtY
z!zU)V-7{J)5WXrMfuXGrA&@>2%<z)vB)z#;&1e%T`S%lmlHk@AS^`>tGT??goj68L
zuVXReV?%w9C{b>fPnGa}(SSTU!5^Z7F2i@@bbQ#o$!o^TJ^_VDOfbqjm?};ksIgG2
zj$U`$w#!}F?KfD3+|PG@*tx$(msF`oiyEfKz5v*c-8?T=8QFlK@euhms)TH3CUvcq
z^VCYV38T7y5RJ&INy8AjyAsX(qQ_*Qc=^|IfW+(y@-47j^(H=0gD9v<h(&^c{ei1W
z26wr3GfIC43zq!N(ILTA#18Wqi`thi)g@G!f%wBr!W2`b-_@5cy=YaDvMX4hZ~h)7
zQ|0hc%jX4a2IkW1nEP&4kd-g{<ejZ{t6%az(QxXi6ANrPNnv=@=nUu9`d*oux`?TP
z82cZ_JaHbpOv*FEIDx#8Vzi-PbD-F2r)0=Q^2iwLaE3N9qZndaWJLU@NU@(s%IvRq
z2uJGZFTZT=A2`&WS^jW{Emmt~f9;>_MNJ3^#SiMa3@q%%9<90#boxABcG!i)W|aaf
zXNCdflym|w1Efj2rpW*iKEu@-vFvi!+RCD#d{4d_M^YGJY$zw#nfx}J2Q_{W)x6d=
z#t|ZCxS|~quK|QL-V_RPn4pO90YQW1C!L<VzrC{#mjJ724DoVVn)nXB253r^nRClp
z5mL%#J42+Uy5zZzDW3__@V#DjImAc;(CC~WX&TQ><Lgc@b|p#25@Qv|z=CA7)gCs!
zcaOY46vS;_M2j<!YtuYxdI=cJ7B(VcqGtVQqMp8iN!G}uQ=jQI5;pp#jcn~5(q5pe
zw@mCHPA97E`=i#d0hPlq?{$PVDyq$c1YNl^UVqtZ4)PR?gwsVv*0aewkYxqWL0a)=
z2`ZVNQ!UX|^fUWLi8I0??nF+wkuiw?%H)z-I3?{H=DZ{9ZiFo&E)OVYw~|I;2Dy{U
zbj_aINZV%e=@I8C@729XAnCirOAPL!rste?s-9qtMVb5s@IF~$;e?nmIs=9!UL{r{
z*pZ7_%ZX}`GL$$uk>_xHj(CbTn8yCAqDw7L^mf5Y-oUO7t+=Ss%#)G%Ry#L^?)i1=
zfQ4$O*@Wl4o-nozA9UU<N~kn*_T2vGw<mO0{afq22}jbQr6jtO3qX6o#~0??8`+X_
zLZ*(bvQ+P-0aCFxtn=Mu9GziHU#}+CQNKEw%CTA87dXC!Be%bRk3%vOZVUJ9l*LE~
zhVBzhGz;W4Z#~d<&$7Shb=tfm0|6pxx3!2(Zge?&awlu&t*mfOypf9Ja|IKZ{O&u-
z`#N6{@%xN<A;!FuR|~x)oLF@moEX~0%Ol{h9>)p5IRXRksW3@ZGd|9w&9ogbMkMAs
z6n@s*1h9g)s>}hzF2CU*A7Ud=it<J+@?DuFRDqT~ksmliTi<v}@~jCVZbef(hQi%V
zU+^?eh|db@FG6@eHc<sI2X0_mq=N}_rXLRIQV|X-A%*pXA4R2$XA9LzkwW)p6$cd3
zMHlY|mCgn=9F^92#{-KDDHQk5EDOe9@zemYW0NKp?whsiNdtE7qu*+_`~p*gbSP)c
zZdj7$l&BN-)_yEx?oZEXcB}U9>g<-;4UnM2;Ng`4IR_yM$l&^y))iy`-;kC8FNndu
zH_3oY25WO!BUpB+_{Hk7!lq;^;jgkWiWq6u{S<*o^2TS>h3kfQQ|YK8@d-4()|6<g
z(#cFLg>e4jxqv;k0f)K0%9TG_TE^eYnIoGH*nP;J@-Xu8yMf<bPYSONzjI&?*Pk78
zv>XQ<b}Dq1EZB!X31lhN`@s01;&lQ6<9Efs0N9fFKv>{e_|aR%kYB%!{{m8%&aTJY
z?7S%2JXUPoBP-uDv6F>H42$Pprz%^eUxhaw{VH`^{(O`lfnpIaJa|xD(BG5zX6K94
zfxL~he#9MUfGauyKzGsW*jF3xG{IW80^&4RlC)yWWlOQnAx)of?5m5-hjz2N@<i;k
z;Yqe39(4&dX!?p1?%mba<V)g(!Au;<qNd{kv|NdPHmUiwTaA*LBB3zXk%D(Nf=}`d
zM11r(?`|BPYQ)}^tKvR`ntc1z8L)wK<=Y*}LE9PWa|-3%i=7I@9DZ0|JW^^>m>BrY
zH~Gn|Qo+eB_%C3M6b<i9^r{WrmKz(VrqVv&YOu<hfD4z7Rn=G*snVp!=jK5RQV2z<
z)Y+Tsyi}H6v+PCP<)On%LNZ8FX2QztixCPU0TV~tPH&EwMBSFYwLUXlAb3~<PbNd{
z*f%JoJVViB;k}f;M>gn?@VS(5oQF#H0qFrgPZZ_~LgX{ytid5Zx69Jf8C5i{f)CkC
z>a*q(2QKa8<%q6yf=E?H?JoLR=}#C9R^mZi>$Djans{S-c?FA16N`6WeMxvYC(+Q_
zZE@~oKmO6N?MQj~ZQJ*&a=)v?Cnul1-yfx37Nj&+PVO{sLeEd&m-Z8hfy5q<I*qym
zWIURS#sJzRr^1q+1(Sx^wWD<B(7aNbcyvK{L+T?I9SuF!DnC&fPPr-kH(r#Jvr_#F
zwK;*7H6S`34B^wq!2tnlb1R*14;1drwRLo^>1Y`=JG<u7P{Y}yoQih~4<3s2zmz14
zX6;EAIN|2iOV-Z$lcpc#1n8Ni$RVIhqO1Y=d~nH_^!9H+@{+M?YvQMta$-3fw$mWz
zCV8#H{dXca@)uhaI#Yd8ZY~Sw+u8z3vTK&IJMqf7X)SU?iWc<4-mc-Q?1!lNGY0o#
z0f7U_sunBG6_bzH67el-@_k#&SbsDiUPtiAhn@(=x~3A<5^o%kkn<%2@RN3qqD@S6
zC;ZMP6n%P~b`p#!X@h|5rxq<NA?m*R+F4lFR}E}_0S*n8LKyo#dNoyHMe*z?Jr?_9
zh{jsGSc!Bg94|r9*d|-IdJE0Xw1p`uW>bH&z95FVTKE#~+Wmd0J9_o_yV&XBHLkt!
z@v`-DpGRk7r*ENDkDbBW>dSD<kFGHBC#h$_?{*zZszXB+l|S8d|9N*A`owR=a`hOe
zP>(1_uKvb!+?6=%(SyF;;Rt;fSa|Q%!1mWI?G+#PyHQgMo69PqQTw}zWd2FPV3S!S
z=BgSG1enX!R;eY38WdIsd!^T*{o+u<8H%S=yU^ie@oAwk3wJHX<S;Ep?Dg8VkLN`9
z!2SxZEv^!W9*b9@vs5f<TyD51Y;L|A;Na++eaN$p?t}53q%v#dZff<oBxM?=4mf-?
zD2e7&5k){uotVlEdD=a>Tv$M9&L5kFUb7a#{P%<!+zd$j_nM-Fjy@STY?biPXj9HB
zcv?S57Pqj++i064Wi>M;1~iOSm6X#-4OWA(4axR&yY0{OEmiZ<XJ-+W5Zh{^CcFc}
zZR;El!F2Dz=OikM>Sv0KH4n;m7E;`hQjrYt`wk0ZrPYnE<&PpMH5>$uK&%;Nn3M0n
z6`vF~hLtbg9Djf3`TI%ux0@O7hs}Yse*t%$2Z4bJl<*wTi?VCNoAm_6Q}Kn}pZX(z
z0oai5N59*~zHa_p_r`RtEOoB5T{S&9e4Uej1d!(vv}G+KY^Pl4znR*}Il1P){A0a)
zj;kOexuj&CybOM(EE%E0Pv$z;&{hmlmY!Td1RPmoKmk0_k6$L)BoQj>S6CC$io7%G
z`Zeb$X`9<0V=jf?gEejRRvqN4mk~rp(@qumxW-aN0~yffqTq4^5=s-I8m+@&%hr2=
zJlrgua#E8C)AjS>9>*)qVe(>XFmOC)8jP!#%XN>~(U6YPS}Y8`Gs#ni_(q^VRA3R|
zlFTvhx0$HCQ#{a13xn*{5;eL%z95>A*_1>PubT&uKu!e9Bm!Pi2i4$~Jzssp$>5$^
z6j~*LnMJLWDIM5JPb^ECi|!^593KAeES}x<^$CFmifOaznezN7Tcfn&W{G4Utwe~=
z1hAuY*g0K*c_^qGGueBfcM)Y1{En8*G{5W?=1+_(gxS;7(nKo8A2jXF!}PP^(}&G;
z69i#s{b;!ysTTf2on}DVonAi&5#SOqWM@g@lDKR_nGDsiL0a$^!1!uW!~Tc2s$$WH
zD)M|SzG%jPR{-{cx;suSfsfX4uhicL6rVJ&iHtAf++ZCPzDZh-R0itCD%$)WbS{r}
zqs%<@zD=2quxek|G7IOxswUGU`uVAE>T$00&&M)~Y-}d*e^vd|po5N|O~sO?Q{vSH
z!Nvt#O>N*jOrbsx>wmE-8z>^$(KWPedv&uLY#l_7raJ!6Hfv+Y+V}RGZjcWkhmx6k
zx9-)e-{n3n?|i-5lj2vg++>lQgUxmZxV^npqYz(s{_v;~pHVG8{nl&Eyc@0G8oXu$
znN+Hi^*S1=5z^-A-94m`kLGRoi&6dFmLGz)LUR1JTz3_IwcOcwwPgDtCAbk)2{xBB
zOA&A;VR1S)V=PJNJA)P#LiJw!K$#>O2SOA?x#wWQQu{&1yjIQXXnS}JUQse2o+opI
zcF$_|Q<L804!^4-Gtw6Iz!^^SFdicGi*y?9AK>I*8I3TxXpogNphO58^p`4U>=z7f
zo3EnX^?GrvT1Irt`X!=iisX~h4K?hJHQ7y+s?^&%g$T|t_!dErNe~bo7?X!po88QY
zW~rNs@$=S=hKp&vdt<DGS6k-+X3%40AN|~hP1jh^L{EED&?F5!A(9CslF!^e5f)TU
zVG*^CdThCv-W<Zb!7ZoKj*hMQqiR0kwv%eI3j|~(q~k|beyLE6DUIdw%SN-dSGjjQ
z{v`Jx7o<q0gOd@4<C*;+>f~mxk(9WTF}SO)jVT4ZIsMggr8IFk{QIddwwZdr<*3@f
zEp}(+aDi$$;4)5T4^9P&B>$74opz&eRXEe<Supq7J?e8x8*V+|`q=CFtES~g%g;=k
zLwY;u?;Fj&P76)Z))`V1#gN^PqR@viJ8_Y@&=RYe2^?mg>Vps{;#cwaNDqO~0(5&>
zIx8!O4tsf7LodOAvmy6m0$_4KS!TrI$$&zA4Iz@}3{s(C)y4~=(a^mY>3ETHiE%ZG
z>H1j7gozl2YUOFu)H6uB&mb%sPzwMW>aqvIMxrK3ah#z{l{?698P+QJaHK=7bo+q2
zc>K^bZs%ndCjEYIV99y>=FPjpWuE|vtY>Btbi{^4NsjA8;VqNEzX0p`&b57DpjFtK
z=hC;|`7qzb(akL0Y61~FZs3^g!om8&MKBIXp+z{#uE(8j{Y*aiYmQ~IUx6c&TL>yk
z6K%s9orP3T(L;&>HJu<LnwHa9P<xe}I?V2gr4wm%?qC8FKiqYr-X!9F#$=Is0<fJk
z(>TLRkZ0IP04p@tx!@?e%+^H52COK`^RXQCuW)+mA(zVA!|RDu>!Nr|WNH3|yB^@J
z@hy!rhj(}&o2e<|PBd>J2d>kr`qS0*&_RQiRZ=GI!Y5rJ2}w1F5{2i!^h0bX=TVcT
zX9O~ESd{A#Ll`!I>~>qJJ2lcQEloh*ldbx3*p_*4R9V$2T|(MC$G9F*i{)?0)Us6H
ztE$gVE0ymKnLPsC1{bbI+?$fDtZ3rhq6{+gSw(-neNYrIw6MN>6}pye?2NB@Ht?p9
zcXChOHg9qkE!ID%KH;ev&mE88%MHXGdmJ9}@-Lh7AsS~Y#@JdOU|bdy9gLF6UEj=_
z`eISE=+9&@$vgP!uI!ml4U5p4QsNmj=oS(Ncj*rS-@}SL%|qn7WxbE4qTgiV<At^}
z*pxLa#+-$b5)b{!^qeFNQ3xAak$qGjymqKYf^&DGuu8}u1k-iyI@8yj+h9XOO8iT^
zR=nAi?`bog?dKWJ)W&-Uhq-<{6Q=9q4N0VBi{Gkmr_@+sr~iO2LU2<=Yx!I)TpC`N
zZ*?+B@6>DVr@D<+4U-eLa&sMOa-dc4{zwn@)YfiOPk=f$v$yDM7*h+MQ&>?`^R7oA
zzAD|7fi$dHvL(&Q^>M09439CSW~+&Fu`;n{C-8cn5ZkUkFjbv6XeDcn((h$^9bM!N
zkKLHzjZM|wKCvWLH8paPNY?MAn@Jp*-(~Tjxqtt}qD~%1bEuB<aA@lcdo(*5ZsqBN
z-*5LzipDy#VBwf`cX$$lmzvn{Ir;>~V}NW9asx(inu1Rxv+~Bo3y`m&Y<nZc;ID^;
z*PmV14?C*{!%BX;K-QL5Z2VRdyv^H1f*Nnc$G)EaTIXI*eXtku#Q$jd=I6@yN9%7^
zFMp?8ZFY8asSq3I@J8dESRdlvPL)cIXF&97Z3_mHM+HxH7!iB!<GPXVl?Js^2P)q7
z0BY;!Z}Y!>H83=a@n`y(W&5^zL{gTZL|YC~l5T+Ise0iZ!cF7!Vt~W+jnKE!x;dO?
zBiL#JeJnV|*77-L&9bk`{6?r{recn;@n?=?FyNB;2V;gKxSDdV{Env71Jd^)0IRc!
zayWlpztFDb8@n_{2QLUC%P5LAnn29`fior>3jlF$-EbK*i*orbgXQfcIqhaSN<kBD
z!>uu&NkeRkNoa=(lynY~^%CDrJpK#d$Tz76pn(tR3MONDI?9IXXLKm*q+$tT-Td2M
zO5nZfL7T}mH|-sr`+Lq!O#EDbo+fI+>{Rofwg#>Go}0I6P%^!3TRW{MQ%vp!=JFnt
zcG~CmvcuOS{QS`JkaiY07!3}OsxXl>-l44~E~C(q1s1Uh90@?mU3&UC9#YFy+)emU
zaAyKoZP0_Jjn*8l;-$AV1dt3`GreHiL>(@gw|#1&B}vB@^Y+b69G`oCY<0meEXnzW
zkGGDDsK!@k8*5l^5Q7vTI}kSVu=ISWNASSSN<PAkmc_&yx@p)1m3t-i<-KGTrO6w}
zBaoQnK#o@fm@6+s;!n0C%Ie!yXUb+Lws~3o@mC+nr)ElNJ&g!ot@`ob6h6=TY~LIz
zTn~A!tAAYg;PY5-+sK=Q#8ETJW!DBdgh=4ZHHKH_Xt}E|GSl}8c$qXh27P39g=47r
zcxLhe!a*YT@*P4j4+t80LpC6oj|H>TT_hQDJy-5^YO5rMDk(B1&fri69jxzR%-rVV
zOq@Gy!^KN_M#UqndK$ajX8d%`Ez+d>+~h*D0Q?t{GlY8cchRch=Ve&>H0?$zi5)Y_
z#0d#nYgbxZ6RGHVc1I3pOUl7~V|J#_yYWOxF{Yy>F-7<g9xLuMBW^xUZ+$Kw2}(!l
zp-YX$^dIG4-;K;9AM0&&+7ucSZ7n9Y>#3TyuRK{@FWL4-nY~(R9LtbS-)l;uGsjJ+
zovIKJ6}crkr1pCHO_((4`Jf%R1>UF8@$8dCNz6h*Sx(HjIj-MfA3kecJDNP2T-zJP
z-|fb}f2KX@DjFfA*5a7d#KfbpImGB@M9Z_);1oeNzEQ;Ht|hYDLKuPEZFW!NBJ&{>
zweD32^mv+mT{Y$Z8b<*eynxA8LddM~c?T2Nh6;srmE1Bm#8et!L<kh`X0bKo#Duyr
zXY}STAlS*S&8~d~Zq>@qMS7rU?~FesgM*-7S(dCFjxpbz#mZS_GP9MLH?zce&dfTM
z(qXyf$#{&3VpI5ZwW`Ar?$>Ovxe+xpE;6l^yVgA~LhlcVLfIP5G;h>T_3g@LwUrn-
zXHfSzk@@edH*lbWTn!_^6u@@kOF3<0CIDbu0HdSxxDo2wbCiYRhd*aAE1)H2gzyPd
z&_YdtTeg1z&WD*kdK(jz5*wIR_c-wZy0uJOr`g!{f<&4(c7?(@m5wlQ#f*EEHy5i;
zJWO1U1~6Hf{@F|G=2iKM`C)fzt5+v~$RYFL@2*v>uUofltJ>g7vQcE)eZw><G3>$5
zxAw(jW9ajP-|KOcaL`;jgL$Ucx8qs<pVeUi9(+@eIswHNr;R3E&Qs{&;}j6xf#50~
zPs>COeY|8|{AA=84wg>AKAm0GZMqc=X8qri9j0_vBrqpJIlOb2(Unr;y6A7;cUMQh
zm9k5Asgl2}D~NuWLms8hNPs9-ul1*t?{pqawPNl)`F3;v>PF!+3j000z5J-u+w1p5
zfK}Lv?1JuQ^HSf;@~7|_(jDg1HLDvX`LO%UL;2$3cw=b^V~t>ezktMsT{SLw32C)~
zMtDPeqpCI>rAAH6IUh-`Q*T>4)8#GU0?6<g5q!IL{4#|30_I56&v%c%AGj1mnuV?w
zqygG%+D4!bicuZ-Z&@3^%1h~AZxX8iEQmSrA3U|pzL4!K#ql00y>rDZp_RtGe1(@&
zE<7_?7t?Irt=`8;AOBf<$M`2K4D+Yj>wfC}j4*AFtuB00O6_O_#mMKWJBUpf2&Enw
zOCdRtuUCWw{}3zP8q)=+Fr!ctRy;k9%g~WurDG#>kF%SK+x`N4TbetX+tQM|SCmA1
zvh278AR=T$Zz;kW^H~S^E-|?0FC9T$JPx9L#nAiHi-z|#J?pJi42p)beHTz9mthU-
zQdiKI2JkBPgleNZ#(3%(Yu>$IIHTjU@l4Jd2Y!W=vAr-DF+#4Ic6wg|y1DN{<A9YI
z!6zce6iD9>Ixp@(<B=-kP2mVEB`=5J)U~A5yhMUDK3WLj?xx<Q!h$r(rLp+2lNCuL
zUwKA4mrTg(?H9#6Ce1_3mBLNeG*1stR)JV{lTP<w71Ee@Y#sgrY6Z5q3yBg&y7+t}
zatiI!bSX&O-w`!V<|5<vYJ@0NGUrm@D^(MQtV*<JvpVL9(OXz0)FA8obknp^6?g#&
z2@CoIgFG)i39&T#IjLfzSk|O*hn$`fI4db1-oc-=RR~jkkvN)C^GM;*-Z9cs-^F((
zd-1Lr1^!76u%5NiuTMvX@(max44lmC|Mjb0d8Rt5Wv-8Nu1wMdz~qzTS|m2!KPs*j
z2EVYC05~=oh>Q+Yu(M$p;=d#xV%y<bQ;jIYX<jfa!3Q8RAwm`Y3DOAQ7SzoD(J=Wj
zPBCIcAg}Y(L`orNLW+v>FMv>Ex$f$d)l&qYr&YVS`YiqmmSr|JZMb}=<h!qvw+97+
z+ioTT-I_TYo_8)d=`XiMkdshJ98>`v1*2P663~%IDxu<srHa{*7kO?d3`RFDf}g>1
zC4o?(=**;H(UdPw)S!(sa=>6CHXZe#MxNc3fI|)^HF7rDx>nrqJ&?aS=J1g0CQGc?
zm>{33V7zr+C9hbec}u{;JmGz<1bg*MTM$xDa}B{>C3QktT!36D$Mfs|<yg?-U(cGb
zKmESG@F9Voo2A5#>Q9mD4mSv#(XWTBhf)n|o}(x+K-RW$xD67Wbx?5ED|D#%X$t<3
zil@gb@qv9a;-Q_6-VV~kEz4tUipHF&_kFYLA#8k4W9gTV-7LWZ*C}+r(E&cz$EZ1s
zt=jfzU;gF$jtc+cnYMnB?){TTvKD)&ag%~(mL}^qfv*8zLRTv(&B@kUmdu&hFoBQ8
zwO#bVfLRm*?nnJ1CDn0#4?8qW4R8pq%auTn%If&|jZ}RgF#TD7Fqx=)k8Cb+PUQ6l
z<B(ezy`brYruEH4VVaB1{GUlFtGe!h!=IyvUo$#Tx^>2UP%J^l<M^Tm$0yI3K7Z+r
z@79u}d;=6+Fz5eizL)eX|E>p4_A2-ADB$d4$WqX7gn8N`8*q~05MANKEytXdz;n(!
z8rDgC_EKO2!~K*_JMmBE<+~b!40{IB4)-TN>U5Z}DQiEUFAXZmn6HYl;1`BL<CAEt
zXKj+K-q-XxCh!mQK&Y{<5$M~@glk`H*<ZjY2uA;Miot!KmN2MZPF`x{r>NyPWT2wP
z!-WQK2g?ea{0oShdM2tQm%BBBVXA=+N9MhN!KEZwT{+YNjRj4G@ttvs^bG@F+ihQD
zcyxXlneiGojz%}e>w(+OGo3TjUpCu-{GI5UkbVkzbW;UgON^h&X#gxte-PrrIxasN
zwFf_HsHY<~llYcZ@tu8GMeWgFRe*R@CO^+78}$m9sqV=&t}hj#SeXggi7BSS&6;>%
zy8YQPA(1}7p(xa!V)T~wTM__HU~>-3J^N9<|3e@1UjWf^|L)l8v+usYy;h&fVmiIv
z%DyeV5<8Upv`CBMyZG#xu>g3?=>x1^KR$Wp*!3V>c6t5*@$ZiGa~tNVi|;>e<SVKC
zA_kh>7x?O$lGJvR<A*)|0#x!3el!d&vCxtA5PlkDVL+On8XI8K`2zqp$&h0E=>8(3
zzS(b`%N(6g-TXV2`+{9bUU~UnjE6FY<~&W+yI%hOZBV8Wp|*@AlOo8FZt&6CptViq
zZCd<N4pa^C-fK{(&DES;6v>Bm35?D*%R{J5i5U6|gsH1useDzzx8Ek@PI{Ph2G>a?
zp)QtTce$AsmYAZmM(6l+1akq0;Nm}o5iGg;<Duyz+}!E5`4p%n)+&nE0gw)TZgqn;
zUSC|!Cg5>3W8gy=AmB&!t_e$AqnZS}Wo;Loavb5jgLzt*NEu8G8UY$H%O(K|7=8qF
z5<#n|f7bb$=}gG&HS7qHT>8936osT=KOF_kNTLwG(RWN+<n84cJ;m07OCkV-nwMls
z>Na(WJD*WT9dfQ6;GKewtyi_vDfhqfkwbIrOjC2>qvWGj(Js+6WS|hEj_OU`;R6bK
z?P`yUJx8nj`+6dNfXDuKm{}kb;PcV0!R}?><-kXSmq#DlN@m)|Q>&LB<#!4Y*N<c7
zTu)hx+AodadK@6mK5$EJ$Ma4zLeUjwb$kbQ_BgMoDd{SWUJ9Kre{ytHem?i4nvXV2
z$*n%?X6gmpEtp8AZ-bAs`H3y<rRKaPn;Mb2_p)y*-cPYb3R3lm1uvdxe_RwUy}t6>
zVQndZN!%I}U?%$hL`ICF8Gpl@jD<GOVoj$DatO8Vrhp+=993j_ca!$4cxxmcwQ&Um
zY=XR1()jO-<Za0b^~dp<S~%acu$xeJzi%9@i%v>c9qV;-lpKZg7%cFp+sz$WP0obl
zzR6tUaK$BO{X7b>2WFI$Tboj82~;#htPeUa`@r_QyL6WC2tB1^@gQs>BV#H9U6L9(
zV!a|Pj18M<WO$GAd!sONyqp59)DT1C><_fSN>}f<s@u7|S`$fhZKCNFtn9qK4pkxf
z?Pr!fiU^%u15VAIdy4c|ET+C%!kY%Vccl*Avone1$EjMQETi7n+@2#Z&XxN_4K*v;
zY+(6n!sI8ssX6Vsn&BC<3|}a4QTZ--a>@qr?ql+;^FAVv=)8nhl=Kq=8Fm+1K5?v6
z-u2HVwtg0-$sKOoft)Mu!M&Ngt8%&j((>Gaak6&@7{ZQ=)$7#yoB%NVvy$VKgH?ON
z6S9e~sd#45RTH8UiugrRk#n1x0g*vllfmTY@7wpWo!vN0$Up|6EG=y(9UeGdJfUv`
zdptSe2;%3`gji%gMYLv*gs4rXg<#3j=guvE_14mgaBGDgV7^~^iCQp`O+UellkNZ&
za}vUZA7K2X=xBkKgf;5yLiti2P`{pJ)!zGwp+7#gvJCP@&%dZ&C{X~oO5dYo3jG-3
zEE@4~@F5_7=Sv4G3<hQ-N?c#wEYKMCgb0OP6HLw2@l{MlE(qSMlgjJN_@id%mp=Pv
zbYcdGh0<1-i4)Ztdvuk1G(D;b7b7e^dGu#xcWgE!u=D8Vy7ZxMfSJr*)Cj){J5b_2
z(b~<^r#_{z+I_?A02G-7Uz{?2*W2Q*Q<~GjYhItG0TI~CX$iqW8@3dpb*T+)W*_57
ze_BWa&ElROd2hLnhNLnNQv;#q^!CqYFUGs9!?4s6A}ur6x>s9=>!0Hz*xF&cTQdQx
z_FU;1zJv~w9BG1*i6VqIP2D6eG)Kp@Q&t@QepY7(FDEZbFFm1}(C@=Eo_IW>o<4zq
zhOPoU%b6?3Z75f}kv}GF>a=}gA`KbSOu85JCj)B~=rhD%iih{foc;aCfHS@lnDQ{$
z)CZMdr?#oKkC)8q$_w}l*eYf*CC+1Kl4X;4uV3<n;mVio5fkOwNKP^kL+S5y0&SPH
z*q1Ldo&SuiP#Jzrm>I$Nib%jWGNyHyW!T6tn^f`R3+ronbK)A-7flGyr5G`5oUlPB
z2cjC1&Wcy0$#{<}<4;07VditwVDKhVmqDLtgmkCJpvqh5A-9g6svL3SFnc@7;!?U6
zo`=El>A#=mMA9nzHFysgg+&|rZuT*@r)pDI--#N{iY;dvaMGg^!Gj3e!~5q*hY9+m
z-*64eKNlFzwz0YQR@gs}Kw1DZ^C<R5gQsz<N(cis**(PYo%<Rw0$Sz?<3*QU-WeBL
zkDEO|dSX4KJhHbg`*nHkd#=w_srS)z_qVl~r<edA&lS7YmB$K&B^5}*9mhU;g!yG~
z$Nb4us*I-a-il;Vdh$MFNf@G!g))_4*pCL%ETvKK;vgBcmH#{Glk1wagU0aK{lu0H
z33DPXFO}R8ufXOz?~70tTuBk(giG&>OG=9M6ME@vae6?;*)3fyVLQ1RDdge6gJ6qT
zA+l>>(Ys10BhEf)KLvT|FnCs`qa<8J!Ytbri)PEOE9nK5Zx+}|?b+DtzJ{V$%0I`p
z*0|zA9Etw|DygV=i)J$Tk!SkMgyb=gBtnIvq>;*uO`sAT6H|-$ErP9*4z-lxwj{cq
zhGhnMg>p8J*5%^0y|qu0&ofb$8e`Qu+~Y;Lk6DCsH0oz?O|pbMNGJT$OvB!d*9Pxj
z8D<D;I#LoiGKv|zm@qbd%UWQY*FnK#rvVEexKAF*VUENWlpG`1hg#R}HnXhc_0VjD
zGH0Fz&F}gI>aNdwHa)SS91#%^Lj2KhK(r(0Y^)NG#U$**GsJ7MxE}t=c`KcoEiIh5
z8|>aA4WXt$Sq_7O;viL1AD!_HofF@ze9iF^C3?N#m?UF6!x>vC$q#6fjCjd$Tl>Oe
zo)1XU#Oqi{1b>&eth(mwg1KgXlNWqI%b{rcc}gIrg4Fi>(K8<zN#RddL%7PL$G?|<
zvj-w%B-bA$*BpIEU0hvZ!)k{&m_OdcU0jDdt)A|k=iGFMdY^@Rorl+-u3OZ9=SThp
z<aA#BZkY<U3-`4PK<FL2h(3K<5N^Vo_gH-5$E(!9iNn<WzW}G}+g69;ybWv{_|xjj
z2ep+5C$@x){_~ToXQ@thUhUn&Pa8ihEz=ZryQmov8&U&5qRyoB>od9Ot(%0Xcq7Av
znKU7X_3%_dzmSB_-S=LwGx2rnrcC)z<*iS0?>lk3(#=Y{QR;G>BRoK(1H-_sQJ=!m
za_(K_>cqqm8_Lt&yd7M_=A_XZ$_UY2_xBaj5^YF(O>dVo1a+TT{aADXcxv{5&$a)6
zgsAYhG(j5+cNS{}nHaT2BY{Z2Wc^0=+gwH3B%McTa}+2bogG)YJN*Z|Dpz&#I#Hco
z7W?Msl^8dj=Ra8UiQ9(s@_nR)=FrvL^+nFD!cFVm-5jOU%QK!p*y9HEM`A4fV;uZZ
zt_v)DszbjBuOBX{7KrQFI;KkiEu~o*R(j9U?r$be)!HT{IF`pvxHg95b`C@@dj@=c
z*6HEC+9jU6m>|1FXf;C@F4$jJoho>LE_$oQ(h4*U#ZYe3JWufcMqbSi&)9h0;H1;x
zjP@1Sub(bM-Zk(BIT+IM#^dJ;I`e3(D10<aw9PBxA)RdXIUOK7Fvl)>1}J<NKYG>o
zF6l$cva@J(TXqz6tyWM1LByl$Yp47aN&nAzD;RG#I$Qu1=SEb=81^F_-?v@43@6}O
zx|pV-VUqejWlxH8(cQ6EfvdNT1<USN#eKdCzn{fWH5S(vShi`(+l`FQ?R^E?#n2J#
zA@m4D<+fgJ<gxN`A~)w07%P*?y+UNA1|3O8BzWn!XkKbreioFV)^v`=JHvy}YTBKd
z&!7CXFP@uzL9q=zQq?l#%#5zO?9ru=69FUA$jXI@8m~I-I#<+2Iw^oE#esTx#CMEM
z*loG0j8KAo<lLK~>FIn4QF)@qvCdVdMr!DMe<ZKkBDYO%Bwp>nOo5*Xpx4mSKJAHO
z#$+0=$>15T^_R2t^QC7x6&hpqeuD(~KRZIWP0kyjnkYQZ;0g({qK5ZrNS!C}t%iPr
z9G<P)o)af_(_n~XUuL5=s{jV5eFjrZPkO!7h&g-VP#O8MA9(UqWEL20;7~x#vw3PY
zf+*s#<pQM>DrrE_^S<)nuaDM__Ktl-CqB~3wY?;bhf28OMe*opR?-Q91`{dJWEHCX
z5d#hlKuNNZMXDRu(vGa9{WK^dr8MQSU=7JV!R(@)FB+yUF?Wbm8!7qKT<F-@^O@(3
zf$D6+;p&kE33^FZ&$?Hewk}tDuwj#>>Yhl=H<~qs2C~wVpX~CZ-;Lzz*hh#h3I{&V
ztNN_cgdmgMf5m9go%}w;7r_Ch4g&syknpV1ZOSnWm+_J>(2OBORmCIJ+?@4LG%@~q
zP#DOGrvQL&;}-7J@oBYW-QN`<zAUO>ObjN8B(Bd?JAUzjNi>g^M$A<ns}GiNn1@eP
z@YqdDOfVg4N=q}6b%VVl`I<&oA<y`%<4&L%SJEb|jz?Iv2syirsF@kQ#r!loRrW8~
zTxlh-kwskb+11wIXn@C<7p~(?dmyu&^WA{xVFGRoZ`S(#gP(1oa!>zcPI`?^#;5RH
zV4@SJ7ChxIYG$?yMV#QVoTq!WJSy<0&DF=RSjrsuxz-u3gXTSk^giv)uXrU-t{jQ!
z5i9uC49#?8)d;OHc@=kgTfmejv^FRFy1-IJB*S%{2aP}n%3nVErD0v`xWeqx#|~Qw
z+J>{%8Q5nbIB15>bHQ1r87*0w(%+`-z%zzdj7dZ9vw2`9j3Qr3s*%+?rEtRG55%UI
z4PAc$2K%<^1E__rvd?sWMJkrXiC>;48%oBd`HTdVrmPhmcWEw<&S-6jp&)6cVG_ZY
zwUBts{fl0dAFUnd?8s!8urX`bTTI(i?(Xm5UdP>2m}S;0u>}G3@GhUK@uOhX@q>|P
z%F462p{29#+br8u>B!By+;Pv)Uqs+torS4CnfJ9%7epe?VJ}E1+aJ1iB6*ZXhvF?}
z^CN5<*cT~hjalg~@WAdI0_iE{5txyL7ejOsELFs~tJ7v-pX9|y^bz?IV%+uI<HDnj
zq8{##K0R6)^Cx{0Q_kW6m*1o2VJ8rj`%_u-WztfUW{M7b+JGjQw$AaF4~RzEhFFbQ
zqc6hyC{$=X*{gmEee%g3{)E5MsBIGem9mE!BC2Z00j#DsHDutl2Dk|ku@d%@=tR4`
zBqfEA)FST14|dsQgwSm5u;(Z^w>I;F$=h3N*<=KZO!8F{-}vH1qa*qy84IR`b}=LB
zOzi#beKfCNW=>wX*7ZQDw)Hn&4y}jhKv^7;cppP;NU7x{w4%}2d)T@3WJ$-GshZ1i
zXNxq;o3Q_sLI|{S6nM9@<n7+Krd7zKsgzX_>?zb98k28H=TLKI{?q*wDU?;N1s08?
zMW6&~4ba*dR4B__3m1hzLjSyU_Z<3>AKZ1Bl?j5SWq7@(BXUVbb3SU#1+ylW6?4YV
zm--dAC|i3<YQ5RRC@jV#<ClXy=ZeP<%~z=A;&Yz=h-Mi^5!b~wa}vzO5#iOz??1d2
zY8`guQ#W~>&0~YHO%Oqe<}#d;48O2R(ctfAXZlhkvYw8)t4jmaW;zfb@O7`SfrC(N
zuLjJ3+Vm;fMp4vocYLRsN!jOl)-gNw{;|_wtNt;#7z_{92+wJB`ym`;KF#c@HhTzz
z!nWNA@bTA61{{Guh$(~_c<Gs3cM8eNNqS6CZJ}6THPXhFv)|`oAr*R}gIJDn!5_`w
zWcr?ra;e&akAdeS2}zX9K!J|WSX4EB<ZZL8&dk8QdL#Oe5oJ?6gXx@(WCS!!`5x`f
zj^i7mkDqTs5;95l`7d(Eg$A)%nlZgZsWg~eQ|Q*U%0}sq0D|jzP`#+4x+5VnI);qw
zY=V{=yR4W`X!wLgsO@{o+I8m^C>_TIVkJoc)zju}B^)%EUiW`DJM!dZ=~+!LiKmiC
z;9bOvFk9CCa$WuHj^ERjK(eP^_JPq@kKL|yT7iBm45fn+v(=AoedaT#A47M-ONUZ@
zCpz5rj(R>7l>^U`DQq@<N_JCWCMM0mBpsLbOu@zn!D1+s2VXhkD=n$+u-(PwNLu{G
z84j)_U%7@gkdH<GS+Czusz7FsNkf_K7l3~DQF>;6!V$cPZ^n^^DFsDywE>MuxrBuM
z6m}v47&kS#B7Rn@^q4JG^Z-k=+MQlI7mVGr`D3514u#InmUm%JCPypsmE6xY^_zkm
zy~lKgd);2vfo7P2u`e2awiW14tG*mqn!ovA?xQ63!yDRz<Qk;Jx*FiC=Ua5rs}P!J
zzXK;yYKnPpC3u-tTs-9)!XAHLiwjr}cV7<iO<%q1cx;W-v8$3kkkT)a=?K#uNnwp2
zbT|_s;Vr#axp!(c6}gv(erWOrDN)-ibEbElROmLdyvF9aToL_l2U`=Pn$-P}lJQS8
zkPiU$CzuVY`?<@G^uaSO8Qk3Px1l22dt*^FxhTWqyPN2cSo{~Dk0?}W#v9pU;@Qr2
z6|k%~&hHb<il$lG>9{U?-McS!z)xfLgxN{NkcM;WhsY9TeVaq=wh}Q{KjvYnav64q
zlAuYZ`!hK_>b>B(MrzGfcv$mc%6aSY)8g3mH|lPp;mbIm1>_}b6BNljbA#JG|8a;b
zxv%{DN#c!W`seRQ+xNb%1U?&`$n!Y#^qf4N`9wvb=5PTG7w8dFE}Xp#PzbvtJ3e|=
zDQbGZ8ow)h--Lil<+U_;h-hX^Hm=%kMXApNQ|h_wDYmqDTO@wkhOQ9ReRq*glyLg^
z=k=>6)<1&6PrI()&ZEwb$KhY&_oYDN;&*o5Tm|Jl)&2|6euH_FTpxJNO7=@Ow%*7t
zCf4SaLQ9~eWVgZ~2-gIIt-$i)#Cq(BHPhU<NG4Lam;`O}NjvaHs|pj+0a5#Gcn6`i
zaWth7z@48Ksl68Q!(#9kQv8XNB_Jwpp;8jVOv-`e(DkUAgfv>f&`wm>x@0PmO0Z0D
zBTp_P!CpjN+7ZmwD1*28wh{Q@L~}1h=3`~AlZG1|$MVI-7cIwJ%^<86E}iQE33pVz
zk$}HUok|*ft42zP3TD8Dyao+KNi^Mkx*V5Wi0Tj^kaJGRgd(+V=pzens%pmhOP>pA
za<gm6C7wB~RVq{FO+R5Pw~Wsm$WzqMIyF@x;QSFr{w=fypCg&^H&eRIa9WYS{za}M
zLPOM1ucS!L5ud2b1c-(As7|IMcrazFE_@c=KdYyZdA4ahdxbC#A`8c*IBFA!z^ag}
z*@X2c3_oY?5MgK;zaAqAuhA#w@qq6lA>QD2)l1T^DJ4Y8cmX)vx5HP5<^0Xhl82c*
z45gHb#EQ=3$nObF5Nc9d^;bmQQ++G+F;3l@v=@v|kV0BSqcXsh1_uy3P9V51$zsz>
zcz};-HTn&gqN-kcQmCgV%I_<5dY(JADx@|p_C34XmfQ*4sl2bX>Da*`vLhM_-Ubsx
zBYFy`DM}4-AFrraIYy!*1>xAB?4kKT@<X$MUXGquR+4X4tYi+;>%=1|(3gQFY(t-|
z#$e34%>yB!3&JcBh@JUB)_f3G9gelD1QMF<D#2D(^9Y|D$-h_Zhz?Jj8dK3oFiPg}
z2vH#&n<vJENP1fynjl>n+b0cfE4l3Wh8bX%jU?%&L_WQtYka85u4mL8RimIL-LDeX
zxi9opb>Kc5h2c<-KTD17PI7G9EO}Z$m9**cAQ4N=i1e-Go$U{cflY^>%0t#Y*VaA_
z`4YJPz({({Mh=2!;vc<R`ug=^O*s2c*fR_F71Z*@@guaj^~Fm;JcSrYyj;unZ}~}j
z6o|fvOUXMy-chiI@;2r7ne=m8x9hn0YMZU&*I!0yqM{I7)LRQjUQX|7B6^fhuirWP
zg9=iE$xC9ATD*c*4P{XhBoCugeDCeLjSu`*%UEHfQ?K63=o&xGLcTdbpWTjJmW-8q
zGZzg-BafbNCdp<C&;qOC$F<@E>UgfTVjFqzcXkjrGUQ5fbh|?=&x^9%;LAV}ZL=-x
zo()z9um7Et*O%lTPhlfN7jy;q;j$9|4)~=<f$~t9&o7-dzUp<%6=WW78OZTH@kh0}
zOui^T2B1|cdifJqO9ky+dUCn<627KGy?Jx4ZL&Tk=d#oCvx^GCH?+})Q-;M6McXM3
zV2A60HxEth1=cqZhuKA{wVVYzuWDofr2`oAcPV<|#_vd~H+(J6-+FP|c(WKkX9~Xb
z*O0u^mx0;}HcCpAmfY)5>O<r!M$F|w_<Z~yBR6H`9U`Zq)-X;~I(!5LXtFJ)4yOR_
z89L%1jXyQN4pt0(XPBts?j(9qSWMmaHr+Tl&Nmk|DVr3vsnazJn{09lv%zUBFa!33
zx#Idhk_w+q`z$nLwRXJ|RN$|Nc>V&oo8pJ`_3lv!@^<z0#8h>rR-rwpIywaN!p&Fk
zVoFKdbXr*nK3JDu@z`&$BQFtXnXF!}2m)$t`FR8Lo>7fHiLDyV$UbUe!z4=l%O>a7
zJv($8W`vD=b8H`+GLUR7EJRuMGr5fTbO|9Fu_=JWEzm2X&}zhY+m6M_)y9ctveg(b
zHTjq~{01SKUPJ-S<BoWaeLL75YddE(aPefBn>%@%#)-v5wNJd5Cc~+zp{Z+y>Eg=T
zYkPO=;#xS%qydkj9%q{d!eyUuV2!uK9@7rW3pOZmt&&1g6fxl<V}w&!xu;X|y}Y!Y
zsM7OuKG7|(NW7GLBWbxG4RM_VBUNp-Hx9_@-AM*GvIuI@Q>DH_g3q?1$_61OoYS+^
z+(eC=rRl7cHR&Uf4IO1{vVi$Sjw&d-gpRo)R+-2pla$7%j9FZ}CEz;M`$%H>`{U2l
zGtD!C+QAU5FN7M~95l7F&e-ko?&jmUyuC}2_p<JT>$SdS7snY$Br#HP-ox`Dh?5C%
z)(j2BnADU3ADytY%-dj%Qt}cA;$KW4XZVSzczZ=Bobl-SIj5x`P=M-GqTtfPR((X{
z4jF^8<;JCy8LgLb?xQ$W8|#g%MsveI#yut~KiFwY>kYqMJ@_d$6ZD9NK81}p`qWyS
zL*`f5<?(XyjLXH<c<VkvL#IzQ(d5th%FtZD#VN1WrSGgyFc2^3L}x$~*=kDE&}>A*
z6aGhC!ILbw$Hw!O0l&^ZS9`Oh*$*6Sg1v6*5!$Z<ELu4FLbH?1R9Ku6orJ3I5Fxom
z<|I}D1v31ESHtQ26|*9v-dhe#+%#dNpvJE)-2rBf+^o7qP>C0=qR05C&JUkp1NjzR
zo}NxM>$qxo+oI{gmmB)qtZM;7ziLd9k-7ZmIky%uT_3Yy0}))b&Ol#c6%_q&ui4i4
zq}SlF?wf~<HBDO<Uw?9g+{`T(JOiZx$XWiHcXx<thgZ0TGtjnzS_aYa10%Gd=Ik7f
z?`OOyWSd-8RxjM+f+K5dwH~-3F-|W?O)c$IoP$J;=<^~fT)}!DRA>NJEBiU=BwG!Z
z1o+ysTVI)@mn2UA%*mQc0`+P$eh@YB62Q}aj5mru$$JuYgXYMXe1KF`OwUkAKM9ia
zmk;L)%_wZ>^H|wp&Ku@vyj@QwlxAP4?PD&1d<bZ(8xM7Pru^E@7ZaGyuR4TsP^4T7
z##Nx%QOuV-ANY}#4(_-GA8|YUMMMf=fif#5e*Sv-gz@nE&!^sN%j(MpD?^?l>IW&`
zp-p3`RYyLC4>u<I_qwdE_MZI0?5*tX6ud?fLz{93N4ksUq9e+j@>(N6<p(!pC8519
zFEWS)w^~?+W%x6W`!j`^=6_Gb{&w*43iNfFPT9NHw32bpARzS9OUIv>HFN&Akh`6Q
za)Uj~9uxIxSe7GR!ThgpKxr>*N9@*1A9xO6M@f0uJL=~jd%59xAD)jO9m@|W@qRW2
zxBU7N%7^6_A)okdWp7>v4S8J6nbP#+L$vBptmb-TssKPwWD&gW`5;C(+2DS3wW(q8
zh%@~Il^(QJ!D8Syk!#alq!Hy~m0^rT=t4OA)%maWxK~cg&qlAKJ1|J&PZE4Lnfs)t
zU`L8C`UfGe?%X)#`vwR7E;MM-Z8uTU9KS6qpN475#$isEgPRnZ)A9NqMxB|}QQ-I?
zJ<c(N+!ZY3B~At7iky>_c<0pQ+6z=v0v#gLtSHm?-S*->Jnw^Pslf<|d!)6Kgq!?~
zp)(*vlnpTi-3*@w@!%_VP;2E9vDg`{7bv4(DVB+|4~ZvgY9aFMdqhD(C!EtNq4YrG
z^Oqw}ggJ_F!MD9X0fB`q$IslrINXAq`o}lkZ=|+XXpQ4^^2kg|81yv_>CjkMi~!J3
zOgjT403k3a0+Xk+<fNG|FtKv6WU11klo`r-I?2-u639P1uadl!<lr`}-_1rmlZA)?
z*K5sQ%2_{eUyj+9Eh@FPXuWMF;(I^bucS>KitrLdO8XcPl!#;}%w^_U6ldO+r@H3-
zknBvMYV-DUZ$eV<B-Y{XXck2<@&gRwW4%%3{9s^Gvn!!q;#Hg8wy&4Fe)R$Tp-H3-
zwO_5pT-3$0yEB*?Z7AB`M8WU?J5V6+#I|rx8rtqHORFA5+u;FBsCA?S{w&LjrlHbq
zBSX*7glzqIE*<9?mUT%Q1%tg*rmVIuEhS`y@$R@{dv;g~*e#qYs;I0@72G!2TB9_}
z{1fiQIesf%SW$TQ@>{3oabN+jpJm%5m%C!6b%dV#(usJ35B#q0^c*!0gf_9j|7y9o
zZsqtkOMkRA+o&hQ?TB1TK4YWfi8>{rX-4&>;8TlPBaQPxQndSYfzWE8Pmky}8NufP
z`l$Jd!d!b>SNST}$yu#<*VY;sT$>oirtXqR&YlxrzE{8VtR_7zu!e<FP2vk3@1)Z`
z=LueZht41;K(+R{uwl_|WhwLt?vmP_^^Tc-QSZT$!UJLHs?Om<;;qjgC`#d)GDP#T
z{|gO4^1ehe)YNoHtDYpk@l9AA%R6yKl(XkWV=j%g%Qh~F-?BFrKq6L*j6tO;D@9vy
z^~!BZ5xWb98tsV#D`b!*5O91|FAWvjk-2tKgaxZ+M8?>1A`VVbv|?Jg`1mc_FkCPP
zO`>HQ5h5zHwQ!ercmDu1N>m~uEB<R-3Bn0uOmSIVC<1?q)S+^<rrd6c0%Tagd51p)
zZWITJY*dwjPDLqHnqsWQx{&0yd=biAVq7wHVvHQu1y)Z;i0O)c7iu^HQOT6WOL5|>
zBGm|MoJ9ITEhEc{MuP}~L%0|}1pI@nMJk;A0_|M6X5gFzbr45T)EMJJpXDUNP62Xg
zN#s#)!f0R_$in~?JepuQ6l8ky&Z*Jqb|ASKDsZcPmHSpVcJ~{dymxjjmzLUcFpa^$
znAIM8;9AJ}%%TKDi7|-Fm%(aFD$pe&bx8FZ6X2==eDK5^mA|PXC>pU>Ky?BmmLa&U
z?9d_!kjh0Kx#>00rjGp4<_Z9Bhv2tl_!?kFFQ>w|BQkciHHgQWrcN1LV<H5NMqsX=
zUpOtR=m5u0Q7$LIa9r~`Oo(Hp>nzsonXK;64w}7qu3u)boXgHhV89cXCFu3*d%U^G
zW+O-<Pa;^yHsZP8Mx}*g!v&wM&4fZH;moXg@#|Adc4d0xZ9#<PNV#G0C2!5LGKo;J
zX9b80US#YSQ#}VXeP!f=^63~4iZbbWrL`9o7_#GW?uilUXK}?}B<Nd@6|ETU+HWJa
zjNoAt8=wMZ9YisDa9w=<Pd_eq#rS@Yu=~f{duOospKkWT1KYdnqW<P`wf_JSD}j!o
zJcT@~>)-GA$v$Mq#q<9Fw|buMx90ne#4gHGjI{u1M#qx*KEEuthuHD>?2b9zlQw)8
z8(pHU8)6bS0Wu+@$gJvONjPJhB`(&iaB8tZIZIh2Q#ve~%o04<1*tWi0QDS!Ob4iz
zi_l<{u;r-aES+a5a0T6pBvyj?t#Y+M=m5kx%%Z45GcP8hrlTc+qsZi~r{N`>JpjpF
z1929m6W9Ux(3eL<$zbOIs$mzD0cv8((T4#aP-+hVY6fWgX~(g;*mhff-rM&}eb`*@
zmv73|&duo%ZCC-t-%|qSjJjDRbC%bQ6H}ixn_7j`;2iK-yfkFx`nW1^sx=m%tJlR7
zl&TsLT+?sDiZKL?Ni<>jDtX0guJ-cu_8V^5a?~LWq^Bs%Kt}Y8@e`ILa0<Vy4kL@^
z6}Wj!2`(gQkW{>@7m@rE-vgs07A;iX7HMlRu3T0Lf)9ovDiNWfs@8?t++VSB7p+Xf
z^azx03_%z&#<Yo(c5=IP>YT}x=5ZwAN~pmS1{fu12DSJE><YHR>}4^kF6KBo$91lR
z$b1?#Bm5JJp_*B~DcCDWiAl%~!l>P?M3?ai2N4>QkgN8kW>Jjg85u-KX)Xit=BO$J
zn4<owRS5zPOD!OPd4jYnYded(JvTO2?peA)jHPZy1&s)Ck<CAAmQR*!m$omcoJ-)Q
zmPA7_>SkhzF>77c$9J{0V)o+Mg`LcG*pb3<c5(3vsf7q^IcAwgDi;Nzsx08Rdf=N>
zhj#C;aNUyvaS@>TDQhz$5<N0OJQgcZ09vV_qb)@6R7b^vCC=7q3N7f6#EGE`G8;yk
zR+)uW1Y%?ixFbcHQ^J|1sH<`@kdYWv3`Z20*LS!(y~Ottge^*J@wE{MP&EKoz-!w3
zW$x{~x3JpE+%Mb`F_r0yR@xxQyrn@vsV!Eyi~x~{t76<j#Prr60b0>g@-s|JhD)Xm
z_$@));*CHTCBq`4EO08etSHDc5nK^2n=x32%jUNu1xGAg^H|v$?da?~7kTcRP2X_X
zY;Rxf{k%q7?bW!GYQ$$iZc709E|>Ay=kI49tDpNMv(L?W@**UGQ-iKnI?AGAScR`V
zFI<xmh*ai_(TInxIW6wiIdzTA$nDO|H=`+wglQVJfZl9dl6`f;j6+8na$NeYwY6u~
z*C8Ph2<kGDZ=B^a^AIuOnPW8M0bxa4sX@Ty!7@k<wKkk^T9S<|HR_{cv8A!LEszdi
z7I(!{(y`NO7dJX~wk<|iT*w+~pmuYT&~w$v0i#D*`&mhv*DQIbZCFOELGvu-&06T#
z4Tsll&vNyCgVc}JdJHc5PhAg9OuBiqyYT1heh;{g-Szv4cB6E5^En-;zQ*UI{W_YO
zm!HJ5n_8U5D-u{YPnc&_+jIUz%4|R&qiaC<MOnBe^EQKtrjbG_?CJG>Vrv+29Z8;2
z=qlKJ)~A+j1eWQ*;;d&#Y14yoM%#a7m~;X0Y?kExS+%v8?WGIHajaa?{SQn6HGi$i
z9=zv6SeIbb&WfG#uS6WV_ypd-VC^gq@Lc}(UQTRFyOqCFVEYgxmj#Ms=O{5+yOduT
ztz2UC0m;SI@1N3*BEYa>KZ?Y&cjTmy`k9NT;Uv4TE(aA^B+zk-lR->)Ed6C^QH0CU
zn>DE{{lm#5N=+uMehbZyc9@%B00%Qwq*928Bx5F~Uj=6?cmy3WmZ7Yg$2FV5ON_xS
zUln5BR6&$=14({r#GNFH3Y-rWCW0VG%<^w2;Ha5`LB-Du(#f~;3Yxj#sC4y3nlWe1
zRxL>p(!!EVKvA_}&18}4C7a;1Fv*l-7YCCpmsZPVZ+Cyvzqz-wgrg}7_ngGaA;fw?
zsa3c!jlHz*LV5sub(e<~O*uMddQOLaBLWt(u`>>$fY7VtqEcxwsp5l!83CGyCmi2A
z6k=RV@)@JGcvBe%B7t8dM^O*>E3xujK<OhDt}#=T4+nLcN!pCH7{91}IMrpS3Cw&r
zs|^u|4CCTeRz(PaUydaR;VDL1qF93QBM?HZsw(8n<tf~g+?jbu;z}hpL>RaM>6u!@
zT`?3D7$bEPmi$wo;v<PHjY=S#1E#DkAQ0h-aT$cB45A5)S>ywO;<F;OgAjO(l8TP(
z++8<-3`^7ClmL^qWoFGi2)L7+mVtt54q+Ci+l}7iaSKtoAVr9JcGv(!UD&oOHZ;aG
z82GYe#r7Yi_$mrQwR#*9h{Oy6IvD7d((u|xd{}MeKS&cHt5ZLh9M!Q`G(rCWBuG|3
zW|cpclYt?QABwSdp%5@N;;A_$Ayy^U<<@Y`$;=4OW>J7>0%!*SGFY?qX)o00J_wZF
z&QS#N;hJweGLr5hBk@MzoTyU;tl)G3V#hRf4CFO<aZG0Fi(!haYe@9~Kj~S9kZPw{
zIZOtCa&zR5Mps4a`%9ZGwTnAnOLuEu)NXZ|8@h{*lSsEEdQr*)umYuPF_2>@k|gdp
zEbCZtr3fosu7idk(OioJWMXNFP5o3NNHkeCn9XZgij-ld1~b(n9zmIk#cnevsgaFZ
z8E@f@Scn7@;t><8f4%zs$i6oAw$TubJu4B@2Z(2C)aH-fIYeHfJ}J#TJ9gdEx@`8l
zjgHfIcE-ziA~$<`b1}DcMAKLlEzNbF{ofbH{{WBZ<?GLz>Uz#&i$sZFJQpl&po4VF
z1+2j>PzFJp#nxIqFw-d+b%F$A#aYO-148ckEy+fgQ96EfRnYV{dtHUj+r8Z1-})Qt
zUYvG&5p2lrb)LSVNa-9?l1*aU_Hl@i?S@&DP1g0Tv!X&mFCkVb(N%n#^E1*SW_+=r
z3m2KIN)YKSmMPu=5fDq%V8t^eKmZ<tABrrH>WL4~G`=8X;^~)=Pa=4pDfE>&K#`;n
zK(2LMXL``r5(OEBO6e!SPL}|K;_IFB6VS82+C#J6?O#D|d+WEOdL77;F59;d#@t7h
zrJC)1eW#fxPG3**-5aj!EB&u!+D6*MBeFLnH#Xqc?i+{x(piC$e>cCrQ{%>4%Ylt3
z$0eR+<<UYCJj&BL)D0vs<m<22Up<W~GdU)u)^~kd(xe^8d@@b-XH3YZE(Svrg5SKb
zbD$9592Y4vt5gHjV}T2$?S)&6=P_;rRODEERiC2LmAMCus6k>gqUZ6-(k&6E<gOw{
zFT`<1Uh!zhkm8x^frP_Tf@55kr#y<WQs1QDb6qbpLDIO>4;9bMy_A4Viwfei^v_3E
zJ-pyZn6542sVA-%L@hQrpUG~2j{~&`vw+O2C7OYho{V{goX$;nhE7JHJXaX^Hnj_L
zy=oUOdNGva8QdYnVohY+f_zW6tY_88^?lFV`zLDd_jX-}yGOkC=)&Bizm2I_jHM{N
zfQ+2<nj?5q^?0%xPLMzki8WcxZ3KZQ3t5nB(CriL5#QMU`3u*3SSRW&ZAgvj0t;x7
zaYD~T=L7a}-Z2umZ4>F49U7}45@_w4E^)QS&H3Axp=wtI2CIe<GSeP1BLU2<R&|^M
z2bgXj0;;e$ktE~EI1bnii-D0=wSq%awF06<gD@lFuGw9<3<Ehhl}W-Y!>bo+IKqmG
zlrPE<lyrfpGmzwXJ_-3zI=Y@D>S77amU=zC&hOv0-N&?cp4n@(Z1xv>Wx3kDzT3t^
z{_xIPgzuRW@{R$P{d(Q3PdM>lUL+7hW@r|ET`B;2fa^6bgbMX1;3jU>3^FQOG>tDD
zI3ZZOHg8=A(zhv?#L7Y-mWafb$uerZCahY3;oyt0VnAZ~l|@cvnTs_7)-6es$(7Pn
zfdmlT(6Eb=2rd$oB}QaU(Ge~*DZro$J_8n6vg2|Sf>;i9K*EpvP02E8)lkWqg34zj
z5Kj&Zd4LT(F~Jr=@}~^h<gX`1OkA@luHE~Vt<KzL*6udAj0<r_*s%_3*bEXW0zs{O
zR@v2^ObNiyEaxpsSReGoOuDaj>)U;n+kHEh<!5!P(}X4^aB0U}MMorBW127|N>9^^
znk!*Uotx&eP9OmJt?M|Z1hJ!36jqRA8nsz8fE4-oEnKWRWw*5*jjhagFgIs8N9n8T
zKnx`+Fa;~P=8rcm@F{|vx`zfhB3)fNwnJkNT<@WFb2iV?`ZA0}Z)9Zd;kYF^T#8Y+
z_$<oS5hdyorq6+-J7AvKdtTk`y|=q}osVwroA`E~-+th?x$ajYXA3Ym&QTb$_J33Q
z{y#V5`uo3Gmbrd!$?MOJ^ER>X`z?oT?_1rEYu`t?cI~~{Tib8r6A0gc!eS<%6~o_|
z=hcw@FIU%@Y{#Dy85Sj%4CUPKKt#L=F#ROroyf~GtAe#iWFMMj!$Af))s<O^f7FaR
zH8b(aZJ7+<_>zeTBo+;a=8uwiV8@DcR^wrFXY{uP$lW{BA?Z#e3qn7uP$AtGEpzJA
ziNhC67QG#pX}P}G@B4?;*s*V62;7yc*90!z)LE@Z^%08KnQu7FzYa~#-dlLuGMp#s
zz+4(6B*Ix1!17tV+$@L^%~^$eeYWFudK-PMx!>GeI&Ipw6FJE60xn9eld*}MCv3_W
z0gcF$8AQ;6C_x2Vv2;*~tcC*>OpxA5#Huk@!ZBQN$x=~j;s!b9oDpsSAU_oogkvMD
zkAlvAsLTvNBMy93BD9Q$&kqzOYKa6o-GG~^#tRy8V%Y$bnZZ9A&l+%pml(Y&wdX!n
zzoN8|NRS*TwURTuEJ95G0O-qGC-N$V3$d;|QEw<2io!WL0jgGQ+Joup##mshGU6KA
z5};%Hjw8VyvVXya3N~c^2;G|!WWWLoHyW+|rgPd+jF?Q;CxXP5_DZMX6CzLm4xq#H
zR(^<@q02>Q{<o7_PtlNjZyAG7YCas+xZQvVaj7_hy4jJPFlu!c;IZ0Mj9<X!wJ#VG
zQff~sqGX&ek^r`#Ysqi_0L7hDZP0Pzv*XP+tT-&%fz5WlZH{|}0Tq{kb)3Fdm@Q5i
z4odajfvXl2;xSFR&}S*RBv9bxW4@6B3)H(}R%OH^fP8XV%)F|3qD#D*pd%Q##HY`m
zcodwLY*BYt!o*3HXe);`uRf=#`-O%CpO?WG_CNsov(CI#C)cyut^pII$P<x`LcMeH
z8Aylf7%J!d6fp#h0;j&>$B(Bfk~6_@k9x$TCmOo{0Kqcy&Jhmx4QoeF%1AM#1|??A
zEn^D@Z*a)SZe<{Cf#uQ#U0Wf>FpGJsN@S?2qZtrfJR%&^5A-O+?b&yJ;oEI)cKaR7
z_VC`@^mmYfrOSBfmnE$Z9Wl!v$q>?Lg20!+m0BU`(pl(Hgtag+9}=%7nE;9x7_H-(
zP!^*eD$|7^(h@%uSx}gXFIM8N;VW(={{YQ`%9^{HPLM<JD^$hV+ugq}PQ+z$L>Xy-
zasb4hK}_N%V-u#=R6_?ebI2=Hb?!DcBe1i+x4VR=Ir?+jR9%6^+xdB*xCksb3{mow
z9jSp#T{W?HabU>UyC_O=FqV=-#NrENtVo!SkTU#LQVao$y)sq`Z<Z{Yh(+IzG+3lI
za?vbB4+LvaxPlmks16p$3{DF>$ppxFEn_-%uFloi-Ggg{oIPqeCz`EQ$(y$g>7Kb4
zEE=c5Wuj=w+_xDbUPX-A>5s)#NVXbSisr4;(m*dkP_8vZ>FNegOj&A1Zwr(_!^&`V
zn_4{)(DEaYMk{e5GMhpGnaYuf#FT(Rw=)R_m@GlW5t4OCdWbA)f+9h3XmUoMfWe4-
zL#;BA5@PS*Ijn6f)N2z^F<a0LS=@3(<`73sF-_?t0gikXC+fBOzwNi#{@nNX-mhzW
zL*2VC?jGLmbKVW^&(*tQ)E0I-i_re1iQAZI+l;zoK1luybAI7{rS1O!WBuj#U$s50
zwE7Oi+jlmt>~?;w+y0zqwzY7LccnSW<sy2dR=bSe-<gR@&B)F)m?BX)u^3Tjk|%ao
z?oQ;(+?jb6U{Aq4G8&Z44L-N+Z?QMub3WmFf7tsiahG@9+q1a43Y$Av_20T25z%Th
zm3S=UPwb!EPwj{7?{E8I?q6_yq3v<md!N}Gt8(wKwZ7hO51|_ny?V^!y1#ZYlx=P;
z-*|vpEy+ErG5itKF%=5vUQ9?txyLl`EaUqB0QTkf!|aE4`v>mdy5DvEv46i@_UCrp
zTe)*-yWQB_9hHrq%HX#Pc6WPgQX+SzUPKz>K&IzTKl%6e3I71)Z@K>f_N)H@{c#J2
ztJx>}2m6J&{{WY)c5eCXJ?`dFwYBcs{np|zH!g_)*C)L07Gb1;)p`+&wMcbh;rSo#
z7xwAje#G}}wd1<}^X%U3DGt%zqYVdG8odkA20}LkY6v=J9EM{Uk}CX6o&y!U#xJMt
zpJ4w0Y`*9F)jOT{dAJ_m`+KpO8~*<QxQPC*rCXNv(UFLei1S>L(G1-5tD~CzXSn<8
z_FeXL&$9bV*;4zN-nNm`ce{534c5x_`%oY~-N==ul#f)l`(IBm>=1a5Gim#o{kHeA
zc3$oMzjm(I+hoM<J0x~DcTQd>$+g%>P`GQj{MCzNr`+GRFSb8*{k6OI-|ch0{awwV
zGT(bEdvZqnC5X3bTY@iJl@5`ATyB1wfva?E*YWo6X}Q{NZ*4c0XSdyL=PO%_7h-MP
zw{qDrlqVSgV<1Bia7z#Fj_daS0QRBwyX@cFe|-JN_8)QX+y4M|cAnjHaeK9Ice1%X
z?d^rF&Fhnd`<B`f5|oK(P-Fl`<5?dK{{TOJz>og`^3QYs0PQ#b0Q%yW3y<6%*e$8X
z<bKwBoXRD`?r%s_h&}Lvo<|SC{_b~wwmt9N_jliEJ1+CEdqP$%3wsXZDNgv@fPGmx
z-0rALH}yUNQr@Dt_y(mBXg+DF)3)7iHdk%#_BW?vb!@$>wuy}5c!>&(QDn1|tfz8!
zW@mCnS0qWCq+FRAl1^&R&|lnyTmhD7^V+wL8cG8|Y;zozvzAD}0pmrf(4sK;Dl7(=
zsuPJA09ia^FK4yweZPCPcRStJdwXx)EXE(&w$|;5+rJ`ug~@)90^RZF>-OG%`#E~|
z?p&QbxZ98tk%PuQX=FGqSN{N4O*=qHw5f@Fl}@NYwFWAbG@gSdw-W$xi7v}<Qqa=i
zawCf8Y?qQ?gCam~D{{-odj8wB*)R94m7j9oyS407yAj+sJ9vrSg_r6u2NJvf569>7
zTRmLki~G2LW7oePcf{I$=e5{u_r2|}Y+t>&>`}WRvD|Jzjp^DL8G(T-%j3n*^6ol$
zw>fabxb7j_?smZ&M#bxqy(ybu-V%Ud1o08%x9aTu+WB&jIF`xNZk120k{Tm8<?vX(
zZA2g@bOr?Ca$2`(TqR~U?#5QkuSvZ-fYL3E8mRSVBryO<nmH_aykSe6sz(HUtmzr+
zq-fbKdcL@-G>mbk7=^zUSw%R-s4?J~XGj`381T(%@6-k)F~DN6df`IqCZfC+dP)}0
z>Y*GLe?ER$wyZ}{&6b&I8+t+1dGc2n&Xl9mtU!q12%vP!ClpkYVsQj8I&wwz#t9Ba
z-=<<oH;rSann~luV{@a7o=nWTU-AaRK0J9YSBiu{oV4I^RrAKBi0dOzuK`7$UaqC+
zAaLZj>+N$CEgWn3DtY5Ys+0g@8hGd6t0vFc3<>3kMV8(QfRvny@Cv?i>PaE|8P6p5
zll4V2qC-VSR8^Zd7QJg5J&o^f?zgvYHu}Zb2t)a!EK0}Z^(~f8nde?90QA>ZXNu`9
zp0B30<Vr#>QSe@FUh)zyL>NC5-GTxoP)<0u3e{m6W1Ryk+OZ;J0!uV-KfzWgdW3@y
zHee%KZ?@iUHr}AIJwCJztD%8-oJCzdvshG3$PLLzYC0GfGIt!5np~BsG_6O|Xn`n_
z<en>DMMy5uXD2jLmJUG}8Y(JeP_+U1sR+n15&-ZxtlNb$VjQP!7Ag?c8A?+T5d?s7
zJc5!#5&#XW%<9cogzF{g(;U&J^w!n;v7Wm|P@52C9+Jlq@mdVnRk2xDkSA@xm^!$v
z1(G!ez+=r7q?wN>_$$h;ovo-`h1p!a8yX|116^E$W{pvS)iN~_*pKs7DJ@Vu*|rIl
zn*pRlRaUG>Cp=LS=Qxrj7>Jq%7!tGc(M;eDM-Z4PMowiRig0Pbz)P=&S(UbQh9-=J
zdP(x*!4;w>Oj=cR{2~%+;Mk69D_fZDzLwp=c2eF-L|nC}rZE^1C##_L&k7C|T98_f
zMO_ZmOSEwVH1L~kY>n3D#@bhH*p10)H?Eeq0mei-1ZhO0>29SMUW~mfghK7I(K<~f
z6ZtAt^+eD0BxNHxl4ME5lbXv#t5sQQMs%Fzf~*>KnE=seb-WTHC!|v{tq0RAR<KLS
zG{r@Em5z?7nMD{dW?K7bvHPd&@BaYQf3frar*QuO<(sq_+mrWTPyS)O^xyvgS!4eI
zbFj3{?fAr`aK%~$1GNy-Yqn)--K(ZiBJ6cUM7a!Fyb`hfnfoL5*KYQQx4rTEgZDfP
zJ6B=Z-`Mu)kU@~MY;HGlfNGKjt56~8WfhjApZ0zCe{t>)yI%12$Gxu&&d=_E-0tsL
zy(23}xD9hQq9pAZ*qzI4_(Bm<mG}?ee`9vfwx4u6_p<vuHv?tcF2XitykmAyyKXmQ
zCjbHrW(-Rvb&h^z`F>_y%lVb^)#d%E_CNms(BIv#fByg_+&}jo+OpK?{8VX(b*$l)
z#e_&Eha^pj{mr}G-}jgQ0Jp5SzT~^>Z+i{vR=Z~I^<}4N-J!O!2Qg;ktVHm|F|UX6
z2itFD?|$QZ@34Cxx6jhtcdg~Utglo0R!P-*>l}1jjHcPLs}et}e|cYW?Rz7)c8}YS
z+mrpP+g+<;W?lN;+D$u<xHVbY%26)HKi0he0PhUq`MVnR`ag=`%_z782V#pvCTDy&
ztIQU?pKW`;-9F6S-|imN?)$#Yz1;2YZ13(iS7l=4_V<HM22dce#BeM{Kr2=$UNrT{
znar6=M^vP0NjQ~k5A84AJwI#z0AYB4ZS9}@n##p)^!_SwQ;Ax0KhGs;>=I}kf10&A
z=iB!d`+c6|XK(5E7bRve69(v%Ly}>L6~$Rr$1n#^K5D70nb?K9vAbkkmB@i^M4p29
zfH7CX(lG=ADpBXHR7NZtGM_13F$L=MOyMI|rlUk)tQ(CgMKM6pD6y^!bGB_7MmQYV
zH_W3~7X`lq!DC9ayi7yaEQt#F)a|$0ck}J{JE+^t_Uls?r@9e7khvh@I+>r6Y|AJA
z0J9%yxaWv&l3W~51X$cZEgGjasdxa$#4s4*;b-f9dP#jQOBNOQr+@h%W+WOVfcPzN
zIWY$7GO55~d`iWbL+~KAX^PcHF%cNa!6z8-SHe^Y6O7|h?jE9w%|b^Ppv3-bQ_PiW
zNYunoalvEhwQBFicID~Gq+-|?#<?u{^JS+|9BZCF3X>M=eWud>_i=A&wt=~R{Dr$w
z7@0`09~IZ}%Y8{ZW8bf=+Uei+?dNCS-|fA^(XqbU$lJYUOiX4m6k40Mv**{^Ih@u(
zV|CDka{{@P`QL!nc5YjYCm=e*#f#B5jsOs7xGd{Fyz>%(0EY{=yPdPT*7u<s7Oq>p
zuJnw(TRKS5q_BBlU2~qY@zAbWU8!pLR43Q2QYCV7j+Z(?c6J^rzP<(}gK`M}0Jr=V
z#!=KKD2YYG#|KZFFD%d_EjqyHkst)`$T1yX3|B1myHCSNv}!Q_08AHOJnJ<=P9CB7
z;*YN>TBzk0go0SotEB59Z9T==S+}<>=~{nCL;!lRbBfKo&Fw}WJ_TdM_3~T7&99@m
zx%!w!{AM8?wROre#z5e~W1W&MbBmHT%nZ6sXuI#|kYr3mh7}FX9`nkRNL{%YXmTQP
z85N(cxAsM=Q3Set#PUfWs{@0s8uwJSKn~oKIZaFjF?^jEwVd6=O%DZ{L_wh~jU+1S
z%8oHH!m>Gp;xJ5`BOFt|0VHBcVTxdi05gdIF>}o&QwA{+lo`5&nACDa2%s(oR3#cr
zO4MN}nCh7nkZ{E^4FSk#$)(4Kf~jk{zheBYn^p$eP=sMK5>B}cW<kuOg=?Mi$C}h-
ztUjFDxGuz-tUW0L%ttKID^()Qr)=GEr%;On)aQ~qT&{LyZs(_aqG7cU6;IVsD{zeD
zEzecI(oG3OoSk7H(!zs^)n)E`Q`~obr`|00n>!t^a=BzmBWb_1FKy+lGs-71lJDd4
zPcq9lT)!vd`+U5e)!(YzU))L}2JGc?(}-w|WXYqz2cq-X?HFkVfW=)VvbCUy>JkJw
zArRq2hAdq1N2M8<ytNt(8B%bqTr-HT0JR|0k$@N~z@WgkN+3)EL5uJz)ySl3a5yUp
zbUTu?%>n~Zh(86LIO*E$r@GvYv~JtBWarhobigornyb}Ld4dV97@~4shi>eB*Sl>u
z+uq-`H};*f*uTEI@dDklS<a#!xdp4^jc4tgI3y#+nGm`E01licQQ&%4PFS)Nb$$yu
zRjQF-0P`gz!HbbY#;S_LFprue;gV2rAb*^iE_Z`320XY?ZIYm;9FeDh#20ESrP-R6
zW<@%jMKN29RYcK^c`CywG9<HMkW@C2sr;63ZGPwbJ0t%9G5*OJ`kll70G4i%({r~U
z?#MUp8{bkmePxRO0R5eXtY-H7WETU9Du_C&*qSZggzdi1XS?3+>})nRrF(h1xeFV6
z5DzKbxgi+Db0o6EPwoEz-1g^d_D}Zv?0?($XuA>Jd!@K;y}>(Sy-025FW;GI64$qK
zcsumKjFB3z<Bx0i&f)D&`P;qE+AjKi+p=z~Z}y~<5NEfzCIKLV#h8r2D_52}e_j6b
z`!>(rzS#B`?l;<SBWK<=c6L3=T6Gvk{kd*7rr@XsB;K<!Mml2nA-np&il$>SXM~;4
ziY3Nh-2VW!e{J`_d4A4*=6hq?n_sQ(z0<sJ_S+q=scz4yc3TeIM0MVjAsjK3fJ;-S
z;otc({mBZCWmiA`DcV2piPk5Y`fq0b#{Tv9&f^`oyLMYoX!d(^jJI9SbGzGbZu%`F
zFG|+V_1BPZ`$<4o98s-E`oG;L-9KRackRb${kQ$7-9vraJ4~&AeeM<}F53S9g^{={
z`jP3mc6X1hdQqfg8y68|Rq;QuU5?vx_x}K6cKxw(doJ7DHydfl0%3I97EFf@i;^D{
zFE7vk0CHRF`~LvHUvM`UrTs{Ejn3R3^)|#=hyMV>0H`f|H?+N_-~ILO9gnrWt+V?6
z{{Y;lD|<bkscO!-!Uo|Q?@kbpOiAjHTdd~4UjG2er|wYD`zQYZy?aOf@n>54nEjdl
z<l4T<{{Zh!(f<H^M(MHmzkKZ-$J?FXeeM47Y+3HTvvGT6zS{}H;kCHiT$QVkGPY$C
zrcoi{NI4a3f&Pj6>+N5*KI;D6e$DppbNlaM>`lLK?0u_sV|U!6W^mjS+HA&9kFC1e
zhluJeBjASLhY#9k*<)D#<h`y(`#rq>0QkbAISxOx@3O%4e&oHbf9m$}{{Z6(Qa_%4
z=6gf3dn4Zc*V^9S_b%7n-J4<b{{T(y9^NgDw(Hm1TD>hEmF>hor#Z^eYqG3P7!AoW
z&(+7uh6jSwp!EE+Sj;-8+9pj1yWoo&fJaFn(B!Gb8YCoHur(!b_+`D=?d4|Ir5THY
zEq+sC44#H8)LNNF;~2n1ohG@u#Perj-CJrL&LuX0Ex8fR_^oV_Vzdc$R5m{Z`Ii>D
zE{(ioJuOY7YBFy&ZOJli8;t2(2M#FVI%C~CgnNAZJa<<|Yn{(tTQMW(o1id}j}S9e
zy)*Tju2{$jfbW{e?9sWN82<o*t@wr+k&jTz;;%DBsMKcU2QDhLJz2mwz>;MwaAkVB
zWLyPBJYNORGA6U!PIh6o0D4x5lvn{LJV>cb=KjTlhBD(q7WQUFKp-(aHF65n+r(OP
zd>a*+=KQr(BUT_V9yqMqWf-UdsF8?F^|OPE&;fEPD^6>7&l<+622g3h>6B|3MuZ+9
zimT7BUTpO{YRPz~a#t?gGn~xs%BFKBQY7X{sayMQu_kd0K)I-@<$PS$_f;5C!KuJC
zR;R2Kh>KxCo^HBJo2=56*ErE~xlXY&E>2naE}QTP%%iHTS3b1}y8=x!bjfe<mvY#t
zgP2DXf+vue+b16q$eEzUvNNi#_M=inLq{$@!E4NwnwDV0{NI|yw${ED2Y{tlP34o2
z!bJ6c3tlfGkz;|vsJ#CG2xW~;6X)IE;bGJbOj+0!&z^LmbjF#5*YS#(z>r@9!D{-x
zI#5J8U|4fpq{0kC;Y`+NkG7p77jyprLhXOXe=LCsN{5Gn$M9ZNix+nnMXOLZCTbu7
zB(-P)^JC~xOrpa8<=is51weI69G?ZQ!>-qJ-9xtC?GVxQcdkbK-Vrx7!hxnkfyvc*
zXQv@0gXM#vvm>Mt^IFDqr;EGDVo;GSM7YD63F(oE&z4Bjjir9=_z2vYlwlnae1<GO
zYfx4IxM_JsA2nJOOid$zR+20v_zoy1>UyoxB5>gR)j}v4!6ahURMl_|c(r+`7`r&z
zHq4q6BT(>Gl@^vYBm(7HqIJYeO?mQ0(g8ChL_hIXtX;u+GHbEYS*caN*+ir~ptp+5
z^wj~}k%$<jm`@>&CnObHwK>K{+$B9Vk%)Hj;G5@xJ$yPW%Vp?Z8<<=>vk*4YfsTPE
zshiY>LsGe&=@Kd9{88LjfhG%D!eTW@8B@Zjtw7^d9UUt~OAuv&%Yt<-Qjy02g0&)|
zr{Jh)ldyK?n#>Y0B;~+liOH=YdhB5<QJkZ0Rg^&@GVucyZR_D=r?!oom#xEbaM`md
z0XxiRra6`j=&E*$@`P>}!0WaN5tBBc4GSC{Qt7awWI@y$fhy63sQ#r`rBx*ob4p9L
zDE*Rv0|SUwd=Lm~=fxc2Nuv>tNxcJ;h=HDH(hRFg9xHL102+%jZV3i-$!6B1Fk&Mh
zKr<u}E)0U4YU=Gjc>SHm$NpkHk3DkwpIf+tZMt;-0BhY<)l7N+0J|b(`-b=2G8@Yu
z`<;ZwZ*RsNiY;s$=)$Wizoma<ziof#pS(MM{{X$S8@-d+w&UGz>xh(2_C&*H8oflp
zybu2XW{hq>Zu|cL`%C-N_m}Q}bN8i=^X=OmqEWT8?Au+=>wO#6b~||V#$p>O#7a_>
z?nns`@-<X8SLR3m0NdN|JGk$@*Ku0z`-lGkPfWQ+Kcs%%e%?Lj+kbCf<ohG{7kS$I
zfZWS*bK9Ga+j9N*ZOzu)+t>9LEHQ@Y8<fOIhgfSL<_7-&WxMU0-Op^_S(e{@v%5XM
z>cr_gcdbamahEVb3th1O*ZsYBPU+b{WnXnWw`Sho?cLXD-FNqPyX~df?e`X@HXXI4
z3zp1f6U-DfI)5<j{`&pv+h4W1wf7s`vbkn)xftE<``gyu1P~=|<=H|)m5ic6z=Q|&
z@7(L#uiaPe<7@XX*?X(|Z+iP?)yqEW_TJX@-%oQ3Q4`!+^dT}OfZT2M0!&^WY&FsC
z{0Aps2jQBnW&20%FWvipW_|hgrvCtYb~bx=aJzT3ZthNi4gINFwOqffZMoos9@p<j
z*;~(PefIBN!tJ6vXStzkyY~CqPMK@AEnkkNZBe@kk~m5v;-%_84eY)D0KNNnbq)Uj
zxBHIcwf7rx*JpjPyFIq%+<+nBcG-;LSdr5t!212q-w(V8(l$Qf`>NiUfp=GY?gvz}
zBl^?`ovnXC{>uL4{l@oK-n)IP-2U+IeeboN)xEp)UCX&{_m(|KdU|E)-n%&J4p_2u
z`F}Zm<BUh${{XlRLVd~JAO8SvysHEHd-qHK0O^D5Fa&^mXKWNLPwducgL;1#2nP|s
zd3aH2ktm2r!JV*@WY#TMVHP!|Rk1DF1VjO=64h0OuhMSevxjk&seKjMn^3&eGl;19
zEbd-caR87hR>8Qfunc35EK|ZN8USgM)&`6S#Z%0jt3V71hz*ffeWL;`!0|@>AO@OA
zfz7c;(ss1!`L_duEpdq0J#aWOJlQ%Fr6Hw(sKsaG#6}<poO5!i#)Xo^6G)7|&1!hE
zN;CpVaN&-5g^bG9t_DIzQNscX>E|mn^wUcb$r2Hz$raQVr;(w^8crmvUpA0+5r&q>
ziA?j(RCdG(kh=O>fC`h7tJj_`GowsPQQHBE)b){75L%8-3ZMENYjO~Q9*m5JkYwSQ
zoI)q*7s5jTTD*$0R);bLqWBPaDgyw3bqcNShLHjJg#B>tnVz1Uc;vZylMJ}p{`0q;
zhTm^zXl?J|DV^5uS(I+ZURdZMqTF3;*Qx6<&+BDy8@19g!GK!5ZE8e;DHD+kjk33d
z!~*5Yuf7C}s{x-Zljh%%S_q92k&qVw8X`pt<6M_dovc?!(OerCcMnq8w{qdN8zNxc
zc!zTgTDYxx^L)rRoOA0g@x_-b>PXfGAjY^XP9{NBDL~tVJs}xI%&rG{KNY#>^z3SC
z4@eAFt-ma&9+j-Vi&5zvyyxoyelih-mO7*kBpfKWpGhupS>0p~p+>LBvgd!xuE{uO
ztVm`HuTUAdbQnj<I-7~`T;!Mj$KvO2U%puO)q&gp0OkGe=Xh>yV?O2U*%pPZ*?m^w
zQ>r4BUeE1${C<BXc)Wl2ct5M_^Ln@avpM7Vc-l|-uO94u7$RZ>Mm`~H&i!`v1{sWw
z0;@hH{{Zq-*v5pqY8v9s{a7-7L(8$by|vuKb+(+XU9|dcK(vE~E#kbo_p_H-cdjSn
zRU{E0<d9n*1WWMMhZvToc`aJPNT38%DD-6hqDVLf;GG%B(s3AbS^fy~5t-n#%Umct
zqyZpBvRjdxN^vxZ9U(unDG<wsD;BmS2BO#yuZ4r2U<OPS;tZNYDw-<~Wl(wX!QDKH
zk|ae<7EOoKpfGdIRwRjoLRpdar9{S94;6GUY9c_yQLD+-A++Tgk_17KG~&06n1o0!
zJiK_U<TkGD!8qHA#sQ<1Iq^=4#2in`sSkIt`?tM&Z)M$f9iru{TYmRr={ty>s9cn-
zJG4xJF+9T6{Fm$X_+tJ!eM|EmAOH|B<&x*is1z&(PH2jgK2=X*9CU-#7aSF3Qlx|6
z2*4{&Dj<LyP~c8!(3f+K5sKawAWJe$=`7`#xxgl|D3CFW5nS?F?Xmz%{1XNn2V?L>
zQ9^OmSn2?~q8DFu+;;8O<XzZpzK?C95j$}sFeV341lFdi^W|%d#ltokEeQ$|kTM*R
zszM+F2@X|%RU>G^#m&9jmoFG!fgY8eB<lwnj2T?&>5z#5%|fRXgVcBqN)Vc^GDoP?
zsbcO<DU90C4h1PV%0QZAP);S7C7o?{=$r&hBN7QZq8OLS4L@)Fo&o;=nD1kd8?U&0
z{{XgblVY8{{{Y<I+JCxT`|rQKJI7-7N4PtmY29wD&uzch_O0&YZ+0VVW+cMxt5S@B
zAc`DTY(Fo`2iXt2{{a46d!ysoJBR+EO2?7zKes<{y`i$V+`ZZDPVw0Lb=#wFYj@o{
zcI#zgSEU(DTa549giMTKDG0l;CnctF{hjR~KW=}sE%&;lew*IkaAGC1ks>!EF69Gn
zYo}2E0J7SNZa{A_DAwl@{1|FMEJg}r4+;zwSHtzs+eh4C_QUTNw|o8jzK>?z-Tu|y
zNgzk)_ryX{kt8&2&qdSz!q;%lA9wrU`)wa({okLtb~c5s$?rQq-0c{EAUD>U-tHg<
zsgZ^0bGWlEA5r(eV#H<p9s9H=EfN0b+yRq2f57(CVVysUbTD^k;EWI1zii)oH(zA_
z;n?n5yR(<G`?igjxpvWsnfh=^h4@5N&cvi<8m1;u{YhS5W&6PUBewg0?ybMv4`@Oc
zKHU4pUsJTXx0bs*ef{X0)3p*Q>D`a@tg&X*5E=p1WBIB#Zd#OXS|;7d5hzM0NfH$V
z9EudL?*9O2d#l*Lyq~r^FScI&?ojO?dHufvdoOmlA|<=I2x&L1j*)ZJj7QYi3|woD
z9Wm|vyY~z158Z#Y-NN?Y-2UF&9^1E!=l$<xZszZ{PTT>Jn7;_LLkA+@jDW@=Ygxy{
z_OEYyo87yp>^-~MciroEZZQLG+xEA2S3r?0@v#{ioE3rnxBGAVA-w&(!+rP9?_YDV
z?Tx<MV|#11?DL#1-x1spUg@@E4ao>Ks}{9PlU6+{ytO7ji@o>XcE0TQ&$+$PvA1&0
z%f0t){{V8^S-+%Rg{|i1<>*FwOopH)0b)a^7`6SG`-Ap>yM5pLX!{$r_LpJqJ^ORD
z?Om?!;?HZ^U*68#4`;IxDaOPmVhN*_oNn~~PyYbG{{X!5A^zQaowNS{;Jw5D08q79
z<WKCM-gxP6w?60~V%?Ltf9h6c!DhZ=zWaOJKG^Ob+P%%%H=UEZh(_ty_bs*Ep5R-b
zmPXy^!c1C)mgwc@V-co}iRZ~Yd^2^R5+FiSCLp+r&=Z?+TDd{O+0;QUIDQM3+S9%r
zziNA2_vd|XJILM^VcVKU?4V-i<FjcPF4kq4)pFY8F(lx_AXX&dx?(bVFy^{ISagzU
zfmux@0SzWhNmNXQOPmiJkv`I|g-FOYtTI=xSfC;#z9R<B)q4HXG=m-_6iz19{3r;S
z082&2u1c6WIYerZjbV{Aerdbra=TWC6@4IhD#ED8rG-xd)mrf;i(NPN)~$L*-SK$b
zhO3c?BSgQHx_V4>$}f>>EUVZ6mNFIm6=uy)&8;9@F)b<skyoEt#e%iBy0|v8*t89+
zlNSuM12>3Z1hH;Qe{JEGLJ<rqG7O%fbjxRc8(43&f5XmZ*qe_y4ruS1&#mBVou@(z
z140uxq{Kk1sxT<B&eo_91{FD~^};bI*NQy%!l{(nsl5hdlR|05V*2Vdf+<j+IV$X<
z8B3QmTdFGuj(L>Mxg4xOari9XH#liwgYi$FKk&^-az<R2OX|)Ml0f1{d93d6Gvv#8
zh;hMJ#J3>S&QT|zX<=0TWV`aTqlj!qO7m>G&49@G0FHfBU`58a5#+Tkl@5`H2O4Bk
z>f2P0PQ*K2<FtJhjh^cFx-MS+mFs6!qqh;PJun>0H(swEe*S#=^FPbaf5XH1FTWoC
z*3YN^0C$>UatG6si;*NqOAvXlKdGGjSFU=Vx*-P@#FhbGx$@NQu9FrS3>D|j;?wDO
z7;sma=5`QfB0~x*j);}aVgqJX#hvt7%4OO(%i_xOe^X;KF@w~i>XGHNg+V-Oyxcv!
ziB53R31Vv&=7Q4SrY0qHJ+X{<tjLN|CPYW1WH}}(B?yS(@*j$CJpwFoEy-y+Ep~3<
zd$(Thu@M^^1PMx0h?AZXCCbl5j>gT4+wHtJ_f3tI?m%uY#yX5GnE@#QnE`hEUrX!!
z?+#y+?L7Ygk8fk%8!u~i-*9er{?P6hyRTw^kD<N4Z_=E}k5j~9RiAQCR!)!OzOSBp
zct$|5dYXW-TTMwLA&Ri7Mj|>$u1hI8NDrCGs>^JkMq*g7!1G0#Cv7!|uqF9(R&Yd(
ztuX){NB!ZEq3}d$soBmpqk3^MgzFM$>Y>f1I*4ZlQZ2=4kbO9m+M-6MY{oB|C~I!z
z$VxJSX~wZ55L2rYaG8=xc@pHDNm5;z+J)#!>^(?Cf^C{=10-S6yQ1ak+_eu*5|NZ`
z3W$S~m9LB+Cwp%zBx`M2b##}ZT;y)DfYcm*D_t|#kuDiApOXZKb51$B8X+Lz@E?+@
zoIURAv-Y;%vi6P7Y3?`oee-h*hrDd=TlDR1rxVa2C+cy?F29%Y`SW<Y!=I0St>xhy
zoYNM_E;2fm$jSq%COU(}kj@TaG-4ukGavI*<_5OS*j<IoRGdr0l(J2VD)cX0{<Ya^
zoyU<mxHWKz!TDhUCwB2GKP6W<W5HiqZHJ^bP5CD?u@fLfw2bpW5+<dpkSmsWqQ<3A
ziIjC>+|nM!-p|{t`+sZRBi-!W?sxA_)!xk*%h$7R0maG4jV&yfU&-c4GWO-;)xNB=
zr->j5r<aE{$~xFQqosmv5v913Am^m=bVGP4#!x0QiHwJuG6WIg4OQ!v6#)wCBof*{
z!TF|IkaWE;bYD$j$}^2jNPGbdTZ$%&Aky&;Ra4ydZ@m4-><@Bmz1!_Q@AmI-cGGa|
z_nwuj`VH$-vp$RPxdQN<hg42HR;2w_zgs`N-`tTj_p<~40Q$bs{{VAEi|h~YH}@tf
z{{TC9AMIVE{^qZRweml3{{V15cfRWOTOQu`_qa!Q?E7uhH}*E)MX}oH+}pQu)Mu}4
zV$_R5?86x~aKTc3s@q(i{{Z{b_c!j3Z|%LK-#zg6F5B6RrQ5c!+U+)Wtr<ozeLG7w
zM4B-II-f{(XDC|uDKG)>OjRX=aCG*7b3%xpfA6ooUvoa>_CDF|&wF>@?%kua7|XX>
zp3`S$<+(!Nq#pH~Fu5+Ab<DmdwO2{a*naJO!1mv<JHOj*%icbh*?soq%l+53eKywT
zt#<XhR;GPxmZf$t8#c#9!H0@Owee=5lZ$y*reo%#)CH4Ye{=7L-21-3wf47n-u|=L
zcAzcV?K{1u&v0P~T=iffxVvUo<Dy<oH#$d5S~Oadk@kEBZbJe|92R#A*1Oy+TeaJ6
z>^7g<cl#&_OMhnMh3nVjJyE*v(I~Yvt9fQe?S9Jr=Y99~ZqnYy=XtU2J)MZc7A<$}
zztqk#fFX_hQnP+~oH@C6MuVH!e%Sim*YDf!r*hg|hSRrue_=agT=zRomgZL@79$PD
z?(7-Q@~udI&*$%bea-jx+`asJhrT=Z@4W6HPooR+5wUAlK9!3?Hm$yTAQR^0bM<xe
zFtsVTw*x5vWLqFHD_w`|y^r@{_xszuleYVRvwOSgyFY2#*w}XcxAxxGbJN>xZN}B8
zYq_<QrKT|f<swdGqWLq`cF*^b`;(1-=R(I1{ukOm?rSzrgZHW*yno!04n6ABqxQbh
z{{VAZ`p=Q~ugksn@85U*%kQ%HKfU{a?w$5_t?lKz^lWXO)t3+&HumkpkNl|4D?e^t
z9?IpdzUIyQmZP|{ZbDPBH`6dNiEN70kZSigVY%Ghy=u&M_U=f|HlX@o38X{h7NnRr
zleb_>OlAXvQ$$G!ji3uSWAa$Gq?nyfa2P&oTd)+QMFmzj2qJnTb3xH35s`2S917Q9
zfRU5Pmje=+RY?*p679t{;K1ig9-kGM(MDV-P5`1w0iAjqF^EoW9W;zh0r-`>CKZU8
zNQi?Y5vhj`D>h{PkqHb&qWLX-w~^6_JsOGn@HKYjrg3*-YvG$C&zZP2+j`d1Ma#CY
zO~k})TDcynL8~HOjJ2G8;mJXgXO*fZa*SeRbjF}?PnpQHfEbJu>SY?x!XAWVE`MCj
zrEH36Il4A-dq@s3pyP+h8N>k4P;{*E8r)8zNiiKP<+!bR>w!u{I|p=HQcZAJv!$qF
zYJ8y{xG_K%E*X($tZU?Xycb!_X5LOL?kSO6=C#3y168Rl-2ilk#QsZOZ0s1su5$DH
zAA#x!n34pTyBt0!yLm-==#=F!8O{+D3g+Ea4<>vUX=JQn#DiI2S3B$NHD&=I3q+kq
z9|Xy8QXt55uS}m@)>J@kM3)&ZJ2s;ljBtJ>QqMP(?(MzTf7*AJyN7GsPiwuf=FR(U
zt_~Qtz^_N*_xV2!`+52Q0O;lUe-EF_=j-Zha?V#S+@0&PGr4e?N=Fi8T$Rh!mSu0x
zndW35dU!I!NYqPk87+F8@Ig7mSAs8-rz>TnEMqJxpE{WnIZdi^9|Un{?hl#4YW_RA
z){%@sbDzX6eydpW%w%XCrGftd1?I=IMB-uusQ3;ktmtR+vnbf8v_sH?g0BHLB=TY!
zKsX>LN?TNX&P`8>v|)>q)FOPW-{=*oM&Tp~&=r|5@I=UD1L1=$Q3EuFpz`DuV$~fn
zmZ?PP%x1H9;iS$(7>5~gRSLD~>jwU<7y$ys^2KeGn3p0#r2a^?sS0LOsQ`Ed1cG3|
z2au|Rea`mo;xUYiXc|Cw3R1FgTaIk8(^;ktM6kimOQ)Hm)p{N0XWMpLn^rqdasKCO
zR$+GL<I|O)8?qf%z>~h7D<S6>5~WDYCfr4<QLR5UcDe+B+4EKxR>azs*bBZ_4sa_!
zCG|e;_NL#nSlMqjTg!XRw(iil*2~J=h^%Hfqs`>}J~Wq;Rlkben$F_yS&g~0F2?*=
zOI#hQ9li+EcaNzpP`9EjfOCc=IJJ;08QACl075D)L?0DmwL%jS)M89Bks0`@Mwj;&
zw;~@=aL?0-ganJUMgb_cwj+N1yFRRKMr4mx<slXiR&{id)g4iKxehsIJXI>p7@Cu(
zlBgg7>JHhg@YEt)>Q`ae+qau7q&GiTv--JRv}3lBk%yys!50H!+!cCJoMUeFtGm0`
z{{Z6k#0w@Qnd-()C>ds4t!BC8T>eXX#es+cfaX<ckZKXip=SsLJ#)i9&1!tWv0%>J
zu8BwbZ1E+DegS8ng-N1f;MC-3Roo)Q%a$%e{0^Dgke#`3luLv2SDweGPjv2k-tWD;
z-1~*kTX%fD+l7Xr&43K5W;tn&12p>SL;xlJ86(W$R=0N-w-OgG$lSUBh$kq<fGTjf
zOA}M_P2{Fj7*OJ#SpkRu3S^F8$G7cmzqj`t`(ta}m+$SpyDNkHh25k?_Yt+3gk?fk
zuloK!AFoz>xx<g<zUQ6s+kMrqY99UEEp4yv<L$d<=<T<RVs|qG{nw}*0RI4~mzzA<
z!>^CFa{2NLK3THMU}`lOB59`+4NovzmMIW0HH`-ZLqTjAiqx#pMNXAIkQhF{!CQ#S
zuq;WzSBR%;^hxUc)hMYTxB+I(X-1#|T>k(nWVp?`(%ePBVB#zZ1ke^*xX87B{g~X1
zshGm-bld>aQQ%ig`!a$<>MrL6pWPe3<W*9HBtUG90xE54*}FK}tfe>Ui#`|!WxLiu
zW<jL`1{iaq!fCLxw7<F0+-}QlwjjORaP<fvbcS(>=C$ho0E&ee0OJM@4s5A-)O-Or
z{MNkl$SKK~9+%*Yi6%hEze?wMC^rZ=5^F-KLCD=LqzylcEY#BW=KamRt*q`DS+Hbm
z+sY<bw~E!DBeVuEpdiy4rdUC6Y4SW(J!cgdW;A1&{{RK7y0pcxNtS#HB;_ao?AYLc
z#a!s8BF-=w^IMrgM&zP6NYJ+fky!PWN+S5fE|M`szY4auWHo4VTk|i-tp%uoCt?FQ
zb<$fdvujBg41Y*q>t1>7n#xiD-asM0F4)UHNcX$K6O5q3;3H5H4lxCE%kl_#&|&dj
zOY3V(5fF)EUTduLK1HZ90+JP5$w3JgYPUSrJx_+EKqP~upEPr!Eh$QchXm^7aDx|^
zcFAhl+A|3N&qIRe>vv;PgAxl%;;SOiML2L-?}my+m>Q9SxzebR&xho#Ly2m-z1h8}
z0gHgQ)c#pUlPO_AQnO}%0S{8x6l^~#XBgp;#nz?iP#l_o+;CL!EN0bFx#YEC-UMGZ
z=CwEERcUs7Mr$+9E!9*-vdNV%>XHcqiA}z3;bjvNp)n$k6D{+3MXOO}U?^Yw6YH7(
z0LT9TAUwh2@GCy1UR!`fljD-N1{1uTfv90szqHK#RE~|d(p#%roAA485!%39lx|E$
zQv|a>ext}PGyGw3>Hvl`IW0<Y9-sua0<~OydfMqD&-IIzVM+{`E_ts(5@bj6Gq;Xv
z#ZOH@h@r(Oq-7}>k;;m?p_so`KwwacFoC!MC5|M}2U?wqQW6D$1OrkyEXm2!0ywdJ
z6L}F47VE9w0l_+(T!FPC5h|LRz9^}a%!2igHFZgfFc|PlBxJ>it^}h@5so@dIE<Az
zN~A*xYB-X#H6R8h@v6*ecYQH3EyzqT>H(^$bW}`AFeC;Bq=a73B(q{u3UjSwOOk}&
zak;yGLV6(vh==szA{snL6xFU_iEzMTwXC`$=$jLvH>ho#sfy0EfRbPa5*5@aR(nm(
z_Ux?sTIDEzEQ^Jy#8u6iB)1sg=;u}<dV?5)Uy^JN?T2>X_Un7Qdpm;MH<pc!$S{oc
zTP5457V!$vuRl;NN+hgQJF{_F)}&mnN-)u^n_{{$bDA|{9VU`@b*&h%SPpzsb&%(U
zO2_ctl%gY>J|Q~I5d;bxazT`+9jVDZ3I!OF<28132pL91ionqpa-xX<<KTpyM4A`k
zR;6UcNpkW{K%EpJrNaV`;FOL8;(lQ>eih20CjjToUt3X#>hKAjF3@7<!zG&+20F3%
zDph71#yu&N-iYxPD7>@Mfg&c4;EigeVO6<Vu~3LE32qsps6fb({+J@|GlhuAvwXQL
z4LJhb3B?wqMg*2yjMLIdW9165PJkUqrb8_B94e17T0%OcBbi$0c5~<*RjU9vt5aJs
z(<oe+=mp0W+wgu*K0ha)UZ%-*&)Lu4n|#?HefJCBy_4QMKFPN29^BdcejTrA4YulA
zH`Tkj3VN3b%&z|c-1qqZ04L<WzZ}V4KkI%Ue~*6Gb?_o5R+o0c*NYzgRRs)Apt?pV
zy)%ABa)5+sNQM*)xLJ*AL8}kJZ*VJ1iiQUTprA;^FwCZ03e_-TVpxMhF;$wBBPra}
zXi0roRT5%b0On*8d8*=#2A6(W(Gzi6>X)x`Z)U)?6KdRyt;|GfCR|P@!F2QDUR=F<
zk%jnr2h*J{4=~IXU2a!1#EQGDR+FZ9gF+wtmTp;)7><|yL}0ZfgGr?=BgMxBto;Ys
zVg_TVYHYbKR#|y#_*t|?u^|!wEcrhL+suID4N?@T9~6A3Qeek{W8j-}rHOhP5;H2@
znm=V$KsEycb4S~HKtonRvp9T{^|&?BYS@&jH3Gm7$#nDP-UY3$S~iKbD1j(>fH|IF
zZ~c5RsV|AAE^D7$LUGkfJ5_b_K3Ni#9AY>t)%o~Lfq68G$Bqk^`AB$C2Qo<lk5(L!
zIR&hUffJ4)YnTS94C#-FRhtTDD!;**V-ZS&7x-Yc=6$9u5QuP3nd<!3EaQbMQ4G%&
zuHw+q#wE$bqW71ByaoURDz+)STtz%88S+`PBXXcgjeG+uavcN`K|d0;ZJ9;nNw9wa
zQR_0P!gUaM167VP9pt);SDMyY78rPf0b`j(o6?DDP!qroDYNawXJqYQ=#ceb;1Er+
z@o)|YH2L#yLRnRIcJAGj?OXJ1nLI5ymYz;=U2mVP)>G<BN2Wk$cLJ~D!5?X1!x1e~
zOXLk!IG6Wmr6NmKjJn;d9Wey*T)v-a`?eU+y-MBjz?DQD0Lrm66<qGl>2_@Q*0%f2
zw&!!Rv%Rsm9a~GF!rj0fwdf$4mA_Z-=F5A7IdNQ&mB~%C2^SEJBM@rCkX+}S^CxZT
z88#IB*1p*cWjnDH#NbvZs<DueCzv$JR{UN}f-sQ|F^}T2ljXTJuIFdD+RD-0Ta}}B
z0_Ck#5`liDpI&*`WpHk7?X3$&#mP*Vz2P9hN$?y(%<b7SkPR{z5kOYEWj>^|nOu!>
z1A@#t>+N^DZHu=qcS{r8S(T~A+$~E)qjZjm7X`pME$GGq)!A4Zy%O|E(;I|z>Z663
z6-+~xBd7UzC*c&LAOOhbs5wl50I~2M35vth(i;*gtV97FM1~x3b(Vu_q5W7bNxTK=
z5igmeqQcHZN6IUkqXE<s*k;PB14IB$W{IK@pwodR7<7bmo}4R+*Fi#35R`S6Bg>IN
z8-1<&_oHKP19J7xBqNDn^jXMzGpZlcpGk>2hc&CnK$J;rNECEbAZ7^!3e*K+wB%~k
z9uz|4N@2L<>L~~Gjucki3k-1-qm<$oWf{*^sF+(6j17MjVX1-A=QBm9&0d&*Uj%%#
zR4>724xss{D6Cp+#|mZ^g=>2Gy{1wTc*H~qhM-2!$hJ)DQC4y?b|5U$vH=bGEU1GT
z^qLGxQ_}36#>Z;zn_l6#+1c(k_R|xd%W~$;(8iMisa4a@ykpmov~%xw19Q5+x`n7&
zjp@p9v2Kunk#QLE7zLSitj9P2)S{R=K{7aJ!5tEhNpa)y!C1q6=HmAD`P}X$s{DY}
zCIbM%fw(P1%n0csLF7db1XiSkSO$893=fifAF!bDP324kmkt<lSdHk!k_9tO>77v#
z4B6z3F{akX)XwB1IK$I{oQ&ik2pI>&@>+t%Mx*j5)7ijNiz+6Ya76V-5rI~$eHUl;
z_Vc?EHrAzfU>Qq5b^@mb!{5BEN15C<hiP_JrxuiGM>W&MlzN$7aR#Mo!4MqOS0c6M
zveJ4zN45-ON*c8jX%9jMd8S5ncP?9KdUnO84I&G<;<KEsD2(v_Q^jgc8_Rj$xhoO2
zOTq-0MC9vJwreK^qH`_>HD>U-QRx)~G0zlnQm)#&YH=5yCO}FroK6YrfvSW>!>0p?
zCk6{0URq}<76f2V3bJ-k&@qT1nQO=zNg$d4izHF3Vj>F+oz+MOQ@FznmB@ANEX3Kr
zyY=ltdvFXaT?ESRqQpQB3m4VSla%R@)CqG?8E;v!`VZUx0JvLEW9>V>-sfl9cYEF2
zYb~a&<Td>+q5k&M;c#(ZL(k{&{+syon|EI~^Zx)|`}aLdnD{;1h0BIsVIuLD72~!?
zx<@ky)G+3=WUiZ9Ko<ni8djXuz~;9$BtNJFz?KIFCnB5Woj;~Bi3TlD=LN1qOL6oe
zIm!()NL(MJ<^avno0@m@bINjNB<RW@&>l-RaMVM~Qwk0_)f0n2i<aY=P2?&z$mt$a
zK<u05jZ|%jgIwvrGU>C7j5~IlDDGo;%W-DMqio&+>0>h=(G~^datf0<oU2$yT3%6)
zh&V2n+-EA|5=O6(JW+jY;Ryz=GB~XH^Dk>ts#>`%-&RgR5DDo2042^;G|0wR1PO##
z835oD#Pd%Qau8x@#}Ask%Xvqn7_c86D_hSfX=kG2>hr-d5<l8ktHKf$rApr4Ge=+@
zC5If<Ea4pD2bi5M@4+8wJ#K2VW;^?*b3M~?H*(w9+L3M+#jUNsPT3aX&PNlPJ^uie
zACJWG90a?PnYV{Tk;E}8pP7}YJgzYuc`8nMT8&k39d)yWMxe;!#bWi12CpoF&Txj1
z9!$#fce8o`yYc3n`q0;FxxKR8S>4!{i}ofiT9XL@I2RN&KNZ*d{=Iqiv7d5!^Nz0Z
zKH<CF%eePh3GX-G@l%-7)vq>%1{f`6^KN{(`19w?$<v5LpCBeetj|w^#Iv8Z>CnKT
zk)h*?$D&42#AS+ZUP1}gOwJ2?B2j3F=`Z};iYKd8fE-JL%U=D?qL6D~1h5<zKfL*C
z>WNHA;ywji_DMGn;rT3C&kc5o%z^<gM+9?R{@13l2Dsyzte-6=Goc{4!81M?#llf=
zT*gmEIj7a$BU6rDARXRsxQOx+`lBD@eEB2owbLbeQ;pkmF}oHn#2iCWX9&<I7X**;
zOss~6l1L!_B~+w}4H0f6qZW;Kbb4T&F5o%R{8>c7k(Q{JEr3^;t4UkCr&$zd(nWqt
zRx`QUBqt#eH*gxcC(LHtR+#_`05ayEsJ@86kmNk2NPvt#Vw6N8Vfw`+dGb!<Qfh7M
zaOK|xly?N-DG3cS;AoVXH0VozipOnyHWn?3T!q`hCJ@zbQ4gwo7QPvC#z4q8u4^h~
zSrRgT(h+TqAiGl$#{lWx8FqH~Y!B2+d%3x{ox4U`UrGi>cd!v9#*lcc)tJ<Bh>z3{
zG})}ekz&m8$+1;1ivnc-00o)JB3-Ch;UY0msu7fhKpZkuG})>uMgt|LaDkDDbMRJ}
zkaU-pNGi+_XqIW3h8g0sTlf)RY5GTv6E3k{mvQWU*R*Z+JFermHn#oB-><Tp#QK)O
z(ntW7sLg83Q`Wr0GEHz<#AH#^IZ3Q!LGuu;#3ND(#AJ)vii}AP6RD(Zf5S@u0HrcS
z#7)pYrU@7m#H!+97<DkIC8)8O)Tcg~F)T$HIw`_t1j&J7;p!3TM^W2srP@yRd!jp>
z?--4YZJj=d9(``u(V1&F4lqHZR}6S3LQBNCuO*s$R;Lbe;FxLu08NN7>dH#6LNe0d
zsq<76*cJpD)P&QH?(5wz_ifBK7wy`#VQv;<3lJ9Jrr2Oe8Jx<@Rl!!KDV)Gffe6N>
z!X@QV)rctRZm&_GG<9N>;$-}@R86f&#zCq+O1Fgl8`z%k-TQ8Lqp=pn{oD<aE3Kpn
z1~oV@H?KP}ubq5{cikQ4>h;-<t#Ww^f?aRK$-?!^#gH#rF88Jby)>F<f+dQFmM6+q
z<>i|WBCKdJb*jM9`G3%lJkruJ1T(W_wPpY!S<WVmvnj_$#^&c?yRp98=^Kr_#oKy-
zkku05!J%C|eow7)_2*i59rowCZ?E?a;fdYurf%FYh=g?>5sLu1*{x1EU_`{VKBIwm
zG~~0%;YJV3AUPE0A}SFPq_F0jF$hEuSZS#$+tS5|yPT-xE!nUY$wWC4VfdibyY&hl
z8KSKRP;v_f%|EcTgvOT{=bFvQ+MJk?VjwX2zcovv_7T<qd~+uSLhRY!v$dVWe{T)g
zow-6WnIlBb6Ag(OEnF2_4d2nq^t}sr&HGZa1^DU^)%xR6)G}N1XV%PS&Ru=J5jO;J
z)WUF;V<Eu!<huBl$-|$g?R~%OPjl`b!oBwr-OFR!n|BwUW7pLh7zp^0RqFh|j(D@}
z#j{^8{{Sb|w<jB&$KxH=I&TmlA|Om*5s(=V@m^oaHS~WS;pSc2&Jl#9I%ilAMjY1*
zE#cl&z!%bSIHq*1ShtwR1+O!au8aPW5r*CU5CLfb`kJh_l3iz05h$3>EL#^2J}8_~
zU0b;J`E9m?X$!-9p#602n440#{U+OB8E>ny@XtRkOK_z_L!J~wEz8O$NM`vmt-#7>
zGHaWoWKNFX+IyFFJCob2`om{tTdm275iqj~N?k-da9uOi^Y-pI`uvm4%ktp@NBx?*
z^WC-9R`$0$n_GLETUR7D*QFD7&@CAl;Nz0tj(DQ7(I?bTQN*j&%1A`wJcgB7mz_$6
zkkLL@uNKXgt-kVz()4!bavM=N*>R`TFF%WOMa|@(#-^-zt=@5;lhd9Kx!EOcC5dTZ
z?NYTr$DGt983NCSA#3Ya#F7U$%O%cCyb&o%UVK1c*doq&?8K75h?2!0T<yIe4L=oL
z@R`JbXmVC$N%GJRpsCp~9<!uy3o|05z&>LY)49qF0R$dQnd=27qcP?Y_R)>(Z#O$R
zN?U20cP>ENn>Ar9L0hs(S8NQ}05Dwa`6*&)^IPC4$Ng?gHgEhCi93uNGnzM+u`-)g
zoGfn9VhoHNV<}>b=NgHTAQ?ygx4{zpLW3XxA;%D&N!JNsh$}YP!H`H!E(pXtX_B!s
zCL{_qalzL)!L4n^F$dHR8jVV=-ybGde{Zla-?e7c#4g;NV+l;?5tNGqsNq$4m(|Bk
zqJ7WV?)DD%zU<qZ_IG=oo!Q#Ex!TXwu{lKJ35-GFw`OqX=Iqy(W7Bi%0xf|}7`nv5
zgDA)s4;;^eN~Jpxh!)JGOkP4lgObFivyplT={XaE+B;XSSe$O!Epj!99909V?(cKG
zz4bebhF7we0&%ATx6>8VZ)z_*tqPC#miTiVm!rpx<~%<C047|nkL|ZKMj|AaV8auW
zEq|`D{`ud-pL1*J`Y3OXnNKLbLy6+K`}6g7@$c==!-Dmx!tAY@PB`jp{2h7g+Zn=U
z*`)~bk;P_}ZZ{j9&Dmev%-z0QREt%qmn7blK!`OIJOV8+q(PpUQ-D-dg8~G+xdN*M
zJyED?Di)e7%Wf|Ez+W=bY%%h;n4A!!CIB<xiN(`-QBsw;Lrfsjddre}Wsqm33awHr
zNTK~)GVxU4?yh@_)3pl|B-*t4Bg0lTMlEJZnF9gDqSXuo5?#zjU*Mct?(TiB`(=%d
z`0lp*pRTj(`g?nxq^(u7-5;h@!8n{6!2zjStfgADE4L$N%na__A~1wQ%0$or1|+TX
z)D^bxW4qX2p5J|9?$>b&PR;mA+~Rr0Ojb8$opZPtkMmSjV*Tkt5S-;GMv#n&A|rs{
zwQZ_N5i-OOYO|{pW+dGrEx|EjW_?0sBU4UvN3Ilx1Y$wO(h^LDY!kdCo0mN!XVj3f
zA|znsM95%UipPDll4BV=^-$4k8H%@f+PNE{wM4ko0T1z6Yf*A~i6<EnXc$#kv_?!C
zzZIKs!x~Nj&P8k#giTR+i&icO+Vr$X&8SVf@WJ>dL2j<@-*IRIcHWIq66)Y^DZHt}
z2@nP@RfAV=ROAFfB+vjHl5hb<S1iuk#&Iy1Bud=6W*dko-cB;8sDA|m>BO3?PKBdZ
zKbkcWA;%SA*02DEe~K}!ShyoXJQNq}NYEN96{+<w2h1qpQc2KPpmk~076Vhd)W0m{
zNQeMe9BQr6T3wZ^x_vuh%tSyS5?(_S@l=A;XaT@3x_mOLPYDA;*%V3gN<@<2G5IQm
z#pULqSX!Z|mc-;%<^2-n7SpH^T60CK<+LGe!a`cLxAeqnG0j^QMD1O*BW~;rB^+Ze
zk~~32NhDA<9xGD<Ur6J`g^Pbuv3BHOVH(1IXs2!j5M>|_#2?8s)J-)57=kp$F7j@p
z`7HI?Lu!LR1|dGbW_0utYn~{#crr8)(gZ=NH7j_qw2>p33toKX<!bN%g5y7m&)1cz
zfC8^i!D>kudOHci6OGG~BHVn$VowP8@m`M;_j308SpCTN2lmN!cy8`Tw6>4!!bj=!
z{{ShD1oPs(9>25d%=mbJ@jQK}tmW~$+mXC|SXKnoOBnJvFDJiT$G60JrKC)A!;<HH
zd^)t1iCB%fNsp@&IJBOCwRj>-r+5+SB$pWl*UVzp+kL*{b97qT+MWB^Teb}5SY!fo
zHI|kmFH_T$W3GJ<a)Jg#2Yi;i`InJyD|@vYJ<Z*m?^?QS9VYFGYqm>eEY&vM8pK>^
zkTRpJ&N(dSb4Z~qaXtyftm0)lpDzQ8EPCSbqf0_@kuj8_Bs85QiX4j?uAY7R%O_Qj
zUM1`p#sPz5tfxrHk1i;@!Ko6ECrEL?tbMJ8Z6;t#W2YxqV8yW!sMS8bWZ=fI0l|>f
z9uCVNW|`@F%iy)=eR0!00x%EL#H%jWr4$9RB+*mVot)RZ-8TNyx7fR0<FxL#SG~n|
zU-x~j=tdiRP2}|C3zuELKjZp)pX;{EKlS||H~PPm`xo;2pOR;p)4(FFHO9*NT?=;o
zTd}bTM_t(n#FE2Qiwc|tR{eRBPt_}Px4E<2T-x3-H>}9Q=7|Z##w{U2vAwmdOmpIy
zH-bVkdQciyf<1Z8n$yzN;hM$22jJrqCZoz!1Bo;XQ_iZb&ffOY?5u7fD>tB8cBUFa
znWOenu^=^bqUY|+<fKZvP8loDqmAut<8y6)aBo|+D>_=ti5D(vEzmh;y830zNU4oq
zBwtrB;_TdoyV0G<3z3aXC4n3$v-X}&Go9U1GGQ3GXbgckD$|IRs4DB1ZDS!K?mk&8
zW>R{N4PI+^gi@~;;l*#xPSFx-<;+UuFFh;-mS<o&E|%~i8JRnhVksK%Tt3(3ydiKC
z)mHo#ysn5&PaY47)!vMcU$;)!zixYrezlPxZd-jiqA?GWXKi-zV=2gh;eZ2C#Sj^J
zI6NqP6`Uqum=Hjy#r%kuhPXR+;d5A=sw2<<p*+<Ypn@dNPr*8{$3%kwBT`D(ZD!lF
zow0VJ)N}Ordl)m`Sp%lvkkDGLXa_gozK8Ya`A5k9)!#Q?y!+#|{j2T%#qHalY3?px
z_mrRqdbaOw%g3+N4A{`IEWX#|m(BIod_N)mUsv7p_WOSS01^E4+#&%cCHOW@zd89X
zzjgSd$uIx{Lwr}By|E@G$dCd&S1reE;UF4;PXy@4Pi^g;$Gz{ZcCOR3yS?rg$@F&i
zW2$p84p?{vNG*|t>ldtCHm|_O>?C72OBl)}h&;hfidI@?O)xaB2qqXX0iO^tMv5dg
z79Sv}jhcp%z^zb$Mu_|sIW??e!0=UrQ6m-vP-fLx-dgw|U!+n$iq^9gIOz@!t^sEn
zL&|gx+zQt43P7`rO3s{I1DBR2sKn~n@AqA&ePg+H`I|fKtmAuccQ{;uaUcySS6?5O
z*NeVb_2PP&U0&q(CwupYcHDR0aBii&?;EKJZg*4jOn}0InIK7=Jd+rh%U(EuF<5kh
z+i7gh4z$UZb~S8Oi%U$1aA@ICVG!gI#}!*tTtE&2&n;pm8O?qw%SOYAGG_ylA>C1l
zkkWDBw{DC~q8LPFip(S+_=f`mwHe-0VjauZg6CRTE#NX+U~(9zvp6DO3YX6Wa|+I4
zM3&-sB2!T*^)SF<m>O;GUfW)`xZ6y_abiN{tC2N~fp9|3tkrIJJD%aXxxU@pH+Prh
zXMXgH%5pf8R&}HSsjH8{ZIaWbNAV>gB;o*}!9`I3L_G%-#Z0*+yrVQ?*0C~}>S6$3
zv>})fTu>aAYI+@>*J-=lHuk&S`?fn=kNid5yamhAiytgW0H2E7^Eq?%YnO58!*OyO
zLnF2mkh82by*KG3WLp)-tZz_26*U|eUL!V;iI98%s%{3h^vFmM^T_gAybVr*WrH4R
ztn6rDXF*1zEaxL-TrEYa?kL$U%bXqk8_LYB*@e+4k#Lb10`m>TWEN?RXCmE9;|@uj
z@U#F)7Xib{LBUo;Cp(wtDcm~DywZ_!Pm1UDp9usIKw#OjW+choqwysh%2ZC0`HYsa
zoh@=QG9wd`WZu@g4B;)jZHqCC;7i;NWhdhN6YfuyEhxdj))<UaGTe(XWW||-bNrQL
zpUTs<Zg*ZW4q5nMkF>;wCngVy)c*h|#h{io6-TZVtps%nhlsC=-#4YL<VK)BOj|>9
zMYdvFkk#-91LB>GpqPm~h=@L8AwU9n!SdI2vbnUkw!0}?ls7j0YeL+_$cvHHrvpq1
z&zUX7u1`vOfH14O3~R-1{yMd&wJ3*?sm&9{{Ec*N_cu0oBY$f-S=<L}w&Y_l2x7!7
zdGntkgs#eUexr&v;UpFsau{$|pIqeVFHEFfPWf|LnNFlxGL=mU!zH_9xXV&4+6)7d
ztC}MjUlYQO!}y~Hw7=*|7JU;TF%Rnr1{&WY<>;S~&NhUoMMo8{F*gvhV=Yc@f7$7v
z4U4Sr!AOoIGatcOB`S!Hu=IvxR++andA}m6{{W>MvKCB@mjV)-1Mz2B%e(2M31=aN
z88_7JNQuZ2c%PDdXX;sr>UPOq{7FA^DvO;oY}aqYe9vBI<o^J!^3S=)9lp2S{{Zp?
zwmq6&%d@_Y_8VY3?Dvde^<VvyVILLj{{Y;)ejmr~`TRG0-k%@;0B)b!pOe@7f9vr1
z0|zeE2gQ8ZFWZ;f_z|@xpl%OZEq!;<YAt}#k>=qx{e4~xM9e|p+;}YR@^PG`&cmdy
zJ-b~e33?d<&4VpZUsd%NCT<fs6FY{cQgTV=O4i*tjZOxvGFbY{*@<FFIe!#=rX<n$
zlk-RWHGM%XL4jG@tz#o1WNA{h-Kip2{v~71NI(RJ%p6rD)Fj%d?y>8Fa?;HbNk4+z
zw)DC{iIA!BMoGfMk$IBLC=GZmd9tghIF_dso2nH|giSmVJl~URP0ruY+#4RGFA&W;
zGS>p(@uG0*BEiND`KETIcI<@i+z|zU4<bz>IGzf;Hyi^=j+SzBMH<Ul1jN#e%H<f2
zpd#+#pwWU6$>MRQ3^*ky5z+%5Dwwp1X*-hxhF&XdwvE^sHK>@zj4>-%#r@umo$%QW
zHjn&FgG%78kaCYR#d>^u`p!Fi{{YGOzWwyncU$oTMaf1{4-)2;t}eI!>gWFekLRz4
z7UKB5{Yzs^&2CyBjHAnzOOL-_YV~;Y^~qcgad9wy3(b3bXGn4jO0Sv8Sq_wpqC;^)
zYq#C*wpZi1+1{Ov%siK^NWyV?P>Q2gOWG%Pccm%LMp7loIFsU<qDcf1Dn!u;rZk3T
zN6Gk0{{Ssp6xLL32LXWMhOtnDE)oF|mPJykPFR6Q&1zlkn+{R7<3r)p<?G2vh#<Lk
z7?l-Swr}3IW-<|!<RKYKks62&PC~0*JnhDPTza15_U_}`o!;+dxw_l$cUD9UuWYUh
z)=#MsAR{q}s=<#Wk4)DP@gstGDR*f6_@bz(6Emyk5twx`={;0pjzmdmNyEF<Dwre^
z8$ZEnQH0>g0fuC%sJKb`5o=OAW!g9K+Q)l4GmhFtp)(l>%ZnCb*{&b$+m8PL>A9{M
zk$}q<U0!sO>==M?PnxWX5I%kwDPS`*0F%@cBGgC+4Nf5y7%xGVDYZzfB-v(*>L>*X
zWXxJptwt)*Q&E>s@lCuV^#eH^opb&hS(GQHPz{v1vSq<zPhMY6Ho!z%gpA@q>T&?7
z;YGg3G0yxbO3j!xZV8C_CK@L0@}OW?^H<0W3Bv^`Og%$TV3k!E8CMW7_$q5U={Bxg
zFqG|>M&J^IhSd|8Rfg1;!HW~|M~leyr9f!>K<CYG>dvg0O!||l{Lv+<)6&s!+?M-h
z+*M3WNMdtD^P<*}v@skO?+k9V5TPVIfO32jE&w#Uij$Jfw7>*`pl~xLiR0yJBw%#_
zdWoqBwqsDdq;)vVmCj$5(IZ@188W?j+pOsc7cmrW7$$kKYkRhDT7|o}Es<vPn{xhO
zF;-7qCVF*55ueN~+d3dX5NTf;uAX;>Y+D%AR+JtqRtA7SBby?|+TFQocI{iYW-z%8
zUai1O&G2!_YtBXy4K4v6(|)0yI4(E!ZRqy<n=5jZw=pt<6KrzkyZM|~I^(`$E3+^F
zLEH`jQ*)MC7@BF$q^)t=HKapRj%ynWT`nB3TleN<8dIDgBcQy$Q-qY+jm!5mMnWc~
z<X9AZavR&*G)=-oipZSuPUkQr-XNC8H^plDm*7Oo;67KbFN3V{@e3m(fGkSH<EBJn
zAbfCLC#{@zI&KF`5Ln_7>-=fegGb_zGmg0x1b|uqzZJV|{zq)s$nhfpvnJk0z!qeD
ztnE|5KBwrTUrfb_6v*bad|t+`Hiw+y&lLTlGo~fL=1AhNs?<tHCK;cKFOA}zX7U&s
z9FdY+Ph}!A@L2n0{f;0Re3q}R;Yo#$SL2c|t&K&(BhAAUZ1_eAi39=uOQv6x+7r1O
zQ?w*SnUN{LU`W9pui9b3DZuDx2pEdU67oFV9&@N!i-d{*--_R>eDPF_%&N~{#c{s9
zTWe^XgK=!iyO~<7&B01l5^!l5xGWF(tk}{+>Um(ZJz8+2U<c$CeIdBsUEG)%kY#Qn
z+;o8+nBjuwxf;e!TTv_pQ8L)C51{Tl{{U%E+dZ>q+q-V!&$=y6;qINn<<Tn_pnQVe
zv4eA7@9q9i!|OlS#~l9vF9+cKKbz0xx7GguABWAm#B<=je7gD;5oR1SPpkEcC{2Ss
za#ZC~5;6?#R<B9`L8P%97G;q3nOu%oU==ZCK$c<Y#a?{#!nGv1p}}g;g^gnm>B@S5
zW*UE0R%KR9WMtA}0A$;BPMSayghOUYz$ST@wzjmE;jN1{X#-gt4387xl5PE3&xR)4
z;KD(RWUv^Bbyls%nsVr^A|nz+s!JI1RqbKG3F;<7EC~;rWUnXEf0VTaOJIxyBy}E_
z84ne>mj{FTXRP8zLz2|E=Vq?lgh4fIOpXq%KU0;-7>Nlr4LK`E)sed>okE#|m~?57
z$r6#A2nDMghcK?p*~2MRhc$e1Wt)FSlvs5I0+R~yS@~<=79r!oZZeuyQUQhyip?-c
z8PBRt6acKW>1gpyjcLdMfE?XqQqv<=1Ql7qiUSCoKZ=4)vlE*wB~DTzk6Ix!CLn_5
zyfRPlEL?R)LRRIai-IYF&F!cOGIC3j<oKpotN>*ybLOlXt5>dVu158e*I?{e8X9J;
zESR~G7~~YqFhB%9QBg}0@_Lm-nOkr;Cs}Q5Mg$oa0Msn{>xTUCU#NSZ?_YlRC)@tT
z_WN<Q+3mYuVV1qE-Mx_;_X`j`NoLNo`K|oE{@FaeKkUf-x?NzLDo=?kq~YbfmV!&a
zmn0xb@`}DH?4mKF5?CsB0|zZtb~#jHG?EWj@}+1Zt_u|{DZWc3QN_Pfbzw+paW4Rm
z*pZB68$6Zulxo9)q~M7rEmf_)<8v`<ZEAO~OUrKDOr%=00Wx5<n2805>cHfw$!R8(
zV-f+<O-IV9u>)+Dz_7=QBv!U|(!3;L6FC6nM<6pRTw^_?jVxZAGj)P)Sd0c|iq+Oy
znO(YLs#2DLrZOeOK)?iMMZCSOr)}&veZ9QjZab9i`-;{0TiN!A+B1#&G96PlGGmhM
ze;#@BeEjy~_rH9-Ji~5QhKsKm1E)(gfgE0;V|S-UEI~MciFsnQgkG9Ucx0TqHN0&^
zf)5-QNd#GpLq~>6^Tg#|QfAK*1#`{9&vY}C-GMd00ajY|z*Md=WAY1}^xm@4B~ln;
z@lNeBBt(+ZCm(|6>z)jz!}RqBs5}>0=B-eMW;xJsPK;BM80zWr#NZ!-s*3;;#A3PD
z*BeqWxpF!{w!ngG)x(P2l1yZy)JAQO1xuU^JtRt$CnVW0T5*L5kTk+TQ{q!Oi$SzN
z6)r2K6U@w4(%}b@7cj<|t>!t}VioBQ*p;r}Xdy?SdLl`IoaY;5hDE_f{)Hy?s`2^!
z0?*rSRf>!p;_s5z*Ve6#;}}}%%w>sG<C+=D<fSJ8tA+~rp#}WZeAayJgoyn_8d8;A
zCdMsL5vHeQzo*F7fKyR!35jj0F3v>}=fvJdrL_hW;F)Zw{V>I<*{*)3-W0gf76Ce_
z$0W#`M$jH=3@Ey1JoL?JdOK*@wr$M%@_$+cbi`!EX5_YNlU#D2IxPPH+BKNYMlX#x
z1-aKD22S7?jzwbnrxHli8_S>gE#4-6q@*P79D;EeE<U$fiV?=H>dd807>CRGQ@(Te
zAlAQv*NL-~?d@H+dEUE@*R=NQe!p<uT#cQzmjhJgfO5cmSEKNLA77i-)5kT#^Zr@*
zykCC0F74a5-IIHNxA!Y1&hKwITDxr2Yk_G1LxS9w4fFQ>+WbG3eqR&R>bOO~NFODM
zy#B984vTv|-P<$VS+hCXwjSi+8A>r6$P7Lx_x8!^^<3}d@jZQZYmRSRsQQzANbMor
z+wLsJ*}WYRyAeBNkaa}oMUS0rg~1V77EhmQ#Cnbcf12a=y4;B}EkpA`Cw#&rBSism
zi5hc7$-<mcau{IQr;Nq&lJTH4;H#gY#ap#4#p`yUMybd`FVY;EK1%v*TCLXFdrigN
zz0)6B)U;1Tgy7?Zg$mDq@O6kZG%ufm*Pr_GzDrb27=Hzc>8wev8D>{bD>+aDmdIwg
zUpBR-NCfi9b@P51wI-DUnA4i)W?gUK+=A}KZ$M&5{8TSOQW*z{^K(zyLp26wQYY{W
z7H38@l;w!ZggdCN$I|GTxd|J@HKGed9Nju26IYNR94M~Q0zr6};L63iM3P=qafdao
z!lE>S#irDJkWK)J3CqbM+S-DZ!9qGN%2qvHwX4wFZR00}%VC6=V_K-!HL1!H1c5l<
zW8#<)UUDVenh}!)Ed3fph>}<U1A?=-)P)%aGsakv{tBrt76%iZD5$FLP(}a;#Qy+-
zv1>U%j3rqNI0Zl{O+kS8qp~1D)etejl*B3<QK3-1n}ZP{=FB6qBVU3*s5t5w48m&p
zQ7|x!pQzE4l4L^>mSrEYW*|v21^Fv6n{`4Y3TKIQ7L*ubXrj(U94Z26dtINpc1@RR
z?wc+5XNLa(x^DzOxAz&`luppZ)W!mmeru)mFPzR?ubcMWc{gp!GBKB)IDmN96^wPP
ziEvvIpkNkrSHz-5wAxXH1u?2@3%P1G<7z_eZd|xENJsQ?ljf`p<uVzCavYIbN!6u*
zW5sElKBzIwhdkCRQ8Sf6%;Ko68l>b3HY$NYi2}ijMWDC=s8bOPDpZzCBmsJiR%t_!
zM1c6BUQJVi9Gb1`F%p)7U*s`INkUwH1yNUTYwp|r&AYeUdtTyuUG=dj!u_Js5twNY
zh+6n$zoT}=%aYc2vbm~KEuh9#JlvJeOs(q(!1<#p3`Pr9Yck=ygqYPV=!C9DfRJkJ
zTNLI+ysJTQ_#D=_7PO7I3Pe<3O3kMlRw0P#%&mVc){#0$VtqkSM-iGiTrW=Jb8z0f
zBP)|6&T@THJWAE;23FCr7{oXw>Ins@jY_AS)@{}LvWPGgdK|t9x8O*LO0*ss{FOA^
zXN#IYB-^lJH8B4GSfn#0_%Zy~KR&LUYBw^5-g{|6CKHrpJCcYq8h@1H%X`KwRo#~3
zZD!Tm;0sry>RD+C6A)UU633F|eAc346K+wu14<-HFHm%ss_pg8S!=kt>)yG3=ACy4
zk&I#@9Pj}WR<R@iT<2Atky0&ik!uF3*O6+4x-*)7Xp=iyp&eOuW6f^doCQWFRXn9;
z@^x%MqgMj4V%CCF7R{hq+{?;2I9(;NiUqSlf#Zv<&{q$p1cgC8PlC@^0!_dH9COJ-
zSxV&0SR61_;SdryJ#h%<*X)`?F^y>WxXD&=19{xriNx82y&%pcdYd|i$0gtK{b%Hx
z%yaj*&CcDO^LN>|d((Td?5=k1-XQ@S7q0r#*BG?rsfU==mH8z5T<Od3&t8200F~PF
z1ZQ-C0LDduJl8GwcWEm!gqlD&EWqNgJjF}^2?H7`4h_V*M04|VTg!G{#W!<7jz^Lv
z&mpL_DF9?x^5&nn07l(d(Z2=K+r>>pL_pL(%@fb+DvX#G#i$uqi^_;MC8dC3IOdCe
zc3iTVjGi+(fv5SWi_Myu8JQQxPgYsJW$2{pb|A69jwrJ^CIqS@T+an_PN>_~Mit0$
zU3|_t3Kr!NS~g3Uyu7so#@;<i*wZ=O9%2aK%M<?qs$_1NIF$xTvz#Yt{mV0r+fz2@
z8pd%ZG6#qvuC@68044l)d|ac~iSA{bF6I08;i~=VT+;eP<YY#o<cH$9`?lL}b+0~W
znUZkGNXA3v0?qfe(s9%DUt)dS?taSl&$vCcw%F}AJAVHF0dD2(#i2Wvzy>`8_^*HE
z{@;&(*7Nv%dFRhp`Tb|h<bPxT0B*mN^8Wy{&Cl13es^;8Zcob4B$|Ae%KKZx?D?4-
z^14BxI&gDR!vLvdZwN>n12Ce@^l=O^axhM!(&nteHAI*O)GJ(<KQnZ-8cbwmAp;Qb
z4Otbhrx9AtGsKaGBQ>v4Yi+fYxw{BmyA8d$xb?0$jVo3KbDbPxCIs>&q$&<hx_Pu%
zja@tha^$gUg{+-G781pleC^`3csmidE3k#xX}2N-?lG2_@od*mJ_Vz3Zrm?U7ANXi
zi8?Meoj_*C1)C?qm7c0s@WE@5lTuulC&d?)h9uM&Bes%io*=`NpynXB8KQF6$zz6U
zxH$lI2*tPpjMl$(>pBQ*+4(IpL4-frI#5ZVC@CkvsuB^9kOX{|^@g*FG5-Kt^uH7q
zLjxHH8JyCcTT2^zwy)0q;x=b)8m!uoB-}sB8v?VcM<Eh(5P81<qF$d<hdk4)s6sJ)
z4AM1pPTF38+D2J&L1xB9hfbUdG+{9(P(ECa9|S{G?%Z-EZx|wV0Qjrmq{5`XHc{0u
zq`rO#iBf^m4k6l{)oqCV3$U~<={}h~6KXn>ID=ZT3dN})I49y0^3LnCcVlg0>|?gP
zH#X%M$WAda0LVEN;Hq5XNRiYWa41Qc5r{l;N;`3QN^&4ZA;^0Ck!gTPkl_3k7iFX#
zOH^WH;Iu;lpA>KfDt}gd)4Em+fR=_2@mWm7rKR%Vm@0uXh<pVpMQI`cW09#^wVZk#
z$F-e>jh)!<Y;LY^AZ||0iEEvfEF*IvBf%DHQ61A`4&N(Q<GQuFH!VW!rMD(giI{y7
za5{!+>xJ8dSDDD30RjNdK^SHcs|)~W3!F*8Sk|3$DU8(g@m8ZOdO<^2QGsHA0aPLs
zCPW&dz<PmtQ#G`qDCrXn=Z+;6N&qq(j}*aL8(>6fW6Uj184WXlt74fnZYV|}oYx<U
zGXnGwNs(<>t>?;Zq5-4>0a9`NR%WJx!I*f@uOXW%UTmnEP&#E<WzU*FXey1lKB&}w
zp~$UE1ESv80jRTNn>1?40BI~^fde;BQ-OJP@B6oM-|aSgZRPJ*YuoLc8%s?PV*+&$
z-~xUs_5N1VCKR@NQ`uwP2XM3Xv%M=5?O;gWg}4V7OuV{DqU-DN<d$8P%k8%@=Nai@
zMMWsNP8(@!X?FhCalI0RZEdvrf>RNfQDLSgr<%vBl*r{W06r)9BK@_aF^PRA99FOF
z%&xt>wvn8!ZZ^j4vuwf^;WH90H6}|OI43OfyJhK^fa0d7#WGriZJAafj!vKDE7PNs
zUO^M}iyKDBmZD@DA?u$dzpTzeg|QH0fy}ae`kECO2?_=y1K^uE-+`^SHa51SYFm5$
zyzW3s?@5k{{{Ss<@mbzeySDZ&_wEl=_MM&W_1(R_ccWqka<^_c%0f6qab5iW4}STb
zJl~i5KacTe+V=DA*z}3FI!I&Uv40*{Y3pYU_2~pV)`*{3Q#-e$3u<l*DC;-Yq{4Fq
zmjtsh4??l`sUpo<M2ypMEJ6;)Jl6JwPH_@2fijLonPzXuwVgyvLst%KD@0-`sn+t?
z&s?ZPy#oxw)t51AUacAl)WV3I1yt480h-^5n}W19B?!iHi$+xisChbP9o3*&Z7j?a
za&dYJji(F)V^>D}d<KD|<`2W*wJvlK>PJ`RxyyGx8l4obX<$p4VVc*QZT*IDQJE!;
zLf@%<5|pJOp{Ndg)^FNw^rItex8%z6#|;sSjRG(JwrHGc0xlXq=oNiT!<?=gdy=;~
z#@yu#Om5B~n8Xsm$bnCaWzK#DbNZxU7;#PY&5+26&QTR4#c`KgOo^9?!SH2$W)w&n
zRoEN>{8oJ479pnfJtG<|edcMCmAH;RRm$|)dVpqMk0q<?TEe?>F3<!3#6B*$Skogp
zNI5hW9~GaiIG6AYFhs2vh9;$R%F)D=2P01fxyYboDnq#?bn1q-HuKyWTZx1WV=2m0
zkc}gdeE0>=-a{BZ0w$m0nd-GkiICJ-iY;Be2xXkqFboyWvYk{8Nz+gdlofoRf+SS4
zK6tFjZ7I?mz8R|#HYCs-)iV#s3^}cN<}+etGa$uOH`-m<*_@8|Z!OdeBq44yFw-&`
zG9&`+!7}7)9KA$T*Mj3XxZUX@B=TilIHm=M#aK=(%X#p@9EN;XJ?9!ahGn=a?dg=W
z(%{G(S?bA6??Z1Z*ACuN^dl#<ZU!yEyixL*OvWGp9m|;zocS6h9+F~OM!eZ-<V>MG
zHGW`|Rh14>ozAHil(=z8JtWQ+^SDH7PFT@`yBh89J*RQlchl|LyS8s$w-`@e*5q$n
zX^lW?jT~l)4!C1?L`=+R-6NlZzChIETh!+<<H2jBB7DG6uyvW)NF7>Ec#a5Kpn9q(
z0|i-&PEiLO@c~<LVq*~zq?~>#{!o#O3p2K93mPRLE*&r=ITbMvS|L^5g_!PTXKi@j
z+iGi9r5y%Cn5x#P7H!MdhR4-wT7*H7=o*VTY=X%y<+A?Yyt}lG`&+2nE$i*cm8oaa
zN@au7oRZ@_sh^6G$$<O;%@H8X=@f1OH4&i?RDHDAHADg)ycGZr4N^K(x<ii^RyC;s
zz#!0{`cVVb-^<(c?Ar+JEp7*Y2666JuE-k%6Vd5JR8xwxDvu;IA*JzJ$|?;`EZD64
zn4uvds~t4plw>fjB|X6grlfjh8iwMCYEGhcNaIyr6kKG_M+7sdPQfEcF7h;N(vm4a
zYIv-bYH-blDxDNhPx+?@$q}mrCB%?RmON7h5|EI=$~{E{U?fc%h}xP9afux+c;pta
zYkO0byLT-C6C0t7q#S@NP6aY+I*W%~NAikc!5gIFBx2(Z4!14<05dtZSgrgr-063g
zbtn9hyd^>+wXD8DWi+=dn#hUeOaMlWcSJ%a&FcbDyKFqn*o|X2jti&otxU)S&UKM4
zNX+9@{V|K_obGENKTpU7d^4=&(@IJY=4DK!Cgem(A%o(xY>~OBGV5j<F_7Yn#G|Jl
zHzdljnevu%E*#OCIygWQKxa6V`I*@5aJB)hIF2iFbNr^jG<3vxgm+I%6^%w1Dom?%
z;~WTK9tyLbMXfY}0XAqq%&pG)0oll*B8ikL26qV&i;(2E1Z3SBZL9$t4P2^AX8bM1
zLeZsv!9P*2qW0gtJO2Q({<Qmldp(5r_GPu+$_@QXGsXqMp<chk{l9*H75sc<yZ-<$
z7w7(`<NUs*_1t{5?ZCMsF!eYdC3(I2-{tD_GGhWIbK=CdOO)2N(H*>D9aAsEnt#dw
zbcfOaY*#xrolCea^Ii9htfC;)8p&pUku`y}=}smFTawyl?HG)~9MNR`S=C#${Qm&t
zuTm{vq$7vHbkDSyHyYWo8M(W3TVUWw9;3i5Sv>y$ES7-6ECy~dS)Om(m8C{}PDO4+
z=mzAi#xp<C$P++Q$C$__+#=vC`?k!DIp=nAAX|wna1~g-wtopRjOOx}PF1Scsr9*k
zLZJvoLcEIW=7xY0I!A>O>fer$jVFWriq*bwVuT?eWj1e>Q<_R*A}$)gtAfX#YfOlM
zdgF_y)cs2f_oJ!c1Vb|g%k75>*L2_QtZufpHxsqB-NZw6Y9)op#JCb1if_G`FP*yL
z^+Q(zxP7g<+3Kx4IjgI!DkQ=$r%=GS%&J_62+l3#50S$aeXNE?M&ww5SH)uU(S!_$
z0wY!~F*M|}>g05hclOt8?e_bbnCRR*p{78{2-Bzx7J4itQKmJSsyW^WmATrVr*<+D
z7{)=5$fIe%Ohd4BTL@+!fGbielKd(#a-_Q&XL2yQOfAT<lRJDUuQJ%aO5_cjrX=}E
zt}no>&(f;TQ8`p%wRq`5CrrA*e7LOMYe|>&C_@~UrDo1SB7yk;x!cR4u3EolU)HxP
zWQUAo82png=v0}3Ov<MmCT330<rygoyZ#GP_6a{GMdZnl68Mh<S&DKouf-%tfM~0J
z5X8C1g0xd47ABmQv2O{MAcdQR+o{S!zQw-VJ3E89+{)JOF$ZgAFw`!WVkIXUTO83T
zafyOlnjRQ}uG3gM2nLi-9M--9WFaYl;7gW6HJeOb`R&1#t1=hk5lezBjo`5`HtIaZ
zo5eB>N!KFR7_h}}e?YiG8nlW7@&RUYT3L?V-U9iU+lK_eJcTLvp)!T9O~4M{tCG~A
zLO{u+RjUwnmLLs76(ZJjxu{vqQBiouSry`{Vs2?5N;EHmzm;&~D9Pg0;;B*yuT?md
zg-C{pjX>gqSELLB#T&w;Clk>cHaserY9K?f6~ypbk(H7o=3qu=3arv45M|6_tU8Gb
z&^b6NND5ndv<$(Hu<>w1_$I_96B1sig0;1B#3FT*>o_+50G61#*2Q{vZ~HfP?e;d?
zzUkZVZ0zr&>uoPxw<~bH4mRDKEZ#0vEUpV5N;fvn=uGW3z~1zT7Y(->wB+rA)D_X*
z4{4us+|RJa{Ci2C{3LfwZwN5+n9!F+yqsYTwC8H&>S(ma<wNyhMNq^LOE-w*gGhkv
z{v~T!Jt4w+I9b;ub`>F{58#OnM59p3rXF91ip;#LIDH?uduO#fe{Agcdk=WI-1~;>
zZ|e7LtnGSH+FyEGiTz$Hzq#kl$#uuY^?R84y+5mu$#Slx0ViXc3iOF%=HQ$bw2iii
zkR2(y&X}Mv(&X^sj4F_EpH>gWYO=d}q$6w0U4R(B@l4@Xw>H<UT$QV_lrBTfZeWQI
zfmUGE*fO*X;}BdJ)IAO>Tm&@4SP>BXKP7L<YZ#3}rdi2SXtkxiysk%4q(%n{E#|Rn
zrqp2q^Xq^hkSI)Ep<ZOxHoEW6wfYjdwl^cYmBJ&okOmR9)Fye8;F~g-^Cxi0jIqg<
zJz8-S0wv&IRxiO5p;TcZW;Y`tq4a=pe*`re?7M~T-+EW<!V|fsP$J|6;?oRha~UJl
z*@jjCi2&3xH57JNCKU^|0}d&Km=X;bW5sU;tBeB%1n^*q%vbem2ooydlGl*h5RaG|
zWZYHaR%+xT7&D#-;&OE)6VljV6PMR)>WC&HGA5V<fMuyF)|w2eFh7`7nyuk>;2GtP
zZAATcv#W^Ge7_Td>6tPz!v5ewkO1UPOCG&T(sA|QY(-z-xz2h{nC;G<vN3hi`MgB7
zj9dWc3JNOu&L?4<go(}gWSey)F&a)em5DE4gkEiyEU#Q9;@Fb`pTRywpj*)*SV-m1
z#UEG}04J)0g4fqO3mQdEBQ?FgrhbBule?D;XiCOsD_s}2xA!(|ZSJwPwSk3^7>JfN
zB#}~9y?XU%k<02}!<(xur81n&9M=H5cFIU+6L8prO8i!ROPN}YEMB{}GM$+inZ&|;
zOiIkWS@2V;F#r=>!lzo3Ex?JO6vjnw&qFbh-OPs6;JdXEv8+sPO~j3LW)2G<Z89s?
zlQA?otorp%Gr71Rh-<}SS=nT7Nz0m*PkeHOq~avh@<#7PGIy&!NSV6SD6wNgb49sY
z`jF|DRxgi&&oxPkJBgcev#a_~sDXhfX^EV0KaCc?*w!=F<cupr;JHm|HMhCFv_7SY
z>70Rvp^Hj|X8x3-AeXinlFiJm*~Cy?w{pzAE0NQ32CB|WOOn02l(!eAZe7lEFCqY?
zS1aQyQJ0qi;<`)oLS-oy(@c?VL4dX;GV;|(=i-U$dp2R0abJSfzo3zFwQySXOh|#C
zCaW{kSirkGyrYkgC39dGCp(1PoQaXgB~Bwq&DozduN9je8(SNDlRs5>?ct=#6Vs{Y
zJh7(}nlG6ZtghX=c3SRSl;$W*i9edXZkWaD{4hnBVA4y;sglf-wy6IAY20L)>-82C
znd$hH+xjR#IH7f`mI=TVX85A;Cu5mLpMz=vl67XBw4W%;H13HKUYu39tZN8r0GSBE
z*ppWHBJ)~`lnvL3h<C?}Dh7U@n36^qDk~4FY+Mn6Kc)N<Ma{U0X-J6-Bry0a`kHi%
zBE&?wl?_=rz%l9wh_@~&;5`k$VDDS5)4T86O^xf_n`1ay-tQwH>DrawD3Ljpx#s4v
zeND%iaF`G>&AF`RHhP?hw@?l%$0u2tReGJ{WwY5!X&sMpx7=g6+rs_-07f!^v35hM
z)U{$q5k%f9oV>qCYXZ8m0;iBeM>yPoCUGILaNi25T^00OzhV2Iw)+7)7sTjOw|mcj
zv-Ewp-EL0K!+9yh`j;)zLr6M<a|_e?KdbNY$$fFJKjZ$#kAAP2@cGR*06K{={#=1x
zYV;PpP+^Fokcf+dBh|@W1Jn!3K)A_Rj!-l?Vw#gFH<uBPOExV<V<JW*V~#6w4QqD)
z0Iwl(P>cwOi59?wO9pleHe*wlUuo{wyH4&q+cvD<xFI+Tdz)hQww!dnnNh|`;5el%
zerF>rs*14ykO<;%SCeC^?6*_3WZ$}FXafr%kaWaVxh(XY@h*Ruy3!gzlMwBS(;51`
zzT@tW@!#Rww!Y%uZg<;0*AJ)I+nvW2cKDcE1W_KXw{L6DnI{h>{{W|Q{LP1rkp7sN
z8noo?M3yonwN?zeiAr8j>~U%))gx<0+z<6)O}3<CO8zLiS&}swh|vC*t14irGUT=t
ze6^t=W|T(h4q3+zYKqf~&B>QP1m>+2)(P^JoLZq?kT6eB983U~t7ddyNx<<`gIdG}
z1T*o;FqGw`<AjC;b6MsytBIGSBPlp{99?vikfCl>l?lPo^~$xhB4-e1gVl<0mCsGB
z1|2eq5{ZkrBCfYQi(6i~xZK^A<8gLZFWju>GUSxi3O2-CgQ#W}dxNK>H#Xz6*~f3R
zw`X;=l&5!m9#g%m4RJK-<g6Oy)d4dj)pBl3xRX+~KgD*5+=&Dd+yKctei+0V(V`zB
zM*^=|V&xKfV}Q$;S=&44!mI(*GsPW{Wdkao9uA1A4v_c`Kjf(|!P5cr>HR#`>=>v*
zQzD&2>E~VwiE_6nN>G$^&NMN^gUw&OF3sJJ-D_{O`aR6=?k58+<+E=<wQ<-)AJiJI
zu|0p6D)i@sDA*C1E2pnA&J=W8w<Acz%z>!HR-AkhGJedg%B1P=Y6Q*~V8oKMXUbF|
zBT<$$s@(Og)p~k~(S~`KTIZ%(3sRfuEn4_3UteG3Ec#J_l%yOc@xpOm+)nA~pdW}>
zp0i>oZMBV4>8tZu%o^&qY7hX(G_YmTc$1N9OV;BXP`eAZ<*apD1nYsph-Hs`sN|F+
z4yF|xR($urCXEs}XOiCapA6`XWv-NLv7)S$YK4o^gs%ul*|tPya08|$SOP@@r_Ro3
z(+>(hKZ0elqnzpG#kBBPpZ3#;dCEXU67&IgzNKW~Cm=!0;l!?fYO4^GOBM~pI^R=L
z;Xg`3Q1fJQs_7>5u@fyR7X+HO=DG7`ltXfC-HqF2uRw{$Ob(M0;~s02^=Eagm0Ql`
zx!-OlyWY%CaWkrS7)8m>j1wkSWO7S!CJmXZEd9P4K)UZK7M1~Y<_Qa?S0kvjU#Rj#
z_HbN)wIU#1AEo##?yN?l0ILIpLamdMxWeVZDMBV%2C3<&1Dda`=;Ij!DwfU4<-}@0
zB4R38@O6vo;hs)ntPZBkV6|<WoInjCWPB=}nq*Npoh60`FPg-^t9(`_a+z&PmaIW)
zwObxZw@jE?fjU5c!D9N_&|vKv0biOg=#C}h_+W`)APra$73x@GwZv+a$t)bd5`soj
z5$PaArdeXdiI};ob5EQ_tIS=_T$ZQqJ_s<A08Jde46|l*dxa@P5>7v*T>Qn0^{yL!
znUT}{uSf7%lUik@$g}3D5o)Us#cOaLqG^j{v(+#gq?(uHx_Z1bCf0h3llUxiTj;Um
zGb>-SHBmAY7%Vgli<2s+&kCKhZ&39K5X{6^@l@lQh_DAqq0K&Qg0!8n5(FkD2n3PG
zf^R=6G7&W=BuJ$ii)mv;WW}a@ybfLn>Kc|b4b^~5qQfA>w1X9kF0|{n30;uV`T=c5
zC9A_Dofh|NHe7oi<lB2^YuqDe+S~olaqWk1YIip~yCTHK;K%xq5d^$qa4GeY@VxDu
zydYvE<0FB<tm{~Fh%yF6f%1+BMW#BQ6*Wz%6KKix64;P);Gf(&W4qoRt<9u2H(|59
zM6Xzk<Sop{11P%|P4#mb`p((Hb_Ag-pvu%p^&=V*0S*Vj5vtp`Pi237dj9}y+e>M%
zl%Ce!<o!uRH}f!ml5;5gIpGp!KpLO$3s^Maa(ipgy|<Ygn^P0Fb~Kb^FfYj%t!q8i
z+xLE_doy<I=4Ue^`lMc^7A@6X?pv$-NNg`%yK`@9Ms{t=ayFo3e@sbX@LfMA<n{0V
z)Oqtf-I2#KOfYW>u3WdlMllfrwal$f#=YLr?C)}S-rv3MeWSMD-gfTW5p#dJwE|&c
zCj&E(UBA=n`TKl0di>sJudmC<y$!j8M44R&sQ#aaHP0QTWC;L*17u#S5^n^wz9qoL
z=#3USE^Kbw+FRXDP>e22!Z!5-a)I2(5D~38NELqtb`%6i2Zl+&alq*nLu3KqA2j)b
z)f!NWjMHdlX#C9+H?d5djU~lq>6B0ds}Y_`)HOw@c`HbZ2Z_rvs4*rmk$E_m;Hegr
zNCXL=l57pFM{Cs`%;gYbO|t>1=a4usD6<PH(@1X)O1wnU@v}Kc>EkHG0ODoNtjJUq
ziw}-z(S`&?BaUd(jVE?@Ok;5C5e*ClJ^>m=hn9xGRINsST{~^Gu14j_=@zVjWaWt`
zg4QyP5i*e&j21qZv#E`#6R5Ewq~^8Sb(mO;HC?8rF%)11DVG^sV*&_>XtRLh;GR;W
z0%F2~MxO)#H0iHV6k3-D4ZRR#1SPH{2}*SgPC;wsoyS<%X|oHWB*No}5<qswn5(84
zU$=76(Rv2lgFFoj91$+9VL1k1A5IHCn~dC;u`Dr)+`G`QL;(>qo+paM?L~r2NCTor
zRE9MeC(k{ma??k{0Q^zM+ZxUi!%I$}VCtQ+O>Db|{8?|$7lp#iEyMr?IOT%5LIAML
z4tcDmzHcz<HFH}302J|4YgT{&ijiNM)cv~_wQFGElM+>PQO0I6IthUzNn*vkMoW46
zGp7g%7AK?{*NP{d=j3k=qiQmQZaXzJj6`^!6{&LaEd$XGOP0$wR(X^68qQb7qGKI0
z$#lM^1~)I6mH~kkZYz&hN<=3jA1s#swvBW{YZ&#&Gv@VI)(vSb3?jsk9=sO)Pp=|W
z77q1%cq0;LrJd`?iagALF*fPyWr$bT5@jaxu#QVIglZ86V3)z&Ys{Bwrya%dZhLrK
zkg;*4a@Z$Ch`^DXCw6ndk(iO<NEBt8bmHTtQDH{on#`3h*_F8iZR05UNXawA`Bt2a
zX{g~>dXlv~%?!@sF%lv@TwUvu)%Eq_a}1iscPArUG8hy~^GaN^$;)7KS@9*N%m!}2
z*Hh3d>UB2*(VQF^8}n8W0yP+?ax4LbMkcJYyzxpk2Cq>+g6Fw-IjGbQIFE^2w<3C5
zp2xr0_RW`g-EHpM*>??pNq$k&3!a&2XeSm&uhPNh&s;|UIERxFTD2B-&K)5%NF<8p
zS3BjnH3LZ1Gxt5KZf#xMTeouPvu;ummFWUw0CON@7H!ib3;IRb$J7#pNf4A=2>@tA
z<W_vk4!bRPjpd%tf3jPc9lLdQ7w=os6C-lnBh*8W0J{79p1n-HGyb`{^GOjj1d;Hf
z<*ts|cHPCDg|6#zF&iz+<!a1?<EYLI?+{!H;*P0~IYKoj146YTAs46*Azy;M`ldx`
zj*?_ZbCS=g#;MvwsNwYDYl<@Z#)Pz(g47?H)sjIuNc7m6iC_XUNWM}UO%N(b!xHNA
zF<N&a>0B_BT41!Ic&Sp1<RdL1<0?t`E9yuwENjUVX-tepIOY?0<U@?&%w3NRS80rL
znMi6YjhwnllU`gAl=ld74n`|im?r=VfYn^ST4|;+E@~SEzgQ<E4FhG0+=|f&dRHTI
zK6sHJ4QeVJ6yS^8?k?{46Wm`quG}v&!Xfa$02eQ>!%V{i%OI`AhVjT$a9WX@(VZeJ
z1~|HY+e>Y|-Ico=sP1<1zqq*oHkV^PBHY2LA&b##sLhUQ6Z|q*obu9~0^!_XoZ5)Z
z<<xZ?%CfC={dVehBefR@+S|G6M%6TlNHdB)NnEnmam=nc2jo$FseS=&nK$^O4w%s>
z2}*`WfTy6DySxK)Me|gsjB^L7fT~Pambaw`dvF%wz%)sz7?SCbY9dIX7@S)r2G*co
zM4nJ59vs(SG0)fP?2f|q1-uXH7)Wv}wDEo(fA;dudns6kyMPT?MCaql9=u`m`6sKx
zj^Jtk08=~{p1n||DKua}Y>y=tFCs>fP)VW`uR~|P^fud_ylmRNEzXcHT#MYa#rg};
z^HlGW^}A2Ky~)_SUvTW5r@3F+cCPCYZ@FzPNX8q8j0M4(^?ClsspILqJpR7~_3Q0>
zeB6MH=m8k9$#8aq%@9s6Ma`t14DuP2NNqPHaUzeJv1uHb2h1i4DGw5<by#lf#~hQO
z`HWGmDYbxKk@+H|Y0>~SB8xzXB!PpYk){~5WmcgDRvB5!3~+knj9RI2IA*KC2ANdg
zm=hz$r+~pgqpD@WF#%{CB^V7Py3N0-kVF$E1%$BTsdX8SlHZOfsA+Hr2T~+Wtw#-1
z&Z}3;I-(*bOk{AP*GpSQ<=EStEy#;<Z9^mCwK*D?TbYke2LP+kZ*C#9pD@K9eAqOM
z9ET1CTNK!uH%wR$_H#_UGhL$n`}-(t%!jA9o~v;Y>Lyscf~R9pEkqFE+PKiJpIof!
zy;Bh&^vD5#Sxo1AwMpPv@miMNMd3Fmc#}Da6CekvAWODDoK}8QqqXeq_buPkUftT+
zTM(4~qWg<)5bZ~)S+TiXy(T_qAoR8#DU&Khr6EkXpUGxfDxu{PL$l&S)W%9;Ky`Vd
z*sgXprdqUlnis$=Kr~2z<AP?wy#rf9Khw$aTbE#I3q(oGXmWLowQFeEW|K5{C(nyU
zw6+O&zriwP8lz|cWIkNh{dwM*+-Yvy*pets4>i(xmzH%>Xpl=6&-f}&uSqhwgPx;G
zEdERL@O;g<_ap7EaCc7EF8j3YHzV2h;99%8vu;Mnm=!XX4p*9fUV3!D>z=;1)Ys3A
ztjvUJTM{sT61_er-z%4?^|<P_wE!><b0&*(&#J}sjlC;&$RN~HRv~N08yU4XE=bX}
zbKtT60OX?yv%Wbe&AO5;(Sa|J9C@nw=JK?r;i5yiZ;CT%XLd7$h@B-IM-TB${{S!e
zXQay+Mjl+btmLzjmLb>;D*EI`AYydJqc4g*Sx6SkRM#|5GWXIjV+I1eWV+`NGnLa&
z2|U8p%Rva44;5b~9Idm~oEI!^C8EyHT0S&Y>_o}r(Wxb7amrTO>~`CTT{fY3K)<JP
z%w>}h2wU^+PS!KKdM0K;q6sC10DOlf&s$(_fgoy0z%F|~;GkTYIzXYxzrkHi_(XM0
zncqB<hZJDcdK^=#M%Oo6nc9Zl<>}np*`=FCM8X1C=>~!GWO}yty!f7P3`~HapesLa
zU1Uj-X8vlA1*z+RQYM&#!EwE{EJ1KdBUcfDRG8K#BoJgn0OW#?w`&x@kO6QOp-UMY
zSPTKh(UBM?L;`f=NLk)V$QZtY>rz!&8IsKUxh+}xfDDKM)w?k&A}vGKFlC9I5)Q?%
z!M}>QXht^WbV}iHE7OYUjQpfas2H6hCY)D4Qne~(WMpMBWiwYNGn!=Ml|)D^9Gr(V
zUS|dESoVjw_nngWxc2?B{m#X=pQV3(AWeu*At_)NZ(r8@o_tSMWcAnX^7{VQ<DUMO
z^6?}wi8UFnHhfpAGbDgA@K*3-$_G_q32K#{SO_OSk0kw;av~VhB}!M%G}{LxUM9G#
z+%SRomA@j!mv2vVF*~Gch!HFRpzu}nv7Cr@&1TIovkmfC`Dn-^l4z3^a^$9UNu8R3
zlhhEPH4YqByxr_qPS0Vx?mN3X9hIqH-R>kU*t2XCDb7>^AYw^f{{SE2_4z%0e9d$B
z?s%5^u8#HCyT7-0_j^}-+1=Q88zrvow-GS87pQP}h0oWYUVE577v=H!Ci%Ma<)@@X
zF&LgJpPBl)*27Mdqa3)pJhgjfH8J4XrtU5^an+~#oI^ej$!arNMZOhoE{d;AgZ{5B
zTCiI9NSk_xR;&YQSpH2pYSYxW8BBHRmkga8CsZ<iPTUtyJ-Peo`}ghl{{RfXyI=nR
z#UD@mH`847b?ejhG}Hd?soUYjeUHKa0Qp?+WAmTg-@l&op1)s*<$n13fA72Rqto<W
zz0ao6<n(nNKZ7qf=kDv>{Y?7Ie2o1*TK@n~AH{s{T|U2-GuFZX0P8GALXJ5z9WTX|
zS(xnHeHNQPO6};6sMY@frE`ZRqT`$XArtmrDU<3xrXQu2{sO~lqRc{A7s1wA_&Dfg
zFN79<^_2&rrm1RmPnGLhPttfd4yNLR!X(aL9!qSMST+k2w#e$&Uy6BQb<<unSEi;E
zpGj<A;;)2fR<3HDhIcg8@T01w$@GnHtMt0iNq_pevdZNp+oK=BKf?Y@Gj%qs`1}&0
zW9H=DFNziEXVcfsUo1^;9U23Fy~&k(KL;IMY}ki&(lWbR9O-UusjK*F(#5cHi;1Kg
zT`*wHf_#d(>C#*MF<mCHOg4zKI}J>+>7`rrwbk{0o(N*P;@S_T<bTrcx?ab_8NPTm
z8CQN;h|G8_PU~?UPu1~cT~4c?UGz46ZGT6qUXH9aXU%Tr#v_&*bo92I+1dUpGycwm
z9m{+;d=~v+Oti4o=6u%=CbWZT4~INgK<$sv{{U><disC4dba%!HoYIIo29UI%bnpk
zdS8})JeOVqqo$g;SNxSaRjf3<J{}8Gpx>k7^n4cPFxE|%lRY>leZCMLomszwu9G!3
z8g#|~0MO*MKW0u(mKktI8Ng#a{cT#D>Co8o<hkCM^}h_`>3WgZ%jcKDdA}!I^z?o{
z-@5jH{96A2!9L;rvA^)o>ObPWEgJnt8nNnZ7qk2S0B`kvFTQ@+`hNca`n+G`{{WM7
zfBs*M(T0Z8PnW@7Kk38K`G4)pda!2G{4-tsb;Fd$J;u~onPb;nD8^cwsqw1g^Zx)1
z59u&$R;O{ETG`O|eNXqEne=r305>&{$@>?bEm}^uclf^~&f!qx?%hx3_^o;W0JrQa
zzo(|YX0M8U=QxX@<He2(Q~sz$zy4!qg6B8>4Mer->BlzUoAvnU!ME40dK=3vPlIRi
zT|IR$a8b~~o!XuVnpZYq!Fjyy+;4_Q8ZMXj2$MK$S1Zy?9nY26`M-xXT`|u*dY#+x
zTb(W$N#4Ki*FRgOBhENvshC|GUtj92eJlF<ho;Q>s?799t@-JwS3OTwe!Klnqv}37
zp03nK!=%7<)A@5{&*i2gS3Flpz&ICfZjYWD=jEo?($;-f(fGe5e=c|Sbnd=~M7<4O
zqYw9u{1&**1p9ov`?|G9SCy*RGU0b!(+p*ypDkW1UUWJyeIC1iPpz~Kdhzu$Zb<jt
zY0h2h?z1xxjy*Uvd{Z|SNqt<KFXE}6@`PE-d69Z3IQ3w+8Kxif`LbA;=|TNY`jnG*
z80q0nKgDl=1J_mx^Q(q()vP`XpRUYY8R(xq50~mY5BypG0K#tN{kQ6W@W1LK{ln95
zr}~OEuhqfV=zl-^fAKtjv+Mr=^#1_%`tSb$P1ncw{;&7W_kZ<%Tlz-@@Md!RH=-Y@
zzZJ*jzk`mpmYj2L8Li*hMAt}vE=ZrdH93~WX7<-A53BO=T7!|)=hVS!W*`~qf-lA?
z+pg<>ZnEB!`jYa0z01%3uLOGk0Jj|&<QVf*WKrviZg1{pnaA@~#GL;CC9jbeFDT-(
zQ``2R_n-NLw*LUj+W!E){X{>vdQIwj?lft9-Ivw>0NcOa{^|al`+ogr&i>Co=lXpw
z+jI7Me{(<QfBDC_{{Z3_um1oxYad<pfA4&wP87j;Ke7J+`rYsL>;6AyKk9$4>HZx)
RP7kV${{UHW_xrtZ|Jk66?V11p

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/interchange/map-medium.png b/libraries/foundation-6/docs/assets/img/interchange/map-medium.png
new file mode 100755
index 0000000000000000000000000000000000000000..2b64f34df857ebd09c34c18e34c5774ba1a9e433
GIT binary patch
literal 543557
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
BiuwQm

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/interchange/map-small.png b/libraries/foundation-6/docs/assets/img/interchange/map-small.png
new file mode 100755
index 0000000000000000000000000000000000000000..07841eb5279544a08f12d233dc2548d7e4ee18bb
GIT binary patch
literal 475516
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
z%0A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%0D`-Vt2<ILH5?C+GaVJ@})rFGuYdfj=aG9>w|IR&N
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

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/interchange/medium.jpg b/libraries/foundation-6/docs/assets/img/interchange/medium.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..21c6a702ef751587087b4c2d9e0fba362374ef03
GIT binary patch
literal 44438
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
E+4WHpL;wH)

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/interchange/small.jpg b/libraries/foundation-6/docs/assets/img/interchange/small.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..d447fbf1fbfb9714cbd3972cfb8051f4bc3e43e9
GIT binary patch
literal 28474
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
Q+@Ik80Ks|x0NL69*%z3Q*#H0l

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/logos/sass-logo.svg b/libraries/foundation-6/docs/assets/img/logos/sass-logo.svg
new file mode 100755
index 00000000..194e860e
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/img/logos/sass-logo.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="512" height="384" viewBox="0 0 512 384"><path fill="#CF649A" d="M440.6 220.6c-17.9.1-33.4 4.4-46.4 10.8-4.8-9.5-9.6-17.8-10.4-24-.9-7.2-2-11.6-.9-20.2s6.1-20.8 6.1-21.8c-.1-.9-1.1-5.3-11.4-5.4-10.3-.1-19.2 2-20.2 4.7s-3 8.9-4.3 15.3c-1.8 9.4-20.6 42.7-31.3 60.2-3.5-6.8-6.5-12.8-7.1-17.6-.9-7.2-2-11.6-.9-20.2s6.1-20.8 6.1-21.8c-.1-.9-1.1-5.3-11.4-5.4-10.3-.1-19.2 2-20.2 4.7s-2.1 9.1-4.3 15.3c-2.1 6.2-27.1 61.8-33.6 76.3-3.3 7.4-6.2 13.3-8.3 17.3s-.1.3-.3.7c-1.8 3.4-2.8 5.3-2.8 5.3v.1c-1.4 2.5-2.9 4.9-3.6 4.9-.5 0-1.5-6.7.2-15.9 3.7-19.3 12.7-49.4 12.6-50.5 0-.5 1.7-5.8-5.8-8.5-7.3-2.7-9.9 1.8-10.5 1.8-.6 0-1.1 1.6-1.1 1.6s8.1-33.9-15.5-33.9c-14.8 0-35.2 16.1-45.3 30.8-6.4 3.5-20 10.9-34.4 18.8-5.5 3-11.2 6.2-16.6 9.1l-1.1-1.2c-28.6-30.5-81.5-52.1-79.3-93.1.8-14.9 6-54.2 101.6-101.8 78.3-39 141-28.3 151.9-4.5 15.5 34-33.5 97.2-114.9 106.3-31 3.5-47.3-8.5-51.4-13-4.3-4.7-4.9-4.9-6.5-4-2.6 1.4-1 5.6 0 8.1 2.4 6.3 12.4 17.5 29.4 23.1 14.9 4.9 51.3 7.6 95.3-9.4 49.3-19.1 87.8-72.1 76.5-116.4-11.5-45.1-86.3-59.9-157-34.8-42.1 15-87.7 38.4-120.5 69.1-39 36.4-45.2 68.2-42.6 81.4 9.1 47.1 74 77.8 100 100.5-1.3.7-2.5 1.4-3.6 2-13 6.4-62.5 32.3-74.9 59.7-14 31 2.2 53.3 13 56.3 33.4 9.3 67.6-7.4 86.1-34.9 18.4-27.5 16.2-63.2 7.7-79.5l-.3-.6 10.2-6c6.6-3.9 13.1-7.5 18.8-10.6-3.2 8.7-5.5 19-6.7 34-1.4 17.6 5.8 40.4 15.3 49.4 4.2 3.9 9.2 4 12.3 4 11 0 16-9.1 21.5-20 6.8-13.3 12.8-28.7 12.8-28.7s-7.5 41.7 13 41.7c7.5 0 15-9.7 18.4-14.7v.1s.2-.3.6-1c.8-1.2 1.2-1.9 1.2-1.9v-.2c3-5.2 9.7-17.1 19.7-36.8 12.9-25.4 25.3-57.2 25.3-57.2s1.2 7.8 4.9 20.6c2.2 7.6 7 15.9 10.7 24-3 4.2-4.8 6.6-4.8 6.6l.1.1c-2.4 3.2-5.1 6.6-7.9 10-10.2 12.2-22.4 26.1-24 30.1-1.9 4.7-1.5 8.2 2.2 11 2.7 2 7.5 2.4 12.6 2 9.2-.6 15.6-2.9 18.8-4.3 5-1.8 10.7-4.5 16.2-8.5 10-7.4 16.1-17.9 15.5-31.9-.3-7.7-2.8-15.3-5.9-22.5.9-1.3 1.8-2.6 2.7-4 15.8-23.1 28-48.5 28-48.5s1.2 7.8 4.9 20.6c1.9 6.5 5.7 13.6 9.1 20.6-14.8 12.1-24.1 26.1-27.3 35.3-5.9 17-1.3 24.7 7.4 26.5 3.9.8 9.5-1 13.7-2.8 5.2-1.7 11.5-4.6 17.3-8.9 10-7.4 19.6-17.7 19.1-31.6-.3-6.4-2-12.7-4.3-18.7 12.6-5.2 28.9-8.2 49.6-5.7 44.5 5.2 53.3 33 51.6 44.6-1.7 11.6-11 18-14.1 20-3.1 1.9-4.1 2.6-3.8 4 .4 2.1 1.8 2 4.5 1.6 3.7-.6 23.4-9.5 24.2-30.9 1.2-27.5-24.9-57.5-71.2-57.2zm-343.2 115.7c-14.7 16.1-35.4 22.2-44.2 17-9.5-5.5-5.8-29.2 12.3-46.3 11-10.4 25.3-20 34.7-25.9 2.1-1.3 5.3-3.2 9.1-5.5.6-.4 1-.6 1-.6.7-.4 1.5-.9 2.3-1.4 6.7 24.4.3 45.8-15.2 62.7zm107.5-73.1c-5.1 12.5-15.9 44.6-22.4 42.8-5.6-1.5-9-25.8-1.1-49.8 4-12.1 12.5-26.5 17.5-32.1 8.1-9 16.9-12 19.1-8.3 2.6 4.8-9.9 39.6-13.1 47.4zm88.7 42.4c-2.2 1.1-4.2 1.9-5.1 1.3-.7-.4.9-1.9.9-1.9s11.1-11.9 15.5-17.4c2.5-3.2 5.5-6.9 8.7-11.1v1.2c0 14.4-13.8 24-20 27.9zm68.4-15.6c-1.6-1.2-1.4-4.9 4-16.5 2.1-4.6 6.9-12.3 15.2-19.6 1 3 1.6 5.9 1.5 8.6-.1 18-12.9 24.7-20.7 27.5z"/></svg>
\ No newline at end of file
diff --git a/libraries/foundation-6/docs/assets/img/logos/zurb-logo.svg b/libraries/foundation-6/docs/assets/img/logos/zurb-logo.svg
new file mode 100755
index 00000000..be28c541
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/img/logos/zurb-logo.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="72.083px" height="13.057px" viewBox="0 0 72.083 13.057" enable-background="new 0 0 72.083 13.057" xml:space="preserve">
+<path fill="#CCCCCC" d="M16.038,5.352c0.425-0.5,0.637-1.078,0.637-1.734c0-0.787-0.312-1.462-0.936-2.028
+	c-0.623-0.565-1.378-0.848-2.263-0.848H1.441c-0.4,0.088-0.7,0.439-0.706,0.864v2.022h12.686L2.97,6.612
+	C2.324,6.811,1.79,7.162,1.368,7.666C0.946,8.171,0.735,8.745,0.735,9.389c0,0.811,0.312,1.501,0.935,2.071
+	c0.623,0.57,1.378,0.855,2.264,0.855l11.959,0c0.416-0.052,0.742-0.382,0.783-0.801V9.397H3.934l10.464-3
+	C15.067,6.2,15.613,5.852,16.038,5.352z M32.527,0.741C32.07,0.761,31.705,1.118,31.67,1.57l0.001,6.979
+	c-0.02,0.48-0.42,0.858-0.905,0.858c-0.008,0-5.907,0.001-7.778,0.002c-0.466-0.021-0.839-0.393-0.859-0.86h-0.002V0.741h-2.361
+	v0.001c-0.41,0.018-0.748,0.308-0.838,0.694V9.41c0,0.804,0.312,1.49,0.935,2.056c0.623,0.567,1.379,0.85,2.264,0.85h9.542
+	c0.885,0,1.64-0.283,2.263-0.85c0.624-0.566,0.936-1.252,0.936-2.056v-8.67L32.527,0.741L32.527,0.741z M70.438,5.693
+	c-0.178-0.166-0.382-0.304-0.611-0.404c-0.305-0.133-0.643-0.174-0.97-0.22V3.626c0-0.789-0.312-1.467-0.936-2.035
+	c-0.624-0.567-1.37-0.851-2.238-0.851h-9.416v0.004c-0.466,0.02-0.838,0.391-0.86,0.857v10.715h12.742
+	c0.885,0,1.64-0.284,2.264-0.854c0.623-0.569,0.936-1.257,0.936-2.066c0,0,0-1.441,0-1.443C71.348,7.131,71.049,6.263,70.438,5.693z
+	 M58.621,3.626h3.955c0.004,0,0.008-0.002,0.012-0.002h2.339v0.002c0.008,0,0.015-0.002,0.022-0.002
+	c0.412,0,0.745,0.325,0.763,0.733h0.004v0.445c0,0.148-0.132,0.269-0.295,0.269h-2.833c-0.004,0-0.007-0.002-0.011-0.002h-3.956
+	V3.626z M68.136,9.131c0,0.148-0.133,0.268-0.295,0.268h-2.088c-0.003,0-0.007-0.002-0.01-0.002h-7.122V7.954c0,0,8.747,0,8.755,0
+	c0.405,0,0.732,0.315,0.76,0.713V9.131z M52.176,1.591c-0.624-0.567-1.378-0.851-2.263-0.851H38.019
+	c-0.465,0.027-0.834,0.401-0.848,0.87v10.706l2.42,0c0.405-0.05,0.725-0.364,0.779-0.768V7.973l8.665,0.002
+	c0.489,0,0.887,0.361,0.887,0.805v2.785c0,0.027-0.006,0.054-0.009,0.08v0.672h2.284v0h0.076c0.452-0.029,0.809-0.387,0.839-0.838
+	V9.407c0-0.854-0.362-1.577-1.085-2.169c0.722-0.575,1.085-1.298,1.085-2.17V3.626C53.111,2.837,52.799,2.159,52.176,1.591z
+	 M49.914,4.799c0,0.148-0.132,0.269-0.295,0.269h-1.2v0.001H40.37V3.626l8.76,0.005v0.003c0.008,0,0.015-0.002,0.022-0.002
+	c0.409,0,0.74,0.322,0.762,0.725V4.799z"/>
+</svg>
diff --git a/libraries/foundation-6/docs/assets/img/media-object/avatar-1.jpg b/libraries/foundation-6/docs/assets/img/media-object/avatar-1.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..0b828e2206f4ca130eaf1aee0c1fff5d9109463a
GIT binary patch
literal 10402
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
No}L9OWB!|O{{w5CE>!>k

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/media-object/avatar-2.jpg b/libraries/foundation-6/docs/assets/img/media-object/avatar-2.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..af07966251aa04a217ef40c87d4007b0f0907519
GIT binary patch
literal 10407
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
VUFHe<dNLo(yfShR-|~9?{{e23wSxcv

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/media-object/avatar-3.jpg b/libraries/foundation-6/docs/assets/img/media-object/avatar-3.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..ae722a7c824cebc23359337968283a553d210b02
GIT binary patch
literal 8028
zcmaKR2UHX5)^_McL^{$#Xc9<((3`YSLWdBMCQ>Cp0)&nf!A9@Bh!iQIC{jX^CV~PY
z(gY#&B7&fF5rH4iJ@?#i{p-8mvu0+!W$$M{`+fJ!S~GJ#b-oC=svU%O1pp8TFn}8H
zADn*!Fv9(vJc0ov0P>4r6aa9(NG9&)=jW{?A%XRUIyiedx<H-0FcLuy-V#z!NeO_8
zT9CJclZT5R(9z`%8mkKW-qr~MqMcPima;~YM&4R3ZfLy_oC`9<*up8q!%5K@q;?&s
z5~LJ_@y59LIRJw&o>*U{AXU&`<VqLqKf@9r;9n+w9;zUXKT&}<jZA@BUN{$^EL0Za
zBq=2WlvjjG$x6v6NQnbsl2XzVlF|}V(hw<_lBA-Nlq~RXfG(opoL!a7;W~fEy6CBb
z{!S_|Fc2Cj4fVp^k&seURFsf}Nx)!`3k!&EFxJl@2!iz$_%{RG#n%ak_Vz=2VS#@b
z9UQ&<{Zv60O8=Dt#`_=I|8=eYhoO<t|80uF{8@m%Xnp<6UH+r@e<k*{2=;c7Fn96w
z^2a&3T$l^|arRcy!nrv3dEqR)ygdKCil%N}eqO$AUfw`0E#NgH2PZW4Pha#e2O}dT
z1lHHj0qf*~fUANoD4=Mxvy!YfTvGwAD5W5!AulDREvq1@1=E(&kWqjs$V<t=wEpc2
z_j2;bxM2PM?d$v>U)X>3{Zk7V?~BNA7aTgk#aRdEg#rGRvl9BhYEjVnuY7;|I{$Yq
zlK<6L;zEqXpPl_5JN@sWi}Lx?{HJa&I{#F@3-+SiaTj%cz73%Nt6BlhT^IKc$@vW6
z0f3a`4=%2xWTY1-8R-Sc{ssjZ`31-*C@3f?DJdwZsHmx_sA&Iy?jMj`*priyQ(a8c
zQd3d?kC}f={_n<l7l4r(;0$mkBVh!PGLn!nlAON*6aWCEWF!DG5|V!&0Mt}8w3H;|
z6c;-Gj9=iNDF7Kc1t|$76$5~TjPyb^$;ClRbumqP(W0OPFfvh5^E1;(fmm4CVC=LS
zngUnN9DGvDwFG709E<=GasWBmMS>T!e<(=+jHG1zQcUC;W)44mB0<a)DMfWKmhO>7
zbIKh7R-yB00NsTpDI*ypKn*Z_MlL|g7)jmr5FPP$tVf<D^ucFB$NnB~n`s={jAdzN
zpHqAdU9kZ7yj5ZG#lV}}%;ka43w3RZjZ%Y5EBp<|;chd#AVvC;>$X9)OMOcgwQ*HF
za?Aa521>6vQVDExwE?#+zB1&<n&QWt^|1o1v|ie1J1=QwjUgIt*6s~CkDeRP8~F*W
zEjA5R5;I5KPBB)A#YvKDR*5fkDSTNiEcgWlEo?K`WqL^ba^O+DAvX_#;;D81R{h|%
zrX>GWh6e{-4<poi>r?Vo+ke^wdow*Z#%8>lAXLGy$Eo=!Tq7lcZ<8xP>A4x3(^J^f
z>#@06mBP$!p^D{`!ar=E(*z~YN863gDNFl+1}@cBVo~eW#+hTa@}}iv-^QJ!jd09@
zn_mS5PAu`l@JBHz!mz|8oUk;R@X9GllN3_kj?5A}0!6kFQ`!SzQ)L;T$JSMb`MoL=
z@29o=&3xI-sAa+KBdNeU&lnjQrD_c6Zj+eVsG1AuHoIH@k^leYW6<QX8nNT+>v=rG
zER5uizPIoG;4_1At%CU%AWMk)3!1!WNb05T)J^YqO6#nz&%T7F>5X=|HaJ+nBm@?m
zP<~pN&EQB0bWgxgWH#B+tAsrG<^R@<vb5QBO&678;%@`@c}q>P!UIf<_2`qiBlc=x
z^&ZcSNKiGs?)9)iW!u?>VW0w}mGA!dFomcBWWdwa79Yvdt?P}v<VT|4+gT6bTBgB`
z%qC{G_3IT?b*N&8PyQL%td|xm-MaqXkbh@HYq)sUH%E+KfwVV$Vx=|exA9r6fUp&E
zm$pHgwRTw(sAHp(7~-tsrem#Ai(Q+S`X!BuIZL0bz16*MAeL~1Qudbb_;z2uAdvfI
z#U$9c3(+u57o4Eri*7I%A!(@OXenP~Vj=~_X~yE8(XZ&=))9KVUQr#*ED&R!m71%|
z6N>ueMUVdIMUxq36L?!F&)-V!cbb0tC`Q-&wNdjFK3=r%9N@L8?@jZR6~wr$m?FM4
zb?hB_lBM}^?)L8ti28C;$~@%mtlmSf&+N3H8M$2_>X_747PPsW=gUZ2I={L`T2<&j
zd1>w>t`J}B80(3zD;9dU()#4}^37H=H@z1s+>V+JA0*BJ?9Vy1>gf@4%6$u+?(EFZ
zXj8(+N`>&rbI!5i_sU1OX=)Xxf-GBoSz-Gh6~WI7(|^XdJS(VocoVRddnj>b3E4H{
z<p8y@p6INN?KsV&040Q(;PQLfviKRf9kMESdPHozak>%16=wdR*p=8Fk6KlJVntzw
zisjrk`}YKoB$fLm1?)cSiNMxTe15PQ(a3Nx`cM!0V*TXa*x6tTs91p=IUsHkm}GhF
zU)yN>MCm74J1^o`O=tP~d!Tlfq-}*ImZqlF+buo&vv|y?S?PF%;!}XIK9(UCd?(je
z6t>MUUUN7691vH|B!`%`OGC75Z$=$ujx&H8rW-+V#wlQnvd=nsWTgmnmi?_w&!&~e
zjca&#Rgq(xpA&>1N$cqNb@NB}(mBB8x7#gC2vdx6|HIZm1E@;xtbOem6tRUY2{75D
z+3?eYyyYgcTWCDnmZ-$bDSRInycbk#>ZV|?o53LedN^dM&F!%N2K395V9cSjZkm3n
z*uw79><{s&I1(0JMi%w{u=^8cJ{hPre=czl6Zw7SRRy-LOmgmSDj|oW>M=e^pw!hh
zKDKv1^yk*LE>E<a)El%arm=_-V~ZF9@F+LIE^T&B-Y(rl{RO&!7@9sDY6zhh9Vet$
z;#VVRK(?Gkv0b1jd=iJ6h7R03l67yhPC-mBI)i<|3m;Vmv145^lSJncv%WU4+rrl&
zMn<F%+!k%dZ;J?^VTwtilS0j}=nlQV1>I#KcqPd}<f<Ekc?d%DWBlWe6N`^sXkB21
z+S=F9kVkp!wm2PZ6eVWE$Y5=H3M&qx58mY)_AQ&Y#ovQD4CX!%<r^T&kgOHKa%QuV
z%If>!W2aNmBjqzb%ZP~9LDTu99q`Uau6~xb=dM<n8N<e+839p#SF?BD{q~_T%fHG&
zdPU{6i+m>4)rgc~j%i_T*YPz}*;s;gW8g&njl$rPWR}mvFwx!HhBxx%_$c2zcrc>Q
zLrTS^{pL%d=M~gY2H8v#ZLECS9eJ^&nF8z2?F*%yTEx5Ih%P)*m|kb>{sb$lG!q%C
zCK;<4zl8-#+t7}Kl>3?sGgGgx!T~Ox`qnIE#Viwn{>8qINImP?3Jb^59ZpR-H}|pE
zBP11UR!lUY)%D8AkV_E52;M8)6g`+nRXFR#VxhudFK26>flMt4mY%0$Hxp0lma6;h
z*MwIDQ&Qt|JzP+Lp<bSw1^r8fAO*Vd*$=mjt;Zi(Vm%mNKO^|gg{0VqAU$@bg9((%
z)ya5%u^I(TD>-j$G-5q2Mqa*;anHH6R^j=~Bb%<F5%78*v_ZD_X@3%nyCXI2*TLH$
z$<b!L*soQFa`+aIC>wgj*E|j$vz{Z_Z8B`fuu&5^S}@6@ZbR27(mW}PVlw;%3IRK&
zh#;;8)_V9JBC&x5**;!Z3kHZn+U4Wfa1L===LfO&#Cd#0COUV&-@8pTe$Or@``KWB
z;=ETFUjizjY-+87?Y;bh039*aML!8y0c;fm@dcNmI5B-m29E@5E7qcOT$|q<RSx8O
zcQKKu*u+8jJV^%?Gk;h`cS;zI746mvO|)59`|B^38M*un=tZo}KMmD@E}I>s#eUWq
z$#gH@-mJpcN=!}aE;R}jf8Gf%$u(ZMiP?LcMbfj>AulG+I6FlQ&YHaureuWEDkw?9
zywUS(QfC&tT0<>U(6G;{&SF~+AEZB=HoBc4P7l57K+NhGRd>uCCbikTgAoyM>hJXM
z{+cd>NPgm8F0g#RS}(fZ3I#iiZdBqDs);auc@B8r?6Ry~Y)gH7|M3JgMujWxccMqu
zUfh6<eX2?xw$KEx-MXD;`=z@ec<gKS7)J^lvZj+QeE_!HDU=&-4A6&-Z#SMr$2OQs
ztI*zB(*jIANOyb)mgG0&=3D%<?0YvH=y`CTKh_pVfwyJ9tVg#vD(dt8?rs6VkSM4P
z$CUQl%BmYzJy8++*jU~hu3-^aTf8S@9cMfhFixF59sR-Ok$XM90%Se$h%QRThjN4q
z!;)T)8s;Bzk$7H=t!6ci0De(aZoE6+$U?)XxXC&&(G#lb(<M@3zG<xA%#l9?S+i2<
zpYramI3-9=)*w`?#;)&*o$L(v9tTo{6Ju7mpmU-RmJj3>mcrk>Z%`PshzlO>sLBAp
z$%_>8MlX8lr0;0PQC{-D!{&^yXey>>_s~*wj?Hnm;ukQzZ8zL=Z1}=MB26SMiOp`v
z5i<mnb<ML+;4I{Ya4OyM5~$C1NmdtSe!_lB*A{lGjAJck#7t>fr$*gbHzf15P_IEU
zo<VfSWn7y2N68vfnE`O3vSGZW=+ablTwx2cOf*qZkXK)LrR<Gue*QF9A;yE<bj+se
zP1^o}!VahR!mAa};(_-Fcr*=yMq4J&B~uSk={WyQ4OCCVeO4l|ifknQf-#W^<<@-O
zscO$E+aH$`Zt65^X%gGi#iwtD;p3Q|UDZh)TtjeE=bLelKfK(?u2hST2dj>I(!?*v
zDB{#AJaxM<+fAM60@v7hIy_EhFi|tH&tNsK^{#Nj_bOQe$P&txPjS09`CZn4{^LQi
z^(jzp@=D9P`o^to?A)9nO%CV|K>CN*<6e+*$PTBvK<-h{eAqYP_Y`+=-`|Q#%y`iI
zlLL(t>l|(r83<0m1k_W?loA6NxIRWL(3e`Us_eAk-!evrhuV~DXE~5@=Ljhi?)DIs
z&-_P>9uYZh@H318y5ycDkGR;l4$FeU(Pd$lXPcV|?j9oy^k6O#ym8AbS?_pi>+a>u
zzM#z={yOhw1BVn80rVw)kbpsdVvT+1Zm_i<UIZMWcr<}Bd&Fp|@0@cd2aNEaE9=&?
zls$IxESv6ZHsid>hG9~!f33=TKX{z2*N)%ig%P&d3R=B~vLElLN)%CeEts)R35PxR
z_%e{Vuub6Sjq9iOu4wZCTihJ?;H_AcWSKU&BAA+I?*FL3Tc}x+wwrW~-X9LvuywF&
z-&5r2$+~rBpwnI-e<j#<YpA8SaX<50IEXl}H1gEelSs$X$7A(9J}FoiulY>Aw)o>$
zZy^uQ=(qZ@#dwfIpQX+)R5D!gpx=|m!f|w{EvTG#Zf~o}w|Pjw|7e;l0E2}X>`*z+
z(11&>f?wLn0W0D8QuB%Q(ah`6)Fe+m|4nT;@f`3eCo|IO4WFdz<<tBq#T|cH-bt(E
z%%|%7OWuOl)gKRw!^G;VuwQ`UH9171+73tgAgn4hJI%)3Z-ojUW188kNZ`W38p>&X
zpC1V*fWcEmFWqvHP&Dx-Z;NAahvF&y?Vl1a&H+YSGc=kthab_kxUpx6`7w^$pVTR{
z2aJWK#cFnrJ$++8yeO<Y4y1etcL&5-P|K~9<cL<Z9L~5AwS|)bj8qW)iptFd$SVn^
z>qS0$_Jvp@?RXwtUbsSI7&0esu%^bn&~#4Bg`h{V`<SPvs5g;b;Da>Mha-RA_fu6)
z%t?xdnXhIRF|3tc`yK8&<X0I+-nU}G`xu;(Qg;-7ns?;-4RvRnz}a#`sldF@PzN+3
z7^{Q_N%nRo=00Skdq)#e$q!m-epjW<=WNw-wvi{1Q7+l<v^xkdv*sGssza}lnJ1YX
zr#<cC7tY2ZJG$ZICb;N`#Z3A3r#!HfwR(A^H(;aX({GDCwNqry`<Mpm6uA%xB(CU1
z7V^P_IZ9|FZ#*M|m$uNamyiu{O68>2euk`->HVQ%ewm46^vh$x5>mFI<AXPS$MyuC
z8MBJ5@7gRz8{|3Q1iF#YQj0HzXWf1;KRU<WvqQm9Zvr^vvt)JvzWPR5X`$jTnn&)=
zuKG{db&4zS#e6tMMtXQzx~E(&z0b)F(&>FPPr*T7)_|f*pJ0?uy!-B}Nc6ArgchnI
zlo>%5(okwIAND0kDNAVlvpi>taRNw4N6JE2Up*NmdgTai^k_VT6$vqT61>cQl}}-h
zwUS%iDe7f7%Z?_&-PY^Iu>-m*!Lr_+_Ovj-+P`V>6Yy>IJycFuIe?KD?qA3IEoyW_
zI0|KCHLJl8XFz%EkGx6uQlBp~hA^m-K;)TwSs`JotYMI3aA~_z$KBA{;`o4igD6_>
zSeHy!HV*<KElK#awclH+AlfSIYxzFcZT1{ndV0wi!_LZ~`AD&@PN58=U(=f=iIXzw
zRYXR?=>{c;N5hWAr^JcyeD(S}dT_V?1;Z1k)FMgumbDy#8F{26L&Ies@w<imBR1Rn
z)QAm{vFvfOg{?f_h2I(Z*uLf0b&%jdHAn4R?HrF?$127%Gd9w{;0|>i^54SzGAI~v
zgOk6UHar{P{`O+jIcx?A%1$-4sNI2#fL$~D>M3kjic#ckL~<OxDx!?kH)Vy4mf902
z=e&*wb9~hVv5Y<Bsmx(|BGDZJy~DVW6(N`JG4q6Nix#JqAQ|3~ad{=i{H5qhBu_)K
z8wn^Mn)!m!`+=P&Qk`}K4%ar+Za+M7qNCz1K;j$shQJ-tuS~yv7n0AMUh@)@AP6IB
zn^Qs72kt;xy{aA<X(GR=kJb{Ql*5_m);(sJRSB%xkdkDeDA`lp9AguPE8akJPR`_s
zB{f#rWLIl~$B<WxRh)z=XbVCotg-5*ZVjJmMXcgy)EFY0rfyF=Cz#xf+R)yX<g~U`
z4$XSxsymqFg&!z89*1m{eJ7gN*aTtpNsWV}4}Y}pUcYj?P4KhQlTnCfskIrEtObik
zztppvApXGv(<zOV+k@$EJsvh($LX!H7&8+O<^)Ejebcc$4x;-je%#^LILe1`oSae0
zqD}r{z^dFQcC1LD0j8HIQl~O!M?MKw?~melg7&OBwJKSsz2;Q=<;jq@lvWfq4Y?B2
zHq3L9!Pgw|A;}{$70-XW#FyCWj|3QYCU6c@G@k<obppLoSayrIKw6d0M|7eZ2b>x$
zN8qeeyEDlPFFY9&5jp(PCuy>_O6^LKPk{9MmF|uLxnYO%$y^cd^{uD5xu^GL&}>Ae
zHlF4qp_Pyi#Us|Cyycwge7UbfKQ-n`Kcy%#(yPkO<oX(OngU1+4wbUi$3^cUPU?|V
ztj*o}^w+m}j8{|GR(<_>D+;hent5Oz$Vv+Lj4<(`40)Rx|Crn?#zK!p4<-E-#i}Cs
zbK|FIxs#qe1=1G2Y^OiELWe1-Ta{K{xeRSo;&!fmWx80elnhm-Q(j7Bi4+oGL~B*L
z#yxRs{%O}mOgM0SDK)gaxfJAYk8XMyCnpzj?-=K~b4tY<+j}hAurE?QEw6Y4S`H-$
zk2J7FjE?cjBpjxf#ljn6)297xFhU@iy|-z(j8v-n*(X-&3?gIe9jfm#GkylGtyYIj
z^y?B6CUdTWvkLfIm*4dG^vMX&NJ#GX0a$}OHlGI|XiP0Ws!I>ouwWk)^U3|7VXElU
ztwZu<DEpsoEDPQ7#I!1)piKqte%2o5Pbt(*86uZl(tN1nn&7dDuAO7GH;a8iLieB?
zX-yUrE>Eolu09cnTwEMNLdsWuy;}&4%X5{F*FP&VM!XO^%u5pQH``e6e(P9elD!Mk
z^=3!Vti>*ev4p|2l^t*Q`eK%mrD6dpNqaUS6@Dj3ZvuUtStI(AV5N7NzR0MQ0SjiC
zif7ynPJKTYj5dynj%_Z*IJ{8{2Rnr}v(Yl3%uyiQ{t$faHN-7Reow5&96}-a>ns6f
zm8j{t?(Bbcf7+Sz@}jZBt8ro+Crr@lnBKXji0nb-*1_9BeVeVK2@v!#8>h2UWO_%{
zVJ!L_Aas@p$}LgzAf~NK=McPLIHnX*e;gA?E60>Cg`RgO;$7m{+qElPv@DpfrlR!5
z(KMIEx;apS>Xk3`1ZOoeSmBo1+?qxd*?6#9*JRthm#^&WdEpYns+*q)Px@P*j0Ik1
z(|UCKetI!3UGEKJBrSm;;Zkbq_8z`f!g@>(=wV0dwl{TUuwMFw&$NrEWmW3pxnT%}
zuF8iiH&+FHI_wi(nQe>2&14ERDzI8s&-iOs^sQd)ei44VLy)ON#7)C`aO(Q%uuxA$
z={r)ytpTEq%+Kvxr{kV?XA9mHN`1}D?@ge5Zlt;0$dP5x^uCOF%%oF5<3L;cEW5TJ
z-D|>7Wim9>$#ggy$Cu1)lEv+4wm3dpBW>vRId^}elDSf5qDD~XdBZ%$M9oc<)_=$+
zP*X6KGW2c|Yms*ARi@0#Tf2&FZE7#`QuJPlNJj`Q?d$ow<~>-UP7z5Hd#X|7?5BkR
zuyiGvb>yVtYgy}F4whd-+&}C_w#CEApVD9Y`t$wD<g5*wOm2qb-ArOgDcg4vLaJ7;
zvEFEM|N6-AZ^s`mqc)lyt<_8q41df#bt4#qprtWvRCF81*fY*=vJ+0j_1_;?`Qv4c
z72jCZ*K$_pTqa4hTce)ciYdoKADSE+wmM;zgAyZ{isX3<DbnU4p**it!uJB!r>b5q
zb2SN^w#CNyFxRBFGz`Qrz7?$@VQK{WRb*#ctyUm4=)n|VGtb~>RlK!-eU5J4EXP%h
zfZn_2$wpR7jv6Se>FHJHT-z|S&Ctf#|Jt|T$j%prJ-6$g1-sOJu-P7TrktMkcs*T?
zg}mFWy#{w}G)zu@_TF6lA<ZGL3(G^*4YFK!)G&<Gji^UQzFct>HM}If)^QTtLLi34
z=G^o*z@YIWN#zO~jNu>{mEHmk2Ne2!>Bio7*9DscCFmSWEbChIDSp-X={TB1n+y)l
zuc)qU<0&Ei1a=e3MEuHNrURL$HBp2b1K7cR0bU7mhy7dRmuvh-Q<%7JBZOo*3H&zN
z{(VFtb3-EP6!8nEJzNVRi85$4d6hPD#O1W{DQgiHlLuNVJeUu_MD{)FXi@kwi0);Z
zh`M8SAjRii?2H$UIU<Ei+PxvQLq({y#BbHyw7H7`qs^-F2EhWW&oa5M3KqYlMxZo-
zez&S7$ME<iFSr4~d-;UEs*YjxEpF#+A{5s)NCBH`CpKg!G&!Rb(x*>hNkXxn{SW~s
z@znu-d7g0$tsE`9xWJ5A_O<xT2N>hM?<yIrb3mSncR^`8VT4;MKkI~NTnl*R&StOZ
zRogbwX6xoN3cZ@v!P5D99O$5%dd&Ip9HP+h9QO&bQumYeCL6p-w@>Ke9=q{kdy&u0
zzyqGLV<{$;Otj3q)Z)QsY0;y3C{a5CYJCXkyxz3F;RA!Ow-j#>-=#5KO^VvE@%}*1
zC!58yI9t;-A2wX;Mfr8Y`NsE?M>dV%0^_Gk%_kq4+oe(a8Y~)&#!=UzFOWS#t7+$Z
zlRf&+x6DZipc?S>efgPX)wi~us`}|M;(KMg_VC}0=*g`58&)UvuP+J5k3Q~~7*soD
zE<Us0KL^y?TVYRiSKE_fj>5h)o|eBk2h4>+kGxvSKbM;vxx^=oZT1+Kb?=@79@{%@
zg%=jtuly>E+b9UnbDt=uoVforARPZbNdEX}>s0G#l5qC=_v7%Bb3odzOrU}8+hgAO
z+KH;A0JYwdvD%<=r;T3`hfTFfzkaMtiFfW7MjrG1J_lHiEN-AD#=dnQw`PLp9meVk
zebu)1d*kR}+Mz39^S^E$MljbMrFRVb-iQ$S-O=9pZSdgEr1<V@`76(0uXct^*FK%i
zo@NYPge^ZZ0sWrbf{h$-ww{JRDZJA7%kOUeshxN6PxRpZfT7?6>syNwOA(u=ktaSo
zYVHx-<>8QvRp8sW-iG*XAGs6OdY4o791v0N`#ZPJ_PR&T%Z+W5!RrGhCz!02&&acx
zZyjE}zqa=Z=Ho72$d0XLBPJnAt?0M>jrp^!gm3Ft%FDe{hedWp&jIL8-<jXT^*_sd
tZO_;}IuCO5#-5)8YzV|b)iB&x7C}V`QicD~k%7v_>Hq8Zi2eEJ{|BA0J<b3C

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/orbit/01.jpg b/libraries/foundation-6/docs/assets/img/orbit/01.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..b4e07256a4207e7eb9d5d6e778e895da9e1c08e0
GIT binary patch
literal 152776
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%0DBwIc~|Oc$9#3$QR8u6a_1IU8d8h8QZHb|
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
Tsj9w0AO8UOl#l-akdyz}z3V{*

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/orbit/02.jpg b/libraries/foundation-6/docs/assets/img/orbit/02.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..f6a1c9b0ddda6f61dac7cf691430a1bca1d9b78e
GIT binary patch
literal 59854
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
E*-XAdWB>pF

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/orbit/03.jpg b/libraries/foundation-6/docs/assets/img/orbit/03.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..f0a4fb64f59dae03716fb1e4fd683e47f57aee65
GIT binary patch
literal 71336
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
MAC#atAZS1T*}~E!egFUf

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/orbit/04.jpg b/libraries/foundation-6/docs/assets/img/orbit/04.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..1ae5cf02b1c60ad28502002db508375d94e0f533
GIT binary patch
literal 55713
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
KsuqJ#fB)Hw10{q2

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/thumbnail/01.jpg b/libraries/foundation-6/docs/assets/img/thumbnail/01.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..c504ed19889580f532c53e809359b76cb405a3d4
GIT binary patch
literal 6981
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

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/thumbnail/02.jpg b/libraries/foundation-6/docs/assets/img/thumbnail/02.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..766fa07163b759c5ad594f6918ab0e27574db6a5
GIT binary patch
literal 8554
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

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/thumbnail/03.jpg b/libraries/foundation-6/docs/assets/img/thumbnail/03.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..ff7cbb313f77a4c782ed173b9e4d216b03c657b6
GIT binary patch
literal 14493
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
U%$a+6{%<J%U;nN{a=-Y$0CgLv*Z=?k

literal 0
HcmV?d00001

diff --git a/libraries/foundation-6/docs/assets/img/yeti.svg b/libraries/foundation-6/docs/assets/img/yeti.svg
new file mode 100755
index 00000000..d2735bf9
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/img/yeti.svg
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 255.3 214.7" enable-background="new 0 0 255.3 214.7" xml:space="preserve">
+<g>
+	<path fill="#198DA0" d="M18.7,320c0-7.3,57.4-13.3,109.2-13.3c61.7,0,109.2,5.9,109.2,13.3"/>
+	<path fill="#198DA0" d="M127.9,333.3c-60.3,0-109.2-5.9-109.2-13.3"/>
+	<path fill="#198DA0" d="M237.1,320c0,7.3-48.9,13.3-109.2,13.3"/>
+	<path fill="#EAF7FE" d="M24.6,271.9c0,0,2.6-2.6,4.7-3.4c0,0,2.9,6.8,6.8,12c3.9,5.2,12.7,9.6,17.9,9.6l9.8-0.4
+		c-1.2,5.2-3.6,9.7-8.6,9.9l-0.6,0.9c-0.1,0-0.2,0-0.3,0c-0.1,1.5-3.2,1.8-4,2.9c-2.6,3.2-4.5,7.6-5.9,11.6c-1,2.9-0.5,2.9-1.2,5.9
+		c-0.2,1-1.2,2-1.6,3c2.8-0.9,10.6-1.6,14.7-1.9l0.1,3.6c0,0,0.7,0.6,1.8,1.1c0,0,0.1,0,0.1,0c0.4,0,0.7,0.1,1.1,0.2
+		c6.2-0.6,10.4,0.5,17.6-0.1c1.4-0.2,2.7-0.4,3.9-1.1c0.3-1,0.4-1.1,0.6-2.4c0-0.2,0-0.5,0.1-0.8c0.1,0,0.2,0,0.3-0.1
+		c0,0,0.1,0,0.3,0c0,0,0.1,0,0.1,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.2,0c1.3-0.1,3.4-0.2,4.7-0.3c4.2,0,9.7,0.5,9.7,0.5
+		c0.3-4.7,0.7-12,8.3-33.3l1.9-1.2c0,0,23.4,8.2,45-0.3c1.7,4.2,7.3,18.4,8.1,27.4c0.7,1,0.7,2.4,0.7,3.8c0,1.2,0.1,2.4,0.2,3.6
+		c0.8-0.1,3.6-0.5,7.1-0.4c1.3,0.1,3.4,0.2,4.7,0.3c0.1,0,0.1,0,0.2,0c0.1,0,0.2,0,0.3,0c0,0,0.1,0,0.1,0c0.1,0,0.2,0,0.3,0
+		c0.1,0,0.2,0,0.3,0.1c0.1,0.3,0.1,0.5,0.1,0.8c0.2,1.3,0.2,1.4,0.6,2.4c0.1,0.1,0.2,0.1,0.3,0.2c3.9-0.5,7.8-0.6,11.7-0.4
+		c3.1,0.1,6.1,0.7,9.1,1.3c0,0,0,0.1,0,0.1c0.3,0,0.6,0.1,0.9,0.1c1.6,0.3,3.2,0.6,4.9,0.7c0-2,0-3.8,0-5.4c3.3,0.2,8,0.8,9.9,1.1
+		c0.8,0.2,1.4,0.3,2.1,0.4c0.1,0,0.2,0.1,0.3,0.1c0,0,0,0,0,0c0.7,0.2,1.4,0.3,2.4,0.7c-0.1-1.8-0.1-1.7-0.4-3.9
+		c-0.2-1.7-1.4-6.9-3.7-9c0,0,2.5,1.1,3.3,1.5c-2.5-3.3-3.7-8.1-11.4-11.4c0,0,1.4-0.7,2.7-0.8c-1.3-0.8-2.4-1.2-3.7-1.1
+		c0.5-1.3,2.5-4.6,4.2-5.1c0,0-1.1-0.7-2.8-0.2c-0.6,0.3-1.3,0.7-1.9,1.1c-0.2,0.2-0.6,0-0.6-0.3c-0.5-2-0.9-4-1.2-6.1
+		c15.6-0.6,17.7-8.5,17.7-8.5c1.3,1,1.3,3.4,1.3,3.4c6.8-8.8,6-17.7,6-17.7c1.6,0.3,2.9,1.3,2.9,1.3c0.8-13.5-3.4-36.7-3.4-36.7
+		c2.1,1,3.4-0.3,3.4-0.3c-2.3-1-2.6-3.6-2.6-3.6c3.4,0.3,3.9-2.9,3.9-2.9c-3.4,0-7-1.6-9.6-13.5c-2.6-12-6.5-24.2-6.5-24.2
+		c4.2,0,6.5-1.8,6.5-1.8c-2.9-1.3-9.1-5.7-13.3-11.2c-4.2-5.5-14.8-14.3-14.8-14.3s0-5.7,0-17.7c0-12,7.7-21.3,7.7-21.3
+		c-5.2,0-7.7,4.7-7.7,4.7s0-0.3,0-25.2s12.6-36.1,12.6-36.1c-3.9-0.3-6.5,1.6-6.5,1.6c1.8-18.5,7.5-23.9,7.5-23.9
+		c-20.8-5.5-32.4,6.8-32.4,6.8c-2.3-11.2,6.8-17.7,6.8-17.7c-10.7-2.3-19.5,0.8-19.5,0.8c0-16.4,6.5-21.8,6.5-21.8"/>
+	<path fill="#EAF7FE" d="M24.4,246.7l4.4,3.1c0,0-3.4,14-4.2,22.1"/>
+	<path fill="#EAF7FE" d="M167.7,9.2c-32.5,0-51,24.4-51,24.4c-1.3-10.4,1.6-19.5,1.6-19.5C86.8,27.4,78.5,56.8,78.5,56.8
+		c-2.1-4.9-2.3-16.2-2.3-16.2s-13,21.8-15.3,36.9c-2.3,15.1,2.1,58.4,2.1,58.4s-2.1-2.6-6.5-3.1c0,0,4.7,5.2,4.7,16.9
+		c0,0-1.8-1.6-4.9-0.8c0,0,4.9,4.4,5.5,12c0,0-5.7,3.9-8.8,7.8c0,0-4.9,0.3-7.5,1c0,0,4.2,2.3,4.9,4.4c0,0-12.2,12.5-18.5,22.6
+		c0,0,5.5-3.4,9.4-2.3c0,0-8.6,10.4-11.4,27.6c0,0,4.2-2.1,6-1c0,0-5.2,10.9-5.5,22.4l-5.7,3.4"/>
+	<path fill="#CDEAF5" d="M81.6,322.4c0,0,0.6-6.6-1.5-11.3c0,0,4.1,0.3,4.7,11C84.8,322.1,81.9,322.4,81.6,322.4z"/>
+	<path fill="#CDEAF5" d="M61.2,300.2l0-0.2C61.2,300.1,61.2,300.2,61.2,300.2z"/>
+	<path fill="#CDEAF5" d="M65,321.9C65,321.9,65,321.9,65,321.9c0,0,0-0.1,0-0.1L65,321.9z"/>
+	<path fill="#CDEAF5" d="M167.7,9.2c-32.5,0-51,24.4-51,24.4c-1.3-10.4,1.6-19.5,1.6-19.5C86.8,27.4,78.5,56.8,78.5,56.8
+		c-2.1-4.9-2.3-16.2-2.3-16.2s-13,21.8-15.3,36.9c-2.3,15.1,2.1,58.4,2.1,58.4s-2.1-2.6-6.5-3.1c0,0,4.7,5.2,4.7,16.9
+		c0,0-1.8-1.6-4.9-0.8c0,0,4.9,4.4,5.5,12c0,0-5.7,3.9-8.8,7.8c0,0-4.9,0.3-7.5,1c0,0,4.2,2.3,4.9,4.4c0,0-12.2,12.5-18.5,22.6
+		c0,0,5.5-3.4,9.4-2.3c0,0-8.6,10.4-11.4,27.6c0,0,4.2-2.1,6-1c0,0-5.2,10.9-5.5,22.4l-5.7,3.4"/>
+	<path fill="#CDEAF5" d="M24.6,271.9c0,0,2.6-2.6,4.7-3.4c0,0,2.9,6.8,6.8,12c3.9,5.2,12.7,9.6,17.9,9.6l0.7-0.1
+		c-0.3,1.8-0.6,3.6-1.1,5.3c-0.1,0.2-0.4,0.4-0.6,0.3c-0.6-0.4-1.2-0.8-1.9-1.1c-1.7-0.6-2.8,0.2-2.8,0.2c1.7,0.4,3.8,3.7,4.2,5.1
+		c-1.4-0.1-2.4,0.2-3.7,1.1c1.3,0.2,2.7,0.8,2.7,0.8c-7.7,3.3-8.9,8-11.4,11.4c0.8-0.4,3.3-1.5,3.3-1.5c-2.3,2.1-3.5,7.3-3.7,9
+		c-0.2,2.2-0.2,2.2-0.4,3.9c2-0.7,3-0.8,4.7-1.2c2.6-0.4,9.7-1.6,12.3-1.4l-0.4,4.8c0,0,0.1,0,0.1,0c1.3,0,2.4-0.1,3.7-0.2
+		c0-1.4,0.1-2.6,0.2-4c-0.1-2.4,0.2-4.5,0.7-6.9c0-0.1,0-0.1,0.1-0.2c1-3.3,2.6-5.1,3.7-6.3c0.4-0.4,0.7-0.8,0.9-1.3
+		c0.6-0.9,1.3-2,1.8-3.4c1.1-2.9,0.6-9.3-1.5-15.6c2.3,3.3,4.3,6.1,5.3,7.1l-0.1-8c0,0,4.2,4.2,7.9,7.3c1.8,1.6,4,3.4,5.6,4.2
+		c0.1,0.1,0.2,0.1,0.3,0.2l0,0c0,0,0,0,0,0c2.1,1.2,4.3,2.2,6.3,3.6c0.2,0.1,0.4,0.3,0.7,0.4c0.9,0.6,2.6,1.4,4.1,2.2l1.4,16.6
+		c1.3-17.5,11.2-34.2,11.2-34.2l-0.4-0.1c-3.1-1-25.6-8.7-38.9-36.6c-0.9-1.8,4.9,2.1,4.9,2.1c-5.5-13.3-7.5-34.6-7.5-34.6
+		c1.8,1.6,3.6,1.8,3.6,1.8c-3.9-10.9-5.5-24.4-5.5-36.7c-1-65.8,23.3-80.9,23.3-80.9c-4.2-1.6-8.6-1.4-8.6-1.4
+		c4.8-11.6,20.8-27.7,20.8-27.7c-4.3,0.3-21.1,4.8-21.1,4.8c13.9-36.3,28-45.9,28-45.9c-1,8.7,2.3,17.9,2.3,17.9
+		c30.2-37.3,54.4-35.6,54.4-35.6c1.8-3.7,3.8-6.3,3.8-6.3"/>
+	<path fill="#CDEAF5" d="M24.4,246.7l4.4,3.1c0,0-3.4,14-4.2,22.1"/>
+	<path fill="#CDEAF5" d="M202,322.2c0,0-0.3-9.4-2.4-14.2c0,0,5.6,3.4,5.6,14.3C205.1,322.4,202.3,322.2,202,322.2z"/>
+	<path fill="#ACDBE3" d="M56.5,273.7c3.7-36.1,4.7-106.6,4.7-106.6c-8,15.8-14.4,44.5-14.4,44.5l1.6,6.2l-3.5-1.6
+		c-5.6,19.6-1.8,45.8-0.6,53.2C47.8,272.3,52.1,273.2,56.5,273.7z"/>
+	<path fill="#ACDBE3" d="M49,272.9c1.1,5.8,2.3,11.3,3.6,17.1c1,0.1,2.1,0.1,2.1,0.1c0.9-3.5,1-8.9,1.7-15.5
+		C53.9,274.3,51.3,273.8,49,272.9z"/>
+	<path fill="#CDEAF5" d="M171.2,304c-0.2,0.1-0.4,0-0.5-0.2c-0.4,0.1-0.7,0.2-0.9,0.2l0,0c5.4-3.9,5.9-8,5.9-8
+		c-3.6,1.6-7.3,2.2-9.2,2.4c12.4-10.7,14.5-30.7,14.5-30.7c-5.1,6.2-12.3,11.5-17.9,15l0,0c0,0-3.7,2.1-7.2,3.7
+		c-0.2,0-0.3,0-0.4,0.2c-1.8,0.8-3.4,1.5-4.4,1.7c0,0,2.9,5.3,4.1,8.2l-0.2,0.2c0,0,4.2,9.8,5.7,19.3c0.2,1.6,0.3,3,0.4,4.1
+		c0.1,1.4,0.2,2.4,0.2,2.4c5.5-0.8,13.3,0,13.3,0c0,0.9,0.5,3,0.5,3.4c2.6-0.4,5.2-0.5,7.9-0.5C182.8,316.1,182.4,300.8,171.2,304z"
+		/>
+	<path fill="#85C1CE" d="M56.2,276.5c-8.6-1.5-16.4-11.4-16.4-11.4c6.3,6.7,14.1,7.6,14.1,7.6c1-7.6-5.3-25.1-5.3-25.1
+		c4.7,5.8,7.2,12.5,8.6,18L56.2,276.5z"/>
+	<path fill="#ACDBE3" d="M75.8,263c0,0,6.8,11.9,12.7,17.1c6.4,5.6,12.4,13.5,14.9,18.2c0,0,3.2-7.5,5-10.1
+		C108.4,288.3,89.4,282.7,75.8,263z"/>
+	<path fill="#ACDBE3" d="M164.2,286.3c0.9-1.3,2-2.6,3.1-3.8c1.7-2.1,3.6-4.1,5-6.3c-2.4,1.8-5.2,3.4-7.9,5.1
+		c-8.1,5.5-13.7,7-13.7,7c1.8,2.6,5,10.1,5,10.1c1.5-2.9,4.3-6.9,7.7-10.9C163.6,287.1,164,286.7,164.2,286.3z"/>
+	<path fill="#5C5B5D" d="M73.2,85.1c-0.7,0.1-3.1,0.1-3.1,0.1c-21.4,1.5-37.2-15.1-37.2-15.1s-1.4,13,7.9,24.3
+		c9.3,11.4,28.2,13.3,28.2,13.3c0.6,2.7-0.7,8.6-0.7,8.6s5.5-6.1,6.9-17.7C76.2,90.5,73.7,85.1,73.2,85.1"/>
+	<path fill="#747F83" d="M73.2,85.1c-0.7,0-3.1,0.1-3.1,0.1c-21.4,1.5-37.2-15.1-37.2-15.1s9.8,28.3,42.5,26.1
+		C75.4,96.2,76.3,91,73.2,85.1"/>
+	<path fill="#5C5B5D" d="M180.2,85.1c0.7,0.1,3.1,0.1,3.1,0.1c21.4,1.5,37.2-15.1,37.2-15.1s1.4,13-7.9,24.3
+		c-9.3,11.4-28.2,13.3-28.2,13.3c-0.6,2.7,0.7,8.6,0.7,8.6s-5.5-6.1-6.9-17.7C177.3,90.5,179.8,85.1,180.2,85.1"/>
+	<path fill="#747F83" d="M180.2,85.1c0.7,0,3.1,0.1,3.1,0.1c21.4,1.5,37.2-15.1,37.2-15.1s-9.8,28.3-42.5,26.1
+		C178,96.2,177.1,91,180.2,85.1"/>
+	<path fill="#CDEAF5" d="M62.7,181.1c0,0-15,55.4,0,90.9V181.1z"/>
+	<path fill="#CDEAF5" d="M215.5,268.7c-7.6,5.8-15.5,6.2-15.5,6.2c-0.4-7.6,7.9-24.2,7.9-24.2c-1.9,1.1-3.4,2.5-4.6,3.9l-0.1-5.6
+		l6-4.9l-4.8-3.9l6.1-24.6l-5.9,3.9c0,0-1.8-35-0.5-50.1c0,0-7.4-7.4-11.1-10.4c0,0,0.7,10.8,1.5,28c3.3,13.8,8.5,42.4,2.1,67.5
+		c0.1,5.1,0.1,10.3,0.2,15.5c0,0,3.2,11.1,4.2,18.9c0,0,1,0.3,2.6,0l-0.1-11.9C211.5,274.7,215.5,268.7,215.5,268.7z"/>
+	<ellipse fill="#CDEAF5" cx="151.8" cy="161.5" rx="8.5" ry="10.7"/>
+	<ellipse fill="#FFFFFF" cx="151.9" cy="158.6" rx="8.3" ry="10.5"/>
+	<path fill="#4F4E51" d="M149.7,153.2c-0.1,0.3-0.1,0.5-0.1,0.8c0,1.5,1,2.7,2.2,2.7c1.1,0,1.9-1,2.1-2.2c0.7,0.9,1.1,2.1,1.1,3.4
+		c0,2.7-1.8,5-4,5c-2.2,0-4-2.2-4-5C147,155.7,148.1,153.9,149.7,153.2z"/>
+	<ellipse fill="#CDEAF5" cx="111.2" cy="161.5" rx="8.5" ry="10.7"/>
+	<ellipse fill="#FFFFFF" cx="111.4" cy="158.6" rx="8.3" ry="10.5"/>
+	<path fill="#4F4E51" d="M110.7,153.2c-0.1,0.3-0.1,0.5-0.1,0.8c0,1.5,1,2.7,2.2,2.7c1.1,0,1.9-1,2.1-2.2c0.7,0.9,1.1,2.1,1.1,3.4
+		c0,2.7-1.8,5-4,5c-2.2,0-4-2.2-4-5C108,155.7,109.1,153.9,110.7,153.2z"/>
+	<path fill="#5C5B5D" d="M180.4,148.6c-3.8-0.6-10.3-1.2-18.2-0.8c-10.3,0.5-19.1,2-24.3,2.8c-1.6,0.3-2.8,0.5-3.7,0.6l-1,0.1
+		c-1.2,0.2-1.9,0.3-2.6,0.3c-0.6,0-1.4-0.1-2.6-0.3l-1-0.1c-0.9-0.1-2.2-0.3-3.7-0.6c-5.3-0.9-14.1-2.3-24.3-2.8
+		c-7.9-0.4-14.5,0.2-18.2,0.8c0,0-4,0.5-7.5,2l0.7,4.4c0,0,3.6-0.9,7.2-1.3c0.7,6.2,1.9,14.1,1.9,14.1l0,0.2
+		c0.1,0.4,0.2,0.8,0.3,1.2c0.7,3.1,1.5,4.9,4.4,6c2.9,1.1,9.7,2.1,16.5,2.4c2.5,0.1,5.4,0,8.4-0.5c4.3-0.6,8.3-1.8,9.8-2.9
+		c2.2-1.6,3.3-5.7,4.1-8.3l0.2-0.8c0.3-0.9,0.5-1.9,0.7-2.8c0.3-1.3,0.7-2.7,1-3.2c0.1-0.1,0.3-0.4,1.2-0.5c0.3,0,0.6-0.1,1-0.1
+		c0.4,0,0.7,0,1,0.1c1,0.1,1.2,0.4,1.2,0.5c0.3,0.5,0.6,1.9,1,3.2c0.2,0.9,0.5,1.9,0.7,2.8l0.2,0.8c0.8,2.7,1.9,6.7,4.1,8.3
+		c1.5,1.1,5.4,2.3,9.8,2.9c2.9,0.4,5.8,0.6,8.4,0.5c6.8-0.4,13.6-1.4,16.5-2.4c2.9-1.1,3.6-2.9,4.4-6c0.1-0.4,0.2-0.8,0.3-1.2l0-0.2
+		c0,0,1.3-7.9,1.9-14.1c3.6,0.5,7.2,1.3,7.2,1.3l0.7-4.4C184.4,149.2,180.4,148.6,180.4,148.6z M123.7,158.1L123.7,158.1
+		c-0.2,1.5-1.1,8.7-2.6,11.1c-1.5,2.4-2,3-6.5,3.7c-0.2,0-0.4,0.1-0.6,0.1c-4.9,0.7-13.9,0.8-18.9-0.1l-0.3-0.1
+		c-5.1-1-6.9-1.4-7.5-3c-0.7-2.2-2.1-12.1-2.2-14.3c-0.1-1.6,1.4-2.4,1.9-2.5c0.3-0.1,0.7-0.1,1.2-0.2c3.6-0.5,11.5-1,15.2-0.9
+		c4.7,0.2,16.2,1.8,18.8,3C124,155.9,123.9,156.6,123.7,158.1z M173.8,169.9c-0.5,1.6-2.3,2-7.5,3L166,173c-5,1-14,0.8-18.9,0.1
+		c-0.2,0-0.4-0.1-0.6-0.1c-4.6-0.8-5.1-1.4-6.5-3.7c-1.5-2.4-2.4-9.6-2.6-11.1l0-0.1c-0.2-1.5-0.3-2.2,1.7-3.1
+		c2.6-1.2,14.1-2.8,18.8-3c3.7-0.2,11.6,0.4,15.2,0.9c0.6,0.1,1,0.2,1.2,0.2c0.4,0.1,1.9,0.9,1.9,2.5
+		C175.9,157.8,174.5,167.7,173.8,169.9z"/>
+	<path fill="#A1D4E9" d="M113.9,137.6c0,0-9.4-4.5-14.8,3.8c0,0-0.6-8.3,7-9.2C113.7,131.3,113.9,137.6,113.9,137.6z"/>
+	<path fill="#A1D4E9" d="M110.3,125.4c0,0-8.7-4.1-12.7,3.8c0,0-1.3-6.9,4.9-8.6C108.8,119,110.3,125.4,110.3,125.4z"/>
+	<path fill="#A1D4E9" d="M147.5,142.6c0,0,7.3-3.5,11.5,3c0,0,0.4-6.4-5.5-7.1C147.6,137.8,147.5,142.6,147.5,142.6z"/>
+	<path fill="#A1D4E9" d="M152.7,131.1c0,0,7.4-1.2,8.7,5.6c0,0,2.5-4.9-1.8-7.5C155.3,126.7,152.7,131.1,152.7,131.1z"/>
+	<path fill="#B2DEEF" d="M113.2,203.2c0,0,5.2-3.5,8.2-3.9c0,0,0.7,6.5,3.7,9.8c0,0,6.5-5.9,13-6.3c0,0,1.7,3.6,4.4,4.9l0,0
+		c1,0.6,2.2,1.2,3.3,1.5c0,0,3.7-2.2,4.8-6.3c0,0,0.4,8.6-5.1,13.4c0,0-4.1-2-7.1-5.3c-0.9-0.9-1.8-1.9-2.3-2.7
+		c0,0-9.6,6.8-9.9,10.6c0,0-6.9-6.7-9.3-11.9c0,0-4.6,1.5-5.9,2.4c0,0-3.7-6.1-4.5-11.5C106.5,197.7,111,202,113.2,203.2z"/>
+	<path fill="#5C5B5D" d="M130.6,186.2c-0.4-0.1,9.7,0.7,19.6,0.3c0,0,0.5-1.9,1.3-2.9c0,0-0.2,3.2,0.7,3.8c0,0-5,2-10,1.9
+		c0,0,5.5-0.9,7.3-1.9C149.6,187.5,139.6,188.1,130.6,186.2z"/>
+</g>
+</svg>
diff --git a/libraries/foundation-6/docs/assets/js/docs.buildingBlocks.js b/libraries/foundation-6/docs/assets/js/docs.buildingBlocks.js
new file mode 100755
index 00000000..1af9e9df
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/js/docs.buildingBlocks.js
@@ -0,0 +1,27 @@
+// Adds links to Building Blocks from the ZURB library to each component page
+
+!function() {
+  
+$.ajax({
+  url: 'http://zurb.com/library/api/building_blocks/type/buttons',
+  dataType: 'jsonp',
+  success: addBuildingBlocks
+});
+
+function addBuildingBlocks(data) {
+  var html = '';
+
+  $.each(data, function() {
+    html += '<div class="docs-bb"><div class="docs-bb-thumb"><a href="http://zurb.com/building-blocks/'+this.slug+'"><img src="'+this.image_url+'"/></a></div><div class="docs-bb-main"><h3><a href="http://zurb.com/building-blocks/'+this.slug+'">'+this.name+'</a></h3><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolor, amet incidunt sint esse nihil eum repellendus necessitatibus officiis iusto reprehenderit, alias laudantium veniam ad. Soluta repellat nemo quaerat quis laboriosam.</p></div></div>';
+  });
+
+  $('[data-building-blocks]').each(function() {
+    $(this).html(html);
+  });
+
+  if ($('[data-building-blocks] .docs-bb').length === 0) {
+    $('.docs-building-blocks').hide(0);
+  }
+}
+
+}()
\ No newline at end of file
diff --git a/libraries/foundation-6/docs/assets/js/docs.examples.js b/libraries/foundation-6/docs/assets/js/docs.examples.js
new file mode 100755
index 00000000..7f0ce757
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/js/docs.examples.js
@@ -0,0 +1,30 @@
+// Code for specific docs examples.
+
+!function() {
+
+$('[data-docs-example-ofc]').click(function() {
+  $('#offCanvasLeft').toggleClass('reveal-for-large');
+  $('.sticky').foundation('_calc', true);
+});
+
+$('[data-docs-example-series]').click(function() {
+  $('#series-example').addClass('is-animating');
+});
+
+var $transitionDemo = $('.docs-transition-demo');
+$('.docs-transitions').change(function() {
+  var value = $(this).val();
+  var method = value.match('-in') ? 'animateIn' : 'animateOut';
+
+  Foundation.Motion[method]($transitionDemo, value, function() {
+    $transitionDemo.show();
+  });
+});
+var stickyMag = $('#sticky-magellan');
+stickyMag.on('sticky.zf.stuckto:top', function(){
+  stickyMag.find('nav').addClass('stuck-mag');
+}).on('sticky.zf.unstuckfrom:top', function(e){
+  stickyMag.find('nav').removeClass('stuck-mag');
+});
+
+}();
diff --git a/libraries/foundation-6/docs/assets/js/docs.interchangeMap.js b/libraries/foundation-6/docs/assets/js/docs.interchangeMap.js
new file mode 100755
index 00000000..f05372cd
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/js/docs.interchangeMap.js
@@ -0,0 +1,45 @@
+!function() {
+var loaded = false;
+$('#docs-example-interchange').on('replaced.zf.interchange', function() {
+  if(Foundation.MediaQuery.atLeast('large')){
+    if(!loaded){
+      $.getScript("https://maps.googleapis.com/maps/api/js?key=AIzaSyBOVwxUM9akvFrSWmmb2iKc7Fe0vjRBY7c&sensor=false&callback=initializeMaps")
+      .done(function(){
+        loaded = true;
+      });
+    }else{
+      window.initializeMaps();
+    }
+  }
+});
+
+window.initializeMaps = function() {
+  // Basic options for a simple Google Map
+  // For more options see: https://developers.google.com/maps/documentation/javascript/reference#MapOptions
+  var mapOptions = {
+    // How zoomed in you want the map to start at (always required)
+    zoom: 11,
+
+    // The latitude and longitude to center the map (always required)
+    center: new google.maps.LatLng(37.2845934,-121.951675), // ZURB HQ
+
+    // How you would like to style the map.
+    // This is where you would paste any style found on Snazzy Maps.
+    styles: [{'featureType':'water','stylers':[{'visibility':'on'},{'color':'#acbcc9'}]},{'featureType':'landscape','stylers':[{'color':'#f2e5d4'}]},{'featureType':'road.highway','elementType':'geometry','stylers':[{'color':'#c5c6c6'}]},{'featureType':'road.arterial','elementType':'geometry','stylers':[{'color':'#e4d7c6'}]},{'featureType':'road.local','elementType':'geometry','stylers':[{'color':'#fbfaf7'}]},{'featureType':'poi.park','elementType':'geometry','stylers':[{'color':'#c5dac6'}]},{'featureType':'administrative','stylers':[{'visibility':'on'},{'lightness':33}]},{'featureType':'road'},{'featureType':'poi.park','elementType':'labels','stylers':[{'visibility':'on'},{'lightness':20}]},{},{'featureType':'road','stylers':[{'lightness':20}]}]
+  };
+
+  // Get the HTML DOM element that will contain your map
+  // We are using a div with id="map" seen below in the <body>
+  var mapElement = document.getElementById('map');
+
+  // Create the Google Map using out element and options defined above
+  var map = new google.maps.Map(mapElement, mapOptions);
+  var markerOptions = {
+    map: map,
+    position: {lat: 37.2845934, lng: -121.951675},
+    title: 'ZURB HQ'
+  };
+  var marker = new google.maps.Marker(markerOptions);
+};
+
+}();
diff --git a/libraries/foundation-6/docs/assets/js/docs.js b/libraries/foundation-6/docs/assets/js/docs.js
new file mode 100755
index 00000000..af814d63
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/js/docs.js
@@ -0,0 +1,18 @@
+$(document).foundation();
+
+// [TODO] Remove this when possible
+$(function() {
+  // Equalizer test
+  var counter = 0;
+  $('#test-eq').on('postEqualized.zf.Equalizer', function() {
+    counter++;
+    console.log(counter);
+  });
+  $('#pokemonRed').on('invalid.fndtn.abide', function(e, data) {
+    console.log(data);
+  });
+});
+
+$(function() {
+  $('[data-docs-version]').text('v' + Foundation.version);
+});
diff --git a/libraries/foundation-6/docs/assets/js/docs.kissmetrics.js b/libraries/foundation-6/docs/assets/js/docs.kissmetrics.js
new file mode 100755
index 00000000..1fe846a0
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/js/docs.kissmetrics.js
@@ -0,0 +1,18 @@
+// Kissmetrics reporting
+
+!function() {
+
+var _kmq = _kmq || [];
+var _kmk = _kmk || "d945f04ff5e68057c85f5323b46f185efb3826b3";
+function _kms(u){
+  setTimeout(function(){
+    var d = document, f = d.getElementsByTagName('script')[0],
+    s = d.createElement('script');
+    s.type = 'text/javascript'; s.async = true; s.src = u;
+    f.parentNode.insertBefore(s, f);
+  }, 1);
+}
+_kms('//i.kissmetrics.com/i.js');
+_kms('//doug1izaerwt3.cloudfront.net/' + _kmk + '.1.js');
+
+}();
diff --git a/libraries/foundation-6/docs/assets/partials/interchange-default.html b/libraries/foundation-6/docs/assets/partials/interchange-default.html
new file mode 100755
index 00000000..553041fa
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/partials/interchange-default.html
@@ -0,0 +1 @@
+<img src="assets/img/interchange/map-small.png" />
diff --git a/libraries/foundation-6/docs/assets/partials/interchange-large.html b/libraries/foundation-6/docs/assets/partials/interchange-large.html
new file mode 100755
index 00000000..564bc7e5
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/partials/interchange-large.html
@@ -0,0 +1,12 @@
+<style type="text/css">
+    /* Set a size for our map container, the Google Map will take up 100% of this container */
+    #map {
+        width: 100%;
+        height: 400px;
+    }
+</style>
+
+<!-- The element that will contain our Google Map. This is used in both the Javascript and CSS above. -->
+<div id="map">
+
+</div>
diff --git a/libraries/foundation-6/docs/assets/partials/interchange-medium.html b/libraries/foundation-6/docs/assets/partials/interchange-medium.html
new file mode 100755
index 00000000..674b9049
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/partials/interchange-medium.html
@@ -0,0 +1 @@
+<p><img src="assets/img/interchange/map-medium.png" /></p>
diff --git a/libraries/foundation-6/docs/assets/partials/sticky-nav.html b/libraries/foundation-6/docs/assets/partials/sticky-nav.html
new file mode 100755
index 00000000..5474a46a
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/partials/sticky-nav.html
@@ -0,0 +1,229 @@
+<head>
+  <!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.1.1/foundation.min.css"> -->
+  <link href="../css/docs.css" rel="stylesheet" />
+  <style>
+      .title-bar {
+      width: 100%;
+      z-index: 10;
+      transition: height .25s ease;
+      height: 4.5em;
+    }
+    .title-bar .title-bar-right, .title-bar .title-bar-left {
+      transition: padding-top .25s ease;
+      padding-top: 1.4em;
+    }
+    .title-bar.shrink {
+      height: 3em;
+    }
+    .title-bar.shrink .title-bar-right, .title-bar.shrink .title-bar-left {
+      padding-top: 0em;
+    }
+    .title-bar .dropdown.menu li {
+      float: left;
+    }
+    .title-bar .dropdown.menu .is-dropdown-submenu {
+      border: none;
+      background-color: #0A0A0A;
+    }
+    #root {
+      margin-top: 2em;
+    }
+  </style>
+</head>
+<body>
+  <div data-sticky-container>
+    <div class="title-bar" data-sticky data-options="marginTop:0;">
+      <div class="title-bar-left">
+
+        <span class="title-bar-title">Sticky Navigation</span>
+      </div>
+      <div class="title-bar-right">
+        <ul class="dropdown menu align-right" data-dropdown-menu>
+          <li>
+            <a>Item 1</a>
+            <ul class="menu">
+              <li><a href="#">Item 1A</a></li>
+              <li>
+                <a href="#">Item 1B</a>
+                <ul class="menu">
+                  <li><a href="#">Item 1B i</a></li>
+                  <li><a href="#">Item 1B ii</a></li>
+                  <li>
+                    <a href="#">Item 1B iii</a>
+                    <ul class="menu">
+                      <li><a href="#">Item 1B iii alpha</a></li>
+                      <li><a href="#">Item 1B iii omega</a></li>
+                    </ul>
+                  </li>
+                  <li>
+                    <a href="#">Item 1B iv</a>
+                    <ul class="menu">
+                      <li><a href="#">Item 1B iv alpha</a></li>
+                    </ul>
+                  </li>
+                </ul>
+              </li>
+              <li><a href="#">Item 1C</a></li>
+            </ul>
+          </li>
+          <li>
+            <a href="#">Item 2</a>
+            <ul class="menu">
+              <li><a href="#">Item 2A</a></li>
+              <li><a href="#">Item 2B</a></li>
+            </ul>
+          </li>
+          <li><a href="#">Item 3</a></li>
+          <li><a href="#">Item 4</a></li>
+        </ul>
+
+
+      </div>
+    </div>
+  </div>
+
+
+  <div class='column row' id='root'>
+    <h3 class='text-center'>Creating a sticky Nav Menu with Title Bar, DropdownMenu, and Sticky!</h3>
+    <div class='callout primary'>
+      <p class='lead'>It's important to note that sticky requires a bit of developer input to work properly. To create a sticky nav bar like this one, set the nav container width to 100%. It's also important to set the minimum top-anchor point to 1px, otherwise it'll never stick!</p>
+      <p>Here we're also having a bit of fun with transitions using event triggers from the sticky plugin. When the nav bar becomes sticky, it emits <code>sticky.zf.stuckto:top</code>, which we're listening to. Then we're adding a class to reduce the height and top padding of our nav bar.</p>
+    </div>
+    <p>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Something other than generic lorem here. Make sure to find the You're Special book in your old home before setting out to start your epic Fallout journey...
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Rem, temporibus a reprehenderit, adipisci expedita nam odio neque alias eligendi, consectetur sapiente dicta tenetur perspiciatis. Aspernatur modi provident obcaecati impedit dignissimos.
+
+    </p>
+  </div>
+  <script src="../js/vendor.js"></script>
+  <script src="../js/foundation.js"></script>
+  <script>$(document).foundation();
+  $('.title-bar').on('sticky.zf.stuckto:top', function(){
+  $(this).addClass('shrink');
+}).on('sticky.zf.unstuckfrom:top', function(){
+  $(this).removeClass('shrink');
+})</script>
+</body>
diff --git a/libraries/foundation-6/docs/assets/scss/docs.scss b/libraries/foundation-6/docs/assets/scss/docs.scss
new file mode 100755
index 00000000..228a3c97
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/scss/docs.scss
@@ -0,0 +1,27 @@
+// The CSS for the Foundation docs is stored in an external codebase:
+// https://github.com/zurb/foundation-docs
+//
+// You can test Sass changes locally by running these commands:
+//   git clone https://github.com/zurb/foundation-docs
+//   npm link ./foundation-docs
+//
+// Feel free to submit pull requests to foundation-docs like you would Foundation itself!
+
+@import 'settings/settings';
+@import 'foundation';
+@import 'motion-ui';
+
+@include foundation-everything;
+@include foundation-flex-classes;
+@include foundation-range-input;
+@include foundation-progress-element;
+@include foundation-meter-element;
+@include motion-ui-transitions;
+
+@import 'foundation-docs';
+@import 'examples/grid';
+@import 'examples/motion-ui';
+@import 'examples/off-canvas';
+@import 'examples/orbit';
+@import 'examples/reveal';
+@import 'examples/top-bar';
diff --git a/libraries/foundation-6/docs/assets/scss/examples/_grid.scss b/libraries/foundation-6/docs/assets/scss/examples/_grid.scss
new file mode 100755
index 00000000..d11829d1
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/scss/examples/_grid.scss
@@ -0,0 +1,77 @@
+// Grid
+.row.display {
+  background: #eee;
+  font-size: 11px;
+  margin-bottom: 10px;
+  line-height: 2rem;
+  border: solid 1px #c6c6c6;
+  margin-left: 0 !important;
+  margin-right: 0 !important;
+
+  .columns {
+    &:nth-child(2),
+    &.small-centered,
+    &.large-centered {
+      background: darken(#eee, 5%);
+    }
+
+    &.color-end {
+      background: darken(#eee, 10%)
+    }
+  }
+}
+
+.row.display-end {
+  background: #fff;
+  font-size: 11px;
+  margin-bottom: 10px;
+  line-height: 2rem;
+  border: solid 1px #c6c6c6;
+  margin-left: 0 !important;
+  margin-right: 0 !important;
+
+  .columns {
+    background: darken(#eee, 5%);
+    border-left: 1px solid #c6c6c6;
+
+    &.color-end {
+      background: darken(#eee, 10%)
+    }
+  }
+}
+
+// Flex Grid
+[id^="docs-flex"].docs-component .docs-code-live {
+  @include foundation-flex-grid;
+
+  .row {
+    background: #f9f9f9;
+    font-size: 11px;
+    margin-bottom: 10px;
+    line-height: 2rem;
+    border: solid 1px #c6c6c6;
+    margin-left: 0;
+    margin-right: 0;
+    margin-bottom: 1.5rem;
+
+    // Disable clearfix
+    &::before,
+    &::after {
+      display: none;
+    }
+  }
+
+  .column,
+  .columns {
+    float: none;
+    width: auto;
+    margin-right: -1px; // Not sure why this has to be here
+
+    &:nth-child(odd) {
+      background: #eee;
+    }
+    &:nth-child(even) {
+      background: #ddd;
+    }
+  }
+}
diff --git a/libraries/foundation-6/docs/assets/scss/examples/_motion-ui.scss b/libraries/foundation-6/docs/assets/scss/examples/_motion-ui.scss
new file mode 100755
index 00000000..15cc87f7
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/scss/examples/_motion-ui.scss
@@ -0,0 +1,25 @@
+.docs-transitions {
+  max-width: 400px;
+}
+
+.docs-transition-demo {
+  @include thumbnail;
+  display: block;
+  max-width: 400px;
+  margin: 0 auto;
+  backface-visibility: hidden;
+}
+
+@include mui-series {
+  #series-example-1 {
+    @include mui-queue(0.5s, 0s, fade, slide(in, up));
+  }
+
+  #series-example-2 {
+    @include mui-queue(0.5s, 0.5s, fade, spin);
+  }
+
+  #series-example-3 {
+    @include mui-queue(0.5s, 0s, fade, hinge(in, bottom));
+  }
+}
diff --git a/libraries/foundation-6/docs/assets/scss/examples/_off-canvas.scss b/libraries/foundation-6/docs/assets/scss/examples/_off-canvas.scss
new file mode 100755
index 00000000..0be535bb
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/scss/examples/_off-canvas.scss
@@ -0,0 +1,7 @@
+body > .off-canvas {
+  padding-top: 2rem;
+}
+
+.docs-example-burger {
+  @include hamburger;
+}
diff --git a/libraries/foundation-6/docs/assets/scss/examples/_orbit.scss b/libraries/foundation-6/docs/assets/scss/examples/_orbit.scss
new file mode 100755
index 00000000..c5be0586
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/scss/examples/_orbit.scss
@@ -0,0 +1,22 @@
+// Examples for the Orbit documentation.
+
+.docs-example-orbit-slide {
+  padding: 2rem 4rem;
+  color: $white;
+
+  .orbit-slide:nth-of-type(1) & {
+    background: dodgerblue;
+  }
+
+  .orbit-slide:nth-of-type(2) & {
+    background: rebeccapurple;
+  }
+
+  .orbit-slide:nth-of-type(3) & {
+    background: darkgoldenrod;
+  }
+
+  .orbit-slide:nth-of-type(4) & {
+    background: lightseagreen;
+  }
+}
diff --git a/libraries/foundation-6/docs/assets/scss/examples/_reveal.scss b/libraries/foundation-6/docs/assets/scss/examples/_reveal.scss
new file mode 100755
index 00000000..591407af
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/scss/examples/_reveal.scss
@@ -0,0 +1,7 @@
+.docs-example-modal {
+  display: block;
+  position: static;
+  width: 100%;
+  max-width: none;
+  margin-bottom: 1rem;
+}
diff --git a/libraries/foundation-6/docs/assets/scss/examples/_top-bar.scss b/libraries/foundation-6/docs/assets/scss/examples/_top-bar.scss
new file mode 100755
index 00000000..8c820684
--- /dev/null
+++ b/libraries/foundation-6/docs/assets/scss/examples/_top-bar.scss
@@ -0,0 +1,5 @@
+.docs-code-live .top-bar-title strong {
+  margin-top: 7px;
+  display: inline-block;
+  margin-left: 8px;
+}
diff --git a/libraries/foundation-6/docs/layout/default.html b/libraries/foundation-6/docs/layout/default.html
new file mode 100755
index 00000000..08578c16
--- /dev/null
+++ b/libraries/foundation-6/docs/layout/default.html
@@ -0,0 +1,67 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <meta name="description" content="{{description}}">
+  <link rel="icon" href="assets/img/icons/favicon.ico" type="image/x-icon">
+  <title>Foundation for Sites 6 Docs{{#unlesspage 'index'}} | {{title}}{{/unlesspage}}</title>
+  <link href="assets/css/docs.css" rel="stylesheet" />
+  <link href="//cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.css" rel="stylesheet">
+  <!-- <link rel="stylesheet" href="./node_modules/motion-ui/dist/motion-ui.css" /> -->
+</head>
+<body>
+
+  <div class="off-canvas-wrapper"><div class="off-canvas-wrapper-inner" data-off-canvas-wrapper>
+
+    {{> off-canvi}}
+
+    <div class="off-canvas-content" data-off-canvas-content>
+      <!-- Info Banner For Announcements or Links -->
+      <!-- <a href="http://zurb.com/article/1416/foundation-6-is-here" id="notice">
+        <div class="info">
+          <h5>Foundation 6 is here!</h5>
+        </div>
+      </a> -->
+
+      {{> navigation}}
+      {{> mobile-navigation}}
+
+      <input type="text" class="docs-search" data-docs-search placeholder="Find a page, component, variable, mixin, function...">
+
+      <div class="expanded row">
+        <div class="medium-9 large-10 medium-push-3 large-push-2 columns">
+{{> body}}
+        </div>
+        <div class="medium-3 large-2 medium-pull-9 large-pull-10 columns">
+          {{> component-list}}
+        </div>
+      </div>
+
+      {{> footer}}
+    </div>
+  </div>
+
+  <script>
+  var _gaq = _gaq || [];
+  _gaq.push(
+    ['_setAccount', 'UA-2195009-2'],
+    ['_trackPageview'],
+    ['b._setAccount', 'UA-2195009-27'],
+    ['b._trackPageview']
+  );
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+  })();
+  </script>
+
+  <script src="assets/js/vendor.js"></script>
+  <script src="assets/js/foundation.js"></script>
+  <script src="assets/js/docs.js"></script>
+  <script type="text/javascript" src="https://intercom.zurb.com/scripts/zcom.js"></script>
+</body>
+</html>
diff --git a/libraries/foundation-6/docs/pages/abide.md b/libraries/foundation-6/docs/pages/abide.md
new file mode 100755
index 00000000..e2e75b9b
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/abide.md
@@ -0,0 +1,221 @@
+---
+title: Abide
+description: Abide is an form validation library that extends the HTML5 validation API with custom validators.
+sass: scss/forms/_error.scss
+js: js/foundation.abide.js
+tags:
+  - forms
+  - validation
+---
+
+### Abide Demo
+
+These input types create a text field: `text`, `date`, `datetime`, `datetime-local`, `email`, `month`, `number`, `password`, `search`, `tel`, `time`, `url`, and `week`.
+
+```html_example
+<form data-abide novalidate>
+  <div data-abide-error class="alert callout" style="display: none;">
+    <p><i class="fi-alert"></i> There are some errors in your form.</p>
+  </div>
+  <div class="row">
+    <div class="small-12 columns">
+      <label>Number Required
+        <input type="text" placeholder="1234" aria-describedby="exampleHelpText" required pattern="number">
+        <span class="form-error">
+          Yo, you had better fill this out, it's required.
+        </span>
+      </label>
+      <p class="help-text" id="exampleHelpText">Here's how you use this input field!</p>
+    </div>
+    <div class="small-12 columns">
+      <label>Nothing Required!
+        <input type="text" placeholder="Use me, or don't" aria-describedby="exampleHelpTex" data-abide-ignore>
+      </label>
+      <p class="help-text" id="exampleHelpTex">This input is ignored by Abide using `data-abide-ignore`</p>
+    </div>
+    <div class="small-12 columns">
+      <label>Password Required
+        <input type="password" id="password" placeholder="yeti4preZ" aria-describedby="exampleHelpText" required >
+        <span class="form-error">
+          I'm required!
+        </span>
+      </label>
+      <p class="help-text" id="exampleHelpText">Enter a password please.</p>
+    </div>
+    <div class="small-12 columns">
+      <label>Re-enter Password
+        <input type="password" placeholder="yeti4preZ" aria-describedby="exampleHelpText2" required pattern="alpha_numeric" data-equalto="password">
+        <span class="form-error">
+          Hey, passwords are supposed to match!
+        </span>
+      </label>
+      <p class="help-text" id="exampleHelpText2">This field is using the `data-equalto="password"` attribute, causing it to match the password field above.</p>
+    </div>
+  </div>
+  <div class="row">
+    <div class="medium-6 columns">
+      <label>URL Pattern, not required, but throws error if it doesn't match the Regular Expression for a valid URL.
+        <input type="text" placeholder="http://foundation.zurb.com" pattern="url">
+      </label>
+    </div>
+    <div class="medium-6 columns">
+      <label>European Cars, Choose One, it can't be the blank option.
+        <select id="select" required>
+          <option value=""></option>
+          <option value="volvo">Volvo</option>
+          <option value="saab">Saab</option>
+          <option value="mercedes">Mercedes</option>
+          <option value="audi">Audi</option>
+        </select>
+      </label>
+    </div>
+  </div>
+  <div class="row">
+    <fieldset class="large-6 columns">
+      <legend>Choose Your Favorite, and this is required, so you have to pick one.</legend>
+      <input type="radio" name="pokemon" value="Red" id="pokemonRed"><label for="pokemonRed">Red</label>
+      <input type="radio" name="pokemon" value="Blue" id="pokemonBlue" required><label for="pokemonBlue">Blue</label>
+      <input type="radio" name="pokemon" value="Yellow" id="pokemonYellow"><label for="pokemonYellow">Yellow</label>
+    </fieldset>
+    <fieldset class="large-6 columns">
+      <legend>Choose Your Favorite - not required, you can leave this one blank.</legend>
+      <input type="radio" name="pockets" value="Red" id="pocketsRed"><label for="pocketsRed">Red</label>
+      <input type="radio" name="pockets" value="Blue" id="pocketsBlue"><label for="pocketsBlue">Blue</label>
+      <input type="radio" name="pockets" value="Yellow" id="pocketsYellow"><label for="pocketsYellow">Yellow</label>
+    </fieldset>
+    <fieldset class="large-6 columns">
+      <legend>Check these out</legend>
+      <input id="checkbox1" type="checkbox"><label for="checkbox1">Checkbox 1</label>
+      <input id="checkbox2" type="checkbox" required><label for="checkbox2">Checkbox 2</label>
+      <input id="checkbox3" type="checkbox"><label for="checkbox3">Checkbox 3</label>
+    </fieldset>
+  </div>
+  <div class="row">
+    <fieldset class="large-6 columns">
+      <button class="button" type="submit" value="Submit">Submit</button>
+    </fieldset>
+    <fieldset class="large-6 columns">
+      <button class="button" type="reset" value="Reset">Reset</button>
+    </fieldset>
+  </div>
+</form>
+```
+---
+
+<p>&nbsp;</p>
+
+<div class="alert callout">
+  <p><i class="fi-alert"></i> There are some errors in your form.</p>
+</div>
+
+<label class="is-invalid-label">
+  Required Thing
+  <input type="text" class="is-invalid-input">
+  <span class="form-error is-visible">
+    Yo, you had better fill this out.
+  </span>
+</label>
+
+<label class="is-invalid-label">
+  Required Thing
+  <textarea type="text" class="is-invalid-input"></textarea>
+</label>
+
+## Initial State
+
+```html
+<form data-abide>
+  <!-- Add "display: none" right away -->
+  <div data-abide-error class="alert callout" style="display: none;">
+    <p><i class="fi-alert"></i> There are some errors in your form.</p>
+  </div>
+  <label>
+    Name
+    <input type="text" required>
+    <span class="form-error">This field is required.</span>
+  </label>
+</form>
+```
+
+## Error State
+
+```html
+<form data-abide>
+  <!-- Add role="alert" -->
+  <!-- Add "display: block" -->
+  <div data-abide-error role="alert" class="alert callout" style="display: block;">
+    <p><i class="fi-alert"></i> There are some errors in your form.</p>
+  </div>
+  <!-- Add "is-invalid-label" -->
+  <label class="is-invalid-label">
+    Name
+    <!-- Add "is-invalid-input" -->
+    <input type="text" class="is-invalid-input" required aria-invalid aria-describedby="uuid">
+    <!-- Add "is-visible" -->
+    <span class="form-error is-visible" id="uuid">This field is required.</span>
+  </label>
+</form>
+```
+## Event Listener
+Setup event listener after foundation is initialized (especially for formvalid/forminvalid). Easier to chain via document selector.
+* valid.zf.abide and invalid.zf.abide are field level events, triggered in validateInput function 
+  *   ev.target is the DOM field element, 
+  *   elem is jQuery selector for field element
+* formvalid.zf.abide and forminvalid.zf.abide are form events, triggered in validateForm function
+  *   ev.target is the DOM form element, 
+  *   frm is jQuery selector for form element
+
+```javascript
+$(document)
+  // field element is invalid
+  .on("invalid.zf.abide", function(ev,elem) {
+    console.log("Field id "+ev.target.id+" is invalid");
+  })
+  // field element is valid
+  .on("valid.zf.abide", function(ev,elem) {
+    console.log("Field name "+elem.attr('name')+" is valid");
+  })
+  // form validation failed
+  .on("forminvalid.zf.abide", function(ev,frm) {
+    console.log("Form id "+ev.target.id+" is invalid");
+  })
+  // form validation passed, form will submit if submit event not returned false
+  .on("formvalid.zf.abide", function(ev,frm) {
+    console.log("Form id "+frm.attr('id')+" is valid");
+    // ajax post form 
+  })
+  // to prevent form from submitting upon successful validation
+  .on("submit", function(ev) {
+    ev.preventDefault();
+    console.log("Submit for form id "+ev.target.id+" intercepted");
+  });
+// You can bind field or form event selectively
+$("#foo").on("invalid.zf.abide", function(ev,el) {
+  alert("Input field foo is invalid");
+});
+$("#bar").on("formvalid.zf.abide", function(ev,frm) {
+  alert("Form is valid, finally!");
+  // do something perhaps
+});
+  ```
+## Adding Custom Pattern and Validator
+* Override builtin patterns and validators before foundation is initialized
+* Add new patterns and validators before or after foundation is initialized
+
+```javascript
+$(document).foundation();
+Foundation.Abide.defaults.patterns['dashes_only'] = /^[0-9-]*$/;
+Foundation.Abide.defaults.validators['greater_than'] =
+function($el,required,parent) {
+  // parameter 1 is jQuery selector
+  if (!required) return true;
+  var from = $('#'+$el.attr('data-greater-than')).val(),
+      to = $el.val();
+  return (parseInt(to) > parseInt(from));
+};
+```
+```html
+<input id="phone" type="text" pattern="dashes_only" required >
+<input id="min" type="number" required >
+<input id="max" type="number" data-validator="greater_than" data-greater-than="min" required>
+```
diff --git a/libraries/foundation-6/docs/pages/accessibility.md b/libraries/foundation-6/docs/pages/accessibility.md
new file mode 100755
index 00000000..33a6528a
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/accessibility.md
@@ -0,0 +1,77 @@
+---
+title: Accessibility
+description: Foundation for Sites is a fully-accessible framework. Here are some general guidelines to keep in mind as you make your pages accessible.
+---
+
+In addition to the accessibility features built into Foundation's components, be sure to follow best practices for making your site more accessible.
+
+<div class="primary callout">
+  <p>Care about accessibility or want to contribute? Submit a Pull Request or get into the [conversation on GitHub](https://github.com/zurb/foundation-sites/labels/accessibility).</p>
+</div>
+
+## Basic Principles
+
+- **Structure your document properly.** Use the right HTML tags for the job when marking up navigation, lists, links, controls, and so on.
+- **Label everything.** If a control or form element has no text label, add one. You can use the [visibility classes](visibility.html#accessibility) to hide labels visually while maintaining accessibility. Use the `alt` attribute on all images to describe what they are.
+- **Don't rely on purely visual cues.** The content of a page should make sense even if page is being read to the user, or if the user is colorblind and can't make use of color-based labeling.
+- **Make everything usable on a keyboard and mouse.** Lucky for you, all of our components work with keyboards, mice, and touch screens out of the box.
+
+---
+
+## Types of Disabilities
+
+### Visual
+
+Visually-impaired users may have low vision or be completely blind. For low vision users, proper typographic contrast is important, both size and color. Foreground colors should stand out from background colors. You can use tools to calculate the contrast ratio of your foreground and background colors. The contrast ratio should at least be 1:4.5 for normal text and 3:1 for large text.
+Blind users consume the web by reading it using a [screen reader](http://en.wikipedia.org/wiki/Screen_reader). Screen readers read the content of a web page out loud, or write it out as Braille, using certain queues from the HTML to infer meaning.
+
+### Motor
+
+Users with motor disabilities may have trouble using a mouse, or don't use a mouse at all. For this reason, it's very important that your site is fully keyboard-accessible. Visually-impaired users also typically navigate websites using only their keyboard.
+
+When using only the keyboard, the <kbd>tab</kbd> key is the primary way to navigate through a page. However, most screen readers include many shortcut keys to skip around a page. For example, a screen reader can read every heading on a page, or every link, making it easier to find the right content on the page.
+
+More complex components like menus, tabs, or sliders can also typically be used with arrow keys, not just the <kbd>tab</kbd> keys. All of our JavaScript plugins provide advanced keyboard support by default.
+
+### Auditory
+
+If your site has video, provide captions so that users who are deaf or hard-of-hearing can properly view the content.
+
+---
+
+## Foundation and Accessibility
+
+All of Foundation's components are keyboard-accessible and screen reader-friendly. All of our code examples include the required accessibility hooks, but there may be instances where you, as the developer, need to fine-tune the specifics of how those hooks are used. Our JavaScript plugins will automatically add many required attributes to the HTML for you. Refer to each component's documentation to learn how to ensure your markup is screen reader-friendly.
+
+Foundation's CSS makes use of the library [what-input](https://github.com/ten1seven/what-input), which can detect the user's current input device and adjust CSS accordingly. We use it to disable outlines for mouse users, but not keyboard users, who need the outline to know what element on the page has focus.
+
+If you're using the Sass version of Foundation, you can use this mixin to enable the feature on your own components:
+
+```scss
+.element {
+  @include disable-mouse-outline;
+  // ...
+}
+```
+
+---
+
+## Learn More
+
+### Resources
+
+- [WCAG 2.0 Guide](http://www.w3.org/TR/UNDERSTANDING-WCAG20/)
+- [MDN accessibility documentation](https://developer.mozilla.org/en-US/docs/Web/Accessibility)
+- [w3.org Introduction to Accessibility](http://www.w3.org/WAI/intro/accessibility.php)
+- [Section 508 government requirements](http://www.section508.gov/)
+- [WebAIM certification and training](http://webaim.org/)
+- [Web Accessibility Checklist](http://a11yproject.com/checklist.html)
+
+### Tools
+
+- [Tenon accessibility checker](https://tenon.io/index.php)
+- [WAVE Chrome plugin - free accessibility checker](http://wave.webaim.org)
+- [Color Contrast Checker](http://webaim.org/resources/contrastchecker)
+- [ChromeVox screen reader plugin for Chrome](http://www.chromevox.com)
+- [JAWS screen reader for Windows](http://www.freedomscientific.com/Products/Blindness/Jaws)
+- [NVDA screen reader for Windows - Free](http://www.nvaccess.org/download/)
diff --git a/libraries/foundation-6/docs/pages/accordion-menu.md b/libraries/foundation-6/docs/pages/accordion-menu.md
new file mode 100755
index 00000000..f271fe06
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/accordion-menu.md
@@ -0,0 +1,59 @@
+---
+title: Accordion Menu
+sass: scss/components/_accordion-menu.scss
+js: js/foundation.accordionMenu.js
+description: Change a basic vertical Menu into a expandable accordion menu with the Accordion Menu plugin.
+---
+
+## Basics
+
+Accordion menus follow the basic [Menu](menu.html) syntax of `<ul>`, `<li>`, and `<a>`. To convert a basic menu into an accordion, add the attribute `data-accordion-menu`. You probably also want it to be vertical, so add the class `.vertical` as well.
+
+Any `<a>` will behave like a standard link. However, any `<a>` paired with a nested `<ul>` menu will then slide that sub-menu up and down when clicked on.
+
+<div class="primary callout">
+  <p>You can use the built-in <code>.nested</code> class to add an indent to a nested menu.</p>
+</div>
+
+<div class="primary callout">
+  <p>To have a sub-menu already open when the page loads, add the class <code>.is-active</code> to that sub-menu.</p>
+</div>
+
+```html
+<ul class="vertical menu" data-accordion-menu>
+  <li>
+    <a href="#">Item 1</a>
+    <ul class="menu vertical nested">
+      <li><a href="#">Item 1A</a></li>
+      <li><a href="#">Item 1B</a></li>
+    </ul>
+  </li>
+  <li><a href="#">Item 2</a></li>
+</ul>
+```
+
+<ul class="vertical menu" data-accordion-menu>
+  <li>
+    <a href="#">Item 1</a>
+    <ul class="menu vertical nested">
+      <li>
+        <a href="#">Item 1A</a>
+        <ul class="menu vertical nested">
+          <li><a href="#">Item 1Ai</a></li>
+          <li><a href="#">Item 1Aii</a></li>
+          <li><a href="#">Item 1Aiii</a></li>
+        </ul>
+      </li>
+      <li><a href="#">Item 1B</a></li>
+      <li><a href="#">Item 1C</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="#">Item 2</a>
+    <ul class="menu vertical nested">
+      <li><a href="#">Item 2A</a></li>
+      <li><a href="#">Item 2B</a></li>
+    </ul>
+  </li>
+  <li><a href="#">Item 3</a></li>
+</ul>
diff --git a/libraries/foundation-6/docs/pages/accordion.md b/libraries/foundation-6/docs/pages/accordion.md
new file mode 100755
index 00000000..27a2078f
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/accordion.md
@@ -0,0 +1,124 @@
+---
+title: Accordion
+description: Accordions are elements that help you organize and navigate multiple documents in a single container. They can be used for switching between items in the container.
+sass: scss/components/_accordion.scss
+js: js/foundation.accordion.js
+---
+
+## Basics
+
+The container for an accordion needs the class `.accordion`, and the attribute `data-accordion`. Note that in these examples, we use a `<ul>`, but you can use any element you want.
+
+```html
+<ul class="accordion" data-accordion></ul>
+```
+
+Inside the accordion, place a series of panes with the class `.accordion-item` and the attribute `data-accordion-item`. To mark which pane should be open by default, add the class `.is-active` to that pane.
+
+Each pane has a **title**, an `<a>` with the class `.accordion-title`, and a **content area**, an element with the class `.accordion-content` and the attribute `data-tab-content`.
+
+```html
+<ul class="accordion" data-accordion>
+  <li class="accordion-item is-active" data-accordion-item>
+    <a href="#" class="accordion-title">Accordion 1</a>
+    <div class="accordion-content" data-tab-content>
+      I would start in the open state, due to using the `is-active` state class.
+    </div>
+  </li>
+  <!-- ... -->
+</ul>
+```
+
+Once you put it all together, here's what you get!
+
+<ul class="accordion" data-accordion>
+  <li class="accordion-item is-active" data-accordion-item>
+    <a href="#" class="accordion-title">Accordion 1</a>
+    <div class="accordion-content" data-tab-content >
+      <p>Panel 1. Lorem ipsum dolor</p>
+      <a href="#">Nowhere to Go</a>
+    </div>
+  </li>
+  <li class="accordion-item" data-accordion-item>
+    <a href="#" class="accordion-title">Accordion 2</a>
+    <div class="accordion-content" data-tab-content>
+      <textarea></textarea>
+      <button class="button">I do nothing!</button>
+    </div>
+  </li>
+  <li class="accordion-item" data-accordion-item>
+    <a href="#" class="accordion-title">Accordion 3</a>
+    <div class="accordion-content" data-tab-content>
+      Pick a date!
+      <input type="date"></input>
+    </div>
+  </li>
+</ul>
+
+---
+
+## Advanced Options
+
+### Multi-expand
+
+By default, only one pane of an accordion can be open at a time. This can be changed by setting the `multiExpand` option to `true`.
+
+```html
+<ul class="accordion" data-accordion data-multi-expand="true">
+  <!-- ... -->
+</ul>
+```
+
+<ul class="accordion" data-accordion data-multi-expand='true'>
+  <li class="accordion-item is-active" data-accordion-item>
+    <a href="#" class="accordion-title">Accordion 1</a>
+    <div class="accordion-content" data-tab-content >
+      Panel 1. Lorem ipsum dolor
+    </div>
+  </li>
+  <li class="accordion-item" data-accordion-item>
+    <a href="#" class="accordion-title">Accordion 2</a>
+    <div class="accordion-content" data-tab-content>
+      Panel 2. Lorem ipsum dolor
+    </div>
+  </li>
+  <li class="accordion-item" data-accordion-item>
+    <a href="#" class="accordion-title">Accordion 3</a>
+    <div class="accordion-content" data-tab-content>
+      Panel 3. Lorem ipsum dolor
+    </div>
+  </li>
+</ul>
+
+---
+
+### All Closed
+
+By default, at least one pane in an accordion must be open. This can be changed by setting `allowAllClosed` option to `true`.
+
+```html
+<ul class="accordion" data-accordion data-allow-all-closed="true">
+  <!-- ... -->
+</ul>
+```
+
+<ul class="accordion" data-accordion data-allow-all-closed='true'>
+  <li class="accordion-item is-active" data-accordion-item>
+    <a href="#" class="accordion-title">Accordion 1</a>
+    <div class="accordion-content" data-tab-content >
+      Panel 1. Lorem ipsum dolor
+    </div>
+  </li>
+  <li class="accordion-item" data-accordion-item>
+    <a href="#" class="accordion-title">Accordion 2</a>
+    <div class="accordion-content" data-tab-content>
+      Panel 2. Lorem ipsum dolor
+    </div>
+  </li>
+  <li class="accordion-item" data-accordion-item>
+    <a href="#" class="accordion-title">Accordion 3</a>
+    <div class="accordion-content" data-tab-content>
+      Panel 3. Lorem ipsum dolor
+    </div>
+  </li>
+</ul>
diff --git a/libraries/foundation-6/docs/pages/badge.md b/libraries/foundation-6/docs/pages/badge.md
new file mode 100755
index 00000000..d5e2b8f4
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/badge.md
@@ -0,0 +1,53 @@
+---
+title: Badge
+description: The badge is a basic component that displays a number. It's useful for calling out a number of unread items.
+sass: scss/components/_badge.scss
+---
+
+## Basics
+
+Add the `.badge` class to an element to create a badge. In the below example, we're using `<span>`, but any tag will work fine.
+
+```html_example
+<span class="badge">1</span>
+```
+
+<br>
+
+A badge will typically be describing another element on the page. To bind the two elements together, give the badge a unique ID, and reference that ID in an `aria-describedby` attribute on the main element.
+
+```html
+<h1 aria-describedby="messageCount">Unread Messages</h1>
+<span class="badge" id="messageCount">1<span>
+```
+
+Finally, the content itself might need more context for users that use screen readers. You can add extra text inside the badge using the `.show-for-sr` class.
+
+```html
+<span class="badge" id="messageCount">1 <span class="show-for-sr">unread message</span></span>
+```
+
+---
+
+## Coloring
+
+Badges can be colored with the same classes used for buttons and other components.
+
+```html_example
+<span class="secondary badge">2</span>
+<span class="success badge">3</span>
+<span class="alert badge">A</span>
+<span class="warning badge">B</span>
+```
+
+---
+
+### With Icons
+
+An icon can be used in place of text. We're using the [Foundation icon font](http://zurb.com/playground/foundation-icon-fonts-3) here, but any icon fonts or image-based icons will work fine.
+
+```html_example
+<span class="info badge"><i class="fi-share"></i></span>
+<span class="success badge"><i class="fi-check"></i></span>
+<span class="warning badge"><i class="fi-wrench"></i></span>
+```
\ No newline at end of file
diff --git a/libraries/foundation-6/docs/pages/base-typography.md b/libraries/foundation-6/docs/pages/base-typography.md
new file mode 100755
index 00000000..40a6b6db
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/base-typography.md
@@ -0,0 +1,262 @@
+---
+title: Base Typography
+description: Typography in Foundation 6 is meant to make your life easier by providing clean, attractive, simple default styles for all of the most basic typographical elements.
+sass:
+  - scss/typography/_base.scss
+  - scss/typography/_print.scss
+tags:
+  - paragraph
+  - heading
+  - link
+  - definition
+  - blockquote
+  - abbreviation
+  - acronym
+  - code
+  - keystroke
+---
+
+## Paragraphs
+
+This is a paragraph. Paragraphs are preset with a font size, line height and spacing to match the overall vertical rhythm. To show what a paragraph looks like this needs a little more content&mdash;so, did you know that there are storms occurring on Jupiter that are larger than the Earth? Pretty cool. Use the `<strong>` and `<em>` tags to denote text that should be displayed or read with emphasis. Browsers will bold and italicize them, while screen readers will read the words with *emphasis*.
+
+<div class="callout primary">
+  <p>If the emphasis of a phrase is important, don't make the emphasis purely visual&mdash;use the `<em>` or `<strong>` tags to mark it as well. Both of these tags have built-in styles, but there's no harm in adding additional styles in specific contexts.</p>
+</div>
+
+```html
+<p>This is a paragraph. Paragraphs are preset with a font size, line height and spacing to match the overall vertical rhythm. To show what a paragraph looks like this needs a little more content so, did you know that there are storms occurring on Jupiter that are larger than the Earth? Pretty cool. Wrap strong around type to <strong>make it bold!</strong>. You can also use em to <em>italicize your words</em>.</p>
+```
+
+---
+
+## Header
+
+Foundation includes styles for all headings&mdash;they're balanced and sized along a modular scale.
+
+<div class="callout primary">
+  <p>Avoid skipping heading levels when structuring your document, as it confuses screen readers. For example, after using an <code>&lt;h2&gt;</code> in your code, the next heading used should be either <code>&lt;h2&gt;</code> or <code>&lt;h3&gt;</code>. If you need a heading to look bigger or smaller to match a specific style, use CSS to override the default size.</p>
+</div>
+
+```html_example
+<h1>h1. This is a very large header.</h1>
+<h2>h2. This is a large header.</h2>
+<h3>h3. This is a medium header.</h3>
+<h4>h4. This is a moderate header.</h4>
+<h5>h5. This is a small header.</h5>
+<h6>h6. This is a tiny header.</h6>
+```
+
+---
+
+### Header Sizes
+
+The framework includes two typographic scales&mdash;one uses a narrow range of sizes for small-sized screens, and the other uses a wider range of sizes for medium- and large-sized screens. You can change these scales, or add new ones for other breakpoints, by editing the `$header-sizes` map in your project's <a href="sass.html#the-settings-file">Settings File</a>.
+
+Header  | Default | Medium and up
+--------|---------|--------------
+`<h1>`  | 24px    | 48px
+`<h2>`  | 20px    | 40px 
+`<h3>`  | 19px    | 31px
+`<h4>`  | 18px    | 25px
+`<h5>`  | 17px    | 20px
+`<h6>`  | 16px    | 16px
+
+---
+
+### Small Header Segments
+
+By inserting a `<small>` element into a header Foundation will scale the header font size down for an inline element, allowing you to use this for subtitles or other secondary header text.
+
+```html_example
+<h3>Foundation for Sites <small>Version 6</small></h3>
+```
+
+---
+
+## Links
+
+Links are very standard, and the color is preset to the Foundation primary color. <a href="global.html">Learn more about Foundation's global colors.</a>
+
+<div class="callout">
+  <p>To make links screen reader-friendly, avoid using vague words like "here" or "read more" within link text. The text of the link itself should adequately describe where the link goes.</p>
+</div>
+
+```html
+<p>Links are very standard, and the color is preset to the Foundation primary color. <a href="global.html">Learn more about Foundation's global colors.</a></p>
+```
+
+---
+
+## Dividers
+
+Use dividers to define thematic breaks between paragraphs. To denote the end of one section of a page and the start of another, it's better to use the `<section>` tag.
+
+```html
+<hr>
+```
+
+---
+
+## Unordered Lists
+
+Use an unordered list to... *list things*, if the order of the items doesn't matter.
+
+```html_example
+<ul>
+  <li>List item with a much longer description or more content.</li>
+  <li>List item</li>
+  <li>List item
+    <ul>
+      <li>Nested list item</li>
+      <li>Nested list item</li>
+      <li>Nested list item</li>
+    </ul>
+  </li>
+  <li>List item</li>
+  <li>List item</li>
+  <li>List item</li>
+</ul>
+```
+
+---
+
+## Ordered Lists
+
+Use an `<ol>` when creating a list where the order of the items is important, like ranking pizza toppings from best to worst.
+
+```html_example
+<ol>
+  <li>Cheese (essential)</li>
+  <li>Pepperoni</li>
+  <li>Bacon
+    <ol>
+      <li>Normal bacon</li>
+      <li>Canadian bacon</li>
+    </ol>
+  </li>
+  <li>Sausage</li>
+  <li>Onions</li>
+  <li>Mushrooms</li>
+</ol>
+```
+
+---
+
+## Definition Lists
+
+A definition list (`<dl>`) is used to display name-value pairs, like metadata or a dictionary definition. Each term (`<dt>`) is paired with one or more definitions (`<dd>`).
+
+```html_example
+<dl>
+  <dt>Time</dt>
+  <dd>The indefinite continued progress of existence and events in the past, present, and future regarded as a whole.</dd>
+  <dt>Space</dt>
+  <dd>A continuous area or expanse that is free, available, or unoccupied.</dd>
+  <dd>The dimensions of height, depth, and width within which all things exist and move.</dd>
+</dl>
+```
+
+---
+
+## Blockquotes
+
+Sometimes other people say smart things, and you may want to mention those things with a quote. We've got you covered.
+
+```html_example
+<blockquote>
+  Those people who think they know everything are a great annoyance to those of us who do.
+  <cite>Isaac Asimov</cite>
+</blockquote>
+```
+
+---
+
+## Abbreviations
+
+Use the `<abbr>` tag to annotate a shortened term. Abbreviations must always have a `title` attribute which clarifies the full term.
+
+```html_example
+<p>In my dream last night, I saw <abbr title="John Ronald Reuel">J. R. R.</abbr> Tolkien and George <abbr title="Raymond Richard">R. R.</abbr> Martin hanging out on Sunset <abbr title="Boulevard">Blvd</abbr>.</p>
+```
+
+---
+
+## Code
+
+Format references to code with the `<code>` tag.
+
+```html_example
+Remember to escape angle brackets when printing HTML: <code>&lt;div&gt;</code>
+```
+
+---
+
+## Keystrokes
+
+Use the `<kbd>` element to annotate a key stroke or combination.
+
+```html_example
+<p>Press <kbd>Cmd+Q</kbd> (or <kbd>Ctrl+Q</kbd> on Windows) to play Half-Life 3.</p>
+```
+
+---
+
+## Accessibility
+
+Text is core to the content of your page, so making it accessible to everyone is important. Here are some general guidelines to follow.
+
+### Text vs. Images
+
+Prefer using actual text over text inside a graphic. Assistive technologies can't read an image, and the text in an image can't be resized by a browser, like normal text. If an image has text that needs to be read, add it in the `alt` attribute of the image.
+
+```html
+<img src="assets/img/buy-now.jpg" alt="Buy now">
+```
+
+---
+
+### Contrast
+
+The contrast between the color of an element's text and its background should be high enough that low-vision users can read it. **The minimum recommended contrast ratio is 4.5:1.** There are no automated tools that can effectively check this for you, but if you aren't sure about a specific color combination, you can run it through one of many color contrast checkers, such as [WebAIM's color contrast checker](http://webaim.org/resources/contrastchecker/).
+
+Google Chrome's [Accessibility Developer Tools](https://chrome.google.com/webstore/detail/accessibility-developer-t/fpkknkljclfencbdbgkenhalefipecmb?hl=en) also includes a contrast checker. By selecting an element in the inspector, you can see if the contrast meets the minimum standards.
+
+<img class="thumbnail" src="assets/img/a11y/chrome-a11y-inspector.jpg" alt="Screenshot of Google Chrome's Accessibility Tools">
+
+---
+
+### Type Size
+
+When possible, use the `rem` and `em` units to size everything. Not just font size, but also padding, margins, and any length value. This ensures that your design scales up and down uniformly if the user changes their browser's text size. It's common for vision-impaired users to resize their browser up to 200% zoom.
+
+We use the `rem` unit nearly everywhere in Foundation, and even wrote a Sass function to make it a little easier. The `rem-calc()` function can take one or more pixel values and convert them to proper `rem` values.
+
+```scss
+.element {
+  width: rem-calc(300);
+  padding: rem-calc(10 16);
+}
+```
+
+---
+
+### More Resources
+
+- [WebAIM: Fonts](http://webaim.org/techniques/fonts/)
+- [WebAIM: Links and HyperText](http://webaim.org/techniques/hypertext/)
+- [WebAIM: Writing Clearly and Simply](http://webaim.org/techniques/semanticstructure/)
+- [WebAIM: Color Contrast Checker](http://webaim.org/resources/contrastchecker/)
+
+---
+
+## Print Styles
+
+Foundation includes print styles developed by HTML5 Boilerplate to give you some basic print-specific styles. These are activated when you print through a media query. It includes:
+
+- Clearing out backgrounds, box shadows and text shadows
+- Appending link URLs after the anchor text
+- Adding borders to `<blockquote>` and `<pre>` elements
+- Page cleanup and window minimization
+
+On top of that, Foundation includes a couple of simple classes you can use to control elements printing, or not printing. Simply attach `.show-for-print` to an element to only show when printing, and `.hide-for-print` to hide something when printing.
diff --git a/libraries/foundation-6/docs/pages/breadcrumbs.md b/libraries/foundation-6/docs/pages/breadcrumbs.md
new file mode 100755
index 00000000..7d822c3b
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/breadcrumbs.md
@@ -0,0 +1,28 @@
+---
+title: Breadcrumbs
+description: Breadcrumbs come in handy to show a navigation trail for users clicking through your site.
+sass: scss/components/_breadcrumbs.scss
+---
+
+To make a set of breadcrumb links, just add the class `.breadcrumbs` to a `<ul>`, and then add links instead of `<li>` elements.
+
+The current page doesn't require a link or a class, but you should add some explanatory text for AT that indicates which item is the current page.
+
+To mark a disabled item, add the class `.disabled` to the `<li>`, and just use plain text instead of a link.
+
+<div class="warning callout">
+  <p>We use a CSS <code>::after</code> element containing a slash character to create the separator between items. Some screen readers will read this character out loud&mdash;if this is an issue, you can use a background image or a separate element with <code>aria-hidden="true"</code> to create the separator instead.</p>
+</div>
+
+```html_example
+<nav aria-label="You are here:" role="navigation">
+  <ul class="breadcrumbs">
+    <li><a href="#">Home</a></li>
+    <li><a href="#">Features</a></li>
+    <li class="disabled">Gene Splicing</li>
+    <li>
+      <span class="show-for-sr">Current: </span> Cloning
+    </li>
+  </ul>
+</nav>
+```
diff --git a/libraries/foundation-6/docs/pages/button-group.md b/libraries/foundation-6/docs/pages/button-group.md
new file mode 100755
index 00000000..315f9a33
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/button-group.md
@@ -0,0 +1,107 @@
+---
+title: Button Group
+description: Button groups are containers for related action items. They're great when you need to display a group of actions in a bar. These build off the button styles and work perfectly with the grid.
+sass: scss/components/_button-group.scss
+tags:
+  - split button
+flexbox: true
+---
+
+## Basics
+
+Add the `.button-group` class to a container, and inside it place any number of buttons. The buttons are separated by a small border.
+
+```html_example
+<div class="button-group">
+  <a class="button">One</a>
+  <a class="button">Two</a>
+  <a class="button">Three</a>
+</div>
+```
+
+---
+
+## Sizing
+
+Button groups can be sized with the same classes as standard buttons: `.tiny`, `.small`, and `.large`.
+
+```html_example
+<div class="small button-group">
+  <a class="button">Small</a>
+  <a class="button">Button</a>
+  <a class="button">Group</a>
+</div>
+```
+
+---
+
+## Coloring
+
+Buttons within a button group can be colored individually with the `.secondary`, `.success`, `.warning`, and `.alert` classes.
+
+```html_example
+<div class="button-group">
+  <a class="secondary button">View</a>
+  <a class="success button">Edit</a>
+  <a class="warning button">Share</a>
+  <a class="alert button">Delete</a>
+</div>
+```
+
+The entire group can also be colored using the same classes.
+
+```html_example
+<div class="secondary button-group">
+  <a class="button">Harder</a>
+  <a class="button">Better</a>
+  <a class="button">Faster</a>
+  <a class="button">Stronger</a>
+</div>
+```
+
+---
+
+## Even-width Group
+
+Add the `.expanded` class to the container to make a full-width button group. Each item will automatically size itself based on how many buttons there are, up to a maximum of six.
+
+```html_example
+<div class="expanded button-group">
+  <a class="button">Expanded</a>
+  <a class="button">Button</a>
+  <a class="button">Group</a>
+</div>
+```
+
+---
+
+## Stacking
+
+A button group can be made vertical with the `.stacked` class. You can also use `.stacked-for-small` to only stack a button group on small screens, or `.stacked-for-medium` to only stack on small and medium screens.
+
+```html_example
+<div class="stacked-for-small button-group">
+  <a class="button">How</a>
+  <a class="button">Low</a>
+  <a class="button">Can</a>
+  <a class="button">You</a>
+  <a class="button">Go</a>
+</div>
+```
+
+---
+
+## Split Buttons
+
+To build a split button, just create a button group with two buttons.
+
+To create a button with only an arrow, add the class `.arrow-only`. Note that the button still needs a label for screen readers, which can be embedded inside the button with a `.show-for-sr` element. In the example below, an assistive device will read the arrow button as "Show menu".
+
+```html_example
+<div class="button-group">
+  <a class="button">Primary Action</a>
+  <a class="dropdown button arrow-only">
+    <span class="show-for-sr">Show menu</span>
+  </a>
+</div>
+```
diff --git a/libraries/foundation-6/docs/pages/button.md b/libraries/foundation-6/docs/pages/button.md
new file mode 100755
index 00000000..9a081d1f
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/button.md
@@ -0,0 +1,110 @@
+---
+title: Button
+description: Buttons are convenient tools when you need more traditional actions. To that end, Foundation has many easy to use button styles that you can customize or override to fit your needs.
+sass: scss/components/_button.scss
+tags:
+  - dropdown button
+---
+
+## Basics
+
+A basic button can be created with minimal markup. Because buttons can be used for many purposes, it's important to use the right tag.
+
+- Use the `<a>` tag if the button is a link to another page, or a link to an anchor within a page. Generally anchors don't require JavaScript to work.
+- Use the `<button>` tag if the button performs an action that changes something on the current page. `<button>` elements almost always require JavaScript to function.
+
+<div class="primary callout">
+  <p>Add the attribute <code>type="button"</code> to <code>&lt;button&gt;</code> elements, unless the button submits a form, in which case you use <code>type="submit"</code></p>
+</div>
+
+```html_example
+<!-- Anchors (links) -->
+<a href="about.html" class="button">Learn More</a>
+<a href="#features" class="button">View All Features</a>
+
+<!-- Buttons (actions) -->
+<button type="button" class="success button">Save</button>
+<button type="button" class="alert button">Delete</button>
+```
+
+---
+
+## Sizing
+
+Additional classes can be added to your button to change its size and shape.
+
+```html_example
+<a class="tiny button" href="#">So Tiny</a>
+<a class="small button" href="#">So Small</a>
+<a class="button" href="#">So Basic</a>
+<a class="large button" href="#">So Large</a>
+<a class="expanded button" href="#">Such Expand</a>
+<a class="small expanded button" href="#">Wow, Small Expand</a>
+```
+
+---
+
+## Coloring
+
+Give a button additional meaning by adding a coloring class, or `.disabled` to create a faded appearance.
+
+<div class="primary callout">
+  <p>The <code>.disabled</code> class is a purely visual style, and won't actually disable a control. For <code>&lt;button&gt;</code> elements, you can add the <code>disabled</code> attribute to disable it. If you want to disable a link, you should add the `aria-disabled` attribute to mark it as disabled for assistive technology.</p>
+</div>
+
+```html_example
+<a class="secondary button" href="#">Secondary Color</a>
+<a class="success button" href="#">Success Color</a>
+<a class="alert button" href="#">Alert Color</a>
+<a class="warning button" href="#">Warning Color</a>
+<a class="disabled button" href="#">Disabled Button</a>
+```
+
+---
+
+## Hollow Style
+
+Add the `.hollow` class to a button to give it a hollow style. Change the `$button-fill` variable in your settings file to `hollow` to make this the default style. Changing this setting will remove the `.hollow` class from your CSS.
+
+```html_example
+<button class="hollow button" href="#">Primary Color</button>
+<button class="secondary hollow button" href="#">Secondary Color</button>
+<button class="success hollow button" href="#">Success Color</button>
+<button class="alert hollow button" href="#">Alert Color</button>
+<button class="warning hollow button" href="#">Warning Color</button>
+```
+
+---
+
+## Dropdown Arrows
+
+Add a dropdown arrow to your button with the `.dropdown` class.
+
+<div class="primary callout">
+  <p>This doesn't add dropdown functionality automatically. To do that, you can attach our <a href="dropdown.html">Dropdown plugin</a>.</p>
+</div>
+
+```html_example
+<button class="tiny dropdown button">Dropdown Button</button>
+<button class="small dropdown button">Dropdown Button</button>
+<button class="dropdown button">Dropdown Button</button>
+<button class="large dropdown button">Dropdown Button</button>
+<button class="expanded dropdown button">Dropdown Button</button>
+```
+
+---
+
+## Accessibility
+
+Make sure that the text of the button is descriptive. If for some reason, your button contains no readable text (for example, just a symbol or icon), add screen reader-only text to the button to clarify it's purpose. The symbol or icon should be wrapped in an element with the attribute `aria-hidden="true"`, to prevent screen readers from trying to pronounce the symbol.
+
+Use the `.show-for-sr` class to define screen reader-only text.
+
+```html_example
+<button class="button" type="button">
+  <!-- Screen readers will see "close" -->
+  <span class="show-for-sr">Close</span>
+  <!-- Visual users will see the X, but not the "Close" text -->
+  <span aria-hidden="true"><i class="fi-x"></i></span>
+</button>
+```
diff --git a/libraries/foundation-6/docs/pages/callout.md b/libraries/foundation-6/docs/pages/callout.md
new file mode 100755
index 00000000..f2959251
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/callout.md
@@ -0,0 +1,113 @@
+---
+title: Callout
+description: Callouts combine panels and alerts from Foundation 5 into one generic container component.
+sass: scss/components/_callout.scss
+tags:
+  - panel
+  - alert
+---
+
+## Basics
+
+A callout is just an element with a `.callout` class applied. You can put any kind of content inside.
+
+```html_example
+<div class="callout">
+  <h5>This is a callout.</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+```
+
+---
+
+## Coloring
+
+Callouts can be colored using the `.secondary`, `.primary`, `.success`, `.warning`, or `.alert` classes. Links inside the callout will be tinted to match the color of the callout.
+
+```html
+<div class="callout secondary">
+  <h5>This is a secondary callout</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+```
+
+<div class="callout secondary">
+  <h5>This is a secondary callout</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+
+<div class="primary callout">
+  <h5>This is a primary callout</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+
+<div class="success callout">
+  <h5>This is a success callout</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+
+<div class="warning callout">
+  <h5>This is a warning callout</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+
+<div class="alert callout">
+  <h5>This is an alert callout</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+
+---
+
+## Sizing
+
+Callouts can be sized using the `.small` and `.large` classes. These will affect the padding around content to be smaller and larger respectively.
+
+```html_example
+<div class="callout small">
+  <h5>This is a secondary panel</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+
+<div class="callout large">
+  <h5>This is a secondary panel</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+```
+
+---
+
+## Making Closable
+
+Pair the callout with the [close button](close-button.html) component and `data-closable` attribute to create a dismissable alert box.
+
+<div class="primary callout">
+  <p>Any element can be used as a close trigger, not just close button. Adding the attribute <code>data-close</code> to any element within the callout will turn it into a close trigger.</p>
+  <p>When using the <code>data-closable</code> attribute, you can optionally add <a href="http://foundation.zurb.com/sites/docs/motion-ui.html">Motion UI</a> classes to the attribute to change the closing animation. If no class is added, the plugin defaults to jQuery's <code>.fadeOut()</code> function.</p>
+</div>
+
+```html_example
+<div class="alert callout" data-closable>
+  <h5>This is Important!</h5>
+  <p>But when you're done reading it, click the close button in the corner to dismiss this alert.</p>
+  <p>I'm using the default <code>data-closable</code> parameters, and simply fade out.</p>
+  <button class="close-button" aria-label="Dismiss alert" type="button" data-close>
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+<div class="success callout" data-closable="slide-out-right">
+  <h5>This a friendly message.</h5>
+  <p>And when you're done with me, I close using a Motion UI animation.</p>
+  <button class="close-button" aria-label="Dismiss alert" type="button" data-close>
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+```
diff --git a/libraries/foundation-6/docs/pages/close-button.md b/libraries/foundation-6/docs/pages/close-button.md
new file mode 100755
index 00000000..5a59022e
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/close-button.md
@@ -0,0 +1,47 @@
+---
+title: Close Button
+description: The humble close button can be used anywhere you need something to go away on click.
+sass: scss/components/_close-button.scss
+---
+
+A close button is a `<button>` element with the class `.close-button`. We use the multiplication symbol (`&times;`) as the X icon. This icon is wrapped in a `<span>` with the attribute `aria-hidden="true"`, so screen readers don't read the X icon.
+
+The button is also labeled with `aria-label` to clarify what the button's purpose is.
+
+```html_example
+<div class="callout">
+  <button class="close-button" aria-label="Close alert" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+  <p>Look at this close button!</p>
+</div>
+```
+
+---
+
+## Making Closable
+
+<div class="callout primary">
+  <p>The close button on its own doesn't close elements, but you can use it with <a href="toggler.html">Toggler</a>, <a href="reveal.html">Reveal</a>, <a href="off-canvas.html">Off-canvas</a>, and other plugins that have open and close behaviors.</p>
+</div>
+
+<div class="primary callout">
+  <p>Any element can be used as a close trigger, not just close button. Adding the attribute <code>data-close</code> to any element within the callout will turn it into a close trigger.</p>
+</div>
+
+The below example pairs the callout with the close button component and `data-closable` attribute to create a dismissible alert box.
+
+```html_example
+<div class="callout" data-closable>
+  <p>You can so totally close this!</p>
+  <button class="close-button" aria-label="Dismiss alert" type="button" data-close>
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+<div class="success callout" data-closable="slide-out-right">
+  <p>You can close me too, and I close using a Motion UI animation.</p>
+  <button class="close-button" aria-label="Dismiss alert" type="button" data-close>
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+```
diff --git a/libraries/foundation-6/docs/pages/compatibility.md b/libraries/foundation-6/docs/pages/compatibility.md
new file mode 100755
index 00000000..bb9442c5
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/compatibility.md
@@ -0,0 +1,37 @@
+---
+title: Compatibility
+description: Foundation is tested across many browsers and devices, and works back as far as IE9 and Android 2.
+tags:
+  - support
+  - browser
+---
+
+## Overview
+
+<table class="docs-compat-table">
+  <tr>
+    <td>Chrome</td>
+    <td class="works" rowspan="6">Last Two Versions</td>
+  </tr>
+  <tr><td>Firefox</td></tr>
+  <tr><td>Safari</td></tr>
+  <tr><td>Opera</td></tr>
+  <tr><td>Mobile Safari</td></tr>
+  <tr><td>IE Mobile</td></tr>
+  <tr>
+    <td>Internet Explorer</td>
+    <td class="works">Versions 9+</td>
+  </tr>
+  <tr>
+    <td>Android Browser</td>
+    <td class="works">Versions 2.3+</td>
+  </tr>
+</table>
+
+---
+
+## What Won't Work?
+
+- **The Grid:** Foundation's grid uses `box-sizing: border-box` to apply gutters to columns, but this property isn't supported in IE8.
+- **Desktop Styles:** Because the framework is written mobile-first, browsers that don't support media queries will display the mobile styles of the site.
+- **JavaScript:** Our plugins use a number of handy ECMAScript 5 features that aren't supported in IE8.
diff --git a/libraries/foundation-6/docs/pages/drilldown-menu.md b/libraries/foundation-6/docs/pages/drilldown-menu.md
new file mode 100755
index 00000000..0e223dbb
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/drilldown-menu.md
@@ -0,0 +1,86 @@
+---
+title: Drilldown Menu
+description: Drilldown is one of Foundation's three menu patterns, which converts a series of nested lists into a vertical drilldown menu.
+scss: scss/components/_drilldown.scss
+js: js/foundation.drilldown.js
+---
+
+## Basics
+
+Drilldowns use the standard [Menu](menu.html#nested-style) syntax, using `<ul>`, `<li>`, and `<a>`. Add `data-drilldown` to the root menu to set up the drilldown.
+
+To create sub-menus, place a `<ul>` *next to* an `<a>`. Clicking that `<a>` will then open the `<ul>` that it's next to.
+
+Any `<a>` without a submenu will function like a normal link.
+
+```html
+<ul class="vertical menu" data-drilldown>
+  <li>
+    <a href="#Item-1">Item 1</a>
+    <ul class="vertical menu">
+      <li><a href="#Item-1A">Item 1A</a></li>
+      <!-- ... -->
+    </ul>
+  </li>
+  <li><a href="#Item-2">Item 2</a></li>
+</ul>
+```
+
+<div class="primary callout">
+  <p>The drilldown menu takes on the height of the tallest menu in the hierarchy, so the menu doesn't change height as the user navigates it.</p>
+</div>
+
+<ul class="menu" data-drilldown style="width: 200px" id="m1">
+  <li>
+    <a href="#">Item 1</a>
+    <ul class="menu">
+      <li>
+        <a href="#">Item 1A</a>
+        <ul class="menu">
+          <li><a href="#Item-1Aa">Item 1Aa</a></li>
+          <li><a href="#Item-1Ba">Item 1Ba</a></li>
+          <li><a href="#Item-1Ca">Item 1Ca</a></li>
+          <li><a href="#Item-1Da">Item 1Da</a></li>
+          <li><a href="#Item-1Ea">Item 1Ea</a></li>
+        </ul>
+      </li>
+      <li><a href="#Item-1B">Item 1B</a></li>
+      <li><a href="#Item-1C">Item 1C</a></li>
+      <li><a href="#Item-1D">Item 1D</a></li>
+      <li><a href="#Item-1E">Item 1E</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="#">Item 2</a>
+    <ul class="menu">
+      <li><a href="#Item-2A">Item 2A</a></li>
+      <li><a href="#Item-2B">Item 2B</a></li>
+      <li><a href="#Item-2C">Item 2C</a></li>
+      <li><a href="#Item-2D">Item 2D</a></li>
+      <li><a href="#Item-2E">Item 2E</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="#">Item 3</a>
+    <ul class="menu">
+      <li><a href="#Item-3A">Item 3A</a></li>
+      <li><a href="#Item-3B">Item 3B</a></li>
+      <li><a href="#Item-3C">Item 3C</a></li>
+      <li><a href="#Item-3D">Item 3D</a></li>
+      <li><a href="#Item-3E">Item 3E</a></li>
+    </ul>
+  </li>
+  <li><a href="#Item-4"> Item 4</a></li>
+</ul>
+
+---
+
+## Custom Styling
+
+The drilldown plugin automatically adds a back button to the top of each nested menu. To style this control, target the `.js-drilldown-back` class:
+
+```css
+.js-drilldown-back {
+  // ...
+}
+```
diff --git a/libraries/foundation-6/docs/pages/dropdown-menu.md b/libraries/foundation-6/docs/pages/dropdown-menu.md
new file mode 100755
index 00000000..e9ff92b2
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/dropdown-menu.md
@@ -0,0 +1,162 @@
+---
+title: Dropdown Menu
+description: Change a basic Menu into an expandable dropdown menu with the Dropdown Menu plugin.
+sass: scss/components/_dropdown-menu.scss
+js: js/foundation.dropdownMenu.js
+---
+
+## Horizontal
+
+Dropdown menus build on the [Menu](menu.html) component's syntax. Add the class `.dropdown` and the attribute `data-dropdown-menu` to the menu container to set up the dropdown.
+
+```html
+<ul class="dropdown menu" data-dropdown-menu>
+  <li><a href="#">Item 1</a></li>
+  <li><a href="#">Item 2</a></li>
+  <li><a href="#">Item 3</a></li>
+  <li><a href="#">Item 4</a></li>
+</ul>
+```
+
+To create dropdown menus, nest a new `<ul>` inside an `<li>`. You can nest further to create more levels of dropdowns.
+
+<div class="primary callout">
+  <p>Note that the <code>&lt;ul&gt;</code> goes <em>after</em> the <code>&lt;a&gt;</code>, and not inside of it.</p>
+</div>
+
+```html
+<ul class="dropdown menu" data-dropdown-menu>
+  <li>
+    <a href="#">Item 1</a>
+    <ul class="menu">
+      <li><a href="#">Item 1A</a></li>
+      <!-- ... -->
+    </ul>
+  </li>
+  <li><a href="#">Item 2</a></li>
+  <li><a href="#">Item 3</a></li>
+  <li><a href="#">Item 4</a></li>
+</ul>
+```
+
+<ul class="dropdown menu" data-dropdown-menu>
+  <li>
+    <a>Item 1</a>
+    <ul class="menu">
+      <li><a href="#Item-1A">Item 1A</a></li>
+      <li>
+        <a href="#Item-1B">Item 1B</a>
+        <ul class="menu">
+          <li><a href="#Item-1Bi">Item 1B i</a></li>
+          <li><a href="#Item-1Bii">Item 1B ii</a></li>
+          <li>
+            <a href="#Item-1Biii">Item 1B iii</a>
+            <ul class="menu">
+              <li><a href="#Item-1Biiialpha">Item 1B iii alpha</a></li>
+              <li><a href="#Item-1Biiiomega">Item 1B iii omega</a></li>
+            </ul>
+          </li>
+          <li>
+            <a href="#Item-1Biv">Item 1B iv</a>
+            <ul class="menu">
+              <li><a href="#Item-1Bivalpha">Item 1B iv alpha</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li><a href="#Item-1C">Item 1C</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="#Item-2">Item 2</a>
+    <ul class="menu">
+      <li><a href="#Item-2A">Item 2A</a></li>
+      <li><a href="#Item-2B">Item 2B</a></li>
+    </ul>
+  </li>
+  <li><a href="#Item-3">Item 3</a></li>
+  <li><a href="#Item-4">Item 4</a></li>
+</ul>
+
+---
+
+## Vertical
+
+Add the `.vertical` class to the top-level menu to make it vertical. Sub-menus are automatically vertical, regardless of the orientation of the top-level menu.
+
+<div class="primary callout">
+  <p>Menus are block-level elements, which means they stretch to fill the width of their container. To make the below example less goofy, we've hard-coded a <code>max-width</code> on the menu.</p>
+</div>
+
+```html
+<ul class="vertical dropdown menu" data-dropdown-menu style="max-width: 300px;">
+  <li><a href="#">Item 1</a></li>
+  <!-- ... -->
+</ul>
+```
+
+<ul class="vertical dropdown menu" data-dropdown-menu style="max-width: 300px;">
+  <li>
+    <a>Item 1</a>
+    <ul class="menu">
+      <li><a href="#Item-1A">Item 1A</a></li>
+      <li>
+        <a href="#Item-1B">Item 1B</a>
+        <ul class="menu">
+          <li><a href="#Item-1Bi">Item 1B i</a></li>
+          <li><a href="#Item-1Bii">Item 1B ii</a></li>
+          <li>
+            <a href="#Item-1Biii">Item 1B iii</a>
+            <ul class="menu">
+              <li><a href="#Item-1Biiialpha">Item 1B iii alpha</a></li>
+              <li><a href="#Item-1Biiiomega">Item 1B iii omega</a></li>
+            </ul>
+          </li>
+          <li>
+            <a href="#Item-1Biv">Item 1B iv</a>
+            <ul class="menu">
+              <li><a href="#Item-1Bivalpha">Item 1B iv alpha</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li><a href="#Item-1C">Item 1C</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="#Item-2">Item 2</a>
+    <ul class="menu">
+      <li><a href="#Item-2A">Item 2A</a></li>
+      <li><a href="#Item-2B">Item 2B</a></li>
+    </ul>
+  </li>
+  <li><a href="#Item-3">Item 3</a></li>
+  <li><a href="#Item-4">Item 4</a></li>
+</ul>
+
+---
+
+## Sticky Navigation
+
+See the documentation for the [Sticky](sticky.html#sticky-navigation) plugin to see how to easily make a sticky nav bar. 
+
+---
+
+### Preventing FOUC
+
+Before the JavaScript on your page loads, the dropdown menus will not have arrows. However, once the JavaScript file has loaded, the arrows will appear causing a [flash of unstyled content](https://en.wikipedia.org/wiki/Flash_of_unstyled_content). You can prevent this by adding the `.is-dropdown-submenu-parent` class manually. 
+
+```html
+<ul class="dropdown menu" data-dropdown-menu>
+  <li class=".is-dropdown-submenu-parent">
+    <a href="#">Item 1</a>
+    <ul class="menu">
+      <li><a href="#">Item 1A</a></li>
+      <!-- ... -->
+    </ul>
+  </li>
+  <li><a href="#">Item 2</a></li>
+  <li><a href="#">Item 3</a></li>
+  <li><a href="#">Item 4</a></li>
+</ul>
+```
\ No newline at end of file
diff --git a/libraries/foundation-6/docs/pages/dropdown.md b/libraries/foundation-6/docs/pages/dropdown.md
new file mode 100755
index 00000000..244d1f2d
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/dropdown.md
@@ -0,0 +1,79 @@
+---
+title: Dropdown
+description: Dropdown panes are little happy sprites which can be revealed on click or hover.
+sass: scss/components/_dropdown.scss
+js: js/foundation.dropdown.js
+---
+
+<div class="primary callout">
+  <p>You might be looking for <a href="dropdown-menu.html">dropdown menus</a>, which are a separate plugin.</p>
+</div>
+
+## Basics
+
+To create a dropdown pane, add the class `.dropdown-pane` and the attribute `data-dropdown` to an element. Give the dropdown a unique ID as well.
+
+To create the dropdown trigger, add `data-toggle` to a `<button>`. The value of `data-toggle` is the ID of the dropdown.
+
+```html_example
+<button class="button" type="button" data-toggle="example-dropdown">Toggle Dropdown</button>
+<div class="dropdown-pane" id="example-dropdown" data-dropdown data-auto-focus="true">
+  Example form in a dropdown.
+  <form>
+    <div class="row">
+      <div class="medium-6 columns">
+        <label>Name
+          <input type="text" placeholder="Kirk, James T.">
+        </label>
+      </div>
+      <div class="medium-6 columns">
+        <label>Rank
+          <input type="text" placeholder="Captain">
+        </label>
+      </div>
+    </div>
+  </form>
+</div>
+
+
+<button class="button" type="button" data-toggle="example-dropdown-1">Hoverable Dropdown</button>
+<div class="dropdown-pane" id="example-dropdown-1" data-dropdown data-hover="true" data-hover-pane="true">
+  Just some junk that needs to be said. Or not. Your choice.
+</div>
+```
+
+---
+
+## Positioning
+
+By default, a dropdown anchors below the button that opened it. Add the class `.top`, `.right`, or `.bottom` to the dropdown to change this.
+
+```html_example
+<button class="button" type="button" data-toggle="example-dropdown2">Top Aligned</button>
+
+<div class="dropdown-pane top" id="example-dropdown2" data-dropdown>
+  Just some junk that needs to be said. Or not. Your choice.
+</div>
+```
+
+<button class="button" type="button" data-toggle="example-dropdown3" style="float: right;">Left Aligned</button>
+<div class="dropdown-pane left" id="example-dropdown3" data-dropdown>
+  Just some junk that needs to be said. Or not. Your choice.
+</div>
+
+<button class="button" type="button" data-toggle="example-dropdown4">Right Aligned</button>
+<div class="dropdown-pane right" id="example-dropdown4" data-dropdown>
+  Just some junk that needs to be said. Or not. Your choice.
+</div>
+
+
+Adding `.float-right` or `.float-left` to the anchor will change the direction of the dropdown as well.
+<button class="button float-right" type="button" data-toggle="example-dropdown5">Bottom-right Aligned</button>
+<div class="dropdown-pane bottom" id="example-dropdown5" data-dropdown>
+  Just some junk that needs to be said. Or not. Your choice.
+</div>
+
+<button class="button float-left" type="button" data-toggle="example-dropdown6">Bottom-left Aligned</button>
+<div class="dropdown-pane bottom" id="example-dropdown6" data-dropdown>
+  Just some junk that needs to be said. Or not. Your choice.
+</div>
\ No newline at end of file
diff --git a/libraries/foundation-6/docs/pages/equalizer.md b/libraries/foundation-6/docs/pages/equalizer.md
new file mode 100755
index 00000000..3d71bd29
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/equalizer.md
@@ -0,0 +1,199 @@
+---
+title: Equalizer
+description: Equalizer makes it dead simple to give multiple items equal height.
+js: js/foundation.equalizer.js
+---
+
+## Basics
+
+To set up an Equalizer group, you need a container, which gets the attribute `data-equalizer`, and then a series of child elements, which get the attribute `data-equalizer-watch`. The child elements will all be resized to have the same height.
+
+```html_example
+<div class="row" data-equalizer data-equalize-on="medium" id="test-eq">
+  <div class="medium-4 columns">
+    <div class="callout" data-equalizer-watch>
+      <img src= "assets/img/generic/square-1.jpg">
+    </div>
+  </div>
+  <div class="medium-4 columns">
+    <div class="callout" data-equalizer-watch>
+      <p>Pellentesque habitant morbi tristique senectus et netus et, ante.</p>
+    </div>
+  </div>
+  <div class="medium-4 columns">
+    <div class="callout" data-equalizer-watch>
+      <img src= "assets/img/generic/rectangle-1.jpg">
+    </div>
+  </div>
+</div>
+```
+
+---
+
+## Nesting
+
+To use one Equalizer inside another, each container needs a unique ID, assigned with the `data-equalizer` attribute. Each `data-equalizer-watch` element should then have a value that matches its parent.
+
+In the below example, the first set of Equalizer elements have the value `foo`, while the inside elements have the value `bar`. In the live example, we've also set the `equalizeOn` option to 'medium' for the parent elements, and the child Equalizer contained in the first div equalizes on stack, and maintains equal height.
+
+```html
+<div class="row" data-equalizer="foo">
+  <div class="medium-4 columns" data-equalizer-watch="foo">
+    <div class="callout" data-equalizer="bar">
+      <h3>Parent panel</h3>
+      <div class="callout" data-equalizer-watch="bar"></div>
+      <div class="callout" data-equalizer-watch="bar"></div>
+      <div class="callout" data-equalizer-watch="bar"></div>
+    </div>
+  </div>
+  <div class="medium-4 columns">
+    <div class="callout panel" data-equalizer-watch="foo"></div>
+  </div>
+  <div class="medium-4 columns">
+    <div class="callout" data-equalizer-watch="foo"></div>
+  </div>
+</div>
+```
+
+<div class="row"  data-equalize-on="medium" data-equalizer="foo">
+  <div class="medium-4 columns" >
+    <div class="callout" data-equalizer-watch="foo" data-equalizer="bar">
+      <h3>Parent panel</h3>
+      <div class="callout" data-equalizer-watch="bar">
+        <p>The three callouts in this panel will equalize, even when stacked.</p>
+      </div>
+      <div class="callout" data-equalizer-watch="bar">
+        <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante.</p>
+      </div>
+      <div class="callout" data-equalizer-watch="bar">
+        <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante.</p>
+      </div>
+    </div>
+  </div>
+  <div class="medium-4 columns">
+    <div class="callout panel" data-equalizer-watch="foo">
+      <p>Where these panels will not equalize on stack, and instead equalize on medium up.</p>
+    </div>
+  </div>
+  <div class="medium-4 columns">
+    <div class="callout" data-equalizer-watch="foo">
+      <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante.</p>
+    </div>
+  </div>
+</div>
+
+---
+
+## Equalize By Row
+
+If you have a gallery of items that wrap multiple times, Equalizer can be configured to match each row's items in height. Works great with the block grid!
+
+<div class="callout primary">
+  <p><strong>Under the Hood:</strong></p>
+  <p>Equalizer splits the `data-equalizer-watch` elements into groups by checking their vertical offsets, and grouping ones with the same offset into a "row".</p>
+  <p>Be aware on what you set `data-equalizer-watch`, if the top position is different, Equalizer will interpret that as a new "row" and equalize accordingly.</p>
+</div>
+
+```html
+<div class="row small-up-1 medium-up-2 large-up-4" data-equalizer data-equalize-by-row="true">
+  <div class="column"></div>
+  <div class="column"></div>
+  <div class="column"></div>
+  <!-- ... -->
+</div>
+```
+
+<div class="row small-up-1 medium-up-2 large-up-4" data-equalizer data-equalize-by-row="true">
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <img src="//placehold.it/180x200" class="thumbnail" alt="">
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <img src="//placehold.it/180x180" class="thumbnail" alt="">
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <img src="//placehold.it/180x400" class="thumbnail" alt="">
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <img src="//placehold.it/180x200" class="thumbnail" alt="">
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <img src="//placehold.it/180x180" class="thumbnail" alt="">
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <p>Lorem ipsum dolor sit amet<p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="callout" data-equalizer-watch>
+      <img src="//placehold.it/180x400" class="thumbnail" alt="">
+    </div>
+  </div>
+</div>
diff --git a/libraries/foundation-6/docs/pages/flex-grid.md b/libraries/foundation-6/docs/pages/flex-grid.md
new file mode 100755
index 00000000..e9d258ab
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/flex-grid.md
@@ -0,0 +1,333 @@
+---
+title: Flex Grid
+description: New in Foundation 6 is a Flexbox-powered grid, which you can use instead of the traditional float grid.
+sass: scss/grid/_flex-grid.scss
+---
+
+The flex grid works very similarly to the standard float grid, but includes a number of useful features only possible with flexbox, like horizontal and vertical alignment, automatic sizing, and easier source ordering.
+
+---
+
+## Browser support
+
+The flex grid is only supported in Chrome, Firefox, Safari 6+, IE10+, iOS 7+, and Android 4.4+. Flexbox is supported in Android 2, but not reliably enough for use with this grid. ([View flexbox browser support.](http://caniuse.com/#feat=flexbox)) We recommend only using the flex grid on projects that can live with purely cutting-edge browser support.
+
+<div class="warning callout">
+  <p>In Firefox 43+, images in flex columns may overflow their container. To fix this, add a defined <code>width</code> to any images inside a flex column, or use <code>width: 100%</code> for full-bleed images.</p>
+</div>
+
+---
+
+## Importing
+
+If you're using the CSS version of Foundation, you can generate a <a href="https://foundation.zurb.com/sites/download">custom download of Foundation</a> with flexbox mode enabled.
+
+If you're using the Sass version of Foundation, you can enable a framework-wide flexbox mode, and add exports for the flex grid and flexbox helper classes. [Learn more about enabling flexbox mode.](flexbox.html#enabling-flexbox-mode)
+
+```scss
+@import 'foundation';
+
+// @include foundation-grid;
+@include foundation-flex-classes;
+@include foundation-flex-grid;
+```
+
+<div class="primary callout">
+  <p>The flex grid uses the same settings variables as the float grid to adjust gutter size, column count, and so on. Refer to the <a href="grid.html#sass-variables">Sass variable reference</a> for the default grid to see how the flex grid can be customized.</p>
+</div>
+
+<div class="warning callout">
+  <p>The standard grid and flex grid use some of the same classes, namely <code>.row</code> and <code>.column</code>, and don't play nice together. If you want to use both in the same project, we recommend using the Sass mixins for each grid, instead of the default CSS.</p>
+</div>
+
+---
+
+## Basics
+
+The structure of the flex grid is identical to that of the float grid. Rows use the class `.row`, and columns use the class `.column` (or `.columns`). Basic percentage-based sizing can also be done using the same grid classes you're used to: `.small-6`, `.medium-12`, and so on.
+
+```html_example
+<div class="row">
+  <div class="small-6 columns">6 columns</div>
+  <div class="small-6 columns">6 columns</div>
+</div>
+<div class="row">
+  <div class="medium-6 large-4 columns">12/6/4 columns</div>
+  <div class="medium-6 large-8 columns">12/6/8 columns</div>
+</div>
+```
+
+---
+
+## Advanced Sizing
+
+If no sizing class is added to the column, it will simply expand to fill the leftover space. We call this an *expand behavior*.
+
+```html_example
+<div class="row">
+  <div class="small-4 columns">4 columns</div>
+  <div class="columns">Whatever's left!</div>
+</div>
+```
+
+---
+
+Multiple expanding columns will share the leftover space equally.
+
+```html_example
+<div class="row">
+  <div class="small-4 columns">4 columns</div>
+  <div class="columns">Whatever's left!</div>
+  <div class="columns">Whatever's left!</div>
+</div>
+```
+
+---
+
+A column can also be made to *shrink*, by adding the `.shrink` class. This means it will only take up the horizontal space its contents need.
+
+```html_example
+<div class="row">
+  <div class="shrink columns">Shrink!</div>
+  <div class="columns">Expand!</div>
+</div>
+```
+
+---
+
+## Responsive Adjustments
+
+Columns in a flex grid will not wrap if not given an explicit size&mdash;this is what allows the magical auto-sizing to work. To make columns stack on smaller screens, add the class `.small-12` manually.
+
+To switch back to the expand behavior from a percentage or shrink behavior, use the classes `.medium-expand` or `.large-expand`. In the below example, the columns stack on small screens, and become even-width on large screens.
+
+```html_example
+<div class="row">
+  <div class="small-12 large-expand columns">One</div>
+  <div class="small-12 large-expand columns">Two</div>
+  <div class="small-12 large-expand columns">Three</div>
+  <div class="small-12 large-expand columns">Four</div>
+  <div class="small-12 large-expand columns">Five</div>
+  <div class="small-12 large-expand columns">Six</div>
+</div>
+```
+
+---
+
+### Automatic Stacking
+
+We have a few shorthand classes for the above behavior. Use the `.[size]-unstack` classes to stack all columns in the row by default, and then unstack them on a larger screen size, making each one equal-width.
+
+```html_example
+<div class="row medium-unstack">
+  <div class="columns">One</div>
+  <div class="columns">Two</div>
+  <div class="columns">Three</div>
+  <div class="columns">Four</div>
+  <div class="columns">Five</div>
+  <div class="columns">Six</div>
+</div>
+```
+
+---
+
+## Column Alignment
+
+Columns in a flex grid can be aligned across the horizontal or vertical axis of their parent row.
+
+### Horizontal Alignment
+
+Columns can be aligned the same way you would align text in a paragraph. By default, all columns align to the left (or the right in RTL), but this can be overridden with by adding the `.align-[dir]` class to the flex row.
+
+```html
+<div class="row">
+  <div class="column small-4">Aligned to</div>
+  <div class="column small-4">the left</div>
+</div>
+<div class="row align-right">
+  <div class="column small-4">Aligned to</div>
+  <div class="column small-4">the right</div>
+</div>
+<div class="row align-center">
+  <div class="column small-4">Aligned to</div>
+  <div class="column small-4">the middle</div>
+</div>
+<div class="row align-justify">
+  <div class="column small-4">Aligned to</div>
+  <div class="column small-4">the edges</div>
+</div>
+<div class="row align-spaced">
+  <div class="column small-4">Aligned to</div>
+  <div class="column small-4">the space around</div>
+</div>
+```
+
+<div class="docs-code-live">
+  <div class="text-center">
+    <div class="row">
+      <div class="column small-4">Aligned to</div>
+      <div class="column small-4">the left</div>
+    </div>
+    <div class="row align-right">
+      <div class="column small-4">Aligned to</div>
+      <div class="column small-4">the right</div>
+    </div>
+    <div class="row align-center">
+      <div class="column small-4">Aligned to</div>
+      <div class="column small-4">the middle</div>
+    </div>
+    <div class="row align-justify">
+      <div class="column small-4">Aligned to</div>
+      <div class="column small-4">the edges</div>
+    </div>
+    <div class="row align-spaced">
+      <div class="column small-4">Aligned to</div>
+      <div class="column small-4">the space around</div>
+    </div>
+  </div>
+</div>
+
+You might be wondering what the difference between `.align-justify` and `.align-spaced` is. A justified grid (`justify-content: space-between`) evenly distributes the space *between* each column. The first and last columns pin to the edge of the grid.
+
+A spaced grid (`justify-content: space-around`) evenly distributes the space *around* each column. This means there will always be space to the left of the first column, and to the right of the last column.
+
+The horizontal alignment classes are shorthands for the `justify-content` CSS property. [Learn more about `justify-content`](https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content).
+
+---
+
+### Vertical Alignment
+
+By default, all columns in a flex grid stretch to be equal height. This behavior can be changed with another set of alignment classes. That's right, *middle alignment in CSS*!
+
+Your options for vertical alignment are `top`, `middle`, `bottom`, and `stretch`. Note that we use the word *middle* for vertical alignment, and *center* for horizontal alignment.
+
+Applying a vertical alignment class to the flex row will affect every column directly inside it.
+
+```html_example
+<div class="row align-middle">
+  <div class="columns">I'm in the middle!</div>
+  <div class="columns">I am as well, but I have so much text I take up more space! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quis facere ducimus earum minus, inventore, ratione doloremque deserunt neque perspiciatis accusamus explicabo soluta, quod provident distinctio aliquam omnis? Labore, ullam possimus.</div>
+</div>
+```
+
+```html_example
+<div class="row align-top">
+  <div class="columns">These columns align to the top.</div>
+  <div class="columns">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum, tempora. Impedit eius officia possimus laudantium? Molestiae eaque, sapiente atque doloremque placeat! In sint, fugiat saepe sunt dolore tempore amet cupiditate.</div>
+</div>
+```
+
+---
+
+Similar alignment classes can also be applied to individual columns, which use the format `.align-self-*` instead of `.align-*`.
+
+<div class="warning callout">
+  <p>In Foundation 6.2, we introduced the <code>.align-self-&ast;</code> classes, which replace the old method of using <code>.align-&ast;</code> classes on columns. The old classes will be removed completely in Foundation 6.3.</p>
+</div>
+
+```html_example
+<div class="row">
+  <div class="column align-self-bottom">Align bottom</div>
+  <div class="column align-self-middle">Align middle</div>
+  <div class="column align-self-top">Align top</div>
+  <div class="column">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Non harum laborum cum voluptate vel, eius adipisci similique dignissimos nobis at excepturi incidunt fugit molestiae quaerat, consequuntur porro temporibus. Nisi, ex?</div>
+</div>
+```
+
+---
+
+## Collapse/Uncollapse Rows
+
+The `.collapse` class lets you remove column gutters (padding).
+
+There are times when you won't want each media query to be collapsed or uncollapsed. In this case, use the media query size you want and collapse or uncollapse and add that to your row element. Example shows no gutter at small media size and then adds the gutter to columns at medium.
+
+```html
+<div class="row medium-uncollapse large-collapse">
+  <div class="small-6 columns">
+    Removes gutter at large media query
+  </div>
+  <div class="small-6 columns">
+    Removes gutter at large media query
+  </div>
+</div>
+```
+
+<p class="lead">Scale the browser down to a medium size to see the difference.</p>
+
+<div class="row medium-uncollapse large-collapse">
+  <div class="small-6 columns">
+    <div class="callout secondary">
+      <p class="show-for-small-only">On a small screen, I have gutters!</p>
+      <p class="show-for-medium-only">On a medium screen, I have gutters!</p>
+      <p class="show-for-large">On a large screen, I have no gutters!</p>
+    </div>
+  </div>
+  <div class="small-6 columns">
+    <div class="callout secondary">
+      <p class="show-for-small-only">On a small screen, I have gutters!</p>
+      <p class="show-for-medium-only">On a medium screen, I have gutters!</p>
+      <p class="show-for-large">On a large screen, I have no gutters!</p>
+    </div>
+  </div>
+</div>
+
+---
+
+## Offsets
+
+Offsets work identically to the float grid, by applying `margin-left` to a column.
+
+```html_example
+<div class="row">
+  <div class="small-4 large-offset-2 columns">Offset 2 on large</div>
+  <div class="small-4 columns">4 columns</div>
+</div>
+```
+
+---
+
+## Source Ordering
+
+Flexbox supports source ordering, making it easy to rearrange columns on different screen sizes without weird relative positioning tricks.
+
+The CSS property is easy enough to remember.
+
+```scss
+.element {
+  order: 1;
+}
+```
+
+Columns within a row will be sorted by their `order` property. Lower numbers are placed first. If multiple columns have the same number, they're sorted in the order they appear in the HTML.
+
+We have a set of classes that make it easy to setup source ordering in your HTML. They also come in responsive flavors, allowing you to reorder a grid on different screen sizes.
+
+```html_example
+<div class="row">
+  <div class="column small-order-2 medium-order-1">
+    This column will come second on small, and first on medium and larger.
+  </div>
+  <div class="column small-order-1 medium-order-2">
+    This column will come first on small, and second on medium and larger.
+  </div>
+</div>
+```
+
+---
+
+## Block Grids
+
+To define column widths at the row-level, instead of the individual column level, add the class `.[size]-up-[n]` to a row, where `[n]` is the number of columns to display per row, and `[size]` is the breakpoint at which to apply the effect.
+
+<div class="primary callout">
+  <p>A block grid row has the property <code>align-items: stretch</code> by default, meaning the columns in each row are equal height. To change this, change the <code>align-items</code> property of the row, or use one of the <a href="flexbox.html#vertical-alignment">vertical alignment flexbox classes</a>.</p>
+</div>
+
+```html_example
+<div class="row small-up-1 medium-up-2 large-up-3">
+  <div class="column">1 per row on small</div>
+  <div class="column">2 per row on medium</div>
+  <div class="column">3 per row on large</div>
+</div>
+```
diff --git a/libraries/foundation-6/docs/pages/flex-video.md b/libraries/foundation-6/docs/pages/flex-video.md
new file mode 100755
index 00000000..68fd1fb7
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/flex-video.md
@@ -0,0 +1,33 @@
+---
+title: Flex Video
+description: Wrap embedded videos from YouTube, Vimeo, and others in a flex video container to ensure they maintain the correct aspect ratio regardless of screen size.
+sass: scss/components/_flex-video.scss
+---
+
+Embedded videos won't maintain their aspect ratio as the width of the screen changes. To avoid squished videos, wrap them in a container with the class `.flex-video`.
+
+```html_example
+<div class="flex-video">
+  <iframe width="420" height="315" src="https://www.youtube.com/embed/V9gkYw35Vws" frameborder="0" allowfullscreen></iframe>
+</div>
+```
+
+---
+
+The default ratio is 4:3. Add the `.widescreen` class to change it to 16:9.
+
+```html_example
+<div class="flex-video widescreen">
+  <iframe width="420" height="315" src="https://www.youtube.com/embed/aiBt44rrslw" frameborder="0" allowfullscreen></iframe>
+</div>
+```
+
+---
+
+Embedded Vimeo videos are special snowflakes of their own. Add the `.vimeo` class to a flex video container that wraps a Vimeo embed.
+
+```html_example
+<div class="flex-video widescreen vimeo">
+  <iframe src="http://player.vimeo.com/video/60122989" width="400" height="225" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
+</div>
+```
diff --git a/libraries/foundation-6/docs/pages/flexbox.md b/libraries/foundation-6/docs/pages/flexbox.md
new file mode 100755
index 00000000..bc498311
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/flexbox.md
@@ -0,0 +1,195 @@
+---
+title: Flexbox
+description: For browsers with cutting-edge support, some of Foundation's key components can be converted to flexbox.
+sass:
+  - scss/components/_flex.scss
+  - scss/util/_flex.scss
+---
+
+Foundation components use a combination of floats, vertical alignment, table cells, and various other CSS hacks to get layouts looking right. These days, there's a better way... if you have the browser support!
+
+Enabling **flexbox mode** replaces those hacks with flexbox properties, streamlining how layouts are made, and making sizing and alignment of elements much easier.
+
+Flexbox mode is only supported these browsers:
+
+- The latest Chrome and Firefox
+- Safari 6+
+- IE 10+
+- iOS 7+
+- Android 4.4+
+
+---
+
+## Enabling Flexbox Mode
+
+If you're using the CSS version of Foundation, you can generate a <a href="https://foundation.zurb.com/sites/download">custom download of Foundation</a> with flexbox mode enabled. If you're using the Sass version of Foundation, you can enable flexbox mode two ways:
+
+If you use the `foundation-everything()` mixin in your main Sass file, pass in the parameter `true` to enable flexbox mode.
+
+```scss
+@include foundation-everything(true);
+```
+
+If you included each component manually (like our starter projects do), open your settings file (basic template: scss/_settings.scss, ZURB template: src/assets/scss/_settings.scss) and set `$global-flexbox` to `true`, and remove the `@include` for the float grid and replace it with the one for the flex grid, along with the helper classes (basic template: scss/app.scss, ZURB template: src/assets/scss/app.scss):
+
+```scss
+$global-flexbox: true;
+
+// @include foundation-grid;
+@include foundation-flex-grid;
+@include foundation-flex-classes;
+```
+
+---
+
+## Supported Components
+
+Besides the flex grid, these components have flexbox modes:
+
+- [Button group](button-group.html)
+- [Input group](forms.html#inline-labels-and-buttons)
+- [Menu](menu.html)
+- [Top bar](top-bar.html)
+- [Media object](media-object.html)
+- [Title bar](off-canvas.html#title-bar)
+
+In general, all of the components work exactly the same. However, a few of them require slight changes to CSS classes used to work properly. Refer to the documentation for each to find out what's different.
+
+---
+
+## Helper Classes
+
+Flexbox makes horizontal and vertical alignment painless, through the CSS properties [`align-content`](https://developer.mozilla.org/en-US/docs/Web/CSS/align-items), [`align-self`](https://developer.mozilla.org/en-US/docs/Web/CSS/align-self), and [`justify-content`](https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content). Foundation includes a handful of classes for these properties, which work with any flexbox-enabled component.
+
+To understand how these classes work, you need to understand the parent-child relationship created with flexbox. An element with `display: flex` is a *flex parent*, and can horizontally or vertically align its children. All immediate children of the flex parent are *flex children*. A flex child can vertically align itself.
+
+Here's a basic example: when using the grid, a row is a flex parent, and a column is a flex child.
+
+```html
+<div class="row">
+  <div class="column"></div>
+  <div class="column"></div>
+  <div class="column"></div>
+</div>
+```
+
+---
+
+### Horizontal Alignment
+
+Horizontal alignment classes are applied to flex parents. Left alignment is the default, but you can use one of these classes to change this:
+
+- `.align-right`
+- `.align-center`
+- `.align-justify`
+- `.align-spaced`
+
+<div class="docs-code-live">
+  <div class="text-center">
+    <div class="row">
+      <div class="column small-4">Aligned to</div>
+      <div class="column small-4">the left</div>
+    </div>
+    <div class="row align-right">
+      <div class="column small-4">Aligned to</div>
+      <div class="column small-4">the right</div>
+    </div>
+    <div class="row align-center">
+      <div class="column small-4">Aligned to</div>
+      <div class="column small-4">the center</div>
+    </div>
+    <div class="row align-justify">
+      <div class="column small-4">Aligned to</div>
+      <div class="column small-4">the edges</div>
+    </div>
+    <div class="row align-spaced">
+      <div class="column small-4">Aligned to</div>
+      <div class="column small-4">the space around</div>
+    </div>
+  </div>
+</div>
+
+You might be wondering what the difference between `.align-justify` and `.align-spaced` is. A justified grid (`justify-content: space-between`) evenly distributes the space *between* each column. The first and last columns pin to the edge of the grid.
+
+A spaced grid (`justify-content: space-around`) evenly distributes the space *around* each column. This means there will always be space to the left of the first column, and to the right of the last column.
+
+The horizontal alignment classes are shorthands for the `justify-content` CSS property. [Learn more about `justify-content`](https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content).
+
+---
+
+### Vertical Alignment
+
+Vertical alignment can be applied to a flex parent&mdash;which will align all the children automatically&mdash;or to a flex child, which will align only that element.
+
+Stretch alignment is the default. To set parent alignment, use these classes:
+
+- `.align-top`
+- `.align-middle`
+- `.align-bottom`
+- `.align-stretch`
+
+<div class="primary callout">
+  <p>Note that with vertical alignment, we use the term "middle" for the midpoint, while with horizontal alignment, we use the term "center". Otherwise, we'd have two CSS classes with the same name, but different functionality.</p>
+</div>
+
+```html_example
+<div class="row align-middle">
+  <div class="columns">I'm in the middle!</div>
+  <div class="columns">I am as well, but I have so much text I take up more space! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quis facere ducimus earum minus, inventore, ratione doloremque deserunt neque perspiciatis accusamus explicabo soluta, quod provident distinctio aliquam omnis? Labore, ullam possimus.</div>
+</div>
+```
+
+```html_example
+<div class="row align-stretch">
+  <div class="columns">These colums have the same height.</div>
+  <div class="columns">That's right, equal-height columns are possible with Flexbox too! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum, tempora. Impedit eius officia possimus laudantium? Molestiae eaque, sapiente atque doloremque placeat! In sint, fugiat saepe sunt dolore tempore amet cupiditate.</div>
+</div>
+```
+
+---
+
+To align an individual child, use the below classes. They use the same alignment terms as the parent-level classes, but the classes start with `.align-self-` instead of `.align-`.
+
+- `.align-self-top`
+- `.align-self-middle`
+- `.align-self-bottom`
+- `.align-self-stretch`
+
+```html_example
+<div class="row">
+  <div class="column align-self-bottom">Align bottom</div>
+  <div class="column align-self-middle">Align middle</div>
+  <div class="column align-self-top">Align top. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Non harum laborum cum voluptate vel, eius adipisci similique dignissimos nobis at excepturi incidunt fugit molestiae quaerat, consequuntur porro temporibus. Nisi, ex?</div>
+</div>
+```
+
+---
+
+## Helper Mixins
+
+If you're using the Sass version of Foundation, you can access the above helpers as mixins as well.
+
+For parent-level alignment, use `flex-align()`. You can pass in a horizontal alignment (`$x`), vertical alignment (`$y`), or both.
+
+```scss
+.container {
+  @include flex-align($x: center, $y: stretch);
+}
+```
+
+For child-level alignment, use `flex-align-self()`. You can pass in any horizontal alignment.
+
+```scss
+.sidebar {
+  @include flex-align-self(bottom);
+}
+```
+
+Interested in building your own flexbox-ey component? Use the `flex()` mixin to get started.
+
+```scss
+.flexish-thang {
+  @include flex;
+  @include flex-align(center, middle);
+}
+```
diff --git a/libraries/foundation-6/docs/pages/float-classes.md b/libraries/foundation-6/docs/pages/float-classes.md
new file mode 100755
index 00000000..74b5c685
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/float-classes.md
@@ -0,0 +1,29 @@
+---
+title: Float Classes
+description: Foundation includes a handful of helpful float classes to add common positioning behaviors to elements.
+---
+
+## Float Left/Right
+
+You can change the float behavior of an element by adding the `.float-left` or `.float-right` classes to an element. To clear floats, add the class `.clearfix` to the parent element.
+
+<div class="warning callout">
+  <p>Float classes don't flip direction in a <a href="rtl.html">right-to-left</a> environment&mdash;<code>left</code> always means left, and <code>right</code> always means right.</p>
+</div>
+
+```html_example
+<div class="callout clearfix">
+  <a class="button float-left">Left</a>
+  <a class="button float-right">Right</a>
+</div>
+```
+
+---
+
+## Float Center
+
+Okay, it's not *really* a float, but you can add the `.float-center` class to an element to engage the automatic margin centering trick. Note that this will only work on elements with an absolute width, which means not a percentage or `auto` width.
+
+```html_example
+<img src="assets/img/generic/voyager.jpg" class="float-center">
+```
diff --git a/libraries/foundation-6/docs/pages/forms.md b/libraries/foundation-6/docs/pages/forms.md
new file mode 100755
index 00000000..f1b1d2d5
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/forms.md
@@ -0,0 +1,264 @@
+---
+title: Forms
+description: We set out to create an easy, powerful and versatile form layout system. A combination of form styles and the Foundation grid means you can do almost anything.
+sass:
+  - scss/forms/*.scss
+  - '!scss/forms/_error.scss'
+tags:
+  - input
+  - select
+  - radio
+  - checkbox
+flex: true
+---
+
+## Form Basics
+
+Creating a form in Foundation is designed to be easy but extremely flexible. Forms are built with a combination of standard form elements, as well as grid rows and columns.
+
+---
+
+#### Text Inputs
+
+These input types create a text field: `text`, `date`, `datetime`, `datetime-local`, `email`, `month`, `number`, `password`, `search`, `tel`, `time`, `url`, and `week`.
+
+```html_example
+<form>
+  <div class="row">
+    <div class="medium-6 columns">
+      <label>Input Label
+        <input type="text" placeholder=".medium-6.columns">
+      </label>
+    </div>
+    <div class="medium-6 columns">
+      <label>Input Label
+        <input type="text" placeholder=".medium-6.columns">
+      </label>
+    </div>
+  </div>
+</form>
+```
+
+---
+
+#### Number Inputs
+
+In most desktop browsers, `<input type="number">` elements will have up/down controls inside them, which increment and decrement the number inside the field. These are called *spin buttons*. You can disable them by setting the `$input-number-spinners` Sass variable to `false`.
+
+```html_example
+<label>
+  How many puppies?
+  <input type="number" value="100">
+</label>
+```
+
+---
+
+#### Text Areas
+
+The `<textarea>` element creates a multi-line text input.
+
+```html_example
+<label>
+  What books did you read over summer break?
+  <textarea placeholder="None"></textarea>
+</label>
+```
+
+---
+
+#### Select Menus
+
+Use select menus to combine many choices into one menu.
+
+```html_example
+<label>Select Menu
+  <select>
+    <option value="husker">Husker</option>
+    <option value="starbuck">Starbuck</option>
+    <option value="hotdog">Hot Dog</option>
+    <option value="apollo">Apollo</option>
+  </select>
+</label>
+```
+
+Add the `multiple` attribute to allow more than one option to be selected. Hold down the Ctrl (windows) / Command (Mac) button to select multiple options.
+
+```html_example
+<label>Multiple Select Menu
+  <select multiple>
+    <option value="showboat">Showboat</option>
+    <option value="redwing">Redwing</option>
+    <option value="narcho">Narcho</option>
+    <option value="hardball">Hardball</option>
+  </select>
+</label>
+```
+
+---
+
+#### Checkboxes and Radio Buttons
+
+Use groups of checkboxes when the user may select multiple choices from a list, and use radio buttons when the user must select just one choice.
+
+Wrap a group of checkboxes or radio buttons in a `<fieldset>` element, and give them a common label using the `<legend>` element. Each individual control should also have its own label, created using a typical `<label>`.
+
+```html_example
+<div class="row">
+  <fieldset class="large-6 columns">
+    <legend>Choose Your Favorite</legend>
+    <input type="radio" name="pokemon" value="Red" id="pokemonRed" required><label for="pokemonRed">Red</label>
+    <input type="radio" name="pokemon" value="Blue" id="pokemonBlue"><label for="pokemonBlue">Blue</label>
+    <input type="radio" name="pokemon" value="Yellow" id="pokemonYellow"><label for="pokemonYellow">Yellow</label>
+  </fieldset>
+  <fieldset class="large-6 columns">
+    <legend>Check these out</legend>
+    <input id="checkbox1" type="checkbox"><label for="checkbox1">Checkbox 1</label>
+    <input id="checkbox2" type="checkbox"><label for="checkbox2">Checkbox 2</label>
+    <input id="checkbox3" type="checkbox"><label for="checkbox3">Checkbox 3</label>
+  </fieldset>
+</div>
+```
+
+---
+
+#### Fieldset Styles
+
+To encourage their use as an accessibility tool, the `<fieldset>` element is no longer styled by default. Those styles are now contained in the `.fieldset` class.
+
+```html_example
+<fieldset class="fieldset">
+  <legend>Check these out</legend>
+  <input id="checkbox12" type="checkbox"><label for="checkbox12">Checkbox 1</label>
+  <input id="checkbox22" type="checkbox"><label for="checkbox22">Checkbox 2</label>
+  <input id="checkbox32" type="checkbox"><label for="checkbox32">Checkbox 3</label>
+</fieldset>
+```
+
+---
+
+## Help Text
+
+Place help text below a field to clarify it's purpose. Whenever you use help text, give the text a unique ID, and add the attribute `aria-describedby` to the input.
+
+```html_example
+<label>Password
+  <input type="password" aria-describedby="passwordHelpText">
+</label>
+<p class="help-text" id="passwordHelpText">Your password must have at least 10 characters, a number, and an Emoji.</p>
+```
+
+---
+
+## Label Positioning
+
+Sometimes you want a form with labels to the left of your inputs. Piece of cake! You can put the label inside a different column to the left of the input. Then use the class `.text-right` or `.float-right` (or add `text-align: right` yourself) to realign the label.
+
+<div class="warning callout">
+  <p>In a <a href="rtl.html">right-to-left</a> environment, use <code>.float-left</code> instead.</p>
+</div>
+
+```html
+<form>
+  <div class="row">
+    <div class="small-3 columns">
+      <label for="right-label" class="text-right">Label</label>
+    </div>
+    <div class="small-9 columns">
+      <input type="text" id="right-label" placeholder="Right-aligned text input">
+    </div>
+  </div>
+</form>
+```
+
+<div class="medium-8 column row">
+  <div class="row">
+    <div class="small-3 columns">
+      <label for="right-label" class="text-right">Label</label>
+    </div>
+    <div class="small-9 columns">
+      <input type="text" id="right-label" placeholder="Right-aligned text input">
+    </div>
+  </div>
+</div>
+
+---
+
+Add the `.middle` class to vertically align the label with its input.
+
+```html
+<form>
+  <div class="row">
+    <div class="small-3 columns">
+      <label for="middle-label" class="text-right middle">Label</label>
+    </div>
+    <div class="small-9 columns">
+      <input type="text" id="middle-label" placeholder="Right- and middle-aligned text input">
+    </div>
+  </div>
+</form>
+```
+
+<div class="medium-8 column row">
+  <div class="row">
+    <div class="small-3 columns">
+      <label for="middle-label" class="text-right middle">Label</label>
+    </div>
+    <div class="small-9 columns">
+      <input type="text" id="middle-label" placeholder="Right- and middle-aligned text input">
+    </div>
+  </div>
+</div>
+
+---
+
+## Inline Labels and Buttons
+
+To attach extra text or controls to the left or right of an input field, wrap the elements in an `.input-group` container, then add these classes to the elements inside:
+
+- `.input-group-field` on the text field.
+- `.input-group-label` on a text label.
+- `.input-group-button` on a button. **Place the button inside this wrapper.**
+
+<div class="primary callout">
+  <p>This component supports flexbox mode. <a href="flexbox.html">Learn how to enable flexbox mode</a>.</p>
+</div>
+
+```html_example
+<div class="input-group">
+  <span class="input-group-label">$</span>
+  <input class="input-group-field" type="number">
+  <div class="input-group-button">
+    <input type="submit" class="button" value="Submit">
+  </div>
+</div>
+```
+
+---
+
+## File Upload Button
+
+Use `<input type="file">` to create a file upload button. For security reasons, most browsers don't let you style file inputs. To work around that, we can style a form label as a button, and point it to the `<input>`. To properly mask the input, the `.show-for-sr` class is added.
+
+```html_example
+<label for="exampleFileUpload" class="button">Upload File</label>
+<input type="file" id="exampleFileUpload" class="show-for-sr">
+```
+
+---
+
+## Custom Controls
+
+Custom form controls, like date pickers, range sliders, or switches need some extra attention to be made accessible. Our custom inputs, such as the range slider and switch, do most of this work for you.
+
+Custom inputs with labels or help text need the attributes `aria-labelledby` and `aria-describedby` added to them, so screen readers know how to describe the control.
+
+```html
+<label id="ageLabel">Age</label>
+<div class="slider" aria-labelledby="ageLabel" aria-describedby="ageHelpText" data-slider data-initial-start='50' data-end='200'>
+  <span class="slider-handle"  data-slider-handle role="slider" tabindex="1"></span>
+  <span class="slider-fill" data-slider-fill></span>
+  <input type="hidden">
+</div>
+<p id="ageHelpText">How old are you?</p>
+```
diff --git a/libraries/foundation-6/docs/pages/global.md b/libraries/foundation-6/docs/pages/global.md
new file mode 100755
index 00000000..4d6d4fa0
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/global.md
@@ -0,0 +1,129 @@
+---
+title: Global Styles
+description: Our global CSS includes helpful resets to ensure consistent styling across browsers.
+sass: scss/_global.scss
+---
+
+## Font Sizing
+
+The default font size is set to 100% of the browser style sheet, usually 16 pixels. This ensures compatibility with browser-based text zoom or user-set defaults. If you're using the Sass version of Foundation, edit the `$global-font-size` variable to change the base font size. This can be a percentage value, or a pixel value.
+
+<div class="alert callout">
+  <p><code>$rem-base</code> was deprecated in version 6.1, in favor of using <code>$global-font-size</code> to define rem calculation.</p>
+</div>
+
+---
+
+## Colors
+
+All interactive elements in Foundation, such as links and buttons, use the same color. The default shade of blue you see all over Foundation comes from the `$primary-color` Sass variable.
+
+Many components can also be colored with four other colors: secondary, alert, success, and warning. Use these colors to give more context to UI elements and actions.
+
+<div class="row small-up-1 medium-up-3 large-up-5">
+  <div class="column">
+    <div class="docs-color-block">
+      <div class="docs-color-block-primary"></div>
+      <p>Primary</p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="docs-color-block">
+      <div class="docs-color-block-secondary"></div>
+      <p>Secondary</p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="docs-color-block">
+      <div class="docs-color-block-success"></div>
+      <p>Success</p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="docs-color-block">
+      <div class="docs-color-block-warning"></div>
+      <p>Warning</p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="docs-color-block">
+      <div class="docs-color-block-alert"></div>
+      <p>Alert</p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="docs-color-block">
+      <div class="docs-color-block-white"></div>
+      <p>White</p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="docs-color-block">
+      <div class="docs-color-block-light-gray"></div>
+      <p>Light Gray</p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="docs-color-block">
+      <div class="docs-color-block-medium-gray"></div>
+      <p>Medium Gray</p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="docs-color-block">
+      <div class="docs-color-block-dark-gray"></div>
+      <p>Dark Gray</p>
+    </div>
+  </div>
+  <div class="column">
+    <div class="docs-color-block">
+      <div class="docs-color-block-black"></div>
+      <p>Black</p>
+    </div>
+  </div>
+</div>
+
+If you're using the Sass version of Foundation, it's possible to edit the default color palette, by changing the `$foundation-palette` variable in your settings file. The only required color is one named "primary". The names used in the palette will be output as CSS classes.
+
+```scss
+$foundation-palette: (
+  primary: #E44347,
+  mars: #D7525C,
+  saturn: #E4B884,
+  neptune: #5147D7,
+)
+```
+
+Using the above palette, we can add the `.mars`, `.saturn`, or `.neptune` classes to buttons, labels, badges, and more.
+
+To access the colors in your code, use Sass's `map-get()` function:
+
+```scss
+.mars {
+  color: map-get($foundation-palette, mars);
+}
+```
+
+<div class="warning callout">
+  <p>If you're upgrading an older version of Foundation 6 to 6.2, add the line <code>@include add-foundation-colors;</code> <em>below the Global section of your settings file</em>. This will allow legacy color variables, such as <code>$primary-color</code> and <code>$secondary-color</code>, to continue working.
+</div>
+
+---
+
+### Color Classes
+
+Some components, such as [buttons](button.html), [callouts](callout.html), and [labels](label.html), have *coloring classes*, which let you change the color of the element by adding the name of the color as a CSS class.
+
+```html_example
+<button class="button">Primary Action</button>
+<button class="secondary button">Secondary Action</button>
+```
+
+```html_example
+<div class="success callout">
+  <p>Created a new folder.</p>
+</div>
+<div class="alert callout">
+  <p>Error fetching stick.</p>
+</div>
+```
diff --git a/libraries/foundation-6/docs/pages/grid.md b/libraries/foundation-6/docs/pages/grid.md
new file mode 100755
index 00000000..7e0517a0
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/grid.md
@@ -0,0 +1,566 @@
+---
+title: The Grid
+description: Create powerful multi-device layouts quickly and easily with the default 12-column, nestable Foundation grid. If you're familiar with grid systems, you'll feel right at home. If not, you'll learn quickly.
+sass:
+  - scss/grid/*.scss
+  - '!scss/grid/_flex-grid.scss'
+tags:
+  - block grid
+---
+
+## Basics
+
+Start by adding an element with a class of `.row`. This will create a horizontal block to contain vertical columns. Then add elements with a `.column` class within that row. You can use `.column` or `.columns`&mdash;the only difference is grammar. Specify the widths of each column with the `.small-#`, `.medium-#`, and `.large-#` classes.
+
+**Foundation is mobile-first.** Code for small screens first, and larger devices will inherit those styles. Customize for larger screens as necessary.
+
+```html
+<div class="row">
+  <div class="small-2 large-4 columns"><!-- ... --></div>
+  <div class="small-4 large-4 columns"><!-- ... --></div>
+  <div class="small-6 large-4 columns"><!-- ... --></div>
+</div>
+<div class="row">
+  <div class="large-3 columns"><!-- ... --></div>
+  <div class="large-6 columns"><!-- ... --></div>
+  <div class="large-3 columns"><!-- ... --></div>
+</div>
+<div class="row">
+  <div class="small-6 large-2 columns"><!-- ... --></div>
+  <div class="small-6 large-8 columns"><!-- ... --></div>
+  <div class="small-12 large-2 columns"><!-- ... --></div>
+</div>
+<div class="row">
+  <div class="small-3 columns"><!-- ... --></div>
+  <div class="small-9 columns"><!-- ... --></div>
+</div>
+<div class="row">
+  <div class="large-4 columns"><!-- ... --></div>
+  <div class="large-8 columns"><!-- ... --></div>
+</div>
+<div class="row">
+  <div class="small-6 large-5 columns"><!-- ... --></div>
+  <div class="small-6 large-7 columns"><!-- ... --></div>
+</div>
+<div class="row">
+  <div class="large-6 columns"><!-- ... --></div>
+  <div class="large-6 columns"><!-- ... --></div>
+</div>
+```
+
+<div class="row display">
+  <div class="small-2 large-4 columns"><span class="hide-for-large">2</span><span class="show-for-large">4</span></div>
+  <div class="small-4 large-4 columns">4</div>
+  <div class="small-6 large-4 columns"><span class="hide-for-large">6</span><span class="show-for-large">4</span></div>
+</div>
+<div class="row display">
+  <div class="large-3 columns"><span class="hide-for-large">full</span><span class="show-for-large">3</span></div>
+  <div class="large-6 columns"><span class="hide-for-large">full</span><span class="show-for-large">6</span></div>
+  <div class="large-3 columns"><span class="hide-for-large">full</span><span class="show-for-large">3</span></div>
+</div>
+<div class="row display">
+  <div class="small-6 large-2 columns"><span class="hide-for-large">6</span><span class="show-for-large">2</span></div>
+  <div class="small-6 large-8 columns"><span class="hide-for-large">6</span><span class="show-for-large">8</span></div>
+  <div class="small-12 large-2 columns"><span class="hide-for-large">full</span><span class="show-for-large">2</span></div>
+</div>
+<div class="row display">
+  <div class="small-3 columns">3</div>
+  <div class="small-9 columns">9</div>
+</div>
+<div class="row display">
+  <div class="large-4 columns"><span class="hide-for-large">full</span><span class="show-for-large">4</span></div>
+  <div class="large-8 columns"><span class="hide-for-large">full</span><span class="show-for-large">8</span></div>
+</div>
+<div class="row display">
+  <div class="small-6 large-5 columns"><span class="hide-for-large">6</span><span class="show-for-large">5</span></div>
+  <div class="small-6 large-7 columns"><span class="hide-for-large">6</span><span class="show-for-large">7</span></div>
+</div>
+<div class="row display">
+  <div class="large-6 columns"><span class="hide-for-large">full</span><span class="show-for-large">6</span></div>
+  <div class="large-6 columns"><span class="hide-for-large">full</span><span class="show-for-large">6</span></div>
+</div>
+
+---
+
+### Small Grids
+
+Small grids expand to large screens easier than large grids cram into small screens.
+
+```html
+<div class="row">
+  <div class="small-2 columns">2 <span class="hide-for-small-only">columns</span></div>
+  <div class="small-10 columns">10 columns</div>
+</div>
+<div class="row">
+  <div class="small-3 columns">3 columns</div>
+  <div class="small-9 columns">9 columns</div>
+</div>
+```
+
+<div class="row display">
+  <div class="small-2 columns">2 columns</div>
+  <div class="small-10 columns">10 columns</div>
+</div>
+<div class="row display">
+  <div class="small-3 columns">3 columns</div>
+  <div class="small-9 columns">9 columns</div>
+</div>
+
+---
+
+### Medium Grid
+
+Medium sized screens will inherit styles from small, unless you specify a different layout using the medium grid classes.
+
+```html
+<div class="row">
+  <div class="medium-2 columns">2 columns</div>
+  <div class="medium-10 columns">10 columns</div>
+</div>
+<div class="row">
+  <div class="medium-3 columns">3 columns</div>
+  <div class="medium-9 columns">9 columns</div>
+</div>
+```
+
+<div class="row display">
+  <div class="medium-2 columns">2 columns</div>
+  <div class="medium-10 columns">10 columns</div>
+</div>
+<div class="row display">
+  <div class="medium-3 columns">3 columns</div>
+  <div class="medium-9 columns">9 columns</div>
+</div>
+
+---
+
+## Advanced
+
+### Combined Column/Row
+
+If you need a full-width column to use as a container, put the `.column` and `.row` classes on the same element. You can still nest more grids inside this container like usual.
+
+<div class="warning callout">
+  <p>Column rows can use sizing classes like <code>.small-8</code>, but only when used as a top-level container&mdash;not when nested inside another row.</p>
+</div>
+
+```html
+<div class="column row">
+  Row column
+</div>
+```
+
+<div class="column row display">
+  Row column
+</div>
+
+---
+
+### Fluid Row
+
+Normally, a row is always 1200 pixels wide. Make a row completely fluid by adding the `.expanded` class.
+
+```html
+<div class="expanded row">
+</div>
+```
+
+---
+
+### Nesting
+
+You can nest the grids indefinitely, though at a certain point it will get absurd.
+
+```html
+<div class="row">
+  <div class="small-8 columns">8
+    <div class="row">
+      <div class="small-8 columns">8 Nested
+        <div class="row">
+          <div class="small-8 columns">8 Nested Again</div>
+          <div class="small-4 columns">4</div>
+        </div>
+      </div>
+      <div class="small-4 columns">4</div>
+    </div>
+  </div>
+  <div class="small-4 columns">4</div>
+</div>
+```
+
+<div class="row display">
+  <div class="small-8 columns">8
+    <div class="row">
+      <div class="small-8 columns">8 Nested
+        <div class="row">
+          <div class="small-8 columns">8 Nested Again</div>
+          <div class="small-4 columns">4</div>
+        </div>
+      </div>
+      <div class="small-4 columns">4</div>
+    </div>
+  </div>
+  <div class="small-4 columns">4</div>
+</div>
+
+---
+
+### Offsets
+
+Move blocks up to 11 columns to the right by using classes like `.large-offset-1` and `.small-offset-3`.
+
+```html
+<div class="row">
+  <div class="large-1 columns">1</div>
+  <div class="large-11 columns">11</div>
+</div>
+<div class="row">
+  <div class="large-1 columns">1</div>
+  <div class="large-10 large-offset-1 columns">10, offset 1</div>
+</div>
+<div class="row">
+  <div class="large-1 columns">1</div>
+  <div class="large-9 large-offset-2 columns">9, offset 2</div>
+</div>
+<div class="row">
+  <div class="large-1 columns">1</div>
+  <div class="large-8 large-offset-3 columns">8, offset 3</div>
+</div>
+```
+
+<div class="row display">
+  <div class="large-1 columns">1</div>
+  <div class="large-11 columns">11</div>
+</div>
+<div class="row display">
+  <div class="large-1 columns">1</div>
+  <div class="large-10 large-offset-1 columns">10, offset 1</div>
+</div>
+<div class="row display">
+  <div class="large-1 columns">1</div>
+  <div class="large-9 large-offset-2 columns">9, offset 2</div>
+</div>
+<div class="row display">
+  <div class="large-1 columns">1</div>
+  <div class="large-8 large-offset-3 columns">8, offset 3</div>
+</div>
+
+---
+
+### Incomplete Rows
+
+In order to work around browsers' different rounding behaviors, Foundation will float the last column in a row to the right so the edge aligns. If your row doesn't have a count that adds up to 12 columns, you can tag the last column with a class of `.end` in order to override that behavior.
+
+```html
+<div class="row">
+  <div class="medium-3 columns">3</div>
+  <div class="medium-3 columns">3</div>
+  <div class="medium-3 columns">3</div>
+</div>
+<div class="row">
+  <div class="medium-3 columns">3</div>
+  <div class="medium-3 columns">3</div>
+  <div class="medium-3 columns end">3 end</div>
+</div>
+```
+
+<div class="row display-end">
+  <div class="medium-3 columns">3</div>
+  <div class="medium-3 columns">3</div>
+  <div class="medium-3 columns">3</div>
+</div>
+<div class="row display-end">
+  <div class="medium-3 columns">3</div>
+  <div class="medium-3 columns">3</div>
+  <div class="medium-3 columns end">3 end</div>
+</div>
+
+---
+
+### Gutters
+
+<div class="warning callout">
+  <p>Responsive gutters were added in Foundation 6.1.</p>
+</div>
+
+The grid *gutter*&mdash;the space between two columns in a row, and the space between the edge of a grid and the edge of the page&mdash;is responsive, and becomes wider on larger screens.
+
+Breakpoint | Gutter Size
+-----------|------------
+`small`    | 20px
+`medium`   | 30px
+
+If you're using the Sass version of Foundation, you can change these defaults by editing the `$grid-column-gutter` variable:
+
+```scss
+$grid-column-gutter: (
+  small: 20px,
+  medium: 30px,
+);
+```
+
+To add more gutter definitions, add new lines to the map. The breakpoint names used here must match a breakpoint name in your project's `$breakpoints` map.
+
+Or, if you prefer using one gutter size on every breakpoint, just use a single number.
+
+```scss
+$grid-column-gutter: 30px;
+```
+
+---
+
+### Collapse/Uncollapse Rows
+
+The `.collapse` class lets you remove column gutters (padding).
+
+There are times when you won't want each media query to be collapsed or uncollapsed. In this case, use the media query size you want and collapse or uncollapse and add that to your row element. Example shows no gutter at small media size and then adds the gutter to columns at medium.
+
+```html
+<div class="row medium-uncollapse large-collapse">
+  <div class="small-6 columns">
+    Removes gutter at large media query
+  </div>
+  <div class="small-6 columns">
+    Removes gutter at large media query
+  </div>
+</div>
+```
+
+<p class="lead">Scale the browser down to a medium size to see the difference.</p>
+
+<div class="row medium-uncollapse large-collapse">
+  <div class="small-6 columns">
+    <div class="callout secondary">
+      <p class="show-for-small-only">On a small screen, I have gutters!</p>
+      <p class="show-for-medium-only">On a medium screen, I have gutters!</p>
+      <p class="show-for-large">On a large screen, I have no gutters!</p>
+    </div>
+  </div>
+  <div class="small-6 columns">
+    <div class="callout secondary">
+      <p class="show-for-small-only">On a small screen, I have gutters!</p>
+      <p class="show-for-medium-only">On a medium screen, I have gutters!</p>
+      <p class="show-for-large">On a large screen, I have no gutters!</p>
+    </div>
+  </div>
+</div>
+
+---
+
+### Centered Columns
+
+Center your columns by adding a class of `.small-centered` to your column. Large will inherit small centering by default, but you can also center solely on large by applying a `.large-centered` class. To uncenter on large screens, use `.large-uncentered`.
+
+```html
+<div class="row">
+  <div class="small-3 small-centered columns">3 centered</div>
+</div>
+<div class="row">
+  <div class="small-6 large-centered columns">6 centered</div>
+</div>
+<div class="row">
+  <div class="small-9 small-centered large-uncentered columns">9 centered</div>
+</div>
+<div class="row">
+  <div class="small-11 small-centered columns">11 centered</div>
+</div>
+```
+
+<div class="row display">
+  <div class="small-3 small-centered columns">3 centered</div>
+</div>
+<div class="row display">
+  <div class="small-6 large-centered columns">6 centered, large</div>
+</div>
+<div class="row display">
+  <div class="small-9 small-centered large-uncentered columns">9 centered small</div>
+</div>
+<div class="row display">
+  <div class="small-11 small-centered columns">11 centered</div>
+</div>
+
+---
+
+### Source Ordering
+
+Using these source ordering classes, you can shift columns around between our breakpoints. This means if you place sub-navigation below main content on small displays, you have the option to position the sub-navigation on either the left or right of the page for large displays. Prefix push/pull with the size of the device you want to apply the styles to. `.medium-push-#`, `.large-push-#` is the syntax you'll use. Use the number 0 instead to reset a push/pull, such as `.medium-push-0` or `.large-pull-0`.
+
+```html
+<div class="row">
+  <div class="small-10 small-push-2 columns">10</div>
+  <div class="small-2 small-pull-10 columns">2, last</div>
+</div>
+<div class="row">
+  <div class="large-9 large-push-3 columns">9</div>
+  <div class="large-3 large-pull-9 columns">3, last</div>
+</div>
+<div class="row">
+  <div class="large-8 large-push-4 columns">8</div>
+  <div class="large-4 large-pull-8 columns">4, last</div>
+</div>
+<div class="row">
+  <div class="small-5 small-push-7 medium-7 medium-push-5 columns">7</div>
+  <div class="small-7 small-pull-5 medium-5 medium-pull-7 columns">5, last</div>
+</div>
+<div class="row">
+  <div class="medium-6 medium-push-6 columns">6</div>
+  <div class="medium-6 medium-pull-6 columns">6, last</div>
+</div>
+```
+
+<div class="row display">
+  <div class="small-10 small-push-2 columns">10</div>
+  <div class="small-2 small-pull-10 columns">2, last</div>
+</div>
+<div class="row display">
+  <div class="large-9 large-push-3 columns">9</div>
+  <div class="large-3 large-pull-9 columns">3, last</div>
+</div>
+<div class="row display">
+  <div class="large-8 large-push-4 columns">8</div>
+  <div class="large-4 large-pull-8 columns">4, last</div>
+</div>
+<div class="row display">
+  <div class="small-5 small-push-7 medium-7 medium-push-5 columns">7</div>
+  <div class="small-7 small-pull-5 medium-5 medium-pull-7 columns">5, last</div>
+</div>
+<div class="row display">
+  <div class="medium-6 medium-push-6 columns">6</div>
+  <div class="medium-6 medium-pull-6 columns">6, last</div>
+</div>
+
+---
+
+### Block Grids
+
+The block grid from Foundation 5 has been merged into the main grid. Add a class of the format `[size]-up-[n]` to change the size of all columns within the row. By default, the max number of columns you can use with block grid are 8.
+
+```html_example
+<div class="row small-up-1 medium-up-2 large-up-4">
+  <div class="column">
+    <img src="//placehold.it/300x300" class="thumbnail" alt="">
+  </div>
+  <div class="column">
+    <img src="//placehold.it/300x300" class="thumbnail" alt="">
+  </div>
+  <div class="column">
+    <img src="//placehold.it/300x300" class="thumbnail" alt="">
+  </div>
+  <div class="column">
+    <img src="//placehold.it/300x300" class="thumbnail" alt="">
+  </div>
+  <div class="column">
+    <img src="//placehold.it/300x300" class="thumbnail" alt="">
+  </div>
+  <div class="column">
+    <img src="//placehold.it/300x300" class="thumbnail" alt="">
+  </div>
+</div>
+```
+
+---
+
+## Building Semantically
+
+Our grid CSS is generated with a powerful set of Sass mixins, which you can use in your own code to build a semantic grid.
+
+### Rows
+
+Use the `grid-row()` mixin to create a row.
+
+```scss
+.container {
+  @include grid-row;
+}
+```
+
+---
+
+### Columns
+
+Use the `grid-column()` mixin to create a column. There are a number of ways to define the width of the column.
+
+```scss
+.main-content {
+  // Use the full column count (100%)
+  @include grid-column;
+
+  // Use a column count (33%);
+  @include grid-column(4);
+
+  // Use a percentage (15%)
+  @include grid-column(15%);
+
+  // Use a custom fraction (20%)
+  @include grid-column(1 of 5);
+}
+```
+
+The grid column calculator can also be accessed as a function. This gives you the percentage value, without any of the grid column CSS.
+
+```scss
+.main-content {
+  width: grid-column(1 of 7);
+}
+```
+
+To center a column semantically. Use ´grid-column-position(center);´.
+
+```scss
+.centered-column {
+  @include grid-column-position(center);
+}
+```
+
+---
+
+### Multiple Grids
+
+By default, all grids use the number of columns set by the `$grid-column-count` variable. However, this can be selectively overridden within an instance of a row.
+
+In this example, the grid is 16 columns instead of the normal 12. Any references to column math inside the mixin will use the new column count.
+
+```scss
+.container {
+  @include grid-row(16) {
+    .main-content {
+      // 5/16 = 31.25%
+      @include grid-column(5);
+    }
+
+    .sidebar {
+      // 11/16 = 68.75%
+      @include grid-column(11);
+    }
+  }
+}
+```
+
+You can also temporarily change the grid context without outputting any row CSS, by using the `grid-context()` mixin.
+
+```scss
+@include grid-context(7) {
+  .sidebar {
+    @include grid-column(4);
+  }
+}
+```
+
+Every other grid feature, from sizing to offsets to source ordering, can also be accessed with a mixin. Pair them with the `breakpoint()` mixin to make your grid responsive.
+
+Refer to the Sass documentation below to learn how each mixin works.
+
+```scss
+.main-content {
+  // The mixins have shorthands, too!
+  @include grid-col;
+
+  @include breakpoint(medium) {
+    // Changes size only
+    @include grid-col-size(8);
+
+    // Changes position only
+    @include grid-col-pos(4);
+  }
+}
+```
diff --git a/libraries/foundation-6/docs/pages/index.md b/libraries/foundation-6/docs/pages/index.md
new file mode 100755
index 00000000..a0d6a8a5
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/index.md
@@ -0,0 +1,180 @@
+---
+title: Foundation for Sites
+description: We built Foundation for Sites to be the most advanced responsive front-end framework in the world.
+tags:
+  - index
+  - home
+---
+
+## Installing
+
+There are a number of ways to install Foundation for Sites. If you're just getting started, we recommend downloading Yeti Launch, which allows you to quickly set up starter projects with any Foundation framework. You can also install our Node CLI to do the same thing.
+
+It's also possible to manually install Foundation for Sites into your project through npm, Bower, Meteor, or Composer.
+
+<a href="installation.html" class="large button">Install Foundation for Sites</a>
+
+### Looking for Foundation 5?
+We're still supporting Foundation 5 for those who don't want to take the leap into the future with us. You can view the docs, download a package or visit the Github page.
+
+<div class="button-group">
+  <a href="http://foundation.zurb.com/downloads/foundation-5.5.3.zip" class="button">Download</a>
+  <a href="http://foundation.zurb.com/sites/docs/v/5.5.3" class="button">Docs</a>
+  <a href="https://github.com/zurb/foundation-sites/tree/V5" class="button">GitHub</a>
+</div>
+
+---
+
+## What's in the Box?
+
+Get to know the pieces of Foundation.
+
+### General
+
+<div class="row up-1 medium-up-2 large-up-3 docs-big-index">
+  <div class="column"><a href="global.html">
+    <strong>Global Styles</strong>
+    <p>Global styles applied by the Foundation framework.</p>
+  </a></div>
+  <div class="column"><a href="accessibility.html">
+    <strong>Accessibility</strong>
+    <p>An overview of Foundation's accessibility hooks.</p>
+  </a></div>
+  <div class="column"><a href="rtl.html">
+    <strong>Right-to-Left Support</strong>
+    <p>Getting Foundation working with RTL languages.</p>
+  </a></div>
+  <div class="column"><a href="sass.html">
+    <strong>Sass</strong>
+    <p>Installing and using the Sass version of Foundation.</p>
+  </a></div>
+  <div class="column"><a href="javascript.html">
+    <strong>JavaScript</strong>
+    <p>Initializing and using Foundation's JavaScript plugins.</p>
+  </a></div>
+  <div class="column"><a href="media-queries.html">
+    <strong>Media Queries</strong>
+    <p>Working with Foundation's breakpoints.</p>
+  </a></div>
+  <div class="column"><a href="flexbox.html">
+    <strong>Flexbox Mode</strong>
+    <p>Supercharge your CSS with flexbox.</p>
+  </a></div>
+  <div class="column"><a href="compatibility.html">
+    <strong>Compatibility</strong>
+    <p>What browsers does Foundation work with?</p>
+  </a></div>
+  <div class="column"><a href="kitchen-sink.html">
+    <strong>Kitchen Sink</strong>
+    <p>Every component on one page.</p>
+  </a></div>
+</div>
+
+### Components
+
+<div class="row up-1 medium-up-3 docs-small-index">
+  <div class="column">
+    <section>
+      <h4>Layout</h4>
+      <ul>
+        <li><a href="grid.html">Grid</a></li>
+        <li><a href="flex-grid.html">Flex Grid</a></li>
+        <li><a href="forms.html">Forms</a></li>
+        <li><a href="visibility.html">Visibility Classes</a></li>
+        <li><a href="float-classes.html">Float Classes</a></li>
+        <li><a href="flexbox.html">Flexbox</a></li>
+      </ul>
+    </section>
+
+    <section>
+      <h4>Typography</h4>
+      <ul>
+        <li><a href="base-typography.html">Base Styles</a></li>
+        <li><a href="typography-helpers.html">Helper Classes</a></li>
+      </ul>
+    </section>
+
+    <section>
+      <h4>Controls</h4>
+      <ul>
+        <li><a href="button.html">Button</a></li>
+        <li><a href="button-group.html">Button Group</a></li>
+        <li><a href="close-button.html">Close Button</a></li>
+        <li><a href="slider.html">Slider</a></li>
+        <li><a href="switch.html">Switch</a></li>
+      </ul>
+    </section>
+
+    <section>
+      <h4>Libraries</h4>
+      <ul>
+        <li><a href="motion-ui.html">Motion UI</a></li>
+        <li><a href="panini.html">Panini</a></li>
+      </ul>
+    </section>
+  </div>
+  <div class="column">
+    <section>
+      <h4>Navigation</h4>
+      <ul>
+        <li><a href="navigation.html">Overview</a></li>
+        <li><a href="menu.html">Menu</a></li>
+        <li><a href="dropdown-menu.html">Dropdown Menu</a></li>
+        <li><a href="drilldown-menu.html">Drilldown Menu</a></li>
+        <li><a href="accordion-menu.html">Accordion Menu</a></li>
+        <li><a href="top-bar.html">Top Bar</a></li>
+        <li><a href="responsive-navigation.html">Responsive Navigation</a></li>
+        <li><a href="magellan.html">Magellan</a></li>
+        <li><a href="pagination.html">Pagination</a></li>
+        <li><a href="breadcrumbs.html">Breadcrumbs</a></li>
+      </ul>
+    </section>
+
+    <section>
+      <h4>Containers</h4>
+      <ul>
+        <li><a href="accordion.html">Accordion</a></li>
+        <li><a href="callout.html">Callout</a></li>
+        <li><a href="dropdown.html">Dropdown</a></li>
+        <li><a href="media-object.html">Media Object</a></li>
+        <li><a href="off-canvas.html">Off-canvas</a></li>
+        <li><a href="reveal.html">Reveal</a></li>
+        <li><a href="table.html">Table</a></li>
+        <li><a href="tabs.html">Tabs</a></li>
+      </ul>
+    </section>
+  </div>
+  <div class="column">
+    <section>
+      <h4>Media</h4>
+      <ul>
+        <li><a href="badge.html">Badge</a></li>
+        <li><a href="flex-video.html">Flex Video</a></li>
+        <li><a href="label.html">Label</a></li>
+        <li><a href="orbit.html">Orbit</a></li>
+        <li><a href="progress-bar.html">Progress Bar</a></li>
+        <li><a href="thumbnail.html">Thumbnail</a></li>
+        <li><a href="tooltip.html">Tooltip</a></li>
+      </ul>
+    </section>
+
+    <section>
+      <h4>Plugins</h4>
+      <ul>
+        <li><a href="abide.html">Abide</a></li>
+        <li><a href="equalizer.html">Equalizer</a></li>
+        <li><a href="interchange.html">Interchange</a></li>
+        <li><a href="toggler.html">Toggler</a></li>
+        <li><a href="sticky.html">Sticky</a></li>
+      </ul>
+    </section>
+
+    <section>
+      <h4>Sass</h4>
+      <ul>
+        <li><a href="sass-mixins.html">Mixins</a></li>
+        <li><a href="sass-functions.html">Functions</a></li>
+      </ul>
+    </section>
+  </div>
+</div>
diff --git a/libraries/foundation-6/docs/pages/installation.md b/libraries/foundation-6/docs/pages/installation.md
new file mode 100755
index 00000000..56e4e808
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/installation.md
@@ -0,0 +1,162 @@
+---
+title: Installation
+description: There are many ways to install Foundation, but if you're just getting started, we have a few suggestions.
+---
+
+<!--## Yeti Launch-->
+
+<!--Yeti Launch is our Mac app for quickly spinning up blank projects for any of the three Foundation frameworks. If you're just getting started with Foundation, we recommend downloading Yeti Launch to get going right away.-->
+
+<!--<a href="http://foundation.zurb.com/develop/yeti-launch" class="large button">Download Yeti Launch</a>-->
+
+### Command-Line Tool
+
+Not a fan of GUIs? The Node-powered Foundation CLI can install the same template projects for you. Install it with npm:
+
+```bash
+npm install --global foundation-cli
+```
+
+Depending on how your machine is configured, the command may fail with an `EACCESS` error. To get around this, run the command with `sudo` at the beginning:
+
+```bash
+sudo npm install --global foundation-cli
+```
+
+<div class="callout alert">
+  <p>If you already have the Foundation 5 CLI on your machine, you will only be able to access one of the commands, depending on how your command line environment is configured.</p>
+
+  <p>If you want to remove the old CLI, run <code>gem uninstall foundation</code>. After testing this new CLI, if you want to go back to the old CLI, run <code>npm uninstall foundation-cli --global</code>.</p>
+</div>
+
+Once you've installed the CLI, use the `new` command to start making a new project:
+
+```bash
+foundation new
+```
+
+---
+
+## Manual Setup
+
+### Basic Template
+
+To manually set up the basic template, first download it with Git:
+
+```bash
+git clone https://github.com/zurb/foundation-sites-template projectname
+```
+
+Then open the folder in your command line, and install the needed dependencies:
+
+```bash
+cd projectname
+npm install
+bower install
+```
+
+Finally, run `npm start` to run the Sass compiler. It will re-run every time you save a Sass file.
+
+### ZURB Template
+
+To manually set up the ZURB template, first download it with Git:
+
+```bash
+git clone https://github.com/zurb/foundation-zurb-template projectname
+```
+
+Then open the folder in your command line, and install the needed dependencies:
+
+```bash
+cd projectname
+npm install
+bower install
+```
+
+Finally, run `npm start` to run Gulp. Your finished site will be created in a folder called `dist`, viewable at this URL:
+
+```
+http://localhost:8000
+```
+
+To create compressed, production-ready assets, run `npm run build`.
+
+---
+
+## CSS Download
+
+If you aren't into Sass, we have a starter template with compiled CSS and JavaScript, as well as a starting `index.html` file for you to hack on. Just unzip and get coding!
+
+<a href="http://foundation.zurb.com/sites/download" class="large button">Download CSS Version</a>
+
+---
+
+## HTML Starter Template
+Start with this HTML template and adapt it to your needs.
+
+```html
+<!doctype html>
+<html class="no-js" lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>Foundation Starter Template</title>
+    <link rel="stylesheet" href="css/foundation.css" />
+  </head>
+  <body>
+    <h1>Hello, world!</h1>
+
+    <script src="js/vendor/jquery.min.js"></script>
+    <script src="js/vendor/what-input.min.js"></script>
+    <script src="js/foundation.min.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+
+  </body>
+</html>
+
+```
+
+---
+
+## CDN Links
+
+The folks at [jsDelivr](https://www.jsdelivr.com) host the compressed Foundation CSS and JavaScript for us. Just drop one of these `<script>` tags into your HTML and you're set:
+
+```html
+<!-- Compressed CSS -->
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/foundation/6.2.1/foundation.min.css">
+
+<!-- Compressed JavaScript -->
+<script src="https://cdn.jsdelivr.net/foundation/6.2.1/foundation.min.js"></script>
+```
+
+---
+
+## Package Managers
+
+Foundation is available on npm, Bower, Meteor, and Composer. The package includes all of the source Sass and JavaScript files, as well as compiled CSS and JavaScript, in uncompressed and compressed flavors.
+
+- npm: `npm install foundation-sites`
+- Bower: `bower install foundation-sites`
+- Meteor: `meteor add zurb:foundation-sites`
+- Composer: `php composer.phar require zurb/foundation`
+- NuGet: `Install-Package foundation-sites`
+
+### Package Contents
+
+Here's what comes in the package.
+
+- `scss/`: Source Sass files. Use this folder as a load path in Sass.
+- `js/`: Source JavaScript files. If you're using a build system, make sure `foundation.core.js` is loaded first.
+- `dist/`: Compiled files.
+  - `css/`: Compiled CSS files. Includes minified and unminified files.
+  - `js/`: Concatenated JavaScript files. Includes minified and unminified files.
+
+---
+
+## Other Integrations
+
+The Foundation community has helped us integrate the framework into Rails, WordPress, Django, and more. Head to our [resources page](http://foundation.zurb.com/sites/resources) to find even more ways to use Foundation.
diff --git a/libraries/foundation-6/docs/pages/interchange.md b/libraries/foundation-6/docs/pages/interchange.md
new file mode 100755
index 00000000..842af572
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/interchange.md
@@ -0,0 +1,89 @@
+---
+title: Interchange
+description: Interchange uses media queries to dynamically load responsive content that is appropriate for the user's device.
+js: js/foundation.interchange.js
+---
+
+<img data-interchange="[assets/img/interchange/small.jpg, small], [assets/img/interchange/medium.jpg, medium], [assets/img/interchange/large.jpg, large]">
+
+---
+
+## Use with Images
+
+Bandwidth is precious on mobile networks, so it helps to serve users on smaller screens a smaller image. Using Interchange, you can serve up specific images for users depending on their screen size. CSS media queries are used to determine what size the user's device is, and which image should be served.
+
+In the above example, we have three different sizes of image: one for small screens, one for medium, and one for large. Use the below format to set up a responsive image. The image will change automatically as the browser resizes.
+
+```html
+<img data-interchange="[assets/img/interchange/small.jpg, small], [assets/img/interchange/medium.jpg, medium], [assets/img/interchange/large.jpg, large]">
+```
+
+The image set is a comma-separated list of items with this format:
+
+```
+[image_path, media_query]
+```
+
+`image_path` can be a relative or absolute path. `media_query` can be any CSS media query, or a Foundation breakpoint&mdash;see [Named Media Queries](#named-media-queries) below.
+
+<div class="callout primary">
+  <p>Interchange evaluates rules in order, and the last rule to match will be used. For this reason, you should order your rules from smallest screen to largest screen.</p>
+</div>
+
+---
+
+## Use with HTML
+
+Interchange can also swap in and out entire chunks of HTML. This allows you to load in mobile-friendly components on small screens, or more advanced versions on large screens.
+
+In the below example, we've applied `data-interchange` to a `<div>` instead of an `<img>` element, and the paths are to HTML files instead of images.
+
+```html
+<div data-interchange="[assets/partials/interchange-default.html, small], [assets/partials/interchange-medium.html, medium], [assets/partials/interchange-large.html, large]"></div>
+```
+
+<div id="docs-example-interchange" data-interchange="[assets/partials/interchange-default.html, small], [assets/partials/interchange-medium.html, medium], [assets/partials/interchange-large.html, large]"></div>
+
+---
+
+## Use with Background Images
+
+When using Interchange on a non-`<img>` element, you can pass in an image path instead of an HTML path, and the element's `background-image` property will be set to the path of the matching rule.
+
+```html
+<div data-interchange="[assets/img/interchange/small.jpg, small], [assets/img/interchange/medium.jpg, medium], [assets/img/interchange/large.jpg, large]"></div>
+```
+
+---
+
+## Named Media Queries
+
+Interchange supports named queries as shorthands for full CSS media queries. Any breakpoint defined in the `$breakpoints` variable in your Sass will work, along with a few other keywords. [Learn more about changing the default breakpoints.](media-queries.html)
+
+Query Name | Media Query
+-----------|------------
+small      | `screen and (min-width: 0em)`
+medium     | `only screen and (min-width: 40em)`
+large      | `only screen and (min-width: 64em)`
+xlarge     | `only screen and (min-width: 75em)`
+xxlarge    | `only screen and (min-width: 90em)`
+portrait   | `screen and (orientation: portrait)`
+landscape  | `screen and (orientation: landscape)`
+retina     | `only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)`
+
+To add your own named media queries, add them as properties to `Foundation.Interchange.SPECIAL_QUERIES`.
+
+```js
+Foundation.Interchange.SPECIAL_QUERIES['square'] = 'screen and (aspect-ratio: 1/1)';
+```
+
+---
+
+## Programmatic Use
+
+When using Interchange programmatically, you need to pass in your ruleset in the `options` object, as well as the *container* element, *not* the content elements, like so:
+
+```js
+var $photoFrame = $('#some-container');
+var interchange = new Foundation.Interchange($photoFrame, {rules: "[path/to/default.jpg, small], [path/to/medium.jpg, medium], [path/to/large.jpg, large]"});
+```
diff --git a/libraries/foundation-6/docs/pages/javascript-utilities.md b/libraries/foundation-6/docs/pages/javascript-utilities.md
new file mode 100755
index 00000000..c9e21919
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/javascript-utilities.md
@@ -0,0 +1,177 @@
+---
+title: JavaScript Utilities
+description: Our JavaScript Utility Libraries are easy to use and super helpful.
+---
+
+## Installing
+
+See our [JavaScript](javascript.html) and [Installation](installation.html) pages on how to install our files in your project.
+
+## Box
+`js/foundation.util.box.js`
+
+One of the useful libraries is `Foundation.Box`, and it has a couple methods designed to make your life easier. You can pass either jQuery objects or plain JavaScript elements to both.
+
+```js
+
+var dims = Foundation.Box.GetDimensions(element);
+```
+Will return an object that contains the dimensions of the `element` passed. The object return looks like:
+
+```js
+
+{
+  height: 54,
+  width: 521,
+  offset: {
+    left: 198,
+    top: 1047
+  },
+  parentDims: {
+    height: ... // parentDims and windowDims share the same format as the element dimensions.
+  },
+  windowDims: {
+    height: ...
+  }
+}
+```
+
+Also included is the `ImNotTouchingYou` function. It returns a boolean based on whether the element you pass it is colliding with the edge of the window, or optionally, a parent element. The other two options are for detecting collisions on only one axis, and are simply booleans you pass in.
+```js
+
+var clear = Foundation.Box.ImNotTouchingYou(element [, parent, leftAndRightOnly, topAndBottomOnly]);
+```
+
+## Keyboard
+`js/foundation.util.keyboard.js`
+
+Another quite useful library, `Foundation.Keyboard` has several methods to make keyboard event interaction easier for all. Shout out to [Marius Olbertz](http://www.mariusolbertz.de/) of Germany who conceived and coded this library.
+
+Ever wanted a handy list of common keycodes and the keys they represent? Use `Foundation.Keyboard.keys`. This is an object containing key/value pairs of the most frequently used keys in our framework.
+
+Want to manage your own keyboard inputs? No problem! Within your `.on('key**')` callback, call `Foundation.Keyboard.parseKey(event)` to get a string of what key was pressed, e.g. `'TAB'` or `'ALT_X'`.
+You can also use this function outside of the Foundation components in your own JavaScript code.
+
+What if you want to know if there's focusable elements somewhere on a page? Instead of writing that function and selector yourself, just use:
+```js
+var focusable = Foundation.Keyboard.findFocusable($('#content'));
+```
+
+The real gem of this library, however, is the `handleKey` function. Any plugin that is registered with the utility can call on this method to manage keyboard inputs.
+```js
+Foundation.Keyboard.register('pluginName', {
+  'TAB': 'next'
+});
+...//in event callback
+Foundation.Keyboard.handleKey(event, 'pluginName', {
+  next: function(){
+    //do stuff
+  }
+});
+```
+There are also the functions `handled` and `unhandled` where you can place any code that shall always be executed after the key event has been handled or not.
+
+If you want to use your own key bindings, you can simply call the `Foundation.Keyboard.register` function even after Foundation has been initialized.
+
+## MediaQuery
+`js/foundation.util.mediaQuery.js`
+
+The media query library used by Foundation has two publicly accessible functions and two properties:
+```js
+
+Foundation.MediaQuery.get('medium');
+// returns the minimum pixel value for the `medium` breakpoint.
+Foundation.MediaQuery.atLeast('large');
+// returns a boolean if the current screen size is, you guessed it, at least `large`.
+Foundation.MediaQuery.queries;
+// an array of media queries Foundation uses for breakpoints.
+Foundation.MediaQuery.current;
+// a string of the current breakpoint size.
+```
+
+Also included is an event emitter for breakpoint changes. You can hook into this event with
+```js
+
+$(window).on('changed.zf.mediaquery', function(event, newSize, oldSize){});
+```
+
+## Motion & Move
+`js/foundation.util.motion.js`
+
+Two handy utilities, one little file.
+
+Foundation.Motion is the same JavaScript used by the [Motion-UI](https://github.com/zurb/motion-ui) library, and is included in Foundation 6. See the GitHub page for more details.
+
+Foundation.Move is a simple helper function for utilizing browsers' `requestAnimationFrame` method for hardware acceleration. Invoke like so:
+```js
+Foundation.Move(durationInMS, $element, function(){
+  //animation logic
+});
+```
+Your jQuery element will fire `finished.zf.animate` when the animation is complete.
+
+## Timer & Images Loaded
+`js/foundation.util.timerAndImageLoader.js`
+
+Both functions are used by [Orbit](orbit.html) and can be useful elsewhere as well.
+```js
+
+var timer = new Foundation.Timer($element, {duration: ms, infinite: bool}, callback);
+// includes: timer.start(), timer.pause(), timer.restart()
+```
+Similar to `setInterval`, except you can pause and pick back up where you left off.
+
+```js
+Foundation.onImagesLoaded($images, callback);
+```
+This will execute your callback function after all the images in your jQuery collection have loaded.
+
+## Touch
+`js/foundation.util.touch.js`
+
+Gives you the ability to add swipe and psuedo-drag events to elements.
+
+```js
+$('selector').addTouch().on('mousemove', handleDrag);
+// Binds elements to touch events. Used in the Slider plugin for mobile devices.
+$('selector').spotSwipe().on('swipeleft', handleLeftSwipe);
+// Binds elements to swipe events. Used in the Orbit plugin for mobile devices.
+```
+
+## Triggers
+`js/foundation.util.triggers.js`
+
+Provides a number of event listeners and triggers your script can hook into. Most of them are self-explanatory, and utilized in many Foundation plugins.
+```html
+<button data-open='someId'>I open something!</button>
+<button data-close='someId'>I close something!</button>
+<button data-toggle='someId'>I toggle something!</button>
+```
+```js
+// Add the data-open/close/toggle='idOfElement' tag to your markup.
+// When a click event is triggered on that element, these are the non-bubbling events directed at your element.
+// If you don't use an `id` selector, an event will be triggered that bubbles up to window.
+$('selector').on('open.zf.trigger', handleOpen);
+$('selector').on('close.zf.trigger', handleClose);
+$('selector').on('toggle.zf.trigger', handleToggle);
+```
+Besides these useful click triggers, there are also other listeners for you to tap into. Need to know when the window has been resized, but only when it's done resizing? How about a debounced scroll event? Add this markup and JavaScript and you're good to go!
+
+```html
+<div data-scroll='someId'>...</div>
+<div data-resize='someId'>...</div>
+```
+```js
+$('#someId').on('scrollme.zf.trigger', handleScroll);
+$('#someId').on('resizeme.zf.trigger', handleResize);
+```
+
+## Miscellaneous
+
+Foundation includes a couple useful features in the core library that are used in many places, that you can tap into.
+
+`Foundation.GetYoDigits([number, namespace])` returns a base-36, psuedo-random string with a hyphenated namespace (if you include one). Both arguments are optional, it will by default return a string six characters long.
+
+`Foundation.getFnName(fn)` returns a string representation of a named function. Seems small, but believe us, it's useful.
+
+`Foundation.transitionend()` is a function<span data-tooltip title="Goodbye ZURB, I'll miss you"> </span>that returns the string of the properly vendor-prefixed version of `transitionend` events. Most browsers don't require a prefix these days, but for those that do, we've got you covered. But IE 9 doesn't support transitions?? Quite right you are! In that case our plugins that use transitions will simply snap to whatever location or visibility state they were headed to, and this function will fire a `transitionend` event manually on the element you passed. It still gives the desired results, and allows Motion-UI to work in IE 9.
diff --git a/libraries/foundation-6/docs/pages/javascript.md b/libraries/foundation-6/docs/pages/javascript.md
new file mode 100755
index 00000000..635f4b63
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/javascript.md
@@ -0,0 +1,213 @@
+---
+title: JavaScript
+description: Our JavaScript is easy to set up and only requires jQuery to get going.
+---
+
+## Installing
+
+You can get the Foundation JavaScript files from a ZIP download, package manager, or CDN. Check out the [Installation](installation.html) page to learn more.
+
+Once you have the files, add links to jQuery and Foundation as `<script>` tags at the bottom of your page, just before the closing `<body>` tag.
+
+```html
+<script src="js/jquery.min.js"></script>
+<!-- this will include every plugin and utility required by Foundation -->
+<script src="js/foundation.min.js"></script>
+```
+
+<div class="callout warning">
+  <p>Make sure Foundation loads <em>after</em> jQuery.</p>
+</div>
+
+### Babel Required
+
+Our JavaScript uses some features of ECMAScript 2015. **If you use Foundation with a build system, you'll need to compile our code to ES5.** We use [Babel](https://babeljs.io/) in our templates to do this. Babel has [plugins](https://babeljs.io/docs/setup/) for every build system imaginable, so integrating it into an existing setup is easy.
+
+When configuring Babel to work with Foundation, you only need to include the `es2015` preset. At the root of your project, add a file called `.babelrc` with these contents to load that configuration:
+
+```json
+{
+  "presets": ["es2015"]
+}
+```
+
+### File Structure
+
+All of Foundation's plugins ship as individual files, named `foundation.tabs.js`, `foundation.accordion.js`, and so on. These files are also combined into one big file called `foundation.js`, which allows you to get every plugin at once.
+
+If you're only using certain plugins, know that they all require `foundation.core.js` and `foundation.util.mediaQuery.js` to be loaded *first*. Some plugins also require specific utility libraries that ship with Foundation&mdash;refer to a plugin's documentation to find out which plugins require what, and see the [JavaScript Utilities](javascript-utilities.html) page for more information.
+
+```html
+<!-- Example of selectively including files -->
+<script src="js/jquery.min.js"></script>
+<script src="js/foundation.core.js"></script>
+<script src="js/foundation.util.mediaQuery.js"></script>
+<script src="js/foundation.tabs.js"></script>
+<script src="js/foundation.accordion.js"></script>
+```
+
+<div class="callout warning">
+  <p>Loading many individual files like this creates a lot of network overhead, especially for users on mobile networks. To keep your pages loading quick, we recommend using a tool like <a href="http://gruntjs.com">Grunt</a> or <a href="http://gulpjs.com">Gulp</a> to combine all of your JavaScript files into one.</p>
+</div>
+
+---
+
+## Initializing
+
+The `.foundation()` function on the jQuery object will kick off every Foundation plugin at once.
+
+```js
+$(document).foundation();
+```
+
+You can also selectively initialize plugins by call the `.foundation();` method on one or more elements with a plugin.
+
+```js
+$('#foo').foundation(); // initialize all plugins within the element `#foo`
+$('.has-tip').foundation(); // initialize all tooltips on the page.
+```
+
+---
+
+## Using Plugins
+
+Plugins are attached to HTML elements using data attributes. The data attribute will match the name of the plugin. For example, adding `data-accordion` to an element creates an accordion, while adding `data-tooltip` creates a tooltip link.
+
+```html_example
+<p><span data-tooltip aria-haspopup="true" class="has-tip" tabindex="1" title="Fancy word for a beetle.">Scarabaeus</span></p>
+```
+
+<div class="callout warning">
+  <p>A single element can only have one Foundation plugin on it at a time. However, most plugins can be nested inside other ones.</p>
+</div>
+
+---
+
+## Configuring Plugins
+
+Each plugin has a set of configuration settings that customize how it works. For example, you change how fast an [accordion](accordion.html) slides up and down, or if [tooltips](tooltip.html) should appear on touch devices.
+
+Plugin settings can be changed globally by changing the `DEFAULTS` property on the plugin.
+
+```js
+Foundation.Accordion.defaults.slideSpeed = 500;
+Foundation.Accordion.defaults.multiExpand = true;
+```
+
+An individual instance of a plugin can also have different settings. These can be set in the HTML or in JavaScript.
+<div class="callout warning">
+  <p>In the HTML, each setting can be defined as an individual data attribute. Note that camelCased options are converted to hyphenated words. In the below example, `multiExpand` becomes `data-multi-expand`.</p>
+</div>
+
+```html
+<div data-accordion data-slide-speed="500" data-multi-expand="true"></div>
+```
+
+Data options can also be set in bulk on one attribute, `data-options`. Options are written with the format `key: value;`, with a semicolon separating each option. The above example can be written using `data-options` like so:
+
+```html
+<div data-accordion data-options="slideSpeed: 500; multiExpand: true;"></div>
+```
+There is one exception to this rule above, in the [Sticky](sticky.html) plugin. Because of the way you pass top and bottom anchors to that plugin, you can't include them in your `data-options` attribute. If you are using a single anchor or no declared anchor at all, you can still use `data-options`, and you can use it for all other options available.
+
+<hr>
+Setting options with JavaScript involves passing an object into the constructor function, like this:
+
+```js
+var options = {multiExpand: true, allowAllClosed: false};
+var accordion = new Foundation.Accordion($('#some-accordion'), options);
+```
+
+It's worth noting that options passed to plugins via JavaScript take the highest precedence, and will overwrite any default values or options applied via the `data-some-option` tag. This is also how the `data-options="someOption:true; someOtherOption:false"` options are passed into constructor functions. So, if you were to say:
+```html
+<div data-accordion data-slide-speed="500" data-options="slideSpeed:250;">...</div>
+```
+your accordion element would have a slide speed of 250 milliseconds.
+
+---
+
+## Adding Plugins After Page Load
+
+If you add new HTML to the DOM, any plugins on those elements won't be initialized by default. Re-call the `.foundation()` function to check for new plugins.
+
+```js
+$.ajax('assets/partials/kitten-carousel.html', function(data) {
+  $('#kitten-carousel').html(data).foundation();
+});
+```
+
+---
+
+## Adding Content to Plugins
+
+In previous versions of Foundation, there was a method for plugins called `reflow`, though it's inclusion on plugins wasn't universal. For Foundation 6 we've added a global `reInit` method that will remove and reapply event listeners, update the plugin's instance data for relevant information, like a new tab or content pane being added, and reset any cached data the plugin may rely on.
+
+This method can be called on a plugin class:
+```js
+Foundation.reInit('tooltip');
+```
+an array of plugin classes:
+```js
+Foundation.reInit(['tooltip', 'accordion', 'reveal']);
+```
+or an individual element or collection of elements selected with jQuery:
+```js
+Foundation.reInit($('#some-plugin'));
+Foundation.reInit($('.some-plugin-class'));
+```
+
+If passing strings, it is required to pass proper <strong>camelCased</strong> or <strong>kebab-cased</strong> plugin names. Passing `DropdownMenu` or `dropdown-menu` are equivalent.
+
+---
+
+## Programmatic Use
+
+Plugins can be created programmatically in JavaScript. Every plugin is a class on the global `Foundation` object, with a constructor that accepts two parameters: an element to attach to, and an object of options.
+
+```js
+var $accordion = new Foundation.Accordion($('#accordion'), {
+  slideSpeed: 500,
+  multiExpand: true
+});
+```
+
+Most plugins have a public API that allows you to manipulate it through JavaScript. Refer to a plugin's documentation to learn what functions are available. Invoking methods is easy as pie:
+
+```js
+$('#reveal').foundation('open'); //will open a Reveal modal with id `reveal`.
+
+$('[data-tabs]').eq(0).foundation('selectTab', $('#example')); //will change the first Tabs on the page to whatever panel you choose.
+
+$('.tooltip').foundation('destroy'); //will destroy all Tooltips on the page.
+
+```
+You can use any jQuery selector you like, and if the selector encompasses multiple plugins, they will all have the same the chosen method invoked. You pass arguments just like you would any in other JavaScript `function(comma, delimited, so, easy)`. We did make an effort to reduce the number of public methods that require arguments, but check the plugin's page to see if it requires additional information.
+
+If you are creating your plugins programmatically, you can, of course, invoke methods directly:
+
+```js
+var $modal = new Foundation.Reveal($('#some-modal'), options);
+$modal.open();
+```
+
+<div class="callout warning">
+  <p>Plugin methods prefixed with an underscore are considered part of the internal API, which means they could change, break, or disappear without warning. We recommend sticking to only the public API, which is documented on each plugin's page.</p>
+</div>
+
+---
+
+## Events
+
+Every plugin fires DOM events when certain functions finish. For example, you can listen for when tabs change, or an off-canvas menu opens, and create a callback to respond to it.
+
+```js
+$('[data-tabs]').on('change.zf.tabs', function() {
+  console.log('Those tabs sure did change!');
+});
+```
+
+Refer to each plugin's documentation to see a list of events it fires, and when they fire.
+
+<div class="callout warning">
+  <p>Starting with Foundation 6, we removed callbacks as plugin settings. All use of callbacks with plugins should be done as event listeners.</p>
+</div>
diff --git a/libraries/foundation-6/docs/pages/kitchen-sink.md b/libraries/foundation-6/docs/pages/kitchen-sink.md
new file mode 100755
index 00000000..0b9d1737
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/kitchen-sink.md
@@ -0,0 +1,1097 @@
+---
+title: Kitchen Sink
+description: Everything but.
+---
+
+## Abide
+
+```html_example
+<form data-abide novalidate>
+  <div data-abide-error class="alert callout" style="display: none;">
+    <p><i class="fi-alert"></i> There are some errors in your form.</p>
+  </div>
+  <div class="row">
+    <div class="small-12 columns">
+      <label>Number Required
+        <input type="text" placeholder="1234" aria-describedby="exampleHelpText" required pattern="number">
+        <span class="form-error">
+          Yo, you had better fill this out, it's required.
+        </span>
+      </label>
+      <p class="help-text" id="exampleHelpText">Here's how you use this input field!</p>
+    </div>
+    <div class="small-12 columns">
+      <label>Nothing Required!
+        <input type="text" placeholder="Use me, or don't" aria-describedby="exampleHelpTex" data-abide-ignore>
+      </label>
+      <p class="help-text" id="exampleHelpTex">This input is ignored by Abide using `data-abide-ignore`</p>
+    </div>
+    <div class="small-12 columns">
+      <label>Password Required
+        <input type="password" id="password" placeholder="yeti4preZ" aria-describedby="exampleHelpText" required >
+        <span class="form-error">
+          I'm required!
+        </span>
+      </label>
+      <p class="help-text" id="exampleHelpText">Enter a password please.</p>
+    </div>
+    <div class="small-12 columns">
+      <label>Re-enter Password
+        <input type="password" placeholder="yeti4preZ" aria-describedby="exampleHelpText2" required pattern="alpha_numeric" data-equalto="password">
+        <span class="form-error">
+          Hey, passwords are supposed to match!
+        </span>
+      </label>
+      <p class="help-text" id="exampleHelpText2">This field is using the `data-equalto="password"` attribute, causing it to match the password field above.</p>
+    </div>
+  </div>
+  <div class="row">
+    <div class="medium-6 columns">
+      <label>URL Pattern, not required, but throws error if it doesn't match the Regular Expression for a valid URL.
+        <input type="text" placeholder="http://foundation.zurb.com" pattern="url">
+      </label>
+    </div>
+    <div class="medium-6 columns">
+      <label>European Cars, Choose One, it can't be the blank option.
+        <select id="select" required>
+          <option value=""></option>
+          <option value="volvo">Volvo</option>
+          <option value="saab">Saab</option>
+          <option value="mercedes">Mercedes</option>
+          <option value="audi">Audi</option>
+        </select>
+      </label>
+    </div>
+  </div>
+  <div class="row">
+    <fieldset class="large-6 columns">
+      <legend>Choose Your Favorite, and this is required, so you have to pick one.</legend>
+      <input type="radio" name="pokemon" value="Red" id="pokemonRed"><label for="pokemonRed">Red</label>
+      <input type="radio" name="pokemon" value="Blue" id="pokemonBlue" required><label for="pokemonBlue">Blue</label>
+      <input type="radio" name="pokemon" value="Yellow" id="pokemonYellow"><label for="pokemonYellow">Yellow</label>
+    </fieldset>
+    <fieldset class="large-6 columns">
+      <legend>Choose Your Favorite - not required, you can leave this one blank.</legend>
+      <input type="radio" name="pockets" value="Red" id="pocketsRed"><label for="pocketsRed">Red</label>
+      <input type="radio" name="pockets" value="Blue" id="pocketsBlue"><label for="pocketsBlue">Blue</label>
+      <input type="radio" name="pockets" value="Yellow" id="pocketsYellow"><label for="pocketsYellow">Yellow</label>
+    </fieldset>
+    <fieldset class="large-6 columns">
+      <legend>Check these out</legend>
+      <input id="checkbox1" type="checkbox"><label for="checkbox1">Checkbox 1</label>
+      <input id="checkbox2" type="checkbox" required><label for="checkbox2">Checkbox 2</label>
+      <input id="checkbox3" type="checkbox"><label for="checkbox3">Checkbox 3</label>
+    </fieldset>
+  </div>
+  <div class="row">
+    <fieldset class="large-6 columns">
+      <button class="button" type="submit" value="Submit">Submit</button>
+    </fieldset>
+    <fieldset class="large-6 columns">
+      <button class="button" type="reset" value="Reset">Reset</button>
+    </fieldset>
+  </div>
+</form>
+```
+
+---
+
+## Accordion
+
+```html_example
+<ul class="accordion" data-accordion role="tablist">
+  <li class="accordion-item is-active">
+    <!-- The tab title needs role="tab", an href, a unique ID, and aria-controls. -->
+    <a href="#panel1d" role="tab" class="accordion-title" id="panel1d-heading" aria-controls="panel1d">Accordion 1</a>
+    <!-- The content pane needs an ID that matches the above href, role="tabpanel", data-tab-content, and aria-labelledby. -->
+    <div id="panel1d" class="accordion-content" role="tabpanel" data-tab-content aria-labelledby="panel1d-heading">
+      Panel 1. Lorem ipsum dolor
+    </div>
+  </li>
+  <li class="accordion-item">
+    <!-- The tab title needs role="tab", an href, a unique ID, and aria-controls. -->
+    <a href="#panel1d" role="tab" class="accordion-title" id="panel1d-heading" aria-controls="panel1d">Accordion 1</a>
+    <!-- The content pane needs an ID that matches the above href, role="tabpanel", data-tab-content, and aria-labelledby. -->
+    <div id="panel1d" class="accordion-content" role="tabpanel" data-tab-content aria-labelledby="panel1d-heading">
+      Panel 2. Lorem ipsum dolor
+    </div>
+  </li>
+  <li class="accordion-item">
+    <!-- The tab title needs role="tab", an href, a unique ID, and aria-controls. -->
+    <a href="#panel1d" role="tab" class="accordion-title" id="panel1d-heading" aria-controls="panel1d">Accordion 1</a>
+    <!-- The content pane needs an ID that matches the above href, role="tabpanel", data-tab-content, and aria-labelledby. -->
+    <div id="panel1d" class="accordion-content" role="tabpanel" data-tab-content aria-labelledby="panel1d-heading">
+      Panel 3. Lorem ipsum dolor
+    </div>
+  </li>
+</ul>
+```
+
+---
+
+## Accordion Menu
+
+```html_example
+<ul class="vertical menu" data-accordion-menu>
+  <li>
+    <a href="#">Item 1</a>
+    <ul class="menu vertical nested is-active">
+      <li>
+        <a href="#">Item 1A</a>
+        <ul class="menu vertical nested">
+          <li><a href="#">Item 1Ai</a></li>
+          <li><a href="#">Item 1Aii</a></li>
+          <li><a href="#">Item 1Aiii</a></li>
+        </ul>
+      </li>
+      <li><a href="#">Item 1B</a></li>
+      <li><a href="#">Item 1C</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="#">Item 2</a>
+    <ul class="menu vertical nested">
+      <li><a href="#">Item 2A</a></li>
+      <li><a href="#">Item 2B</a></li>
+    </ul>
+  </li>
+  <li><a href="#">Item 3</a></li>
+</ul>
+```
+
+---
+
+## Badge
+
+```html_example
+<span class="secondary badge">2</span>
+<span class="success badge">3</span>
+<span class="alert badge">A</span>
+<span class="warning badge">B</span>
+```
+
+---
+
+## Breadcrumbs
+
+```html_example
+<nav aria-label="You are here:" role="navigation">
+  <ul class="breadcrumbs">
+    <li><a href="#">Home</a></li>
+    <li><a href="#">Features</a></li>
+    <li class="disabled">Gene Splicing</li>
+    <li>
+      <span class="show-for-sr">Current: </span> Cloning
+    </li>
+  </ul>
+</nav>
+```
+
+---
+
+## Button
+
+```html_example
+<!-- Anchors (links) -->
+<a href="about.html" class="button">Learn More</a>
+<a href="#features" class="button">View All Features</a>
+
+<!-- Buttons (actions) -->
+<button type="button" class="success button">Save</button>
+<button type="button" class="alert button">Delete</button>
+
+<a class="tiny button" href="#">So Tiny</a>
+<a class="small button" href="#">So Small</a>
+<a class="large button" href="#">So Large</a>
+<a class="expanded button" href="#">Such Expand</a>
+
+<div class="button-group">
+  <a class="button">One</a>
+  <a class="button">Two</a>
+  <a class="button">Three</a>
+</div>
+```
+
+---
+
+## Callout
+
+```html_example
+<div class="callout">
+  <h5>This is a callout.</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+
+<div class="callout secondary">
+  <h5>This is a secondary callout</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+
+<div class="callout success">
+  <h5>This is a success callout</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+
+<div class="callout warning">
+  <h5>This is a warning callout</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+
+<div class="callout alert">
+  <h5>This is an alert callout</h5>
+  <p>It has an easy to override visual style, and is appropriately subdued.</p>
+  <a href="#">It's dangerous to go alone, take this.</a>
+</div>
+```
+
+---
+
+## Close Button
+
+```html_example
+<div class="callout">
+  <button class="close-button" aria-label="Close alert" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+  <p>This is a static close button example.</p>
+</div>
+```
+
+---
+
+## Drilldown Menu
+
+```html_example
+<ul class="vertical menu" data-drilldown style="width: 200px" id="m1">
+  <li>
+    <a href="#">Item 1</a>
+    <ul class="vertical menu" id="m2">
+      <li>
+        <a href="#">Item 1A</a>
+        <ul class="vertical menu" id="m3">
+          <li><a href="#">Item 1Aa</a></li>
+          <li><a href="#">Item 1Ba</a></li>
+          <li><a href="#">Item 1Ca</a></li>
+          <li><a href="#">Item 1Da</a></li>
+          <li><a href="#">Item 1Ea</a></li>
+        </ul>
+      </li>
+      <li><a href="#">Item 1B</a></li>
+      <li><a href="#">Item 1C</a></li>
+      <li><a href="#">Item 1D</a></li>
+      <li><a href="#">Item 1E</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="#">Item 2</a>
+    <ul class="vertical menu">
+      <li><a href="#">Item 2A</a></li>
+      <li><a href="#">Item 2B</a></li>
+      <li><a href="#">Item 2C</a></li>
+      <li><a href="#">Item 2D</a></li>
+      <li><a href="#">Item 2E</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="#">Item 3</a>
+    <ul class="vertical menu">
+      <li><a href="#">Item 3A</a></li>
+      <li><a href="#">Item 3B</a></li>
+      <li><a href="#">Item 3C</a></li>
+      <li><a href="#">Item 3D</a></li>
+      <li><a href="#">Item 3E</a></li>
+    </ul>
+  </li>
+  <li><a href='#'> Item 4</a></li>
+</ul>
+```
+
+---
+
+## Dropdown Menu
+
+```html_example
+<ul class="dropdown menu" data-dropdown-menu>
+  <li>
+    <a>Item 1</a>
+    <ul class="menu">
+      <li><a href="#">Item 1A Loooong</a></li>
+      <li>
+        <a href='#'> Item 1 sub</a>
+        <ul class='menu'>
+          <li><a href='#'>Item 1 subA</a></li>
+          <li><a href='#'>Item 1 subB</a></li>
+          <li>
+            <a href='#'> Item 1 sub</a>
+            <ul class='menu'>
+              <li><a href='#'>Item 1 subA</a></li>
+              <li><a href='#'>Item 1 subB</a></li>
+            </ul>
+          </li>
+          <li>
+            <a href='#'> Item 1 sub</a>
+            <ul class='menu'>
+              <li><a href='#'>Item 1 subA</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li><a href="#">Item 1B</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="#">Item 2</a>
+    <ul class="menu">
+      <li><a href="#">Item 2A</a></li>
+      <li><a href="#">Item 2B</a></li>
+    </ul>
+  </li>
+  <li><a href="#">Item 3</a></li>
+  <li><a href='#'>Item 4</a></li>
+</ul>
+```
+
+---
+
+## Dropdown Pane
+
+```html_example
+<button class="button" type="button" data-toggle="example-dropdown">Toggle Dropdown</button>
+<div class="dropdown-pane" id="example-dropdown" data-dropdown>
+  Just some junk that needs to be said. Or not. Your choice.
+</div>
+```
+
+---
+
+## Equalizer
+
+```html_example
+<div class="row" data-equalizer data-equalize-on="medium" id="test-eq">
+  <div class="medium-4 columns">
+    <div class="callout" data-equalizer-watch>
+      <img src= "assets/img/generic/square-1.jpg">
+    </div>
+  </div>
+  <div class="medium-4 columns">
+    <div class="callout" data-equalizer-watch>
+      <p>Pellentesque habitant morbi tristique senectus et netus et, ante.</p>
+    </div>
+  </div>
+  <div class="medium-4 columns">
+    <div class="callout" data-equalizer-watch>
+      <img src= "assets/img/generic/rectangle-1.jpg">
+    </div>
+  </div>
+</div>
+```
+
+---
+
+## Flex Grid
+
+```html
+<div class="row">
+  <div class="small-6 columns">6 columns</div>
+  <div class="small-6 columns">6 columns</div>
+</div>
+<div class="row">
+  <div class="medium-6 large-4 columns">12/6/4 columns</div>
+  <div class="medium-6 large-8 columns">12/6/8 columns</div>
+</div>
+```
+
+<div class="row display">
+  <div class="small-6 columns">6 columns</div>
+  <div class="small-6 columns">6 columns</div>
+</div>
+<div class="row display">
+  <div class="medium-6 large-4 columns">12/6/4 columns</div>
+  <div class="medium-6 large-8 columns">12/6/8 columns</div>
+</div>
+
+---
+
+## Flex Video
+
+```html_example
+<div class="flex-video">
+  <iframe width="420" height="315" src="https://www.youtube.com/embed/V9gkYw35Vws" frameborder="0" allowfullscreen></iframe>
+</div>
+```
+
+---
+
+## Float Classes
+
+```html_example
+<div class="callout clearfix">
+  <a class="button float-left">Left</a>
+  <a class="button float-right">Right</a>
+</div>
+```
+
+---
+
+## Forms
+
+```html_example
+<form>
+  <label>Input Label
+    <input type="text" placeholder=".small-12.columns" aria-describedby="exampleHelpText">
+  </label>
+  <p class="help-text" id="exampleHelpText">Here's how you use this input field!</p>
+  <label>
+    How many puppies?
+    <input type="number" value="100">
+  </label>
+  <label>
+    What books did you read over summer break?
+    <textarea placeholder="None"></textarea>
+  </label>
+  <label>Select Menu
+    <select>
+      <option value="husker">Husker</option>
+      <option value="starbuck">Starbuck</option>
+      <option value="hotdog">Hot Dog</option>
+      <option value="apollo">Apollo</option>
+    </select>
+  </label>
+  <div class="row">
+    <fieldset class="large-6 columns">
+      <legend>Choose Your Favorite</legend>
+      <input type="radio" name="pokemon" value="Red" id="pokemonRed" required><label for="pokemonRed">Red</label>
+      <input type="radio" name="pokemon" value="Blue" id="pokemonBlue"><label for="pokemonBlue">Blue</label>
+      <input type="radio" name="pokemon" value="Yellow" id="pokemonYellow"><label for="pokemonYellow">Yellow</label>
+    </fieldset>
+    <fieldset class="large-6 columns">
+      <legend>Check these out</legend>
+      <input id="checkbox1" type="checkbox"><label for="checkbox1">Checkbox 1</label>
+      <input id="checkbox2" type="checkbox"><label for="checkbox2">Checkbox 2</label>
+      <input id="checkbox3" type="checkbox"><label for="checkbox3">Checkbox 3</label>
+    </fieldset>
+  </div>
+  <div class="row">
+    <div class="small-3 columns">
+      <label for="middle-label" class="text-right middle">Label</label>
+    </div>
+    <div class="small-9 columns">
+      <input type="text" id="middle-label" placeholder="Right- and middle-aligned text input">
+    </div>
+  </div>
+  <div class="input-group">
+    <span class="input-group-label">$</span>
+    <input class="input-group-field" type="url">
+    <a class="input-group-button button">Submit</a>
+  </div>
+</form>
+```
+
+---
+
+## Grid
+
+```html
+<div class="row">
+  <div class="small-2 medium-3 large-4 columns">2/3/4 columns</div>
+  <div class="small-4 medium-3 large-4 columns">4/3/4 columns</div>
+  <div class="small-6 large-4 columns">6/6/4 columns</div>
+</div>
+<div class="row">
+  <div class="large-3 columns">12/12/3 columns</div>
+  <div class="large-6 columns">12/12/6 columns</div>
+  <div class="large-3 columns">12/12/3 columns</div>
+</div>
+<div class="row">
+  <div class="small-6 large-2 columns">6/6/2 columns</div>
+  <div class="small-6 large-8 columns">6/6/8 columns</div>
+  <div class="small-12 large-2 columns">12/12/2 columns</div>
+</div>
+<div class="row">
+  <div class="small-3 columns">3 columns</div>
+  <div class="small-9 columns">9 columns</div>
+</div>
+<div class="row">
+  <div class="medium-8 large-4 columns">12/8/4 columns</div>
+  <div class="medium-4 large-8 columns">12/4/8 columns</div>
+</div>
+```
+
+<div class="row display">
+  <div class="small-2 medium-3 large-4 columns">2/3/4 columns</div>
+  <div class="small-4 medium-3 large-4 columns">4/3/4 columns</div>
+  <div class="small-6 large-4 columns">6/6/4 columns</div>
+</div>
+<div class="row display">
+  <div class="large-3 columns">12/12/3 columns</div>
+  <div class="large-6 columns">12/12/6 columns</div>
+  <div class="large-3 columns">12/12/3 columns</div>
+</div>
+<div class="row display">
+  <div class="small-6 large-2 columns">6/6/2 columns</div>
+  <div class="small-6 large-8 columns">6/6/8 columns</div>
+  <div class="small-12 large-2 columns">12/12/2 columns</div>
+</div>
+<div class="row display">
+  <div class="small-3 columns">3 columns</div>
+  <div class="small-9 columns">9 columns</div>
+</div>
+<div class="row display">
+  <div class="medium-8 large-4 columns">12/8/4 columns</div>
+  <div class="medium-4 large-8 columns">12/4/8 columns</div>
+</div>
+
+---
+
+## Interchange
+
+```html_example
+<img data-interchange="[assets/img/interchange/small.jpg, small], [assets/img/interchange/medium.jpg, medium], [assets/img/interchange/large.jpg, large]">
+```
+
+---
+
+## Label
+
+```html_example
+<span class="secondary label">Secondary Label</span>
+<span class="success label">Success Label</span>
+<span class="alert label">Alert Label</span>
+<span class="warning label">Warning Label</span>
+```
+
+---
+
+## Magellan
+
+```html
+<ul class="horizontal menu" data-magellan>
+  <li><a href="#first">First Arrival</a></li>
+  <li><a href="#second">Second Arrival</a></li>
+  <li><a href="#third">Third Arrival</a></li>
+</ul>
+<div class="sections">
+  <section id="first" data-magellan-target="first">
+    <h4>First section</h4>
+    <p>Duis scelerisque ligula ut metus rhoncus scelerisque. Integer ut egestas metus. Nulla facilisi. Aenean luctus magna lobortis ligula rhoncus, sit amet lacinia lorem sagittis. Sed ultrices at metus id aliquet. Vestibulum in condimentum quam, id ornare erat. Vivamus nec justo quis ex fringilla condimentum ac non quam.</p>
+  </section>
+  <section id="second" data-magellan-target="second">
+    <h4>Second section</h4>
+    <p>Sed vulputate, felis interdum molestie viverra, neque urna placerat dui, ac efficitur est magna eu tellus. Nunc sodales consequat eros at bibendum. Vestibulum hendrerit gravida elit non eleifend. Nunc at vehicula ipsum. Vestibulum eu suscipit felis. Proin ipsum felis, consequat congue quam ac, efficitur tincidunt ex. Morbi accumsan sem iaculis nunc malesuada tincidunt.</p>
+  </section>
+  <section id="third" data-magellan-target="third">
+    <h4>Second section</h4>
+    <p>Aliquam orci orci, maximus a pulvinar id, tincidunt a neque. Suspendisse eros diam, finibus et faucibus ac, suscipit feugiat orci. Morbi scelerisque sem id blandit malesuada. Donec suscipit tincidunt dolor in blandit. Nam rhoncus risus vitae lacinia dictum. Cras lobortis, nulla non faucibus mattis, tellus nibh condimentum eros, posuere volutpat arcu risus vel ante. In ut ullamcorper eros, et vestibulum risus. Fusce auctor risus vitae diam viverra tincidunt.</p>
+  </section>
+</div>
+```
+
+<ul class="horizontal menu" data-magellan>
+  <li><a href="#first">First Arrival</a></li>
+  <li><a href="#second">Second Arrival</a></li>
+  <li><a href="#third">Third Arrival</a></li>
+</ul>
+
+---
+
+## Media Object
+
+```html_example
+<div class="media-object">
+  <div class="media-object-section">
+    <img src= "http://placeimg.com/200/200/people">
+  </div>
+  <div class="media-object-section">
+    <h4>Dreams feel real while we're in them.</h4>
+    <p>I'm going to improvise. Listen, there's something you should know about me... about inception. An idea is like a virus, resilient, highly contagious. The smallest seed of an idea can grow. It can grow to define or destroy you.</p>
+  </div>
+</div>
+```
+
+---
+
+## Menu
+
+```html_example
+<ul class="menu">
+  <li><a href="#">One</a></li>
+  <li><a href="#">Two</a></li>
+  <li><a href="#">Three</a></li>
+  <li><a href="#">Four</a></li>
+</ul>
+
+<ul class="menu icon-top">
+  <li><a href="#"><i class="fi-list"></i> <span>One</span></a></li>
+  <li><a href="#"><i class="fi-list"></i> <span>Two</span></a></li>
+  <li><a href="#"><i class="fi-list"></i> <span>Three</span></a></li>
+  <li><a href="#"><i class="fi-list"></i> <span>Four</span></a></li>
+</ul>
+```
+
+---
+
+## Off-canvas
+
+```
+<body>
+  <div class="off-canvas-wrapper">
+    <div class="off-canvas-wrapper-inner" data-off-canvas-wrapper>
+      <div class="off-canvas position-left" id="offCanvasLeft" data-off-canvas>
+        <!-- left off-canvas markup -->
+      </div>
+      <div class="off-canvas position-right" id="offCanvasRight" data-off-canvas data-position="right">
+        <!-- right off-canvas markup -->
+      </div>
+      <div class="off-canvas-content" data-off-canvas-content>
+        <!-- page content -->
+      </div>
+    </div>
+  </div>
+</body>
+```
+
+```html_example
+<button type="button" class="button" data-toggle="offCanvasLeft">Open Menu</button>
+```
+
+---
+
+## Orbit
+
+```html_example
+<div class="orbit" role="region" aria-label="Favorite Space Pictures" data-orbit>
+  <ul class="orbit-container">
+    <button class="orbit-previous" aria-label="previous"><span class="show-for-sr">Previous Slide</span>&#9664;</button>
+    <button class="orbit-next" aria-label="next"><span class="show-for-sr">Next Slide</span>&#9654;</button>
+    <li class="is-active orbit-slide">
+      <div>
+        <h3 class="text-center">You can also throw some text in here!</h3>
+        <p class="text-center">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Unde harum rem, beatae ipsa consectetur quisquam. Rerum ratione, delectus atque tempore sed, suscipit ullam, beatae distinctio cupiditate ipsam eligendi tempora expedita.</p>
+        <h3 class="text-center">This Orbit slide has chill</h3>
+      </div>
+    </li>
+    <li class="orbit-slide">
+      <div>
+        <h3 class="text-center">You can also throw some text in here!</h3>
+        <p class="text-center">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Unde harum rem, beatae ipsa consectetur quisquam. Rerum ratione, delectus atque tempore sed, suscipit ullam, beatae distinctio cupiditate ipsam eligendi tempora expedita.</p>
+        <h3 class="text-center">This Orbit slide has chill</h3>
+      </div>
+    </li>
+    <li class="orbit-slide">
+      <div>
+        <h3 class="text-center">You can also throw some text in here!</h3>
+        <p class="text-center">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Unde harum rem, beatae ipsa consectetur quisquam. Rerum ratione, delectus atque tempore sed, suscipit ullam, beatae distinctio cupiditate ipsam eligendi tempora expedita.</p>
+        <h3 class="text-center">This Orbit slide has chill</h3>
+      </div>
+    </li>
+    <li class="orbit-slide">
+      <div>
+        <h3 class="text-center">You can also throw some text in here!</h3>
+        <p class="text-center">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Unde harum rem, beatae ipsa consectetur quisquam. Rerum ratione, delectus atque tempore sed, suscipit ullam, beatae distinctio cupiditate ipsam eligendi tempora expedita.</p>
+        <h3 class="text-center">This Orbit slide has chill</h3>
+      </div>
+    </li>
+  </ul>
+  <nav class="orbit-bullets">
+   <button class="is-active" data-slide="0"><span class="show-for-sr">First slide details.</span><span class="show-for-sr">Current Slide</span></button>
+   <button data-slide="1"><span class="show-for-sr">Second slide details.</span></button>
+   <button data-slide="2"><span class="show-for-sr">Third slide details.</span></button>
+   <button data-slide="3"><span class="show-for-sr">Fourth slide details.</span></button>
+ </nav>
+</div>
+```
+
+---
+
+## Pagination
+
+```html_example
+<ul class="pagination" role="navigation" aria-label="Pagination">
+  <li class="disabled">Previous <span class="show-for-sr">page</span></li>
+  <li class="current"><span class="show-for-sr">You're on page</span> 1</li>
+  <li><a href="#" aria-label="Page 2">2</a></li>
+  <li><a href="#" aria-label="Page 3">3</a></li>
+  <li><a href="#" aria-label="Page 4">4</a></li>
+  <li class="ellipsis" aria-hidden="true"></li>
+  <li><a href="#" aria-label="Page 12">12</a></li>
+  <li><a href="#" aria-label="Page 13">13</a></li>
+  <li><a href="#" aria-label="Next page">Next <span class="show-for-sr">page</span></a></li>
+</ul>
+```
+
+---
+
+## Progress Bar
+
+```html_example
+<div class="success progress" role="progressbar" tabindex="0" aria-valuenow="25" aria-valuemin="0" aria-valuetext="25 percent" aria-valuemax="100">
+  <div class="progress-meter" style="width: 25%">
+    <p class="progress-meter-text">25%</p>
+  </div>
+</div>
+
+<div class="warning progress">
+  <div class="progress-meter" style="width: 50%">
+    <p class="progress-meter-text">50%</p>
+  </div>
+</div>
+
+<div class="alert progress">
+  <div class="progress-meter" style="width: 75%">
+    <p class="progress-meter-text">75%</p>
+  </div>
+</div>
+```
+
+---
+
+## Responsive Menu
+
+```html_example
+<ul class="vertical medium-horizontal menu">
+  <li><a href="#">Item 1</a></li>
+  <li><a href="#">Item 2</a></li>
+  <li><a href="#">Item 3</a></li>
+</ul>
+```
+
+---
+
+## Responsive Toggle
+
+```html_example
+<div class="title-bar" data-responsive-toggle="example-menu" data-hide-for="medium">
+  <button class="menu-icon" type="button" data-toggle></button>
+  <div class="title-bar-title">Menu</div>
+</div>
+
+<div class="top-bar" id="example-menu">
+  <div class="top-bar-left">
+    <ul class="dropdown menu" data-dropdown-menu>
+      <li class="menu-text">Site Title</li>
+      <li class="has-submenu">
+        <a href="#">One</a>
+        <ul class="submenu menu vertical" data-submenu>
+          <li><a href="#">One</a></li>
+          <li><a href="#">Two</a></li>
+          <li><a href="#">Three</a></li>
+        </ul>
+      </li>
+      <li><a href="#">Two</a></li>
+      <li><a href="#">Three</a></li>
+    </ul>
+  </div>
+  <div class="top-bar-right">
+    <ul class="menu">
+      <li><input type="search" placeholder="Search"></li>
+      <li><button type="button" class="button">Search</button></li>
+    </ul>
+  </div>
+</div>
+```
+
+---
+
+## Reveal
+
+```html_example
+<p><a data-open="exampleModal1">Click me for a modal</a></p>
+
+<div class="reveal" id="exampleModal1" data-reveal>
+  <h1>Awesome. I Have It.</h1>
+  <p class="lead">Your couch. It is mine.</p>
+  <p>I'm a cool paragraph that lives inside of an even cooler modal. Wins!</p>
+  <button class="close-button" data-close aria-label="Close reveal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+```
+
+---
+
+## Slider
+
+```html_example
+<div class="slider" data-slider data-initial-start='50' data-end='200'>
+  <span class="slider-handle"  data-slider-handle role="slider" tabindex="1"></span>
+  <span class="slider-fill" data-slider-fill></span>
+  <input type="hidden">
+</div>
+
+<div class="slider vertical" data-slider data-initial-start='25' data-end='200' data-vertical="true">
+  <span class="slider-handle" data-slider-handle role="slider" tabindex="1"></span>
+  <span class="slider-fill" data-slider-fill></span>
+  <input type="hidden">
+</div>
+
+<div class="slider" data-slider data-initial-start='25' data-initial-end='75'>
+  <span class="slider-handle" data-slider-handle role="slider" tabindex="1"></span>
+  <span class="slider-fill" data-slider-fill></span>
+  <span class="slider-handle" data-slider-handle role="slider" tabindex="1"></span>
+  <input type="hidden">
+  <input type="hidden">
+</div>
+```
+
+---
+
+## Sticky
+
+```html_example
+<div class="row">
+  <div class="columns small-12">
+    <div class="columns small-6" id="example1" data-something>
+      <p id="doodle">
+        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+      </p>
+      <p>
+        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+      </p>
+      <p>
+        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+      </p>
+      <p>
+        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+      </p>
+    </div>
+    <div class="columns small-6 right" data-sticky-container>
+      <div class="sticky" data-sticky data-anchor="example1">
+        <img class="thumbnail" src="assets/img/generic/rectangle-3.jpg">
+      </div>
+    </div>
+  </div>
+</div>
+```
+
+---
+
+## Switch
+
+```html_example
+<div class="switch tiny">
+  <input class="switch-input" id="tinySwitch" type="checkbox" name="exampleSwitch">
+  <label class="switch-paddle" for="tinySwitch">
+    <span class="show-for-sr">Tiny Sandwiches Enabled</span>
+  </label>
+</div>
+
+<div class="switch small">
+  <input class="switch-input" id="smallSwitch" type="checkbox" name="exampleSwitch">
+  <label class="switch-paddle" for="smallSwitch">
+    <span class="show-for-sr">Small Portions Only</span>
+  </label>
+</div>
+
+<div class="switch large">
+  <input class="switch-input" id="largeSwitch" type="checkbox" name="exampleSwitch">
+  <label class="switch-paddle" for="largeSwitch">
+    <span class="show-for-sr">Show Large Elephants</span>
+  </label>
+</div>
+```
+
+---
+
+## Table
+
+```html_example
+<table>
+  <thead>
+    <tr>
+      <th width="200">Table Header</th>
+      <th>Table Header</th>
+      <th width="150">Table Header</th>
+      <th width="150">Table Header</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td>Content Goes Here</td>
+      <td>This is longer content Donec id elit non mi porta gravida at eget metus.</td>
+      <td>Content Goes Here</td>
+      <td>Content Goes Here</td>
+    </tr>
+    <tr>
+      <td>Content Goes Here</td>
+      <td>This is longer Content Goes Here Donec id elit non mi porta gravida at eget metus.</td>
+      <td>Content Goes Here</td>
+      <td>Content Goes Here</td>
+    </tr>
+    <tr>
+      <td>Content Goes Here</td>
+      <td>This is longer Content Goes Here Donec id elit non mi porta gravida at eget metus.</td>
+      <td>Content Goes Here</td>
+      <td>Content Goes Here</td>
+    </tr>
+  </tbody>
+</table>
+```
+
+---
+
+## Tabs
+
+```html_example
+<ul class="tabs" data-tabs id="example-tabs">
+  <li class="tabs-title is-active"><a href="#panel1" aria-selected="true">Tab 1</a></li>
+  <li class="tabs-title"><a href="#panel2">Tab 2</a></li>
+  <li class="tabs-title"><a href="#panel3">Tab 3</a></li>
+  <li class="tabs-title"><a href="#panel4">Tab 4</a></li>
+  <li class="tabs-title"><a href="#panel5">Tab 5</a></li>
+  <li class="tabs-title"><a href="#panel6">Tab 6</a></li>
+</ul>
+
+<div class="tabs-content" data-tabs-content="example-tabs">
+  <div class="tabs-panel is-active" id="panel1">
+    <p>one</p>
+    <p>Check me out! I'm a super cool Tab panel with text content!</p>
+  </div>
+  <div class="tabs-panel" id="panel2">
+    <p>two</p>
+    <img class="thumbnail" src="assets/img/generic/rectangle-7.jpg">
+  </div>
+  <div class="tabs-panel" id="panel3">
+    <p>three</p>
+    <p>Check me out! I'm a super cool Tab panel with text content!</p>
+  </div>
+  <div class="tabs-panel" id="panel4">
+    <p>four</p>
+    <img class="thumbnail" src="assets/img/generic/rectangle-2.jpg">
+  </div>
+  <div class="tabs-panel" id="panel5">
+    <p>five</p>
+    <p>Check me out! I'm a super cool Tab panel with text content!</p>
+  </div>
+  <div class="tabs-panel" id="panel6">
+    <p>six</p>
+    <img class="thumbnail" src="assets/img/generic/rectangle-8.jpg">
+  </div>
+</div>
+```
+
+---
+
+## Thumbnail
+
+```html_example
+<div class="row">
+  <div class="small-4 columns">
+    <img class="thumbnail" src="assets/img/thumbnail/01.jpg" alt="Photo of Uranus.">
+  </div>
+  <div class="small-4 columns">
+    <img class="thumbnail" src="assets/img/thumbnail/02.jpg" alt="Photo of Neptune.">
+  </div>
+  <div class="small-4 columns">
+    <img class="thumbnail" src="assets/img/thumbnail/03.jpg" alt="Photo of Pluto.">
+  </div>
+</div>
+```
+
+---
+
+## Title Bar
+
+```html_example
+<div class="title-bar">
+  <div class="title-bar-left">
+    <button class="menu-icon" type="button"></button>
+    <span class="title-bar-title">Foundation</span>
+  </div>
+  <div class="title-bar-right">
+    <button class="menu-icon" type="button"></button>
+  </div>
+</div>
+```
+
+---
+
+## Toggler
+
+```html_example
+<p><a data-toggle="menuBar">Expand!</a></p>
+
+<ul class="menu" id="menuBar" data-toggler=".expanded">
+  <li><a href="#">One</a></li>
+  <li><a href="#">Two</a></li>
+  <li><a href="#">Three</a></li>
+  <li><a href="#">Four</a></li>
+</ul>
+```
+
+---
+
+## Tooltip
+
+```html_example
+<p>The <span data-tooltip aria-haspopup="true" class="has-tip" data-disable-hover='false' tabindex=1 title="Fancy word for a beetle.">scarabaeus</span> hung quite clear of any branches, and, if allowed to fall, would have fallen at our feet. Legrand immediately took the scythe, and cleared with it a circular space, three or four yards in diameter, just beneath the insect, and, having accomplished this, ordered Jupiter to let go the string and come down from the tree.</p>
+```
+
+---
+
+## Top Bar
+
+```html_example
+<div class="top-bar">
+  <div class="top-bar-left">
+    <ul class="dropdown menu" data-dropdown-menu>
+      <li class="menu-text">Site Title</li>
+      <li class="has-submenu">
+        <a href="#">One</a>
+        <ul class="submenu menu vertical" data-submenu>
+          <li><a href="#">One</a></li>
+          <li><a href="#">Two</a></li>
+          <li><a href="#">Three</a></li>
+        </ul>
+      </li>
+      <li><a href="#">Two</a></li>
+      <li><a href="#">Three</a></li>
+    </ul>
+  </div>
+  <div class="top-bar-right">
+    <ul class="menu">
+      <li><input type="search" placeholder="Search"></li>
+      <li><button type="button" class="button">Search</button></li>
+    </ul>
+  </div>
+</div>
+```
+
+---
+
+## Visibility Classes
+
+```html_example
+<p>You are on a small screen or larger.</p>
+<p class="show-for-medium">You are on a medium screen or larger.</p>
+<p class="show-for-large">You are on a large screen or larger.</p>
+<p class="show-for-small-only">You are <em>definitely</em> on a small screen.</p>
+<p class="show-for-medium-only">You are <em>definitely</em> on a medium screen.</p>
+<p class="show-for-large-only">You are <em>definitely</em> on a large screen.</p>
+
+<p class="hide-for-medium">You are <em>not</em> on a medium screen or larger.</p>
+<p class="hide-for-large">You are <em>not</em> on a large screen or larger.</p>
+<p class="hide-for-small-only">You are <em>definitely not</em> on a small screen.</p>
+<p class="hide-for-medium-only">You are <em>definitely not</em> on a medium screen.</p>
+<p class="hide-for-large-only">You are <em>definitely not</em> on a large screen.</p>
+<p class="hide">Can't touch this.</p>
+
+<p class="invisible">Can sort of touch this.</p>
+
+<p class="show-for-landscape">You are in landscape orientation.</p>
+<p class="show-for-portrait">You are in portrait orientation.</p>
+
+<p class="show-for-sr">This text can only be read by a screen reader.</p>
+<p>There's a line of text above this one, you just can't see it.</p>
+
+<p aria-hidden="true">This text can be seen, but won't be read by a screen reader.</p>
+
+<p><a class="show-on-focus" href="#mainContent">Skip to Content</a></p>
+<header id="header" role="banner">
+</header>
+<main id="mainContent" role="main" tabindex="0">
+</main>
+```
diff --git a/libraries/foundation-6/docs/pages/label.md b/libraries/foundation-6/docs/pages/label.md
new file mode 100755
index 00000000..b2feec5e
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/label.md
@@ -0,0 +1,55 @@
+---
+title: Label
+description: Labels are useful inline styles that can be dropped into body copy to call out certain sections or to attach metadata. For example, you can attach a label that notes when something was updated.
+sass: scss/components/_label.scss
+---
+
+## Basics
+
+Add the `.label` class to an element to create a label. In the below example, we're using `<span>`, but any tag will work fine.
+
+```html_example
+<span class="label">Default Label</span>
+```
+
+<br>
+
+A label will typically be describing another element on the page. To bind the two elements together, give the label a unique ID, and reference that ID in an `aria-describedby` attribute on the main element.
+
+```html
+<p aria-describedby="emailLabel">Re: re: re: you won't believe what's in this email!</p>
+<span class="label" id="emailLabel">High Priority<span>
+```
+
+If an element is described by multiple labels, place multiple IDs inside of `aria-describedby`.
+
+```html
+<p aria-describedby="emailLabel1 emailLabel2">Re: re: re: you won't believe what's in this email!</p>
+<span class="label" id="emailLabel">High Priority<span>
+<span class="label" id="emailLabe2">Unread<span>
+```
+
+---
+
+## Coloring
+
+Labels can be colored with the same classes used for buttons and other components.
+
+```html_example
+<span class="secondary label">Secondary Label</span>
+<span class="success label">Success Label</span>
+<span class="alert label">Alert Label</span>
+<span class="warning label">Warning Label</span>
+```
+
+---
+
+### With Icons
+
+An icon can be dropped into a label just fine. We're using the [Foundation icon font](http://zurb.com/playground/foundation-icon-fonts-3) here, but any icon fonts or image-based icons will work fine.
+
+```html_example
+<span class="alert label"><i class="fi-x-circle"></i> Alert Label</span>
+<span class="warning label"><i class="fi-x"></i> Warning Label</span>
+<span class="info label"><i class="fi-widget"></i> Info Label</span>
+```
diff --git a/libraries/foundation-6/docs/pages/magellan.md b/libraries/foundation-6/docs/pages/magellan.md
new file mode 100755
index 00000000..5262922c
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/magellan.md
@@ -0,0 +1,74 @@
+---
+title: Magellan
+description: Magellan allows you to create navigation that tracks the active section of a page your user is in. Pair it with our Sticky plugin to create a fixed navigation element.
+js: js/foundation.magellan.js
+tags:
+  - navigation
+---
+
+<div data-sticky-container>
+  <div class="sticky" id="sticky-magellan" style="width:100%;" data-sticky data-margin-top="0" data-margin-bottom="0" data-top-anchor="setup" data-btm-anchor="destroy:bottom">
+    <nav data-magellan class="sticky-mag" data-bar-offset="25">
+      <ul class="horizontal menu expanded">
+        <li><a href="#setup">Setup</a></li>
+        <li><a href="#sticky-navigation">Sticky Navigation</a></li>
+        <li><a href="#javascript-reference">JavaScript Reference</a></li>
+      </ul>
+    </nav>
+  </div>
+</div>
+
+<br>
+
+## Setup
+
+You can use Magellan with any navigation element, like our [Menu](menu.html) or your own custom component. Just add the attribute `data-magellan` to the container, and links to specific sections of your page. Each section needs a unique ID.
+
+```html
+<ul class="horizontal menu" data-magellan>
+  <li><a href="#first">First Arrival</a></li>
+  <li><a href="#second">Second Arrival</a></li>
+  <li><a href="#third">Third Arrival</a></li>
+</ul>
+<div class="sections">
+  <section id="first" data-magellan-target="first">First Section</section>
+  <section id="second" data-magellan-target="second">Second Section</section>
+  <section id="third" data-magellan-target="third">Third Section</section>
+</div>
+```
+
+---
+
+## Sticky Navigation
+
+You can use Magellan with our Sticky plugin to create a persistent navigation header or sidebar.
+
+This first example is a simplified version of the table of contents on the right side of this page:
+
+```html
+<div class="large-3 columns" data-sticky-container>
+  <nav class="columns sticky" data-sticky data-anchor="exampleId" data-sticky-on="large">
+    <ul class="vertical menu" data-magellan>
+      <li><a href="#first">First Arrival</a></li>
+      <li><a href="#second">Second Arrival</a></li>
+      <li><a href="#third">Third Arrival</a></li>
+    </ul>
+  </nav>
+</div>
+```
+
+This example is the menu bar floating at the top of the page.
+
+```html
+<div data-sticky-container>
+  <div class="sticky" id="example" data-sticky data-margin-top="0" style="width:100%;" data-margin-bottom="0" data-top-anchor="topAnchorExample" data-btm-anchor="bottomOfContentId:bottom">
+    <nav data-magellan>
+      <ul class="horizontal menu expanded">
+      <li><a href="#first">First Arrival</a></li>
+      <li><a href="#second">Second Arrival</a></li>
+      <li><a href="#third">Third Arrival</a></li>
+      </ul>
+    </nav>
+  </div>
+</div>
+```
diff --git a/libraries/foundation-6/docs/pages/media-object.md b/libraries/foundation-6/docs/pages/media-object.md
new file mode 100755
index 00000000..1bcfa75b
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/media-object.md
@@ -0,0 +1,143 @@
+---
+title: Media Object
+description: Media objects are super useful components for displaying an item, usually an image, alongside some content, usually text. You could put lists, grids, or even other media objects inside.
+sass: scss/components/_media-object.scss
+flex: true
+---
+
+## Basics
+
+A media object is a container with the class `.media-object`, and two or three sections with the class `.media-object-section`.
+
+```html_example
+<div class="media-object">
+  <div class="media-object-section">
+    <div class="thumbnail">
+      <img src= "assets/img/media-object/avatar-1.jpg">
+    </div>
+  </div>
+  <div class="media-object-section">
+    <h4>Dreams feel real while we're in them.</h4>
+    <p>I'm going to improvise. Listen, there's something you should know about me... about inception. An idea is like a virus, resilient, highly contagious. The smallest seed of an idea can grow. It can grow to define or destroy you.</p>
+  </div>
+</div>
+```
+
+<div class="primary callout">
+  <p>In flexbox mode, the class `.main-section` must be added to your center section in order to properly size it.</p>
+</div>
+
+```html
+<div class="media-object">
+  <div class="media-object-section">
+    <div class="thumbnail">
+      <img src= "assets/img/media-object/avatar-1.jpg">
+    </div>
+  </div>
+  <div class="media-object-section main-section">
+    <h4>Dreams feel real while we're in them.</h4>
+    <p>I'm going to improvise. Listen, there's something you should know about me... about inception. An idea is like a virus, resilient, highly contagious. The smallest seed of an idea can grow. It can grow to define or destroy you.</p>
+  </div>
+</div>
+```
+
+---
+
+## Section Alignment
+
+Each section aligns to the top by default, but individual sections can also be middle- or bottom-aligned with the `.middle` and `.bottom` classes.
+
+```html_example
+<div class="media-object">
+  <div class="media-object-section middle">
+    <div class="thumbnail">
+      <img src= "assets/img/media-object/avatar-2.jpg">
+    </div>
+  </div>
+  <div class="media-object-section">
+    <h4>Why is it so important to dream?</h4>
+    <p>So, once we've made the plant, how do we go out? Hope you have something more elegant in mind than shooting me in the head? A kick. What's a kick? This, Ariadne, would be a kick.</p>
+    <p>What is the most resilient parasite? Bacteria? A virus? An intestinal worm? An idea. Resilient... highly contagious. Once an idea has taken hold of the brain it's almost impossible to eradicate. An idea that is fully formed - fully understood - that sticks; right in there somewhere.</p>
+  </div>
+  <div class="media-object-section bottom">
+    <div class="thumbnail">
+      <img src= "assets/img/media-object/avatar-3.jpg">
+    </div>
+  </div>
+</div>
+```
+
+In flexbox mode, you can use the <a href="flex-classes.html">flexbox helper classes</a> instead to get the same result. The `.align-*` classes can be used on the container to align every child section at once, or individual child sections can be aligned with `.align-self-*` classes.
+
+```html
+<div class="media-object">
+  <div class="media-object-section align-self-center">
+    <div class="thumbnail">
+      <img src= "assets/img/media-object/avatar-2.jpg">
+    </div>
+  </div>
+  <div class="media-object-section main-section">
+    <h4>Why is it so important to dream?</h4>
+    <p>So, once we've made the plant, how do we go out? Hope you have something more elegant in mind than shooting me in the head? A kick. What's a kick? This, Ariadne, would be a kick.</p>
+    <p>What is the most resilient parasite? Bacteria? A virus? An intestinal worm? An idea. Resilient... highly contagious. Once an idea has taken hold of the brain it's almost impossible to eradicate. An idea that is fully formed - fully understood - that sticks; right in there somewhere.</p>
+  </div>
+  <div class="media-object-section align-self-bottom">
+    <div class="thumbnail">
+      <img src= "assets/img/media-object/avatar-3.jpg">
+    </div>
+  </div>
+</div>
+```
+
+---
+
+### Stack on Small
+
+By adding the `.stack-for-small` class, you can make your media object responsive. Images will get a width of 100%, but this can be changed.
+
+```html_example
+<div class="media-object stack-for-small">
+  <div class="media-object-section">
+    <div class="thumbnail">
+      <img src= "assets/img/generic/rectangle-1.jpg">
+    </div>
+  </div>
+  <div class="media-object-section">
+    <h4>I Can Stack.</h4>
+    <p>Shrink the browser width to see me stack. I do tricks for dog treats, but I'm not a dog.</p>
+  </div>
+</div>
+```
+
+---
+
+### Nesting Media Objects
+
+By nesting a media object into the media-object-section section, you can easily indent it. This is great for comment strings.
+
+```html_example
+<div class="media-object">
+  <div class="media-object-section">
+    <div class="thumbnail">
+      <img src= "assets/img/media-object/avatar-1.jpg">
+    </div>
+  </div>
+  <div class="media-object-section">
+    <h4>I'm First!</h4>
+    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro at, tenetur cum beatae excepturi id ipsa? Esse dolor laboriosam itaque ea nesciunt, earum, ipsum commodi beatae velit id enim repellat.</p>
+    <!-- Nested media object starts here -->
+    <div class="media-object">
+      <div class="media-object-section">
+        <div class="thumbnail">
+          <img src= "assets/img/media-object/avatar-2.jpg">
+        </div>
+      </div>
+      <div class="media-object-section">
+        <h4>I'm Second!</h4>
+        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptas magni, quam mollitia voluptatum in, animi suscipit tempora ea consequuntur non nulla vitae doloremque. Eius rerum, cum earum quae eveniet odio.</p>
+      </div>
+    </div>
+    <!-- And ends here -->
+  </div>
+</div>
+```
diff --git a/libraries/foundation-6/docs/pages/media-queries.md b/libraries/foundation-6/docs/pages/media-queries.md
new file mode 100755
index 00000000..959bfe82
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/media-queries.md
@@ -0,0 +1,215 @@
+---
+title: Media Queries
+description: CSS media queries allow us to adjust the display and orientation of content at different screen sizes.
+sass: scss/util/_breakpoint.scss
+js: js/foundation.util.mediaQuery.js
+tags:
+  - breakpoints
+---
+
+## Default Media Queries
+
+Foundation for Sites has three core breakpoints:
+
+- **Small:** any screen.
+- **Medium:** any screen 640 pixels or wider.
+- **Large:** any screen 1024 pixels or wider.
+
+Many components can be modified at different screen sizes using special *breakpoint classes*. The grid is the most obvious example. In the code below, the left-hand column is six columns wide on small screens, hence `.small-6`. On medium-sized screens, the class `.medium-4` overrides the small style, changing the column to be four wide.
+
+```html
+<div class="row">
+  <div class="small-6 medium-4 columns"></div>
+  <div class="small-6 medium-8 columns"></div>
+</div>
+```
+
+If you're using the CSS version of Foundation, use these media queries to imitate the three core breakpoints:
+
+```css
+/* Small only */
+@media screen and (max-width: 39.9375em) {}
+
+/* Medium and up */
+@media screen and (min-width: 40em) {}
+
+/* Medium only */
+@media screen and (min-width: 40em) and (max-width: 63.9375em) {}
+
+/* Large and up */
+@media screen and (min-width: 64em) {}
+
+/* Large only */
+@media screen and (min-width: 64em) and (max-width: 74.9375em) {}
+```
+
+---
+
+## Upgrading from Foundation 5
+
+In Foundation 5, breakpoints were accessed using a series of Sass variables named `$small-up`, `$small-only`, `$medium-only`, and so on. In Foundation 6, this method of writing media queries has been replaced with a dedicated [breakpoint mixin](#the-breakpoint-mixin), described below. **The legacy variables will be removed in Foundation 6.3.**
+
+To upgrade your existing media queries, replace rulesets like this:
+
+```scss
+@media #{$medium-only} {
+}
+```
+
+With this:
+
+```scss
+@include breakpoint(medium only) {
+}
+```
+
+---
+
+## Changing the Breakpoints
+
+If you're using the Sass version of Foundation, the default breakpoints can be changed. The names of the breakpoints, and their widths, are stored in a `$breakpoints` variable in the settings file.
+
+```scss
+$breakpoints: (
+  small: 0px,
+  medium: 640px,
+  large: 1024px,
+  xlarge: 1200px,
+  xxlarge: 1440px,
+);
+```
+
+<div class="primary callout">
+  <p>Even though the above values are in pixels, they're converted to ems at the end for use in media queries.</p>
+</div>
+
+Changing the widths of any of the breakpoints is as easy as changing the pixel values in this map. Note that here there are two extra breakpoints: `xlarge` and `xxlarge`. We don't use these for any components, and also don't output any CSS classes that use them by default.
+
+You can change that by modifying the `$breakpoint-classes` variable in your settings file. This is a list of breakpoint names. Adding or removing names from the list will change the CSS class output. It looks like this by default:
+
+```scss
+$breakpoint-classes: (small medium large);
+```
+
+For example, to get `.xlarge` classes in your CSS, for use in the grid, Menu, and more, just add it to the end of the list:
+
+```scss
+$breakpoint-classes: (small medium large xlarge);
+```
+
+---
+
+## Sass
+
+### The Breakpoint Mixin
+
+Our `breakpoint()` mixin makes it easy to write media queries. You can use the named breakpoints, or a custom pixel, rem, or em value.
+
+To use the mixin, call it with `@include`, and then include the CSS content you want inside the curly braces.
+
+```scss
+.element {
+  // Only affects medium screens and larger
+  @include breakpoint(medium) {
+    // All CSS in here goes inside the media query
+  }
+}
+```
+
+The behavior of the media query can be changed by adding the keyword `down` or `only` after the breakpoint value, separated by a space.
+
+```scss
+.element {
+  // Only affects medium screens and smaller
+  @include breakpoint(medium down) { }
+  // Only affects medium screens, not small or large
+  @include breakpoint(medium only) { }
+}
+```
+
+It's also possible to pass in custom values. You can enter a pixel, rem, or em value&mdash;all values are converted to em at the end.
+
+```scss
+.element {
+  // Converted to 20em
+  @include breakpoint(320px) { }
+  // Unitless values are assumed to be pixels
+  @include breakpoint(320) { }
+  // Converted to 40em
+  @include breakpoint(40rem) { }
+}
+```
+
+Lastly, there are three special media queries that are not width-based: `portrait`, `landscape`, and `retina`. Using these keywords with the `breakpoint()` mixin will output a media query for device orientation or pixel density, rather than screen width.
+
+```scss
+.element {
+  @include breakpoint(landscape) {
+    // CSS for landscape-oriented devices only
+  }
+  @include breakpoint(retina) {
+    // CSS for high-resolution displays only
+  }
+}
+```
+
+---
+
+### Breakpoint Function
+
+The functionality of the `breakpoint()` mixin comes from an internal function, also called `breakpoint()`. If you want to write your own media queries, you can use the `breakpoint()` function to access the logic of the mixin directly.
+
+```scss
+@media screen and #{breakpoint(medium)} {
+  // Medium and up styles
+}
+```
+
+This can be used to combine multiple media queries together.
+
+```scss
+@media screen and #{breakpoint(medium)} and #{breakpoint(xlarge down)} {
+  // Medium to extra large styles
+}
+```
+
+---
+
+## JavaScript
+
+### Working with Media Queries
+
+The Foundation JavaScript includes a set of helper functions for working with media queries. They're all on the `Foundation.MediaQuery` object.
+
+Get the name of the current breakpoint with `MediaQuery.current`.
+
+```js
+Foundation.MediaQuery.current // => 'small', 'medium', etc.
+```
+
+To see if the screen is currently a certain breakpoint or larger, use `MediaQuery.atLeast`.
+
+```js
+if (Foundation.MediaQuery.atLeast('medium')) {
+  // True if medium or large
+  // False if small
+}
+```
+
+To get the media query of a breakpoint, use `MediaQuery.get`.
+
+```js
+Foundation.MediaQuery.get('medium') // => only screen and (min-width: 640px)
+```
+
+---
+
+### Watching for Breakpoint Changes
+
+The media query helper broadcasts an event on the window every time the breakpoint changes. We use this internally with plugins like Interchange to detect a shift in breakpoint. You can also subscribe to the event yourself.
+
+```js
+$(window).on('changed.zf.mediaquery', function(event, newSize, oldSize) {
+  // newSize is the name of the now-current breakpoint, oldSize is the previous breakpoint
+});
+```
diff --git a/libraries/foundation-6/docs/pages/menu.md b/libraries/foundation-6/docs/pages/menu.md
new file mode 100755
index 00000000..e077a5f6
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/menu.md
@@ -0,0 +1,206 @@
+---
+title: Menu
+description: Our flexible menu component makes it easy to build many common navigation patterns, all with the same markup.
+sass: scss/components/_menu.scss
+tags:
+  - navigation
+  - side nav
+  - sub nav
+  - icon bar
+  - top bar
+flex: true
+---
+
+The menu is a flexible, all-purpose component for navigation. It replaces Foundation 5's inline list, side nav, sub nav, and icon bar, unifying them into one component.
+
+---
+
+## Basic Menu
+
+All versions of the menu are a `<ul>` filled with `<li>` elements containing links. By default, a Menu is horizontally oriented.
+
+```html_example
+<ul class="menu">
+  <li><a href="#">One</a></li>
+  <li><a href="#">Two</a></li>
+  <li><a href="#">Three</a></li>
+  <li><a href="#">Four</a></li>
+</ul>
+```
+
+---
+
+## Item Alignment
+
+By default, each item in the menu aligns to the left. They can also be aligned to the right with the `.align-right` class.
+
+<div class="warning callout">
+  <p>In a <a href="rtl.html">right-to-left</a> environment, items align to the right by default, and the class <code>.align-left</code> can be used to reverse direction.</p>
+</div>
+
+```html_example
+<ul class="menu align-right">
+  <li><a href="#">One</a></li>
+  <li><a href="#">Two</a></li>
+  <li><a href="#">Three</a></li>
+  <li><a href="#">Four</a></li>
+</ul>
+```
+
+<br>
+
+To align items in the middle, add a wrapping element with the class `.menu-centered`.
+
+<div class="primary callout">
+  <p>If you're using <a href="flexbox.html">Flexbox mode</a>, you don't need the wrapper class. Instead, you can just add the class <code>.align-center</code> to the menu.</p>
+</div>
+
+```html_example
+<div class="menu-centered">
+  <ul class="menu">
+    <li><a href="#">One</a></li>
+    <li><a href="#">Two</a></li>
+    <li><a href="#">Three</a></li>
+    <li><a href="#">Four</a></li>
+  </ul>
+</div>
+```
+
+<br>
+
+Items can also be set to expand out and take up an even amount of space, with the `.expanded` class. Thanks to the magic of CSS, the items will automatically size themselves equally depending on how many are inside the menu.
+
+```html_example
+<ul class="menu expanded">
+  <li><a href="#">One</a></li>
+  <li><a href="#">Two</a></li>
+</ul>
+```
+
+<ul class="menu expanded">
+  <li><a href="#">One</a></li>
+  <li><a href="#">Two</a></li>
+  <li><a href="#">Three</a></li>
+</ul>
+
+<ul class="menu expanded">
+  <li><a href="#">One</a></li>
+  <li><a href="#">Two</a></li>
+  <li><a href="#">Three</a></li>
+  <li><a href="#">Four</a></li>
+</ul>
+
+---
+
+## Vertical Menu
+
+Add the `.vertical` class to a Menu to switch its orientation.
+
+```html_example
+<ul class="menu vertical">
+  <li><a href="#">One</a></li>
+  <li><a href="#">Two</a></li>
+  <li><a href="#">Three</a></li>
+  <li><a href="#">Four</a></li>
+</ul>
+```
+
+---
+
+## Simple Style
+
+Add the `.simple` class to a Menu to remove the padding and color change. This style imitates the inline list from Foundation 5.
+
+```html_example
+<ul class="menu simple">
+  <li>One</li>
+  <li><a href="#">Two</a></li>
+  <li><a href="#">Three</a></li>
+  <li><a href="#">Four</a></li>
+</ul>
+```
+
+---
+
+## Nested Style
+
+Add a new menu inside the `<li>` of a Menu and add the class `.nested` to create a nested menu. The nested Menu has extra padding on the inside.
+
+```html_example
+<ul class="vertical menu">
+  <li>
+    <a href="#">One</a>
+    <ul class="nested vertical menu">
+      <li><a href="#">One</a></li>
+      <li><a href="#">Two</a></li>
+      <li><a href="#">Three</a></li>
+      <li><a href="#">Four</a></li>
+    </ul>
+  </li>
+  <li><a href="#">Two</a></li>
+  <li><a href="#">Three</a></li>
+  <li><a href="#">Four</a></li>
+</ul>
+```
+
+---
+
+## Active State
+
+Add the class `.active` to any `<li>` to create an active state. You could apply this server-side to mark the active page, or dynamically with JavaScript.
+
+```html_example
+<ul class="menu">
+  <li class="active"><a>Home</a></li>
+  <li><a>About</a></li>
+  <li><a>Nachos</a></li>
+</ul>
+```
+
+---
+
+## Text
+
+Because the padding of the menu item is applied to the `<a>`, if you try to add an item that's text only, it will be misaligned. To get around this, add the class `.menu-text` to any `<li>` that doesn't have a link inside of it.
+
+```html_example
+<ul class="menu">
+  <li class="menu-text">Site Title</li>
+  <li><a href="#">One</a></li>
+  <li><a href="#">Two</a></li>
+  <li><a href="#">Three</a></li>
+</ul>
+```
+
+---
+
+## Icons
+
+Menu items can have icons. Wrap the text of the item in a `<span>`, and then add an `<img>` element before the `<span>`. If you're using the Foundation icon font, the `<img>` will be an `<i>` instead.
+
+```html_example
+<ul class="menu">
+  <li><a href="#"><i class="fi-list"></i> <span>One</span></a></li>
+  <li><a href="#"><i class="fi-list"></i> <span>Two</span></a></li>
+  <li><a href="#"><i class="fi-list"></i> <span>Three</span></a></li>
+  <li><a href="#"><i class="fi-list"></i> <span>Four</span></a></li>
+</ul>
+```
+
+---
+
+Add the class `.icon-top` to the Menu to orient icons above the text.
+
+```html_example
+<ul class="menu icon-top">
+  <li><a href="#"><i class="fi-list"></i> <span>One</span></a></li>
+  <li><a href="#"><i class="fi-list"></i> <span>Two</span></a></li>
+  <li><a href="#"><i class="fi-list"></i> <span>Three</span></a></li>
+  <li><a href="#"><i class="fi-list"></i> <span>Four</span></a></li>
+</ul>
+```
+---
+
+## Sticky Navigation
+
+See the documentation for the [Sticky](sticky.html#sticky-navigation) plugin to see how to easily make a sticky nav bar.
diff --git a/libraries/foundation-6/docs/pages/motion-ui.md b/libraries/foundation-6/docs/pages/motion-ui.md
new file mode 100755
index 00000000..7380bf59
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/motion-ui.md
@@ -0,0 +1,187 @@
+---
+title: Motion UI
+description: A Sass library for creating flexible UI transitions and animations.
+library:
+  github: https://github.com/zurb/motion-ui
+  docs: https://github.com/zurb/motion-ui/tree/master/docs
+---
+
+Motion UI is a standalone library that powers the transition effects used in a number of Foundation components, including [Toggler](toggler.html), [Reveal](reveal.html), and [Orbit](orbit.html). The transitions are powered by special transition classes that the Motion UI Sass creates. For example, here are two instances of Toggler&mdash;one using fade classes (`.fade-in` and `.fade-out`), and one using slide classes (`.slide-in-down` and `.slide-out-up`).
+
+```html
+<div data-toggler data-animate="fade-in fade-out" class="callout secondary">
+  <p>This panel fades.</p>
+</div>
+
+<div data-toggler data-animate="slide-in-down slide-out-up" class="callout secondary">
+  <p>This panel slides.</p>
+</div>
+```
+
+<button type="button" class="button" data-toggle="motion-example-1">Fade</button><button type="button" class="button" data-toggle="motion-example-2">Slide</button>
+<div class="row">
+  <div class="small-6 columns">
+    <div data-toggler data-animate="fade-in fade-out" class="callout secondary ease" id="motion-example-1">
+      <p>This panel <strong>fades</strong>.</p>
+    </div>
+  </div>
+  <div class="small-6 columns">
+    <div data-toggler data-animate="slide-in-down slide-out-up" class="callout secondary ease" id="motion-example-2">
+      <p>This panel <strong>slides</strong>.</p>
+    </div>
+  </div>
+</div>
+
+---
+
+## Installing
+
+**Motion UI is already included in both [starter projects](starter-projects.html).** If you want to add it to an existing project, follow these steps.
+
+First, install the library with npm or Bower.
+
+```bash
+npm install motion-ui --save-dev
+  bower install motion-ui --save-dev
+```
+
+Next, add the path `[modules_folder]/motion-ui/src` to your Sass compiler's import path list. Here's what you would add in Compass, via `config.rb`:
+
+```ruby
+add_import_path 'node_modules/motion-ui/src'
+```
+
+Here's how it works using gulp-sass:
+
+```js
+gulp.src('./src/scss/app.scss')
+  .pipe(sass({
+    includePaths: ['node_modules/motion-ui/src']
+  }));
+```
+
+Finally, import the library into your Sass file.
+
+```scss
+@import 'motion-ui'
+```
+
+Or, another way to start using Motion UI is through a CDN.
+
+```html
+<!-- Insert this within your head tag and after foundation.css -->
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/motion-ui/1.1.1/motion-ui.min.css" />
+
+```
+
+---
+
+## Built-in Transitions
+
+Motion UI includes more than two dozen built-in transition classes. They can be enabled by adding this line to your Sass file, after you've imported the library:
+
+```scss
+@include motion-ui-transitions;
+```
+
+<div>
+  <select name="docs-transitions" class="docs-transitions">
+    <optgroup label="Slide">
+      <option value="slide-in-down">slide-in-down</option>
+      <option value="slide-in-left">slide-in-left</option>
+      <option value="slide-in-up">slide-in-up</option>
+      <option value="slide-in-right">slide-in-right</option>
+      <option value="slide-out-down">slide-out-down</option>
+      <option value="slide-out-left">slide-out-left</option>
+      <option value="slide-out-up">slide-out-up</option>
+      <option value="slide-out-right">slide-out-right</option>
+    </optgroup>
+    <optgroup label="Fade">
+      <option value="fade-in">fade-in</option>
+      <option value="fade-out">fade-out</option>
+    </optgroup>
+    <optgroup label="Hinge">
+      <option value="hinge-in-from-top">hinge-in-from-top</option>
+      <option value="hinge-in-from-right">hinge-in-from-right</option>
+      <option value="hinge-in-from-bottom">hinge-in-from-bottom</option>
+      <option value="hinge-in-from-left">hinge-in-from-left</option>
+      <option value="hinge-in-from-middle-x">hinge-in-from-middle-x</option>
+      <option value="hinge-in-from-middle-y">hinge-in-from-middle-y</option>
+      <option value="hinge-out-from-top">hinge-out-from-top</option>
+      <option value="hinge-out-from-right">hinge-out-from-right</option>
+      <option value="hinge-out-from-bottom">hinge-out-from-bottom</option>
+      <option value="hinge-out-from-left">hinge-out-from-left</option>
+      <option value="hinge-out-from-middle-x">hinge-out-from-middle-x</option>
+      <option value="hinge-out-from-middle-y">hinge-out-from-middle-y</option>
+    </optgroup>
+    <optgroup label="Scale">
+      <option value="scale-in-up">scale-in-up</option>
+      <option value="scale-in-down">scale-in-down</option>
+      <option value="scale-out-up">scale-out-up</option>
+      <option value="scale-out-down">scale-out-down</option>
+    </optgroup>
+    <optgroup label="Spin">
+      <option value="spin-in">spin-in</option>
+      <option value="spin-out">spin-out</option>
+      <option value="spin-in-ccw">spin-in-ccw</option>
+      <option value="spin-out-ccw">spin-out-ccw</option>
+    </optgroup>
+  </select>
+  <img src="assets/img/generic/voyager.jpg" class="docs-transition-demo">
+</div>
+
+---
+
+## Custom Transitions
+
+Custom transition classes can be made using Motion UI's mixin library. Here's an example of a custom hinge. **Refer to [Motion UI's transition documentation](https://github.com/zurb/motion-ui/blob/master/docs/transitions.md) to learn more.**
+
+```scss
+@include mui-hinge(
+  $state: in,
+  $from: top,
+  $turn-origin: from-back,
+  $duration: 0.5s,
+  $timing: easeInOut
+);
+```
+
+---
+
+## Animation
+
+You can use the same five transition effects to create CSS animations as well. The library also allows you to create series effects, with animations on multiple elements happening in a queue. **Refer to [Motion UI's animation documentation](https://github.com/zurb/motion-ui/blob/master/docs/animations.md) to learn more.**
+
+<button type="button" class="button" data-docs-example-series>Play Animation</button>
+<div class="row" id="series-example">
+  <div class="small-4 columns">
+    <img class="thumbnail" src= "assets/img/generic/square-1.jpg" id="series-example-1">
+  </div>
+  <div class="small-4 columns">
+    <img class="thumbnail" src= "assets/img/generic/square-2.jpg" id="series-example-2">
+  </div>
+  <div class="small-4 columns">
+    <img class="thumbnail" src= "assets/img/generic/square-3.jpg" id="series-example-3">
+  </div>
+</div>
+
+---
+
+## JavaScript Reference
+
+Motion UI includes a tiny JavaScript utility that will work anywhere as long as jQuery is loaded. However, Foundation 6 includes a customized version of this code that is included in `js/foundation.util.motion.js`. If you are using the Foundation version of this utility, and you wish to animate your own elements, trigger it this way:
+
+```js
+var elem = $('#elem-to-animate');
+
+Foundation.Motion.animateIn(elem, animationClass [, callback]);
+Foundation.Motion.animateOut(elem, animationClass [, callback]);
+```
+
+The callback is optional in this case, and will fire when the animation is complete.
+<div class="callout primary">
+  <p>Please note that the duration/animation speed for Motion UI animations are controlled via Sass mixin variables. The JavaScript handles the addition and removal of classes and event listener/callback firing only.
+  <br>
+  If you are individually including your `<script>` tags, make sure you are including the `js/foundation.util.motion.js` path.
+  </p>
+</div>
diff --git a/libraries/foundation-6/docs/pages/navigation.md b/libraries/foundation-6/docs/pages/navigation.md
new file mode 100755
index 00000000..1860b738
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/navigation.md
@@ -0,0 +1,280 @@
+---
+title: Navigation
+description: Foundation is bundled with many simple navigation patterns, which can be combined to form more complex, robust responsive navigation solutions.
+---
+
+## Basics: Menu
+
+The Menu is an all-purpose navigation component. It can be aligned horizontally or vertically, can be nested, and supports icons. [Learn more about the Menu.](menu.html)
+
+All menus use the `ul > li > a` pattern. The markup is a little strict, but this makes it easy to attach a navigation plugin to any menu, as you'll see below.
+
+Here's a basic Menu.
+
+```html_example
+<ul class="menu">
+  <li><a href="#">Item One</a></li>
+  <li><a href="#">Item Two</a></li>
+  <li><a href="#">Item Three</a></li>
+</ul>
+```
+
+---
+
+To nest menus, add a new `<ul>` inside of an `<li>`, *after* the `<a>` inside.
+
+```html
+<ul class="menu">
+  <li>
+    <a href="#">Item One</a>
+    <ul class="menu">
+      <li><a href="#">Item One-one</a></li>
+    </ul>
+  </li>
+  <li><a href="#">Item Two</a></li>
+  <li><a href="#">Item Three</a></li>
+</ul>
+```
+
+---
+
+## Top Bar
+
+Top bar is a simple wrapper around these menu patterns. It supports a left-hand and right-hand section, which collapse on top of each other on small screens. [Learn more about the top bar.](top-bar.html)
+
+<div class="top-bar">
+  <div class="top-bar-left">
+    <ul class="dropdown menu" data-dropdown-menu>
+      <li class="menu-text">Site Title</li>
+      <li><a href="#">One</a></li>
+      <li><a href="#">Two</a></li>
+      <li><a href="#">Three</a></li>
+    </ul>
+  </div>
+  <div class="top-bar-right">
+    <ul class="menu">
+      <li><input type="search" placeholder="Search"></li>
+      <li><button type="button" class="button">Search</button></li>
+    </ul>
+  </div>
+</div>
+
+---
+
+## Menu Plugins
+
+The basic Menu can be enhanced with one of three **Menu plugins**. All three use the exact same markup to create a different style of multi-tier navigation.
+
+### Dropdown Menu
+
+The dropdown menu plugin (`data-dropdown-menu`) converts a nested menu into a series of dropdown menus. The nested menus can be opened through hover, click, or keyboard. [Learn more about the dropdown menu.](dropdown-menu.html)
+
+<ul class="dropdown menu" data-dropdown-menu>
+  <li class="has-submenu">
+    <a>Item 1</a>
+    <ul class="submenu menu" data-submenu>
+      <li><a href="#">Item 1A Loooong</a></li>
+      <li class="has-submenu">
+        <a href="#"> Item 1 sub</a>
+        <ul class="submenu menu" data-submenu>
+          <li><a href="#">Item 1 subA</a></li>
+          <li><a href="#">Item 1 subB</a></li>
+          <li class="has-submenu">
+            <a href="#"> Item 1 sub</a>
+            <ul class="submenu menu" data-submenu>
+              <li><a href="#">Item 1 subA</a></li>
+              <li><a href="#">Item 1 subB</a></li>
+            </ul>
+          </li>
+          <li class="has-submenu">
+            <a href="#">Item 1 sub</a>
+            <ul class="submenu menu" data-submenu>
+              <li><a href="#">Item 1 subA</a></li>
+              <li><a href="#">Item 1 subB</a></li>
+            </ul>
+          </li>
+
+        </ul>
+      </li>
+      <li><a href="#">Item 1B</a></li>
+    </ul>
+  </li>
+  <li class="has-submenu">
+    <a href="#">Item 2</a>
+    <ul class="submenu menu" data-submenu>
+      <li><a href="#">Item 2A</a></li>
+      <li><a href="#">Item 2B</a></li>
+    </ul>
+  </li>
+  <li class="has-submenu">
+    <a href="#">Item 3</a>
+    <ul class="submenu menu" data-submenu>
+      <li><a href="#">Item 3A</a></li>
+      <li><a href="#">Item 3B</a></li>
+    </ul>
+  </li>
+  <li><a href="#">Item 4</a></li>
+</ul>
+
+---
+
+### Drilldown Menu
+
+The drilldown menu plugin (`data-drilldown`) converts a nested menu into a series of sliding menus. Clicking an item slides the next level menu into view. [Learn more about the drilldown menu.](drilldown-menu.html)
+
+<ul class="vertical menu" data-drilldown style="width: 300px;" id="m1">
+  <li class="has-submenu">
+    <a href="#">Item 1</a>
+    <ul class="vertical menu" data-submenu id="m2">
+      <li class="has-submenu">
+        <a href="#">Item 1A</a>
+        <ul class="vertical menu" data-submenu id="m3">
+          <li><a href="#">Item 1Aa</a></li>
+          <li><a href="#">Item 1Ba</a></li>
+          <li><a href="#">Item 1Ca</a></li>
+          <li><a href="#">Item 1Da</a></li>
+          <li><a href="#">Item 1Ea</a></li>
+        </ul>
+      </li>
+      <li><a href="#">Item 1B</a></li>
+      <li><a href="#">Item 1C</a></li>
+      <li><a href="#">Item 1D</a></li>
+      <li><a href="#">Item 1E</a></li>
+    </ul>
+  </li>
+  <li class="has-submenu">
+    <a href="#">Item 2</a>
+    <ul class="vertical menu" data-submenu>
+      <li><a href="#">Item 2A</a></li>
+      <li><a href="#">Item 2B</a></li>
+      <li><a href="#">Item 2C</a></li>
+      <li><a href="#">Item 2D</a></li>
+      <li><a href="#">Item 2E</a></li>
+    </ul>
+  </li>
+  <li class="has-submenu">
+    <a href="#">Item 3</a>
+    <ul class="vertical menu" data-submenu>
+      <li><a href="#">Item 3A</a></li>
+      <li><a href="#">Item 3B</a></li>
+      <li><a href="#">Item 3C</a></li>
+      <li><a href="#">Item 3D</a></li>
+      <li><a href="#">Item 3E</a></li>
+    </ul>
+  </li>
+  <li><a href="#"> Item 4</a></li>
+</ul>
+
+---
+
+### Accordion Menu
+
+The accordion menu plugin (`data-accordion-menu`) converts a nested menu into a series of collapsed accordions. Clicking an item slides down the nested menu. [Learn more about the accordion menu.](accordion-menu.html)
+
+<div class="vertical menu" data-accordion-menu>
+  <li class="has-submenu">
+    <a href="#">Item 1</a>
+    <ul class="menu vertical nested is-active" data-submenu>
+      <li class="has-submenu">
+        <a href="#">Item 1A</a>
+        <ul class="menu vertical nested" data-submenu>
+          <li><a href="#">Item 1Ai</a></li>
+          <li><a href="#">Item 1Aii</a></li>
+          <li><a href="#">Item 1Aiii</a></li>
+        </ul>
+      </li>
+      <li><a href="#">Item 1B</a></li>
+      <li><a href="#">Item 1C</a></li>
+    </ul>
+  </li>
+  <li class="has-submenu">
+    <a href="#">Item 2</a>
+    <ul class="menu vertical nested" data-submenu>
+      <li><a href="#">Item 2A</a></li>
+      <li><a href="#">Item 2B</a></li>
+    </ul>
+  </li>
+  <li><a href="#">Item 3</a></li>
+</div>
+
+---
+
+## Responsive Navigation
+
+Each of the above three patterns has a use in a specific context. But some patterns only work at certain screen sizes. For example, dropdown menus don't work as well on smaller screens, but the same navigation items might work better as a drilldown or an accordion menu at that screen size.
+
+Our responsive menu plugin (`data-responsive-menu`) allows you to take a Menu, and assign different navigation patterns to it at different screen sizes. In the below example, a drilldown menu changes to a dropdown menu at larger screen sizes. [Learn more about the responsive Menu plugin.](responsive-navigation.html#responsive-menu)
+
+<ul class="vertical menu" data-responsive-menu="drilldown medium-dropdown" style="width: 300px;">
+  <li class="has-submenu">
+    <a href="#">Item 1</a>
+    <ul class="vertical submenu menu" data-submenu id="m2">
+      <li class="has-submenu">
+        <a href="#">Item 1A</a>
+        <ul class="vertical submenu menu" data-submenu id="m3">
+          <li><a href="#">Item 1A</a></li>
+          <li><a href="#">Item 1B</a></li>
+          <li><a href="#">Item 1C</a></li>
+          <li><a href="#">Item 1D</a></li>
+          <li><a href="#">Item 1E</a></li>
+        </ul>
+      </li>
+      <li><a href="#">Item 1B</a></li>
+    </ul>
+  </li>
+  <li class="has-submenu">
+    <a href="#">Item 2</a>
+    <ul class="vertical submenu menu" data-submenu>
+      <li><a href="#">Item 2A</a></li>
+      <li><a href="#">Item 2B</a></li>
+    </ul>
+  </li>
+  <li class="has-submenu">
+    <a href="#">Item 3</a>
+    <ul class="vertical submenu menu" data-submenu>
+      <li><a href="#">Item 3A</a></li>
+      <li><a href="#">Item 3B</a></li>
+    </ul>
+  </li>
+</ul>
+
+---
+
+In other situations, you may wish to always display a menu on a larger screen, but hide that same menu behind a click toggle on smaller screens. You can do this with the responsive toggle plugin (`data-responsive-toggle`). This plugin works with any container, not just a menu. [Learn more about the responsive toggle plugin.](responsive-navigation.html#responsive-toggle)
+
+To see the below example in action, scale your browser down. The top bar will be replaced by a smaller title bar. Clicking the icon inside the title bar reveals the top bar.
+
+<div class="title-bar" data-responsive-toggle="example-menu" data-hide-for="medium">
+  <button class="menu-icon" type="button" data-toggle></button>
+  <div class="title-bar-title">Menu</div>
+</div>
+
+<div class="top-bar" id="example-menu">
+  <div class="top-bar-left">
+    <ul class="dropdown menu" data-dropdown-menu>
+      <li class="menu-text">Site Title</li>
+      <li class="has-submenu">
+        <a href="#">One</a>
+        <ul class="submenu menu vertical" data-submenu>
+          <li><a href="#">One</a></li>
+          <li><a href="#">Two</a></li>
+          <li><a href="#">Three</a></li>
+        </ul>
+      </li>
+      <li><a href="#">Two</a></li>
+      <li><a href="#">Three</a></li>
+    </ul>
+  </div>
+  <div class="top-bar-right">
+    <ul class="menu">
+      <li><input type="search" placeholder="Search"></li>
+      <li><button type="button" class="button">Search</button></li>
+    </ul>
+  </div>
+</div>
+
+---
+
+## Sticky Navigation
+
+See the documentation for the [Sticky](sticky.html#sticky-navigation) plugin to see how to easily make a sticky nav bar.
diff --git a/libraries/foundation-6/docs/pages/off-canvas.md b/libraries/foundation-6/docs/pages/off-canvas.md
new file mode 100755
index 00000000..f15dab35
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/off-canvas.md
@@ -0,0 +1,155 @@
+---
+title: Off-canvas
+description: Off-canvas menus are positioned outside of the viewport and slide in when activated. Setting up an off-canvas layout in Foundation is super easy.
+sass:
+  - scss/components/_off-canvas.scss
+  - scss/components/_title-bar.scss
+js: js/foundation.offcanvas.js
+tags:
+  - navigation
+flex: true
+---
+
+<button class="button" type="button" data-toggle="offCanvasLeft">Toggle Off-canvas</button>
+
+## Setup
+
+To start, create two wrappers to house the page. These are necessary to prevent the off-canvas menus from being visible when they're not open. They also smooth out cross-browser bugs.
+- The outer wrapper has the class `.off-canvas-wrapper`.
+- The inner wrapper has the class `.off-canvas-wrapper-inner` and the attribute `data-off-canvas-wrapper`.
+
+```html
+<body>
+  <div class="off-canvas-wrapper">
+    <div class="off-canvas-wrapper-inner" data-off-canvas-wrapper></div>
+  </div>
+</body>
+```
+
+Inside these wrapper, create an off-canvas menu with the class `.off-canvas` and the attribute `data-off-canvas`. The menu also needs a positioning class, which can be `.position-left` or `.position-right`. Lastly, make sure the off-canvas has a unique ID so it can be targeted.
+
+Along with the menu, the main content of your page will be housed in its own container with the class `.off-canvas-content` and attribute `data-off-canvas-content`.
+
+```html
+<body>
+  <div class="off-canvas-wrapper">
+    <div class="off-canvas-wrapper-inner" data-off-canvas-wrapper>
+      <div class="off-canvas position-left" id="offCanvas" data-off-canvas></div>
+      <div class="off-canvas-content" data-off-canvas-content></div>
+    </div>
+  </div>
+</body>
+```
+
+Here's a complete example that can be pasted into the `<body>` tag of your page. It includes a close button and basic menu styles.
+
+```html
+<body>
+  <div class="off-canvas-wrapper">
+    <div class="off-canvas-wrapper-inner" data-off-canvas-wrapper>
+      <div class="off-canvas position-left" id="offCanvas" data-off-canvas>
+
+        <!-- Close button -->
+        <button class="close-button" aria-label="Close menu" type="button" data-close>
+          <span aria-hidden="true">&times;</span>
+        </button>
+
+        <!-- Menu -->
+        <ul class="vertical menu">
+          <li><a href="#">Foundation</a></li>
+          <li><a href="#">Dot</a></li>
+          <li><a href="#">ZURB</a></li>
+          <li><a href="#">Com</a></li>
+          <li><a href="#">Slash</a></li>
+          <li><a href="#">Sites</a></li>
+        </ul>
+
+      </div>
+
+      <div class="off-canvas-content" data-off-canvas-content>
+        <!-- Page content -->
+      </div>
+    </div>
+  </div>
+</body>
+```
+
+### Click Triggers
+
+To create a click trigger that opens the menu, add the attribute `data-open` or `data-toggle` to any element. That element will then open or toggle the menu when clicked on. The value of the data attribute should be the ID of the off-canvas.
+
+```html
+<button type="button" class="button" data-toggle="offCanvas">Open Menu</button>
+```
+
+---
+
+## Multiple Menus
+
+A design can have two menus: one on the left, and one on the right. Be sure that both menus come *before* the `.off-canvas-content` wrapper&mdash;this is required for the CSS to apply correctly.
+
+<div class="primary callout">
+  <p>When using Foundation in <a href="rtl.html">right-to-left</a> mode, "right" still means right, and "left" still means left.</p>
+</div>
+
+```html
+<body>
+  <div class="off-canvas-wrapper">
+    <div class="off-canvas-wrapper-inner" data-off-canvas-wrapper>
+      <div class="off-canvas position-left" id="offCanvasLeft" data-off-canvas></div>
+      <div class="off-canvas position-right" id="offCanvasRight" data-off-canvas data-position="right"></div>
+      <div class="off-canvas-content" data-off-canvas-content></div>
+    </div>
+  </div>
+</body>
+```
+
+<button class="button" type="button" data-toggle="offCanvasLeft">Open Left Menu</button>
+<button class="button" type="button" data-toggle="offCanvasRight">Open Right Menu</button>
+
+---
+
+## Title Bar
+
+If you need a simple title bar to toggle the off-canvas, `.title-bar` is here to help. It supports left- and right-aligned sections.
+
+```html_example
+<div class="title-bar">
+  <div class="title-bar-left">
+    <button class="menu-icon" type="button" data-open="offCanvasLeft"></button>
+    <span class="title-bar-title">Foundation</span>
+  </div>
+  <div class="title-bar-right">
+    <button class="menu-icon" type="button" data-open="offCanvasRight"></button>
+  </div>
+</div>
+```
+<br>
+
+#### Responsive Off-Canvas (Putting it all together)
+
+For an example of off-canvas on small screens and Top Bar Menu with Dropdowns, check out this Building Block: http://zurb.com/building-blocks/top-bar-with-off-canvas
+
+---
+
+## Reveal on Larger Screens
+
+The left- and right-hand off-canvas panes can be set to be persistent on larger screens. Add the class `.reveal-for-medium` or `.reveal-for-large` to the off-canvas menu.
+
+The main content area (`.off-canvas-content`) will be padded to the left or right equal to the width of the container.
+
+<div class="callout">
+  <p>The menu will be fixed-position by default, meaning it follows you as you scroll up and down. The menu also gets its own scroll bar if it's taller than the window. To disable these features, set the <code>$offcanvas-fixed-reveal</code> variable to <code>false</code>.</p>
+</div>
+
+<div class="warning callout">
+  <p>The slide in/out of the plugin still works when these classes are active. If you use this feature on a larger screen, be sure to hide any click triggers on those larger breakpoints as well. Foundation's <a href="visibility.html">visibility classes</a> can help you with that.</p>
+</div>
+
+```html
+<div class="off-canvas position-left reveal-for-large" data-off-canvas>
+  <!-- ... -->
+</div>
+```
+
+<button type="button" class="button" data-docs-example-ofc>Toggle Reveal Class</button>
diff --git a/libraries/foundation-6/docs/pages/orbit.md b/libraries/foundation-6/docs/pages/orbit.md
new file mode 100755
index 00000000..0ccce4b2
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/orbit.md
@@ -0,0 +1,246 @@
+---
+title: Orbit
+description: An image and content carousel with animation support and many customizable options.
+sass: scss/components/_orbit.scss
+js: js/foundation.orbit.js
+mui: true
+tags:
+  - slider
+  - carousel
+---
+
+## Basics
+
+Orbit doesn't automatically generate any HTML for you, giving you the flexibility to move around the various pieces of the plugin. Here's a complete example&mdash;we'll break down the individual pieces farther down.
+
+```html_example
+<div class="orbit" role="region" aria-label="Favorite Space Pictures" data-orbit>
+  <ul class="orbit-container">
+    <button class="orbit-previous"><span class="show-for-sr">Previous Slide</span>&#9664;&#xFE0E;</button>
+    <button class="orbit-next"><span class="show-for-sr">Next Slide</span>&#9654;&#xFE0E;</button>
+    <li class="is-active orbit-slide">
+      <img class="orbit-image" src="assets/img/orbit/01.jpg" alt="Space">
+      <figcaption class="orbit-caption">Space, the final frontier.</figcaption>
+    </li>
+    <li class="orbit-slide">
+      <img class="orbit-image" src="assets/img/orbit/02.jpg" alt="Space">
+      <figcaption class="orbit-caption">Lets Rocket!</figcaption>
+    </li>
+    <li class="orbit-slide">
+      <img class="orbit-image" src="assets/img/orbit/03.jpg" alt="Space">
+      <figcaption class="orbit-caption">Encapsulating</figcaption>
+    </li>
+    <li class="orbit-slide">
+      <img class="orbit-image" src="assets/img/orbit/04.jpg" alt="Space">
+      <figcaption class="orbit-caption">Outta This World</figcaption>
+    </li>
+  </ul>
+  <nav class="orbit-bullets">
+    <button class="is-active" data-slide="0"><span class="show-for-sr">First slide details.</span><span class="show-for-sr">Current Slide</span></button>
+    <button data-slide="1"><span class="show-for-sr">Second slide details.</span></button>
+    <button data-slide="2"><span class="show-for-sr">Third slide details.</span></button>
+    <button data-slide="3"><span class="show-for-sr">Fourth slide details.</span></button>
+  </nav>
+</div>
+```
+
+---
+
+### Wrapper
+
+The wrapper houses the entire carousel. We use the `aria-label` attribute to label what the carousel is, for assistive technology.
+
+```html
+<div class="orbit" role="region" aria-label="Favorite Space Pictures" data-orbit>
+</div>
+```
+
+### Slide Container
+
+The slide container houses each individual slide. In our above markup example, we also placed the buttons in here, so we can anchor them to the center edge of the slide container. However, they can be moved anywhere within the `data-orbit` wrapper.
+
+Each slide is an `<li>` with the class `.orbit-slide`. The first slide is marked with the `.is-active` class to indicate it's the default. You can place any HTML you want inside of the slide, but we have some premade styles for image-based slides with a caption.
+
+```html
+<ul class="orbit-container">
+  <li class="orbit-slide is-active">
+    <img class="orbit-image" src="assets/img/orbit/01.jpg" alt="Space">
+    <figcaption class="orbit-caption">Space, the final frontier.</figcaption>
+  </li>
+  <!-- More slides... -->
+</ul>
+```
+
+### Next/Previous Arrows
+
+Orbit controls use the class `.orbit-previous` and `.orbit-next`. The below example has an important accessibility hook: since we're using ASCII arrows for the carousel controls, we add screen reader-only text (wrapped in the class `.show-for-sr`) that explain what the controls do.
+
+```html
+<button class="orbit-previous"><span class="show-for-sr">Previous Slide</span> &#9664;&#xFE0E;</button>
+<button class="orbit-next"><span class="show-for-sr">Next Slide</span> &#9654;&#xFE0E;</button>
+```
+
+### Bullets
+
+The bullets serve two purposes: they mark the current slide, and can be clicked on to navigate to another slide. Like with the controls, the bullets also have screen reader-friendly labels.
+
+```html
+<nav class="orbit-bullets">
+  <button class="is-active" data-slide="0"><span class="show-for-sr">First slide details.</span><span class="show-for-sr">Current Slide</span></button>
+  <button data-slide="1"><span class="show-for-sr">Second slide details.</span></button>
+  <button data-slide="2"><span class="show-for-sr">Third slide details.</span></button>
+  <button data-slide="3"><span class="show-for-sr">Fourth slide details.</span></button>
+</nav>
+```
+
+<!-- <div class="callout"><p>
+  The new Orbit slider was designed to be a tool for rapid prototyping. While you are welcome to use it in production, if you want something more robust, we welcome you to try [Owl Carousel](http://owlgraphic.com/owlcarousel/).
+</p>
+<div class="callout alert">
+  <p>
+    If animations are desired with the Orbit slider, such as the example below, [Motion-UI](https://github.com/zurb/motion-ui) is required. If you want a simple slide replacement, set the option `useMUI` to false for animation free slides.
+  </p>
+</div>
+</div> -->
+
+---
+
+## Slide Contents
+
+A carousel slide can contain images or HTML&mdash;you can even mix between slides in one carousel!
+
+```html
+<li class="orbit-slide">
+  <div>
+    <h3 class="text-center">2: You can also throw some text in here!</h3>
+    <p class="text-center">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Unde harum rem, beatae ipsa consectetur quisquam. Rerum ratione, delectus atque tempore sed, suscipit ullam, beatae distinctio cupiditate ipsam eligendi tempora expedita.</p>
+    <h3 class="text-center">This Orbit slider does not use animations.</h3>
+  </div>
+</li>
+```
+
+<div class="orbit" role="region" aria-label="Favorite Text Ever" data-orbit>
+  <ul class="orbit-container">
+    <button class="orbit-previous" aria-label="previous"><span class="show-for-sr">Previous Slide</span>&#9664;</button>
+    <button class="orbit-next" aria-label="next"><span class="show-for-sr">Next Slide</span>&#9654;</button>
+    <li class="is-active orbit-slide">
+      <div class="docs-example-orbit-slide">
+        <p><strong>This is dodgerblue.</strong> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+      </div>
+    </li>
+    <li class="orbit-slide">
+      <div class="docs-example-orbit-slide">
+        <p><strong>This is rebeccapurple.</strong> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+      </div>
+    </li>
+    <li class="orbit-slide">
+      <div class="docs-example-orbit-slide">
+        <p><strong>This is darkgoldenrod.</strong> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+      </div>
+    </li>
+    <li class="orbit-slide">
+      <div class="docs-example-orbit-slide">
+        <p><strong>This is lightseagreen.</strong> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+      </div>
+    </li>
+  </ul>
+  <nav class="orbit-bullets">
+    <button class="is-active" data-slide="0"><span class="show-for-sr">First slide details.</span><span class="show-for-sr">Current Slide</span></button>
+    <button data-slide="1"><span class="show-for-sr">Second slide details.</span></button>
+    <button data-slide="2"><span class="show-for-sr">Third slide details.</span></button>
+    <button data-slide="3"><span class="show-for-sr">Fourth slide details.</span></button>
+  </nav>
+</div>
+
+---
+
+## Using Animation
+
+Orbit uses [Motion UI](motion-ui.html) CSS classes to animate slides around.
+
+<div class="callout warning">
+  <p>Without the inclusion of the `motion-ui` [Motion UI](motion-ui.html) CSS file in your template, Orbit slider fails to work properly. </p>
+</div>
+
+There are four plugin options you can set to change the default effects:
+
+- `data-anim-in-from-left`: transition to play when a slide comes *in from the left*.
+- `data-anim-in-from-right`: transition to play when a slide comes *in from the right*.
+- `data-anim-out-from-left`: transition to play when a slide comes *out from the left*.
+- `data-anim-out-from-right`: transition to play when a slide comes *out from the right*.
+
+Since those option names are pretty *long*, you can also set them all in one HTML attribute, using `data-options`:
+
+```html
+<div class="orbit" role="region" aria-label="Favorite Space Pictures" data-orbit data-options="animInFromLeft:fade-in; animInFromRight:fade-in; animOutToLeft:fade-out; animOutToRight:fade-out;">
+</div>
+```
+
+<div class="orbit" role="region" aria-label="Favorite Space Pictures" data-orbit data-options="animInFromLeft:fade-in; animInFromRight:fade-in; animOutToLeft:fade-out; animOutToRight:fade-out;">
+  <ul class="orbit-container">
+    <button class="orbit-previous" aria-label="previous"><span class="show-for-sr">Previous Slide</span>&#9664;</button>
+    <button class="orbit-next" aria-label="next"><span class="show-for-sr">Next Slide</span>&#9654;</button>
+    <li class="is-active orbit-slide">
+      <img class="orbit-image" src="assets/img/orbit/01.jpg" alt="Space">
+      <figcaption class="orbit-caption">Space, the final frontier.</figcaption>
+    </li>
+    <li class="orbit-slide">
+      <img class="orbit-image" src="assets/img/orbit/02.jpg" alt="Space">
+      <figcaption class="orbit-caption">Lets Rocket!</figcaption>
+    </li>
+    <li class="orbit-slide">
+      <img class="orbit-image" src="assets/img/orbit/03.jpg" alt="Space">
+      <figcaption class="orbit-caption">Encapsulating</figcaption>
+    </li>
+    <li class="orbit-slide">
+      <img class="orbit-image" src="assets/img/orbit/04.jpg" alt="Space">
+      <figcaption class="orbit-caption">Outta This World</figcaption>
+    </li>
+  </ul>
+  <nav class="orbit-bullets">
+   <button class="is-active" data-slide="0"><span class="show-for-sr">First slide details.</span><span class="show-for-sr">Current Slide</span></button>
+   <button data-slide="1"><span class="show-for-sr">Second slide details.</span></button>
+   <button data-slide="2"><span class="show-for-sr">Third slide details.</span></button>
+   <button data-slide="3"><span class="show-for-sr">Fourth slide details.</span></button>
+ </nav>
+</div>
+
+---
+
+### Disabling Animation
+
+To disable Motion UI, set the plugin option `useMUI` to `false`. Written as an HTML attribute, that's `data-use-m-u-i="false"`.
+
+```html
+<div class="orbit" role="region" aria-label="Favorite Space Pictures" data-orbit data-use-m-u-i="false">
+</div>
+```
+
+<div class="orbit" role="region" aria-label="Favorite Space Pictures" data-orbit data-use-m-u-i="false">
+  <ul class="orbit-container">
+    <button class="orbit-previous" aria-label="previous"><span class="show-for-sr">Previous Slide</span>&#9664;</button>
+    <button class="orbit-next" aria-label="next"><span class="show-for-sr">Next Slide</span>&#9654;</button>
+    <li class="is-active orbit-slide">
+      <img class="orbit-image" src="assets/img/orbit/01.jpg" alt="Space">
+      <figcaption class="orbit-caption">Space, the final frontier.</figcaption>
+    </li>
+    <li class="orbit-slide">
+      <img class="orbit-image" src="assets/img/orbit/02.jpg" alt="Space">
+      <figcaption class="orbit-caption">Lets Rocket!</figcaption>
+    </li>
+    <li class="orbit-slide">
+      <img class="orbit-image" src="assets/img/orbit/03.jpg" alt="Space">
+      <figcaption class="orbit-caption">Encapsulating</figcaption>
+    </li>
+    <li class="orbit-slide">
+      <img class="orbit-image" src="assets/img/orbit/04.jpg" alt="Space">
+      <figcaption class="orbit-caption">Outta This World</figcaption>
+    </li>
+  </ul>
+  <nav class="orbit-bullets">
+   <button class="is-active" data-slide="0"><span class="show-for-sr">First slide details.</span><span class="show-for-sr">Current Slide</span></button>
+   <button data-slide="1"><span class="show-for-sr">Second slide details.</span></button>
+   <button data-slide="2"><span class="show-for-sr">Third slide details.</span></button>
+   <button data-slide="3"><span class="show-for-sr">Fourth slide details.</span></button>
+ </nav>
+</div>
diff --git a/libraries/foundation-6/docs/pages/pagination.md b/libraries/foundation-6/docs/pages/pagination.md
new file mode 100755
index 00000000..8d7f62e3
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/pagination.md
@@ -0,0 +1,47 @@
+---
+title: Pagination
+description: Pagination is a type of navigation that lets users click through pages of search results, products, or other related items.
+sass: scss/components/_pagination.scss
+---
+
+## Basics
+
+A pagination list is just a `<ul>` with the class `.pagination`, and a series of `<li>`/`<a>` pairs. Add the class `.current` to an `<li>` to mark the current page, or `.disabled` to add disabled styles to a link.
+
+Note that the container has the attributes `role="navigation"` and `aria-label="Pagination"`. These explain the purpose of the component to assistive technologies.
+
+Extra screen reader-only text should also be added to a pagination element. In the below example, users reading the page will just see "Next" and "Previous", but screen readers will read it as "Next page" and "Previous page". Additionally, the text for the current page will read as "You're on page one".
+
+```html_example
+<ul class="pagination" role="navigation" aria-label="Pagination">
+  <li class="pagination-previous disabled">Previous <span class="show-for-sr">page</span></li>
+  <li class="current"><span class="show-for-sr">You're on page</span> 1</li>
+  <li><a href="#" aria-label="Page 2">2</a></li>
+  <li><a href="#" aria-label="Page 3">3</a></li>
+  <li><a href="#" aria-label="Page 4">4</a></li>
+  <li class="ellipsis" aria-hidden="true"></li>
+  <li><a href="#" aria-label="Page 12">12</a></li>
+  <li><a href="#" aria-label="Page 13">13</a></li>
+  <li class="pagination-next"><a href="#" aria-label="Next page">Next <span class="show-for-sr">page</span></a></li>
+</ul>
+```
+
+---
+
+## Centered
+
+The items in a pagination list are `display: inline-block`, which makes centering them easy. Use our built-in `.text-center` class, or add `text-align: center` in your CSS.
+
+```html_example
+<ul class="pagination text-center" role="navigation" aria-label="Pagination">
+  <li class="pagination-previous disabled">Previous</li>
+  <li class="current"><span class="show-for-sr">You're on page</span> 1</li>
+  <li><a href="#" aria-label="Page 2">2</a></li>
+  <li><a href="#" aria-label="Page 3">3</a></li>
+  <li><a href="#" aria-label="Page 4">4</a></li>
+  <li class="ellipsis"></li>
+  <li><a href="#" aria-label="Page 12">12</a></li>
+  <li><a href="#" aria-label="Page 13">13</a></li>
+  <li class="pagination-next"><a href="#" aria-label="Next page">Next</a></li>
+</ul>
+```
diff --git a/libraries/foundation-6/docs/pages/panini.md b/libraries/foundation-6/docs/pages/panini.md
new file mode 100755
index 00000000..3b76e22f
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/panini.md
@@ -0,0 +1,251 @@
+---
+title: Panini
+description: A flat file compiler that powers our prototyping template. Create pages with consistent layouts and reusable partials with ease.
+library:
+  github: https://github.com/zurb/panini
+  docs: https://github.com/zurb/panini
+---
+
+{{{{raw}}}}
+
+If you've ever created a static site, maybe you had five pages that all shared the same header and footer. You create your first page, and then copy and paste the common elements to the next page. But now if you need to make a change to the header, the change has to be made across multiple files.
+
+Panini is a flat file compiler that uses the concepts of templates, pages, and partials&mdash;powered by the [Handlebars](http://handlebarsjs.com/) templating language&mdash;to streamline the process of creating static prototypes.
+
+Our [prototyping template](starter-projects.html) uses Panini, along with a host of other tools for processing Sass, JavaScript, and images, to make creating static prototypes easy. It's already been configured to utilize all of the features below, but if you want to learn the specifics of how to configure the library, head over to the [Panini GitHub page](https://github.com/zurb/panini).
+
+---
+
+## Basics: Templates & Pages
+
+A **template** is a common layout that every page in your design shares. It's possible to have multiple templates, but generally you'll only need one, and a page can only use one template. In the prototyping template, the default layout is found under `src/layouts/default.html`.
+
+Here's what a basic template might look like:
+
+```handlebars
+<html>
+  <head>
+    <title>Definitely a Website!</title>
+  </head>
+  <body>
+    <header class="header"><!-- ... --></header>
+    {{> body}}
+    <footer class="footer"><!-- ... --></footer>
+  </body>
+</html>
+```
+
+In the middle of the HTML is a bit of Handlebars code: `{{> body}}`. This is where the pages you write are injected when Panini runs, giving you a series of complete HTML files at the end.
+
+The **pages** make up the guts of your layouts. These files will just have the middle section of the design, since the layout already covers the top and bottom. The prototyping template includes one blank page to get you started, under `src/pages/index.html`.
+
+A basic page might look like this:
+
+```html
+<h1>Page Title</h1>
+<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Praesentium ducimus eligendi, reiciendis corporis quam facere quaerat qui, aspernatur molestiae velit, vero ea quisquam laborum corrupti repudiandae totam, at aliquam esse.</p>
+```
+
+Note that there's no `<html>` or `<body>` tags, and no header or footer. This code will be injected into the `{{> body}}` declaration when Panini assembles your pages.
+
+In the prototyping template, these finished files are compiled into a standalone folder called `dist` (short for "distribution"), which also includes your processed CSS, JavaScript, and images. This folder can easily be uploaded to any web server, or Notable's [Hosted Prototypes](http://zurb.com/notable/features/hosted) service.
+
+---
+
+## Partials
+
+Partials are a feature of Handlebars which allow you to inject HTML anywhere in a page or layout. They're really useful when you need to repeat certain chunks of code throughout your pages, or to keep individual files from getting too cluttered with HTML.
+
+Here's an example of a layout file that divides its key sections into partials:
+
+```handlebars
+<html>
+  <head>
+    <title>Definitely STILL a Website!</title>
+  </head>
+  <body>
+    {{> header}}
+    {{> navigation}}
+    {{> body}}
+    {{> footer}}
+  </body>
+</html>
+```
+
+The `{{> }}` syntax tells Handlebars to look for an HTML file with that name, and inject it at that place. In this example, we have files called `header.html`, `navigation.html`, and `footer.html`. In the prototyping template, these files all exist within `src/partials`.
+
+---
+
+## Page Variables
+
+Pages have a few built-in variables, which can be used within the page template itself, or within a layout or partial being used in tandem with the page.
+
+### page
+
+Prints the name of the current page, without its original file extension. In the below example, if the page is `index.html`, `{{page}}` will become `index`.
+
+```handlebars
+<p>You are here: {{page}}</p>
+```
+
+### root
+
+Use `{{root}}` before a file path to make sure it works no matter what folder the current page is in.
+
+For example, a path to an external CSS file will need to be different if the current page is at the root level of your site, or in a sub-folder.
+
+Here's how you'd use it with a `<link>` tag:
+
+```handlebars
+<link rel="stylesheet" href="{{root}}assets/css/app.css">
+```
+
+If the page is `index.html`, the path will look like this:
+
+```html
+<link rel="stylesheet" href="assets/css/app.css">
+```
+
+If the page is `folder/page.html`, the path will look like this:
+
+```html
+<link rel="stylesheet" href="../assets/css/app.css">
+```
+
+The `../` is added only on pages in a sub-folder, so the CSS can still be properly loaded.
+
+---
+
+## Helpers
+
+Helpers are special functions that manipulate content on the page. In addition to [Handlebars's built-in helpers](http://handlebarsjs.com/builtin_helpers.html), Panini includes a few custom helpers and you can add your own.
+
+### ifpage
+
+Displays the HTML inside the helper only on specific pages. In the below example, the HTML inside the helper will only show up on the `index.html` page.
+
+```handlebars
+{{#ifpage 'index'}}
+  <p>This is definitely the Index page.</p>
+{{/ifpage}}
+```
+
+You can also check for multiple pages. If *any* name in the list matches the current page, the HTML will appear.
+
+```handlebars
+{{#ifpage 'index' 'about'}}
+  <p>This is definitely either the Index or About page.</p>
+{{/ifpage}}
+```
+
+### unlesspage
+
+The opposite of `#ifpage`, `#unlesspage` will only display the HTML inside of it if the current page is *not* in the parameters.
+
+```handlebars
+{{#unlesspage 'index'}}
+  <p>This is definitely <em>not</em> the Index page.</p>
+{{/unlesspage}}
+```
+
+### repeat
+
+Repeats the content inside of it `n` number of times. Use this to easily print lots of duplicate HTML in a prototype.
+
+```handlebars
+<ul>
+  {{#repeat 5}}
+  <li>Five hundred ninety-nine US dollars</li>
+  {{/repeat}}
+</ul>
+```
+
+### markdown
+
+Converts Markdown into HTML.
+
+```handlebars
+{{#markdown}}
+# Heading 1
+Lorem ipsum [dolor sit amet](http://html5zombo.com), consectetur adipisicing elit. Nam dolor, perferendis. Mollitia aut dolorum, est amet libero eos ad facere pariatur, ullam dolorem similique fugit, debitis impedit, eligendi officiis dolores.
+{{/markdown}}
+```
+
+### Custom Helpers
+
+If you don't see the right helper, you can write your own. Add a javascript file to 'src/helpers', add `helpers: 'src/helpers'` to the Panini process in your gulpfile.babel.js, restart npm, then call it in your templates.
+
+```
+// Example file src/helpers/bold.js
+module.exports = function(options) {
+  // options.fn(this) = Handelbars content between {{#bold}} HERE {{/bold}}
+  var bolder = '<strong>' + options.fn(this) + '</strong>';
+  return bolder;
+}
+```
+
+```
+// Example  gulpfile.babel.js
+function pages() {
+  return gulp.src('src/pages/**/*.html')
+    .pipe(panini({
+      root: 'src/pages',
+      layouts: 'src/layouts',
+      partials: 'src/partials',
+      helpers: 'src/helpers'
+    }))
+    .pipe(inky())
+    .pipe(gulp.dest('dist'));
+}
+```
+
+Then in your projects call your custom `{{#bold}}` helper
+
+```
+{{#bold}}ideas{{/bold}}
+```
+
+---
+
+## Custom Data
+
+Custom data can be added to your pages. This data can then be inserted into your HTML through Handlebars. There are two ways to add data to a project.
+
+To add variables to a specific page only, add it at the top of the page's HTML as a [Front Matter](http://jekyllrb.com/docs/frontmatter/) block. Let's say the below content is inside `src/pages/index.html`.
+
+```html
+---
+title: Page Title
+description: Lorem ipsum.
+---
+
+<!-- The rest of your HTML is down here. -->
+```
+
+Now, you can insert the values of these variables into the `index.html` page, *or* the `default.html` layout. To insert a variable, wrap the name of the variable in double curly braces, like so:
+
+```handlebars
+<h1>{{ title }}</h1>
+```
+
+Variables can also be added globally by creating an external JSON or YML file, and adding it to the `src/data` folder in your project. Let's create a file called `breakfast.yml`:
+
+```
+- eggs
+- bacon
+- toast
+```
+
+Panini will load in the contents of this YML file as a variable called `{{ breakfast }}`. Because it's an array, we can loop through it using Handlebars's `{{#each}}` helper:
+
+```handlebars
+<ul class="breakfast-items">
+  {{#each breakfast}}
+    <li>{{ this }}</li>
+  {{/each}}
+</ul>
+```
+
+This code will print three `<li>`s, one for each item in the file.
+
+{{{{/raw}}}}
diff --git a/libraries/foundation-6/docs/pages/progress-bar.md b/libraries/foundation-6/docs/pages/progress-bar.md
new file mode 100755
index 00000000..6dea43ac
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/progress-bar.md
@@ -0,0 +1,115 @@
+---
+title: Progress Bar
+description: Show your progress. A simple way to add progress bars to your layouts. You only need two HTML elements to make them and they're easy to customize.
+sass:
+  - scss/components/_progress-bar.scss
+  - scss/forms/_progress.scss
+  - scss/forms/_meter.scss
+---
+
+## Basics
+
+A progress bar has two elements: the container `.progress`, and the meter `.progress-meter`. The `role` and `aria-` attributes in the code example clarify the status of the bar:
+
+- `aria-valuemin`: Minimum value.
+- `aria-valuemax`: Maximum value.
+- `aria-valuenow`: Current value.
+
+If the value of the progress bar is not numeric, also add the attribute `aria-valuetext`, which should include a human-readable version of the bar's value.
+
+```html_example
+<div class="progress" role="progressbar" tabindex="0" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">
+  <div class="progress-meter"></div>
+</div>
+```
+
+Add a `width` CSS property to the inner meter to fill the progress bar.
+
+```html_example
+<div class="progress" role="progressbar" tabindex="0" aria-valuenow="50" aria-valuemin="0" aria-valuetext="50 percent" aria-valuemax="100">
+  <div class="progress-meter" style="width: 50%"></div>
+</div>
+```
+
+---
+
+## Colors
+
+A progress bar can be styled with the `.secondary`, `.success`, `.warning`, and `.alert` colors.
+
+```html_example
+<div class="secondary progress" role="progressbar" tabindex="0" aria-valuenow="25" aria-valuemin="0" aria-valuetext="25 percent" aria-valuemax="100">
+  <div class="progress-meter" style="width: 25%"></div>
+</div>
+
+<div class="success progress">
+  <div class="progress-meter" style="width: 50%"></div>
+</div>
+
+<div class="warning progress">
+  <div class="progress-meter" style="width: 50%"></div>
+</div>
+
+<div class="alert progress">
+  <div class="progress-meter" style="width: 75%"></div>
+</div>
+```
+
+---
+
+## With Text
+
+You can add text inside the meter of a progress bar. Make sure the text you use in the meter is also used in the `aria-valuetext` attribute.
+
+```html_example
+<div class="progress" role="progressbar" tabindex="0" aria-valuenow="20" aria-valuemin="0" aria-valuetext="25 percent" aria-valuemax="100">
+  <span class="progress-meter" style="width: 25%">
+    <p class="progress-meter-text">25%</p>
+  </span>
+</div>
+```
+
+---
+
+## Native Progress
+
+As an alternative to our custom progress bar style, you can also opt to use the native `<progress>` element. It provides a more succinct way to create progress bars, but it's not supported in IE9, and some other older browsers. [View `<progress>` element support.](http://caniuse.com/#feat=progress)
+
+```html_example
+<progress max="100" value="75"></progress>
+```
+
+If you're using the Sass version of Foundation, add this line to your main Sass file to export the `<progress>` CSS:
+
+```scss
+@import foundation-progress-element;
+```
+
+The `<progress>` element can be styled with the same coloring classes: `.secondary`, `.success`, `.warning`, and `.alert`.
+
+```html_example
+<progress class="secondary" max="100" value="75"></progress>
+<progress class="success" max="100" value="75"></progress>
+<progress class="warning" max="100" value="75"></progress>
+<progress class="alert" max="100" value="75"></progress>
+```
+
+---
+
+## Native Meter
+
+For the *extra* adventurous developers out there, we also provide styles for the `<meter>` element. What's the difference? `<progress>` represents a value that changes over time, like storage capacity. `<meter>` represents a value that fluctuates around some optimum value. It also has *no* support in Internet Explorer, Mobile Safari, or Android 2. [View `<meter>` element support.](http://caniuse.com/#search=meter)
+
+If you're using the Sass version of Foundation, add this line to your main Sass file to export the `<meter>` CSS:
+
+```scss
+@import foundation-meter-element;
+```
+
+The meter automatically colors itself based on the current values, and the defined low, medium, and high ranges. [Learn more about the mechanics of `<meter>` values.](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/The_native_form_widgets#Meters_and_progress_bars)
+
+```html_example
+<meter value="30" min="0" low="33" high="66" optimum="100" max="100"></meter>
+<meter value="50" min="0" low="33" high="66" optimum="100" max="100"></meter>
+<meter value="100" min="0" low="33" high="66" optimum="100" max="100"></meter>
+```
diff --git a/libraries/foundation-6/docs/pages/responsive-navigation.md b/libraries/foundation-6/docs/pages/responsive-navigation.md
new file mode 100755
index 00000000..404373b6
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/responsive-navigation.md
@@ -0,0 +1,147 @@
+---
+title: Responsive Navigation
+description: Our three Menu patterns form like Voltron into one responsive Menu plugin, which allows you to switch between patterns at different screen sizes.
+js: js/foundation.responsiveToggle.js
+---
+
+## Responsive Menu
+
+The Menu has some responsive CSS classes built in, which allow you to re-orient a menu on different screen sizes.
+
+```html_example
+<ul class="vertical medium-horizontal menu">
+  <li><a href="#">Item 1</a></li>
+  <li><a href="#">Item 2</a></li>
+  <li><a href="#">Item 3</a></li>
+</ul>
+```
+
+---
+
+The Menu can be augmented with one of three different plugins&mdash;dropdown menu, drilldown menu, or accordion menu. However, these patterns tend to work best on specific screen sizes.
+
+With our responsive Menu plugin, you can apply a default pattern to a Menu, and then change that pattern on other screen sizes.
+
+For example, a drilldown menu works well on mobile, but on larger screens, you may want to convert that same menu into a dropdown. Here's an example that does just that:
+
+```html_example
+<ul class="vertical menu" data-responsive-menu="drilldown medium-dropdown" style="width: 300px;">
+  <li>
+    <a href="#">Item 1</a>
+    <ul class="vertical menu">
+      <li>
+        <a href="#">Item 1A</a>
+        <ul class="vertical menu">
+          <li><a href="#">Item 1A</a></li>
+          <li><a href="#">Item 1B</a></li>
+          <li><a href="#">Item 1C</a></li>
+          <li><a href="#">Item 1D</a></li>
+          <li><a href="#">Item 1E</a></li>
+        </ul>
+      </li>
+      <li><a href="#">Item 1B</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="#">Item 2</a>
+    <ul class="vertical menu">
+      <li><a href="#">Item 2A</a></li>
+      <li><a href="#">Item 2B</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="#">Item 3</a>
+    <ul class="vertical menu">
+      <li><a href="#">Item 3A</a></li>
+      <li><a href="#">Item 3B</a></li>
+    </ul>
+  </li>
+</ul>
+```
+
+---
+
+## Responsive Toggle
+
+In Foundation 5, the top bar combined this menu toggling concept into one plugin. We now have a separate, optional component you can use in tandem with the responsive plugin. It's called the title bar, and it allows you to quickly setup a menu toggle on mobile. The title bar hides itself on larger screens.
+
+To set it up, first give your menu a unique ID. (You don't even need to use Menu! Any element will work.) Next, add a title bar with the class `.title-bar` and the attribute `data-responsive-toggle`. The value of `data-responsive-toggle` should be the ID of the menu you're toggling.
+
+By default, the title bar will be visible on small screens, and the Menu hides. At the medium breakpoint, the title bar disappears, and the menu is always visible. This breakpoint can be changed with the `data-hide-for` attribute in HTML, or the `hideFor` setting in JavaScript.
+
+<div class="primary callout show-for-medium">
+  <p>Scale your browser down to see the toggle happen.</p>
+</div>
+
+```html_example
+<div class="title-bar" data-responsive-toggle="example-menu" data-hide-for="medium">
+  <button class="menu-icon" type="button" data-toggle></button>
+  <div class="title-bar-title">Menu</div>
+</div>
+
+<div class="top-bar" id="example-menu">
+  <div class="top-bar-left">
+    <ul class="dropdown menu" data-dropdown-menu>
+      <li class="menu-text">Site Title</li>
+      <li>
+        <a href="#">One</a>
+        <ul class="menu vertical">
+          <li><a href="#">One</a></li>
+          <li><a href="#">Two</a></li>
+          <li><a href="#">Three</a></li>
+        </ul>
+      </li>
+      <li><a href="#">Two</a></li>
+      <li><a href="#">Three</a></li>
+    </ul>
+  </div>
+  <div class="top-bar-right">
+    <ul class="menu">
+      <li><input type="search" placeholder="Search"></li>
+      <li><button type="button" class="button">Search</button></li>
+    </ul>
+  </div>
+</div>
+```
+
+---
+
+### Preventing FOUC
+
+Before the JavaScript on your page loads, you'll be able to see both the mobile and desktop element at once for a brief second. This is known as a [flash of unstyled content](https://en.wikipedia.org/wiki/Flash_of_unstyled_content). There's not an easy way for the framework to handle this for you, but you can add some extra CSS to account for it.
+
+If we reference the above example, `.title-bar` is our mobile element and `.top-bar` is our desktop element. So before the JavaScript loads, we want only the right element for that screen size to be visible.
+
+```css
+.no-js .top-bar {
+  display: none;
+}
+
+@media screen and (min-width: 40em) {
+  .no-js .top-bar {
+    display: block;
+  }
+
+  .no-js .title-bar {
+    display: none;
+  }
+}
+```
+
+If you're using Sass, you can write it like this:
+
+```scss
+.no-js {
+  @include breakpoint(small only) {
+    .top-bar {
+      display: none;
+    }
+  }
+
+  @include breakpoint(medium) {
+    .title-bar {
+      display: none;
+    }
+  }
+}
+```
diff --git a/libraries/foundation-6/docs/pages/reveal.md b/libraries/foundation-6/docs/pages/reveal.md
new file mode 100755
index 00000000..68572f48
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/reveal.md
@@ -0,0 +1,207 @@
+---
+title: Reveal
+description: Modal dialogs, or pop-up windows, are handy for prototyping and production. Foundation includes Reveal, our jQuery modal plugin, to make this easy for you.
+sass: scss/components/_reveal.scss
+js: js/foundation.reveal.js
+mui: true
+tags:
+  - modal
+---
+
+## Basics
+
+A modal is just an empty container, so you can put any kind of content inside it, from text to forms to video to an entire grid.
+
+<div class="callout primary">
+  <p>Please note that we removed the option for AJAX loaded modals in Foundation 6. We did make it very easy to implement on your own though, check out a sample in the <span><a href="#advanced-options">Advanced</a></span> section.</p>
+</div>
+
+To create a modal, add the class `.reveal`, the attribute `data-reveal`, and a unique ID to a container.
+
+```html_example
+<div class="reveal" id="exampleModal1" data-reveal>
+  <h1>Awesome. I Have It.</h1>
+  <p class="lead">Your couch. It is mine.</p>
+  <p>I'm a cool paragraph that lives inside of an even cooler modal. Wins!</p>
+  <button class="close-button" data-close aria-label="Close modal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+```
+
+You'll also need a way to open the modal. Add the attribute `data-open` to any element. The value of `data-open` should be the ID of the modal.
+
+```html_example
+<p><a data-open="exampleModal1">Click me for a modal</a></p>
+```
+
+You'll also need a way to *close* the modal from inside. By default, modals will close if clicked outside of, or if the <kbd>esc</kbd> key is pressed. However, you'll generally also want to add your own click trigger. Add the attribute `data-close` to any element within the modal to add one.
+
+You can use our handy [close button](close-button.html) styles to do this:
+
+```html
+<button class="close-button" data-close aria-label="Close modal" type="button">
+  <span aria-hidden="true">&times;</span>
+</button>
+```
+
+---
+
+## Sizing
+
+On small screens, a modal is always 100% of the width of the screen. On medium-sized screens and larger, the width changes to 80%.
+
+The size of a modal can be changed with these sizing classes, which are added to the modal container:
+
+- `.tiny`: 30% wide
+- `.small`: 50% wide
+- `.large`: 90% wide
+- `.full`: 100% width *and* height, defaults the `escClose` option to true, as well as creates a close button.
+
+```html
+<div class="tiny reveal" id="exampleModal" data-reveal>
+  <!-- ... -->
+</div>
+```
+
+<p><a data-toggle="exampleModal5" aria-controls="exampleModal5">Click me for a tiny modal</a></p>
+
+<div class="tiny reveal" id="exampleModal5" data-reveal>
+  <p>OH I'M SO TIIINY</p>
+  <button class="close-button" data-close aria-label="Close reveal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+
+<p><a data-toggle="exampleModal6">Click me for a small modal</a></p>
+
+<div class="small reveal" id="exampleModal6" data-reveal>
+  <p>I may be small, but I've got a big heart!</p>
+  <button class="close-button" data-close aria-label="Close reveal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+
+<p><a data-toggle="exampleModal7">Click me for a large modal</a></p>
+
+<div class="large reveal" id="exampleModal7" data-reveal>
+  <p>I'm big, like bear!</p>
+  <button class="close-button" data-close aria-label="Close reveal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+
+---
+
+## Nested Modal
+
+It's possible for modals to open other modals. Create a second modal with a unique ID, and then add a click trigger with `data-open` inside the first modal.
+
+```html_example
+<p><a data-open="exampleModal2">Click me for a modal</a></p>
+
+<!-- This is the first modal -->
+<div class="reveal" id="exampleModal2" data-reveal>
+  <h1>Awesome!</h1>
+  <p class="lead">I have another modal inside of me!</p>
+  <a class="button" data-open="exampleModal3">Click me for another modal!</a>
+  <button class="close-button" data-close aria-label="Close reveal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+
+<!-- This is the nested modal -->
+<div class="reveal" id="exampleModal3" data-reveal>
+  <h2>ANOTHER MODAL!!!</h2>
+  <button class="close-button" data-close aria-label="Close reveal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+```
+
+---
+
+## Full-screen
+
+A full-screen modal is 100% of the width *and* height of the window. Add the `.full` class to make it go.
+
+```html_example
+<p><a data-toggle="exampleModal8">Click me for a full-screen modal</a></p>
+
+<div class="full reveal" id="exampleModal8" data-reveal>
+  <p>OH I'M SO FUUUUL</p>
+  <img src="http://placekitten.com/1920/1280" alt="Intropsective Cage">
+  <button class="close-button" data-close aria-label="Close reveal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+```
+
+## Advanced Options
+
+### No Overlay
+
+To remove the overlay, add the attribute `data-overlay="false"` to the modal.
+
+```html_example
+<p><a data-toggle="exampleModal9">Click me for an overlay-lacking modal</a></p>
+
+<div class="reveal" id="exampleModal9" data-reveal data-overlay="false">
+  <p>I feel so free!</p>
+  <button class="close-button" data-close aria-label="Close reveal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+```
+
+---
+
+### Animations
+
+To use animations from the Motion UI library, include the <code>data-animation-in="someAnimationIn"</code> and <code>data-animation-out="someAnimationOut"</code> attributes.
+
+```html_example
+<p><a data-toggle="animatedModal10">Click me for a modal</a></p>
+
+<div class="reveal" id="animatedModal10" data-reveal data-close-on-click="true" data-animation-in="spin-in" data-animation-out="spin-out">
+  <h1>Whoa, I'm dizzy!</h1>
+  <p class='lead'>There are many options for animating modals, check out the Motion UI library to see them all</p>
+  <button class="close-button" data-close aria-label="Close reveal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+```
+
+---
+
+### AJAX
+
+To use AJAX to load your modal content, use the code snippet below.
+
+```js
+var $modal = $('#modal');
+
+$.ajax('/url')
+  .done(function(resp){
+    $modal.html(resp.html).foundation('open');
+});
+```
+
+
+---
+
+## Accessibility
+
+Modals by default are accessible through the use of various ARIA attributes.  To make a modal even more accessible, designate a label to the modal by adding `aria-labelledby="exampleModalHeader11"` to the container and `id="exampleModalHeader11"` to the elment you want to designate as the label.
+
+```html_example
+<p><a data-open="exampleModal11">Click me for a modal</a></p>
+
+<div class="reveal" id="exampleModal11" aria-labelledby="exampleModalHeader11" data-reveal>
+  <h1 id="exampleModalHeader11">Label for the Modal!</h1>
+  <p class="lead">I am even more accessible than the other modals.</p>
+  <button class="close-button" data-close aria-label="Close Accessible Modal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+```
diff --git a/libraries/foundation-6/docs/pages/rtl.md b/libraries/foundation-6/docs/pages/rtl.md
new file mode 100755
index 00000000..770e778e
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/rtl.md
@@ -0,0 +1,45 @@
+---
+title: Right-to-Left Support
+description: Foundation can easily adapt its components to work with languages that read from right to left.
+---
+
+## HTML
+
+You'll need to make a few changes to your markup to get the Javascript components working nice and smooth. In the `<html>` tag, you'll need to add a `dir` attribute with a value of `rtl`. Here's what your `<html>` tag should look like:
+
+```html
+<!-- This example is for a right-to-left Arabic layout -->
+<html class="no-js" lang="ar" dir="rtl">
+```
+
+### Language Code
+
+You'll need to change your lang attribute value to match your language. Here's a handy list of common right-to-left languages and their html codes.
+
+- **Arabic:** `ar`
+- **Chinese:** `zh`
+- **Farsi:** `fa`
+- **Hebrew:** `he`, `iw`
+- **Japanese:** `ja`
+- **Urdu:** `ur`
+- **Yiddish:** `yi`, `ji`
+
+View of a [full list of language codes](http://www.loc.gov/standards/iso639-2/php/code_list.php) on the website of the Library of Congress.
+
+---
+
+## CSS Download
+
+If you use a CSS version of Foundation (the ones you can find on the [download page](http://foundation.zurb.com/sites/download)), you'll need to create a custom download that includes RTL CSS instead of LTR. Just select "Right-to-left" under the Text Direction section of the customizer.
+
+---
+
+## Sass Configuration
+
+If you're using the Sass version of Foundation, open your project's [settings file](sass.html#the-settings-file) (`settings.scss`) and change this variable in the Global section:
+
+```scss
+$global-text-direction: rtl;
+```
+
+This will convert the framework's components to RTL format.
diff --git a/libraries/foundation-6/docs/pages/sass-functions.md b/libraries/foundation-6/docs/pages/sass-functions.md
new file mode 100755
index 00000000..e1d8f2de
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/sass-functions.md
@@ -0,0 +1,36 @@
+---
+title: Sass Functions
+description: Behind the scenes, Foundation is powered by a set of utility Sass functions that help us work with colors, units, selectors, and more.
+sass:
+  - scss/util/*.scss
+  - '!scss/util/_breakpoint.scss'
+  - '!scss/util/_mixins.scss'
+---
+
+## Importing
+ 
+All of Foundation's Sass utilities are in the folder `scss/util`, and broken up into multiple files by category. You can import every utility file at once using this line of code:
+
+```scss
+@import 'util/util';
+```
+
+Or, utilities can be imported individually.
+
+```scss
+// Color manipulation
+@import 'util/color';
+
+// Selector generation
+@import 'util/selector';
+
+// Unit manipulation and conversion
+@import 'util/unit';
+
+// Value checking and extraction
+@import 'util/value';
+```
+
+<div class="callout warning">
+  <p>Variables, functions, or mixins prefixed with <code>-zf-</code> are considered part of the internal API, which means they could change, break, or disappear without warning. We recommend sticking to only the public API, which is documented below.</p>
+</div>
diff --git a/libraries/foundation-6/docs/pages/sass-mixins.md b/libraries/foundation-6/docs/pages/sass-mixins.md
new file mode 100755
index 00000000..9f91d6ec
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/sass-mixins.md
@@ -0,0 +1,13 @@
+---
+title: Sass Mixins
+descriptions: Mixins allow us to reuse code in various parts of the framework. Foundation includes mixins for clearfixes, visibility, icons, shapes, and more.
+sass: scss/util/_mixins.scss
+---
+
+## Importing
+
+Foundation's Sass mixins are all kept in one file: `scss/util/_mixins.scss`. To import it in Sass, use this line of code:
+
+```scss
+@import 'util/mixins';
+```
diff --git a/libraries/foundation-6/docs/pages/sass.md b/libraries/foundation-6/docs/pages/sass.md
new file mode 100755
index 00000000..11084858
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/sass.md
@@ -0,0 +1,168 @@
+---
+title: Sass
+description: Foundation is written in Sass, which allows us to make the codebase customizable and flexible.
+---
+
+<div class="primary callout">
+  <p>Not familiar with Sass? The [official tutorial](http://sass-lang.com/guide) on sass-lang.com is a great place to start.</p>
+</div>
+
+## Compatibility
+
+<img src="assets/img/logos/sass-logo.svg" alt="Sass logo" class="float-right" style="width: 150px; height: 150px; margin-left: 1rem;">
+
+**Foundation for Sites can be compiled with Ruby Sass and libsass.** We tend to stick to the latest versions of both compilers when possible. Our documentation and starter project are compiled with [node-sass](https://github.com/sass/node-sass), a Node port of libsass. We recommend these versions of either compiler:
+
+- Ruby Sass **3.4+**
+- node-sass **3.4.2+** (libsass **3.3.2**)
+
+### Autoprefixer Required
+
+We don't include vendor prefixes in our Sass files&mdash;instead, we let [Autoprefixer](https://github.com/postcss/autoprefixer) handle it for us. Our build process uses [gulp-autoprefixer](https://github.com/sindresorhus/gulp-autoprefixer), but there are [other versions](https://github.com/postcss/autoprefixer#usage) that work with Grunt, Rails, Brunch, and more.
+
+To get the proper browser support, use these Autoprefixer settings:
+
+```js
+autoprefixer({
+  browsers: ['last 2 versions', 'ie >= 9', 'and_chr >= 2.3']
+});
+```
+
+---
+
+## Loading the Framework
+
+If you're using Yeti Launch or the CLI to create a project, the Sass compilation process is already set up for you. If not, you can compile our Sass files yourself, or drop in a pre-built CSS file.
+
+To get started, first install the framework files using Bower or npm.
+
+```bash
+npm install foundation-sites --save
+bower install foundation-sites --save
+```
+
+### Compiling Manually
+
+Next, add the framework files as an import path. How you do this depends on your build process, but the path is the same regardless: `packages_folder/foundation-sites/scss`
+
+Here's an example using grunt-contrib-sass:
+
+```js
+grunt.initConfig({
+  sass: {
+    dist: {
+    options: {
+        loadPath: ['node_modules/foundation-sites/scss']
+      }
+    }
+  }
+});
+```
+
+If you're using Compass, open your project's `config.rb` and add the import path there:
+
+```ruby
+add_import_path "node_modules/foundation-sites/scss"
+```
+
+Finally, add an `@import` statement to the top of your primary Sass file. Refer to [Adjusting CSS Output](#adjusting-css-output) below to learn how to control the CSS output of the framework.
+
+```scss
+@import 'foundation';
+```
+
+You're also going to want a settings file for your project, which will allow you to modify the default styles of Foundation. **[Download the latest settings file here](https://raw.githubusercontent.com/zurb/foundation-sites/master/scss/settings/_settings.scss)**, add it to your project as `_settings.scss`, then import it *before* Foundation itself.
+
+```scss
+@import 'settings';
+@import 'foundation';
+```
+
+### Using Compiled CSS
+
+The Foundation for Sites npm and Bower packages include pre-compiled CSS files, in minified (compressed) and unminified flavors. If you're interested in editing the framework CSS directly, use the unminified file. For production, use the minified version.
+
+```html
+<link rel="stylesheet" href="node_modules/foundation-sites/dist/css/foundation-sites.css">
+
+<link rel="stylesheet" href="node_modules/foundation-sites/dist/css/foundation-sites.min.css">
+```
+
+---
+
+## Adjusting CSS Output
+
+Foundation outputs many classes for its various components. These help developers get up and running quickly. However, when you move to production, you may wish to build your grid semantically, replace our pre-built classes with your own, or remove components entirely.
+
+Each component has an **export mixin** which prints out the CSS for that component. If you're cool with having everything, you just need one line of code:
+
+```scss
+@include foundation-everything;
+```
+
+Our [starter projects](starter-projects.html) include the full list of imports, making it easy to comment out the components you don't need.
+
+```scss
+@import 'foundation';
+
+@include foundation-global-styles;
+@include foundation-grid;
+@include foundation-typography;
+@include foundation-button;
+@include foundation-forms;
+// And so on...
+```
+
+---
+
+## The Settings File
+
+All Foundation projects include a settings file, named `_settings.scss`. If you're using Yeti Launch or the CLI to create a Foundation for Sites project, you can find the settings file under scss/ (basic template) or src/assets/scss/ (ZURB template). If you're installing the framework standalone using Bower or npm, there's a settings file included in those packages, which you can move into your own Sass files to work with.
+
+Every component includes a set of variables that modify core structural or visual styles. If there's something you can't customize with a variable, you can just write your own CSS to add it.
+
+<div class="callout warning">
+  <p>Once you've set up a new project, your settings file can't be automatically updated when new versions change, add, or remove variables. Keep tabs on new <a href="https://github.com/zurb/foundation/releases">Foundation releases</a> so you know when things change.</p>
+</div>
+
+Here's an example set of settings variables. These change the default styling of [buttons](button.html):
+
+```scss
+// Default padding for button.
+$button-padding: 0.85em 1em !default;
+
+// Default margin for button.
+$button-margin: 0 $global-padding $global-padding 0 !default;
+
+// Default fill for button. Is either solid or hollow.
+$button-fill: solid !default;
+
+// Default background color for button.
+$button-background: $primary-color !default;
+
+// Default hover background color for button.
+$button-background-hover: scale-color($button-background, $lightness: -15%) !default;
+
+// Default font color for button.
+$button-font-color: #fff !default;
+
+// Default alternative font color for button.
+$button-font-color-alt: #000 !default;
+
+// Default radius for button.
+$button-radius: 0 !default;
+
+// Default sizes for button.
+$button-sizes: (
+  tiny: 0.7,
+  small: 0.8,
+  medium: 1,
+  large: 1.3,
+) !default;
+
+// Default font size for button.
+$button-font-size: 0.9rem !default;
+
+// Default opacity for a disabled button.
+$button-opacity-disabled: 0.25 !default;
+```
diff --git a/libraries/foundation-6/docs/pages/slider.md b/libraries/foundation-6/docs/pages/slider.md
new file mode 100755
index 00000000..78ccc50f
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/slider.md
@@ -0,0 +1,132 @@
+---
+title: Slider
+description: This handy lil slider is perfect for setting specific values within a range.
+sass: scss/components/_slider.scss
+js: js/foundation.slider.js
+tags:
+  - range
+---
+
+## Basics
+
+Create a slider by adding the class `.slider` and the attribute `data-slider` to a container element. You should also define both a starting and maximum value for the slider.
+
+Inside the container are three elements:
+- The handle (`.slider-handle`), which the user drags.
+- The fill (`.slider-fill`), which resizes dynamically based on where the handle is.
+- A hidden `<input>`, which is where the value of the slider is stored.
+
+```html_example
+<div class="slider" data-slider data-initial-start="50" data-end="200">
+  <span class="slider-handle"  data-slider-handle role="slider" tabindex="1"></span>
+  <span class="slider-fill" data-slider-fill></span>
+  <input type="hidden">
+</div>
+```
+
+---
+
+## Vertical
+
+To get *vertical*, just add a `.vertical` class and `data-vertical="true"` the slider.
+
+```html_example
+<div class="slider vertical" data-slider data-initial-start="25" data-end="200" data-vertical="true">
+  <span class="slider-handle" data-slider-handle role="slider" tabindex="1"></span>
+  <span class="slider-fill" data-slider-fill></span>
+  <input type="hidden">
+</div>
+```
+
+---
+
+## Disabled
+
+Add the class `.disabled` to disable interaction with the slider.
+
+```html_example
+<div class="slider disabled" data-slider data-initial-start="78">
+  <span class="slider-handle" data-slider-handle role="slider" tabindex="1"></span>
+  <span class="slider-fill" data-slider-fill></span>
+  <input type="hidden">
+</div>
+```
+
+---
+
+## Two Handles
+
+Two-handle sliders can be used to define a range of values, versus a single value. To make a two-handle slider, add a second handle, and a second `<input>`. This works with horizontal and vertical sliders.
+
+You can add IDs to the `<input>`s inside the sliders to make it easier to access the values. If you don't, the plugin will add an ID to each for you.
+
+Note that the first handle manipulates the first `<input>`, while the second handle manipulates the second `<input>`.
+
+```html_example
+<div class="slider" data-slider data-initial-start="25" data-initial-end="75">
+  <span class="slider-handle" data-slider-handle role="slider" tabindex="1"></span>
+  <span class="slider-fill" data-slider-fill></span>
+  <span class="slider-handle" data-slider-handle role="slider" tabindex="1"></span>
+  <input type="hidden">
+  <input type="hidden">
+</div>
+```
+
+---
+
+## Data Binding
+
+Data binding allows you to connect the slider to an external `<input>` field. With data binding set up, dragging the handle will change the value inside the text field, and editing the number in the text field will move the slider in real-time.
+
+To set it all up, create an `<input>` with an ID and add `aria-controls="id"` to the slider handle, where `id` is the ID of the `<input>`.
+
+```html_example
+<div class="small-10 columns">
+  <div class="slider" data-slider data-initial-start="50">
+    <span class="slider-handle"  data-slider-handle role="slider" tabindex="1" aria-controls="sliderOutput1"></span>
+    <span class="slider-fill" data-slider-fill></span>
+  </div>
+</div>
+<div class="small-2 columns">
+  <input type="number" id="sliderOutput1">
+</div>
+```
+
+---
+
+Or with a step size:
+
+```html_example
+<div class="small-10 columns">
+  <div class="slider" data-slider data-initial-start="50" data-step="5">
+    <span class="slider-handle"  data-slider-handle role="slider" tabindex="1" aria-controls="sliderOutput2"></span>
+    <span class="slider-fill" data-slider-fill></span>
+  </div>
+</div>
+<div class="small-2 columns">
+  <input type="number" id="sliderOutput2">
+</div>
+```
+---
+
+## Native Range Slider
+
+In Foundation 6.2, we introduced styles for `<input type="range">`, the native HTML element for range sliders. It's not supported in every browser, namely IE9 and some older mobile browsers. [View browser support for the range input type.](http://caniuse.com/#feat=input-range)
+
+```html_example
+<input type="range" min="1" max="100" step="1">
+```
+
+If you're using the Sass version of Foundation, add this line to your main Sass file:
+
+```scss
+@include foundation-range-input;
+```
+
+It's possible to use both the JavaScript slider and the native slider in the same codebase, as the CSS selectors used don't overlap. Here's what's different about the native slider:
+
+- Less markup: just write `<input type="range">` and you're good.
+- No JavaScript is needed, which guarantees it runs faster in most browsers.
+- To disable the slider, add `disabled` as an attribute, instead of a class.
+- No support for vertical orientation.
+- No support for two handles.
diff --git a/libraries/foundation-6/docs/pages/starter-projects.md b/libraries/foundation-6/docs/pages/starter-projects.md
new file mode 100755
index 00000000..b4ee72f7
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/starter-projects.md
@@ -0,0 +1,76 @@
+---
+title: Starter Projects
+description: We have a few starter project templates that can be installed with Yeti Launch or the Foundation CLI. You can also download them manually!
+---
+
+Our project templates give you a solid... *Foundation* on which to start a new project. Both templates use the [Gulp](http://gulpjs.com) build system to automate the process of compiling Sass, processing JavaScript, copying files, and more.
+
+## Basic Template
+
+Our basic project template is a lot like the Sass template from Foundation 5. The project has a flat directory structure and only compiles Sass. It's great if you want to quickly put together a simple project and only need to use Sass.
+
+You can set up a basic project through [Yeti Launch](installation.html), or the Foundation CLI with this command:
+
+```bash
+foundation new --framework sites --template basic
+```
+
+It's also possible to download the template files directly from GitHub. Run `npm install` and `bower install` first to set it up, then `npm start` to run it. [Download basic template](https://github.com/zurb/foundation-sites-template/archive/master.zip).
+
+---
+
+## ZURB Template
+
+The official ZURB Template includes not only Sass processing, but also JavaScript processing, Handlebars templating, and image compression. We use this exact template at ZURB for our client work!
+
+You can set up an advanced project through [Yeti Launch](installation.html), or the Foundation CLI with this command:
+
+```bash
+foundation new --framework sites --template zurb
+```
+
+It's also possible to download the template files directly from GitHub. Run `npm install` and `bower install` first to set it up, then `npm start` to run it. [Download advanced template](https://github.com/zurb/foundation-zurb-template/archive/master.zip).
+
+The biggest difference between this and the basic template is the folder structure. In the ZURB Template, your project has a `src/` folder which contains your source files, and a separate `dist/` folder with your finished website. As you work on your project, Gulp continuously updates your `dist/` folder with new versions of files. To compile a production build, run `npm run build`.
+
+Here's an overview of what the ZURB Template can do:
+
+### Asset Copying
+
+Gulp will copy anything out of the `src/assets` folder as-is to the `assets` folder of your final project. Note that Sass files, JavaScript files, and images are *not* part of this copying process, as they have their own steps.
+
+### Page Compilation
+
+The `src/` directory includes three folders used to create HTML pages: `pages/`, `layouts/`, and `partials/`. A flat file compiler called [Panini](panini.html) is used to process your project's various pages, inserting them into a common template, and injecting any HTML partials. This is done with a templating language called [Handlebars](http://handlebarsjs.com/).
+
+Panini has a dedicated page here in the docs that explains its various features. **[Learn more about Panini.](panini.html)**
+
+### Sass Compilation
+
+Sass is compiled to CSS using [Libsass](http://sass-lang.com/libsass) (via [node-sass](https://github.com/sass/node-sass)). The main Sass file is under `src/assets/scss/app.scss`, and imports Foundation and Motion UI. Any new Sass partials you create should be in this folder as well.
+
+The CSS is output in the `nested` style, which is readable like normal CSS. A source map is also created, which can be read by developer tools such as the Chrome Web Inspector. When building for production, the CSS is also compressed with [clean-css](https://github.com/jakubpawlowicz/clean-css/issues), and pruned with [UnCSS](https://github.com/giakki/uncss). UnCSS scans the HTML of your pages and removes any CSS classes you didn't use.
+
+### JavaScript Compilation
+
+All JavaScript files in the `src/assets/js` folder, along with Foundation and its dependencies, are bundled into one file called `app.js`. The files are bundled in this order:
+
+- Foundation's dependencies (including jQuery)
+- All files in `src/assets/js`
+- `app.js`
+
+A source map is created that maps back to the original files. By default, the bundled `app.js` is uncompressed. When building for production, the file is run through [UglifyJS](https://github.com/mishoo/UglifyJS) for compression.
+
+### Image Compression
+
+By default, all images are copied as-is from `assets/img` to your `dist` folder. When building for production, images are run through [gulp-imagemin](https://github.com/sindresorhus/gulp-imagemin) for compression. The plugin supports JPEG, PNG, SVG, and GIF files.
+
+### BrowserSync
+
+The template creates a [BrowserSync](http://www.browsersync.io/) server, which is at `http://localhost:8000`. Load this URL to see your compiled templates. While the server is running, any time you save a file, any pages you have open will automatically refresh, allowing you to see changes in real-time as you work.
+
+### Style Guide Creation
+
+Under `src/styleguide` are two files to create a style guide for your project. The style guide is generated using Style Sherpa, a small plugin created by ZURB.
+
+Style Sherpa has a dedicated page here in the docs that explains its various features. **[Learn more about Style Sherpa.](style-sherpa.html)**
diff --git a/libraries/foundation-6/docs/pages/sticky.md b/libraries/foundation-6/docs/pages/sticky.md
new file mode 100755
index 00000000..e9a68a81
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/sticky.md
@@ -0,0 +1,151 @@
+---
+title: Sticky
+description: Stick nearly anything, anywhere you like!
+js: js/foundation.sticky.js
+---
+
+## Basics
+
+Add the `.sticky` class and `[data-sticky]` to an element to create something that sticks. Sticky elements must be wrapped in a container, which will determine your sizing and grid layout, with `[data-sticky-container]`.
+
+```html
+<div class="columns small-6 right" data-sticky-container>
+  <div class="sticky" data-sticky data-margin-top="0">
+    <img class="thumbnail" src="assets/img/generic/rectangle-3.jpg">
+    <!-- This sticky element would stick to the window, with a marginTop of 0 -->
+  </div>
+</div>
+
+
+<div class="columns small-6 right" data-sticky-container>
+  <div class="sticky" data-sticky data-anchor="foo">
+    <img class="thumbnail" src="assets/img/generic/rectangle-3.jpg">
+    <!-- This sticky element would stick to the window for the height of the element #foo, with a 1em marginTop -->
+  </div>
+</div>
+```
+
+<!-- ```html_example -->
+<div class="row">
+  <div class="columns small-6" id="example1" data-something>
+    <p id="doodle">
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+    </p>
+    <p>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+    </p>
+    <p>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+    </p>
+    <p>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+    </p>
+  </div>
+  <div class="columns small-6 right" data-sticky-container>
+    <div class="sticky" data-sticky data-anchor="example1">
+      <img class="thumbnail" src="assets/img/generic/rectangle-3.jpg">
+    </div>
+  </div>
+</div>
+
+## Advanced
+
+You can also use two anchors, if you please. Using `data-top-anchor="idOfSomething"`, `data-btm-anchor="idOfSomething:[top/bottom]"`, or a set pixel number `data-top-anchor="150"`. If you use an element id with no top/bottom specified, it defaults to the top.
+
+```html
+<div class="columns small-6 right" data-sticky-container>
+  <div class="sticky" data-sticky data-top-anchor="example2:top" data-btm-anchor="foo:bottom">
+    <img class="thumbnail" src="assets/img/generic/rectangle-5.jpg">
+  </div>
+</div>
+```
+
+
+<div class="row">
+  <div class="columns small-6">    
+    <p>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+    </p>
+    <p id="example2">
+    <strong>The image to the right will be sticky when it hits the top of this paragraph element.</strong>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+    </p>
+    <p>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+    </p>
+    <p id="foo">
+      <strong>The image to the right will lose stickiness when it hits the bottom of this paragraph element.</strong>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+    </p>
+    <p>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+    </p>
+  </div>
+  <div class="columns small-6 right" data-sticky-container>
+    <div class="sticky" data-sticky data-top-anchor="example2:top" data-btm-anchor="foo:bottom">
+      <img class="thumbnail" src="assets/img/generic/rectangle-5.jpg">
+    </div>
+  </div>
+</div>
+
+## Stick to bottom
+
+You can also stick to bottom.
+Using `data-stick-to="bottom"`.
+Here is an example using two anchors (like above) with a stick to bottom.
+```html
+<div class="columns small-6 right" data-sticky-container>
+  <div class="sticky" data-sticky data-stick-to="bottom" data-top-anchor="example3" data-btm-anchor="foo2:top">
+    <img class="thumbnail" src="assets/img/generic/rectangle-5.jpg">
+  </div>
+</div>
+```
+
+
+<div class="row">
+  <div class="columns small-6">
+    <p>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+    </p>
+    <p id="example3"><strong>The image to the right will be sticky when it hits the top of this paragraph element.</strong>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+    </p>
+    <p>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+    </p>
+    <p id="foo2">
+      <strong>The image to the right will lose stickiness when it hits the top of this paragraph element.</strong>
+      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+    </p>
+  </div>
+  <div class="columns small-6 right" data-sticky-container>
+    <div class="sticky" data-sticky data-top-anchor="example3:top" data-btm-anchor="foo2:top" data-stick-to="bottom">
+      <img class="thumbnail" src="assets/img/generic/rectangle-5.jpg">
+    </div>
+  </div>
+</div>
+
+## Sticky Navigation
+
+Sometimes you want a sticky nav bar or side nav, this is pretty simple, but does involve an extra step from Foundation 5's `sticky` class addition to Top Bar. The minimum to make a stick nav bar is below, and you can swap out `.title-bar` for another menu component. Please note the style `width:100%`, you can do it inline, or in your style sheets.
+
+```html
+<div data-sticky-container>
+  <div class="title-bar" data-sticky data-options="marginTop:0;" style="width:100%">
+    <div class="title-bar-left"><!-- Content --></div>
+    <div class="title-bar-right"><!-- Content --></div>
+  </div>
+</div>
+```
+With the minimum markup above, your nav bar will be sticky for the entire page. You could change this up by using anchor points, so it sticks and breaks at important markers on the page. A top anchor point of '1' will make it stick at the top of the page, a bottom anchor of `content:bottom` will make it break at the bottom of your `#content` element. This is useful if you want a sticky nav element, but not for the full length of the page.
+```html
+<div data-sticky-container>
+  <div class="title-bar" data-sticky data-options="marginTop:0;" style="width:100%" data-top-anchor="1" data-btm-anchor="content:bottom">
+    <div class="title-bar-left"><!-- Content --></div>
+    <div class="title-bar-right"><!-- Content --></div>
+  </div>
+</div>
+```
+
+<iframe src="./assets/partials/sticky-nav.html" width="100%" height="300px" frameborder="0"></iframe>
+<!-- ``` -->
diff --git a/libraries/foundation-6/docs/pages/style-sherpa.md b/libraries/foundation-6/docs/pages/style-sherpa.md
new file mode 100755
index 00000000..6b214ecc
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/style-sherpa.md
@@ -0,0 +1,107 @@
+---
+title: Style Sherpa
+description: Bundled with the ZURB Template, Style Sherpa makes it easy to create a style guide for your codebase, with just two files.
+library:
+  github: https://github.com/zurb/style-sherpa
+  docs: https://github.com/zurb/style-sherpa
+---
+
+Style guides are a critical component of a CSS codebase, especially one used by many people. It's important that everyone on a team knows how to build a component. Style guides are that documentation. The docs you're reading right now are a style guide of sorts, for the core Foundation styles.
+
+[Style Sherpa](https://github.com/zurb/style-sherpa) is a small tool bundled with the [ZURB Template](starter-projects.html#zurb-template) that can generate a basic style guide for you quickly. The style guide is created from a single Markdown file, which contains all of the page content, and an HTML template, which defines the structure around the content.
+
+---
+
+## Usage
+
+The ZURB Template includes the folder `src/styleguide/`, which contains both of the files you need to build your style guide. Like everything else in the ZURB Template, just edit the files and your changes will instantly be compiled
+
+One is a Markdown file, `index.md`. This file contains the contents of your style guide.
+
+The other is a Handlebars template, `template.html`. The contents of your style guide are inserted into this template as HTML. The final file is included in the `dist/` folder of your project as `styleguide.html`.
+
+---
+
+## Writing Content
+
+The style guide is divided into sections. Generally, each component in your codebase&mdash;think buttons, panels, modals, form controls, and so on&mdash;will have its own section.
+
+Sections are titled with a Markdown heading, which is a single hash mark:
+
+```markdown
+# Buttons
+
+Lorem ipsum dolor sit amet, **consectetur adipisicing** elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+```
+
+To create a new section, add four line breaks and a new heading:
+
+```markdown
+# Buttons
+
+Lorem ipsum dolor sit amet, **consectetur adipisicing** elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+
+
+# Forms
+
+Lorem ipsum dolor sit amet, `<form>` elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+```
+
+### Code Samples
+
+A style guide should always have HTML examples, which explain how to build something. To create a code block in Markdown, surround the code with three backticks. You can also set the language of the code block after the first set of backticks. Style Sherpa will color the syntax for you in the final output.
+
+    ```html
+    <button class="button" type="button">This is a button.</button>
+    ```
+
+You'll also want to show a live demo of the component below the code sample, so developers can see both the HTML for an element, and what the HTML looks live rendered in one place. Style Sherpa has a shortcut for this: instead of setting `html` as the language in Markdown, set it to `html_example`. This will print a code sample and a live demo with the same code all in one go.
+
+    ```html_example
+    <button class="button" type="button">This is a button.</button>
+    ```
+
+The output looks something like this:
+
+```html_example
+<button class="button" type="button">This is a button.</button>
+```
+
+---
+
+## Changing the Template
+
+The ZURB Template includes a minimal boilerplate for your style guide, but you're free to customize it however you want.
+
+The boilerplate uses Foundation's tab plugin&mdash;one tab is made for each section. Here's what the Handlebars code looks like:
+
+{{{{raw}}}}
+```handlebars
+<div class="column row"><div class="row collapse">
+  <div class="large-3 medium-4 columns" data-sticky-container>
+    <ul class="vertical menu">
+      {{#each pages}}
+        <li><a href="#{{ anchor }}">{{ title }}</a></li>
+      {{/each}}
+    </ul>
+  </div>
+
+  <div class="large-9 medium-8 columns">
+    {{#each pages}}
+      <section class="ss-section" id="{{ anchor }}">
+        {{ body }}
+      </section>
+    {{/each}}
+  </div>
+
+</div></div>
+```
+
+The template has access to a `pages` variable, which is an array with the data for each page. When looping through `pages` using `{{#each}}`, you have access to these variables:
+
+- `title`: The name of the section.
+- `anchor`: The name of the section, formatted as a URL anchor.
+- `body`: The content of the section.
+
+{{{{/raw}}}}
diff --git a/libraries/foundation-6/docs/pages/switch.md b/libraries/foundation-6/docs/pages/switch.md
new file mode 100755
index 00000000..1abd4ed3
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/switch.md
@@ -0,0 +1,114 @@
+---
+title: Switch
+description: Now you can tell your users to flip the switch or switch off.
+sass: scss/components/_switch.scss
+---
+
+## Basics
+
+Add the `.switch` class to an element to create a switch. Inside the switch, add an `<input type="checkbox">` with the class `.switch-input`. Next to that, create a `<label>` with the class `.switch-paddle`.
+
+Give the `<input>` a unique ID and point the `<label>` to it with the `for` attribute. This makes the switch clickable.
+
+<div class="primary callout">
+  <p>Inside the switch label is screen reader-only text, which uses the <code>.show-for-sr</code> class to visually mask the text.</p>
+</div>
+
+<div class="callout warning">
+  <p>Make sure the HTML of the switch goes in the order you see above&mdash;<code>&lt;input&gt;</code>, then <code>&lt;label&gt;</code></p>
+</div>
+
+```html_example
+<div class="switch">
+  <input class="switch-input" id="exampleSwitch" type="checkbox" name="exampleSwitch">
+  <label class="switch-paddle" for="exampleSwitch">
+    <span class="show-for-sr">Download Kittens</span>
+  </label>
+</div> 
+```
+
+---
+
+## Radio Switch
+
+You can also use `<input type="radio">` instead of `checkbox` to create a series of options.
+
+```html_example
+<div class="switch">
+  <input class="switch-input" id="exampleRadioSwitch1" type="radio" checked name="testGroup">
+  <label class="switch-paddle" for="exampleRadioSwitch1">
+    <span class="show-for-sr">Bulbasaur</span>
+  </label>
+</div>
+```
+
+<div class="switch">
+  <input class="switch-input" id="exampleRadioSwitch2" type="radio" name="testGroup">
+  <label class="switch-paddle" for="exampleRadioSwitch2">
+    <span class="show-for-sr">Charmander</span>
+  </label>
+</div> 
+
+<div class="switch">
+  <input class="switch-input" id="exampleRadioSwitch3" type="radio" name="testGroup">
+  <label class="switch-paddle" for="exampleRadioSwitch3">
+    <span class="show-for-sr">Squirtle</span>
+  </label>
+</div>
+
+---
+
+## Sizing Classes
+
+Use the classes `.tiny`, `.small`, or `.large` to change the switch size.
+
+```html_example
+<div class="switch tiny">
+  <input class="switch-input" id="tinySwitch" type="checkbox" name="exampleSwitch">
+  <label class="switch-paddle" for="tinySwitch">
+    <span class="show-for-sr">Tiny Sandwiches Enabled</span>
+  </label>
+</div>
+
+<div class="switch small">
+  <input class="switch-input" id="smallSwitch" type="checkbox" name="exampleSwitch">
+  <label class="switch-paddle" for="smallSwitch">
+    <span class="show-for-sr">Small Portions Only</span>
+  </label>
+</div> 
+
+<div class="switch large">
+  <input class="switch-input" id="largeSwitch" type="checkbox" name="exampleSwitch">
+  <label class="switch-paddle" for="largeSwitch">
+    <span class="show-for-sr">Show Large Elephants</span>
+  </label>
+</div> 
+```
+
+---
+
+## Inner Labels
+
+You can place active and inactive text inside of a switch. The active text (`.switch-active`) only displays when the switch is on, and the inactive text (`.switch-inactive`) only displays when the switch is off.
+
+Active/inactive text goes inside of the switch's `<label>`.
+
+<div class="primary callout">
+  <p>Depending on the length of the words you place inside the switch, you may need to fine-tune the <code>left</code> or <code>right</code> CSS properties of the text to get it positioned right.</p>
+</div>
+
+<div class="primary callout">
+  <p>Add <code>aria-hidden="true"</code> to these labels to prevent AT from reading them.</p>
+</div>
+
+```html_example
+<p>Do you like me?</p>
+<div class="switch large">
+  <input class="switch-input" id="yes-no" type="checkbox" name="exampleSwitch">
+  <label class="switch-paddle" for="yes-no">
+    <span class="show-for-sr">Do you like me?</span>
+    <span class="switch-active" aria-hidden="true">Yes</span>
+    <span class="switch-inactive" aria-hidden="true">No</span>
+  </label>
+</div>
+```
diff --git a/libraries/foundation-6/docs/pages/table.md b/libraries/foundation-6/docs/pages/table.md
new file mode 100755
index 00000000..06b08238
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/table.md
@@ -0,0 +1,228 @@
+---
+title: Tables
+description: Okay, they're not the sexiest things ever, but tables get the job done (for tabular data, of course). They have responsive modifiers to help solve some of your layout issues based on your tables needs.
+sass: scss/components/_table.scss
+---
+
+## Basics
+
+No bells or whistles here, just a straight up table for all of your basic table needs.
+
+```html_example
+<table>
+  <thead>
+    <tr>
+      <th width="200">Table Header</th>
+      <th>Table Header</th>
+      <th width="150">Table Header</th>
+      <th width="150">Table Header</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td>Content Goes Here</td>
+      <td>This is longer content Donec id elit non mi porta gravida at eget metus.</td>
+      <td>Content Goes Here</td>
+      <td>Content Goes Here</td>
+    </tr>
+    <tr>
+      <td>Content Goes Here</td>
+      <td>This is longer Content Goes Here Donec id elit non mi porta gravida at eget metus.</td>
+      <td>Content Goes Here</td>
+      <td>Content Goes Here</td>
+    </tr>
+    <tr>
+      <td>Content Goes Here</td>
+      <td>This is longer Content Goes Here Donec id elit non mi porta gravida at eget metus.</td>
+      <td>Content Goes Here</td>
+      <td>Content Goes Here</td>
+    </tr>
+  </tbody>
+</table>
+```
+
+---
+
+## Hover State
+
+Need to spiff up the table just a tad? Just add the class `.hover` to lightly darken the table rows on hover.
+
+```html
+<table class="hover">
+</table>
+```
+
+<table class="hover">
+  <thead>
+    <tr>
+      <th width="200">Table Header</th>
+      <th>Table Header</th>
+      <th width="150">Table Header</th>
+      <th width="150">Table Header</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td>Content Goes Here</td>
+      <td>This is longer content Donec id elit non mi porta gravida at eget metus.</td>
+      <td>Content Goes Here</td>
+      <td>Content Goes Here</td>
+    </tr>
+    <tr>
+      <td>Content Goes Here</td>
+      <td>This is longer Content Goes Here Donec id elit non mi porta gravida at eget metus.</td>
+      <td>Content Goes Here</td>
+      <td>Content Goes Here</td>
+    </tr>
+    <tr>
+      <td>Content Goes Here</td>
+      <td>This is longer Content Goes Here Donec id elit non mi porta gravida at eget metus.</td>
+      <td>Content Goes Here</td>
+      <td>Content Goes Here</td>
+    </tr>
+  </tbody>
+</table>
+
+---
+
+## Stacked Table
+
+To stack a table on small screens, add the class `.stack`.
+
+```html
+<table class="stack">
+</table>
+```
+
+<table class="stack">
+  <thead>
+    <tr>
+      <th>Cookies</th>
+      <th>Taste</th>
+      <th>Calories</th>
+      <th>Overall</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td>Chocolate Chip</td>
+      <td>Tastey</td>
+      <td>120cal</td>
+      <td>7.5/10</td>
+    </tr>
+    <tr>
+      <td>Snickerdoodle</td>
+      <td>Delicious</td>
+      <td>95cal</td>
+      <td>8/10</td>
+    </tr>
+    <tr>
+      <td>Oatmeal Raisin</td>
+      <td>Superb</td>
+      <td>10cal</td>
+      <td>11/10</td>
+    </tr>
+  </tbody>
+</table>
+
+---
+
+## Scrolling Table
+
+Got a lot of tubular tabular data? Add a wrapper element with the class `.table-scroll` around your table to enable horizontal scrolling.
+
+<div class="primary callout">
+  <p>The wrapping element was added in Foundation 6.2&mdash;prior to that, you just added the class <code>.scroll</code> to the table itself. However, this method doesn't work great with Internet Explorer 9. <strong>If you don't need IE9 support, you can just add <code>.scroll</code> to your table, and the wrapping element isn't necessary.</strong>
+</div>
+
+```html
+<div class="table-scroll">
+  <table></table>
+</div>
+```
+
+<div class="table-scroll">
+  <table>
+    <thead>
+      <tr>
+        <th>This is the description!</th>
+        <th>One</th>
+        <th>Two</th>
+        <th>Three</th>
+        <th>Four</th>
+        <th>Five</th>
+        <th>Six</th>
+        <th>Seven</th>
+        <th>Eight</th>
+        <th>Nine</th>
+        <th>Ten</th>
+        <th>Eleven</th>
+        <th>Twelve</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td style="display:block; width:400px;">These are all the words that people use to describe Foundation 6!</td>
+        <td>Cool</td>
+        <td>Swag</td>
+        <td>Chill</td>
+        <td>Killer</td>
+        <td>Rad</td>
+        <td>Baller</td>
+        <td>OMG</td>
+        <td>Sweet</td>
+        <td>Awesome</td>
+        <td>Beast</td>
+        <td>Dope</td>
+        <td>Tubular</td>
+      </tr>
+      <tr>
+        <td>These are some words that people use to describe other web frameworks.</td>
+        <td>Whatevs</td>
+        <td>Ugh.</td>
+        <td>LOL</td>
+        <td>K</td>
+        <td>Aight</td>
+        <td>Eh.</td>
+        <td>Grrr...</td>
+        <td>Meh.</td>
+        <td>TTYL</td>
+        <td>Bleh.</td>
+        <td>Really?</td>
+        <td>Why?</td>
+      </tr>
+      <tr>
+        <td>Here are some great super heros.</td>
+        <td>Batman</td>
+        <td>Superman</td>
+        <td>Spiderman</td>
+        <td>Wonder Woman</td>
+        <td>Hulk</td>
+        <td>Nicolas Cage</td>
+        <td>Antman</td>
+        <td>Aquaman</td>
+        <td>Captain America</td>
+        <td>Wolverine</td>
+        <td>Thor</td>
+        <td>Iron Man</td>
+      </tr>
+    </tbody>
+    <tfoot>
+      <tr>
+        <td>Here's a footer, just in case</td>
+        <td></td>
+        <td></td>
+        <td></td>
+        <td></td>
+        <td></td>
+        <td></td>
+        <td></td>
+        <td></td>
+        <td></td>
+        <td></td>
+        <td></td>
+        <td></td>
+      </tr>
+    </tfoot>
+  </table>
+</div>
diff --git a/libraries/foundation-6/docs/pages/tabs.md b/libraries/foundation-6/docs/pages/tabs.md
new file mode 100755
index 00000000..5ecc7f5a
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/tabs.md
@@ -0,0 +1,111 @@
+---
+title: Tabs
+description: Tabs are elements that help you organize and navigate multiple documents in a single container. They can be used for switching between items in the container.
+sass: scss/components/_tabs.scss
+js: js/foundation.tabs.js
+---
+
+## Basics
+
+There are two pieces to a tabbed interface: the tabs themselves, and the content for each tab. The tabs are an element with the class `.tabs`, and each item has the class `.tabs-title`. Each tab contains a link to a tab. The `href` of each link should match the ID of a tab.
+
+```html
+<ul class="tabs" data-tabs id="example-tabs">
+  <li class="tabs-title is-active"><a href="#panel1" aria-selected="true">Tab 1</a></li>
+  <li class="tabs-title"><a href="#panel2">Tab 2</a></li>
+</ul>
+```
+
+The tab content container has the class `.tabs-content`, while each section has the class `.tabs-panel`. Each content pane also has a unique ID, which is targeted by a link in the tabstrip.
+
+```html
+<div class="tabs-content" data-tabs-content="example-tabs">
+  <div class="tabs-panel is-active" id="panel1">
+    <p>Vivamus hendrerit arcu sed erat molestie vehicula. Sed auctor neque eu tellus rhoncus ut eleifend nibh porttitor. Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus.</p>
+  </div>
+  <div class="tabs-panel" id="panel2">
+    <p>Suspendisse dictum feugiat nisl ut dapibus.  Vivamus hendrerit arcu sed erat molestie vehicula. Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor.  Sed auctor neque eu tellus rhoncus ut eleifend nibh porttitor.</p>
+  </div>
+</div>
+```
+
+Put it all together, and we get this:
+
+<ul class="tabs" data-tabs id="example-tabs">
+  <li class="tabs-title is-active"><a href="#panel1" aria-selected="true">Tab 1</a></li>
+  <li class="tabs-title"><a href="#panel2">Tab 2</a></li>
+  <li class="tabs-title"><a href="#panel3">Tab 3</a></li>
+  <li class="tabs-title"><a href="#panel4">Tab 4</a></li>
+  <li class="tabs-title"><a href="#panel5">Tab 5</a></li>
+  <li class="tabs-title"><a href="#panel6">Tab 6</a></li>
+</ul>
+
+<div class="tabs-content" data-tabs-content="example-tabs">
+  <div class="tabs-panel is-active" id="panel1">
+    <p>one</p>
+    <p>Check me out! I'm a super cool Tab panel with text content!</p>
+  </div>
+  <div class="tabs-panel" id="panel2">
+    <p>two</p>
+    <img class="thumbnail" src="assets/img/generic/rectangle-7.jpg">
+  </div>
+  <div class="tabs-panel" id="panel3">
+    <p>three</p>
+    <p>Check me out! I'm a super cool Tab panel with text content!</p>
+  </div>
+  <div class="tabs-panel" id="panel4">
+    <p>four</p>
+    <img class="thumbnail" src="assets/img/generic/rectangle-2.jpg">
+  </div>
+  <div class="tabs-panel" id="panel5">
+    <p>five</p>
+    <p>Check me out! I'm a super cool Tab panel with text content!</p>
+  </div>
+  <div class="tabs-panel" id="panel6">
+    <p>six</p>
+    <img class="thumbnail" src="assets/img/generic/rectangle-8.jpg">
+  </div>
+</div>
+
+---
+
+## Vertical Tabs
+
+Add the `.vertical` class to a tabstrip to stack tabs vertically. You can also place the tabstrip and the tab contents in a grid to make them sit side-by-side.
+
+```html_example
+<div class="row collapse">
+  <div class="medium-3 columns">
+    <ul class="tabs vertical" id="example-vert-tabs" data-tabs>
+      <li class="tabs-title is-active"><a href="#panel1v" aria-selected="true">Tab 1</a></li>
+      <li class="tabs-title"><a href="#panel2v">Tab 2</a></li>
+      <li class="tabs-title"><a href="#panel3v">Tab 3</a></li>
+      <li class="tabs-title"><a href="#panel4v">Tab 4</a></li>
+      <li class="tabs-title"><a href="#panel3v">Tab 5</a></li>
+      <li class="tabs-title"><a href="#panel4v">Tab 6</a></li>
+    </ul>
+    </div>
+    <div class="medium-9 columns">
+    <div class="tabs-content vertical" data-tabs-content="example-vert-tabs">
+      <div class="tabs-panel is-active" id="panel1v">
+        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
+      </div>
+      <div class="tabs-panel" id="panel2v">
+        <p>Vivamus hendrerit arcu sed erat molestie vehicula. Sed auctor neque eu tellus rhoncus ut eleifend nibh porttitor. Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus.</p>
+      </div>
+      <div class="tabs-panel" id="panel3v">
+        <img class="thumbnail" src="assets/img/generic/rectangle-3.jpg">
+      </div>
+      <div class="tabs-panel" id="panel4v">
+        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
+      </div>
+      <div class="tabs-panel" id="panel5v">
+        <p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+      </div>
+      <div class="tabs-panel" id="panel6v">
+        <img class="thumbnail" src="assets/img/generic/rectangle-5.jpg">
+      </div>
+    </div>
+  </div>
+</div>
+```
diff --git a/libraries/foundation-6/docs/pages/thumbnail.md b/libraries/foundation-6/docs/pages/thumbnail.md
new file mode 100755
index 00000000..ebdbe22c
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/thumbnail.md
@@ -0,0 +1,23 @@
+---
+title: Thumbnail
+description: If you're going to use an image as an anchor, we've got you covered. All you gotta do is add one class to your image and voilà!
+sass: scss/components/_thumbnail.scss
+---
+
+The `.thumbnail` class can be applied directly to an `<img>` element, or an `<a>` that wraps it. Make sure the `<img>` has an `alt` attribute that describes the contents of the image.
+
+```html
+<img class="thumbnail" src="assets/img/thumbnail/01.jpg" alt="Photo of Uranus.">
+```
+
+<div class="row">
+  <div class="small-4 columns">
+    <img class="thumbnail" src="assets/img/thumbnail/01.jpg" alt="Photo of Uranus.">
+  </div>
+  <div class="small-4 columns">
+    <img class="thumbnail" src="assets/img/thumbnail/02.jpg" alt="Photo of Neptune.">
+  </div>
+  <div class="small-4 columns">
+    <img class="thumbnail" src="assets/img/thumbnail/03.jpg" alt="Photo of Pluto.">
+  </div>
+</div>
diff --git a/libraries/foundation-6/docs/pages/toggler.md b/libraries/foundation-6/docs/pages/toggler.md
new file mode 100755
index 00000000..5aefcebd
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/toggler.md
@@ -0,0 +1,114 @@
+---
+title: Toggler
+description: Toggler makes it easy to toggle CSS or animate any element with a click.
+js: js/foundation.toggler.js
+mui: true
+---
+
+## Toggle a CSS class
+
+To setup a class toggle, start by adding the attribute `data-toggler` to an element. The value of `data-toggler` is the class you want to toggle. Also give the element a unique ID so it can be targeted.
+
+```html
+<ul class="menu" id="menuBar" data-toggler=".expanded">
+  <li><a href="#">One</a></li>
+  <li><a href="#">Two</a></li>
+  <li><a href="#">Three</a></li>
+  <li><a href="#">Four</a></li>
+</ul>
+```
+
+Then, add `data-toggle` to any element, with the ID of the target as the value of the attribute. Now, any time you click on this element, the class will toggle on and off on the target.
+
+```html
+<p><a data-toggle="menuBar">Expand!</a></p>
+```
+
+<p><a data-toggle="menuBar">Expand!</a></p>
+
+<ul class="menu" id="menuBar" data-toggler=".expanded">
+  <li><a href="#">One</a></li>
+  <li><a href="#">Two</a></li>
+  <li><a href="#">Three</a></li>
+  <li><a href="#">Four</a></li>
+</ul>
+
+---
+
+## Toggle with Animation
+
+Instead of toggling a class, you can also toggle visibility. When toggled, the element comes into or out of view using a Motion UI class.
+
+Instead of `data-toggler`, add the attribute `data-animate`. The value of the attribute is the *in animation* you want, followed by the *out animation*.
+
+```html_example
+<p><a data-toggle="panel">Toggle Panel</a></p>
+
+<div class="callout" id="panel" data-toggler data-animate="hinge-in-from-top spin-out">
+  <h4>Hello!</h4>
+  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dicta quas optio alias voluptas nobis iusto mollitia asperiores incidunt reprehenderit doloribus voluptatibus officiis minus, inventore, quasi nisi. Consequuntur, quidem. Sint, dicta?</p>
+</div>
+```
+
+---
+
+## Mark as Closable
+
+To create an element that can be closed once, add the attribute `data-closable`. Then add a click trigger inside the element using `data-close`.
+
+```html_example
+<div class="callout" data-closable>
+  <button class="close-button" data-close>&times;</button>
+  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Labore praesentium sint alias dolorum qui vel quaerat, libero consequatur non esse asperiores veritatis commodi, odit eum ipsam nemo dicta iste aliquam.</p>
+</div>
+```
+
+---
+
+### With Alternate Animation
+
+`data-closable` can be configured with a custom exit animation.
+
+```html_example
+<div class="callout" data-closable="slide-out-right">
+  <button class="close-button" data-close>&times;</button>
+  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Labore praesentium sint alias dolorum qui vel quaerat, libero consequatur non esse asperiores veritatis commodi, odit eum ipsam nemo dicta iste aliquam.</p>
+</div>
+```
+
+---
+
+### Toggle on focus
+
+The `data-toggle` attribute only toggles classes/visibility on click. You can also have the toggle fire when an element is *focused* or *unfocused* using `data-toggle-focus`.
+
+```html_example
+<input type="text" data-toggle-focus="form-callout" placeholder="Click in here to reveal extra content">
+
+<div class="secondary callout is-hidden" id="form-callout" data-toggler="is-hidden">
+  <p>This is only visible when the above field has focus.</p>
+</div>
+```
+
+---
+
+## Multiple Targets
+
+The `data-toggle`, `data-close`, and `data-open` attributes can now target multiple elements! The syntax is simple; just pass a *space* separated list to the `data-x` attribute like so:
+```html
+<button class="button" data-toggle="foo bar baz">Toggle things</button>
+```
+Then the elements with ids of `foo`, `bar`, and `baz` will be toggled any time your button, (or any other element you choose), is clicked.
+
+<button class="button primary" data-toggle="thumb1 thumb2 thumb3">Toggle All These</button>
+<div class="row">
+  <div class="small-4 columns">
+    <img class="thumbnail" id="thumb1" data-toggler data-animate="hinge-in-from-top spin-out" src="assets/img/thumbnail/01.jpg" alt="Photo of Uranus.">
+  </div>
+  <div class="small-4 columns">
+    <img class="thumbnail" id="thumb2" data-toggler data-animate="hinge-in-from-top spin-out" src="assets/img/thumbnail/02.jpg" alt="Photo of Uranus.">
+  </div>
+  <div class="small-4 columns">
+    <img class="thumbnail" id="thumb3" data-toggler data-animate="hinge-in-from-top spin-out" src="assets/img/thumbnail/03.jpg" alt="Photo of Uranus.">
+  </div>
+</div>
diff --git a/libraries/foundation-6/docs/pages/tooltip.md b/libraries/foundation-6/docs/pages/tooltip.md
new file mode 100755
index 00000000..e829db76
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/tooltip.md
@@ -0,0 +1,63 @@
+---
+title: Tooltips
+description: Tooltips? More like <em>Cooltips</em>. But really though, tooltips are nifty for displaying extended information for a term or action on a page.
+sass: scss/components/_tooltip.scss
+js: js/foundation.tooltip.js
+---
+
+
+## Basic Tooltip
+By default, a tooltip appears below the defined term on hover.
+
+```html_example
+<p>
+The <span data-tooltip aria-haspopup="true" class="has-tip" data-disable-hover="false" tabindex="1" title="Fancy word for a beetle.">scarabaeus</span> hung quite clear of any branches, and, if allowed to fall, would have fallen at our feet. Legrand immediately took the scythe, and cleared with it a circular space, three or four yards in diameter, just beneath the insect, and, having accomplished this, ordered Jupiter to let go the string and come down from the tree.
+</p>
+```
+
+---
+
+## Tooltip Top
+To get a tip-top top tooltip (lol), just add the class `.top` to the `<span>` element.
+
+```html_example
+<p>
+...clearing away the brambles with the
+<span data-tooltip aria-haspopup="true" class="has-tip top" data-disable-hover="false" tabindex="2" title="A tool used for cutting crops.">scythe.</span>
+At the spot thus attained a second peg was driven, and about this, as a centre, a rude circle, about four feet in diameter, described. Taking now a spade himself, and giving one to Jupiter and one to me, Legrand begged us to set about one to digging as quickly as possible.
+</p>
+```
+
+---
+
+## Tooltip clicking
+By default, clicking on a tooltip will leave it open until you click somewhere else.  However, you can disable that by adding data-click-open="false"
+
+```html_example
+<p>
+this 
+<span data-tooltip aria-haspopup="true" class="has-tip top" data-disable-hover="false" tabindex="2" title="You see?  I'm open!">tooltip will stay open</span>
+
+while 
+<span data-tooltip aria-haspopup="true" class="has-tip top" data-click-open="false" data-disable-hover="false" tabindex="2" title="I don't stay open">this one will only be open when hovered</span>
+</p>
+```
+
+---
+
+## Tooltip Right and Left
+
+You can also position the tooltips to the right and left of the word by adding the classes `.right` or `.left` to the `<span>` element.
+
+<div class="primary callout">
+  <p>When using Foundation in <a href="rtl.html">right-to-left</a> mode, "right" still means right, and "left" still means left.</p>
+</div>
+
+```html_example
+<p>
+To speak the truth, I had no especial relish for such amusement at any time, and, at that particular moment, would most willingly have declined it; for the night was coming on, and I felt much fatigued with the exercise already taken; but I saw no mode of escape, and was fearful of disturbing my poor friend's equanimity by a refusal. Could I have depended, indeed, upon Jupiter's aid, I would have had no hesitation in attempting to get the
+<span data-tooltip aria-haspopup="true" class="has-tip right" data-disable-hover="false" tabindex="3" title="Someone not using Foundation.">lunatic</span>
+home by force; but I was too well assured of the old negro's disposition, to hope that he would assist me, under any circumstances, in a personal contest with his master. I made no doubt that the latter had been infected with some of the innumerable Southern superstitions about money buried, and that his phantasy had received confirmation by the finding of the scarabaeus, or, perhaps, by Jupiter's obstinacy in maintaining it to be "a bug of real gold." A mind disposed to lunacy would readily be led away by such suggestions -especially if chiming in with favorite preconceived ideas -and then I called to mind the poor fellow's speech about the beetle's being "the
+<span data-tooltip aria-haspopup="true" class="has-tip left" data-disable-hover="false" tabindex="4" title="Sometimes referred to as a homepage.">index</span>
+of his fortune." Upon the whole, I was sadly vexed and puzzled, but, at length, I concluded to make a virtue of necessity -to dig with a good will, and thus the sooner to convince the visionary, by ocular demonstration, of the fallacy of the opinions he entertained. </p>
+```
diff --git a/libraries/foundation-6/docs/pages/top-bar.md b/libraries/foundation-6/docs/pages/top-bar.md
new file mode 100755
index 00000000..16367c17
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/top-bar.md
@@ -0,0 +1,135 @@
+---
+title: Top Bar
+description: The new top bar is a simpler wrapper around our flexible menu components.
+sass: ./scss/components/_top-bar.scss
+flex: true
+---
+
+<div class="primary callout">
+  <p>The features of Foundation 5's top bar are still around, but they've been reworked into smaller, individual plugins. Check out our page on <a href="responsive-navigation.html">responsive navigation</a> to learn more.</p>
+</div>
+
+## Basics
+
+A top bar (`.top-bar`) can have two sections: a left-hand section (`.top-bar-left`) and a right-hand section (`.top-bar-right`). On small screens, these sections stack on top of each other.
+
+In the below example, our top bar includes a [dropdown menu](dropdown-menu.html), along with a text input field and action button. The dropdown menu inherits the background color of the top bar. If you're using the Sass version of Foundation, you can change this with the `$topbar-submenu-background` variable.
+
+```html_example
+<div class="top-bar">
+  <div class="top-bar-left">
+    <ul class="dropdown menu" data-dropdown-menu>
+      <li class="menu-text">Site Title</li>
+      <li>
+        <a href="#">One</a>
+        <ul class="menu vertical">
+          <li><a href="#">One</a></li>
+          <li><a href="#">Two</a></li>
+          <li><a href="#">Three</a></li>
+        </ul>
+      </li>
+      <li><a href="#">Two</a></li>
+      <li><a href="#">Three</a></li>
+    </ul>
+  </div>
+  <div class="top-bar-right">
+    <ul class="menu">
+      <li><input type="search" placeholder="Search"></li>
+      <li><button type="button" class="button">Search</button></li>
+    </ul>
+  </div>
+</div>
+```
+
+---
+
+## Advanced Layout
+
+You can further divide a top bar into a title area and content area. Use the `.top-bar-title` class to create a title/branding area. Next to that can be any element, which is used for the rest of the content.
+
+```html
+<div class="top-bar">
+  <div class="top-bar-title"></div>
+  <div>
+    <div class="top-bar-left"></div>
+    <div class="top-bar-right"></div>
+  </div>
+</div>
+```
+
+In the below example, we've combined the above pattern with the Responsive Toggler plugin, creating a responsive top bar with a toggle click trigger on mobile.
+
+```html_example
+<div class="top-bar">
+  <div class="top-bar-title">
+    <span data-responsive-toggle="responsive-menu" data-hide-for="medium">
+      <button class="menu-icon dark" type="button" data-toggle></button>
+    </span>
+    <strong>Site Title</strong>
+  </div>
+  <div id="responsive-menu">
+    <div class="top-bar-left">
+      <ul class="dropdown menu" data-dropdown-menu>
+        <li>
+          <a href="#">One</a>
+          <ul class="menu vertical">
+            <li><a href="#">One</a></li>
+            <li><a href="#">Two</a></li>
+            <li><a href="#">Three</a></li>
+          </ul>
+        </li>
+        <li><a href="#">Two</a></li>
+        <li><a href="#">Three</a></li>
+      </ul>
+    </div>
+    <div class="top-bar-right">
+      <ul class="menu">
+        <li><input type="search" placeholder="Search"></li>
+        <li><button type="button" class="button">Search</button></li>
+      </ul>
+    </div>
+  </div>
+</div>
+```
+
+---
+
+## Stacking
+
+By default, the two sections of a top bar will stack on top of each other on small screens. This can be changed by adding the class `.stacked-for-medium` or `.stacked-for-large`.
+
+```html
+<div class="top-bar stacked-for-medium">
+  <!-- ... -->
+</div>
+```
+
+<div class="top-bar stacked-for-medium">
+  <div class="top-bar-left">
+    <ul class="dropdown menu" data-dropdown-menu>
+      <li class="menu-text">Site Title</li>
+      <li>
+        <a href="#">One</a>
+        <ul class="menu vertical">
+          <li><a href="#">One</a></li>
+          <li><a href="#">Two</a></li>
+          <li><a href="#">Three</a></li>
+        </ul>
+      </li>
+      <li><a href="#">Two</a></li>
+      <li><a href="#">Three</a></li>
+    </ul>
+  </div>
+  <div class="top-bar-right">
+    <ul class="menu">
+      <li><input type="search" placeholder="Search"></li>
+      <li><button type="button" class="button">Search</button></li>
+    </ul>
+  </div>
+</div>
+
+---
+
+## Sticky Navigation
+
+See the documentation for the [Sticky](sticky.html#sticky-navigation) plugin to see how to easily make a sticky nav bar.
diff --git a/libraries/foundation-6/docs/pages/typography-base.md b/libraries/foundation-6/docs/pages/typography-base.md
new file mode 100755
index 00000000..2d5f90ed
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/typography-base.md
@@ -0,0 +1,262 @@
+---
+title: Base Typography
+description: Typography in Foundation 6 is meant to make your life easier by providing clean, attractive, simple default styles for all of the most basic typographical elements.
+sass:
+  - scss/typography/_base.scss
+  - scss/typography/_print.scss
+tags:
+  - paragraph
+  - heading
+  - link
+  - definition
+  - blockquote
+  - abbreviation
+  - acronym
+  - code
+  - keystroke
+---
+
+## Paragraphs
+
+This is a paragraph. Paragraphs are preset with a font size, line height and spacing to match the overall vertical rhythm. To show what a paragraph looks like this needs a little more content&mdash;so, did you know that there are storms occurring on Jupiter that are larger than the Earth? Pretty cool. Use the `<strong>` and `<em>` tags to denote text that should be displayed or read with emphasis. Browsers will **bold** and *italicize* the words, while screen readers will read them with *emphasis*.
+
+<div class="callout primary">
+  <p>If the emphasis of a phrase is important, don't make the emphasis purely visual&mdash;use the `<em>` or `<strong>` tags to mark it as well. Both of these tags have built-in styles, but there's no harm in adding additional styles in specific contexts.</p>
+</div>
+
+```html
+<p>This is a paragraph. Paragraphs are preset with a font size, line height and spacing to match the overall vertical rhythm. To show what a paragraph looks like this needs a little more content so, did you know that there are storms occurring on Jupiter that are larger than the Earth? Pretty cool. Wrap strong around type to <strong>make it bold!</strong>. You can also use em to <em>italicize your words</em>.</p>
+```
+
+---
+
+## Header
+
+Foundation includes styles for all headings&mdash;they're balanced and sized along a modular scale.
+
+<div class="callout primary">
+  <p>Avoid skipping heading levels when structuring your document, as it confuses screen readers. For example, after using an <code>&lt;h2&gt;</code> in your code, the next heading used should be either <code>&lt;h2&gt;</code> or <code>&lt;h3&gt;</code>. If you need a heading to look bigger or smaller to match a specific style, use CSS to override the default size.</p>
+</div>
+
+```html_example
+<h1>h1. This is a very large header.</h1>
+<h2>h2. This is a large header.</h2>
+<h3>h3. This is a medium header.</h3>
+<h4>h4. This is a moderate header.</h4>
+<h5>h5. This is a small header.</h5>
+<h6>h6. This is a tiny header.</h6>
+```
+
+---
+
+### Header Sizes
+
+The framework includes two typographic scales&mdash;one uses a narrow range of sizes for small- and medium-sized screens, and the other uses a wider range of sizes for large-sized screens. You can change these scales, or add new ones for other breakpoints, by editing the `$header-sizes` map in your project's <a href="sass.html#the-settings-file">Settings File</a>.
+
+Header  | Default | Large and up
+--------|---------|-------------
+`<h1>`  | 24px    | 48px
+`<h2>`  | 20px    | 40px
+`<h3>`  | 19px    | 31px
+`<h4>`  | 18px    | 25px
+`<h5>`  | 17px    | 20px
+`<h6>`  | 16px    | 16px
+
+---
+
+### Small Header Segments
+
+By inserting a `<small>` element into a header Foundation will scale the header font size down for an inline element, allowing you to use this for subtitles or other secondary header text.
+
+```html_example
+<h3>Foundation for Sites <small>Version 6.0.4</small></h3>
+```
+
+---
+
+## Links
+
+Links are very standard, and the color is preset to the Foundation primary color. <a href="global.html">Learn more about Foundation's global colors.</a>
+
+<div class="callout">
+  <p>To make links screen reader-friendly, avoid using vague words like "here" or "read more" within link text. The text of the link itself should adequately describe where the link goes.</p>
+</div>
+
+```html
+<p>Links are very standard, and the color is preset to the Foundation primary color. <a href="global.html">Learn more about Foundation's global colors.</a></p>
+```
+
+---
+
+## Dividers
+
+Use dividers to define thematic breaks between paragraphs. To denote the end of one section of a page and the start of another, it's better to use the `<section>` tag.
+
+```html
+<hr>
+```
+
+---
+
+## Unordered Lists
+
+Use an unordered list to... *list things*, if the order of the items doesn't matter.
+
+```html_example
+<ul>
+  <li>List item with a much longer description or more content.</li>
+  <li>List item</li>
+  <li>List item
+    <ul>
+      <li>Nested list item</li>
+      <li>Nested list item</li>
+      <li>Nested list item</li>
+    </ul>
+  </li>
+  <li>List item</li>
+  <li>List item</li>
+  <li>List item</li>
+</ul>
+```
+
+---
+
+## Ordered Lists
+
+Use an `<ol>` when creating a list where the order of the items is important, like ranking pizza toppings from best to worst.
+
+```html_example
+<ol>
+  <li>Cheese (essential)</li>
+  <li>Pepperoni</li>
+  <li>Bacon
+    <ol>
+      <li>Normal bacon</li>
+      <li>Canadian bacon</li>
+    </ol>
+  </li>
+  <li>Sausage</li>
+  <li>Onions</li>
+  <li>Mushrooms</li>
+</ol>
+```
+
+---
+
+## Definition Lists
+
+A definition list (`<dl>`) is used to display name-value pairs, like metadata or a dictionary definition. Each term (`<dt>`) is paired with one or more definitions (`<dd>`).
+
+```html_example
+<dl>
+  <dt>Time</dt>
+  <dd>The indefinite continued progress of existence and events in the past, present, and future regarded as a whole.</dd>
+  <dt>Space</dt>
+  <dd>A continuous area or expanse that is free, available, or unoccupied.</dd>
+  <dd>The dimensions of height, depth, and width within which all things exist and move.</dd>
+</dl>
+```
+
+---
+
+## Blockquotes
+
+Sometimes other people say smart things, and you may want to mention those things with a quote. We've got you covered.
+
+```html_example
+<blockquote>
+  Those people who think they know everything are a great annoyance to those of us who do.
+  <cite>Isaac Asimov</cite>
+</blockquote>
+```
+
+---
+
+## Abbreviations
+
+Use the `<abbr>` tag to annotate a shortened term. Abbreviations must always have a `title` attribute which clarifies the full term.
+
+```html_example
+<p>In my dream last night, I saw <abbr title="John Ronald Reuel">J. R. R.</abbr> Tolkien and George <abbr title="Raymond Richard">R. R.</abbr> Martin hanging out on Sunset <abbr title="Boulevard">Blvd</abbr>.</p>
+```
+
+---
+
+## Code
+
+Format references to code with the `<code>` tag.
+
+```html_example
+Remember to escape angle brackets when printing HTML: <code>&lt;div&gt;</code>
+```
+
+---
+
+## Keystrokes
+
+Use the `<kbd>` element to annotate a key stroke or combination.
+
+```html_example
+<p>Press <kbd>Cmd+Q</kbd> (or <kbd>Ctrl+Q</kbd> on Windows) to play Half-Life 3.</p>
+```
+
+---
+
+## Accessibility
+
+Text is core to the content of your page, so making it accessible to everyone is important. Here are some general guidelines to follow.
+
+### Text vs. Images
+
+Prefer using actual text over text inside a graphic. Assistive technologies can't read an image, and the text in an image can't be resized by a browser, like normal text. If an image has text that needs to be read, add it in the `alt` attribute of the image.
+
+```html
+<img src="assets/img/buy-now.jpg" alt="Buy now">
+```
+
+---
+
+### Contrast
+
+The contrast between the color of an element's text and its background should be high enough that low-vision users can read it. **The minimum recommended contrast ratio is 4.5:1.** There are no automated tools that can effectively check this for you, but if you aren't sure about a specific color combination, you can run it through one of many color contrast checkers, such as [WebAIM's color contrast checker](http://webaim.org/resources/contrastchecker/).
+
+Google Chrome's [Accessibility Developer Tools](https://chrome.google.com/webstore/detail/accessibility-developer-t/fpkknkljclfencbdbgkenhalefipecmb?hl=en) also includes a contrast checker. By selecting an element in the inspector, you can see if the contrast meets the minimum standards.
+
+<img class="thumbnail" src="assets/img/a11y/chrome-a11y-inspector.jpg" alt="Screenshot of Google Chrome's Accessibility Tools">
+
+---
+
+### Type Size
+
+When possible, use the `rem` and `em` units to size everything. Not just font size, but also padding, margins, and any length value. This ensures that your design scales up and down uniformly if the user changes their browser's text size. It's common for vision-impaired users to resize their browser up to 200% zoom.
+
+We use the `rem` unit nearly everywhere in Foundation, and even wrote a Sass function to make it a little easier. The `rem-calc()` function can take one or more pixel values and convert them to proper `rem` values.
+
+```scss
+.element {
+  width: rem-calc(300);
+  padding: rem-calc(10 16);
+}
+```
+
+---
+
+### More Resources
+
+- [WebAIM: Fonts](http://webaim.org/techniques/fonts/)
+- [WebAIM: Links and HyperText](http://webaim.org/techniques/hypertext/)
+- [WebAIM: Writing Clearly and Simply](http://webaim.org/techniques/semanticstructure/)
+- [WebAIM: Color Contrast Checker](http://webaim.org/resources/contrastchecker/)
+
+---
+
+## Print Styles
+
+Foundation includes print styles developed by HTML5 Boilerplate to give you some basic print-specific styles. These are activated when you print through a media query. It includes:
+
+- Clearing out backgrounds, box shadows and text shadows
+- Appending link URLs after the anchor text
+- Adding borders to `<blockquote>` and `<pre>` elements
+- Page cleanup and window minimization
+
+On top of that, Foundation includes a couple of simple classes you can use to control elements printing, or not printing. Simply attach `.show-for-print` to an element to only show when printing, and `.hide-for-print` to hide something when printing.
diff --git a/libraries/foundation-6/docs/pages/typography-helpers.md b/libraries/foundation-6/docs/pages/typography-helpers.md
new file mode 100755
index 00000000..2e0d751a
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/typography-helpers.md
@@ -0,0 +1,92 @@
+---
+title: Typography Helpers
+description: Our helper classes allow you to scaffold certain typographic styles faster.
+sass:
+  - scss/typography/_helpers.scss
+  - scss/typography/_alignment.scss
+tags:
+  - alignment
+  - subheader
+  - lead
+  - statistic
+---
+
+## Text Alignment
+
+You can change the text alignment of an element by adding `.text-left`, `.text-right`, `.text-center` or `.text-justify` to an element.
+
+Adding a breakpoint to the front of a text alignment class will cause it to only be applied on that size screen or larger. For example, `.medium-text-center` will keep text left-aligned on the smallest screens, but switch to center-aligned on medium screens and larger.
+
+```html
+<p class="text-left"><!-- ... --></p>
+<p class="text-right"><!-- ... --></p>
+<p class="text-center"><!-- ... --></p>
+<p class="text-justify"><!-- ... --></p>
+```
+
+<p class="text-left"><strong>This text is left-aligned.</strong> Set in the year 0 F.E. ("Foundation Era"), The Psychohistorians opens on Trantor, the capital of the 12,000-year-old Galactic Empire. Though the empire appears stable and powerful, it is slowly decaying in ways that parallel the decline of the Western Roman Empire.</p>
+
+<p class="text-right"><strong>This text is right-aligned.</strong> Set in the year 0 F.E. ("Foundation Era"), The Psychohistorians opens on Trantor, the capital of the 12,000-year-old Galactic Empire. Though the empire appears stable and powerful, it is slowly decaying in ways that parallel the decline of the Western Roman Empire.</p>
+
+<p class="text-center"><strong>This text is center-aligned.</strong> Set in the year 0 F.E. ("Foundation Era"), The Psychohistorians opens on Trantor, the capital of the 12,000-year-old Galactic Empire. Though the empire appears stable and powerful, it is slowly decaying in ways that parallel the decline of the Western Roman Empire.</p>
+
+<p class="text-justify"><strong>This text is justified.</strong> Set in the year 0 F.E. ("Foundation Era"), The Psychohistorians opens on Trantor, the capital of the 12,000-year-old Galactic Empire. Though the empire appears stable and powerful, it is slowly decaying in ways that parallel the decline of the Western Roman Empire.</p>
+
+---
+
+## Subheader
+
+Lighten up your headers by adding a class of `.subheader` to any header element.
+
+```html_example
+<h1 class="subheader">h1.subheader</h1>
+<h2 class="subheader">h2.subheader</h2>
+<h3 class="subheader">h3.subheader</h3>
+<h4 class="subheader">h4.subheader</h4>
+<h5 class="subheader">h5.subheader</h5>
+<h6 class="subheader">h6.subheader</h6>
+```
+
+---
+
+## Lead Paragraph
+
+A slightly-larger-than-normal block of text, useful for decks, blurbs, or other descriptive text.
+
+```html_example
+<p class="lead">What are your cats <em>really</em> dreaming about while they sleep?</p>
+```
+
+---
+
+## Un-bulleted List
+
+In Foundation, the `<ul>` is a bulleted list by default, but you can add the class `.no-bullet` to remove the bullets.
+
+```html_example
+<ul class="no-bullet">
+  <li>List item with a much longer description or more content.</li>
+  <li>List item</li>
+  <li>List item
+    <ul>
+      <li>Nested list item</li>
+      <li>Nested list item</li>
+      <li>Nested list item</li>
+    </ul>
+  </li>
+  <li>List item</li>
+  <li>List item</li>
+  <li>List item</li>
+</ul>
+```
+
+---
+
+## Statistics
+
+If you're building a dashboard, you might need to display some important numbers *real big*. Just add the `.stat` class to any element to amp up the font size.
+
+```html_example
+<p>Days without merge conflict</p>
+<div class="stat">128</div>
+```
\ No newline at end of file
diff --git a/libraries/foundation-6/docs/pages/visibility.md b/libraries/foundation-6/docs/pages/visibility.md
new file mode 100755
index 00000000..a21eb0b0
--- /dev/null
+++ b/libraries/foundation-6/docs/pages/visibility.md
@@ -0,0 +1,128 @@
+---
+title: Visibility Classes
+description: Visibility classes let you show or hide elements based on screen size or device orientation. You can also use visibility classes to control which elements users see depending on their browsing environment.
+sass: scss/components/_visibility.scss
+tags:
+  - hide
+  - show
+---
+
+<div class="callout primary">
+  <p>Visibility classes use `!important` to ensure they aren't overriden by more specific selectors. This is the only component in the framework that uses `!important`.</p>
+</div>
+
+<div class="callout primary">
+  <p>There are no classes to detect touchscreen devices, as both desktop and mobile browsers inconsistently report touch support. Learn more here: <a href="http://www.stucox.com/blog/you-cant-detect-a-touchscreen/">You Can't Detect a Touchscreen</a></p>
+</div>
+
+## Show by Screen Size
+
+In this example, we use the `.show` visibility classes to show certain strings of text based on the device on which users view a page. If their browser meets the class's conditions, the element will be shown. If not, it will be hidden.
+
+```html_example
+<p>You are on a small screen or larger.</p>
+<p class="show-for-medium">You are on a medium screen or larger.</p>
+<p class="show-for-large">You are on a large screen or larger.</p>
+```
+
+These classes automatically hide the element on screen sizes *below* what's specified in the class. So `.show-for-medium` will hide the element on small, and show it on medium and larger.
+
+A separate set of classes allow you to show content *only* on a certain screen size. Just add `-only` to the end of the class.
+
+<div class="primary callout">
+  <p>Don't see any text below the code sample? You must be on an *extra* large screen.</p>
+</div>
+
+```html_example
+<p class="show-for-small-only">You are <em>definitely</em> on a small screen.</p>
+<p class="show-for-medium-only">You are <em>definitely</em> on a medium screen.</p>
+<p class="show-for-large-only">You are <em>definitely</em> on a large screen.</p>
+```
+
+---
+
+## Hide by Screen Size
+
+This example shows the opposite: It uses the `.hide` visibility classes to state which elements should disappear based on the device's screen size.
+
+<div class="primary callout">
+  <p>There's no <code>.hide-for-small</code> class, because that would just permanently hide the element. For that, you can use the plain old <code>.hide</code> class instead.</p>
+</div>
+
+```html_example
+<p class="hide-for-medium">You are <em>not</em> on a medium screen or larger.</p>
+<p class="hide-for-large">You are <em>not</em> on a large screen or larger.</p>
+```
+
+<p class="show-for-large">If you're reading this, you're on a large screen, and can't see either of the above examples.</p>
+
+Like with `.show`, these classes also have `-only` versions.
+
+```html_example
+<p class="hide-for-small-only">You are <em>definitely not</em> on a small screen.</p>
+<p class="hide-for-medium-only">You are <em>definitely not</em> on a medium screen.</p>
+<p class="hide-for-large-only">You are <em>definitely not</em> on a large screen.</p>
+```
+
+### Generic Hide Classes
+
+And if you really just need something hidden no matter what, there are classes for that as well. The `.hide` and `.invisible` classes respectively set `display: none` and `visibility: hidden` on an element. Note that both of these classes hide content from screen readers.
+
+```html
+<p class="hide">Can't touch this.</p>
+<p class="invisible">Can sort of touch this.</p>
+```
+
+---
+
+## Orientation Detection
+
+This straightforward example shows how two strings of text determine whether or not an element is visible in different orientations. This will change on mobile devices when you rotate the device. On desktop, the orientation is almost always reported as landscape.
+
+```html_example
+<p class="show-for-landscape">You are in landscape orientation.</p>
+<p class="show-for-portrait">You are in portrait orientation.</p>
+```
+
+---
+
+## Accessibility
+
+Adding `display: none` to an element will prevent screen readers from reading it. However, there are techniques to hide content while still making it readable by screen readers.
+
+### Show for Screen Readers Only
+
+To visually hide content, while still allowing assistive technology to read it, add the class show-for-sr.
+
+```html_example
+<p class="show-for-sr">This text can only be read by a screen reader.</p>
+<p>There's a line of text above this one, you just can't see it.</p>
+```
+
+### Hide for Screen Readers Only
+
+To hide text from assistive technology, while still keeping it visible, add the attribute `aria-hidden="true"`. This doesn't affect how the element looks, but screen readers will skip over it.
+
+<div class="primary callout">
+  <p>It's usually not a good idea to hide content from screen readers. <code>aria-hidden</code> is best used to mask purely visual elements of a page.</p>
+</div>
+
+```html_example
+<p aria-hidden="true">This text can be seen, but won't be read by a screen reader.</p>
+```
+
+### Creating Skip Links
+
+If your site has a lot of navigation, a screen reader will have to read through the entire navigation to get to your site's content. To remedy this, you can add a *skip link* at the very top of your page, which will send the user farther down the page, past the navigation when clicked on.
+
+Use the class `.show-on-focus` to hide an element, except when it has focus. Adding tabindex="0" to the target element makes if focusable.
+
+```html_example
+<p><a class="show-on-focus" href="#mainContent">Skip to Content</a></p>
+
+<header id="header" role="banner">
+</header>
+
+<main id="mainContent" role="main" tabindex="0">
+</main>
+```
diff --git a/libraries/foundation-6/docs/partials/component-list.html b/libraries/foundation-6/docs/partials/component-list.html
new file mode 100755
index 00000000..c2ecb844
--- /dev/null
+++ b/libraries/foundation-6/docs/partials/component-list.html
@@ -0,0 +1,93 @@
+<ul class="vertical menu docs-nav" id="docs-menu">
+  <p class="docs-nav-version">
+    <span data-docs-version></span>
+    <a href="https://github.com/zurb/foundation-sites/releases/" target="_blank">(Changelog)</a>
+  </p>
+
+  <li class="docs-nav-title">Getting Started</li>
+  <li{{#ifpage 'installation'}} class="current"{{/ifpage}}><a href="installation.html">Installation</a></li>
+  <li{{#ifpage 'starter-projects'}} class="current"{{/ifpage}}><a href="starter-projects.html">Starter Projects</a></li>
+  <li{{#ifpage 'compatibility'}} class="current"{{/ifpage}}><a href="compatibility.html">Compatibility</a></li>
+  <li{{#ifpage 'accessibility'}} class="current"{{/ifpage}}><a href="accessibility.html">Accessibility</a></li>
+  <li{{#ifpage 'kitchen-sink'}} class="current"{{/ifpage}}><a href="kitchen-sink.html">Kitchen Sink</a></li>
+
+  <li class="docs-nav-title">Setup</li>
+  <li{{#ifpage 'global'}} class="current"{{/ifpage}}><a href="global.html">Global Styles</a></li>
+  <li{{#ifpage 'rtl'}} class="current"{{/ifpage}}><a href="rtl.html">Right-to-Left Support</a></li>
+  <li{{#ifpage 'flexbox'}} class="current"{{/ifpage}}><a href="flexbox.html">Flexbox</a></li>
+  <li{{#ifpage 'sass'}} class="current"{{/ifpage}}><a href="sass.html">Sass</a></li>
+  <li{{#ifpage 'javascript'}} class="current"{{/ifpage}}><a href="javascript.html">JavaScript</a></li>
+  <li{{#ifpage 'javascript-utilities'}} class="current"{{/ifpage}}><a href="javascript-utilities.html">JavaScript Utilities</a></li>
+  <li{{#ifpage 'media-queries'}} class="current"{{/ifpage}}><a href="media-queries.html">Media Queries</a></li>
+
+  <li class="docs-nav-title">General</li>
+  <li{{#ifpage 'grid'}} class="current"{{/ifpage}}><a href="grid.html">Grid</a></li>
+  <li{{#ifpage 'flex-grid'}} class="current"{{/ifpage}}><a href="flex-grid.html">Flex Grid</a></li>
+  <li{{#ifpage 'forms'}} class="current"{{/ifpage}}><a href="forms.html">Forms</a></li>
+  <li{{#ifpage 'visibility'}} class="current"{{/ifpage}}><a href="visibility.html">Visibility Classes</a></li>
+  <li{{#ifpage 'float-classes'}} class="current"{{/ifpage}}><a href="float-classes.html">Float Classes</a></li>
+
+  <li class="docs-nav-title">Typography</li>
+  <li{{#ifpage 'typography-base'}} class="current"{{/ifpage}}><a href="typography-base.html">Base Styles</a></li>
+  <li{{#ifpage 'typography-helpers'}} class="current"{{/ifpage}}><a href="typography-helpers.html">Helper Classes</a></li>
+
+  <li class="docs-nav-title">Controls</li>
+  <li{{#ifpage 'button'}} class="current"{{/ifpage}}><a href="button.html">Button</a></li>
+  <li{{#ifpage 'button-group'}} class="current"{{/ifpage}}><a href="button-group.html">Button Group</a></li>
+  <li{{#ifpage 'close-button'}} class="current"{{/ifpage}}><a href="close-button.html">Close Button</a></li>
+  <li{{#ifpage 'slider'}} class="current"{{/ifpage}}><a href="slider.html">Slider <span class="label">JS</span></a></li>
+  <li{{#ifpage 'switch'}} class="current"{{/ifpage}}><a href="switch.html">Switch</a></li>
+
+  <li class="docs-nav-title">Navigation</li>
+  <li{{#ifpage 'navigation'}} class="current"{{/ifpage}}><a href="navigation.html">Overview</a></li>
+  <li{{#ifpage 'menu'}} class="current"{{/ifpage}}><a href="menu.html">Menu</a></li>
+  <li{{#ifpage 'dropdown-menu'}} class="current"{{/ifpage}}><a href="dropdown-menu.html">Dropdown Menu <span class="label">JS</span></a></li>
+  <li{{#ifpage 'drilldown-menu'}} class="current"{{/ifpage}}><a href="drilldown-menu.html">Drilldown Menu <span class="label">JS</span></a></li>
+  <li{{#ifpage 'accordion-menu'}} class="current"{{/ifpage}}><a href="accordion-menu.html">Accordion Menu <span class="label">JS</span></a></li>
+  <li{{#ifpage 'top-bar'}} class="current"{{/ifpage}}><a href="top-bar.html">Top Bar</a></li>
+  <li{{#ifpage 'responsive-navigation'}} class="current"{{/ifpage}}><a href="responsive-navigation.html">Responsive Navigation</a></li>
+  <li{{#ifpage 'magellan'}} class="current"{{/ifpage}}><a href="magellan.html">Magellan <span class="label">JS</span></a></li>
+  <li{{#ifpage 'pagination'}} class="current"{{/ifpage}}><a href="pagination.html">Pagination</a></li>
+  <li{{#ifpage 'breadcrumbs'}} class="current"{{/ifpage}}><a href="breadcrumbs.html">Breadcrumbs</a></li>
+
+  <li class="docs-nav-title">Containers</li>
+  <li{{#ifpage 'accordion'}} class="current"{{/ifpage}}><a href="accordion.html">Accordion <span class="label">JS</span></a></li>
+  <li{{#ifpage 'callout'}} class="current"{{/ifpage}}><a href="callout.html">Callout</a></li>
+  <li{{#ifpage 'dropdown'}} class="current"{{/ifpage}}><a href="dropdown.html">Dropdown <span class="label">JS</span></a></li>
+  <li{{#ifpage 'media-object'}} class="current"{{/ifpage}}><a href="media-object.html">Media Object</a></li>
+  <li{{#ifpage 'off-canvas'}} class="current"{{/ifpage}}><a href="off-canvas.html">Off-canvas <span class="label">JS</span></a></li>
+  <li{{#ifpage 'reveal'}} class="current"{{/ifpage}}><a href="reveal.html">Reveal <span class="label">JS</span> <small>Modal</small></a></li>
+  <li{{#ifpage 'table'}} class="current"{{/ifpage}}><a href="table.html">Table</a></li>
+  <li{{#ifpage 'tabs'}} class="current"{{/ifpage}}><a href="tabs.html">Tabs <span class="label">JS</span></a></li>
+
+  <li class="docs-nav-title">Media</li>
+  <li{{#ifpage 'badge'}} class="current"{{/ifpage}}><a href="badge.html">Badge</a></li>
+  <li{{#ifpage 'flex-video'}} class="current"{{/ifpage}}><a href="flex-video.html">Flex Video</a></li>
+  <li{{#ifpage 'label'}} class="current"{{/ifpage}}><a href="label.html">Label</a></li>
+  <li{{#ifpage 'orbit'}} class="current"{{/ifpage}}><a href="orbit.html">Orbit <span class="label">JS</span> <small>Carousel</small></a></li>
+  <li{{#ifpage 'progress-bar'}} class="current"{{/ifpage}}><a href="progress-bar.html">Progress Bar</a></li>
+  <li{{#ifpage 'thumbnail'}} class="current"{{/ifpage}}><a href="thumbnail.html">Thumbnail</a></li>
+  <li{{#ifpage 'tooltip'}} class="current"{{/ifpage}}><a href="tooltip.html">Tooltip <span class="label">JS</span></a></li>
+
+  <li class="docs-nav-title">Plugins</li>
+  <li{{#ifpage 'abide'}} class="current"{{/ifpage}}><a href="abide.html">Abide <small>Form Validation</small></a></li>
+  <li{{#ifpage 'equalizer'}} class="current"{{/ifpage}}><a href="equalizer.html">Equalizer <small>Column Alignment</small></a></li>
+  <li{{#ifpage 'interchange'}} class="current"{{/ifpage}}><a href="interchange.html">Interchange <small>Responsive Content</small></a></li>
+  <li{{#ifpage 'toggler'}} class="current"{{/ifpage}}><a href="toggler.html">Toggler <small>CSS Helper</small></a></li>
+  <li{{#ifpage 'sticky'}} class="current"{{/ifpage}}><a href="sticky.html">Sticky <small>Header/Sidebar</small></a></li>
+
+  <li class="docs-nav-title">Sass</li>
+  <li{{#ifpage 'sass-functions'}} class="current"{{/ifpage}}><a href="sass-functions.html">Functions</a></li>
+  <li{{#ifpage 'sass-mixins'}} class="current"{{/ifpage}}><a href="sass-mixins.html">Mixins</a></li>
+
+  <li class="docs-nav-title">Libraries</li>
+  <li{{#ifpage 'motion-ui'}} class="current"{{/ifpage}}><a href="motion-ui.html">Motion UI</a></li>
+  <li{{#ifpage 'panini'}} class="current"{{/ifpage}}><a href="panini.html">Panini</a></li>
+  <li{{#ifpage 'style-sherpa'}} class="current"{{/ifpage}}><a href="style-sherpa.html">Style Sherpa</a></li>
+
+  <li class="docs-nav-title">Older Versions</li>
+  <li><a href="http://foundation.zurb.com/sites/docs/v/5.5.3/index.html">Foundation 5</a></li>
+  <li><a href="http://foundation.zurb.com/sites/docs/v/4.3.2/index.html">Foundation 4</a></li>
+  <li><a href="http://foundation.zurb.com/sites/docs/v/3.2.5/">Foundation 3</a></li>
+  <li><a href="http://foundation.zurb.com/sites/docs/v/2.2.1/">Foundation 2</a></li>
+</ul>
diff --git a/libraries/foundation-6/docs/partials/footer.html b/libraries/foundation-6/docs/partials/footer.html
new file mode 100755
index 00000000..370610e2
--- /dev/null
+++ b/libraries/foundation-6/docs/partials/footer.html
@@ -0,0 +1,130 @@
+<!-- Small Business(Docs) -->
+<section id="studiosCallout" class="foundation">
+  <div class="row">
+    <div class="large-4 medium-4 columns">
+      <img src="http://foundation.zurb.com/assets/img/smallbiz-footer.svg" alt="">
+    </div>
+    <div class="large-8 medium-8 columns banner-info">
+      <div class="row column property-label">ZURB STUDIOS</div>
+      <h3 class="light">Let's build something amazing.</h3>
+      <p class="lead">Work with our scrappy design team to bring your concepts to life. We’ll equip you with our battle-tested Progressive Design process and the tools to get your product or website off the ground and in front of your users.</p>
+      <div class="course-buttons">
+          <a href="http://zurb.com/studios/getstarted" class="button" data-zcom-event="studios_foundation_click" id="foundationSmallV1">Show Me How &rarr;</a>
+      </div>
+    </div>
+  </div>
+</section>
+
+<div class="docs-newsletter">
+  <div class="row">
+    <div class="medium-8 columns">
+      <h5>Stay on top of what&rsquo;s happening in <a href="http://zurb.com/responsive">responsive design</a>.</h5>
+      <p>Sign up to receive monthly Responsive Reading highlights. <a href="http://zurb.com/responsive/reading">Read Last Month's Edition &raquo;</a></p>
+    </div>
+    <div class="medium-4 columns">
+      <form action="http://zurb.createsend.com/t/y/s/vjtyhh/" method="post" id="subForm">
+        <div class="row collapse margintop-20px">
+          <div class="small-8 medium-8 columns">
+            <input id="fieldEmail" name="cm-vjtyhh-vjtyhh" type="email" placeholder="signup@example.com">
+          </div>
+          <div class="small-4 medium-4 columns">
+            <input type="submit" href="#" class="postfix button" value="Sign Up">
+          </div>
+        </div>
+      </form>
+    </div>
+  </div>
+</div>
+
+<div class="zurb-footer-top bg-fblue">
+  <div class="row property">
+    <div class="medium-4 columns">
+      <div class="property-info">
+        <h3>Foundation for Sites</h3>
+        <p>Foundation is a responsive front-end framework made by <a href="http://zurb.com">ZURB</a>, a product design company in Campbell, CA. This framework is the result of building web products &amp; services since 1998.
+        </p>
+      </div>
+    </div>
+
+    <div class="medium-8 columns">
+      <div class="row collapse">
+        <div class="medium-4 columns">
+          <div class="learn-links">
+            <h4 class="hide-for-small">Want more?</h4>
+            <ul>
+              <li><a href="http://foundation.zurb.com/apps">Foundation for Apps</a></li>
+              <li><a href="http://zurb.com/ink/">Ink Responsive Emails</a></li>
+              <li><a href="http://zurb.com/notable">Notable Design Apps</a></li>
+              <li><a href="http://zurb.com/university/courses">Training</a></li>
+              <li><a href="http://zurb.com/library">Design Resources</a></li>
+            </ul>
+          </div>
+        </div>
+          <div class="medium-4 columns">
+            <div class="support-links">
+            <h4 class="hide-for-small">Talk to us</h4>
+            <p>Tweet us at <br> <a href="https://twitter.com/zurbfoundation">@ZURBfoundation</a></p>
+            <p><a href="http://foundation.zurb.com/business/business-support.html">Business Support</a></p>
+            <p>Or check our <a href="http://foundation.zurb.com/support/support.html">support page</a></p>
+            </div>
+          </div>
+        <div class="medium-4 columns">
+          <div class="connect-links">
+            <h4 class="hide-for-small">Stay Updated</h4>
+            <p>Keep up with the latest on Foundation. Find us on <a href="https://github.com/zurb/foundation">Github</a>.</p>
+            <a href="http://zurb.com/news" class="small button">Stay Connected</a>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+  <div class="row global">
+    <div class="medium-3 small-6 columns">
+      <a href="http://zurb.com/studios" class="footer-link-block services">
+        <span class="title">Studios</span>
+        <span>Helping more than 200 startups succeed since 1998.</span>
+      </a>
+    </div>
+    <div class="medium-3 small-6 columns">
+      <a href="http://foundation.zurb.com/" class="footer-link-block foundation">
+        <span class="title">Foundation</span>
+        <span>The most advanced front-end framework in the world.</span>
+      </a>
+    </div>
+    <div class="medium-3 small-6 columns">
+      <a href="http://zurb.com/notable" class="footer-link-block apps">
+        <span class="title">Notable Design Apps</span>
+        <span>Prototype, iterate and collect feedback on your products.</span>
+      </a>
+    </div>
+    <div class="medium-3 small-6 columns">
+      <a href="http://zurb.com/university" class="footer-link-block expo">
+        <span class="title">University</span>
+        <span>Ideas, thoughts and design resources shared with you.</span>
+      </a>
+    </div>
+  </div>
+</div>
+
+<div class="zurb-footer-bottom">
+  <div class="row">
+    <div class="medium-4 medium-push-8 columns">
+      <ul class="home-social">
+          <li><a href="http://www.twitter.com/ZURB" class="twitter"></a></li>
+          <li><a href="http://www.facebook.com/ZURB" class="facebook"></a></li>
+          <li><a href="http://zurb.com/contact" class="mail"></a></li>
+        </ul>
+     </div>
+     <div class="medium-8 medium-pull-4 columns">
+        <a href="http://www.zurb.com" class="zurb-logo regular"></a>
+        <ul class="zurb-links">
+          <li><a href="http://zurb.com/about">About</a></li>
+          <li><a href="http://zurb.com/blog">Blog</a></li>
+          <li><a href="http://zurb.com/news">News<span class="show-for-medium-up"> &amp; Events</span></a></li>
+          <li><a href="http://zurb.com/contact">Contact</a></li>
+          <li><a href="http://zurb.com/sitemap">Sitemap</a></li>
+       </ul>
+       <p class="copyright">&copy; 1998&dash;2015 ZURB, Inc. All rights reserved.</p>
+    </div>
+  </div>
+</div>
diff --git a/libraries/foundation-6/docs/partials/info-banner.html b/libraries/foundation-6/docs/partials/info-banner.html
new file mode 100755
index 00000000..f7386c37
--- /dev/null
+++ b/libraries/foundation-6/docs/partials/info-banner.html
@@ -0,0 +1,6 @@
+  <!-- Info Banner For Announcements or Links -->
+  <a href="https://github.com/zurb/foundation-emails/releases/tag/v2.0.0-rc.1" class="notice">
+    <div class="info">
+      <h5><strong>Foundation for Emails 2 Release Candidate<span class="hide-for-small-only"> is out now!</strong></span></h5>
+    </div>
+  </a>
\ No newline at end of file
diff --git a/libraries/foundation-6/docs/partials/mobile-navigation.html b/libraries/foundation-6/docs/partials/mobile-navigation.html
new file mode 100755
index 00000000..39bea534
--- /dev/null
+++ b/libraries/foundation-6/docs/partials/mobile-navigation.html
@@ -0,0 +1,6 @@
+<div class="title-bar hide-for-medium">
+  <div class="title-bar-left">
+    <button class="menu-icon" type="button" data-open="offCanvasLeft"></button>
+    <span class="title-bar-title">Foundation</span>
+  </div>
+</div>
diff --git a/libraries/foundation-6/docs/partials/navigation.html b/libraries/foundation-6/docs/partials/navigation.html
new file mode 100755
index 00000000..8e24c559
--- /dev/null
+++ b/libraries/foundation-6/docs/partials/navigation.html
@@ -0,0 +1,62 @@
+<nav class="marketing-topbar show-for-medium">
+
+  <ul class="menu">
+    <li class="topbar-title"><a href="http://foundation.zurb.com/index.html"><img src="assets/img/logos/zurb-logo.svg" alt="ZURB"> Foundation</a></li>
+  </ul>
+
+  <ul class="dropdown menu" data-dropdown-menu data-click-open="false">
+
+    <li>
+      <a href="http://foundation.zurb.com/learn/about.html">Learn</a>
+      <ul class="submenu menu vertical" data-submenu>
+        <li><a href="http://foundation.zurb.com/learn/about.html">About Foundation</a></li>
+        <li><a href="http://foundation.zurb.com/learn/tutorials.html">Tutorials</a></li>
+        <li><a href="http://foundation.zurb.com/learn/classes.html">Classes</a></li>
+        <li><a href="http://foundation.zurb.com/learn/case-studies.html">Case Studies</a></li>
+        <li><a href="http://foundation.zurb.com/learn/brands.html">Brands</a></li>
+      </ul>
+    </li>
+
+    <li>
+      <a href="http://foundation.zurb.com/develop/getting-started.html">Develop</a>
+      <ul class="submenu menu vertical" data-submenu>
+        <li class="title">Frameworks</li>
+        <li><a href="http://foundation.zurb.com/sites.html">Foundation for Sites</a></li>
+        <li><a href="http://foundation.zurb.com/emails.html">Foundation for Email</a></li>
+        <li><a href="http://foundation.zurb.com/apps.html">Foundation for Apps</a></li>
+        <li class="divider"></li>
+        <li class="title">Develop</li>
+        <li><a href="http://foundation.zurb.com/templates.html">HTML Templates</a></li>
+        <li><a href="http://foundation.zurb.com/sites/resources.html">Resources</a></li>
+        <li><a href="http://foundation.zurb.com/develop/building-blocks.html">Building Blocks</a></li>
+        <li><a href="http://foundation.zurb.com/develop/yeti-launch.html">Yeti Launch</a></li>
+        <li><a href="http://foundation.zurb.com/develop/contribute.html">Contribute</a></li>
+      </ul>
+    </li>
+
+    <li><a href="http://foundation.zurb.com/upload.html">Upload</a></li>
+
+    <li>
+      <a href="http://foundation.zurb.com/support/support.html">Support</a>
+      <ul class="submenu menu vertical" data-submenu>
+        <li><a href="http://foundation.zurb.com/support/support.html">Support Channels</a></li>
+        <li><a href="http://foundation.zurb.com/support/premium-support.html">Premium Support</a></li>
+        <li><a href="http://foundation.zurb.com/forum/">Foundation Forum</a></li>
+        <li><a href="http://foundation.zurb.com/support/faq.html">FAQs</a></li>
+      </ul>
+    </li>
+
+    <li>
+      <a href="http://foundation.zurb.com/frameworks-docs.html">Docs</a>
+      <ul class="submenu menu vertical" data-submenu>
+        <li><a href="http://foundation.zurb.com/docs/" target="_blank">Sites Docs</a></li>
+        <li><a href="http://foundation.zurb.com/apps/docs/#!/" target="_blank">Apps Docs</a></li>
+        <li><a href="http://foundation.zurb.com/emails/docs/" target="_blank">Email Docs</a></li>
+      </ul>
+    </li>
+
+    <li><a href="http://foundation.zurb.com/develop/getting-started.html" class="button">Getting Started</a></li>
+
+  </ul>
+
+</nav>
diff --git a/libraries/foundation-6/docs/partials/off-canvi.html b/libraries/foundation-6/docs/partials/off-canvi.html
new file mode 100755
index 00000000..14107e32
--- /dev/null
+++ b/libraries/foundation-6/docs/partials/off-canvi.html
@@ -0,0 +1,73 @@
+<div class="off-canvas position-left" id="offCanvasLeft" data-off-canvas data-position="left">
+  <button class="close-button" aria-label="Close menu" type="button" data-close>
+    <span aria-hidden="true">&times;</span>
+  </button>
+  <ul class="mobile-ofc vertical menu">
+    
+    <li>
+      <a href="http://foundation.zurb.com/learn/about.html">Learn</a>
+      <ul class="submenu menu vertical" data-submenu>
+        <li><a href="http://foundation.zurb.com/learn/about.html">About Foundation</a></li> 
+        <li><a href="http://foundation.zurb.com/learn/tutorials.html">Tutorials</a></li>
+        <li><a href="http://foundation.zurb.com/learn/classes.html">Classes</a></li>
+        <li><a href="http://foundation.zurb.com/learn/case-studies.html">Case Studies</a></li>
+        <li><a href="http://foundation.zurb.com/learn/brands.html">Brands</a></li>  
+      </ul>
+    </li>
+    
+    <li>
+      <a href="http://foundation.zurb.com/develop/getting-started.html">Develop</a>
+      <ul class="submenu menu vertical" data-submenu>
+        <li class="title">Frameworks</li>
+        <li><a href="http://foundation.zurb.com/sites.html">Foundation for Sites</a></li>
+        <li><a href="http://foundation.zurb.com/emails.html">Foundation for Email</a></li>
+        <li><a href="http://foundation.zurb.com/apps.html">Foundation for Apps</a></li>
+        <li class="divider"></li>
+        <li class="title">Develop</li>
+        <li><a href="http://foundation.zurb.com/templates.html">HTML Templates</a></li>
+        <li><a href="http://foundation.zurb.com/sites/resources.html">Resources</a></li>
+        <li><a href="http://foundation.zurb.com/develop/building-blocks.html">Building Blocks</a></li>
+        <li><a href="http://foundation.zurb.com/develop/yeti-launch.html">Yeti Launch</a></li>
+        <li><a href="http://foundation.zurb.com/develop/contribute.html">Contribute</a></li>
+      </ul>
+    </li>
+
+    <li><a href="http://foundation.zurb.com/upload.html">Upload</a></li>
+    
+    <li>
+      <a href="http://foundation.zurb.com/support/support.html">Support</a>
+      <ul class="submenu menu vertical" data-submenu>
+        <li><a href="http://foundation.zurb.com/support/support.html">Support Channels</a></li>
+        <li><a href="http://foundation.zurb.com/support/premium-support.html">Premium Support</a></li>
+        <li><a href="http://foundation.zurb.com/forum/sort/unanswered">Foundation Forum</a></li>
+        <li><a href="http://foundation.zurb.com/support/faq.html">FAQs</a></li>
+      </ul>
+    </li>
+    
+    <li>
+      <a href="http://foundation.zurb.com/frameworks-docs.html">Docs</a>
+      <ul class="submenu menu vertical" data-submenu>
+        <li><a href="http://foundation.zurb.com/docs/" target="_blank">Sites Docs</a></li>
+        <li><a href="http://foundation.zurb.com/apps/docs/#!/" target="_blank">Apps Docs</a></li>
+        <li><a href="http://zurb.com/ink/docs.php" target="_blank">Email Docs</a></li>
+      </ul>
+    </li>
+    
+    <li><a href="http://foundation.zurb.com/develop/getting-started.html" class="button">Getting Started</a></li>
+
+  </ul>
+</div>
+
+<div class="off-canvas position-right" id="offCanvasRight" data-off-canvas data-position="right">
+  <button class="close-button" aria-label="Close menu" type="button" data-close>
+    <span aria-hidden="true">&times;</span>
+  </button>
+  <ul class="vertical menu">
+    <li><a href="#">Foundation</a></li>
+    <li><a href="#">Dot</a></li>
+    <li><a href="#">ZURB</a></li>
+    <li><a href="#">Com</a></li>
+    <li><a href="#">Slash</a></li>
+    <li><a href="#">Sites</a></li>
+  </ul>
+</div>
diff --git a/libraries/foundation-6/docs/search.yml b/libraries/foundation-6/docs/search.yml
new file mode 100755
index 00000000..669596d6
--- /dev/null
+++ b/libraries/foundation-6/docs/search.yml
@@ -0,0 +1,33 @@
+# These are search results that lead to the old versions of Foundation.
+-
+  type: old version
+  name: Foundation 2
+  description: Documentation for Foundation 2.2.1
+  link: 'http://foundation.zurb.com/sites/docs/v/2.2.1/'
+  tags:
+    - old
+    - previous
+-
+  type: old version
+  name: Foundation 3
+  description: Documentation for Foundation 3.2.5
+  link: 'http://foundation.zurb.com/sites/docs/v/3.2.5/'
+  tags:
+    - old
+    - previous
+-
+  type: old version
+  name: Foundation 4
+  description: Documentation for Foundation 4.3.2
+  link: 'http://foundation.zurb.com/sites/docs/v/4.3.2/index.html'
+  tags:
+    - old
+    - previous
+-
+  type: old version
+  name: Foundation 5
+  description: Documentation for Foundation 5.5.3
+  link: 'http://foundation.zurb.com/sites/docs/v/5.5.3/index.html'
+  tags:
+    - old
+    - previous
diff --git a/libraries/foundation-6/docslink.sh b/libraries/foundation-6/docslink.sh
new file mode 100755
index 00000000..5b69e158
--- /dev/null
+++ b/libraries/foundation-6/docslink.sh
@@ -0,0 +1,3 @@
+# Clones the foundation-docs repo and links it to NPM locally
+git clone https://github.com/zurb/foundation-docs
+npm link ./foundation-docs
diff --git a/libraries/foundation-6/gulp/babel-error.js b/libraries/foundation-6/gulp/babel-error.js
new file mode 100755
index 00000000..9e0a3f0f
--- /dev/null
+++ b/libraries/foundation-6/gulp/babel-error.js
@@ -0,0 +1,16 @@
+var chalk = require('chalk');
+
+module.exports = function(err) {
+  console.log(
+    chalk.red(
+      err.fileName +
+      (
+          err.loc ?
+          '(' + err.loc.line + ',' + err.loc.column + '): ' :
+          ': '
+      )
+    ) +
+    'error Babel: ' + err.message + '\n' +
+    err.codeFrame
+  );
+}
\ No newline at end of file
diff --git a/libraries/foundation-6/gulp/clean.js b/libraries/foundation-6/gulp/clean.js
new file mode 100755
index 00000000..7eaaaacd
--- /dev/null
+++ b/libraries/foundation-6/gulp/clean.js
@@ -0,0 +1,7 @@
+var gulp = require('gulp');
+var rimraf = require('rimraf').sync;
+
+// Erases the dist folder
+gulp.task('clean', function() {
+  rimraf('_build');
+});
diff --git a/libraries/foundation-6/gulp/copy.js b/libraries/foundation-6/gulp/copy.js
new file mode 100755
index 00000000..2cbfb8cf
--- /dev/null
+++ b/libraries/foundation-6/gulp/copy.js
@@ -0,0 +1,13 @@
+var gulp = require('gulp');
+
+var FILES = [
+  'docs/assets/**/*',
+  '!docs/assets/{js,scss}',
+  '!docs/assets/{js,scss}/**/*'
+];
+
+// Copies static assets
+gulp.task('copy', function() {
+  gulp.src(FILES)
+    .pipe(gulp.dest('_build/assets'));
+});
diff --git a/libraries/foundation-6/gulp/customizer.js b/libraries/foundation-6/gulp/customizer.js
new file mode 100755
index 00000000..9d455cf6
--- /dev/null
+++ b/libraries/foundation-6/gulp/customizer.js
@@ -0,0 +1,124 @@
+var addSrc = require('gulp-add-src');
+var babel = require('gulp-babel');
+var concat = require('gulp-concat');
+var cssnano = require('gulp-cssnano');
+var customizer = require('../customizer/lib');
+var File = require('vinyl');
+var fs = require('fs');
+var gulp = require('gulp');
+var If = require('gulp-if');
+var path = require('path');
+var Readable = require('stream').Readable;
+var replace = require('gulp-replace');
+var rename = require('gulp-rename');
+var rimraf = require('rimraf');
+var sass = require('gulp-sass');
+var autoprefixer = require('gulp-autoprefixer');
+var source = require('vinyl-source-stream');
+var touch = require('touch');
+var uglify = require('gulp-uglify');
+var yaml = require('js-yaml').safeLoad;
+var yargs = require('yargs');
+var zip = require('gulp-zip');
+
+var ARGS = require('yargs').argv;
+var FOUNDATION_VERSION = require('../package.json').version;
+var OUTPUT_DIR = ARGS.output || 'custom-build';
+var COMPATIBILITY = [
+  'last 2 versions',
+  'ie >= 9',
+  'and_chr >= 2.3'
+];
+var CUSTOMIZER_CONFIG;
+var MODULE_LIST;
+var VARIABLE_LIST;
+
+// Load the configuration file for the customizer. It's a list of modules to load and Sass variables to override
+gulp.task('customizer:loadConfig', function(done) {
+  fs.readFile('customizer/config.yml', function(err, data) {
+    var moduleListPath = ARGS.modules || '../customizer/complete';
+    var moduleList = require(moduleListPath);
+
+    CUSTOMIZER_CONFIG = yaml(data.toString());
+    MODULE_LIST = moduleList.modules;
+    VARIABLE_LIST = moduleList.variables || {};
+    done();
+  });
+});
+
+// Creates a Sass file from the module/variable list and creates foundation.css and foundation.min.css
+gulp.task('customizer:sass', ['customizer:loadConfig'], function() {
+  var sassFile = customizer.sass(CUSTOMIZER_CONFIG, MODULE_LIST, VARIABLE_LIST);
+
+  // Create a stream with our makeshift Sass file
+  var stream = new Readable({ objectMode: true });
+  stream._read = function() {};
+  stream.push(new File({
+    path: 'foundation.scss',
+    contents: new Buffer(sassFile)
+  }));
+  stream.push(null);
+
+  return stream
+    .pipe(sass({
+      includePaths: [
+        'scss',
+        'node_modules/motion-ui/src'
+      ]
+    }))
+    .pipe(autoprefixer({
+      browsers: COMPATIBILITY
+    }))
+    .pipe(gulp.dest(path.join(OUTPUT_DIR, 'css')))
+    .pipe(cssnano())
+    .pipe(rename('foundation.min.css'))
+    .pipe(gulp.dest(path.join(OUTPUT_DIR, 'css')));
+});
+
+// Creates a Foundation JavaScript file from the module list, and also copies dependencies (jQuery, what-input)
+gulp.task('customizer:javascript', ['customizer:loadConfig'], function() {
+  var jsPaths = customizer.js(CUSTOMIZER_CONFIG, MODULE_LIST);
+
+  return gulp.src(jsPaths)
+    .pipe(babel())
+    .pipe(concat('foundation.js'))
+    .pipe(gulp.dest(path.join(OUTPUT_DIR, 'js/vendor')))
+    .pipe(uglify())
+    .pipe(rename('foundation.min.js'))
+    .pipe(addSrc([
+      'node_modules/jquery/dist/jquery.js',
+      'node_modules/what-input/what-input.js'
+    ]))
+    .pipe(gulp.dest(path.join(OUTPUT_DIR, 'js/vendor')));
+});
+
+// Copies the boilerplate index.html to the custom download folder
+gulp.task('customizer:html', ['customizer:loadConfig'], function() {
+  var rtlEnabled = VARIABLE_LIST['global-text-direction'] && VARIABLE_LIST['global-text-direction'] === 'rtl';
+
+  return gulp.src('customizer/index.html')
+    .pipe(If(rtlEnabled, replace('ltr', 'rtl')))
+    .pipe(gulp.dest(OUTPUT_DIR));
+});
+
+// Creates a custom build by:
+//   - Generating a CSS file
+//   - Generating a JS file
+//   - Copying the index.html file
+//   - Creating a blank app.css file
+//   - Creating an app.js file with Foundation initialization code
+gulp.task('customizer', ['customizer:sass', 'customizer:javascript', 'customizer:html'], function(done) {
+  var outputFolder = path.dirname(OUTPUT_DIR);
+  var outputFileName = path.basename(OUTPUT_DIR);
+
+  touch(path.join(OUTPUT_DIR, 'css/app.css'));
+  touch(path.join(OUTPUT_DIR, 'js/app.js'));
+  fs.writeFileSync(path.join(OUTPUT_DIR, 'js/app.js'), '$(document).foundation()\n');
+
+  gulp.src(path.join(OUTPUT_DIR, '/**/*'))
+    .pipe(zip(path.basename(outputFileName) + '.zip'))
+    .pipe(gulp.dest(outputFolder))
+    .on('finish', function() {
+      rimraf(OUTPUT_DIR, done);
+    });
+});
diff --git a/libraries/foundation-6/gulp/deploy.js b/libraries/foundation-6/gulp/deploy.js
new file mode 100755
index 00000000..ef0c296c
--- /dev/null
+++ b/libraries/foundation-6/gulp/deploy.js
@@ -0,0 +1,164 @@
+var gulp = require('gulp');
+var filter = require('gulp-filter');
+var cssnano = require('gulp-cssnano');
+var rename = require('gulp-rename');
+var uglify = require('gulp-uglify');
+var confirm = require('gulp-prompt').confirm;
+var prompt = require('gulp-prompt').prompt;
+var rsync = require('gulp-rsync');
+var replace = require('gulp-replace');
+var octophant = require('octophant');
+var sequence = require('run-sequence');
+var inquirer = require('inquirer');
+var exec = require('child_process').execSync;
+var plumber = require('gulp-plumber');
+
+var VERSIONED_FILES = [
+  'bower.json',
+  'composer.json',
+  'docs/pages/installation.md',
+  'js/foundation.core.js',
+  'meteor-README.md',
+  'package.js',
+  'package.json',
+  'scss/foundation.scss'
+];
+
+var DIST_FILES = [
+  './_build/assets/css/foundation.css',
+  './_build/assets/css/foundation-flex.css',
+  './_build/assets/css/foundation-rtl.css',
+  '_build/assets/js/foundation.js'
+];
+
+var CURRENT_VERSION = require('../package.json').version;
+var NEXT_VERSION;
+
+gulp.task('deploy', function(cb) {
+  sequence('deploy:prompt', 'deploy:version', 'deploy:dist', 'deploy:plugins', 'deploy:settings', 'deploy:commit', 'deploy:templates', cb);
+});
+
+gulp.task('deploy:prep', function(cb) {
+  sequence('deploy:prompt', 'deploy:version', 'deploy:dist', 'deploy:plugins', 'deploy:settings', cb);
+});
+
+
+gulp.task('deploy:prompt', function(cb) {
+  inquirer.prompt([{
+    type: 'input',
+    name: 'version',
+    message: 'What version are we moving to? (Current version is ' + CURRENT_VERSION + ')'
+  }], function(res) {
+    NEXT_VERSION = res.version;
+    cb();
+  });
+});
+
+// Bumps the version number in any file that has one
+gulp.task('deploy:version', function() {
+  return gulp.src(VERSIONED_FILES, { base: process.cwd() })
+    .pipe(replace(CURRENT_VERSION, NEXT_VERSION))
+    .pipe(gulp.dest('.'));
+});
+
+// Generates compiled CSS and JS files and puts them in the dist/ folder
+gulp.task('deploy:dist', ['sass:foundation', 'javascript:foundation'], function() {
+  var cssFilter = filter(['*.css'], { restore: true });
+  var jsFilter  = filter(['*.js'], { restore: true });
+
+  return gulp.src(DIST_FILES)
+    .pipe(plumber())
+    .pipe(cssFilter)
+      .pipe(gulp.dest('./dist'))
+      .pipe(cssnano())
+      .pipe(rename({ suffix: '.min' }))
+      .pipe(gulp.dest('./dist'))
+    .pipe(cssFilter.restore)
+    .pipe(jsFilter)
+      .pipe(gulp.dest('./dist'))
+      .pipe(uglify())
+      .pipe(rename({ suffix: '.min' }))
+      .pipe(gulp.dest('./dist'));
+});
+
+// Copies standalone JavaScript plugins to dist/ folder
+gulp.task('deploy:plugins', function() {
+  gulp.src('_build/assets/js/plugins/*.js')
+    .pipe(gulp.dest('dist/plugins'));
+});
+
+// Generates a settings file
+gulp.task('deploy:settings', function(cb) {
+  var options = {
+    title: 'Foundation for Sites Settings',
+    output: './scss/settings/_settings.scss',
+    groups: {
+      'grid': 'The Grid',
+      'off-canvas': 'Off-canvas',
+      'typography-base': 'Base Typography'
+    },
+    sort: [
+      'global',
+      'breakpoints',
+      'grid',
+      'typography-base',
+      'typography-helpers'
+    ],
+    imports: ['util/util'],
+    _foundationShim: true
+  }
+
+  octophant('./scss', options, cb);
+});
+
+// Writes a commit with the changes to the version numbers
+gulp.task('deploy:commit', function(cb) {
+  exec('git commit -am "Bump to version "' + NEXT_VERSION);
+  exec('git tag v' + NEXT_VERSION);
+  exec('git push origin develop --follow-tags');
+  cb();
+});
+
+// Uploads the documentation to the live server
+gulp.task('deploy:docs', ['build'], function() {
+  return gulp.src('./_build/**')
+    .pipe(confirm('Make sure everything looks right before you deploy.'))
+    .pipe(rsync({
+      root: './_build',
+      hostname: 'deployer@72.32.134.77',
+      destination: '/home/deployer/sites/foundation-sites-6-docs'
+    }));
+});
+
+// This part of the deploy process hasn't been tested! It should be done manually for now
+gulp.task('deploy:templates', function(done) {
+  // exec('git clone https://github.com/zurb/foundation-sites-template');
+  // exec('cp scss/settings/_settings.scss foundation-sites-template/scss/_settings.scss');
+  // exec('cd foundation-sites-template');
+  // exec('git commit -am "Update settings file to match Foundation "' + NEXT_VERSION);
+  // exec('git push origin master');
+  // exec('cd ..');
+  // exec('rm -rf foundation-sites-template');
+  //
+  // exec('git clone https://github.com/zurb/foundation-zurb-template');
+  // exec('cp scss/settings/_settings.scss foundation-zurb-template/src/assets/scss/_settings.scss');
+  // exec('cd foundation-zurb-template');
+  // exec('git commit -am "Update settings file to match Foundation "' + NEXT_VERSION);
+  // exec('git push origin master');
+  // exec('cd ..');
+  // exec('rm -rf foundation-zurb-template');
+  done();
+});
+
+// The Customizer runs this function to generate files it needs
+gulp.task('deploy:custom', ['sass:foundation', 'javascript:foundation'], function() {
+  gulp.src('./_build/assets/css/foundation.css')
+      .pipe(cssnano())
+      .pipe(rename('foundation.min.css'))
+      .pipe(gulp.dest('./_build/assets/css'));
+
+  return gulp.src('_build/assets/js/foundation.js')
+      .pipe(uglify())
+      .pipe(rename('foundation.min.js'))
+      .pipe(gulp.dest('./_build/assets/js'));
+});
diff --git a/libraries/foundation-6/gulp/docs.js b/libraries/foundation-6/gulp/docs.js
new file mode 100755
index 00000000..7db0efcc
--- /dev/null
+++ b/libraries/foundation-6/gulp/docs.js
@@ -0,0 +1,76 @@
+var cacheBust = require('gulp-cache-bust');
+var foundationDocs = require('foundation-docs');
+var gulp = require('gulp');
+var newer = require('gulp-newer');
+var panini = require('panini');
+var supercollider = require('supercollider');
+
+var PANINI_CONFIG = {
+  root: 'docs/pages/',
+  layouts: 'docs/layout/',
+  partials: 'docs/partials/',
+  helpers: foundationDocs.handlebarsHelpers,
+}
+
+var SEARCH_SORT_ORDER = ['page', 'component', 'sass variable', 'sass mixin', 'sass function', 'js class', 'js function', 'js plugin option', 'js event'];
+
+var SEARCH_PAGE_TYPES = {
+  'library': function(item) {
+    return !!(item.library);
+  }
+}
+
+supercollider
+  .config({
+    template: foundationDocs.componentTemplate,
+    marked: foundationDocs.marked,
+    handlebars: foundationDocs.handlebars,
+    keepFm: true,
+    quiet: false,
+    pageRoot: 'docs/pages',
+    data: {
+      repoName: 'foundation-sites',
+      editBranch: 'master'
+    }
+  })
+  .searchConfig({
+    extra: 'docs/search.yml',
+    sort: SEARCH_SORT_ORDER,
+    pageTypes: SEARCH_PAGE_TYPES
+  })
+  .adapter('sass')
+  .adapter('js');
+
+// Assembles the layout, pages, and partials in the docs folder
+gulp.task('docs', function() {
+  return gulp.src('docs/pages/**/*')
+    .pipe(newer({
+      dest: '_build',
+      ext: '.html'
+    }))
+    .pipe(supercollider.init())
+    .pipe(panini(PANINI_CONFIG))
+    .pipe(cacheBust())
+    .pipe(gulp.dest('_build'))
+    .on('finish', buildSearch);
+});
+
+gulp.task('docs:all', function() {
+  panini.refresh();
+
+  return gulp.src('docs/pages/**/*')
+    .pipe(supercollider.init())
+    .pipe(panini(PANINI_CONFIG))
+    .pipe(cacheBust())
+    .pipe(gulp.dest('_build'))
+    .on('finish', buildSearch);
+});
+
+function buildSearch() {
+  supercollider.buildSearch('_build/data/search.json', function() {});
+}
+
+gulp.task('docs:debug', ['docs:all'], function(cb) {
+  var output = JSON.stringify(supercollider.tree, null, '  ');
+  require('fs').writeFile('./_debug.json', output, cb);
+});
diff --git a/libraries/foundation-6/gulp/javascript.js b/libraries/foundation-6/gulp/javascript.js
new file mode 100755
index 00000000..51e08915
--- /dev/null
+++ b/libraries/foundation-6/gulp/javascript.js
@@ -0,0 +1,48 @@
+var gulp = require('gulp');
+var concat = require('gulp-concat');
+var babel = require('gulp-babel');
+var onBabelError = require('./babel-error.js');
+
+var FOUNDATION = [
+  'js/foundation.core.js',
+  'js/foundation.util.*.js',
+  'js/*.js'
+];
+
+var DEPS = [
+  'node_modules/jquery/dist/jquery.js',
+  'node_modules/motion-ui/dist/motion-ui.js',
+  'node_modules/what-input/what-input.js'
+];
+
+var DOCS = [
+  'node_modules/clipboard/dist/clipboard.js',
+  'node_modules/corejs-typeahead/dist/typeahead.bundle.js',
+  'node_modules/foundation-docs/js/**/*.js',
+  'docs/assets/js/docs.*.js',
+  'docs/assets/js/docs.js'
+];
+
+// Compiles JavaScript into a single file
+gulp.task('javascript', ['javascript:foundation', 'javascript:deps', 'javascript:docs']);
+
+gulp.task('javascript:foundation', function() {
+  return gulp.src(FOUNDATION)
+    .pipe(babel()
+      .on('error', onBabelError))
+    .pipe(gulp.dest('_build/assets/js/plugins'))
+    .pipe(concat('foundation.js'))
+    .pipe(gulp.dest('_build/assets/js'));
+});
+
+gulp.task('javascript:deps', function() {
+  return gulp.src(DEPS)
+    .pipe(concat('vendor.js'))
+    .pipe(gulp.dest('_build/assets/js'));
+});
+
+gulp.task('javascript:docs', function() {
+  return gulp.src(DOCS)
+    .pipe(concat('docs.js'))
+    .pipe(gulp.dest('_build/assets/js'));
+});
diff --git a/libraries/foundation-6/gulp/lint.js b/libraries/foundation-6/gulp/lint.js
new file mode 100755
index 00000000..b1a817ff
--- /dev/null
+++ b/libraries/foundation-6/gulp/lint.js
@@ -0,0 +1,27 @@
+var gulp = require('gulp');
+var scssLint = require('gulp-scss-lint');
+var eslint = require('gulp-eslint');
+
+var PATHS = [
+  'scss/**/*.scss',
+  '!scss/vendor/**/*.scss',
+  '!scss/components_old/**/*.scss'
+];
+
+// Lints Sass and JavaScript files for formatting issues
+gulp.task('lint', ['lint:sass', 'lint:javascript']);
+
+gulp.task('lint:sass', function() {
+  return gulp.src(PATHS)
+    .pipe(scssLint());
+});
+
+gulp.task('lint:javascript', function () {
+    return gulp.src(['js/*.js'])
+        .pipe(eslint({
+        	useEslintrc: true,
+        	configFile: '.eslintrc'
+        }))
+        .pipe(eslint.format())
+        .pipe(eslint.failAfterError());
+});
diff --git a/libraries/foundation-6/gulp/sass.js b/libraries/foundation-6/gulp/sass.js
new file mode 100755
index 00000000..6443c050
--- /dev/null
+++ b/libraries/foundation-6/gulp/sass.js
@@ -0,0 +1,71 @@
+'use strict';
+
+var fs = require('fs');
+var gulp = require('gulp');
+var Parker = require('parker/lib/Parker');
+var prettyJSON = require('prettyjson');
+var sass = require('gulp-sass');
+var autoprefixer = require('gulp-autoprefixer');
+var plumber = require('gulp-plumber');
+var sourcemaps = require('gulp-sourcemaps');
+var scssLint = require('gulp-scss-lint');
+
+var PATHS = [
+  'scss',
+  'node_modules/motion-ui/src',
+  'node_modules/foundation-docs/scss'
+];
+
+var LINT_PATHS = [
+  'scss/**/*.scss',
+  '!scss/vendor/**/*.scss'
+];
+
+var COMPATIBILITY = [
+  'last 2 versions',
+  'ie >= 9',
+  'Android >= 2.3'
+];
+
+// Compiles Sass files into CSS
+gulp.task('sass', ['sass:foundation', 'sass:docs']);
+
+// Compiles Foundation Sass
+gulp.task('sass:foundation', function() {
+  return gulp.src(['assets/*'])
+    .pipe(sourcemaps.init())
+    .pipe(plumber())
+    .pipe(sass().on('error', sass.logError))
+    .pipe(autoprefixer({
+      browsers: COMPATIBILITY
+    }))
+    .pipe(sourcemaps.write('.'))
+    .pipe(gulp.dest('_build/assets/css'))
+    .on('finish', function() {
+      gulp.src(LINT_PATHS).pipe(scssLint())
+    });
+});
+
+// Compiles docs Sass (includes Foundation code also)
+gulp.task('sass:docs', function() {
+  return gulp.src('docs/assets/scss/docs.scss')
+    .pipe(sourcemaps.init())
+    .pipe(sass({
+      includePaths: PATHS
+    }).on('error', sass.logError))
+    .pipe(autoprefixer({
+      browsers: COMPATIBILITY
+    }))
+    .pipe(sourcemaps.write('.'))
+    .pipe(gulp.dest('_build/assets/css'));
+});
+
+// Audits CSS filesize, selector count, specificity, etc.
+gulp.task('sass:audit', ['sass:foundation'], function(cb) {
+  fs.readFile('./_build/assets/css/foundation.css', function(err, data) {
+    var parker = new Parker(require('parker/metrics/All'));
+    var results = parker.run(data.toString());
+    console.log(prettyJSON.render(results));
+    cb();
+  });
+});
diff --git a/libraries/foundation-6/gulp/test.js b/libraries/foundation-6/gulp/test.js
new file mode 100755
index 00000000..ef1738aa
--- /dev/null
+++ b/libraries/foundation-6/gulp/test.js
@@ -0,0 +1,43 @@
+var gulp = require('gulp');
+var opener = require('opener');
+var mocha = require('gulp-mocha');
+var browser = require('browser-sync');
+var concat = require('gulp-concat');
+var babel = require('gulp-babel');
+var onBabelError = require('./babel-error.js');
+var rimraf = require('rimraf').sync;
+
+var JSTESTS = [
+  'test/javascript/components/**/*.js',
+  'test/javascript/util/**/*.js'
+];
+
+// Runs unit tests
+gulp.task('test', ['sass:foundation', 'test:transpile-js', 'watch'], function() {
+  browser.init({
+    server: { 
+      baseDir: 'test/visual',
+      directory: true,
+      routes: {
+        "/assets": "_build/assets",
+        "/motion-ui": "node_modules/motion-ui"
+      }
+    }
+  });
+  gulp.watch(['test/visual/**/*'], ['test:reload']);
+});
+
+gulp.task('test:reload', function(done) {
+  browser.reload();
+  done();
+});
+
+gulp.task('test:transpile-js', ['javascript:foundation', 'javascript:deps'], function() {
+  rimraf('test/javascript/js-tests.js');
+  
+  return gulp.src(JSTESTS)
+  	.pipe(babel()
+  		.on('error', onBabelError))
+  	.pipe(concat('js-tests.js'))
+  	.pipe(gulp.dest('test/javascript'));
+});
diff --git a/libraries/foundation-6/gulpfile.js b/libraries/foundation-6/gulpfile.js
new file mode 100755
index 00000000..f090b5a1
--- /dev/null
+++ b/libraries/foundation-6/gulpfile.js
@@ -0,0 +1,27 @@
+var gulp = require('gulp');
+var browser = require('browser-sync');
+var requireDir = require('require-dir');
+var port = process.env.SERVER_PORT || 3000;
+
+requireDir('./gulp');
+
+// Builds the documentation and framework files
+gulp.task('build', ['clean', 'copy', 'docs:all', 'sass', 'javascript']);
+
+// Starts a BrowerSync instance
+gulp.task('serve', ['build'], function(){
+  browser.init({server: './_build', port: port});
+});
+
+// Watch files for changes
+gulp.task('watch', function() {
+  gulp.watch('docs/**/*', ['docs', browser.reload]);
+  gulp.watch(['docs/layout/*.html', 'docs/partials/*.html', 'docs/assets/partials/*.html'], ['docs:all', browser.reload]);
+  gulp.watch('scss/**/*', ['sass', browser.reload]);
+  gulp.watch(['docs/assets/scss/**/*', 'foundation-docs/scss/**/*'], ['sass:docs', browser.reload]);
+  gulp.watch('js/**/*', ['javascript:foundation', browser.reload]);
+  gulp.watch('docs/assets/js/**/*', ['javascript:docs', browser.reload]);
+});
+
+// Runs all of the above tasks and then waits for files to change
+gulp.task('default', ['serve', 'watch']);
diff --git a/libraries/foundation-6/js/app.js b/libraries/foundation-6/js/app.js
deleted file mode 100644
index 5b80fd13..00000000
--- a/libraries/foundation-6/js/app.js
+++ /dev/null
@@ -1 +0,0 @@
-$(document).foundation()
diff --git a/libraries/foundation-6/js/foundation.abide.js b/libraries/foundation-6/js/foundation.abide.js
new file mode 100755
index 00000000..5c8750da
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.abide.js
@@ -0,0 +1,543 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Abide module.
+ * @module foundation.abide
+ */
+
+class Abide {
+  /**
+   * Creates a new instance of Abide.
+   * @class
+   * @fires Abide#init
+   * @param {Object} element - jQuery object to add the trigger to.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options = {}) {
+    this.$element = element;
+    this.options  = $.extend({}, Abide.defaults, this.$element.data(), options);
+
+    this._init();
+
+    Foundation.registerPlugin(this, 'Abide');
+  }
+
+  /**
+   * Initializes the Abide plugin and calls functions to get Abide functioning on load.
+   * @private
+   */
+  _init() {
+    this.$inputs = this.$element.find('input, textarea, select');
+
+    this._events();
+  }
+
+  /**
+   * Initializes events for Abide.
+   * @private
+   */
+  _events() {
+    this.$element.off('.abide')
+      .on('reset.zf.abide', () => {
+        this.resetForm();
+      })
+      .on('submit.zf.abide', () => {
+        return this.validateForm();
+      });
+
+    if (this.options.validateOn === 'fieldChange') {
+      this.$inputs
+        .off('change.zf.abide')
+        .on('change.zf.abide', (e) => {
+          this.validateInput($(e.target));
+        });
+    }
+
+    if (this.options.liveValidate) {
+      this.$inputs
+        .off('input.zf.abide')
+        .on('input.zf.abide', (e) => {
+          this.validateInput($(e.target));
+        });
+    }
+  }
+
+  /**
+   * Calls necessary functions to update Abide upon DOM change
+   * @private
+   */
+  _reflow() {
+    this._init();
+  }
+
+  /**
+   * Checks whether or not a form element has the required attribute and if it's checked or not
+   * @param {Object} element - jQuery object to check for required attribute
+   * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
+   */
+  requiredCheck($el) {
+    if (!$el.attr('required')) return true;
+
+    var isGood = true;
+
+    switch ($el[0].type) {
+      case 'checkbox':
+        isGood = $el[0].checked;
+        break;
+
+      case 'select':
+      case 'select-one':
+      case 'select-multiple':
+        var opt = $el.find('option:selected');
+        if (!opt.length || !opt.val()) isGood = false;
+        break;
+
+      default:
+        if(!$el.val() || !$el.val().length) isGood = false;
+    }
+
+    return isGood;
+  }
+
+  /**
+   * Based on $el, get the first element with selector in this order:
+   * 1. The element's direct sibling('s).
+   * 3. The element's parent's children.
+   *
+   * This allows for multiple form errors per input, though if none are found, no form errors will be shown.
+   *
+   * @param {Object} $el - jQuery object to use as reference to find the form error selector.
+   * @returns {Object} jQuery object with the selector.
+   */
+  findFormError($el) {
+    var $error = $el.siblings(this.options.formErrorSelector);
+
+    if (!$error.length) {
+      $error = $el.parent().find(this.options.formErrorSelector);
+    }
+
+    return $error;
+  }
+
+  /**
+   * Get the first element in this order:
+   * 2. The <label> with the attribute `[for="someInputId"]`
+   * 3. The `.closest()` <label>
+   *
+   * @param {Object} $el - jQuery object to check for required attribute
+   * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
+   */
+  findLabel($el) {
+    var id = $el[0].id;
+    var $label = this.$element.find(`label[for="${id}"]`);
+
+    if (!$label.length) {
+      return $el.closest('label');
+    }
+
+    return $label;
+  }
+
+  /**
+   * Get the set of labels associated with a set of radio els in this order
+   * 2. The <label> with the attribute `[for="someInputId"]`
+   * 3. The `.closest()` <label>
+   *
+   * @param {Object} $el - jQuery object to check for required attribute
+   * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
+   */
+  findRadioLabels($els) {
+    var labels = $els.map((i, el) => {
+      var id = el.id;
+      var $label = this.$element.find(`label[for="${id}"]`);
+
+      if (!$label.length) {
+        $label = $(el).closest('label');
+      }
+      return $label[0];
+    });
+
+    return $(labels);
+  }
+
+  /**
+   * Adds the CSS error class as specified by the Abide settings to the label, input, and the form
+   * @param {Object} $el - jQuery object to add the class to
+   */
+  addErrorClasses($el) {
+    var $label = this.findLabel($el);
+    var $formError = this.findFormError($el);
+
+    if ($label.length) {
+      $label.addClass(this.options.labelErrorClass);
+    }
+
+    if ($formError.length) {
+      $formError.addClass(this.options.formErrorClass);
+    }
+
+    $el.addClass(this.options.inputErrorClass).attr('data-invalid', '');
+  }
+
+  /**
+   * Remove CSS error classes etc from an entire radio button group
+   * @param {String} groupName - A string that specifies the name of a radio button group
+   *
+   */
+
+  removeRadioErrorClasses(groupName) {
+    var $els = this.$element.find(`:radio[name="${groupName}"]`);
+    var $labels = this.findRadioLabels($els);
+    var $formErrors = this.findFormError($els);
+
+    if ($labels.length) {
+      $labels.removeClass(this.options.labelErrorClass);
+    }
+
+    if ($formErrors.length) {
+      $formErrors.removeClass(this.options.formErrorClass);
+    }
+
+    $els.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');
+
+  }
+
+  /**
+   * Removes CSS error class as specified by the Abide settings from the label, input, and the form
+   * @param {Object} $el - jQuery object to remove the class from
+   */
+  removeErrorClasses($el) {
+    // radios need to clear all of the els
+    if($el[0].type == 'radio') {
+      return this.removeRadioErrorClasses($el.attr('name'));
+    }
+
+    var $label = this.findLabel($el);
+    var $formError = this.findFormError($el);
+
+    if ($label.length) {
+      $label.removeClass(this.options.labelErrorClass);
+    }
+
+    if ($formError.length) {
+      $formError.removeClass(this.options.formErrorClass);
+    }
+
+    $el.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');
+  }
+
+  /**
+   * Goes through a form to find inputs and proceeds to validate them in ways specific to their type
+   * @fires Abide#invalid
+   * @fires Abide#valid
+   * @param {Object} element - jQuery object to validate, should be an HTML input
+   * @returns {Boolean} goodToGo - If the input is valid or not.
+   */
+  validateInput($el) {
+    var clearRequire = this.requiredCheck($el),
+        validated = false,
+        customValidator = true,
+        validator = $el.attr('data-validator'),
+        equalTo = true;
+
+    // don't validate ignored inputs or hidden inputs
+    if ($el.is('[data-abide-ignore]') || $el.is('[type="hidden"]')) {
+      return true;
+    }
+
+    switch ($el[0].type) {
+      case 'radio':
+        validated = this.validateRadio($el.attr('name'));
+        break;
+
+      case 'checkbox':
+        validated = clearRequire;
+        break;
+
+      case 'select':
+      case 'select-one':
+      case 'select-multiple':
+        validated = clearRequire;
+        break;
+
+      default:
+        validated = this.validateText($el);
+    }
+
+    if (validator) {
+      customValidator = this.matchValidation($el, validator, $el.attr('required'));
+    }
+
+    if ($el.attr('data-equalto')) {
+      equalTo = this.options.validators.equalTo($el);
+    }
+
+
+    var goodToGo = [clearRequire, validated, customValidator, equalTo].indexOf(false) === -1;
+    var message = (goodToGo ? 'valid' : 'invalid') + '.zf.abide';
+
+    this[goodToGo ? 'removeErrorClasses' : 'addErrorClasses']($el);
+
+    /**
+     * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`
+     * Trigger includes the DOM element of the input.
+     * @event Abide#valid
+     * @event Abide#invalid
+     */
+    $el.trigger(message, [$el]);
+
+    return goodToGo;
+  }
+
+  /**
+   * Goes through a form and if there are any invalid inputs, it will display the form error element
+   * @returns {Boolean} noError - true if no errors were detected...
+   * @fires Abide#formvalid
+   * @fires Abide#forminvalid
+   */
+  validateForm() {
+    var acc = [];
+    var _this = this;
+
+    this.$inputs.each(function() {
+      acc.push(_this.validateInput($(this)));
+    });
+
+    var noError = acc.indexOf(false) === -1;
+
+    this.$element.find('[data-abide-error]').css('display', (noError ? 'none' : 'block'));
+
+    /**
+     * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.
+     * Trigger includes the element of the form.
+     * @event Abide#formvalid
+     * @event Abide#forminvalid
+     */
+    this.$element.trigger((noError ? 'formvalid' : 'forminvalid') + '.zf.abide', [this.$element]);
+
+    return noError;
+  }
+
+  /**
+   * Determines whether or a not a text input is valid based on the pattern specified in the attribute. If no matching pattern is found, returns true.
+   * @param {Object} $el - jQuery object to validate, should be a text input HTML element
+   * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns
+   * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified
+   */
+  validateText($el, pattern) {
+    // A pattern can be passed to this function, or it will be infered from the input's "pattern" attribute, or it's "type" attribute
+    pattern = (pattern || $el.attr('pattern') || $el.attr('type'));
+    var inputText = $el.val();
+    var valid = false;
+
+    if (inputText.length) {
+      // If the pattern attribute on the element is in Abide's list of patterns, then test that regexp
+      if (this.options.patterns.hasOwnProperty(pattern)) {
+        valid = this.options.patterns[pattern].test(inputText);
+      }
+      // If the pattern name isn't also the type attribute of the field, then test it as a regexp
+      else if (pattern !== $el.attr('type')) {
+        valid = new RegExp(pattern).test(inputText);
+      }
+      else {
+        valid = true;
+      }
+    }
+    // An empty field is valid if it's not required
+    else if (!$el.prop('required')) {
+      valid = true;
+    }
+
+    return valid;
+   }
+
+  /**
+   * Determines whether or a not a radio input is valid based on whether or not it is required and selected. Although the function targets a single `<input>`, it validates by checking the `required` and `checked` properties of all radio buttons in its group.
+   * @param {String} groupName - A string that specifies the name of a radio button group
+   * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)
+   */
+  validateRadio(groupName) {
+    // If at least one radio in the group has the `required` attribute, the group is considered required
+    // Per W3C spec, all radio buttons in a group should have `required`, but we're being nice
+    var $group = this.$element.find(`:radio[name="${groupName}"]`);
+    var valid = false, required = false;
+
+    // For the group to be required, at least one radio needs to be required
+    $group.each((i, e) => {
+      if ($(e).attr('required')) {
+        required = true;
+      }
+    });
+    if(!required) valid=true;
+
+    if (!valid) {
+      // For the group to be valid, at least one radio needs to be checked
+      $group.each((i, e) => {
+        if ($(e).prop('checked')) {
+          valid = true;
+        }
+      });
+    };
+
+    return valid;
+  }
+
+  /**
+   * Determines if a selected input passes a custom validation function. Multiple validations can be used, if passed to the element with `data-validator="foo bar baz"` in a space separated listed.
+   * @param {Object} $el - jQuery input element.
+   * @param {String} validators - a string of function names matching functions in the Abide.options.validators object.
+   * @param {Boolean} required - self explanatory?
+   * @returns {Boolean} - true if validations passed.
+   */
+  matchValidation($el, validators, required) {
+    required = required ? true : false;
+
+    var clear = validators.split(' ').map((v) => {
+      return this.options.validators[v]($el, required, $el.parent());
+    });
+    return clear.indexOf(false) === -1;
+  }
+
+  /**
+   * Resets form inputs and styles
+   * @fires Abide#formreset
+   */
+  resetForm() {
+    var $form = this.$element,
+        opts = this.options;
+
+    $(`.${opts.labelErrorClass}`, $form).not('small').removeClass(opts.labelErrorClass);
+    $(`.${opts.inputErrorClass}`, $form).not('small').removeClass(opts.inputErrorClass);
+    $(`${opts.formErrorSelector}.${opts.formErrorClass}`).removeClass(opts.formErrorClass);
+    $form.find('[data-abide-error]').css('display', 'none');
+    $(':input', $form).not(':button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]').val('').removeAttr('data-invalid');
+    $(':input:radio', $form).not('[data-abide-ignore]').prop('checked',false).removeAttr('data-invalid');
+    $(':input:checkbox', $form).not('[data-abide-ignore]').prop('checked',false).removeAttr('data-invalid');
+    /**
+     * Fires when the form has been reset.
+     * @event Abide#formreset
+     */
+    $form.trigger('formreset.zf.abide', [$form]);
+  }
+
+  /**
+   * Destroys an instance of Abide.
+   * Removes error styles and classes from elements, without resetting their values.
+   */
+  destroy() {
+    var _this = this;
+    this.$element
+      .off('.abide')
+      .find('[data-abide-error]')
+        .css('display', 'none');
+
+    this.$inputs
+      .off('.abide')
+      .each(function() {
+        _this.removeErrorClasses($(this));
+      });
+
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+/**
+ * Default settings for plugin
+ */
+Abide.defaults = {
+  /**
+   * The default event to validate inputs. Checkboxes and radios validate immediately.
+   * Remove or change this value for manual validation.
+   * @option
+   * @example 'fieldChange'
+   */
+  validateOn: 'fieldChange',
+
+  /**
+   * Class to be applied to input labels on failed validation.
+   * @option
+   * @example 'is-invalid-label'
+   */
+  labelErrorClass: 'is-invalid-label',
+
+  /**
+   * Class to be applied to inputs on failed validation.
+   * @option
+   * @example 'is-invalid-input'
+   */
+  inputErrorClass: 'is-invalid-input',
+
+  /**
+   * Class selector to use to target Form Errors for show/hide.
+   * @option
+   * @example '.form-error'
+   */
+  formErrorSelector: '.form-error',
+
+  /**
+   * Class added to Form Errors on failed validation.
+   * @option
+   * @example 'is-visible'
+   */
+  formErrorClass: 'is-visible',
+
+  /**
+   * Set to true to validate text inputs on any value change.
+   * @option
+   * @example false
+   */
+  liveValidate: false,
+
+  patterns: {
+    alpha : /^[a-zA-Z]+$/,
+    alpha_numeric : /^[a-zA-Z0-9]+$/,
+    integer : /^[-+]?\d+$/,
+    number : /^[-+]?\d*(?:[\.\,]\d+)?$/,
+
+    // amex, visa, diners
+    card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,
+    cvv : /^([0-9]){3,4}$/,
+
+    // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
+    email : /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,
+
+    url : /^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,
+    // abc.de
+    domain : /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,
+
+    datetime : /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,
+    // YYYY-MM-DD
+    date : /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,
+    // HH:MM:SS
+    time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,
+    dateISO : /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,
+    // MM/DD/YYYY
+    month_day_year : /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,
+    // DD/MM/YYYY
+    day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,
+
+    // #FFF or #FFFFFF
+    color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
+  },
+
+  /**
+   * Optional validation functions to be used. `equalTo` being the only default included function.
+   * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:
+   * el : The jQuery element to validate.
+   * required : Boolean value of the required attribute be present or not.
+   * parent : The direct parent of the input.
+   * @option
+   */
+  validators: {
+    equalTo: function (el, required, parent) {
+      return $(`#${el.attr('data-equalto')}`).val() === el.val();
+    }
+  }
+}
+
+// Window exports
+Foundation.plugin(Abide, 'Abide');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.accordion.js b/libraries/foundation-6/js/foundation.accordion.js
new file mode 100755
index 00000000..c45172a1
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.accordion.js
@@ -0,0 +1,237 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Accordion module.
+ * @module foundation.accordion
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.motion
+ */
+
+class Accordion {
+  /**
+   * Creates a new instance of an accordion.
+   * @class
+   * @fires Accordion#init
+   * @param {jQuery} element - jQuery object to make into an accordion.
+   * @param {Object} options - a plain object with settings to override the default options.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options = $.extend({}, Accordion.defaults, this.$element.data(), options);
+
+    this._init();
+
+    Foundation.registerPlugin(this, 'Accordion');
+    Foundation.Keyboard.register('Accordion', {
+      'ENTER': 'toggle',
+      'SPACE': 'toggle',
+      'ARROW_DOWN': 'next',
+      'ARROW_UP': 'previous'
+    });
+  }
+
+  /**
+   * Initializes the accordion by animating the preset active pane(s).
+   * @private
+   */
+  _init() {
+    this.$element.attr('role', 'tablist');
+    this.$tabs = this.$element.children('li, [data-accordion-item]');
+
+    this.$tabs.each(function(idx, el) {
+      var $el = $(el),
+          $content = $el.children('[data-tab-content]'),
+          id = $content[0].id || Foundation.GetYoDigits(6, 'accordion'),
+          linkId = el.id || `${id}-label`;
+
+      $el.find('a:first').attr({
+        'aria-controls': id,
+        'role': 'tab',
+        'id': linkId,
+        'aria-expanded': false,
+        'aria-selected': false
+      });
+
+      $content.attr({'role': 'tabpanel', 'aria-labelledby': linkId, 'aria-hidden': true, 'id': id});
+    });
+    var $initActive = this.$element.find('.is-active').children('[data-tab-content]');
+    if($initActive.length){
+      this.down($initActive, true);
+    }
+    this._events();
+  }
+
+  /**
+   * Adds event handlers for items within the accordion.
+   * @private
+   */
+  _events() {
+    var _this = this;
+
+    this.$tabs.each(function() {
+      var $elem = $(this);
+      var $tabContent = $elem.children('[data-tab-content]');
+      if ($tabContent.length) {
+        $elem.children('a').off('click.zf.accordion keydown.zf.accordion')
+               .on('click.zf.accordion', function(e) {
+        // $(this).children('a').on('click.zf.accordion', function(e) {
+          e.preventDefault();
+          if ($elem.hasClass('is-active')) {
+            if(_this.options.allowAllClosed || $elem.siblings().hasClass('is-active')){
+              _this.up($tabContent);
+            }
+          }
+          else {
+            _this.down($tabContent);
+          }
+        }).on('keydown.zf.accordion', function(e){
+          Foundation.Keyboard.handleKey(e, 'Accordion', {
+            toggle: function() {
+              _this.toggle($tabContent);
+            },
+            next: function() {
+              var $a = $elem.next().find('a').focus();
+              if (!_this.options.multiExpand) {
+                $a.trigger('click.zf.accordion')
+              }
+            },
+            previous: function() {
+              var $a = $elem.prev().find('a').focus();
+              if (!_this.options.multiExpand) {
+                $a.trigger('click.zf.accordion')
+              }
+            },
+            handled: function() {
+              e.preventDefault();
+              e.stopPropagation();
+            }
+          });
+        });
+      }
+    });
+  }
+
+  /**
+   * Toggles the selected content pane's open/close state.
+   * @param {jQuery} $target - jQuery object of the pane to toggle.
+   * @function
+   */
+  toggle($target) {
+    if($target.parent().hasClass('is-active')) {
+      if(this.options.allowAllClosed || $target.parent().siblings().hasClass('is-active')){
+        this.up($target);
+      } else { return; }
+    } else {
+      this.down($target);
+    }
+  }
+
+  /**
+   * Opens the accordion tab defined by `$target`.
+   * @param {jQuery} $target - Accordion pane to open.
+   * @param {Boolean} firstTime - flag to determine if reflow should happen.
+   * @fires Accordion#down
+   * @function
+   */
+  down($target, firstTime) {
+    if (!this.options.multiExpand && !firstTime) {
+      var $currentActive = this.$element.children('.is-active').children('[data-tab-content]');
+      if($currentActive.length){
+        this.up($currentActive);
+      }
+    }
+
+    $target
+      .attr('aria-hidden', false)
+      .parent('[data-tab-content]')
+      .addBack()
+      .parent().addClass('is-active');
+
+    $target.slideDown(this.options.slideSpeed, () => {
+      /**
+       * Fires when the tab is done opening.
+       * @event Accordion#down
+       */
+      this.$element.trigger('down.zf.accordion', [$target]);
+    });
+
+    $(`#${$target.attr('aria-labelledby')}`).attr({
+      'aria-expanded': true,
+      'aria-selected': true
+    });
+  }
+
+  /**
+   * Closes the tab defined by `$target`.
+   * @param {jQuery} $target - Accordion tab to close.
+   * @fires Accordion#up
+   * @function
+   */
+  up($target) {
+    var $aunts = $target.parent().siblings(),
+        _this = this;
+    var canClose = this.options.multiExpand ? $aunts.hasClass('is-active') : $target.parent().hasClass('is-active');
+
+    if(!this.options.allowAllClosed && !canClose) {
+      return;
+    }
+
+    // Foundation.Move(this.options.slideSpeed, $target, function(){
+      $target.slideUp(_this.options.slideSpeed, function () {
+        /**
+         * Fires when the tab is done collapsing up.
+         * @event Accordion#up
+         */
+        _this.$element.trigger('up.zf.accordion', [$target]);
+      });
+    // });
+
+    $target.attr('aria-hidden', true)
+           .parent().removeClass('is-active');
+
+    $(`#${$target.attr('aria-labelledby')}`).attr({
+     'aria-expanded': false,
+     'aria-selected': false
+   });
+  }
+
+  /**
+   * Destroys an instance of an accordion.
+   * @fires Accordion#destroyed
+   * @function
+   */
+  destroy() {
+    this.$element.find('[data-tab-content]').stop(true).slideUp(0).css('display', '');
+    this.$element.find('a').off('.zf.accordion');
+
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+Accordion.defaults = {
+  /**
+   * Amount of time to animate the opening of an accordion pane.
+   * @option
+   * @example 250
+   */
+  slideSpeed: 250,
+  /**
+   * Allow the accordion to have multiple open panes.
+   * @option
+   * @example false
+   */
+  multiExpand: false,
+  /**
+   * Allow the accordion to close all panes.
+   * @option
+   * @example false
+   */
+  allowAllClosed: false
+};
+
+// Window exports
+Foundation.plugin(Accordion, 'Accordion');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.accordionMenu.js b/libraries/foundation-6/js/foundation.accordionMenu.js
new file mode 100755
index 00000000..663a9819
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.accordionMenu.js
@@ -0,0 +1,274 @@
+'use strict';
+
+!function($) {
+
+/**
+ * AccordionMenu module.
+ * @module foundation.accordionMenu
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.motion
+ * @requires foundation.util.nest
+ */
+
+class AccordionMenu {
+  /**
+   * Creates a new instance of an accordion menu.
+   * @class
+   * @fires AccordionMenu#init
+   * @param {jQuery} element - jQuery object to make into an accordion menu.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options = $.extend({}, AccordionMenu.defaults, this.$element.data(), options);
+
+    Foundation.Nest.Feather(this.$element, 'accordion');
+
+    this._init();
+
+    Foundation.registerPlugin(this, 'AccordionMenu');
+    Foundation.Keyboard.register('AccordionMenu', {
+      'ENTER': 'toggle',
+      'SPACE': 'toggle',
+      'ARROW_RIGHT': 'open',
+      'ARROW_UP': 'up',
+      'ARROW_DOWN': 'down',
+      'ARROW_LEFT': 'close',
+      'ESCAPE': 'closeAll',
+      'TAB': 'down',
+      'SHIFT_TAB': 'up'
+    });
+  }
+
+
+
+  /**
+   * Initializes the accordion menu by hiding all nested menus.
+   * @private
+   */
+  _init() {
+    this.$element.find('[data-submenu]').not('.is-active').slideUp(0);//.find('a').css('padding-left', '1rem');
+    this.$element.attr({
+      'role': 'tablist',
+      'aria-multiselectable': this.options.multiOpen
+    });
+
+    this.$menuLinks = this.$element.find('.is-accordion-submenu-parent');
+    this.$menuLinks.each(function(){
+      var linkId = this.id || Foundation.GetYoDigits(6, 'acc-menu-link'),
+          $elem = $(this),
+          $sub = $elem.children('[data-submenu]'),
+          subId = $sub[0].id || Foundation.GetYoDigits(6, 'acc-menu'),
+          isActive = $sub.hasClass('is-active');
+      $elem.attr({
+        'aria-controls': subId,
+        'aria-expanded': isActive,
+        'role': 'tab',
+        'id': linkId
+      });
+      $sub.attr({
+        'aria-labelledby': linkId,
+        'aria-hidden': !isActive,
+        'role': 'tabpanel',
+        'id': subId
+      });
+    });
+    var initPanes = this.$element.find('.is-active');
+    if(initPanes.length){
+      var _this = this;
+      initPanes.each(function(){
+        _this.down($(this));
+      });
+    }
+    this._events();
+  }
+
+  /**
+   * Adds event handlers for items within the menu.
+   * @private
+   */
+  _events() {
+    var _this = this;
+
+    this.$element.find('li').each(function() {
+      var $submenu = $(this).children('[data-submenu]');
+
+      if ($submenu.length) {
+        $(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function(e) {
+          e.preventDefault();
+
+          _this.toggle($submenu);
+        });
+      }
+    }).on('keydown.zf.accordionmenu', function(e){
+      var $element = $(this),
+          $elements = $element.parent('ul').children('li'),
+          $prevElement,
+          $nextElement,
+          $target = $element.children('[data-submenu]');
+
+      $elements.each(function(i) {
+        if ($(this).is($element)) {
+          $prevElement = $elements.eq(Math.max(0, i-1)).find('a').first();
+          $nextElement = $elements.eq(Math.min(i+1, $elements.length-1)).find('a').first();
+
+          if ($(this).children('[data-submenu]:visible').length) { // has open sub menu
+            $nextElement = $element.find('li:first-child').find('a').first();
+          }
+          if ($(this).is(':first-child')) { // is first element of sub menu
+            $prevElement = $element.parents('li').first().find('a').first();
+          } else if ($prevElement.children('[data-submenu]:visible').length) { // if previous element has open sub menu
+            $prevElement = $prevElement.find('li:last-child').find('a').first();
+          }
+          if ($(this).is(':last-child')) { // is last element of sub menu
+            $nextElement = $element.parents('li').first().next('li').find('a').first();
+          }
+
+          return;
+        }
+      });
+      Foundation.Keyboard.handleKey(e, 'AccordionMenu', {
+        open: function() {
+          if ($target.is(':hidden')) {
+            _this.down($target);
+            $target.find('li').first().find('a').first().focus();
+          }
+        },
+        close: function() {
+          if ($target.length && !$target.is(':hidden')) { // close active sub of this item
+            _this.up($target);
+          } else if ($element.parent('[data-submenu]').length) { // close currently open sub
+            _this.up($element.parent('[data-submenu]'));
+            $element.parents('li').first().find('a').first().focus();
+          }
+        },
+        up: function() {
+          $prevElement.attr('tabindex', -1).focus();
+          return true;
+        },
+        down: function() {
+          $nextElement.attr('tabindex', -1).focus();
+          return true;
+        },
+        toggle: function() {
+          if ($element.children('[data-submenu]').length) {
+            _this.toggle($element.children('[data-submenu]'));
+          }
+        },
+        closeAll: function() {
+          _this.hideAll();
+        },
+        handled: function(preventDefault) {
+          if (preventDefault) {
+            e.preventDefault();
+          }
+          e.stopImmediatePropagation();
+        }
+      });
+    });//.attr('tabindex', 0);
+  }
+
+  /**
+   * Closes all panes of the menu.
+   * @function
+   */
+  hideAll() {
+    this.$element.find('[data-submenu]').slideUp(this.options.slideSpeed);
+  }
+
+  /**
+   * Toggles the open/close state of a submenu.
+   * @function
+   * @param {jQuery} $target - the submenu to toggle
+   */
+  toggle($target){
+    if(!$target.is(':animated')) {
+      if (!$target.is(':hidden')) {
+        this.up($target);
+      }
+      else {
+        this.down($target);
+      }
+    }
+  }
+
+  /**
+   * Opens the sub-menu defined by `$target`.
+   * @param {jQuery} $target - Sub-menu to open.
+   * @fires AccordionMenu#down
+   */
+  down($target) {
+    var _this = this;
+
+    if(!this.options.multiOpen) {
+      this.up(this.$element.find('.is-active').not($target.parentsUntil(this.$element).add($target)));
+    }
+
+    $target.addClass('is-active').attr({'aria-hidden': false})
+      .parent('.is-accordion-submenu-parent').attr({'aria-expanded': true});
+
+      //Foundation.Move(this.options.slideSpeed, $target, function() {
+        $target.slideDown(_this.options.slideSpeed, function () {
+          /**
+           * Fires when the menu is done opening.
+           * @event AccordionMenu#down
+           */
+          _this.$element.trigger('down.zf.accordionMenu', [$target]);
+        });
+      //});
+  }
+
+  /**
+   * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.
+   * @param {jQuery} $target - Sub-menu to close.
+   * @fires AccordionMenu#up
+   */
+  up($target) {
+    var _this = this;
+    //Foundation.Move(this.options.slideSpeed, $target, function(){
+      $target.slideUp(_this.options.slideSpeed, function () {
+        /**
+         * Fires when the menu is done collapsing up.
+         * @event AccordionMenu#up
+         */
+        _this.$element.trigger('up.zf.accordionMenu', [$target]);
+      });
+    //});
+
+    var $menus = $target.find('[data-submenu]').slideUp(0).addBack().attr('aria-hidden', true);
+
+    $menus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false);
+  }
+
+  /**
+   * Destroys an instance of accordion menu.
+   * @fires AccordionMenu#destroyed
+   */
+  destroy() {
+    this.$element.find('[data-submenu]').slideDown(0).css('display', '');
+    this.$element.find('a').off('click.zf.accordionMenu');
+
+    Foundation.Nest.Burn(this.$element, 'accordion');
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+AccordionMenu.defaults = {
+  /**
+   * Amount of time to animate the opening of a submenu in ms.
+   * @option
+   * @example 250
+   */
+  slideSpeed: 250,
+  /**
+   * Allow the menu to have multiple open panes.
+   * @option
+   * @example true
+   */
+  multiOpen: true
+};
+
+// Window exports
+Foundation.plugin(AccordionMenu, 'AccordionMenu');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.core.js b/libraries/foundation-6/js/foundation.core.js
new file mode 100755
index 00000000..32134963
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.core.js
@@ -0,0 +1,378 @@
+!function($) {
+
+"use strict";
+
+var FOUNDATION_VERSION = '6.2.3';
+
+// Global Foundation object
+// This is attached to the window, or used as a module for AMD/Browserify
+var Foundation = {
+  version: FOUNDATION_VERSION,
+
+  /**
+   * Stores initialized plugins.
+   */
+  _plugins: {},
+
+  /**
+   * Stores generated unique ids for plugin instances
+   */
+  _uuids: [],
+
+  /**
+   * Returns a boolean for RTL support
+   */
+  rtl: function(){
+    return $('html').attr('dir') === 'rtl';
+  },
+  /**
+   * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.
+   * @param {Object} plugin - The constructor of the plugin.
+   */
+  plugin: function(plugin, name) {
+    // Object key to use when adding to global Foundation object
+    // Examples: Foundation.Reveal, Foundation.OffCanvas
+    var className = (name || functionName(plugin));
+    // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin
+    // Examples: data-reveal, data-off-canvas
+    var attrName  = hyphenate(className);
+
+    // Add to the Foundation object and the plugins list (for reflowing)
+    this._plugins[attrName] = this[className] = plugin;
+  },
+  /**
+   * @function
+   * Populates the _uuids array with pointers to each individual plugin instance.
+   * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.
+   * Also fires the initialization event for each plugin, consolidating repetitive code.
+   * @param {Object} plugin - an instance of a plugin, usually `this` in context.
+   * @param {String} name - the name of the plugin, passed as a camelCased string.
+   * @fires Plugin#init
+   */
+  registerPlugin: function(plugin, name){
+    var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();
+    plugin.uuid = this.GetYoDigits(6, pluginName);
+
+    if(!plugin.$element.attr(`data-${pluginName}`)){ plugin.$element.attr(`data-${pluginName}`, plugin.uuid); }
+    if(!plugin.$element.data('zfPlugin')){ plugin.$element.data('zfPlugin', plugin); }
+          /**
+           * Fires when the plugin has initialized.
+           * @event Plugin#init
+           */
+    plugin.$element.trigger(`init.zf.${pluginName}`);
+
+    this._uuids.push(plugin.uuid);
+
+    return;
+  },
+  /**
+   * @function
+   * Removes the plugins uuid from the _uuids array.
+   * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.
+   * Also fires the destroyed event for the plugin, consolidating repetitive code.
+   * @param {Object} plugin - an instance of a plugin, usually `this` in context.
+   * @fires Plugin#destroyed
+   */
+  unregisterPlugin: function(plugin){
+    var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));
+
+    this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);
+    plugin.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin')
+          /**
+           * Fires when the plugin has been destroyed.
+           * @event Plugin#destroyed
+           */
+          .trigger(`destroyed.zf.${pluginName}`);
+    for(var prop in plugin){
+      plugin[prop] = null;//clean up script to prep for garbage collection.
+    }
+    return;
+  },
+
+  /**
+   * @function
+   * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.
+   * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`
+   * @default If no argument is passed, reflow all currently active plugins.
+   */
+   reInit: function(plugins){
+     var isJQ = plugins instanceof $;
+     try{
+       if(isJQ){
+         plugins.each(function(){
+           $(this).data('zfPlugin')._init();
+         });
+       }else{
+         var type = typeof plugins,
+         _this = this,
+         fns = {
+           'object': function(plgs){
+             plgs.forEach(function(p){
+               p = hyphenate(p);
+               $('[data-'+ p +']').foundation('_init');
+             });
+           },
+           'string': function(){
+             plugins = hyphenate(plugins);
+             $('[data-'+ plugins +']').foundation('_init');
+           },
+           'undefined': function(){
+             this['object'](Object.keys(_this._plugins));
+           }
+         };
+         fns[type](plugins);
+       }
+     }catch(err){
+       console.error(err);
+     }finally{
+       return plugins;
+     }
+   },
+
+  /**
+   * returns a random base-36 uid with namespacing
+   * @function
+   * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.
+   * @param {String} namespace - name of plugin to be incorporated in uid, optional.
+   * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.
+   * @returns {String} - unique id
+   */
+  GetYoDigits: function(length, namespace){
+    length = length || 6;
+    return Math.round((Math.pow(36, length + 1) - Math.random() * Math.pow(36, length))).toString(36).slice(1) + (namespace ? `-${namespace}` : '');
+  },
+  /**
+   * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.
+   * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.
+   * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.
+   */
+  reflow: function(elem, plugins) {
+
+    // If plugins is undefined, just grab everything
+    if (typeof plugins === 'undefined') {
+      plugins = Object.keys(this._plugins);
+    }
+    // If plugins is a string, convert it to an array with one item
+    else if (typeof plugins === 'string') {
+      plugins = [plugins];
+    }
+
+    var _this = this;
+
+    // Iterate through each plugin
+    $.each(plugins, function(i, name) {
+      // Get the current plugin
+      var plugin = _this._plugins[name];
+
+      // Localize the search to all elements inside elem, as well as elem itself, unless elem === document
+      var $elem = $(elem).find('[data-'+name+']').addBack('[data-'+name+']');
+
+      // For each plugin found, initialize it
+      $elem.each(function() {
+        var $el = $(this),
+            opts = {};
+        // Don't double-dip on plugins
+        if ($el.data('zfPlugin')) {
+          console.warn("Tried to initialize "+name+" on an element that already has a Foundation plugin.");
+          return;
+        }
+
+        if($el.attr('data-options')){
+          var thing = $el.attr('data-options').split(';').forEach(function(e, i){
+            var opt = e.split(':').map(function(el){ return el.trim(); });
+            if(opt[0]) opts[opt[0]] = parseValue(opt[1]);
+          });
+        }
+        try{
+          $el.data('zfPlugin', new plugin($(this), opts));
+        }catch(er){
+          console.error(er);
+        }finally{
+          return;
+        }
+      });
+    });
+  },
+  getFnName: functionName,
+  transitionend: function($elem){
+    var transitions = {
+      'transition': 'transitionend',
+      'WebkitTransition': 'webkitTransitionEnd',
+      'MozTransition': 'transitionend',
+      'OTransition': 'otransitionend'
+    };
+    var elem = document.createElement('div'),
+        end;
+
+    for (var t in transitions){
+      if (typeof elem.style[t] !== 'undefined'){
+        end = transitions[t];
+      }
+    }
+    if(end){
+      return end;
+    }else{
+      end = setTimeout(function(){
+        $elem.triggerHandler('transitionend', [$elem]);
+      }, 1);
+      return 'transitionend';
+    }
+  }
+};
+
+Foundation.util = {
+  /**
+   * Function for applying a debounce effect to a function call.
+   * @function
+   * @param {Function} func - Function to be called at end of timeout.
+   * @param {Number} delay - Time in ms to delay the call of `func`.
+   * @returns function
+   */
+  throttle: function (func, delay) {
+    var timer = null;
+
+    return function () {
+      var context = this, args = arguments;
+
+      if (timer === null) {
+        timer = setTimeout(function () {
+          func.apply(context, args);
+          timer = null;
+        }, delay);
+      }
+    };
+  }
+};
+
+// TODO: consider not making this a jQuery function
+// TODO: need way to reflow vs. re-initialize
+/**
+ * The Foundation jQuery method.
+ * @param {String|Array} method - An action to perform on the current jQuery object.
+ */
+var foundation = function(method) {
+  var type = typeof method,
+      $meta = $('meta.foundation-mq'),
+      $noJS = $('.no-js');
+
+  if(!$meta.length){
+    $('<meta class="foundation-mq">').appendTo(document.head);
+  }
+  if($noJS.length){
+    $noJS.removeClass('no-js');
+  }
+
+  if(type === 'undefined'){//needs to initialize the Foundation object, or an individual plugin.
+    Foundation.MediaQuery._init();
+    Foundation.reflow(this);
+  }else if(type === 'string'){//an individual method to invoke on a plugin or group of plugins
+    var args = Array.prototype.slice.call(arguments, 1);//collect all the arguments, if necessary
+    var plugClass = this.data('zfPlugin');//determine the class of plugin
+
+    if(plugClass !== undefined && plugClass[method] !== undefined){//make sure both the class and method exist
+      if(this.length === 1){//if there's only one, call it directly.
+          plugClass[method].apply(plugClass, args);
+      }else{
+        this.each(function(i, el){//otherwise loop through the jQuery collection and invoke the method on each
+          plugClass[method].apply($(el).data('zfPlugin'), args);
+        });
+      }
+    }else{//error for no class or no method
+      throw new ReferenceError("We're sorry, '" + method + "' is not an available method for " + (plugClass ? functionName(plugClass) : 'this element') + '.');
+    }
+  }else{//error for invalid argument type
+    throw new TypeError(`We're sorry, ${type} is not a valid parameter. You must use a string representing the method you wish to invoke.`);
+  }
+  return this;
+};
+
+window.Foundation = Foundation;
+$.fn.foundation = foundation;
+
+// Polyfill for requestAnimationFrame
+(function() {
+  if (!Date.now || !window.Date.now)
+    window.Date.now = Date.now = function() { return new Date().getTime(); };
+
+  var vendors = ['webkit', 'moz'];
+  for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
+      var vp = vendors[i];
+      window.requestAnimationFrame = window[vp+'RequestAnimationFrame'];
+      window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame']
+                                 || window[vp+'CancelRequestAnimationFrame']);
+  }
+  if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)
+    || !window.requestAnimationFrame || !window.cancelAnimationFrame) {
+    var lastTime = 0;
+    window.requestAnimationFrame = function(callback) {
+        var now = Date.now();
+        var nextTime = Math.max(lastTime + 16, now);
+        return setTimeout(function() { callback(lastTime = nextTime); },
+                          nextTime - now);
+    };
+    window.cancelAnimationFrame = clearTimeout;
+  }
+  /**
+   * Polyfill for performance.now, required by rAF
+   */
+  if(!window.performance || !window.performance.now){
+    window.performance = {
+      start: Date.now(),
+      now: function(){ return Date.now() - this.start; }
+    };
+  }
+})();
+if (!Function.prototype.bind) {
+  Function.prototype.bind = function(oThis) {
+    if (typeof this !== 'function') {
+      // closest thing possible to the ECMAScript 5
+      // internal IsCallable function
+      throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');
+    }
+
+    var aArgs   = Array.prototype.slice.call(arguments, 1),
+        fToBind = this,
+        fNOP    = function() {},
+        fBound  = function() {
+          return fToBind.apply(this instanceof fNOP
+                 ? this
+                 : oThis,
+                 aArgs.concat(Array.prototype.slice.call(arguments)));
+        };
+
+    if (this.prototype) {
+      // native functions don't have a prototype
+      fNOP.prototype = this.prototype;
+    }
+    fBound.prototype = new fNOP();
+
+    return fBound;
+  };
+}
+// Polyfill to get the name of a function in IE9
+function functionName(fn) {
+  if (Function.prototype.name === undefined) {
+    var funcNameRegex = /function\s([^(]{1,})\(/;
+    var results = (funcNameRegex).exec((fn).toString());
+    return (results && results.length > 1) ? results[1].trim() : "";
+  }
+  else if (fn.prototype === undefined) {
+    return fn.constructor.name;
+  }
+  else {
+    return fn.prototype.constructor.name;
+  }
+}
+function parseValue(str){
+  if(/true/.test(str)) return true;
+  else if(/false/.test(str)) return false;
+  else if(!isNaN(str * 1)) return parseFloat(str);
+  return str;
+}
+// Convert PascalCase to kebab-case
+// Thank you: http://stackoverflow.com/a/8955580
+function hyphenate(str) {
+  return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
+}
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.drilldown.js b/libraries/foundation-6/js/foundation.drilldown.js
new file mode 100755
index 00000000..ca209de5
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.drilldown.js
@@ -0,0 +1,369 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Drilldown module.
+ * @module foundation.drilldown
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.motion
+ * @requires foundation.util.nest
+ */
+
+class Drilldown {
+  /**
+   * Creates a new instance of a drilldown menu.
+   * @class
+   * @param {jQuery} element - jQuery object to make into an accordion menu.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options = $.extend({}, Drilldown.defaults, this.$element.data(), options);
+
+    Foundation.Nest.Feather(this.$element, 'drilldown');
+
+    this._init();
+
+    Foundation.registerPlugin(this, 'Drilldown');
+    Foundation.Keyboard.register('Drilldown', {
+      'ENTER': 'open',
+      'SPACE': 'open',
+      'ARROW_RIGHT': 'next',
+      'ARROW_UP': 'up',
+      'ARROW_DOWN': 'down',
+      'ARROW_LEFT': 'previous',
+      'ESCAPE': 'close',
+      'TAB': 'down',
+      'SHIFT_TAB': 'up'
+    });
+  }
+
+  /**
+   * Initializes the drilldown by creating jQuery collections of elements
+   * @private
+   */
+  _init() {
+    this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a');
+    this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]');
+    this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'menuitem').find('a');
+
+    this._prepareMenu();
+
+    this._keyboardEvents();
+  }
+
+  /**
+   * prepares drilldown menu by setting attributes to links and elements
+   * sets a min height to prevent content jumping
+   * wraps the element if not already wrapped
+   * @private
+   * @function
+   */
+  _prepareMenu() {
+    var _this = this;
+    // if(!this.options.holdOpen){
+    //   this._menuLinkEvents();
+    // }
+    this.$submenuAnchors.each(function(){
+      var $link = $(this);
+      var $sub = $link.parent();
+      if(_this.options.parentLink){
+        $link.clone().prependTo($sub.children('[data-submenu]')).wrap('<li class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="menu-item"></li>');
+      }
+      $link.data('savedHref', $link.attr('href')).removeAttr('href');
+      $link.children('[data-submenu]')
+          .attr({
+            'aria-hidden': true,
+            'tabindex': 0,
+            'role': 'menu'
+          });
+      _this._events($link);
+    });
+    this.$submenus.each(function(){
+      var $menu = $(this),
+          $back = $menu.find('.js-drilldown-back');
+      if(!$back.length){
+        $menu.prepend(_this.options.backButton);
+      }
+      _this._back($menu);
+    });
+    if(!this.$element.parent().hasClass('is-drilldown')){
+      this.$wrapper = $(this.options.wrapper).addClass('is-drilldown');
+      this.$wrapper = this.$element.wrap(this.$wrapper).parent().css(this._getMaxDims());
+    }
+  }
+
+  /**
+   * Adds event handlers to elements in the menu.
+   * @function
+   * @private
+   * @param {jQuery} $elem - the current menu item to add handlers to.
+   */
+  _events($elem) {
+    var _this = this;
+
+    $elem.off('click.zf.drilldown')
+    .on('click.zf.drilldown', function(e){
+      if($(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')){
+        e.stopImmediatePropagation();
+        e.preventDefault();
+      }
+
+      // if(e.target !== e.currentTarget.firstElementChild){
+      //   return false;
+      // }
+      _this._show($elem.parent('li'));
+
+      if(_this.options.closeOnClick){
+        var $body = $('body');
+        $body.off('.zf.drilldown').on('click.zf.drilldown', function(e){
+          if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) { return; }
+          e.preventDefault();
+          _this._hideAll();
+          $body.off('.zf.drilldown');
+        });
+      }
+    });
+  }
+
+  /**
+   * Adds keydown event listener to `li`'s in the menu.
+   * @private
+   */
+  _keyboardEvents() {
+    var _this = this;
+
+    this.$menuItems.add(this.$element.find('.js-drilldown-back > a')).on('keydown.zf.drilldown', function(e){
+
+      var $element = $(this),
+          $elements = $element.parent('li').parent('ul').children('li').children('a'),
+          $prevElement,
+          $nextElement;
+
+      $elements.each(function(i) {
+        if ($(this).is($element)) {
+          $prevElement = $elements.eq(Math.max(0, i-1));
+          $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));
+          return;
+        }
+      });
+
+      Foundation.Keyboard.handleKey(e, 'Drilldown', {
+        next: function() {
+          if ($element.is(_this.$submenuAnchors)) {
+            _this._show($element.parent('li'));
+            $element.parent('li').one(Foundation.transitionend($element), function(){
+              $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();
+            });
+            return true;
+          }
+        },
+        previous: function() {
+          _this._hide($element.parent('li').parent('ul'));
+          $element.parent('li').parent('ul').one(Foundation.transitionend($element), function(){
+            setTimeout(function() {
+              $element.parent('li').parent('ul').parent('li').children('a').first().focus();
+            }, 1);
+          });
+          return true;
+        },
+        up: function() {
+          $prevElement.focus();
+          return true;
+        },
+        down: function() {
+          $nextElement.focus();
+          return true;
+        },
+        close: function() {
+          _this._back();
+          //_this.$menuItems.first().focus(); // focus to first element
+        },
+        open: function() {
+          if (!$element.is(_this.$menuItems)) { // not menu item means back button
+            _this._hide($element.parent('li').parent('ul'));
+            $element.parent('li').parent('ul').one(Foundation.transitionend($element), function(){
+              setTimeout(function() {
+                $element.parent('li').parent('ul').parent('li').children('a').first().focus();
+              }, 1);
+            });
+          } else if ($element.is(_this.$submenuAnchors)) {
+            _this._show($element.parent('li'));
+            $element.parent('li').one(Foundation.transitionend($element), function(){
+              $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();
+            });
+          }
+          return true;
+        },
+        handled: function(preventDefault) {
+          if (preventDefault) {
+            e.preventDefault();
+          }
+          e.stopImmediatePropagation();
+        }
+      });
+    }); // end keyboardAccess
+  }
+
+  /**
+   * Closes all open elements, and returns to root menu.
+   * @function
+   * @fires Drilldown#closed
+   */
+  _hideAll() {
+    var $elem = this.$element.find('.is-drilldown-submenu.is-active').addClass('is-closing');
+    $elem.one(Foundation.transitionend($elem), function(e){
+      $elem.removeClass('is-active is-closing');
+    });
+        /**
+         * Fires when the menu is fully closed.
+         * @event Drilldown#closed
+         */
+    this.$element.trigger('closed.zf.drilldown');
+  }
+
+  /**
+   * Adds event listener for each `back` button, and closes open menus.
+   * @function
+   * @fires Drilldown#back
+   * @param {jQuery} $elem - the current sub-menu to add `back` event.
+   */
+  _back($elem) {
+    var _this = this;
+    $elem.off('click.zf.drilldown');
+    $elem.children('.js-drilldown-back')
+      .on('click.zf.drilldown', function(e){
+        e.stopImmediatePropagation();
+        // console.log('mouseup on back');
+        _this._hide($elem);
+      });
+  }
+
+  /**
+   * Adds event listener to menu items w/o submenus to close open menus on click.
+   * @function
+   * @private
+   */
+  _menuLinkEvents() {
+    var _this = this;
+    this.$menuItems.not('.is-drilldown-submenu-parent')
+        .off('click.zf.drilldown')
+        .on('click.zf.drilldown', function(e){
+          // e.stopImmediatePropagation();
+          setTimeout(function(){
+            _this._hideAll();
+          }, 0);
+      });
+  }
+
+  /**
+   * Opens a submenu.
+   * @function
+   * @fires Drilldown#open
+   * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.
+   */
+  _show($elem) {
+    $elem.children('[data-submenu]').addClass('is-active');
+    /**
+     * Fires when the submenu has opened.
+     * @event Drilldown#open
+     */
+    this.$element.trigger('open.zf.drilldown', [$elem]);
+  };
+
+  /**
+   * Hides a submenu
+   * @function
+   * @fires Drilldown#hide
+   * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.
+   */
+  _hide($elem) {
+    var _this = this;
+    $elem.addClass('is-closing')
+         .one(Foundation.transitionend($elem), function(){
+           $elem.removeClass('is-active is-closing');
+           $elem.blur();
+         });
+    /**
+     * Fires when the submenu has closed.
+     * @event Drilldown#hide
+     */
+    $elem.trigger('hide.zf.drilldown', [$elem]);
+  }
+
+  /**
+   * Iterates through the nested menus to calculate the min-height, and max-width for the menu.
+   * Prevents content jumping.
+   * @function
+   * @private
+   */
+  _getMaxDims() {
+    var max = 0, result = {};
+    this.$submenus.add(this.$element).each(function(){
+      var numOfElems = $(this).children('li').length;
+      max = numOfElems > max ? numOfElems : max;
+    });
+
+    result['min-height'] = `${max * this.$menuItems[0].getBoundingClientRect().height}px`;
+    result['max-width'] = `${this.$element[0].getBoundingClientRect().width}px`;
+
+    return result;
+  }
+
+  /**
+   * Destroys the Drilldown Menu
+   * @function
+   */
+  destroy() {
+    this._hideAll();
+    Foundation.Nest.Burn(this.$element, 'drilldown');
+    this.$element.unwrap()
+                 .find('.js-drilldown-back, .is-submenu-parent-item').remove()
+                 .end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu')
+                 .end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');
+    this.$submenuAnchors.each(function() {
+      $(this).off('.zf.drilldown');
+    });
+    this.$element.find('a').each(function(){
+      var $link = $(this);
+      if($link.data('savedHref')){
+        $link.attr('href', $link.data('savedHref')).removeData('savedHref');
+      }else{ return; }
+    });
+    Foundation.unregisterPlugin(this);
+  };
+}
+
+Drilldown.defaults = {
+  /**
+   * Markup used for JS generated back button. Prepended to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\`) if copy and pasting.
+   * @option
+   * @example '<\li><\a>Back<\/a><\/li>'
+   */
+  backButton: '<li class="js-drilldown-back"><a tabindex="0">Back</a></li>',
+  /**
+   * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\`) if copy and pasting.
+   * @option
+   * @example '<\div class="is-drilldown"><\/div>'
+   */
+  wrapper: '<div></div>',
+  /**
+   * Adds the parent link to the submenu.
+   * @option
+   * @example false
+   */
+  parentLink: false,
+  /**
+   * Allow the menu to return to root list on body click.
+   * @option
+   * @example false
+   */
+  closeOnClick: false
+  // holdOpen: false
+};
+
+// Window exports
+Foundation.plugin(Drilldown, 'Drilldown');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.dropdown.js b/libraries/foundation-6/js/foundation.dropdown.js
new file mode 100755
index 00000000..5e913fb4
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.dropdown.js
@@ -0,0 +1,409 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Dropdown module.
+ * @module foundation.dropdown
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.box
+ * @requires foundation.util.triggers
+ */
+
+class Dropdown {
+  /**
+   * Creates a new instance of a dropdown.
+   * @class
+   * @param {jQuery} element - jQuery object to make into a dropdown.
+   *        Object should be of the dropdown panel, rather than its anchor.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);
+    this._init();
+
+    Foundation.registerPlugin(this, 'Dropdown');
+    Foundation.Keyboard.register('Dropdown', {
+      'ENTER': 'open',
+      'SPACE': 'open',
+      'ESCAPE': 'close',
+      'TAB': 'tab_forward',
+      'SHIFT_TAB': 'tab_backward'
+    });
+  }
+
+  /**
+   * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.
+   * @function
+   * @private
+   */
+  _init() {
+    var $id = this.$element.attr('id');
+
+    this.$anchor = $(`[data-toggle="${$id}"]`) || $(`[data-open="${$id}"]`);
+    this.$anchor.attr({
+      'aria-controls': $id,
+      'data-is-focus': false,
+      'data-yeti-box': $id,
+      'aria-haspopup': true,
+      'aria-expanded': false
+
+    });
+
+    this.options.positionClass = this.getPositionClass();
+    this.counter = 4;
+    this.usedPositions = [];
+    this.$element.attr({
+      'aria-hidden': 'true',
+      'data-yeti-box': $id,
+      'data-resize': $id,
+      'aria-labelledby': this.$anchor[0].id || Foundation.GetYoDigits(6, 'dd-anchor')
+    });
+    this._events();
+  }
+
+  /**
+   * Helper function to determine current orientation of dropdown pane.
+   * @function
+   * @returns {String} position - string value of a position class.
+   */
+  getPositionClass() {
+    var verticalPosition = this.$element[0].className.match(/(top|left|right|bottom)/g);
+        verticalPosition = verticalPosition ? verticalPosition[0] : '';
+    var horizontalPosition = /float-(\S+)\s/.exec(this.$anchor[0].className);
+        horizontalPosition = horizontalPosition ? horizontalPosition[1] : '';
+    var position = horizontalPosition ? horizontalPosition + ' ' + verticalPosition : verticalPosition;
+    return position;
+  }
+
+  /**
+   * Adjusts the dropdown panes orientation by adding/removing positioning classes.
+   * @function
+   * @private
+   * @param {String} position - position class to remove.
+   */
+  _reposition(position) {
+    this.usedPositions.push(position ? position : 'bottom');
+    //default, try switching to opposite side
+    if(!position && (this.usedPositions.indexOf('top') < 0)){
+      this.$element.addClass('top');
+    }else if(position === 'top' && (this.usedPositions.indexOf('bottom') < 0)){
+      this.$element.removeClass(position);
+    }else if(position === 'left' && (this.usedPositions.indexOf('right') < 0)){
+      this.$element.removeClass(position)
+          .addClass('right');
+    }else if(position === 'right' && (this.usedPositions.indexOf('left') < 0)){
+      this.$element.removeClass(position)
+          .addClass('left');
+    }
+
+    //if default change didn't work, try bottom or left first
+    else if(!position && (this.usedPositions.indexOf('top') > -1) && (this.usedPositions.indexOf('left') < 0)){
+      this.$element.addClass('left');
+    }else if(position === 'top' && (this.usedPositions.indexOf('bottom') > -1) && (this.usedPositions.indexOf('left') < 0)){
+      this.$element.removeClass(position)
+          .addClass('left');
+    }else if(position === 'left' && (this.usedPositions.indexOf('right') > -1) && (this.usedPositions.indexOf('bottom') < 0)){
+      this.$element.removeClass(position);
+    }else if(position === 'right' && (this.usedPositions.indexOf('left') > -1) && (this.usedPositions.indexOf('bottom') < 0)){
+      this.$element.removeClass(position);
+    }
+    //if nothing cleared, set to bottom
+    else{
+      this.$element.removeClass(position);
+    }
+    this.classChanged = true;
+    this.counter--;
+  }
+
+  /**
+   * Sets the position and orientation of the dropdown pane, checks for collisions.
+   * Recursively calls itself if a collision is detected, with a new position class.
+   * @function
+   * @private
+   */
+  _setPosition() {
+    if(this.$anchor.attr('aria-expanded') === 'false'){ return false; }
+    var position = this.getPositionClass(),
+        $eleDims = Foundation.Box.GetDimensions(this.$element),
+        $anchorDims = Foundation.Box.GetDimensions(this.$anchor),
+        _this = this,
+        direction = (position === 'left' ? 'left' : ((position === 'right') ? 'left' : 'top')),
+        param = (direction === 'top') ? 'height' : 'width',
+        offset = (param === 'height') ? this.options.vOffset : this.options.hOffset;
+
+
+
+    if(($eleDims.width >= $eleDims.windowDims.width) || (!this.counter && !Foundation.Box.ImNotTouchingYou(this.$element))){
+      this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({
+        'width': $eleDims.windowDims.width - (this.options.hOffset * 2),
+        'height': 'auto'
+      });
+      this.classChanged = true;
+      return false;
+    }
+
+    this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, position, this.options.vOffset, this.options.hOffset));
+
+    while(!Foundation.Box.ImNotTouchingYou(this.$element, false, true) && this.counter){
+      this._reposition(position);
+      this._setPosition();
+    }
+  }
+
+  /**
+   * Adds event listeners to the element utilizing the triggers utility library.
+   * @function
+   * @private
+   */
+  _events() {
+    var _this = this;
+    this.$element.on({
+      'open.zf.trigger': this.open.bind(this),
+      'close.zf.trigger': this.close.bind(this),
+      'toggle.zf.trigger': this.toggle.bind(this),
+      'resizeme.zf.trigger': this._setPosition.bind(this)
+    });
+
+    if(this.options.hover){
+      this.$anchor.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')
+          .on('mouseenter.zf.dropdown', function(){
+            clearTimeout(_this.timeout);
+            _this.timeout = setTimeout(function(){
+              _this.open();
+              _this.$anchor.data('hover', true);
+            }, _this.options.hoverDelay);
+          }).on('mouseleave.zf.dropdown', function(){
+            clearTimeout(_this.timeout);
+            _this.timeout = setTimeout(function(){
+              _this.close();
+              _this.$anchor.data('hover', false);
+            }, _this.options.hoverDelay);
+          });
+      if(this.options.hoverPane){
+        this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')
+            .on('mouseenter.zf.dropdown', function(){
+              clearTimeout(_this.timeout);
+            }).on('mouseleave.zf.dropdown', function(){
+              clearTimeout(_this.timeout);
+              _this.timeout = setTimeout(function(){
+                _this.close();
+                _this.$anchor.data('hover', false);
+              }, _this.options.hoverDelay);
+            });
+      }
+    }
+    this.$anchor.add(this.$element).on('keydown.zf.dropdown', function(e) {
+
+      var $target = $(this),
+        visibleFocusableElements = Foundation.Keyboard.findFocusable(_this.$element);
+
+      Foundation.Keyboard.handleKey(e, 'Dropdown', {
+        tab_forward: function() {
+          if (_this.$element.find(':focus').is(visibleFocusableElements.eq(-1))) { // left modal downwards, setting focus to first element
+            if (_this.options.trapFocus) { // if focus shall be trapped
+              visibleFocusableElements.eq(0).focus();
+              e.preventDefault();
+            } else { // if focus is not trapped, close dropdown on focus out
+              _this.close();
+            }
+          }
+        },
+        tab_backward: function() {
+          if (_this.$element.find(':focus').is(visibleFocusableElements.eq(0)) || _this.$element.is(':focus')) { // left modal upwards, setting focus to last element
+            if (_this.options.trapFocus) { // if focus shall be trapped
+              visibleFocusableElements.eq(-1).focus();
+              e.preventDefault();
+            } else { // if focus is not trapped, close dropdown on focus out
+              _this.close();
+            }
+          }
+        },
+        open: function() {
+          if ($target.is(_this.$anchor)) {
+            _this.open();
+            _this.$element.attr('tabindex', -1).focus();
+            e.preventDefault();
+          }
+        },
+        close: function() {
+          _this.close();
+          _this.$anchor.focus();
+        }
+      });
+    });
+  }
+
+  /**
+   * Adds an event handler to the body to close any dropdowns on a click.
+   * @function
+   * @private
+   */
+  _addBodyHandler() {
+     var $body = $(document.body).not(this.$element),
+         _this = this;
+     $body.off('click.zf.dropdown')
+          .on('click.zf.dropdown', function(e){
+            if(_this.$anchor.is(e.target) || _this.$anchor.find(e.target).length) {
+              return;
+            }
+            if(_this.$element.find(e.target).length) {
+              return;
+            }
+            _this.close();
+            $body.off('click.zf.dropdown');
+          });
+  }
+
+  /**
+   * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.
+   * @function
+   * @fires Dropdown#closeme
+   * @fires Dropdown#show
+   */
+  open() {
+    // var _this = this;
+    /**
+     * Fires to close other open dropdowns
+     * @event Dropdown#closeme
+     */
+    this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));
+    this.$anchor.addClass('hover')
+        .attr({'aria-expanded': true});
+    // this.$element/*.show()*/;
+    this._setPosition();
+    this.$element.addClass('is-open')
+        .attr({'aria-hidden': false});
+
+    if(this.options.autoFocus){
+      var $focusable = Foundation.Keyboard.findFocusable(this.$element);
+      if($focusable.length){
+        $focusable.eq(0).focus();
+      }
+    }
+
+    if(this.options.closeOnClick){ this._addBodyHandler(); }
+
+    /**
+     * Fires once the dropdown is visible.
+     * @event Dropdown#show
+     */
+    this.$element.trigger('show.zf.dropdown', [this.$element]);
+  }
+
+  /**
+   * Closes the open dropdown pane.
+   * @function
+   * @fires Dropdown#hide
+   */
+  close() {
+    if(!this.$element.hasClass('is-open')){
+      return false;
+    }
+    this.$element.removeClass('is-open')
+        .attr({'aria-hidden': true});
+
+    this.$anchor.removeClass('hover')
+        .attr('aria-expanded', false);
+
+    if(this.classChanged){
+      var curPositionClass = this.getPositionClass();
+      if(curPositionClass){
+        this.$element.removeClass(curPositionClass);
+      }
+      this.$element.addClass(this.options.positionClass)
+          /*.hide()*/.css({height: '', width: ''});
+      this.classChanged = false;
+      this.counter = 4;
+      this.usedPositions.length = 0;
+    }
+    this.$element.trigger('hide.zf.dropdown', [this.$element]);
+  }
+
+  /**
+   * Toggles the dropdown pane's visibility.
+   * @function
+   */
+  toggle() {
+    if(this.$element.hasClass('is-open')){
+      if(this.$anchor.data('hover')) return;
+      this.close();
+    }else{
+      this.open();
+    }
+  }
+
+  /**
+   * Destroys the dropdown.
+   * @function
+   */
+  destroy() {
+    this.$element.off('.zf.trigger').hide();
+    this.$anchor.off('.zf.dropdown');
+
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+Dropdown.defaults = {
+  /**
+   * Amount of time to delay opening a submenu on hover event.
+   * @option
+   * @example 250
+   */
+  hoverDelay: 250,
+  /**
+   * Allow submenus to open on hover events
+   * @option
+   * @example false
+   */
+  hover: false,
+  /**
+   * Don't close dropdown when hovering over dropdown pane
+   * @option
+   * @example true
+   */
+  hoverPane: false,
+  /**
+   * Number of pixels between the dropdown pane and the triggering element on open.
+   * @option
+   * @example 1
+   */
+  vOffset: 1,
+  /**
+   * Number of pixels between the dropdown pane and the triggering element on open.
+   * @option
+   * @example 1
+   */
+  hOffset: 1,
+  /**
+   * Class applied to adjust open position. JS will test and fill this in.
+   * @option
+   * @example 'top'
+   */
+  positionClass: '',
+  /**
+   * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.
+   * @option
+   * @example false
+   */
+  trapFocus: false,
+  /**
+   * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.
+   * @option
+   * @example true
+   */
+  autoFocus: false,
+  /**
+   * Allows a click on the body to close the dropdown.
+   * @option
+   * @example false
+   */
+  closeOnClick: false
+}
+
+// Window exports
+Foundation.plugin(Dropdown, 'Dropdown');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.dropdownMenu.js b/libraries/foundation-6/js/foundation.dropdownMenu.js
new file mode 100755
index 00000000..2bd96276
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.dropdownMenu.js
@@ -0,0 +1,404 @@
+'use strict';
+
+!function($) {
+
+/**
+ * DropdownMenu module.
+ * @module foundation.dropdown-menu
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.box
+ * @requires foundation.util.nest
+ */
+
+class DropdownMenu {
+  /**
+   * Creates a new instance of DropdownMenu.
+   * @class
+   * @fires DropdownMenu#init
+   * @param {jQuery} element - jQuery object to make into a dropdown menu.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options = $.extend({}, DropdownMenu.defaults, this.$element.data(), options);
+
+    Foundation.Nest.Feather(this.$element, 'dropdown');
+    this._init();
+
+    Foundation.registerPlugin(this, 'DropdownMenu');
+    Foundation.Keyboard.register('DropdownMenu', {
+      'ENTER': 'open',
+      'SPACE': 'open',
+      'ARROW_RIGHT': 'next',
+      'ARROW_UP': 'up',
+      'ARROW_DOWN': 'down',
+      'ARROW_LEFT': 'previous',
+      'ESCAPE': 'close'
+    });
+  }
+
+  /**
+   * Initializes the plugin, and calls _prepareMenu
+   * @private
+   * @function
+   */
+  _init() {
+    var subs = this.$element.find('li.is-dropdown-submenu-parent');
+    this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');
+
+    this.$menuItems = this.$element.find('[role="menuitem"]');
+    this.$tabs = this.$element.children('[role="menuitem"]');
+    this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);
+
+    if (this.$element.hasClass(this.options.rightClass) || this.options.alignment === 'right' || Foundation.rtl() || this.$element.parents('.top-bar-right').is('*')) {
+      this.options.alignment = 'right';
+      subs.addClass('opens-left');
+    } else {
+      subs.addClass('opens-right');
+    }
+    this.changed = false;
+    this._events();
+  };
+  /**
+   * Adds event listeners to elements within the menu
+   * @private
+   * @function
+   */
+  _events() {
+    var _this = this,
+        hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined'),
+        parClass = 'is-dropdown-submenu-parent';
+
+    // used for onClick and in the keyboard handlers
+    var handleClickFn = function(e) {
+      var $elem = $(e.target).parentsUntil('ul', `.${parClass}`),
+          hasSub = $elem.hasClass(parClass),
+          hasClicked = $elem.attr('data-is-click') === 'true',
+          $sub = $elem.children('.is-dropdown-submenu');
+
+      if (hasSub) {
+        if (hasClicked) {
+          if (!_this.options.closeOnClick || (!_this.options.clickOpen && !hasTouch) || (_this.options.forceFollow && hasTouch)) { return; }
+          else {
+            e.stopImmediatePropagation();
+            e.preventDefault();
+            _this._hide($elem);
+          }
+        } else {
+          e.preventDefault();
+          e.stopImmediatePropagation();
+          _this._show($elem.children('.is-dropdown-submenu'));
+          $elem.add($elem.parentsUntil(_this.$element, `.${parClass}`)).attr('data-is-click', true);
+        }
+      } else { return; }
+    };
+
+    if (this.options.clickOpen || hasTouch) {
+      this.$menuItems.on('click.zf.dropdownmenu touchstart.zf.dropdownmenu', handleClickFn);
+    }
+
+    if (!this.options.disableHover) {
+      this.$menuItems.on('mouseenter.zf.dropdownmenu', function(e) {
+        var $elem = $(this),
+            hasSub = $elem.hasClass(parClass);
+
+        if (hasSub) {
+          clearTimeout(_this.delay);
+          _this.delay = setTimeout(function() {
+            _this._show($elem.children('.is-dropdown-submenu'));
+          }, _this.options.hoverDelay);
+        }
+      }).on('mouseleave.zf.dropdownmenu', function(e) {
+        var $elem = $(this),
+            hasSub = $elem.hasClass(parClass);
+        if (hasSub && _this.options.autoclose) {
+          if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) { return false; }
+
+          clearTimeout(_this.delay);
+          _this.delay = setTimeout(function() {
+            _this._hide($elem);
+          }, _this.options.closingTime);
+        }
+      });
+    }
+    this.$menuItems.on('keydown.zf.dropdownmenu', function(e) {
+      var $element = $(e.target).parentsUntil('ul', '[role="menuitem"]'),
+          isTab = _this.$tabs.index($element) > -1,
+          $elements = isTab ? _this.$tabs : $element.siblings('li').add($element),
+          $prevElement,
+          $nextElement;
+
+      $elements.each(function(i) {
+        if ($(this).is($element)) {
+          $prevElement = $elements.eq(i-1);
+          $nextElement = $elements.eq(i+1);
+          return;
+        }
+      });
+
+      var nextSibling = function() {
+        if (!$element.is(':last-child')) {
+          $nextElement.children('a:first').focus();
+          e.preventDefault();
+        }
+      }, prevSibling = function() {
+        $prevElement.children('a:first').focus();
+        e.preventDefault();
+      }, openSub = function() {
+        var $sub = $element.children('ul.is-dropdown-submenu');
+        if ($sub.length) {
+          _this._show($sub);
+          $element.find('li > a:first').focus();
+          e.preventDefault();
+        } else { return; }
+      }, closeSub = function() {
+        //if ($element.is(':first-child')) {
+        var close = $element.parent('ul').parent('li');
+        close.children('a:first').focus();
+        _this._hide(close);
+        e.preventDefault();
+        //}
+      };
+      var functions = {
+        open: openSub,
+        close: function() {
+          _this._hide(_this.$element);
+          _this.$menuItems.find('a:first').focus(); // focus to first element
+          e.preventDefault();
+        },
+        handled: function() {
+          e.stopImmediatePropagation();
+        }
+      };
+
+      if (isTab) {
+        if (_this.$element.hasClass(_this.options.verticalClass)) { // vertical menu
+          if (_this.options.alignment === 'left') { // left aligned
+            $.extend(functions, {
+              down: nextSibling,
+              up: prevSibling,
+              next: openSub,
+              previous: closeSub
+            });
+          } else { // right aligned
+            $.extend(functions, {
+              down: nextSibling,
+              up: prevSibling,
+              next: closeSub,
+              previous: openSub
+            });
+          }
+        } else { // horizontal menu
+          $.extend(functions, {
+            next: nextSibling,
+            previous: prevSibling,
+            down: openSub,
+            up: closeSub
+          });
+        }
+      } else { // not tabs -> one sub
+        if (_this.options.alignment === 'left') { // left aligned
+          $.extend(functions, {
+            next: openSub,
+            previous: closeSub,
+            down: nextSibling,
+            up: prevSibling
+          });
+        } else { // right aligned
+          $.extend(functions, {
+            next: closeSub,
+            previous: openSub,
+            down: nextSibling,
+            up: prevSibling
+          });
+        }
+      }
+      Foundation.Keyboard.handleKey(e, 'DropdownMenu', functions);
+
+    });
+  }
+
+  /**
+   * Adds an event handler to the body to close any dropdowns on a click.
+   * @function
+   * @private
+   */
+  _addBodyHandler() {
+    var $body = $(document.body),
+        _this = this;
+    $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu')
+         .on('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu', function(e) {
+           var $link = _this.$element.find(e.target);
+           if ($link.length) { return; }
+
+           _this._hide();
+           $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu');
+         });
+  }
+
+  /**
+   * Opens a dropdown pane, and checks for collisions first.
+   * @param {jQuery} $sub - ul element that is a submenu to show
+   * @function
+   * @private
+   * @fires DropdownMenu#show
+   */
+  _show($sub) {
+    var idx = this.$tabs.index(this.$tabs.filter(function(i, el) {
+      return $(el).find($sub).length > 0;
+    }));
+    var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');
+    this._hide($sibs, idx);
+    $sub.css('visibility', 'hidden').addClass('js-dropdown-active').attr({'aria-hidden': false})
+        .parent('li.is-dropdown-submenu-parent').addClass('is-active')
+        .attr({'aria-expanded': true});
+    var clear = Foundation.Box.ImNotTouchingYou($sub, null, true);
+    if (!clear) {
+      var oldClass = this.options.alignment === 'left' ? '-right' : '-left',
+          $parentLi = $sub.parent('.is-dropdown-submenu-parent');
+      $parentLi.removeClass(`opens${oldClass}`).addClass(`opens-${this.options.alignment}`);
+      clear = Foundation.Box.ImNotTouchingYou($sub, null, true);
+      if (!clear) {
+        $parentLi.removeClass(`opens-${this.options.alignment}`).addClass('opens-inner');
+      }
+      this.changed = true;
+    }
+    $sub.css('visibility', '');
+    if (this.options.closeOnClick) { this._addBodyHandler(); }
+    /**
+     * Fires when the new dropdown pane is visible.
+     * @event DropdownMenu#show
+     */
+    this.$element.trigger('show.zf.dropdownmenu', [$sub]);
+  }
+
+  /**
+   * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.
+   * @function
+   * @param {jQuery} $elem - element with a submenu to hide
+   * @param {Number} idx - index of the $tabs collection to hide
+   * @private
+   */
+  _hide($elem, idx) {
+    var $toClose;
+    if ($elem && $elem.length) {
+      $toClose = $elem;
+    } else if (idx !== undefined) {
+      $toClose = this.$tabs.not(function(i, el) {
+        return i === idx;
+      });
+    }
+    else {
+      $toClose = this.$element;
+    }
+    var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0;
+
+    if (somethingToClose) {
+      $toClose.find('li.is-active').add($toClose).attr({
+        'aria-expanded': false,
+        'data-is-click': false
+      }).removeClass('is-active');
+
+      $toClose.find('ul.js-dropdown-active').attr({
+        'aria-hidden': true
+      }).removeClass('js-dropdown-active');
+
+      if (this.changed || $toClose.find('opens-inner').length) {
+        var oldClass = this.options.alignment === 'left' ? 'right' : 'left';
+        $toClose.find('li.is-dropdown-submenu-parent').add($toClose)
+                .removeClass(`opens-inner opens-${this.options.alignment}`)
+                .addClass(`opens-${oldClass}`);
+        this.changed = false;
+      }
+      /**
+       * Fires when the open menus are closed.
+       * @event DropdownMenu#hide
+       */
+      this.$element.trigger('hide.zf.dropdownmenu', [$toClose]);
+    }
+  }
+
+  /**
+   * Destroys the plugin.
+   * @function
+   */
+  destroy() {
+    this.$menuItems.off('.zf.dropdownmenu').removeAttr('data-is-click')
+        .removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');
+    $(document.body).off('.zf.dropdownmenu');
+    Foundation.Nest.Burn(this.$element, 'dropdown');
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+/**
+ * Default settings for plugin
+ */
+DropdownMenu.defaults = {
+  /**
+   * Disallows hover events from opening submenus
+   * @option
+   * @example false
+   */
+  disableHover: false,
+  /**
+   * Allow a submenu to automatically close on a mouseleave event, if not clicked open.
+   * @option
+   * @example true
+   */
+  autoclose: true,
+  /**
+   * Amount of time to delay opening a submenu on hover event.
+   * @option
+   * @example 50
+   */
+  hoverDelay: 50,
+  /**
+   * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.
+   * @option
+   * @example true
+   */
+  clickOpen: false,
+  /**
+   * Amount of time to delay closing a submenu on a mouseleave event.
+   * @option
+   * @example 500
+   */
+
+  closingTime: 500,
+  /**
+   * Position of the menu relative to what direction the submenus should open. Handled by JS.
+   * @option
+   * @example 'left'
+   */
+  alignment: 'left',
+  /**
+   * Allow clicks on the body to close any open submenus.
+   * @option
+   * @example true
+   */
+  closeOnClick: true,
+  /**
+   * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.
+   * @option
+   * @example 'vertical'
+   */
+  verticalClass: 'vertical',
+  /**
+   * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.
+   * @option
+   * @example 'align-right'
+   */
+  rightClass: 'align-right',
+  /**
+   * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.
+   * @option
+   * @example false
+   */
+  forceFollow: true
+};
+
+// Window exports
+Foundation.plugin(DropdownMenu, 'DropdownMenu');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.equalizer.js b/libraries/foundation-6/js/foundation.equalizer.js
new file mode 100755
index 00000000..eead23af
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.equalizer.js
@@ -0,0 +1,306 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Equalizer module.
+ * @module foundation.equalizer
+ */
+
+class Equalizer {
+  /**
+   * Creates a new instance of Equalizer.
+   * @class
+   * @fires Equalizer#init
+   * @param {Object} element - jQuery object to add the trigger to.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options){
+    this.$element = element;
+    this.options  = $.extend({}, Equalizer.defaults, this.$element.data(), options);
+
+    this._init();
+
+    Foundation.registerPlugin(this, 'Equalizer');
+  }
+
+  /**
+   * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load.
+   * @private
+   */
+  _init() {
+    var eqId = this.$element.attr('data-equalizer') || '';
+    var $watched = this.$element.find(`[data-equalizer-watch="${eqId}"]`);
+
+    this.$watched = $watched.length ? $watched : this.$element.find('[data-equalizer-watch]');
+    this.$element.attr('data-resize', (eqId || Foundation.GetYoDigits(6, 'eq')));
+
+    this.hasNested = this.$element.find('[data-equalizer]').length > 0;
+    this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0;
+    this.isOn = false;
+    this._bindHandler = {
+      onResizeMeBound: this._onResizeMe.bind(this),
+      onPostEqualizedBound: this._onPostEqualized.bind(this)
+    };
+
+    var imgs = this.$element.find('img');
+    var tooSmall;
+    if(this.options.equalizeOn){
+      tooSmall = this._checkMQ();
+      $(window).on('changed.zf.mediaquery', this._checkMQ.bind(this));
+    }else{
+      this._events();
+    }
+    if((tooSmall !== undefined && tooSmall === false) || tooSmall === undefined){
+      if(imgs.length){
+        Foundation.onImagesLoaded(imgs, this._reflow.bind(this));
+      }else{
+        this._reflow();
+      }
+    }
+  }
+
+  /**
+   * Removes event listeners if the breakpoint is too small.
+   * @private
+   */
+  _pauseEvents() {
+    this.isOn = false;
+    this.$element.off({
+      '.zf.equalizer': this._bindHandler.onPostEqualizedBound,
+      'resizeme.zf.trigger': this._bindHandler.onResizeMeBound
+    });
+  }
+
+  /**
+   * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound
+   * @private
+   */
+  _onResizeMe(e) {
+    this._reflow();
+  }
+
+  /**
+   * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound
+   * @private
+   */
+  _onPostEqualized(e) {
+    if(e.target !== this.$element[0]){ this._reflow(); }
+  }
+
+  /**
+   * Initializes events for Equalizer.
+   * @private
+   */
+  _events() {
+    var _this = this;
+    this._pauseEvents();
+    if(this.hasNested){
+      this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound);
+    }else{
+      this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound);
+    }
+    this.isOn = true;
+  }
+
+  /**
+   * Checks the current breakpoint to the minimum required size.
+   * @private
+   */
+  _checkMQ() {
+    var tooSmall = !Foundation.MediaQuery.atLeast(this.options.equalizeOn);
+    if(tooSmall){
+      if(this.isOn){
+        this._pauseEvents();
+        this.$watched.css('height', 'auto');
+      }
+    }else{
+      if(!this.isOn){
+        this._events();
+      }
+    }
+    return tooSmall;
+  }
+
+  /**
+   * A noop version for the plugin
+   * @private
+   */
+  _killswitch() {
+    return;
+  }
+
+  /**
+   * Calls necessary functions to update Equalizer upon DOM change
+   * @private
+   */
+  _reflow() {
+    if(!this.options.equalizeOnStack){
+      if(this._isStacked()){
+        this.$watched.css('height', 'auto');
+        return false;
+      }
+    }
+    if (this.options.equalizeByRow) {
+      this.getHeightsByRow(this.applyHeightByRow.bind(this));
+    }else{
+      this.getHeights(this.applyHeight.bind(this));
+    }
+  }
+
+  /**
+   * Manually determines if the first 2 elements are *NOT* stacked.
+   * @private
+   */
+  _isStacked() {
+    return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top;
+  }
+
+  /**
+   * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
+   * @param {Function} cb - A non-optional callback to return the heights array to.
+   * @returns {Array} heights - An array of heights of children within Equalizer container
+   */
+  getHeights(cb) {
+    var heights = [];
+    for(var i = 0, len = this.$watched.length; i < len; i++){
+      this.$watched[i].style.height = 'auto';
+      heights.push(this.$watched[i].offsetHeight);
+    }
+    cb(heights);
+  }
+
+  /**
+   * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
+   * @param {Function} cb - A non-optional callback to return the heights array to.
+   * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child
+   */
+  getHeightsByRow(cb) {
+    var lastElTopOffset = (this.$watched.length ? this.$watched.first().offset().top : 0),
+        groups = [],
+        group = 0;
+    //group by Row
+    groups[group] = [];
+    for(var i = 0, len = this.$watched.length; i < len; i++){
+      this.$watched[i].style.height = 'auto';
+      //maybe could use this.$watched[i].offsetTop
+      var elOffsetTop = $(this.$watched[i]).offset().top;
+      if (elOffsetTop!=lastElTopOffset) {
+        group++;
+        groups[group] = [];
+        lastElTopOffset=elOffsetTop;
+      }
+      groups[group].push([this.$watched[i],this.$watched[i].offsetHeight]);
+    }
+
+    for (var j = 0, ln = groups.length; j < ln; j++) {
+      var heights = $(groups[j]).map(function(){ return this[1]; }).get();
+      var max         = Math.max.apply(null, heights);
+      groups[j].push(max);
+    }
+    cb(groups);
+  }
+
+  /**
+   * Changes the CSS height property of each child in an Equalizer parent to match the tallest
+   * @param {array} heights - An array of heights of children within Equalizer container
+   * @fires Equalizer#preequalized
+   * @fires Equalizer#postequalized
+   */
+  applyHeight(heights) {
+    var max = Math.max.apply(null, heights);
+    /**
+     * Fires before the heights are applied
+     * @event Equalizer#preequalized
+     */
+    this.$element.trigger('preequalized.zf.equalizer');
+
+    this.$watched.css('height', max);
+
+    /**
+     * Fires when the heights have been applied
+     * @event Equalizer#postequalized
+     */
+     this.$element.trigger('postequalized.zf.equalizer');
+  }
+
+  /**
+   * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row
+   * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child
+   * @fires Equalizer#preequalized
+   * @fires Equalizer#preequalizedRow
+   * @fires Equalizer#postequalizedRow
+   * @fires Equalizer#postequalized
+   */
+  applyHeightByRow(groups) {
+    /**
+     * Fires before the heights are applied
+     */
+    this.$element.trigger('preequalized.zf.equalizer');
+    for (var i = 0, len = groups.length; i < len ; i++) {
+      var groupsILength = groups[i].length,
+          max = groups[i][groupsILength - 1];
+      if (groupsILength<=2) {
+        $(groups[i][0][0]).css({'height':'auto'});
+        continue;
+      }
+      /**
+        * Fires before the heights per row are applied
+        * @event Equalizer#preequalizedRow
+        */
+      this.$element.trigger('preequalizedrow.zf.equalizer');
+      for (var j = 0, lenJ = (groupsILength-1); j < lenJ ; j++) {
+        $(groups[i][j][0]).css({'height':max});
+      }
+      /**
+        * Fires when the heights per row have been applied
+        * @event Equalizer#postequalizedRow
+        */
+      this.$element.trigger('postequalizedrow.zf.equalizer');
+    }
+    /**
+     * Fires when the heights have been applied
+     */
+     this.$element.trigger('postequalized.zf.equalizer');
+  }
+
+  /**
+   * Destroys an instance of Equalizer.
+   * @function
+   */
+  destroy() {
+    this._pauseEvents();
+    this.$watched.css('height', 'auto');
+
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+/**
+ * Default settings for plugin
+ */
+Equalizer.defaults = {
+  /**
+   * Enable height equalization when stacked on smaller screens.
+   * @option
+   * @example true
+   */
+  equalizeOnStack: false,
+  /**
+   * Enable height equalization row by row.
+   * @option
+   * @example false
+   */
+  equalizeByRow: false,
+  /**
+   * String representing the minimum breakpoint size the plugin should equalize heights on.
+   * @option
+   * @example 'medium'
+   */
+  equalizeOn: ''
+};
+
+// Window exports
+Foundation.plugin(Equalizer, 'Equalizer');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.interchange.js b/libraries/foundation-6/js/foundation.interchange.js
new file mode 100755
index 00000000..1a15ff01
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.interchange.js
@@ -0,0 +1,198 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Interchange module.
+ * @module foundation.interchange
+ * @requires foundation.util.mediaQuery
+ * @requires foundation.util.timerAndImageLoader
+ */
+
+class Interchange {
+  /**
+   * Creates a new instance of Interchange.
+   * @class
+   * @fires Interchange#init
+   * @param {Object} element - jQuery object to add the trigger to.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options = $.extend({}, Interchange.defaults, options);
+    this.rules = [];
+    this.currentPath = '';
+
+    this._init();
+    this._events();
+
+    Foundation.registerPlugin(this, 'Interchange');
+  }
+
+  /**
+   * Initializes the Interchange plugin and calls functions to get interchange functioning on load.
+   * @function
+   * @private
+   */
+  _init() {
+    this._addBreakpoints();
+    this._generateRules();
+    this._reflow();
+  }
+
+  /**
+   * Initializes events for Interchange.
+   * @function
+   * @private
+   */
+  _events() {
+    $(window).on('resize.zf.interchange', Foundation.util.throttle(this._reflow.bind(this), 50));
+  }
+
+  /**
+   * Calls necessary functions to update Interchange upon DOM change
+   * @function
+   * @private
+   */
+  _reflow() {
+    var match;
+
+    // Iterate through each rule, but only save the last match
+    for (var i in this.rules) {
+      if(this.rules.hasOwnProperty(i)) {
+        var rule = this.rules[i];
+
+        if (window.matchMedia(rule.query).matches) {
+          match = rule;
+        }
+      }
+    }
+
+    if (match) {
+      this.replace(match.path);
+    }
+  }
+
+  /**
+   * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.
+   * @function
+   * @private
+   */
+  _addBreakpoints() {
+    for (var i in Foundation.MediaQuery.queries) {
+      if (Foundation.MediaQuery.queries.hasOwnProperty(i)) {
+        var query = Foundation.MediaQuery.queries[i];
+        Interchange.SPECIAL_QUERIES[query.name] = query.value;
+      }
+    }
+  }
+
+  /**
+   * Checks the Interchange element for the provided media query + content pairings
+   * @function
+   * @private
+   * @param {Object} element - jQuery object that is an Interchange instance
+   * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys
+   */
+  _generateRules(element) {
+    var rulesList = [];
+    var rules;
+
+    if (this.options.rules) {
+      rules = this.options.rules;
+    }
+    else {
+      rules = this.$element.data('interchange').match(/\[.*?\]/g);
+    }
+
+    for (var i in rules) {
+      if(rules.hasOwnProperty(i)) {
+        var rule = rules[i].slice(1, -1).split(', ');
+        var path = rule.slice(0, -1).join('');
+        var query = rule[rule.length - 1];
+
+        if (Interchange.SPECIAL_QUERIES[query]) {
+          query = Interchange.SPECIAL_QUERIES[query];
+        }
+
+        rulesList.push({
+          path: path,
+          query: query
+        });
+      }
+    }
+
+    this.rules = rulesList;
+  }
+
+  /**
+   * Update the `src` property of an image, or change the HTML of a container, to the specified path.
+   * @function
+   * @param {String} path - Path to the image or HTML partial.
+   * @fires Interchange#replaced
+   */
+  replace(path) {
+    if (this.currentPath === path) return;
+
+    var _this = this,
+        trigger = 'replaced.zf.interchange';
+
+    // Replacing images
+    if (this.$element[0].nodeName === 'IMG') {
+      this.$element.attr('src', path).load(function() {
+        _this.currentPath = path;
+      })
+      .trigger(trigger);
+    }
+    // Replacing background images
+    else if (path.match(/\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i)) {
+      this.$element.css({ 'background-image': 'url('+path+')' })
+          .trigger(trigger);
+    }
+    // Replacing HTML
+    else {
+      $.get(path, function(response) {
+        _this.$element.html(response)
+             .trigger(trigger);
+        $(response).foundation();
+        _this.currentPath = path;
+      });
+    }
+
+    /**
+     * Fires when content in an Interchange element is done being loaded.
+     * @event Interchange#replaced
+     */
+    // this.$element.trigger('replaced.zf.interchange');
+  }
+
+  /**
+   * Destroys an instance of interchange.
+   * @function
+   */
+  destroy() {
+    //TODO this.
+  }
+}
+
+/**
+ * Default settings for plugin
+ */
+Interchange.defaults = {
+  /**
+   * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.
+   * @option
+   */
+  rules: null
+};
+
+Interchange.SPECIAL_QUERIES = {
+  'landscape': 'screen and (orientation: landscape)',
+  'portrait': 'screen and (orientation: portrait)',
+  'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'
+};
+
+// Window exports
+Foundation.plugin(Interchange, 'Interchange');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.js b/libraries/foundation-6/js/foundation.js
index 87e04589..63b04ace 100644
--- a/libraries/foundation-6/js/foundation.js
+++ b/libraries/foundation-6/js/foundation.js
@@ -2,7 +2,7 @@
 
   "use strict";
 
-  var FOUNDATION_VERSION = '6.2.2';
+  var FOUNDATION_VERSION = '6.2.3';
 
   // Global Foundation object
   // This is attached to the window, or used as a module for AMD/Browserify
@@ -388,217 +388,197 @@
 
 !function ($) {
 
-  // Default set of media queries
-  var defaultQueries = {
-    'default': 'only screen',
-    landscape: 'only screen and (orientation: landscape)',
-    portrait: 'only screen and (orientation: portrait)',
-    retina: 'only screen and (-webkit-min-device-pixel-ratio: 2),' + 'only screen and (min--moz-device-pixel-ratio: 2),' + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + 'only screen and (min-device-pixel-ratio: 2),' + 'only screen and (min-resolution: 192dpi),' + 'only screen and (min-resolution: 2dppx)'
+  Foundation.Box = {
+    ImNotTouchingYou: ImNotTouchingYou,
+    GetDimensions: GetDimensions,
+    GetOffsets: GetOffsets
   };
 
-  var MediaQuery = {
-    queries: [],
-
-    current: '',
-
-    /**
-     * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.
-     * @function
-     * @private
-     */
-    _init: function () {
-      var self = this;
-      var extractedStyles = $('.foundation-mq').css('font-family');
-      var namedQueries;
+  /**
+   * Compares the dimensions of an element to a container and determines collision events with container.
+   * @function
+   * @param {jQuery} element - jQuery object to test for collisions.
+   * @param {jQuery} parent - jQuery object to use as bounding container.
+   * @param {Boolean} lrOnly - set to true to check left and right values only.
+   * @param {Boolean} tbOnly - set to true to check top and bottom values only.
+   * @default if no parent object passed, detects collisions with `window`.
+   * @returns {Boolean} - true if collision free, false if a collision in any direction.
+   */
+  function ImNotTouchingYou(element, parent, lrOnly, tbOnly) {
+    var eleDims = GetDimensions(element),
+        top,
+        bottom,
+        left,
+        right;
 
-      namedQueries = parseStyleToObject(extractedStyles);
+    if (parent) {
+      var parDims = GetDimensions(parent);
 
-      for (var key in namedQueries) {
-        if (namedQueries.hasOwnProperty(key)) {
-          self.queries.push({
-            name: key,
-            value: 'only screen and (min-width: ' + namedQueries[key] + ')'
-          });
-        }
-      }
+      bottom = eleDims.offset.top + eleDims.height <= parDims.height + parDims.offset.top;
+      top = eleDims.offset.top >= parDims.offset.top;
+      left = eleDims.offset.left >= parDims.offset.left;
+      right = eleDims.offset.left + eleDims.width <= parDims.width + parDims.offset.left;
+    } else {
+      bottom = eleDims.offset.top + eleDims.height <= eleDims.windowDims.height + eleDims.windowDims.offset.top;
+      top = eleDims.offset.top >= eleDims.windowDims.offset.top;
+      left = eleDims.offset.left >= eleDims.windowDims.offset.left;
+      right = eleDims.offset.left + eleDims.width <= eleDims.windowDims.width;
+    }
 
-      this.current = this._getCurrentSize();
+    var allDirs = [bottom, top, left, right];
 
-      this._watcher();
-    },
+    if (lrOnly) {
+      return left === right === true;
+    }
 
+    if (tbOnly) {
+      return top === bottom === true;
+    }
 
-    /**
-     * Checks if the screen is at least as wide as a breakpoint.
-     * @function
-     * @param {String} size - Name of the breakpoint to check.
-     * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
-     */
-    atLeast: function (size) {
-      var query = this.get(size);
+    return allDirs.indexOf(false) === -1;
+  };
 
-      if (query) {
-        return window.matchMedia(query).matches;
-      }
+  /**
+   * Uses native methods to return an object of dimension values.
+   * @function
+   * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.
+   * @returns {Object} - nested object of integer pixel values
+   * TODO - if element is window, return only those values.
+   */
+  function GetDimensions(elem, test) {
+    elem = elem.length ? elem[0] : elem;
 
-      return false;
-    },
+    if (elem === window || elem === document) {
+      throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");
+    }
 
+    var rect = elem.getBoundingClientRect(),
+        parRect = elem.parentNode.getBoundingClientRect(),
+        winRect = document.body.getBoundingClientRect(),
+        winY = window.pageYOffset,
+        winX = window.pageXOffset;
 
-    /**
-     * Gets the media query of a breakpoint.
-     * @function
-     * @param {String} size - Name of the breakpoint to get.
-     * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
-     */
-    get: function (size) {
-      for (var i in this.queries) {
-        if (this.queries.hasOwnProperty(i)) {
-          var query = this.queries[i];
-          if (size === query.name) return query.value;
+    return {
+      width: rect.width,
+      height: rect.height,
+      offset: {
+        top: rect.top + winY,
+        left: rect.left + winX
+      },
+      parentDims: {
+        width: parRect.width,
+        height: parRect.height,
+        offset: {
+          top: parRect.top + winY,
+          left: parRect.left + winX
         }
-      }
-
-      return null;
-    },
-
-
-    /**
-     * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
-     * @function
-     * @private
-     * @returns {String} Name of the current breakpoint.
-     */
-    _getCurrentSize: function () {
-      var matched;
-
-      for (var i = 0; i < this.queries.length; i++) {
-        var query = this.queries[i];
-
-        if (window.matchMedia(query.value).matches) {
-          matched = query;
+      },
+      windowDims: {
+        width: winRect.width,
+        height: winRect.height,
+        offset: {
+          top: winY,
+          left: winX
         }
       }
-
-      if (typeof matched === 'object') {
-        return matched.name;
-      } else {
-        return matched;
-      }
-    },
-
-
-    /**
-     * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.
-     * @function
-     * @private
-     */
-    _watcher: function () {
-      var _this = this;
-
-      $(window).on('resize.zf.mediaquery', function () {
-        var newSize = _this._getCurrentSize(),
-            currentSize = _this.current;
-
-        if (newSize !== currentSize) {
-          // Change the current media query
-          _this.current = newSize;
-
-          // Broadcast the media query change on the window
-          $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);
-        }
-      });
-    }
-  };
-
-  Foundation.MediaQuery = MediaQuery;
-
-  // matchMedia() polyfill - Test a CSS media type/query in JS.
-  // Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license
-  window.matchMedia || (window.matchMedia = function () {
-    'use strict';
-
-    // For browsers that support matchMedium api such as IE 9 and webkit
-
-    var styleMedia = window.styleMedia || window.media;
-
-    // For those that don't support matchMedium
-    if (!styleMedia) {
-      var style = document.createElement('style'),
-          script = document.getElementsByTagName('script')[0],
-          info = null;
-
-      style.type = 'text/css';
-      style.id = 'matchmediajs-test';
-
-      script.parentNode.insertBefore(style, script);
-
-      // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
-      info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;
-
-      styleMedia = {
-        matchMedium: function (media) {
-          var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
-
-          // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
-          if (style.styleSheet) {
-            style.styleSheet.cssText = text;
-          } else {
-            style.textContent = text;
-          }
-
-          // Test if media query is true or false
-          return info.width === '1px';
-        }
-      };
-    }
-
-    return function (media) {
-      return {
-        matches: styleMedia.matchMedium(media || 'all'),
-        media: media || 'all'
-      };
     };
-  }());
-
-  // Thank you: https://github.com/sindresorhus/query-string
-  function parseStyleToObject(str) {
-    var styleObject = {};
-
-    if (typeof str !== 'string') {
-      return styleObject;
-    }
+  }
 
-    str = str.trim().slice(1, -1); // browsers re-quote string style values
+  /**
+   * Returns an object of top and left integer pixel values for dynamically rendered elements,
+   * such as: Tooltip, Reveal, and Dropdown
+   * @function
+   * @param {jQuery} element - jQuery object for the element being positioned.
+   * @param {jQuery} anchor - jQuery object for the element's anchor point.
+   * @param {String} position - a string relating to the desired position of the element, relative to it's anchor
+   * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.
+   * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.
+   * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.
+   * TODO alter/rewrite to work with `em` values as well/instead of pixels
+   */
+  function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {
+    var $eleDims = GetDimensions(element),
+        $anchorDims = anchor ? GetDimensions(anchor) : null;
 
-    if (!str) {
-      return styleObject;
+    switch (position) {
+      case 'top':
+        return {
+          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
+          top: $anchorDims.offset.top - ($eleDims.height + vOffset)
+        };
+        break;
+      case 'left':
+        return {
+          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+          top: $anchorDims.offset.top
+        };
+        break;
+      case 'right':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width + hOffset,
+          top: $anchorDims.offset.top
+        };
+        break;
+      case 'center top':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
+          top: $anchorDims.offset.top - ($eleDims.height + vOffset)
+        };
+        break;
+      case 'center bottom':
+        return {
+          left: isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
+          top: $anchorDims.offset.top + $anchorDims.height + vOffset
+        };
+        break;
+      case 'center left':
+        return {
+          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
+        };
+        break;
+      case 'center right':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width + hOffset + 1,
+          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
+        };
+        break;
+      case 'center':
+        return {
+          left: $eleDims.windowDims.offset.left + $eleDims.windowDims.width / 2 - $eleDims.width / 2,
+          top: $eleDims.windowDims.offset.top + $eleDims.windowDims.height / 2 - $eleDims.height / 2
+        };
+        break;
+      case 'reveal':
+        return {
+          left: ($eleDims.windowDims.width - $eleDims.width) / 2,
+          top: $eleDims.windowDims.offset.top + vOffset
+        };
+      case 'reveal full':
+        return {
+          left: $eleDims.windowDims.offset.left,
+          top: $eleDims.windowDims.offset.top
+        };
+        break;
+      case 'left bottom':
+        return {
+          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+          top: $anchorDims.offset.top + $anchorDims.height
+        };
+        break;
+      case 'right bottom':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width + hOffset - $eleDims.width,
+          top: $anchorDims.offset.top + $anchorDims.height
+        };
+        break;
+      default:
+        return {
+          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
+          top: $anchorDims.offset.top + $anchorDims.height + vOffset
+        };
     }
-
-    styleObject = str.split('&').reduce(function (ret, param) {
-      var parts = param.replace(/\+/g, ' ').split('=');
-      var key = parts[0];
-      var val = parts[1];
-      key = decodeURIComponent(key);
-
-      // missing `=` should be `null`:
-      // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
-      val = val === undefined ? null : decodeURIComponent(val);
-
-      if (!ret.hasOwnProperty(key)) {
-        ret[key] = val;
-      } else if (Array.isArray(ret[key])) {
-        ret[key].push(val);
-      } else {
-        ret[key] = [ret[key], val];
-      }
-      return ret;
-    }, {});
-
-    return styleObject;
   }
-
-  Foundation.MediaQuery = MediaQuery;
 }(jQuery);
 /*******************************************
  *                                         *
@@ -694,640 +674,417 @@
         if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) {
           return false;
         } //only have visible elements and those that have a tabindex greater or equal 0
-        return true;
-      });
-    },
-
-
-    /**
-     * Returns the component name name
-     * @param {Object} component - Foundation component, e.g. Slider or Reveal
-     * @return String componentName
-     */
-
-    register: function (componentName, cmds) {
-      commands[componentName] = cmds;
-    }
-  };
-
-  /*
-   * Constants for easier comparing.
-   * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
-   */
-  function getKeyCodes(kcs) {
-    var k = {};
-    for (var kc in kcs) {
-      k[kcs[kc]] = kcs[kc];
-    }return k;
-  }
-
-  Foundation.Keyboard = Keyboard;
-}(jQuery);
-'use strict';
-
-!function ($) {
-
-  /**
-   * Motion module.
-   * @module foundation.motion
-   */
-
-  var initClasses = ['mui-enter', 'mui-leave'];
-  var activeClasses = ['mui-enter-active', 'mui-leave-active'];
-
-  var Motion = {
-    animateIn: function (element, animation, cb) {
-      animate(true, element, animation, cb);
-    },
-
-    animateOut: function (element, animation, cb) {
-      animate(false, element, animation, cb);
-    }
-  };
-
-  function Move(duration, elem, fn) {
-    var anim,
-        prog,
-        start = null;
-    // console.log('called');
-
-    function move(ts) {
-      if (!start) start = window.performance.now();
-      // console.log(start, ts);
-      prog = ts - start;
-      fn.apply(elem);
-
-      if (prog < duration) {
-        anim = window.requestAnimationFrame(move, elem);
-      } else {
-        window.cancelAnimationFrame(anim);
-        elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);
-      }
-    }
-    anim = window.requestAnimationFrame(move);
-  }
-
-  /**
-   * Animates an element in or out using a CSS transition class.
-   * @function
-   * @private
-   * @param {Boolean} isIn - Defines if the animation is in or out.
-   * @param {Object} element - jQuery or HTML object to animate.
-   * @param {String} animation - CSS class to use.
-   * @param {Function} cb - Callback to run when animation is finished.
-   */
-  function animate(isIn, element, animation, cb) {
-    element = $(element).eq(0);
-
-    if (!element.length) return;
-
-    var initClass = isIn ? initClasses[0] : initClasses[1];
-    var activeClass = isIn ? activeClasses[0] : activeClasses[1];
-
-    // Set up the animation
-    reset();
-
-    element.addClass(animation).css('transition', 'none');
-
-    requestAnimationFrame(function () {
-      element.addClass(initClass);
-      if (isIn) element.show();
-    });
+        return true;
+      });
+    },
 
-    // Start the animation
-    requestAnimationFrame(function () {
-      element[0].offsetWidth;
-      element.css('transition', '').addClass(activeClass);
-    });
 
-    // Clean up the animation when it finishes
-    element.one(Foundation.transitionend(element), finish);
+    /**
+     * Returns the component name name
+     * @param {Object} component - Foundation component, e.g. Slider or Reveal
+     * @return String componentName
+     */
 
-    // Hides the element (for out animations), resets the element, and runs a callback
-    function finish() {
-      if (!isIn) element.hide();
-      reset();
-      if (cb) cb.apply(element);
+    register: function (componentName, cmds) {
+      commands[componentName] = cmds;
     }
+  };
 
-    // Resets transitions and removes motion-specific classes
-    function reset() {
-      element[0].style.transitionDuration = 0;
-      element.removeClass(initClass + ' ' + activeClass + ' ' + animation);
-    }
+  /*
+   * Constants for easier comparing.
+   * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
+   */
+  function getKeyCodes(kcs) {
+    var k = {};
+    for (var kc in kcs) {
+      k[kcs[kc]] = kcs[kc];
+    }return k;
   }
 
-  Foundation.Move = Move;
-  Foundation.Motion = Motion;
+  Foundation.Keyboard = Keyboard;
 }(jQuery);
 'use strict';
 
 !function ($) {
 
-  var Nest = {
-    Feather: function (menu) {
-      var type = arguments.length <= 1 || arguments[1] === undefined ? 'zf' : arguments[1];
+  // Default set of media queries
+  var defaultQueries = {
+    'default': 'only screen',
+    landscape: 'only screen and (orientation: landscape)',
+    portrait: 'only screen and (orientation: portrait)',
+    retina: 'only screen and (-webkit-min-device-pixel-ratio: 2),' + 'only screen and (min--moz-device-pixel-ratio: 2),' + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + 'only screen and (min-device-pixel-ratio: 2),' + 'only screen and (min-resolution: 192dpi),' + 'only screen and (min-resolution: 2dppx)'
+  };
 
-      menu.attr('role', 'menubar');
+  var MediaQuery = {
+    queries: [],
 
-      var items = menu.find('li').attr({ 'role': 'menuitem' }),
-          subMenuClass = 'is-' + type + '-submenu',
-          subItemClass = subMenuClass + '-item',
-          hasSubClass = 'is-' + type + '-submenu-parent';
+    current: '',
 
-      menu.find('a:first').attr('tabindex', 0);
+    /**
+     * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.
+     * @function
+     * @private
+     */
+    _init: function () {
+      var self = this;
+      var extractedStyles = $('.foundation-mq').css('font-family');
+      var namedQueries;
 
-      items.each(function () {
-        var $item = $(this),
-            $sub = $item.children('ul');
+      namedQueries = parseStyleToObject(extractedStyles);
 
-        if ($sub.length) {
-          $item.addClass(hasSubClass).attr({
-            'aria-haspopup': true,
-            'aria-expanded': false,
-            'aria-label': $item.children('a:first').text()
+      for (var key in namedQueries) {
+        if (namedQueries.hasOwnProperty(key)) {
+          self.queries.push({
+            name: key,
+            value: 'only screen and (min-width: ' + namedQueries[key] + ')'
           });
+        }
+      }
 
-          $sub.addClass('submenu ' + subMenuClass).attr({
-            'data-submenu': '',
-            'aria-hidden': true,
-            'role': 'menu'
-          });
+      this.current = this._getCurrentSize();
+
+      this._watcher();
+    },
+
+
+    /**
+     * Checks if the screen is at least as wide as a breakpoint.
+     * @function
+     * @param {String} size - Name of the breakpoint to check.
+     * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
+     */
+    atLeast: function (size) {
+      var query = this.get(size);
+
+      if (query) {
+        return window.matchMedia(query).matches;
+      }
+
+      return false;
+    },
+
+
+    /**
+     * Gets the media query of a breakpoint.
+     * @function
+     * @param {String} size - Name of the breakpoint to get.
+     * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
+     */
+    get: function (size) {
+      for (var i in this.queries) {
+        if (this.queries.hasOwnProperty(i)) {
+          var query = this.queries[i];
+          if (size === query.name) return query.value;
         }
+      }
 
-        if ($item.parent('[data-submenu]').length) {
-          $item.addClass('is-submenu-item ' + subItemClass);
+      return null;
+    },
+
+
+    /**
+     * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
+     * @function
+     * @private
+     * @returns {String} Name of the current breakpoint.
+     */
+    _getCurrentSize: function () {
+      var matched;
+
+      for (var i = 0; i < this.queries.length; i++) {
+        var query = this.queries[i];
+
+        if (window.matchMedia(query.value).matches) {
+          matched = query;
         }
-      });
+      }
 
-      return;
+      if (typeof matched === 'object') {
+        return matched.name;
+      } else {
+        return matched;
+      }
     },
-    Burn: function (menu, type) {
-      var items = menu.find('li').removeAttr('tabindex'),
-          subMenuClass = 'is-' + type + '-submenu',
-          subItemClass = subMenuClass + '-item',
-          hasSubClass = 'is-' + type + '-submenu-parent';
 
-      menu.find('*').removeClass(subMenuClass + ' ' + subItemClass + ' ' + hasSubClass + ' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display', '');
 
-      // console.log(      menu.find('.' + subMenuClass + ', .' + subItemClass + ', .has-submenu, .is-submenu-item, .submenu, [data-submenu]')
-      //           .removeClass(subMenuClass + ' ' + subItemClass + ' has-submenu is-submenu-item submenu')
-      //           .removeAttr('data-submenu'));
-      // items.each(function(){
-      //   var $item = $(this),
-      //       $sub = $item.children('ul');
-      //   if($item.parent('[data-submenu]').length){
-      //     $item.removeClass('is-submenu-item ' + subItemClass);
-      //   }
-      //   if($sub.length){
-      //     $item.removeClass('has-submenu');
-      //     $sub.removeClass('submenu ' + subMenuClass).removeAttr('data-submenu');
-      //   }
-      // });
+    /**
+     * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.
+     * @function
+     * @private
+     */
+    _watcher: function () {
+      var _this = this;
+
+      $(window).on('resize.zf.mediaquery', function () {
+        var newSize = _this._getCurrentSize(),
+            currentSize = _this.current;
+
+        if (newSize !== currentSize) {
+          // Change the current media query
+          _this.current = newSize;
+
+          // Broadcast the media query change on the window
+          $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);
+        }
+      });
     }
   };
 
-  Foundation.Nest = Nest;
-}(jQuery);
-'use strict';
+  Foundation.MediaQuery = MediaQuery;
 
-!function ($) {
+  // matchMedia() polyfill - Test a CSS media type/query in JS.
+  // Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license
+  window.matchMedia || (window.matchMedia = function () {
+    'use strict';
 
-  Foundation.Box = {
-    ImNotTouchingYou: ImNotTouchingYou,
-    GetDimensions: GetDimensions,
-    GetOffsets: GetOffsets
-  };
+    // For browsers that support matchMedium api such as IE 9 and webkit
 
-  /**
-   * Compares the dimensions of an element to a container and determines collision events with container.
-   * @function
-   * @param {jQuery} element - jQuery object to test for collisions.
-   * @param {jQuery} parent - jQuery object to use as bounding container.
-   * @param {Boolean} lrOnly - set to true to check left and right values only.
-   * @param {Boolean} tbOnly - set to true to check top and bottom values only.
-   * @default if no parent object passed, detects collisions with `window`.
-   * @returns {Boolean} - true if collision free, false if a collision in any direction.
-   */
-  function ImNotTouchingYou(element, parent, lrOnly, tbOnly) {
-    var eleDims = GetDimensions(element),
-        top,
-        bottom,
-        left,
-        right;
+    var styleMedia = window.styleMedia || window.media;
 
-    if (parent) {
-      var parDims = GetDimensions(parent);
+    // For those that don't support matchMedium
+    if (!styleMedia) {
+      var style = document.createElement('style'),
+          script = document.getElementsByTagName('script')[0],
+          info = null;
 
-      bottom = eleDims.offset.top + eleDims.height <= parDims.height + parDims.offset.top;
-      top = eleDims.offset.top >= parDims.offset.top;
-      left = eleDims.offset.left >= parDims.offset.left;
-      right = eleDims.offset.left + eleDims.width <= parDims.width + parDims.offset.left;
-    } else {
-      bottom = eleDims.offset.top + eleDims.height <= eleDims.windowDims.height + eleDims.windowDims.offset.top;
-      top = eleDims.offset.top >= eleDims.windowDims.offset.top;
-      left = eleDims.offset.left >= eleDims.windowDims.offset.left;
-      right = eleDims.offset.left + eleDims.width <= eleDims.windowDims.width;
+      style.type = 'text/css';
+      style.id = 'matchmediajs-test';
+
+      script.parentNode.insertBefore(style, script);
+
+      // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
+      info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;
+
+      styleMedia = {
+        matchMedium: function (media) {
+          var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
+
+          // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
+          if (style.styleSheet) {
+            style.styleSheet.cssText = text;
+          } else {
+            style.textContent = text;
+          }
+
+          // Test if media query is true or false
+          return info.width === '1px';
+        }
+      };
     }
 
-    var allDirs = [bottom, top, left, right];
+    return function (media) {
+      return {
+        matches: styleMedia.matchMedium(media || 'all'),
+        media: media || 'all'
+      };
+    };
+  }());
 
-    if (lrOnly) {
-      return left === right === true;
-    }
+  // Thank you: https://github.com/sindresorhus/query-string
+  function parseStyleToObject(str) {
+    var styleObject = {};
 
-    if (tbOnly) {
-      return top === bottom === true;
+    if (typeof str !== 'string') {
+      return styleObject;
     }
 
-    return allDirs.indexOf(false) === -1;
-  };
-
-  /**
-   * Uses native methods to return an object of dimension values.
-   * @function
-   * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.
-   * @returns {Object} - nested object of integer pixel values
-   * TODO - if element is window, return only those values.
-   */
-  function GetDimensions(elem, test) {
-    elem = elem.length ? elem[0] : elem;
+    str = str.trim().slice(1, -1); // browsers re-quote string style values
 
-    if (elem === window || elem === document) {
-      throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");
+    if (!str) {
+      return styleObject;
     }
 
-    var rect = elem.getBoundingClientRect(),
-        parRect = elem.parentNode.getBoundingClientRect(),
-        winRect = document.body.getBoundingClientRect(),
-        winY = window.pageYOffset,
-        winX = window.pageXOffset;
+    styleObject = str.split('&').reduce(function (ret, param) {
+      var parts = param.replace(/\+/g, ' ').split('=');
+      var key = parts[0];
+      var val = parts[1];
+      key = decodeURIComponent(key);
 
-    return {
-      width: rect.width,
-      height: rect.height,
-      offset: {
-        top: rect.top + winY,
-        left: rect.left + winX
-      },
-      parentDims: {
-        width: parRect.width,
-        height: parRect.height,
-        offset: {
-          top: parRect.top + winY,
-          left: parRect.left + winX
-        }
-      },
-      windowDims: {
-        width: winRect.width,
-        height: winRect.height,
-        offset: {
-          top: winY,
-          left: winX
-        }
-      }
-    };
-  }
+      // missing `=` should be `null`:
+      // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
+      val = val === undefined ? null : decodeURIComponent(val);
 
-  /**
-   * Returns an object of top and left integer pixel values for dynamically rendered elements,
-   * such as: Tooltip, Reveal, and Dropdown
-   * @function
-   * @param {jQuery} element - jQuery object for the element being positioned.
-   * @param {jQuery} anchor - jQuery object for the element's anchor point.
-   * @param {String} position - a string relating to the desired position of the element, relative to it's anchor
-   * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.
-   * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.
-   * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.
-   * TODO alter/rewrite to work with `em` values as well/instead of pixels
-   */
-  function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {
-    var $eleDims = GetDimensions(element),
-        $anchorDims = anchor ? GetDimensions(anchor) : null;
+      if (!ret.hasOwnProperty(key)) {
+        ret[key] = val;
+      } else if (Array.isArray(ret[key])) {
+        ret[key].push(val);
+      } else {
+        ret[key] = [ret[key], val];
+      }
+      return ret;
+    }, {});
 
-    switch (position) {
-      case 'top':
-        return {
-          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
-          top: $anchorDims.offset.top - ($eleDims.height + vOffset)
-        };
-        break;
-      case 'left':
-        return {
-          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
-          top: $anchorDims.offset.top
-        };
-        break;
-      case 'right':
-        return {
-          left: $anchorDims.offset.left + $anchorDims.width + hOffset,
-          top: $anchorDims.offset.top
-        };
-        break;
-      case 'center top':
-        return {
-          left: $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
-          top: $anchorDims.offset.top - ($eleDims.height + vOffset)
-        };
-        break;
-      case 'center bottom':
-        return {
-          left: isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
-          top: $anchorDims.offset.top + $anchorDims.height + vOffset
-        };
-        break;
-      case 'center left':
-        return {
-          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
-          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
-        };
-        break;
-      case 'center right':
-        return {
-          left: $anchorDims.offset.left + $anchorDims.width + hOffset + 1,
-          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
-        };
-        break;
-      case 'center':
-        return {
-          left: $eleDims.windowDims.offset.left + $eleDims.windowDims.width / 2 - $eleDims.width / 2,
-          top: $eleDims.windowDims.offset.top + $eleDims.windowDims.height / 2 - $eleDims.height / 2
-        };
-        break;
-      case 'reveal':
-        return {
-          left: ($eleDims.windowDims.width - $eleDims.width) / 2,
-          top: $eleDims.windowDims.offset.top + vOffset
-        };
-      case 'reveal full':
-        return {
-          left: $eleDims.windowDims.offset.left,
-          top: $eleDims.windowDims.offset.top
-        };
-        break;
-      case 'left bottom':
-        return {
-          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
-          top: $anchorDims.offset.top + $anchorDims.height
-        };
-        break;
-      case 'right bottom':
-        return {
-          left: $anchorDims.offset.left + $anchorDims.width + hOffset - $eleDims.width,
-          top: $anchorDims.offset.top + $anchorDims.height
-        };
-        break;
-      default:
-        return {
-          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
-          top: $anchorDims.offset.top + $anchorDims.height + vOffset
-        };
-    }
+    return styleObject;
   }
+
+  Foundation.MediaQuery = MediaQuery;
 }(jQuery);
 'use strict';
 
 !function ($) {
 
-  var MutationObserver = function () {
-    var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
-    for (var i = 0; i < prefixes.length; i++) {
-      if (prefixes[i] + 'MutationObserver' in window) {
-        return window[prefixes[i] + 'MutationObserver'];
-      }
-    }
-    return false;
-  }();
-
-  var triggers = function (el, type) {
-    el.data(type).split(' ').forEach(function (id) {
-      $('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]);
-    });
-  };
-  // Elements with [data-open] will reveal a plugin that supports it when clicked.
-  $(document).on('click.zf.trigger', '[data-open]', function () {
-    triggers($(this), 'open');
-  });
-
-  // Elements with [data-close] will close a plugin that supports it when clicked.
-  // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
-  $(document).on('click.zf.trigger', '[data-close]', function () {
-    var id = $(this).data('close');
-    if (id) {
-      triggers($(this), 'close');
-    } else {
-      $(this).trigger('close.zf.trigger');
-    }
-  });
+  /**
+   * Motion module.
+   * @module foundation.motion
+   */
 
-  // Elements with [data-toggle] will toggle a plugin that supports it when clicked.
-  $(document).on('click.zf.trigger', '[data-toggle]', function () {
-    triggers($(this), 'toggle');
-  });
+  var initClasses = ['mui-enter', 'mui-leave'];
+  var activeClasses = ['mui-enter-active', 'mui-leave-active'];
 
-  // Elements with [data-closable] will respond to close.zf.trigger events.
-  $(document).on('close.zf.trigger', '[data-closable]', function (e) {
-    e.stopPropagation();
-    var animation = $(this).data('closable');
+  var Motion = {
+    animateIn: function (element, animation, cb) {
+      animate(true, element, animation, cb);
+    },
 
-    if (animation !== '') {
-      Foundation.Motion.animateOut($(this), animation, function () {
-        $(this).trigger('closed.zf');
-      });
-    } else {
-      $(this).fadeOut().trigger('closed.zf');
+    animateOut: function (element, animation, cb) {
+      animate(false, element, animation, cb);
     }
-  });
-
-  $(document).on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', function () {
-    var id = $(this).data('toggle-focus');
-    $('#' + id).triggerHandler('toggle.zf.trigger', [$(this)]);
-  });
-
-  /**
-  * Fires once after all other scripts have loaded
-  * @function
-  * @private
-  */
-  $(window).load(function () {
-    checkListeners();
-  });
+  };
 
-  function checkListeners() {
-    eventsListener();
-    resizeListener();
-    scrollListener();
-    closemeListener();
-  }
+  function Move(duration, elem, fn) {
+    var anim,
+        prog,
+        start = null;
+    // console.log('called');
 
-  //******** only fires this function once on load, if there's something to watch ********
-  function closemeListener(pluginName) {
-    var yetiBoxes = $('[data-yeti-box]'),
-        plugNames = ['dropdown', 'tooltip', 'reveal'];
+    function move(ts) {
+      if (!start) start = window.performance.now();
+      // console.log(start, ts);
+      prog = ts - start;
+      fn.apply(elem);
 
-    if (pluginName) {
-      if (typeof pluginName === 'string') {
-        plugNames.push(pluginName);
-      } else if (typeof pluginName === 'object' && typeof pluginName[0] === 'string') {
-        plugNames.concat(pluginName);
+      if (prog < duration) {
+        anim = window.requestAnimationFrame(move, elem);
       } else {
-        console.error('Plugin names must be strings');
+        window.cancelAnimationFrame(anim);
+        elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);
       }
     }
-    if (yetiBoxes.length) {
-      var listeners = plugNames.map(function (name) {
-        return 'closeme.zf.' + name;
-      }).join(' ');
+    anim = window.requestAnimationFrame(move);
+  }
 
-      $(window).off(listeners).on(listeners, function (e, pluginId) {
-        var plugin = e.namespace.split('.')[0];
-        var plugins = $('[data-' + plugin + ']').not('[data-yeti-box="' + pluginId + '"]');
+  /**
+   * Animates an element in or out using a CSS transition class.
+   * @function
+   * @private
+   * @param {Boolean} isIn - Defines if the animation is in or out.
+   * @param {Object} element - jQuery or HTML object to animate.
+   * @param {String} animation - CSS class to use.
+   * @param {Function} cb - Callback to run when animation is finished.
+   */
+  function animate(isIn, element, animation, cb) {
+    element = $(element).eq(0);
 
-        plugins.each(function () {
-          var _this = $(this);
+    if (!element.length) return;
 
-          _this.triggerHandler('close.zf.trigger', [_this]);
-        });
-      });
-    }
-  }
+    var initClass = isIn ? initClasses[0] : initClasses[1];
+    var activeClass = isIn ? activeClasses[0] : activeClasses[1];
 
-  function resizeListener(debounce) {
-    var timer = void 0,
-        $nodes = $('[data-resize]');
-    if ($nodes.length) {
-      $(window).off('resize.zf.trigger').on('resize.zf.trigger', function (e) {
-        if (timer) {
-          clearTimeout(timer);
-        }
+    // Set up the animation
+    reset();
 
-        timer = setTimeout(function () {
+    element.addClass(animation).css('transition', 'none');
 
-          if (!MutationObserver) {
-            //fallback for IE 9
-            $nodes.each(function () {
-              $(this).triggerHandler('resizeme.zf.trigger');
-            });
-          }
-          //trigger all listening elements and signal a resize event
-          $nodes.attr('data-events', "resize");
-        }, debounce || 10); //default time to emit resize event
-      });
-    }
-  }
+    requestAnimationFrame(function () {
+      element.addClass(initClass);
+      if (isIn) element.show();
+    });
 
-  function scrollListener(debounce) {
-    var timer = void 0,
-        $nodes = $('[data-scroll]');
-    if ($nodes.length) {
-      $(window).off('scroll.zf.trigger').on('scroll.zf.trigger', function (e) {
-        if (timer) {
-          clearTimeout(timer);
-        }
+    // Start the animation
+    requestAnimationFrame(function () {
+      element[0].offsetWidth;
+      element.css('transition', '').addClass(activeClass);
+    });
 
-        timer = setTimeout(function () {
+    // Clean up the animation when it finishes
+    element.one(Foundation.transitionend(element), finish);
 
-          if (!MutationObserver) {
-            //fallback for IE 9
-            $nodes.each(function () {
-              $(this).triggerHandler('scrollme.zf.trigger');
-            });
-          }
-          //trigger all listening elements and signal a scroll event
-          $nodes.attr('data-events', "scroll");
-        }, debounce || 10); //default time to emit scroll event
-      });
+    // Hides the element (for out animations), resets the element, and runs a callback
+    function finish() {
+      if (!isIn) element.hide();
+      reset();
+      if (cb) cb.apply(element);
     }
-  }
 
-  function eventsListener() {
-    if (!MutationObserver) {
-      return false;
+    // Resets transitions and removes motion-specific classes
+    function reset() {
+      element[0].style.transitionDuration = 0;
+      element.removeClass(initClass + ' ' + activeClass + ' ' + animation);
     }
-    var nodes = document.querySelectorAll('[data-resize], [data-scroll], [data-mutate]');
+  }
 
-    //element callback
-    var listeningElementsMutation = function (mutationRecordsList) {
-      var $target = $(mutationRecordsList[0].target);
-      //trigger the event handler for the element depending on type
-      switch ($target.attr("data-events")) {
+  Foundation.Move = Move;
+  Foundation.Motion = Motion;
+}(jQuery);
+'use strict';
 
-        case "resize":
-          $target.triggerHandler('resizeme.zf.trigger', [$target]);
-          break;
+!function ($) {
 
-        case "scroll":
-          $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
-          break;
+  var Nest = {
+    Feather: function (menu) {
+      var type = arguments.length <= 1 || arguments[1] === undefined ? 'zf' : arguments[1];
 
-        // case "mutate" :
-        // console.log('mutate', $target);
-        // $target.triggerHandler('mutate.zf.trigger');
-        //
-        // //make sure we don't get stuck in an infinite loop from sloppy codeing
-        // if ($target.index('[data-mutate]') == $("[data-mutate]").length-1) {
-        //   domMutationObserver();
-        // }
-        // break;
+      menu.attr('role', 'menubar');
 
-        default:
-          return false;
-        //nothing
-      }
-    };
+      var items = menu.find('li').attr({ 'role': 'menuitem' }),
+          subMenuClass = 'is-' + type + '-submenu',
+          subItemClass = subMenuClass + '-item',
+          hasSubClass = 'is-' + type + '-submenu-parent';
 
-    if (nodes.length) {
-      //for each element that needs to listen for resizing, scrolling, (or coming soon mutation) add a single observer
-      for (var i = 0; i <= nodes.length - 1; i++) {
-        var elementObserver = new MutationObserver(listeningElementsMutation);
-        elementObserver.observe(nodes[i], { attributes: true, childList: false, characterData: false, subtree: false, attributeFilter: ["data-events"] });
-      }
-    }
-  }
+      menu.find('a:first').attr('tabindex', 0);
 
-  // ------------------------------------
+      items.each(function () {
+        var $item = $(this),
+            $sub = $item.children('ul');
 
-  // [PH]
-  // Foundation.CheckWatchers = checkWatchers;
-  Foundation.IHearYou = checkListeners;
-  // Foundation.ISeeYou = scrollListener;
-  // Foundation.IFeelYou = closemeListener;
-}(jQuery);
+        if ($sub.length) {
+          $item.addClass(hasSubClass).attr({
+            'aria-haspopup': true,
+            'aria-expanded': false,
+            'aria-label': $item.children('a:first').text()
+          });
 
-// function domMutationObserver(debounce) {
-//   // !!! This is coming soon and needs more work; not active  !!! //
-//   var timer,
-//   nodes = document.querySelectorAll('[data-mutate]');
-//   //
-//   if (nodes.length) {
-//     // var MutationObserver = (function () {
-//     //   var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
-//     //   for (var i=0; i < prefixes.length; i++) {
-//     //     if (prefixes[i] + 'MutationObserver' in window) {
-//     //       return window[prefixes[i] + 'MutationObserver'];
-//     //     }
-//     //   }
-//     //   return false;
-//     // }());
-//
-//
-//     //for the body, we need to listen for all changes effecting the style and class attributes
-//     var bodyObserver = new MutationObserver(bodyMutation);
-//     bodyObserver.observe(document.body, { attributes: true, childList: true, characterData: false, subtree:true, attributeFilter:["style", "class"]});
-//
-//
-//     //body callback
-//     function bodyMutation(mutate) {
-//       //trigger all listening elements and signal a mutation event
-//       if (timer) { clearTimeout(timer); }
-//
-//       timer = setTimeout(function() {
-//         bodyObserver.disconnect();
-//         $('[data-mutate]').attr('data-events',"mutate");
-//       }, debounce || 150);
-//     }
-//   }
-// }
+          $sub.addClass('submenu ' + subMenuClass).attr({
+            'data-submenu': '',
+            'aria-hidden': true,
+            'role': 'menu'
+          });
+        }
+
+        if ($item.parent('[data-submenu]').length) {
+          $item.addClass('is-submenu-item ' + subItemClass);
+        }
+      });
+
+      return;
+    },
+    Burn: function (menu, type) {
+      var items = menu.find('li').removeAttr('tabindex'),
+          subMenuClass = 'is-' + type + '-submenu',
+          subItemClass = subMenuClass + '-item',
+          hasSubClass = 'is-' + type + '-submenu-parent';
+
+      menu.find('*').removeClass(subMenuClass + ' ' + subItemClass + ' ' + hasSubClass + ' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display', '');
+
+      // console.log(      menu.find('.' + subMenuClass + ', .' + subItemClass + ', .has-submenu, .is-submenu-item, .submenu, [data-submenu]')
+      //           .removeClass(subMenuClass + ' ' + subItemClass + ' has-submenu is-submenu-item submenu')
+      //           .removeAttr('data-submenu'));
+      // items.each(function(){
+      //   var $item = $(this),
+      //       $sub = $item.children('ul');
+      //   if($item.parent('[data-submenu]').length){
+      //     $item.removeClass('is-submenu-item ' + subItemClass);
+      //   }
+      //   if($sub.length){
+      //     $item.removeClass('has-submenu');
+      //     $sub.removeClass('submenu ' + subMenuClass).removeAttr('data-submenu');
+      //   }
+      // });
+    }
+  };
+
+  Foundation.Nest = Nest;
+}(jQuery);
 'use strict';
 
 !function ($) {
@@ -1766,6 +1523,249 @@
 */
 'use strict';
 
+!function ($) {
+
+  var MutationObserver = function () {
+    var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
+    for (var i = 0; i < prefixes.length; i++) {
+      if (prefixes[i] + 'MutationObserver' in window) {
+        return window[prefixes[i] + 'MutationObserver'];
+      }
+    }
+    return false;
+  }();
+
+  var triggers = function (el, type) {
+    el.data(type).split(' ').forEach(function (id) {
+      $('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]);
+    });
+  };
+  // Elements with [data-open] will reveal a plugin that supports it when clicked.
+  $(document).on('click.zf.trigger', '[data-open]', function () {
+    triggers($(this), 'open');
+  });
+
+  // Elements with [data-close] will close a plugin that supports it when clicked.
+  // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
+  $(document).on('click.zf.trigger', '[data-close]', function () {
+    var id = $(this).data('close');
+    if (id) {
+      triggers($(this), 'close');
+    } else {
+      $(this).trigger('close.zf.trigger');
+    }
+  });
+
+  // Elements with [data-toggle] will toggle a plugin that supports it when clicked.
+  $(document).on('click.zf.trigger', '[data-toggle]', function () {
+    triggers($(this), 'toggle');
+  });
+
+  // Elements with [data-closable] will respond to close.zf.trigger events.
+  $(document).on('close.zf.trigger', '[data-closable]', function (e) {
+    e.stopPropagation();
+    var animation = $(this).data('closable');
+
+    if (animation !== '') {
+      Foundation.Motion.animateOut($(this), animation, function () {
+        $(this).trigger('closed.zf');
+      });
+    } else {
+      $(this).fadeOut().trigger('closed.zf');
+    }
+  });
+
+  $(document).on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', function () {
+    var id = $(this).data('toggle-focus');
+    $('#' + id).triggerHandler('toggle.zf.trigger', [$(this)]);
+  });
+
+  /**
+  * Fires once after all other scripts have loaded
+  * @function
+  * @private
+  */
+  $(window).load(function () {
+    checkListeners();
+  });
+
+  function checkListeners() {
+    eventsListener();
+    resizeListener();
+    scrollListener();
+    closemeListener();
+  }
+
+  //******** only fires this function once on load, if there's something to watch ********
+  function closemeListener(pluginName) {
+    var yetiBoxes = $('[data-yeti-box]'),
+        plugNames = ['dropdown', 'tooltip', 'reveal'];
+
+    if (pluginName) {
+      if (typeof pluginName === 'string') {
+        plugNames.push(pluginName);
+      } else if (typeof pluginName === 'object' && typeof pluginName[0] === 'string') {
+        plugNames.concat(pluginName);
+      } else {
+        console.error('Plugin names must be strings');
+      }
+    }
+    if (yetiBoxes.length) {
+      var listeners = plugNames.map(function (name) {
+        return 'closeme.zf.' + name;
+      }).join(' ');
+
+      $(window).off(listeners).on(listeners, function (e, pluginId) {
+        var plugin = e.namespace.split('.')[0];
+        var plugins = $('[data-' + plugin + ']').not('[data-yeti-box="' + pluginId + '"]');
+
+        plugins.each(function () {
+          var _this = $(this);
+
+          _this.triggerHandler('close.zf.trigger', [_this]);
+        });
+      });
+    }
+  }
+
+  function resizeListener(debounce) {
+    var timer = void 0,
+        $nodes = $('[data-resize]');
+    if ($nodes.length) {
+      $(window).off('resize.zf.trigger').on('resize.zf.trigger', function (e) {
+        if (timer) {
+          clearTimeout(timer);
+        }
+
+        timer = setTimeout(function () {
+
+          if (!MutationObserver) {
+            //fallback for IE 9
+            $nodes.each(function () {
+              $(this).triggerHandler('resizeme.zf.trigger');
+            });
+          }
+          //trigger all listening elements and signal a resize event
+          $nodes.attr('data-events', "resize");
+        }, debounce || 10); //default time to emit resize event
+      });
+    }
+  }
+
+  function scrollListener(debounce) {
+    var timer = void 0,
+        $nodes = $('[data-scroll]');
+    if ($nodes.length) {
+      $(window).off('scroll.zf.trigger').on('scroll.zf.trigger', function (e) {
+        if (timer) {
+          clearTimeout(timer);
+        }
+
+        timer = setTimeout(function () {
+
+          if (!MutationObserver) {
+            //fallback for IE 9
+            $nodes.each(function () {
+              $(this).triggerHandler('scrollme.zf.trigger');
+            });
+          }
+          //trigger all listening elements and signal a scroll event
+          $nodes.attr('data-events', "scroll");
+        }, debounce || 10); //default time to emit scroll event
+      });
+    }
+  }
+
+  function eventsListener() {
+    if (!MutationObserver) {
+      return false;
+    }
+    var nodes = document.querySelectorAll('[data-resize], [data-scroll], [data-mutate]');
+
+    //element callback
+    var listeningElementsMutation = function (mutationRecordsList) {
+      var $target = $(mutationRecordsList[0].target);
+      //trigger the event handler for the element depending on type
+      switch ($target.attr("data-events")) {
+
+        case "resize":
+          $target.triggerHandler('resizeme.zf.trigger', [$target]);
+          break;
+
+        case "scroll":
+          $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
+          break;
+
+        // case "mutate" :
+        // console.log('mutate', $target);
+        // $target.triggerHandler('mutate.zf.trigger');
+        //
+        // //make sure we don't get stuck in an infinite loop from sloppy codeing
+        // if ($target.index('[data-mutate]') == $("[data-mutate]").length-1) {
+        //   domMutationObserver();
+        // }
+        // break;
+
+        default:
+          return false;
+        //nothing
+      }
+    };
+
+    if (nodes.length) {
+      //for each element that needs to listen for resizing, scrolling, (or coming soon mutation) add a single observer
+      for (var i = 0; i <= nodes.length - 1; i++) {
+        var elementObserver = new MutationObserver(listeningElementsMutation);
+        elementObserver.observe(nodes[i], { attributes: true, childList: false, characterData: false, subtree: false, attributeFilter: ["data-events"] });
+      }
+    }
+  }
+
+  // ------------------------------------
+
+  // [PH]
+  // Foundation.CheckWatchers = checkWatchers;
+  Foundation.IHearYou = checkListeners;
+  // Foundation.ISeeYou = scrollListener;
+  // Foundation.IFeelYou = closemeListener;
+}(jQuery);
+
+// function domMutationObserver(debounce) {
+//   // !!! This is coming soon and needs more work; not active  !!! //
+//   var timer,
+//   nodes = document.querySelectorAll('[data-mutate]');
+//   //
+//   if (nodes.length) {
+//     // var MutationObserver = (function () {
+//     //   var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
+//     //   for (var i=0; i < prefixes.length; i++) {
+//     //     if (prefixes[i] + 'MutationObserver' in window) {
+//     //       return window[prefixes[i] + 'MutationObserver'];
+//     //     }
+//     //   }
+//     //   return false;
+//     // }());
+//
+//
+//     //for the body, we need to listen for all changes effecting the style and class attributes
+//     var bodyObserver = new MutationObserver(bodyMutation);
+//     bodyObserver.observe(document.body, { attributes: true, childList: true, characterData: false, subtree:true, attributeFilter:["style", "class"]});
+//
+//
+//     //body callback
+//     function bodyMutation(mutate) {
+//       //trigger all listening elements and signal a mutation event
+//       if (timer) { clearTimeout(timer); }
+//
+//       timer = setTimeout(function() {
+//         bodyObserver.disconnect();
+//         $('[data-mutate]').attr('data-events',"mutate");
+//       }, debounce || 150);
+//     }
+//   }
+// }
+'use strict';
+
 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -9066,4 +9066,4 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
 
   // Window exports
   Foundation.plugin(Tooltip, 'Tooltip');
-}(jQuery);
\ No newline at end of file
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.magellan.js b/libraries/foundation-6/js/foundation.magellan.js
new file mode 100755
index 00000000..64b264c7
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.magellan.js
@@ -0,0 +1,223 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Magellan module.
+ * @module foundation.magellan
+ */
+
+class Magellan {
+  /**
+   * Creates a new instance of Magellan.
+   * @class
+   * @fires Magellan#init
+   * @param {Object} element - jQuery object to add the trigger to.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options  = $.extend({}, Magellan.defaults, this.$element.data(), options);
+
+    this._init();
+
+    Foundation.registerPlugin(this, 'Magellan');
+  }
+
+  /**
+   * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.
+   * @private
+   */
+  _init() {
+    var id = this.$element[0].id || Foundation.GetYoDigits(6, 'magellan');
+    var _this = this;
+    this.$targets = $('[data-magellan-target]');
+    this.$links = this.$element.find('a');
+    this.$element.attr({
+      'data-resize': id,
+      'data-scroll': id,
+      'id': id
+    });
+    this.$active = $();
+    this.scrollPos = parseInt(window.pageYOffset, 10);
+
+    this._events();
+  }
+
+  /**
+   * Calculates an array of pixel values that are the demarcation lines between locations on the page.
+   * Can be invoked if new elements are added or the size of a location changes.
+   * @function
+   */
+  calcPoints() {
+    var _this = this,
+        body = document.body,
+        html = document.documentElement;
+
+    this.points = [];
+    this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));
+    this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));
+
+    this.$targets.each(function(){
+      var $tar = $(this),
+          pt = Math.round($tar.offset().top - _this.options.threshold);
+      $tar.targetPoint = pt;
+      _this.points.push(pt);
+    });
+  }
+
+  /**
+   * Initializes events for Magellan.
+   * @private
+   */
+  _events() {
+    var _this = this,
+        $body = $('html, body'),
+        opts = {
+          duration: _this.options.animationDuration,
+          easing:   _this.options.animationEasing
+        };
+    $(window).one('load', function(){
+      if(_this.options.deepLinking){
+        if(location.hash){
+          _this.scrollToLoc(location.hash);
+        }
+      }
+      _this.calcPoints();
+      _this._updateActive();
+    });
+
+    this.$element.on({
+      'resizeme.zf.trigger': this.reflow.bind(this),
+      'scrollme.zf.trigger': this._updateActive.bind(this)
+    }).on('click.zf.magellan', 'a[href^="#"]', function(e) {
+        e.preventDefault();
+        var arrival   = this.getAttribute('href');
+        _this.scrollToLoc(arrival);
+    });
+  }
+
+  /**
+   * Function to scroll to a given location on the page.
+   * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'
+   * @function
+   */
+  scrollToLoc(loc) {
+    var scrollPos = Math.round($(loc).offset().top - this.options.threshold / 2 - this.options.barOffset);
+
+    $('html, body').stop(true).animate({ scrollTop: scrollPos }, this.options.animationDuration, this.options.animationEasing);
+  }
+
+  /**
+   * Calls necessary functions to update Magellan upon DOM change
+   * @function
+   */
+  reflow() {
+    this.calcPoints();
+    this._updateActive();
+  }
+
+  /**
+   * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.
+   * @private
+   * @function
+   * @fires Magellan#update
+   */
+  _updateActive(/*evt, elem, scrollPos*/) {
+    var winPos = /*scrollPos ||*/ parseInt(window.pageYOffset, 10),
+        curIdx;
+
+    if(winPos + this.winHeight === this.docHeight){ curIdx = this.points.length - 1; }
+    else if(winPos < this.points[0]){ curIdx = 0; }
+    else{
+      var isDown = this.scrollPos < winPos,
+          _this = this,
+          curVisible = this.points.filter(function(p, i){
+            return isDown ? p - _this.options.barOffset <= winPos : p - _this.options.barOffset - _this.options.threshold <= winPos;
+          });
+      curIdx = curVisible.length ? curVisible.length - 1 : 0;
+    }
+
+    this.$active.removeClass(this.options.activeClass);
+    this.$active = this.$links.eq(curIdx).addClass(this.options.activeClass);
+
+    if(this.options.deepLinking){
+      var hash = this.$active[0].getAttribute('href');
+      if(window.history.pushState){
+        window.history.pushState(null, null, hash);
+      }else{
+        window.location.hash = hash;
+      }
+    }
+
+    this.scrollPos = winPos;
+    /**
+     * Fires when magellan is finished updating to the new active element.
+     * @event Magellan#update
+     */
+    this.$element.trigger('update.zf.magellan', [this.$active]);
+  }
+
+  /**
+   * Destroys an instance of Magellan and resets the url of the window.
+   * @function
+   */
+  destroy() {
+    this.$element.off('.zf.trigger .zf.magellan')
+        .find(`.${this.options.activeClass}`).removeClass(this.options.activeClass);
+
+    if(this.options.deepLinking){
+      var hash = this.$active[0].getAttribute('href');
+      window.location.hash.replace(hash, '');
+    }
+
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+/**
+ * Default settings for plugin
+ */
+Magellan.defaults = {
+  /**
+   * Amount of time, in ms, the animated scrolling should take between locations.
+   * @option
+   * @example 500
+   */
+  animationDuration: 500,
+  /**
+   * Animation style to use when scrolling between locations.
+   * @option
+   * @example 'ease-in-out'
+   */
+  animationEasing: 'linear',
+  /**
+   * Number of pixels to use as a marker for location changes.
+   * @option
+   * @example 50
+   */
+  threshold: 50,
+  /**
+   * Class applied to the active locations link on the magellan container.
+   * @option
+   * @example 'active'
+   */
+  activeClass: 'active',
+  /**
+   * Allows the script to manipulate the url of the current page, and if supported, alter the history.
+   * @option
+   * @example true
+   */
+  deepLinking: false,
+  /**
+   * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.
+   * @option
+   * @example 25
+   */
+  barOffset: 0
+}
+
+// Window exports
+Foundation.plugin(Magellan, 'Magellan');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.min.js b/libraries/foundation-6/js/foundation.min.js
index d4812cc9..02b9150a 100644
--- a/libraries/foundation-6/js/foundation.min.js
+++ b/libraries/foundation-6/js/foundation.min.js
@@ -1,4 +1,4 @@
-function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}!function(t){"use strict";function e(t){if(void 0===Function.prototype.name){var e=/function\s([^(]{1,})\(/,i=e.exec(t.toString());return i&&i.length>1?i[1].trim():""}return void 0===t.prototype?t.constructor.name:t.prototype.constructor.name}function i(t){return/true/.test(t)?!0:/false/.test(t)?!1:isNaN(1*t)?t:parseFloat(t)}function n(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var s="6.2.2",o={version:s,_plugins:{},_uuids:[],rtl:function(){return"rtl"===t("html").attr("dir")},plugin:function(t,i){var s=i||e(t),o=n(s);this._plugins[o]=this[s]=t},registerPlugin:function(t,i){var s=i?n(i):e(t.constructor).toLowerCase();t.uuid=this.GetYoDigits(6,s),t.$element.attr("data-"+s)||t.$element.attr("data-"+s,t.uuid),t.$element.data("zfPlugin")||t.$element.data("zfPlugin",t),t.$element.trigger("init.zf."+s),this._uuids.push(t.uuid)},unregisterPlugin:function(t){var i=n(e(t.$element.data("zfPlugin").constructor));this._uuids.splice(this._uuids.indexOf(t.uuid),1),t.$element.removeAttr("data-"+i).removeData("zfPlugin").trigger("destroyed.zf."+i);for(var s in t)t[s]=null},reInit:function(e){var i=e instanceof t;try{if(i)e.each(function(){t(this).data("zfPlugin")._init()});else{var s=typeof e,o=this,a={object:function(e){e.forEach(function(e){e=n(e),t("[data-"+e+"]").foundation("_init")})},string:function(){e=n(e),t("[data-"+e+"]").foundation("_init")},undefined:function(){this.object(Object.keys(o._plugins))}};a[s](e)}}catch(r){console.error(r)}finally{return e}},GetYoDigits:function(t,e){return t=t||6,Math.round(Math.pow(36,t+1)-Math.random()*Math.pow(36,t)).toString(36).slice(1)+(e?"-"+e:"")},reflow:function(e,n){"undefined"==typeof n?n=Object.keys(this._plugins):"string"==typeof n&&(n=[n]);var s=this;t.each(n,function(n,o){var a=s._plugins[o],r=t(e).find("[data-"+o+"]").addBack("[data-"+o+"]");r.each(function(){var e=t(this),n={};if(e.data("zfPlugin"))return void console.warn("Tried to initialize "+o+" on an element that already has a Foundation plugin.");if(e.attr("data-options")){e.attr("data-options").split(";").forEach(function(t,e){var s=t.split(":").map(function(t){return t.trim()});s[0]&&(n[s[0]]=i(s[1]))})}try{e.data("zfPlugin",new a(t(this),n))}catch(s){console.error(s)}finally{return}})})},getFnName:e,transitionend:function(t){var e,i={transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend"},n=document.createElement("div");for(var s in i)"undefined"!=typeof n.style[s]&&(e=i[s]);return e?e:(e=setTimeout(function(){t.triggerHandler("transitionend",[t])},1),"transitionend")}};o.util={throttle:function(t,e){var i=null;return function(){var n=this,s=arguments;null===i&&(i=setTimeout(function(){t.apply(n,s),i=null},e))}}};var a=function(i){var n=typeof i,s=t("meta.foundation-mq"),a=t(".no-js");if(s.length||t('<meta class="foundation-mq">').appendTo(document.head),a.length&&a.removeClass("no-js"),"undefined"===n)o.MediaQuery._init(),o.reflow(this);else{if("string"!==n)throw new TypeError("We're sorry, "+n+" is not a valid parameter. You must use a string representing the method you wish to invoke.");var r=Array.prototype.slice.call(arguments,1),l=this.data("zfPlugin");if(void 0===l||void 0===l[i])throw new ReferenceError("We're sorry, '"+i+"' is not an available method for "+(l?e(l):"this element")+".");1===this.length?l[i].apply(l,r):this.each(function(e,n){l[i].apply(t(n).data("zfPlugin"),r)})}return this};window.Foundation=o,t.fn.foundation=a,function(){Date.now&&window.Date.now||(window.Date.now=Date.now=function(){return(new Date).getTime()});for(var t=["webkit","moz"],e=0;e<t.length&&!window.requestAnimationFrame;++e){var i=t[e];window.requestAnimationFrame=window[i+"RequestAnimationFrame"],window.cancelAnimationFrame=window[i+"CancelAnimationFrame"]||window[i+"CancelRequestAnimationFrame"]}if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)||!window.requestAnimationFrame||!window.cancelAnimationFrame){var n=0;window.requestAnimationFrame=function(t){var e=Date.now(),i=Math.max(n+16,e);return setTimeout(function(){t(n=i)},i-e)},window.cancelAnimationFrame=clearTimeout}window.performance&&window.performance.now||(window.performance={start:Date.now(),now:function(){return Date.now()-this.start}})}(),Function.prototype.bind||(Function.prototype.bind=function(t){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var e=Array.prototype.slice.call(arguments,1),i=this,n=function(){},s=function(){return i.apply(this instanceof n?this:t,e.concat(Array.prototype.slice.call(arguments)))};return this.prototype&&(n.prototype=this.prototype),s.prototype=new n,s})}(jQuery),!function(t){function e(t){var e={};return"string"!=typeof t?e:(t=t.trim().slice(1,-1))?e=t.split("&").reduce(function(t,e){var i=e.replace(/\+/g," ").split("="),n=i[0],s=i[1];return n=decodeURIComponent(n),s=void 0===s?null:decodeURIComponent(s),t.hasOwnProperty(n)?Array.isArray(t[n])?t[n].push(s):t[n]=[t[n],s]:t[n]=s,t},{}):e}var i={queries:[],current:"",_init:function(){var i,n=this,s=t(".foundation-mq").css("font-family");i=e(s);for(var o in i)i.hasOwnProperty(o)&&n.queries.push({name:o,value:"only screen and (min-width: "+i[o]+")"});this.current=this._getCurrentSize(),this._watcher()},atLeast:function(t){var e=this.get(t);return e?window.matchMedia(e).matches:!1},get:function(t){for(var e in this.queries)if(this.queries.hasOwnProperty(e)){var i=this.queries[e];if(t===i.name)return i.value}return null},_getCurrentSize:function(){for(var t,e=0;e<this.queries.length;e++){var i=this.queries[e];window.matchMedia(i.value).matches&&(t=i)}return"object"==typeof t?t.name:t},_watcher:function(){var e=this;t(window).on("resize.zf.mediaquery",function(){var i=e._getCurrentSize(),n=e.current;i!==n&&(e.current=i,t(window).trigger("changed.zf.mediaquery",[i,n]))})}};Foundation.MediaQuery=i,window.matchMedia||(window.matchMedia=function(){"use strict";var t=window.styleMedia||window.media;if(!t){var e=document.createElement("style"),i=document.getElementsByTagName("script")[0],n=null;e.type="text/css",e.id="matchmediajs-test",i.parentNode.insertBefore(e,i),n="getComputedStyle"in window&&window.getComputedStyle(e,null)||e.currentStyle,t={matchMedium:function(t){var i="@media "+t+"{ #matchmediajs-test { width: 1px; } }";return e.styleSheet?e.styleSheet.cssText=i:e.textContent=i,"1px"===n.width}}}return function(e){return{matches:t.matchMedium(e||"all"),media:e||"all"}}}()),Foundation.MediaQuery=i}(jQuery),!function(t){function e(t){var e={};for(var i in t)e[t[i]]=t[i];return e}var i={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},n={},s={keys:e(i),parseKey:function(t){var e=i[t.which||t.keyCode]||String.fromCharCode(t.which).toUpperCase();return t.shiftKey&&(e="SHIFT_"+e),t.ctrlKey&&(e="CTRL_"+e),t.altKey&&(e="ALT_"+e),e},handleKey:function(e,i,s){var o,a,r,l=n[i],u=this.parseKey(e);if(!l)return console.warn("Component not defined!");if(o="undefined"==typeof l.ltr?l:Foundation.rtl()?t.extend({},l.ltr,l.rtl):t.extend({},l.rtl,l.ltr),a=o[u],r=s[a],r&&"function"==typeof r){var d=r.apply();(s.handled||"function"==typeof s.handled)&&s.handled(d)}else(s.unhandled||"function"==typeof s.unhandled)&&s.unhandled()},findFocusable:function(e){return e.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return t(this).is(":visible")&&!(t(this).attr("tabindex")<0)})},register:function(t,e){n[t]=e}};Foundation.Keyboard=s}(jQuery),!function(t){function e(t,e,i){function n(r){a||(a=window.performance.now()),o=r-a,i.apply(e),t>o?s=window.requestAnimationFrame(n,e):(window.cancelAnimationFrame(s),e.trigger("finished.zf.animate",[e]).triggerHandler("finished.zf.animate",[e]))}var s,o,a=null;s=window.requestAnimationFrame(n)}function i(e,i,o,a){function r(){e||i.hide(),l(),a&&a.apply(i)}function l(){i[0].style.transitionDuration=0,i.removeClass(u+" "+d+" "+o)}if(i=t(i).eq(0),i.length){var u=e?n[0]:n[1],d=e?s[0]:s[1];l(),i.addClass(o).css("transition","none"),requestAnimationFrame(function(){i.addClass(u),e&&i.show()}),requestAnimationFrame(function(){i[0].offsetWidth,i.css("transition","").addClass(d)}),i.one(Foundation.transitionend(i),r)}}var n=["mui-enter","mui-leave"],s=["mui-enter-active","mui-leave-active"],o={animateIn:function(t,e,n){i(!0,t,e,n)},animateOut:function(t,e,n){i(!1,t,e,n)}};Foundation.Move=e,Foundation.Motion=o}(jQuery),!function(t){var e={Feather:function(e){var i=arguments.length<=1||void 0===arguments[1]?"zf":arguments[1];e.attr("role","menubar");var n=e.find("li").attr({role:"menuitem"}),s="is-"+i+"-submenu",o=s+"-item",a="is-"+i+"-submenu-parent";e.find("a:first").attr("tabindex",0),n.each(function(){var e=t(this),i=e.children("ul");i.length&&(e.addClass(a).attr({"aria-haspopup":!0,"aria-expanded":!1,"aria-label":e.children("a:first").text()}),i.addClass("submenu "+s).attr({"data-submenu":"","aria-hidden":!0,role:"menu"})),e.parent("[data-submenu]").length&&e.addClass("is-submenu-item "+o)})},Burn:function(t,e){var i=(t.find("li").removeAttr("tabindex"),"is-"+e+"-submenu"),n=i+"-item",s="is-"+e+"-submenu-parent";t.find("*").removeClass(i+" "+n+" "+s+" is-submenu-item submenu is-active").removeAttr("data-submenu").css("display","")}};Foundation.Nest=e}(jQuery),!function(t){function e(t,e,n,s){var o,a,r,l,u=i(t);if(e){var d=i(e);a=u.offset.top+u.height<=d.height+d.offset.top,o=u.offset.top>=d.offset.top,r=u.offset.left>=d.offset.left,l=u.offset.left+u.width<=d.width+d.offset.left}else a=u.offset.top+u.height<=u.windowDims.height+u.windowDims.offset.top,o=u.offset.top>=u.windowDims.offset.top,r=u.offset.left>=u.windowDims.offset.left,l=u.offset.left+u.width<=u.windowDims.width;var h=[a,o,r,l];return n?r===l==!0:s?o===a==!0:-1===h.indexOf(!1)}function i(t,e){if(t=t.length?t[0]:t,t===window||t===document)throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");var i=t.getBoundingClientRect(),n=t.parentNode.getBoundingClientRect(),s=document.body.getBoundingClientRect(),o=window.pageYOffset,a=window.pageXOffset;return{width:i.width,height:i.height,offset:{top:i.top+o,left:i.left+a},parentDims:{width:n.width,height:n.height,offset:{top:n.top+o,left:n.left+a}},windowDims:{width:s.width,height:s.height,offset:{top:o,left:a}}}}function n(t,e,n,s,o,a){var r=i(t),l=e?i(e):null;switch(n){case"top":return{left:Foundation.rtl()?l.offset.left-r.width+l.width:l.offset.left,top:l.offset.top-(r.height+s)};case"left":return{left:l.offset.left-(r.width+o),top:l.offset.top};case"right":return{left:l.offset.left+l.width+o,top:l.offset.top};case"center top":return{left:l.offset.left+l.width/2-r.width/2,top:l.offset.top-(r.height+s)};case"center bottom":return{left:a?o:l.offset.left+l.width/2-r.width/2,top:l.offset.top+l.height+s};case"center left":return{left:l.offset.left-(r.width+o),top:l.offset.top+l.height/2-r.height/2};case"center right":return{left:l.offset.left+l.width+o+1,top:l.offset.top+l.height/2-r.height/2};case"center":return{left:r.windowDims.offset.left+r.windowDims.width/2-r.width/2,top:r.windowDims.offset.top+r.windowDims.height/2-r.height/2};case"reveal":return{left:(r.windowDims.width-r.width)/2,top:r.windowDims.offset.top+s};case"reveal full":return{left:r.windowDims.offset.left,top:r.windowDims.offset.top};case"left bottom":return{left:l.offset.left-(r.width+o),top:l.offset.top+l.height};case"right bottom":return{left:l.offset.left+l.width+o-r.width,top:l.offset.top+l.height};default:return{left:Foundation.rtl()?l.offset.left-r.width+l.width:l.offset.left,top:l.offset.top+l.height+s}}}Foundation.Box={ImNotTouchingYou:e,GetDimensions:i,GetOffsets:n}}(jQuery),!function(t){function e(){o(),n(),s(),i()}function i(e){var i=t("[data-yeti-box]"),n=["dropdown","tooltip","reveal"];if(e&&("string"==typeof e?n.push(e):"object"==typeof e&&"string"==typeof e[0]?n.concat(e):console.error("Plugin names must be strings")),i.length){var s=n.map(function(t){return"closeme.zf."+t}).join(" ");t(window).off(s).on(s,function(e,i){var n=e.namespace.split(".")[0],s=t("[data-"+n+"]").not('[data-yeti-box="'+i+'"]');s.each(function(){var e=t(this);e.triggerHandler("close.zf.trigger",[e])})})}}function n(e){var i=void 0,n=t("[data-resize]");n.length&&t(window).off("resize.zf.trigger").on("resize.zf.trigger",function(s){i&&clearTimeout(i),i=setTimeout(function(){a||n.each(function(){t(this).triggerHandler("resizeme.zf.trigger")}),n.attr("data-events","resize")},e||10)})}function s(e){var i=void 0,n=t("[data-scroll]");n.length&&t(window).off("scroll.zf.trigger").on("scroll.zf.trigger",function(s){i&&clearTimeout(i),i=setTimeout(function(){a||n.each(function(){t(this).triggerHandler("scrollme.zf.trigger")}),n.attr("data-events","scroll")},e||10)})}function o(){if(!a)return!1;var e=document.querySelectorAll("[data-resize], [data-scroll], [data-mutate]"),i=function(e){var i=t(e[0].target);switch(i.attr("data-events")){case"resize":i.triggerHandler("resizeme.zf.trigger",[i]);break;case"scroll":i.triggerHandler("scrollme.zf.trigger",[i,window.pageYOffset]);break;default:return!1}};if(e.length)for(var n=0;n<=e.length-1;n++){var s=new a(i);s.observe(e[n],{attributes:!0,childList:!1,characterData:!1,subtree:!1,attributeFilter:["data-events"]})}}var a=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if(t[e]+"MutationObserver"in window)return window[t[e]+"MutationObserver"];return!1}(),r=function(e,i){e.data(i).split(" ").forEach(function(n){t("#"+n)["close"===i?"trigger":"triggerHandler"](i+".zf.trigger",[e])})};t(document).on("click.zf.trigger","[data-open]",function(){r(t(this),"open")}),t(document).on("click.zf.trigger","[data-close]",function(){var e=t(this).data("close");e?r(t(this),"close"):t(this).trigger("close.zf.trigger")}),t(document).on("click.zf.trigger","[data-toggle]",function(){r(t(this),"toggle")}),t(document).on("close.zf.trigger","[data-closable]",function(e){e.stopPropagation();var i=t(this).data("closable");""!==i?Foundation.Motion.animateOut(t(this),i,function(){t(this).trigger("closed.zf")}):t(this).fadeOut().trigger("closed.zf")}),t(document).on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",function(){var e=t(this).data("toggle-focus");t("#"+e).triggerHandler("toggle.zf.trigger",[t(this)])}),t(window).load(function(){e()}),Foundation.IHearYou=e}(jQuery),!function(t){function e(t,e,i){var n,s,o=this,a=e.duration,r=Object.keys(t.data())[0]||"timer",l=-1;this.isPaused=!1,this.restart=function(){l=-1,clearTimeout(s),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(s),l=0>=l?a:l,t.data("paused",!1),n=Date.now(),s=setTimeout(function(){e.infinite&&o.restart(),i()},l),t.trigger("timerstart.zf."+r)},this.pause=function(){this.isPaused=!0,clearTimeout(s),t.data("paused",!0);var e=Date.now();l-=e-n,t.trigger("timerpaused.zf."+r)}}function i(e,i){function n(){s--,0===s&&i()}var s=e.length;0===s&&i(),e.each(function(){this.complete?n():"undefined"!=typeof this.naturalWidth&&this.naturalWidth>0?n():t(this).one("load",function(){n()})})}Foundation.Timer=e,Foundation.onImagesLoaded=i}(jQuery),function(t){function e(){this.removeEventListener("touchmove",i),this.removeEventListener("touchend",e),u=!1}function i(i){if(t.spotSwipe.preventDefault&&i.preventDefault(),u){var n,s=i.touches[0].pageX,a=(i.touches[0].pageY,o-s);l=(new Date).getTime()-r,Math.abs(a)>=t.spotSwipe.moveThreshold&&l<=t.spotSwipe.timeThreshold&&(n=a>0?"left":"right"),n&&(i.preventDefault(),e.call(this),t(this).trigger("swipe",n).trigger("swipe"+n))}}function n(t){1==t.touches.length&&(o=t.touches[0].pageX,a=t.touches[0].pageY,u=!0,r=(new Date).getTime(),this.addEventListener("touchmove",i,!1),this.addEventListener("touchend",e,!1))}function s(){this.addEventListener&&this.addEventListener("touchstart",n,!1)}t.spotSwipe={version:"1.0.0",enabled:"ontouchstart"in document.documentElement,preventDefault:!1,moveThreshold:75,timeThreshold:200};var o,a,r,l,u=!1;t.event.special.swipe={setup:s},t.each(["left","up","down","right"],function(){t.event.special["swipe"+this]={setup:function(){t(this).on("swipe",t.noop)}}})}(jQuery),!function(t){t.fn.addTouch=function(){this.each(function(i,n){t(n).bind("touchstart touchmove touchend touchcancel",function(){e(event)})});var e=function(t){var e,i=t.changedTouches,n=i[0],s={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup"},o=s[t.type];"MouseEvent"in window&&"function"==typeof window.MouseEvent?e=new window.MouseEvent(o,{bubbles:!0,cancelable:!0,screenX:n.screenX,screenY:n.screenY,clientX:n.clientX,clientY:n.clientY}):(e=document.createEvent("MouseEvent"),e.initMouseEvent(o,!0,!0,window,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null)),n.target.dispatchEvent(e)}}}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Abide")}return _createClass(e,[{key:"_init",value:function(){this.$inputs=this.$element.find("input, textarea, select"),this._events()}},{key:"_events",value:function(){var e=this;this.$element.off(".abide").on("reset.zf.abide",function(){e.resetForm()}).on("submit.zf.abide",function(){return e.validateForm()}),"fieldChange"===this.options.validateOn&&this.$inputs.off("change.zf.abide").on("change.zf.abide",function(i){e.validateInput(t(i.target))}),this.options.liveValidate&&this.$inputs.off("input.zf.abide").on("input.zf.abide",function(i){e.validateInput(t(i.target))})}},{key:"_reflow",value:function(){this._init()}},{key:"requiredCheck",value:function(t){if(!t.attr("required"))return!0;var e=!0;switch(t[0].type){case"checkbox":e=t[0].checked;break;case"select":case"select-one":case"select-multiple":var i=t.find("option:selected");i.length&&i.val()||(e=!1);break;default:t.val()&&t.val().length||(e=!1)}return e}},{key:"findFormError",value:function(t){var e=t.siblings(this.options.formErrorSelector);return e.length||(e=t.parent().find(this.options.formErrorSelector)),e}},{key:"findLabel",value:function(t){var e=t[0].id,i=this.$element.find('label[for="'+e+'"]');return i.length?i:t.closest("label")}},{key:"findRadioLabels",value:function(e){var i=this,n=e.map(function(e,n){var s=n.id,o=i.$element.find('label[for="'+s+'"]');return o.length||(o=t(n).closest("label")),o[0]});return t(n)}},{key:"addErrorClasses",value:function(t){var e=this.findLabel(t),i=this.findFormError(t);e.length&&e.addClass(this.options.labelErrorClass),i.length&&i.addClass(this.options.formErrorClass),t.addClass(this.options.inputErrorClass).attr("data-invalid","")}},{key:"removeRadioErrorClasses",value:function(t){var e=this.$element.find(':radio[name="'+t+'"]'),i=this.findRadioLabels(e),n=this.findFormError(e);i.length&&i.removeClass(this.options.labelErrorClass),n.length&&n.removeClass(this.options.formErrorClass),e.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"removeErrorClasses",value:function(t){if("radio"==t[0].type)return this.removeRadioErrorClasses(t.attr("name"));var e=this.findLabel(t),i=this.findFormError(t);e.length&&e.removeClass(this.options.labelErrorClass),i.length&&i.removeClass(this.options.formErrorClass),t.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"validateInput",value:function(t){var e=this.requiredCheck(t),i=!1,n=!0,s=t.attr("data-validator"),o=!0;if(t.is("[data-abide-ignore]")||t.is('[type="hidden"]'))return!0;switch(t[0].type){case"radio":i=this.validateRadio(t.attr("name"));break;case"checkbox":i=e;break;case"select":case"select-one":case"select-multiple":i=e;break;default:i=this.validateText(t)}s&&(n=this.matchValidation(t,s,t.attr("required"))),t.attr("data-equalto")&&(o=this.options.validators.equalTo(t));var a=-1===[e,i,n,o].indexOf(!1),r=(a?"valid":"invalid")+".zf.abide";return this[a?"removeErrorClasses":"addErrorClasses"](t),t.trigger(r,[t]),a}},{key:"validateForm",value:function(){var e=[],i=this;this.$inputs.each(function(){e.push(i.validateInput(t(this)))});var n=-1===e.indexOf(!1);return this.$element.find("[data-abide-error]").css("display",n?"none":"block"),this.$element.trigger((n?"formvalid":"forminvalid")+".zf.abide",[this.$element]),n}},{key:"validateText",value:function(t,e){e=e||t.attr("pattern")||t.attr("type");var i=t.val(),n=!1;return i.length?n=this.options.patterns.hasOwnProperty(e)?this.options.patterns[e].test(i):e!==t.attr("type")?new RegExp(e).test(i):!0:t.prop("required")||(n=!0),n}},{key:"validateRadio",value:function(e){var i=this.$element.find(':radio[name="'+e+'"]'),n=!1,s=!1;return i.each(function(e,i){t(i).attr("required")&&(s=!0)}),s||(n=!0),n||i.each(function(e,i){t(i).prop("checked")&&(n=!0)}),n}},{key:"matchValidation",value:function(t,e,i){var n=this;i=!!i;var s=e.split(" ").map(function(e){return n.options.validators[e](t,i,t.parent())});return-1===s.indexOf(!1)}},{key:"resetForm",value:function(){var e=this.$element,i=this.options;t("."+i.labelErrorClass,e).not("small").removeClass(i.labelErrorClass),t("."+i.inputErrorClass,e).not("small").removeClass(i.inputErrorClass),t(i.formErrorSelector+"."+i.formErrorClass).removeClass(i.formErrorClass),e.find("[data-abide-error]").css("display","none"),t(":input",e).not(":button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]").val("").removeAttr("data-invalid"),t(":input:radio",e).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),t(":input:checkbox",e).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),e.trigger("formreset.zf.abide",[e])}},{key:"destroy",value:function(){var e=this;this.$element.off(".abide").find("[data-abide-error]").css("display","none"),this.$inputs.off(".abide").each(function(){e.removeErrorClasses(t(this))}),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={validateOn:"fieldChange",labelErrorClass:"is-invalid-label",inputErrorClass:"is-invalid-input",formErrorSelector:".form-error",formErrorClass:"is-visible",liveValidate:!1,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/},validators:{equalTo:function(e,i,n){return t("#"+e.attr("data-equalto")).val()===e.val()}}},Foundation.plugin(e,"Abide")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Accordion"),Foundation.Keyboard.register("Accordion",{ENTER:"toggle",SPACE:"toggle",ARROW_DOWN:"next",ARROW_UP:"previous"})}return _createClass(e,[{key:"_init",value:function(){this.$element.attr("role","tablist"),this.$tabs=this.$element.children("li, [data-accordion-item]"),this.$tabs.each(function(e,i){var n=t(i),s=n.children("[data-tab-content]"),o=s[0].id||Foundation.GetYoDigits(6,"accordion"),a=i.id||o+"-label";n.find("a:first").attr({"aria-controls":o,role:"tab",id:a,"aria-expanded":!1,"aria-selected":!1}),s.attr({role:"tabpanel","aria-labelledby":a,"aria-hidden":!0,id:o})});var e=this.$element.find(".is-active").children("[data-tab-content]");e.length&&this.down(e,!0),this._events()}},{key:"_events",value:function(){var e=this;this.$tabs.each(function(){var i=t(this),n=i.children("[data-tab-content]");n.length&&i.children("a").off("click.zf.accordion keydown.zf.accordion").on("click.zf.accordion",function(t){t.preventDefault(),i.hasClass("is-active")?(e.options.allowAllClosed||i.siblings().hasClass("is-active"))&&e.up(n):e.down(n)}).on("keydown.zf.accordion",function(t){Foundation.Keyboard.handleKey(t,"Accordion",{toggle:function(){e.toggle(n)},next:function(){var t=i.next().find("a").focus();e.options.multiExpand||t.trigger("click.zf.accordion")},previous:function(){var t=i.prev().find("a").focus();e.options.multiExpand||t.trigger("click.zf.accordion")},handled:function(){t.preventDefault(),t.stopPropagation()}})})})}},{key:"toggle",value:function(t){if(t.parent().hasClass("is-active")){if(!this.options.allowAllClosed&&!t.parent().siblings().hasClass("is-active"))return;this.up(t)}else this.down(t)}},{key:"down",value:function(e,i){var n=this;if(!this.options.multiExpand&&!i){var s=this.$element.children(".is-active").children("[data-tab-content]");s.length&&this.up(s)}e.attr("aria-hidden",!1).parent("[data-tab-content]").addBack().parent().addClass("is-active"),e.slideDown(this.options.slideSpeed,function(){n.$element.trigger("down.zf.accordion",[e])}),t("#"+e.attr("aria-labelledby")).attr({"aria-expanded":!0,"aria-selected":!0})}},{key:"up",value:function(e){var i=e.parent().siblings(),n=this,s=this.options.multiExpand?i.hasClass("is-active"):e.parent().hasClass("is-active");(this.options.allowAllClosed||s)&&(e.slideUp(n.options.slideSpeed,function(){n.$element.trigger("up.zf.accordion",[e])}),e.attr("aria-hidden",!0).parent().removeClass("is-active"),t("#"+e.attr("aria-labelledby")).attr({"aria-expanded":!1,"aria-selected":!1}))}},{key:"destroy",value:function(){this.$element.find("[data-tab-content]").stop(!0).slideUp(0).css("display",""),this.$element.find("a").off(".zf.accordion"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={slideSpeed:250,multiExpand:!1,allowAllClosed:!1},Foundation.plugin(e,"Accordion")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),Foundation.Nest.Feather(this.$element,"accordion"),this._init(),Foundation.registerPlugin(this,"AccordionMenu"),Foundation.Keyboard.register("AccordionMenu",{ENTER:"toggle",SPACE:"toggle",ARROW_RIGHT:"open",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"close",ESCAPE:"closeAll",TAB:"down",SHIFT_TAB:"up"})}return _createClass(e,[{key:"_init",value:function(){this.$element.find("[data-submenu]").not(".is-active").slideUp(0),this.$element.attr({role:"tablist","aria-multiselectable":this.options.multiOpen}),this.$menuLinks=this.$element.find(".is-accordion-submenu-parent"),this.$menuLinks.each(function(){var e=this.id||Foundation.GetYoDigits(6,"acc-menu-link"),i=t(this),n=i.children("[data-submenu]"),s=n[0].id||Foundation.GetYoDigits(6,"acc-menu"),o=n.hasClass("is-active");i.attr({"aria-controls":s,"aria-expanded":o,role:"tab",id:e}),n.attr({"aria-labelledby":e,"aria-hidden":!o,role:"tabpanel",id:s})});var e=this.$element.find(".is-active");if(e.length){var i=this;e.each(function(){i.down(t(this))})}this._events()}},{key:"_events",value:function(){var e=this;this.$element.find("li").each(function(){var i=t(this).children("[data-submenu]");i.length&&t(this).children("a").off("click.zf.accordionMenu").on("click.zf.accordionMenu",function(t){t.preventDefault(),e.toggle(i)})}).on("keydown.zf.accordionmenu",function(i){var n,s,o=t(this),a=o.parent("ul").children("li"),r=o.children("[data-submenu]");a.each(function(e){return t(this).is(o)?(n=a.eq(Math.max(0,e-1)).find("a").first(),
+function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}!function(t){"use strict";function e(t){if(void 0===Function.prototype.name){var e=/function\s([^(]{1,})\(/,i=e.exec(t.toString());return i&&i.length>1?i[1].trim():""}return void 0===t.prototype?t.constructor.name:t.prototype.constructor.name}function i(t){return/true/.test(t)?!0:/false/.test(t)?!1:isNaN(1*t)?t:parseFloat(t)}function n(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var s="6.2.3",o={version:s,_plugins:{},_uuids:[],rtl:function(){return"rtl"===t("html").attr("dir")},plugin:function(t,i){var s=i||e(t),o=n(s);this._plugins[o]=this[s]=t},registerPlugin:function(t,i){var s=i?n(i):e(t.constructor).toLowerCase();t.uuid=this.GetYoDigits(6,s),t.$element.attr("data-"+s)||t.$element.attr("data-"+s,t.uuid),t.$element.data("zfPlugin")||t.$element.data("zfPlugin",t),t.$element.trigger("init.zf."+s),this._uuids.push(t.uuid)},unregisterPlugin:function(t){var i=n(e(t.$element.data("zfPlugin").constructor));this._uuids.splice(this._uuids.indexOf(t.uuid),1),t.$element.removeAttr("data-"+i).removeData("zfPlugin").trigger("destroyed.zf."+i);for(var s in t)t[s]=null},reInit:function(e){var i=e instanceof t;try{if(i)e.each(function(){t(this).data("zfPlugin")._init()});else{var s=typeof e,o=this,a={object:function(e){e.forEach(function(e){e=n(e),t("[data-"+e+"]").foundation("_init")})},string:function(){e=n(e),t("[data-"+e+"]").foundation("_init")},undefined:function(){this.object(Object.keys(o._plugins))}};a[s](e)}}catch(r){console.error(r)}finally{return e}},GetYoDigits:function(t,e){return t=t||6,Math.round(Math.pow(36,t+1)-Math.random()*Math.pow(36,t)).toString(36).slice(1)+(e?"-"+e:"")},reflow:function(e,n){"undefined"==typeof n?n=Object.keys(this._plugins):"string"==typeof n&&(n=[n]);var s=this;t.each(n,function(n,o){var a=s._plugins[o],r=t(e).find("[data-"+o+"]").addBack("[data-"+o+"]");r.each(function(){var e=t(this),n={};if(e.data("zfPlugin"))return void console.warn("Tried to initialize "+o+" on an element that already has a Foundation plugin.");if(e.attr("data-options")){e.attr("data-options").split(";").forEach(function(t,e){var s=t.split(":").map(function(t){return t.trim()});s[0]&&(n[s[0]]=i(s[1]))})}try{e.data("zfPlugin",new a(t(this),n))}catch(s){console.error(s)}finally{return}})})},getFnName:e,transitionend:function(t){var e,i={transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend"},n=document.createElement("div");for(var s in i)"undefined"!=typeof n.style[s]&&(e=i[s]);return e?e:(e=setTimeout(function(){t.triggerHandler("transitionend",[t])},1),"transitionend")}};o.util={throttle:function(t,e){var i=null;return function(){var n=this,s=arguments;null===i&&(i=setTimeout(function(){t.apply(n,s),i=null},e))}}};var a=function(i){var n=typeof i,s=t("meta.foundation-mq"),a=t(".no-js");if(s.length||t('<meta class="foundation-mq">').appendTo(document.head),a.length&&a.removeClass("no-js"),"undefined"===n)o.MediaQuery._init(),o.reflow(this);else{if("string"!==n)throw new TypeError("We're sorry, "+n+" is not a valid parameter. You must use a string representing the method you wish to invoke.");var r=Array.prototype.slice.call(arguments,1),l=this.data("zfPlugin");if(void 0===l||void 0===l[i])throw new ReferenceError("We're sorry, '"+i+"' is not an available method for "+(l?e(l):"this element")+".");1===this.length?l[i].apply(l,r):this.each(function(e,n){l[i].apply(t(n).data("zfPlugin"),r)})}return this};window.Foundation=o,t.fn.foundation=a,function(){Date.now&&window.Date.now||(window.Date.now=Date.now=function(){return(new Date).getTime()});for(var t=["webkit","moz"],e=0;e<t.length&&!window.requestAnimationFrame;++e){var i=t[e];window.requestAnimationFrame=window[i+"RequestAnimationFrame"],window.cancelAnimationFrame=window[i+"CancelAnimationFrame"]||window[i+"CancelRequestAnimationFrame"]}if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)||!window.requestAnimationFrame||!window.cancelAnimationFrame){var n=0;window.requestAnimationFrame=function(t){var e=Date.now(),i=Math.max(n+16,e);return setTimeout(function(){t(n=i)},i-e)},window.cancelAnimationFrame=clearTimeout}window.performance&&window.performance.now||(window.performance={start:Date.now(),now:function(){return Date.now()-this.start}})}(),Function.prototype.bind||(Function.prototype.bind=function(t){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var e=Array.prototype.slice.call(arguments,1),i=this,n=function(){},s=function(){return i.apply(this instanceof n?this:t,e.concat(Array.prototype.slice.call(arguments)))};return this.prototype&&(n.prototype=this.prototype),s.prototype=new n,s})}(jQuery),!function(t){function e(t,e,n,s){var o,a,r,l,u=i(t);if(e){var d=i(e);a=u.offset.top+u.height<=d.height+d.offset.top,o=u.offset.top>=d.offset.top,r=u.offset.left>=d.offset.left,l=u.offset.left+u.width<=d.width+d.offset.left}else a=u.offset.top+u.height<=u.windowDims.height+u.windowDims.offset.top,o=u.offset.top>=u.windowDims.offset.top,r=u.offset.left>=u.windowDims.offset.left,l=u.offset.left+u.width<=u.windowDims.width;var h=[a,o,r,l];return n?r===l==!0:s?o===a==!0:-1===h.indexOf(!1)}function i(t,e){if(t=t.length?t[0]:t,t===window||t===document)throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");var i=t.getBoundingClientRect(),n=t.parentNode.getBoundingClientRect(),s=document.body.getBoundingClientRect(),o=window.pageYOffset,a=window.pageXOffset;return{width:i.width,height:i.height,offset:{top:i.top+o,left:i.left+a},parentDims:{width:n.width,height:n.height,offset:{top:n.top+o,left:n.left+a}},windowDims:{width:s.width,height:s.height,offset:{top:o,left:a}}}}function n(t,e,n,s,o,a){var r=i(t),l=e?i(e):null;switch(n){case"top":return{left:Foundation.rtl()?l.offset.left-r.width+l.width:l.offset.left,top:l.offset.top-(r.height+s)};case"left":return{left:l.offset.left-(r.width+o),top:l.offset.top};case"right":return{left:l.offset.left+l.width+o,top:l.offset.top};case"center top":return{left:l.offset.left+l.width/2-r.width/2,top:l.offset.top-(r.height+s)};case"center bottom":return{left:a?o:l.offset.left+l.width/2-r.width/2,top:l.offset.top+l.height+s};case"center left":return{left:l.offset.left-(r.width+o),top:l.offset.top+l.height/2-r.height/2};case"center right":return{left:l.offset.left+l.width+o+1,top:l.offset.top+l.height/2-r.height/2};case"center":return{left:r.windowDims.offset.left+r.windowDims.width/2-r.width/2,top:r.windowDims.offset.top+r.windowDims.height/2-r.height/2};case"reveal":return{left:(r.windowDims.width-r.width)/2,top:r.windowDims.offset.top+s};case"reveal full":return{left:r.windowDims.offset.left,top:r.windowDims.offset.top};case"left bottom":return{left:l.offset.left-(r.width+o),top:l.offset.top+l.height};case"right bottom":return{left:l.offset.left+l.width+o-r.width,top:l.offset.top+l.height};default:return{left:Foundation.rtl()?l.offset.left-r.width+l.width:l.offset.left,top:l.offset.top+l.height+s}}}Foundation.Box={ImNotTouchingYou:e,GetDimensions:i,GetOffsets:n}}(jQuery),!function(t){function e(t){var e={};for(var i in t)e[t[i]]=t[i];return e}var i={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},n={},s={keys:e(i),parseKey:function(t){var e=i[t.which||t.keyCode]||String.fromCharCode(t.which).toUpperCase();return t.shiftKey&&(e="SHIFT_"+e),t.ctrlKey&&(e="CTRL_"+e),t.altKey&&(e="ALT_"+e),e},handleKey:function(e,i,s){var o,a,r,l=n[i],u=this.parseKey(e);if(!l)return console.warn("Component not defined!");if(o="undefined"==typeof l.ltr?l:Foundation.rtl()?t.extend({},l.ltr,l.rtl):t.extend({},l.rtl,l.ltr),a=o[u],r=s[a],r&&"function"==typeof r){var d=r.apply();(s.handled||"function"==typeof s.handled)&&s.handled(d)}else(s.unhandled||"function"==typeof s.unhandled)&&s.unhandled()},findFocusable:function(e){return e.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return t(this).is(":visible")&&!(t(this).attr("tabindex")<0)})},register:function(t,e){n[t]=e}};Foundation.Keyboard=s}(jQuery),!function(t){function e(t){var e={};return"string"!=typeof t?e:(t=t.trim().slice(1,-1))?e=t.split("&").reduce(function(t,e){var i=e.replace(/\+/g," ").split("="),n=i[0],s=i[1];return n=decodeURIComponent(n),s=void 0===s?null:decodeURIComponent(s),t.hasOwnProperty(n)?Array.isArray(t[n])?t[n].push(s):t[n]=[t[n],s]:t[n]=s,t},{}):e}var i={queries:[],current:"",_init:function(){var i,n=this,s=t(".foundation-mq").css("font-family");i=e(s);for(var o in i)i.hasOwnProperty(o)&&n.queries.push({name:o,value:"only screen and (min-width: "+i[o]+")"});this.current=this._getCurrentSize(),this._watcher()},atLeast:function(t){var e=this.get(t);return e?window.matchMedia(e).matches:!1},get:function(t){for(var e in this.queries)if(this.queries.hasOwnProperty(e)){var i=this.queries[e];if(t===i.name)return i.value}return null},_getCurrentSize:function(){for(var t,e=0;e<this.queries.length;e++){var i=this.queries[e];window.matchMedia(i.value).matches&&(t=i)}return"object"==typeof t?t.name:t},_watcher:function(){var e=this;t(window).on("resize.zf.mediaquery",function(){var i=e._getCurrentSize(),n=e.current;i!==n&&(e.current=i,t(window).trigger("changed.zf.mediaquery",[i,n]))})}};Foundation.MediaQuery=i,window.matchMedia||(window.matchMedia=function(){"use strict";var t=window.styleMedia||window.media;if(!t){var e=document.createElement("style"),i=document.getElementsByTagName("script")[0],n=null;e.type="text/css",e.id="matchmediajs-test",i.parentNode.insertBefore(e,i),n="getComputedStyle"in window&&window.getComputedStyle(e,null)||e.currentStyle,t={matchMedium:function(t){var i="@media "+t+"{ #matchmediajs-test { width: 1px; } }";return e.styleSheet?e.styleSheet.cssText=i:e.textContent=i,"1px"===n.width}}}return function(e){return{matches:t.matchMedium(e||"all"),media:e||"all"}}}()),Foundation.MediaQuery=i}(jQuery),!function(t){function e(t,e,i){function n(r){a||(a=window.performance.now()),o=r-a,i.apply(e),t>o?s=window.requestAnimationFrame(n,e):(window.cancelAnimationFrame(s),e.trigger("finished.zf.animate",[e]).triggerHandler("finished.zf.animate",[e]))}var s,o,a=null;s=window.requestAnimationFrame(n)}function i(e,i,o,a){function r(){e||i.hide(),l(),a&&a.apply(i)}function l(){i[0].style.transitionDuration=0,i.removeClass(u+" "+d+" "+o)}if(i=t(i).eq(0),i.length){var u=e?n[0]:n[1],d=e?s[0]:s[1];l(),i.addClass(o).css("transition","none"),requestAnimationFrame(function(){i.addClass(u),e&&i.show()}),requestAnimationFrame(function(){i[0].offsetWidth,i.css("transition","").addClass(d)}),i.one(Foundation.transitionend(i),r)}}var n=["mui-enter","mui-leave"],s=["mui-enter-active","mui-leave-active"],o={animateIn:function(t,e,n){i(!0,t,e,n)},animateOut:function(t,e,n){i(!1,t,e,n)}};Foundation.Move=e,Foundation.Motion=o}(jQuery),!function(t){var e={Feather:function(e){var i=arguments.length<=1||void 0===arguments[1]?"zf":arguments[1];e.attr("role","menubar");var n=e.find("li").attr({role:"menuitem"}),s="is-"+i+"-submenu",o=s+"-item",a="is-"+i+"-submenu-parent";e.find("a:first").attr("tabindex",0),n.each(function(){var e=t(this),i=e.children("ul");i.length&&(e.addClass(a).attr({"aria-haspopup":!0,"aria-expanded":!1,"aria-label":e.children("a:first").text()}),i.addClass("submenu "+s).attr({"data-submenu":"","aria-hidden":!0,role:"menu"})),e.parent("[data-submenu]").length&&e.addClass("is-submenu-item "+o)})},Burn:function(t,e){var i=(t.find("li").removeAttr("tabindex"),"is-"+e+"-submenu"),n=i+"-item",s="is-"+e+"-submenu-parent";t.find("*").removeClass(i+" "+n+" "+s+" is-submenu-item submenu is-active").removeAttr("data-submenu").css("display","")}};Foundation.Nest=e}(jQuery),!function(t){function e(t,e,i){var n,s,o=this,a=e.duration,r=Object.keys(t.data())[0]||"timer",l=-1;this.isPaused=!1,this.restart=function(){l=-1,clearTimeout(s),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(s),l=0>=l?a:l,t.data("paused",!1),n=Date.now(),s=setTimeout(function(){e.infinite&&o.restart(),i()},l),t.trigger("timerstart.zf."+r)},this.pause=function(){this.isPaused=!0,clearTimeout(s),t.data("paused",!0);var e=Date.now();l-=e-n,t.trigger("timerpaused.zf."+r)}}function i(e,i){function n(){s--,0===s&&i()}var s=e.length;0===s&&i(),e.each(function(){this.complete?n():"undefined"!=typeof this.naturalWidth&&this.naturalWidth>0?n():t(this).one("load",function(){n()})})}Foundation.Timer=e,Foundation.onImagesLoaded=i}(jQuery),function(t){function e(){this.removeEventListener("touchmove",i),this.removeEventListener("touchend",e),u=!1}function i(i){if(t.spotSwipe.preventDefault&&i.preventDefault(),u){var n,s=i.touches[0].pageX,a=(i.touches[0].pageY,o-s);l=(new Date).getTime()-r,Math.abs(a)>=t.spotSwipe.moveThreshold&&l<=t.spotSwipe.timeThreshold&&(n=a>0?"left":"right"),n&&(i.preventDefault(),e.call(this),t(this).trigger("swipe",n).trigger("swipe"+n))}}function n(t){1==t.touches.length&&(o=t.touches[0].pageX,a=t.touches[0].pageY,u=!0,r=(new Date).getTime(),this.addEventListener("touchmove",i,!1),this.addEventListener("touchend",e,!1))}function s(){this.addEventListener&&this.addEventListener("touchstart",n,!1)}t.spotSwipe={version:"1.0.0",enabled:"ontouchstart"in document.documentElement,preventDefault:!1,moveThreshold:75,timeThreshold:200};var o,a,r,l,u=!1;t.event.special.swipe={setup:s},t.each(["left","up","down","right"],function(){t.event.special["swipe"+this]={setup:function(){t(this).on("swipe",t.noop)}}})}(jQuery),!function(t){t.fn.addTouch=function(){this.each(function(i,n){t(n).bind("touchstart touchmove touchend touchcancel",function(){e(event)})});var e=function(t){var e,i=t.changedTouches,n=i[0],s={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup"},o=s[t.type];"MouseEvent"in window&&"function"==typeof window.MouseEvent?e=new window.MouseEvent(o,{bubbles:!0,cancelable:!0,screenX:n.screenX,screenY:n.screenY,clientX:n.clientX,clientY:n.clientY}):(e=document.createEvent("MouseEvent"),e.initMouseEvent(o,!0,!0,window,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null)),n.target.dispatchEvent(e)}}}(jQuery),!function(t){function e(){o(),n(),s(),i()}function i(e){var i=t("[data-yeti-box]"),n=["dropdown","tooltip","reveal"];if(e&&("string"==typeof e?n.push(e):"object"==typeof e&&"string"==typeof e[0]?n.concat(e):console.error("Plugin names must be strings")),i.length){var s=n.map(function(t){return"closeme.zf."+t}).join(" ");t(window).off(s).on(s,function(e,i){var n=e.namespace.split(".")[0],s=t("[data-"+n+"]").not('[data-yeti-box="'+i+'"]');s.each(function(){var e=t(this);e.triggerHandler("close.zf.trigger",[e])})})}}function n(e){var i=void 0,n=t("[data-resize]");n.length&&t(window).off("resize.zf.trigger").on("resize.zf.trigger",function(s){i&&clearTimeout(i),i=setTimeout(function(){a||n.each(function(){t(this).triggerHandler("resizeme.zf.trigger")}),n.attr("data-events","resize")},e||10)})}function s(e){var i=void 0,n=t("[data-scroll]");n.length&&t(window).off("scroll.zf.trigger").on("scroll.zf.trigger",function(s){i&&clearTimeout(i),i=setTimeout(function(){a||n.each(function(){t(this).triggerHandler("scrollme.zf.trigger")}),n.attr("data-events","scroll")},e||10)})}function o(){if(!a)return!1;var e=document.querySelectorAll("[data-resize], [data-scroll], [data-mutate]"),i=function(e){var i=t(e[0].target);switch(i.attr("data-events")){case"resize":i.triggerHandler("resizeme.zf.trigger",[i]);break;case"scroll":i.triggerHandler("scrollme.zf.trigger",[i,window.pageYOffset]);break;default:return!1}};if(e.length)for(var n=0;n<=e.length-1;n++){var s=new a(i);s.observe(e[n],{attributes:!0,childList:!1,characterData:!1,subtree:!1,attributeFilter:["data-events"]})}}var a=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if(t[e]+"MutationObserver"in window)return window[t[e]+"MutationObserver"];return!1}(),r=function(e,i){e.data(i).split(" ").forEach(function(n){t("#"+n)["close"===i?"trigger":"triggerHandler"](i+".zf.trigger",[e])})};t(document).on("click.zf.trigger","[data-open]",function(){r(t(this),"open")}),t(document).on("click.zf.trigger","[data-close]",function(){var e=t(this).data("close");e?r(t(this),"close"):t(this).trigger("close.zf.trigger")}),t(document).on("click.zf.trigger","[data-toggle]",function(){r(t(this),"toggle")}),t(document).on("close.zf.trigger","[data-closable]",function(e){e.stopPropagation();var i=t(this).data("closable");""!==i?Foundation.Motion.animateOut(t(this),i,function(){t(this).trigger("closed.zf")}):t(this).fadeOut().trigger("closed.zf")}),t(document).on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",function(){var e=t(this).data("toggle-focus");t("#"+e).triggerHandler("toggle.zf.trigger",[t(this)])}),t(window).load(function(){e()}),Foundation.IHearYou=e}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Abide")}return _createClass(e,[{key:"_init",value:function(){this.$inputs=this.$element.find("input, textarea, select"),this._events()}},{key:"_events",value:function(){var e=this;this.$element.off(".abide").on("reset.zf.abide",function(){e.resetForm()}).on("submit.zf.abide",function(){return e.validateForm()}),"fieldChange"===this.options.validateOn&&this.$inputs.off("change.zf.abide").on("change.zf.abide",function(i){e.validateInput(t(i.target))}),this.options.liveValidate&&this.$inputs.off("input.zf.abide").on("input.zf.abide",function(i){e.validateInput(t(i.target))})}},{key:"_reflow",value:function(){this._init()}},{key:"requiredCheck",value:function(t){if(!t.attr("required"))return!0;var e=!0;switch(t[0].type){case"checkbox":e=t[0].checked;break;case"select":case"select-one":case"select-multiple":var i=t.find("option:selected");i.length&&i.val()||(e=!1);break;default:t.val()&&t.val().length||(e=!1)}return e}},{key:"findFormError",value:function(t){var e=t.siblings(this.options.formErrorSelector);return e.length||(e=t.parent().find(this.options.formErrorSelector)),e}},{key:"findLabel",value:function(t){var e=t[0].id,i=this.$element.find('label[for="'+e+'"]');return i.length?i:t.closest("label")}},{key:"findRadioLabels",value:function(e){var i=this,n=e.map(function(e,n){var s=n.id,o=i.$element.find('label[for="'+s+'"]');return o.length||(o=t(n).closest("label")),o[0]});return t(n)}},{key:"addErrorClasses",value:function(t){var e=this.findLabel(t),i=this.findFormError(t);e.length&&e.addClass(this.options.labelErrorClass),i.length&&i.addClass(this.options.formErrorClass),t.addClass(this.options.inputErrorClass).attr("data-invalid","")}},{key:"removeRadioErrorClasses",value:function(t){var e=this.$element.find(':radio[name="'+t+'"]'),i=this.findRadioLabels(e),n=this.findFormError(e);i.length&&i.removeClass(this.options.labelErrorClass),n.length&&n.removeClass(this.options.formErrorClass),e.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"removeErrorClasses",value:function(t){if("radio"==t[0].type)return this.removeRadioErrorClasses(t.attr("name"));var e=this.findLabel(t),i=this.findFormError(t);e.length&&e.removeClass(this.options.labelErrorClass),i.length&&i.removeClass(this.options.formErrorClass),t.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"validateInput",value:function(t){var e=this.requiredCheck(t),i=!1,n=!0,s=t.attr("data-validator"),o=!0;if(t.is("[data-abide-ignore]")||t.is('[type="hidden"]'))return!0;switch(t[0].type){case"radio":i=this.validateRadio(t.attr("name"));break;case"checkbox":i=e;break;case"select":case"select-one":case"select-multiple":i=e;break;default:i=this.validateText(t)}s&&(n=this.matchValidation(t,s,t.attr("required"))),t.attr("data-equalto")&&(o=this.options.validators.equalTo(t));var a=-1===[e,i,n,o].indexOf(!1),r=(a?"valid":"invalid")+".zf.abide";return this[a?"removeErrorClasses":"addErrorClasses"](t),t.trigger(r,[t]),a}},{key:"validateForm",value:function(){var e=[],i=this;this.$inputs.each(function(){e.push(i.validateInput(t(this)))});var n=-1===e.indexOf(!1);return this.$element.find("[data-abide-error]").css("display",n?"none":"block"),this.$element.trigger((n?"formvalid":"forminvalid")+".zf.abide",[this.$element]),n}},{key:"validateText",value:function(t,e){e=e||t.attr("pattern")||t.attr("type");var i=t.val(),n=!1;return i.length?n=this.options.patterns.hasOwnProperty(e)?this.options.patterns[e].test(i):e!==t.attr("type")?new RegExp(e).test(i):!0:t.prop("required")||(n=!0),n}},{key:"validateRadio",value:function(e){var i=this.$element.find(':radio[name="'+e+'"]'),n=!1,s=!1;return i.each(function(e,i){t(i).attr("required")&&(s=!0)}),s||(n=!0),n||i.each(function(e,i){t(i).prop("checked")&&(n=!0)}),n}},{key:"matchValidation",value:function(t,e,i){var n=this;i=!!i;var s=e.split(" ").map(function(e){return n.options.validators[e](t,i,t.parent())});return-1===s.indexOf(!1)}},{key:"resetForm",value:function(){var e=this.$element,i=this.options;t("."+i.labelErrorClass,e).not("small").removeClass(i.labelErrorClass),t("."+i.inputErrorClass,e).not("small").removeClass(i.inputErrorClass),t(i.formErrorSelector+"."+i.formErrorClass).removeClass(i.formErrorClass),e.find("[data-abide-error]").css("display","none"),t(":input",e).not(":button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]").val("").removeAttr("data-invalid"),t(":input:radio",e).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),t(":input:checkbox",e).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),e.trigger("formreset.zf.abide",[e])}},{key:"destroy",value:function(){var e=this;this.$element.off(".abide").find("[data-abide-error]").css("display","none"),this.$inputs.off(".abide").each(function(){e.removeErrorClasses(t(this))}),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={validateOn:"fieldChange",labelErrorClass:"is-invalid-label",inputErrorClass:"is-invalid-input",formErrorSelector:".form-error",formErrorClass:"is-visible",liveValidate:!1,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/},validators:{equalTo:function(e,i,n){return t("#"+e.attr("data-equalto")).val()===e.val()}}},Foundation.plugin(e,"Abide")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Accordion"),Foundation.Keyboard.register("Accordion",{ENTER:"toggle",SPACE:"toggle",ARROW_DOWN:"next",ARROW_UP:"previous"})}return _createClass(e,[{key:"_init",value:function(){this.$element.attr("role","tablist"),this.$tabs=this.$element.children("li, [data-accordion-item]"),this.$tabs.each(function(e,i){var n=t(i),s=n.children("[data-tab-content]"),o=s[0].id||Foundation.GetYoDigits(6,"accordion"),a=i.id||o+"-label";n.find("a:first").attr({"aria-controls":o,role:"tab",id:a,"aria-expanded":!1,"aria-selected":!1}),s.attr({role:"tabpanel","aria-labelledby":a,"aria-hidden":!0,id:o})});var e=this.$element.find(".is-active").children("[data-tab-content]");e.length&&this.down(e,!0),this._events()}},{key:"_events",value:function(){var e=this;this.$tabs.each(function(){var i=t(this),n=i.children("[data-tab-content]");n.length&&i.children("a").off("click.zf.accordion keydown.zf.accordion").on("click.zf.accordion",function(t){t.preventDefault(),i.hasClass("is-active")?(e.options.allowAllClosed||i.siblings().hasClass("is-active"))&&e.up(n):e.down(n)}).on("keydown.zf.accordion",function(t){Foundation.Keyboard.handleKey(t,"Accordion",{toggle:function(){e.toggle(n)},next:function(){var t=i.next().find("a").focus();e.options.multiExpand||t.trigger("click.zf.accordion")},previous:function(){var t=i.prev().find("a").focus();e.options.multiExpand||t.trigger("click.zf.accordion")},handled:function(){t.preventDefault(),t.stopPropagation()}})})})}},{key:"toggle",value:function(t){if(t.parent().hasClass("is-active")){if(!this.options.allowAllClosed&&!t.parent().siblings().hasClass("is-active"))return;this.up(t)}else this.down(t)}},{key:"down",value:function(e,i){var n=this;if(!this.options.multiExpand&&!i){var s=this.$element.children(".is-active").children("[data-tab-content]");s.length&&this.up(s)}e.attr("aria-hidden",!1).parent("[data-tab-content]").addBack().parent().addClass("is-active"),e.slideDown(this.options.slideSpeed,function(){n.$element.trigger("down.zf.accordion",[e])}),t("#"+e.attr("aria-labelledby")).attr({"aria-expanded":!0,"aria-selected":!0})}},{key:"up",value:function(e){var i=e.parent().siblings(),n=this,s=this.options.multiExpand?i.hasClass("is-active"):e.parent().hasClass("is-active");(this.options.allowAllClosed||s)&&(e.slideUp(n.options.slideSpeed,function(){n.$element.trigger("up.zf.accordion",[e])}),e.attr("aria-hidden",!0).parent().removeClass("is-active"),t("#"+e.attr("aria-labelledby")).attr({"aria-expanded":!1,"aria-selected":!1}))}},{key:"destroy",value:function(){this.$element.find("[data-tab-content]").stop(!0).slideUp(0).css("display",""),this.$element.find("a").off(".zf.accordion"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={slideSpeed:250,multiExpand:!1,allowAllClosed:!1},Foundation.plugin(e,"Accordion")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),Foundation.Nest.Feather(this.$element,"accordion"),this._init(),Foundation.registerPlugin(this,"AccordionMenu"),Foundation.Keyboard.register("AccordionMenu",{ENTER:"toggle",SPACE:"toggle",ARROW_RIGHT:"open",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"close",ESCAPE:"closeAll",TAB:"down",SHIFT_TAB:"up"})}return _createClass(e,[{key:"_init",value:function(){this.$element.find("[data-submenu]").not(".is-active").slideUp(0),this.$element.attr({role:"tablist","aria-multiselectable":this.options.multiOpen}),this.$menuLinks=this.$element.find(".is-accordion-submenu-parent"),this.$menuLinks.each(function(){var e=this.id||Foundation.GetYoDigits(6,"acc-menu-link"),i=t(this),n=i.children("[data-submenu]"),s=n[0].id||Foundation.GetYoDigits(6,"acc-menu"),o=n.hasClass("is-active");i.attr({"aria-controls":s,"aria-expanded":o,role:"tab",id:e}),n.attr({"aria-labelledby":e,"aria-hidden":!o,role:"tabpanel",id:s})});var e=this.$element.find(".is-active");if(e.length){var i=this;e.each(function(){i.down(t(this))})}this._events()}},{key:"_events",value:function(){var e=this;this.$element.find("li").each(function(){var i=t(this).children("[data-submenu]");i.length&&t(this).children("a").off("click.zf.accordionMenu").on("click.zf.accordionMenu",function(t){t.preventDefault(),e.toggle(i)})}).on("keydown.zf.accordionmenu",function(i){var n,s,o=t(this),a=o.parent("ul").children("li"),r=o.children("[data-submenu]");a.each(function(e){return t(this).is(o)?(n=a.eq(Math.max(0,e-1)).find("a").first(),
 s=a.eq(Math.min(e+1,a.length-1)).find("a").first(),t(this).children("[data-submenu]:visible").length&&(s=o.find("li:first-child").find("a").first()),t(this).is(":first-child")?n=o.parents("li").first().find("a").first():n.children("[data-submenu]:visible").length&&(n=n.find("li:last-child").find("a").first()),void(t(this).is(":last-child")&&(s=o.parents("li").first().next("li").find("a").first()))):void 0}),Foundation.Keyboard.handleKey(i,"AccordionMenu",{open:function(){r.is(":hidden")&&(e.down(r),r.find("li").first().find("a").first().focus())},close:function(){r.length&&!r.is(":hidden")?e.up(r):o.parent("[data-submenu]").length&&(e.up(o.parent("[data-submenu]")),o.parents("li").first().find("a").first().focus())},up:function(){return n.attr("tabindex",-1).focus(),!0},down:function(){return s.attr("tabindex",-1).focus(),!0},toggle:function(){o.children("[data-submenu]").length&&e.toggle(o.children("[data-submenu]"))},closeAll:function(){e.hideAll()},handled:function(t){t&&i.preventDefault(),i.stopImmediatePropagation()}})})}},{key:"hideAll",value:function(){this.$element.find("[data-submenu]").slideUp(this.options.slideSpeed)}},{key:"toggle",value:function(t){t.is(":animated")||(t.is(":hidden")?this.down(t):this.up(t))}},{key:"down",value:function(t){var e=this;this.options.multiOpen||this.up(this.$element.find(".is-active").not(t.parentsUntil(this.$element).add(t))),t.addClass("is-active").attr({"aria-hidden":!1}).parent(".is-accordion-submenu-parent").attr({"aria-expanded":!0}),t.slideDown(e.options.slideSpeed,function(){e.$element.trigger("down.zf.accordionMenu",[t])})}},{key:"up",value:function(t){var e=this;t.slideUp(e.options.slideSpeed,function(){e.$element.trigger("up.zf.accordionMenu",[t])});var i=t.find("[data-submenu]").slideUp(0).addBack().attr("aria-hidden",!0);i.parent(".is-accordion-submenu-parent").attr("aria-expanded",!1)}},{key:"destroy",value:function(){this.$element.find("[data-submenu]").slideDown(0).css("display",""),this.$element.find("a").off("click.zf.accordionMenu"),Foundation.Nest.Burn(this.$element,"accordion"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={slideSpeed:250,multiOpen:!0},Foundation.plugin(e,"AccordionMenu")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),Foundation.Nest.Feather(this.$element,"drilldown"),this._init(),Foundation.registerPlugin(this,"Drilldown"),Foundation.Keyboard.register("Drilldown",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"previous",ESCAPE:"close",TAB:"down",SHIFT_TAB:"up"})}return _createClass(e,[{key:"_init",value:function(){this.$submenuAnchors=this.$element.find("li.is-drilldown-submenu-parent").children("a"),this.$submenus=this.$submenuAnchors.parent("li").children("[data-submenu]"),this.$menuItems=this.$element.find("li").not(".js-drilldown-back").attr("role","menuitem").find("a"),this._prepareMenu(),this._keyboardEvents()}},{key:"_prepareMenu",value:function(){var e=this;this.$submenuAnchors.each(function(){var i=t(this),n=i.parent();e.options.parentLink&&i.clone().prependTo(n.children("[data-submenu]")).wrap('<li class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="menu-item"></li>'),i.data("savedHref",i.attr("href")).removeAttr("href"),i.children("[data-submenu]").attr({"aria-hidden":!0,tabindex:0,role:"menu"}),e._events(i)}),this.$submenus.each(function(){var i=t(this),n=i.find(".js-drilldown-back");n.length||i.prepend(e.options.backButton),e._back(i)}),this.$element.parent().hasClass("is-drilldown")||(this.$wrapper=t(this.options.wrapper).addClass("is-drilldown"),this.$wrapper=this.$element.wrap(this.$wrapper).parent().css(this._getMaxDims()))}},{key:"_events",value:function(e){var i=this;e.off("click.zf.drilldown").on("click.zf.drilldown",function(n){if(t(n.target).parentsUntil("ul","li").hasClass("is-drilldown-submenu-parent")&&(n.stopImmediatePropagation(),n.preventDefault()),i._show(e.parent("li")),i.options.closeOnClick){var s=t("body");s.off(".zf.drilldown").on("click.zf.drilldown",function(e){e.target===i.$element[0]||t.contains(i.$element[0],e.target)||(e.preventDefault(),i._hideAll(),s.off(".zf.drilldown"))})}})}},{key:"_keyboardEvents",value:function(){var e=this;this.$menuItems.add(this.$element.find(".js-drilldown-back > a")).on("keydown.zf.drilldown",function(i){var n,s,o=t(this),a=o.parent("li").parent("ul").children("li").children("a");a.each(function(e){return t(this).is(o)?(n=a.eq(Math.max(0,e-1)),void(s=a.eq(Math.min(e+1,a.length-1)))):void 0}),Foundation.Keyboard.handleKey(i,"Drilldown",{next:function(){return o.is(e.$submenuAnchors)?(e._show(o.parent("li")),o.parent("li").one(Foundation.transitionend(o),function(){o.parent("li").find("ul li a").filter(e.$menuItems).first().focus()}),!0):void 0},previous:function(){return e._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one(Foundation.transitionend(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0},up:function(){return n.focus(),!0},down:function(){return s.focus(),!0},close:function(){e._back()},open:function(){return o.is(e.$menuItems)?o.is(e.$submenuAnchors)&&(e._show(o.parent("li")),o.parent("li").one(Foundation.transitionend(o),function(){o.parent("li").find("ul li a").filter(e.$menuItems).first().focus()})):(e._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one(Foundation.transitionend(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)})),!0},handled:function(t){t&&i.preventDefault(),i.stopImmediatePropagation()}})})}},{key:"_hideAll",value:function(){var t=this.$element.find(".is-drilldown-submenu.is-active").addClass("is-closing");t.one(Foundation.transitionend(t),function(e){t.removeClass("is-active is-closing")}),this.$element.trigger("closed.zf.drilldown")}},{key:"_back",value:function(t){var e=this;t.off("click.zf.drilldown"),t.children(".js-drilldown-back").on("click.zf.drilldown",function(i){i.stopImmediatePropagation(),e._hide(t)})}},{key:"_menuLinkEvents",value:function(){var t=this;this.$menuItems.not(".is-drilldown-submenu-parent").off("click.zf.drilldown").on("click.zf.drilldown",function(e){setTimeout(function(){t._hideAll()},0)})}},{key:"_show",value:function(t){t.children("[data-submenu]").addClass("is-active"),this.$element.trigger("open.zf.drilldown",[t])}},{key:"_hide",value:function(t){t.addClass("is-closing").one(Foundation.transitionend(t),function(){t.removeClass("is-active is-closing"),t.blur()}),t.trigger("hide.zf.drilldown",[t])}},{key:"_getMaxDims",value:function(){var e=0,i={};return this.$submenus.add(this.$element).each(function(){var i=t(this).children("li").length;e=i>e?i:e}),i["min-height"]=e*this.$menuItems[0].getBoundingClientRect().height+"px",i["max-width"]=this.$element[0].getBoundingClientRect().width+"px",i}},{key:"destroy",value:function(){this._hideAll(),Foundation.Nest.Burn(this.$element,"drilldown"),this.$element.unwrap().find(".js-drilldown-back, .is-submenu-parent-item").remove().end().find(".is-active, .is-closing, .is-drilldown-submenu").removeClass("is-active is-closing is-drilldown-submenu").end().find("[data-submenu]").removeAttr("aria-hidden tabindex role"),this.$submenuAnchors.each(function(){t(this).off(".zf.drilldown")}),this.$element.find("a").each(function(){var e=t(this);e.data("savedHref")&&e.attr("href",e.data("savedHref")).removeData("savedHref")}),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={backButton:'<li class="js-drilldown-back"><a tabindex="0">Back</a></li>',wrapper:"<div></div>",parentLink:!1,closeOnClick:!1},Foundation.plugin(e,"Drilldown")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Dropdown"),Foundation.Keyboard.register("Dropdown",{ENTER:"open",SPACE:"open",ESCAPE:"close",TAB:"tab_forward",SHIFT_TAB:"tab_backward"})}return _createClass(e,[{key:"_init",value:function(){var e=this.$element.attr("id");this.$anchor=t('[data-toggle="'+e+'"]')||t('[data-open="'+e+'"]'),this.$anchor.attr({"aria-controls":e,"data-is-focus":!1,"data-yeti-box":e,"aria-haspopup":!0,"aria-expanded":!1}),this.options.positionClass=this.getPositionClass(),this.counter=4,this.usedPositions=[],this.$element.attr({"aria-hidden":"true","data-yeti-box":e,"data-resize":e,"aria-labelledby":this.$anchor[0].id||Foundation.GetYoDigits(6,"dd-anchor")}),this._events()}},{key:"getPositionClass",value:function(){var t=this.$element[0].className.match(/(top|left|right|bottom)/g);t=t?t[0]:"";var e=/float-(\S+)\s/.exec(this.$anchor[0].className);e=e?e[1]:"";var i=e?e+" "+t:t;return i}},{key:"_reposition",value:function(t){this.usedPositions.push(t?t:"bottom"),!t&&this.usedPositions.indexOf("top")<0?this.$element.addClass("top"):"top"===t&&this.usedPositions.indexOf("bottom")<0?this.$element.removeClass(t):"left"===t&&this.usedPositions.indexOf("right")<0?this.$element.removeClass(t).addClass("right"):"right"===t&&this.usedPositions.indexOf("left")<0?this.$element.removeClass(t).addClass("left"):!t&&this.usedPositions.indexOf("top")>-1&&this.usedPositions.indexOf("left")<0?this.$element.addClass("left"):"top"===t&&this.usedPositions.indexOf("bottom")>-1&&this.usedPositions.indexOf("left")<0?this.$element.removeClass(t).addClass("left"):"left"===t&&this.usedPositions.indexOf("right")>-1&&this.usedPositions.indexOf("bottom")<0?this.$element.removeClass(t):"right"===t&&this.usedPositions.indexOf("left")>-1&&this.usedPositions.indexOf("bottom")<0?this.$element.removeClass(t):this.$element.removeClass(t),this.classChanged=!0,this.counter--}},{key:"_setPosition",value:function(){if("false"===this.$anchor.attr("aria-expanded"))return!1;var t=this.getPositionClass(),e=Foundation.Box.GetDimensions(this.$element),i=(Foundation.Box.GetDimensions(this.$anchor),"left"===t?"left":"right"===t?"left":"top"),n="top"===i?"height":"width";"height"===n?this.options.vOffset:this.options.hOffset;if(e.width>=e.windowDims.width||!this.counter&&!Foundation.Box.ImNotTouchingYou(this.$element))return this.$element.offset(Foundation.Box.GetOffsets(this.$element,this.$anchor,"center bottom",this.options.vOffset,this.options.hOffset,!0)).css({width:e.windowDims.width-2*this.options.hOffset,height:"auto"}),this.classChanged=!0,!1;for(this.$element.offset(Foundation.Box.GetOffsets(this.$element,this.$anchor,t,this.options.vOffset,this.options.hOffset));!Foundation.Box.ImNotTouchingYou(this.$element,!1,!0)&&this.counter;)this._reposition(t),this._setPosition()}},{key:"_events",value:function(){var e=this;this.$element.on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":this.close.bind(this),"toggle.zf.trigger":this.toggle.bind(this),"resizeme.zf.trigger":this._setPosition.bind(this)}),this.options.hover&&(this.$anchor.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown",function(){clearTimeout(e.timeout),e.timeout=setTimeout(function(){e.open(),e.$anchor.data("hover",!0)},e.options.hoverDelay)}).on("mouseleave.zf.dropdown",function(){clearTimeout(e.timeout),e.timeout=setTimeout(function(){e.close(),e.$anchor.data("hover",!1)},e.options.hoverDelay)}),this.options.hoverPane&&this.$element.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown",function(){clearTimeout(e.timeout)}).on("mouseleave.zf.dropdown",function(){clearTimeout(e.timeout),e.timeout=setTimeout(function(){e.close(),e.$anchor.data("hover",!1)},e.options.hoverDelay)})),this.$anchor.add(this.$element).on("keydown.zf.dropdown",function(i){var n=t(this),s=Foundation.Keyboard.findFocusable(e.$element);Foundation.Keyboard.handleKey(i,"Dropdown",{tab_forward:function(){e.$element.find(":focus").is(s.eq(-1))&&(e.options.trapFocus?(s.eq(0).focus(),i.preventDefault()):e.close())},tab_backward:function(){(e.$element.find(":focus").is(s.eq(0))||e.$element.is(":focus"))&&(e.options.trapFocus?(s.eq(-1).focus(),i.preventDefault()):e.close())},open:function(){n.is(e.$anchor)&&(e.open(),e.$element.attr("tabindex",-1).focus(),i.preventDefault())},close:function(){e.close(),e.$anchor.focus()}})})}},{key:"_addBodyHandler",value:function(){var e=t(document.body).not(this.$element),i=this;e.off("click.zf.dropdown").on("click.zf.dropdown",function(t){i.$anchor.is(t.target)||i.$anchor.find(t.target).length||i.$element.find(t.target).length||(i.close(),e.off("click.zf.dropdown"))})}},{key:"open",value:function(){if(this.$element.trigger("closeme.zf.dropdown",this.$element.attr("id")),this.$anchor.addClass("hover").attr({"aria-expanded":!0}),this._setPosition(),this.$element.addClass("is-open").attr({"aria-hidden":!1}),this.options.autoFocus){var t=Foundation.Keyboard.findFocusable(this.$element);t.length&&t.eq(0).focus()}this.options.closeOnClick&&this._addBodyHandler(),this.$element.trigger("show.zf.dropdown",[this.$element])}},{key:"close",value:function(){if(!this.$element.hasClass("is-open"))return!1;if(this.$element.removeClass("is-open").attr({"aria-hidden":!0}),this.$anchor.removeClass("hover").attr("aria-expanded",!1),this.classChanged){var t=this.getPositionClass();t&&this.$element.removeClass(t),this.$element.addClass(this.options.positionClass).css({height:"",width:""}),this.classChanged=!1,this.counter=4,this.usedPositions.length=0}this.$element.trigger("hide.zf.dropdown",[this.$element])}},{key:"toggle",value:function(){if(this.$element.hasClass("is-open")){if(this.$anchor.data("hover"))return;this.close()}else this.open()}},{key:"destroy",value:function(){this.$element.off(".zf.trigger").hide(),this.$anchor.off(".zf.dropdown"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={hoverDelay:250,hover:!1,hoverPane:!1,vOffset:1,hOffset:1,positionClass:"",trapFocus:!1,autoFocus:!1,closeOnClick:!1},Foundation.plugin(e,"Dropdown")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),Foundation.Nest.Feather(this.$element,"dropdown"),this._init(),Foundation.registerPlugin(this,"DropdownMenu"),Foundation.Keyboard.register("DropdownMenu",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"previous",ESCAPE:"close"})}return _createClass(e,[{key:"_init",value:function(){var t=this.$element.find("li.is-dropdown-submenu-parent");this.$element.children(".is-dropdown-submenu-parent").children(".is-dropdown-submenu").addClass("first-sub"),this.$menuItems=this.$element.find('[role="menuitem"]'),this.$tabs=this.$element.children('[role="menuitem"]'),this.$tabs.find("ul.is-dropdown-submenu").addClass(this.options.verticalClass),this.$element.hasClass(this.options.rightClass)||"right"===this.options.alignment||Foundation.rtl()||this.$element.parents(".top-bar-right").is("*")?(this.options.alignment="right",t.addClass("opens-left")):t.addClass("opens-right"),this.changed=!1,this._events()}},{key:"_events",value:function(){var e=this,i="ontouchstart"in window||"undefined"!=typeof window.ontouchstart,n="is-dropdown-submenu-parent",s=function(s){var o=t(s.target).parentsUntil("ul","."+n),a=o.hasClass(n),r="true"===o.attr("data-is-click");o.children(".is-dropdown-submenu");if(a)if(r){if(!e.options.closeOnClick||!e.options.clickOpen&&!i||e.options.forceFollow&&i)return;s.stopImmediatePropagation(),s.preventDefault(),e._hide(o)}else s.preventDefault(),s.stopImmediatePropagation(),e._show(o.children(".is-dropdown-submenu")),o.add(o.parentsUntil(e.$element,"."+n)).attr("data-is-click",!0)};(this.options.clickOpen||i)&&this.$menuItems.on("click.zf.dropdownmenu touchstart.zf.dropdownmenu",s),this.options.disableHover||this.$menuItems.on("mouseenter.zf.dropdownmenu",function(i){var s=t(this),o=s.hasClass(n);o&&(clearTimeout(e.delay),e.delay=setTimeout(function(){e._show(s.children(".is-dropdown-submenu"))},e.options.hoverDelay))}).on("mouseleave.zf.dropdownmenu",function(i){var s=t(this),o=s.hasClass(n);if(o&&e.options.autoclose){if("true"===s.attr("data-is-click")&&e.options.clickOpen)return!1;clearTimeout(e.delay),e.delay=setTimeout(function(){e._hide(s)},e.options.closingTime)}}),this.$menuItems.on("keydown.zf.dropdownmenu",function(i){var n,s,o=t(i.target).parentsUntil("ul",'[role="menuitem"]'),a=e.$tabs.index(o)>-1,r=a?e.$tabs:o.siblings("li").add(o);r.each(function(e){return t(this).is(o)?(n=r.eq(e-1),void(s=r.eq(e+1))):void 0});var l=function(){o.is(":last-child")||(s.children("a:first").focus(),i.preventDefault())},u=function(){n.children("a:first").focus(),i.preventDefault()},d=function(){var t=o.children("ul.is-dropdown-submenu");t.length&&(e._show(t),o.find("li > a:first").focus(),i.preventDefault())},h=function(){var t=o.parent("ul").parent("li");t.children("a:first").focus(),e._hide(t),i.preventDefault()},c={open:d,close:function(){e._hide(e.$element),e.$menuItems.find("a:first").focus(),i.preventDefault()},handled:function(){i.stopImmediatePropagation()}};a?e.$element.hasClass(e.options.verticalClass)?"left"===e.options.alignment?t.extend(c,{down:l,up:u,next:d,previous:h}):t.extend(c,{down:l,up:u,next:h,previous:d}):t.extend(c,{next:l,previous:u,down:d,up:h}):"left"===e.options.alignment?t.extend(c,{next:d,previous:h,down:l,up:u}):t.extend(c,{next:h,previous:d,down:l,up:u}),Foundation.Keyboard.handleKey(i,"DropdownMenu",c)})}},{key:"_addBodyHandler",value:function(){var e=t(document.body),i=this;e.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu").on("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu",function(t){var n=i.$element.find(t.target);n.length||(i._hide(),e.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu"))})}},{key:"_show",value:function(e){var i=this.$tabs.index(this.$tabs.filter(function(i,n){return t(n).find(e).length>0})),n=e.parent("li.is-dropdown-submenu-parent").siblings("li.is-dropdown-submenu-parent");this._hide(n,i),e.css("visibility","hidden").addClass("js-dropdown-active").attr({"aria-hidden":!1}).parent("li.is-dropdown-submenu-parent").addClass("is-active").attr({"aria-expanded":!0});var s=Foundation.Box.ImNotTouchingYou(e,null,!0);if(!s){var o="left"===this.options.alignment?"-right":"-left",a=e.parent(".is-dropdown-submenu-parent");a.removeClass("opens"+o).addClass("opens-"+this.options.alignment),s=Foundation.Box.ImNotTouchingYou(e,null,!0),s||a.removeClass("opens-"+this.options.alignment).addClass("opens-inner"),this.changed=!0}e.css("visibility",""),this.options.closeOnClick&&this._addBodyHandler(),this.$element.trigger("show.zf.dropdownmenu",[e])}},{key:"_hide",value:function(t,e){var i;i=t&&t.length?t:void 0!==e?this.$tabs.not(function(t,i){return t===e}):this.$element;var n=i.hasClass("is-active")||i.find(".is-active").length>0;if(n){if(i.find("li.is-active").add(i).attr({"aria-expanded":!1,"data-is-click":!1}).removeClass("is-active"),i.find("ul.js-dropdown-active").attr({"aria-hidden":!0}).removeClass("js-dropdown-active"),this.changed||i.find("opens-inner").length){var s="left"===this.options.alignment?"right":"left";i.find("li.is-dropdown-submenu-parent").add(i).removeClass("opens-inner opens-"+this.options.alignment).addClass("opens-"+s),this.changed=!1}this.$element.trigger("hide.zf.dropdownmenu",[i])}}},{key:"destroy",value:function(){this.$menuItems.off(".zf.dropdownmenu").removeAttr("data-is-click").removeClass("is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner"),t(document.body).off(".zf.dropdownmenu"),Foundation.Nest.Burn(this.$element,"dropdown"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={disableHover:!1,autoclose:!0,hoverDelay:50,clickOpen:!1,closingTime:500,alignment:"left",closeOnClick:!0,verticalClass:"vertical",rightClass:"align-right",forceFollow:!0},Foundation.plugin(e,"DropdownMenu")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Equalizer")}return _createClass(e,[{key:"_init",value:function(){var e=this.$element.attr("data-equalizer")||"",i=this.$element.find('[data-equalizer-watch="'+e+'"]');this.$watched=i.length?i:this.$element.find("[data-equalizer-watch]"),this.$element.attr("data-resize",e||Foundation.GetYoDigits(6,"eq")),this.hasNested=this.$element.find("[data-equalizer]").length>0,this.isNested=this.$element.parentsUntil(document.body,"[data-equalizer]").length>0,this.isOn=!1,this._bindHandler={onResizeMeBound:this._onResizeMe.bind(this),onPostEqualizedBound:this._onPostEqualized.bind(this)};var n,s=this.$element.find("img");this.options.equalizeOn?(n=this._checkMQ(),t(window).on("changed.zf.mediaquery",this._checkMQ.bind(this))):this._events(),(void 0!==n&&n===!1||void 0===n)&&(s.length?Foundation.onImagesLoaded(s,this._reflow.bind(this)):this._reflow())}},{key:"_pauseEvents",value:function(){this.isOn=!1,this.$element.off({".zf.equalizer":this._bindHandler.onPostEqualizedBound,"resizeme.zf.trigger":this._bindHandler.onResizeMeBound})}},{key:"_onResizeMe",value:function(t){this._reflow()}},{key:"_onPostEqualized",value:function(t){t.target!==this.$element[0]&&this._reflow()}},{key:"_events",value:function(){this._pauseEvents(),this.hasNested?this.$element.on("postequalized.zf.equalizer",this._bindHandler.onPostEqualizedBound):this.$element.on("resizeme.zf.trigger",this._bindHandler.onResizeMeBound),this.isOn=!0}},{key:"_checkMQ",value:function(){var t=!Foundation.MediaQuery.atLeast(this.options.equalizeOn);return t?this.isOn&&(this._pauseEvents(),this.$watched.css("height","auto")):this.isOn||this._events(),t}},{key:"_killswitch",value:function(){}},{key:"_reflow",value:function(){return!this.options.equalizeOnStack&&this._isStacked()?(this.$watched.css("height","auto"),!1):void(this.options.equalizeByRow?this.getHeightsByRow(this.applyHeightByRow.bind(this)):this.getHeights(this.applyHeight.bind(this)))}},{key:"_isStacked",value:function(){return this.$watched[0].getBoundingClientRect().top!==this.$watched[1].getBoundingClientRect().top}},{key:"getHeights",value:function(t){for(var e=[],i=0,n=this.$watched.length;n>i;i++)this.$watched[i].style.height="auto",e.push(this.$watched[i].offsetHeight);t(e)}},{key:"getHeightsByRow",value:function(e){var i=this.$watched.length?this.$watched.first().offset().top:0,n=[],s=0;n[s]=[];for(var o=0,a=this.$watched.length;a>o;o++){this.$watched[o].style.height="auto";var r=t(this.$watched[o]).offset().top;r!=i&&(s++,n[s]=[],i=r),n[s].push([this.$watched[o],this.$watched[o].offsetHeight])}for(var l=0,u=n.length;u>l;l++){var d=t(n[l]).map(function(){return this[1]}).get(),h=Math.max.apply(null,d);n[l].push(h)}e(n)}},{key:"applyHeight",value:function(t){var e=Math.max.apply(null,t);this.$element.trigger("preequalized.zf.equalizer"),this.$watched.css("height",e),this.$element.trigger("postequalized.zf.equalizer")}},{key:"applyHeightByRow",value:function(e){this.$element.trigger("preequalized.zf.equalizer");for(var i=0,n=e.length;n>i;i++){var s=e[i].length,o=e[i][s-1];if(2>=s)t(e[i][0][0]).css({height:"auto"});else{this.$element.trigger("preequalizedrow.zf.equalizer");for(var a=0,r=s-1;r>a;a++)t(e[i][a][0]).css({height:o});this.$element.trigger("postequalizedrow.zf.equalizer")}}this.$element.trigger("postequalized.zf.equalizer")}},{key:"destroy",value:function(){this._pauseEvents(),this.$watched.css("height","auto"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={equalizeOnStack:!0,equalizeByRow:!1,equalizeOn:""},Foundation.plugin(e,"Equalizer")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,n),this.rules=[],this.currentPath="",this._init(),this._events(),Foundation.registerPlugin(this,"Interchange")}return _createClass(e,[{key:"_init",value:function(){this._addBreakpoints(),this._generateRules(),this._reflow()}},{key:"_events",value:function(){t(window).on("resize.zf.interchange",Foundation.util.throttle(this._reflow.bind(this),50))}},{key:"_reflow",value:function(){var t;for(var e in this.rules)if(this.rules.hasOwnProperty(e)){var i=this.rules[e];window.matchMedia(i.query).matches&&(t=i)}t&&this.replace(t.path)}},{key:"_addBreakpoints",value:function(){for(var t in Foundation.MediaQuery.queries)if(Foundation.MediaQuery.queries.hasOwnProperty(t)){var i=Foundation.MediaQuery.queries[t];e.SPECIAL_QUERIES[i.name]=i.value}}},{key:"_generateRules",value:function(t){var i,n=[];i=this.options.rules?this.options.rules:this.$element.data("interchange").match(/\[.*?\]/g);for(var s in i)if(i.hasOwnProperty(s)){var o=i[s].slice(1,-1).split(", "),a=o.slice(0,-1).join(""),r=o[o.length-1];e.SPECIAL_QUERIES[r]&&(r=e.SPECIAL_QUERIES[r]),n.push({path:a,query:r})}this.rules=n}},{key:"replace",value:function(e){if(this.currentPath!==e){var i=this,n="replaced.zf.interchange";"IMG"===this.$element[0].nodeName?this.$element.attr("src",e).load(function(){i.currentPath=e}).trigger(n):e.match(/\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i)?this.$element.css({"background-image":"url("+e+")"}).trigger(n):t.get(e,function(s){i.$element.html(s).trigger(n),t(s).foundation(),i.currentPath=e})}}},{key:"destroy",value:function(){}}]),e}();e.defaults={rules:null},e.SPECIAL_QUERIES={landscape:"screen and (orientation: landscape)",portrait:"screen and (orientation: portrait)",retina:"only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)"},Foundation.plugin(e,"Interchange")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Magellan")}return _createClass(e,[{key:"_init",value:function(){var e=this.$element[0].id||Foundation.GetYoDigits(6,"magellan");this.$targets=t("[data-magellan-target]"),this.$links=this.$element.find("a"),this.$element.attr({"data-resize":e,"data-scroll":e,id:e}),this.$active=t(),this.scrollPos=parseInt(window.pageYOffset,10),this._events()}},{key:"calcPoints",value:function(){var e=this,i=document.body,n=document.documentElement;this.points=[],this.winHeight=Math.round(Math.max(window.innerHeight,n.clientHeight)),this.docHeight=Math.round(Math.max(i.scrollHeight,i.offsetHeight,n.clientHeight,n.scrollHeight,n.offsetHeight)),this.$targets.each(function(){var i=t(this),n=Math.round(i.offset().top-e.options.threshold);i.targetPoint=n,e.points.push(n)})}},{key:"_events",value:function(){var e=this;t("html, body"),{duration:e.options.animationDuration,easing:e.options.animationEasing};t(window).one("load",function(){e.options.deepLinking&&location.hash&&e.scrollToLoc(location.hash),e.calcPoints(),e._updateActive()}),this.$element.on({"resizeme.zf.trigger":this.reflow.bind(this),"scrollme.zf.trigger":this._updateActive.bind(this)}).on("click.zf.magellan",'a[href^="#"]',function(t){t.preventDefault();var i=this.getAttribute("href");e.scrollToLoc(i)})}},{key:"scrollToLoc",value:function(e){var i=Math.round(t(e).offset().top-this.options.threshold/2-this.options.barOffset);t("html, body").stop(!0).animate({scrollTop:i},this.options.animationDuration,this.options.animationEasing)}},{key:"reflow",value:function(){this.calcPoints(),this._updateActive()}},{key:"_updateActive",value:function(){var t,e=parseInt(window.pageYOffset,10);if(e+this.winHeight===this.docHeight)t=this.points.length-1;else if(e<this.points[0])t=0;else{var i=this.scrollPos<e,n=this,s=this.points.filter(function(t,s){return i?t-n.options.barOffset<=e:t-n.options.barOffset-n.options.threshold<=e});t=s.length?s.length-1:0}if(this.$active.removeClass(this.options.activeClass),this.$active=this.$links.eq(t).addClass(this.options.activeClass),this.options.deepLinking){var o=this.$active[0].getAttribute("href");window.history.pushState?window.history.pushState(null,null,o):window.location.hash=o}this.scrollPos=e,this.$element.trigger("update.zf.magellan",[this.$active])}},{key:"destroy",value:function(){if(this.$element.off(".zf.trigger .zf.magellan").find("."+this.options.activeClass).removeClass(this.options.activeClass),this.options.deepLinking){var t=this.$active[0].getAttribute("href");window.location.hash.replace(t,"")}Foundation.unregisterPlugin(this)}}]),e}();e.defaults={animationDuration:500,animationEasing:"linear",threshold:50,activeClass:"active",deepLinking:!1,barOffset:0},Foundation.plugin(e,"Magellan")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this.$lastTrigger=t(),this.$triggers=t(),this._init(),this._events(),Foundation.registerPlugin(this,"OffCanvas")}return _createClass(e,[{key:"_init",value:function(){var e=this.$element.attr("id");if(this.$element.attr("aria-hidden","true"),this.$triggers=t(document).find('[data-open="'+e+'"], [data-close="'+e+'"], [data-toggle="'+e+'"]').attr("aria-expanded","false").attr("aria-controls",e),this.options.closeOnClick)if(t(".js-off-canvas-exit").length)this.$exiter=t(".js-off-canvas-exit");else{var i=document.createElement("div");i.setAttribute("class","js-off-canvas-exit"),t("[data-off-canvas-content]").append(i),this.$exiter=t(i)}this.options.isRevealed=this.options.isRevealed||new RegExp(this.options.revealClass,"g").test(this.$element[0].className),this.options.isRevealed&&(this.options.revealOn=this.options.revealOn||this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split("-")[2],this._setMQChecker()),this.options.transitionTime||(this.options.transitionTime=1e3*parseFloat(window.getComputedStyle(t("[data-off-canvas-wrapper]")[0]).transitionDuration))}},{key:"_events",value:function(){this.$element.off(".zf.trigger .zf.offcanvas").on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":this.close.bind(this),"toggle.zf.trigger":this.toggle.bind(this),"keydown.zf.offcanvas":this._handleKeyboard.bind(this)}),this.options.closeOnClick&&this.$exiter.length&&this.$exiter.on({
 "click.zf.offcanvas":this.close.bind(this)})}},{key:"_setMQChecker",value:function(){var e=this;t(window).on("changed.zf.mediaquery",function(){Foundation.MediaQuery.atLeast(e.options.revealOn)?e.reveal(!0):e.reveal(!1)}).one("load.zf.offcanvas",function(){Foundation.MediaQuery.atLeast(e.options.revealOn)&&e.reveal(!0)})}},{key:"reveal",value:function(t){var e=this.$element.find("[data-close]");t?(this.close(),this.isRevealed=!0,this.$element.off("open.zf.trigger toggle.zf.trigger"),e.length&&e.hide()):(this.isRevealed=!1,this.$element.on({"open.zf.trigger":this.open.bind(this),"toggle.zf.trigger":this.toggle.bind(this)}),e.length&&e.show())}},{key:"open",value:function(e,i){if(!this.$element.hasClass("is-open")&&!this.isRevealed){var n=this;t(document.body);this.options.forceTop&&t("body").scrollTop(0),Foundation.Move(this.options.transitionTime,this.$element,function(){t("[data-off-canvas-wrapper]").addClass("is-off-canvas-open is-open-"+n.options.position),n.$element.addClass("is-open")}),this.$triggers.attr("aria-expanded","true"),this.$element.attr("aria-hidden","false").trigger("opened.zf.offcanvas"),this.options.closeOnClick&&this.$exiter.addClass("is-visible"),i&&(this.$lastTrigger=i),this.options.autoFocus&&this.$element.one(Foundation.transitionend(this.$element),function(){n.$element.find("a, button").eq(0).focus()}),this.options.trapFocus&&(t("[data-off-canvas-content]").attr("tabindex","-1"),this._trapFocus())}}},{key:"_trapFocus",value:function(){var t=Foundation.Keyboard.findFocusable(this.$element),e=t.eq(0),i=t.eq(-1);t.off(".zf.offcanvas").on("keydown.zf.offcanvas",function(t){9!==t.which&&9!==t.keycode||(t.target!==i[0]||t.shiftKey||(t.preventDefault(),e.focus()),t.target===e[0]&&t.shiftKey&&(t.preventDefault(),i.focus()))})}},{key:"close",value:function(e){if(this.$element.hasClass("is-open")&&!this.isRevealed){var i=this;t("[data-off-canvas-wrapper]").removeClass("is-off-canvas-open is-open-"+i.options.position),i.$element.removeClass("is-open"),this.$element.attr("aria-hidden","true").trigger("closed.zf.offcanvas"),this.options.closeOnClick&&this.$exiter.removeClass("is-visible"),this.$triggers.attr("aria-expanded","false"),this.options.trapFocus&&t("[data-off-canvas-content]").removeAttr("tabindex")}}},{key:"toggle",value:function(t,e){this.$element.hasClass("is-open")?this.close(t,e):this.open(t,e)}},{key:"_handleKeyboard",value:function(t){27===t.which&&(t.stopPropagation(),t.preventDefault(),this.close(),this.$lastTrigger.focus())}},{key:"destroy",value:function(){this.close(),this.$element.off(".zf.trigger .zf.offcanvas"),this.$exiter.off(".zf.offcanvas"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={closeOnClick:!0,transitionTime:0,position:"left",forceTop:!0,isRevealed:!1,revealOn:null,autoFocus:!0,revealClass:"reveal-for-",trapFocus:!1},Foundation.plugin(e,"OffCanvas")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Orbit"),Foundation.Keyboard.register("Orbit",{ltr:{ARROW_RIGHT:"next",ARROW_LEFT:"previous"},rtl:{ARROW_LEFT:"next",ARROW_RIGHT:"previous"}})}return _createClass(e,[{key:"_init",value:function(){this.$wrapper=this.$element.find("."+this.options.containerClass),this.$slides=this.$element.find("."+this.options.slideClass);var t=this.$element.find("img"),e=this.$slides.filter(".is-active");e.length||this.$slides.eq(0).addClass("is-active"),this.options.useMUI||this.$slides.addClass("no-motionui"),t.length?Foundation.onImagesLoaded(t,this._prepareForOrbit.bind(this)):this._prepareForOrbit(),this.options.bullets&&this._loadBullets(),this._events(),this.options.autoPlay&&this.$slides.length>1&&this.geoSync(),this.options.accessible&&this.$wrapper.attr("tabindex",0)}},{key:"_loadBullets",value:function(){this.$bullets=this.$element.find("."+this.options.boxOfBullets).find("button")}},{key:"geoSync",value:function(){var t=this;this.timer=new Foundation.Timer(this.$element,{duration:this.options.timerDelay,infinite:!1},function(){t.changeSlide(!0)}),this.timer.start()}},{key:"_prepareForOrbit",value:function(){var t=this;this._setWrapperHeight(function(e){t._setSlideHeight(e)})}},{key:"_setWrapperHeight",value:function(e){var i,n=0,s=0;this.$slides.each(function(){i=this.getBoundingClientRect().height,t(this).attr("data-slide",s),s&&t(this).css({position:"relative",display:"none"}),n=i>n?i:n,s++}),s===this.$slides.length&&(this.$wrapper.css({height:n}),e(n))}},{key:"_setSlideHeight",value:function(e){this.$slides.each(function(){t(this).css("max-height",e)})}},{key:"_events",value:function(){var e=this;if(this.$slides.length>1){if(this.options.swipe&&this.$slides.off("swipeleft.zf.orbit swiperight.zf.orbit").on("swipeleft.zf.orbit",function(t){t.preventDefault(),e.changeSlide(!0)}).on("swiperight.zf.orbit",function(t){t.preventDefault(),e.changeSlide(!1)}),this.options.autoPlay&&(this.$slides.on("click.zf.orbit",function(){e.$element.data("clickedOn",!e.$element.data("clickedOn")),e.timer[e.$element.data("clickedOn")?"pause":"start"]()}),this.options.pauseOnHover&&this.$element.on("mouseenter.zf.orbit",function(){e.timer.pause()}).on("mouseleave.zf.orbit",function(){e.$element.data("clickedOn")||e.timer.start()})),this.options.navButtons){var i=this.$element.find("."+this.options.nextClass+", ."+this.options.prevClass);i.attr("tabindex",0).on("click.zf.orbit touchend.zf.orbit",function(i){i.preventDefault(),e.changeSlide(t(this).hasClass(e.options.nextClass))})}this.options.bullets&&this.$bullets.on("click.zf.orbit touchend.zf.orbit",function(){if(/is-active/g.test(this.className))return!1;var i=t(this).data("slide"),n=i>e.$slides.filter(".is-active").data("slide"),s=e.$slides.eq(i);e.changeSlide(n,s,i)}),this.$wrapper.add(this.$bullets).on("keydown.zf.orbit",function(i){Foundation.Keyboard.handleKey(i,"Orbit",{next:function(){e.changeSlide(!0)},previous:function(){e.changeSlide(!1)},handled:function(){t(i.target).is(e.$bullets)&&e.$bullets.filter(".is-active").focus()}})})}}},{key:"changeSlide",value:function(t,e,i){var n=this.$slides.filter(".is-active").eq(0);if(/mui/g.test(n[0].className))return!1;var s,o=this.$slides.first(),a=this.$slides.last(),r=t?"Right":"Left",l=t?"Left":"Right",u=this;s=e?e:t?this.options.infiniteWrap?n.next("."+this.options.slideClass).length?n.next("."+this.options.slideClass):o:n.next("."+this.options.slideClass):this.options.infiniteWrap?n.prev("."+this.options.slideClass).length?n.prev("."+this.options.slideClass):a:n.prev("."+this.options.slideClass),s.length&&(this.options.bullets&&(i=i||this.$slides.index(s),this._updateBullets(i)),this.options.useMUI?(Foundation.Motion.animateIn(s.addClass("is-active").css({position:"absolute",top:0}),this.options["animInFrom"+r],function(){s.css({position:"relative",display:"block"}).attr("aria-live","polite")}),Foundation.Motion.animateOut(n.removeClass("is-active"),this.options["animOutTo"+l],function(){n.removeAttr("aria-live"),u.options.autoPlay&&!u.timer.isPaused&&u.timer.restart()})):(n.removeClass("is-active is-in").removeAttr("aria-live").hide(),s.addClass("is-active is-in").attr("aria-live","polite").show(),this.options.autoPlay&&!this.timer.isPaused&&this.timer.restart()),this.$element.trigger("slidechange.zf.orbit",[s]))}},{key:"_updateBullets",value:function(t){var e=this.$element.find("."+this.options.boxOfBullets).find(".is-active").removeClass("is-active").blur(),i=e.find("span:last").detach();this.$bullets.eq(t).addClass("is-active").append(i)}},{key:"destroy",value:function(){this.$element.off(".zf.orbit").find("*").off(".zf.orbit").end().hide(),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={bullets:!0,navButtons:!0,animInFromRight:"slide-in-right",animOutToRight:"slide-out-right",animInFromLeft:"slide-in-left",animOutToLeft:"slide-out-left",autoPlay:!0,timerDelay:5e3,infiniteWrap:!0,swipe:!0,pauseOnHover:!0,accessible:!0,containerClass:"orbit-container",slideClass:"orbit-slide",boxOfBullets:"orbit-bullets",nextClass:"orbit-next",prevClass:"orbit-previous",useMUI:!0},Foundation.plugin(e,"Orbit")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=t(i),this.rules=this.$element.data("responsive-menu"),this.currentMq=null,this.currentPlugin=null,this._init(),this._events(),Foundation.registerPlugin(this,"ResponsiveMenu")}return _createClass(e,[{key:"_init",value:function(){if("string"==typeof this.rules){for(var e={},n=this.rules.split(" "),s=0;s<n.length;s++){var o=n[s].split("-"),a=o.length>1?o[0]:"small",r=o.length>1?o[1]:o[0];null!==i[r]&&(e[a]=i[r])}this.rules=e}t.isEmptyObject(this.rules)||this._checkMediaQueries()}},{key:"_events",value:function(){var e=this;t(window).on("changed.zf.mediaquery",function(){e._checkMediaQueries()})}},{key:"_checkMediaQueries",value:function(){var e,n=this;t.each(this.rules,function(t){Foundation.MediaQuery.atLeast(t)&&(e=t)}),e&&(this.currentPlugin instanceof this.rules[e].plugin||(t.each(i,function(t,e){n.$element.removeClass(e.cssClass)}),this.$element.addClass(this.rules[e].cssClass),this.currentPlugin&&this.currentPlugin.destroy(),this.currentPlugin=new this.rules[e].plugin(this.$element,{})))}},{key:"destroy",value:function(){this.currentPlugin.destroy(),t(window).off(".zf.ResponsiveMenu"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={};var i={dropdown:{cssClass:"dropdown",plugin:Foundation._plugins["dropdown-menu"]||null},drilldown:{cssClass:"drilldown",plugin:Foundation._plugins.drilldown||null},accordion:{cssClass:"accordion-menu",plugin:Foundation._plugins["accordion-menu"]||null}};Foundation.plugin(e,"ResponsiveMenu")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=t(i),this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),this._events(),Foundation.registerPlugin(this,"ResponsiveToggle")}return _createClass(e,[{key:"_init",value:function(){var e=this.$element.data("responsive-toggle");e||console.error("Your tab bar needs an ID of a Menu as the value of data-tab-bar."),this.$targetMenu=t("#"+e),this.$toggler=this.$element.find("[data-toggle]"),this._update()}},{key:"_events",value:function(){this._updateMqHandler=this._update.bind(this),t(window).on("changed.zf.mediaquery",this._updateMqHandler),this.$toggler.on("click.zf.responsiveToggle",this.toggleMenu.bind(this))}},{key:"_update",value:function(){Foundation.MediaQuery.atLeast(this.options.hideFor)?(this.$element.hide(),this.$targetMenu.show()):(this.$element.show(),this.$targetMenu.hide())}},{key:"toggleMenu",value:function(){Foundation.MediaQuery.atLeast(this.options.hideFor)||(this.$targetMenu.toggle(0),this.$element.trigger("toggled.zf.responsiveToggle"))}},{key:"destroy",value:function(){this.$element.off(".zf.responsiveToggle"),this.$toggler.off(".zf.responsiveToggle"),t(window).off("changed.zf.mediaquery",this._updateMqHandler),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={hideFor:"medium"},Foundation.plugin(e,"ResponsiveToggle")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){function e(){return/iP(ad|hone|od).*OS/.test(window.navigator.userAgent)}function i(){return/Android/.test(window.navigator.userAgent)}function n(){return e()||i()}var s=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Reveal"),Foundation.Keyboard.register("Reveal",{ENTER:"open",SPACE:"open",ESCAPE:"close",TAB:"tab_forward",SHIFT_TAB:"tab_backward"})}return _createClass(e,[{key:"_init",value:function(){this.id=this.$element.attr("id"),this.isActive=!1,this.cached={mq:Foundation.MediaQuery.current},this.isMobile=n(),this.$anchor=t(t('[data-open="'+this.id+'"]').length?'[data-open="'+this.id+'"]':'[data-toggle="'+this.id+'"]'),this.$anchor.attr({"aria-controls":this.id,"aria-haspopup":!0,tabindex:0}),(this.options.fullScreen||this.$element.hasClass("full"))&&(this.options.fullScreen=!0,this.options.overlay=!1),this.options.overlay&&!this.$overlay&&(this.$overlay=this._makeOverlay(this.id)),this.$element.attr({role:"dialog","aria-hidden":!0,"data-yeti-box":this.id,"data-resize":this.id}),this.$overlay?this.$element.detach().appendTo(this.$overlay):(this.$element.detach().appendTo(t("body")),this.$element.addClass("without-overlay")),this._events(),this.options.deepLink&&window.location.hash==="#"+this.id&&t(window).one("load.zf.reveal",this.open.bind(this))}},{key:"_makeOverlay",value:function(e){var i=t("<div></div>").addClass("reveal-overlay").appendTo("body");return i}},{key:"_updatePosition",value:function(){var e,i,n=this.$element.outerWidth(),s=t(window).width(),o=this.$element.outerHeight(),a=t(window).height();e="auto"===this.options.hOffset?parseInt((s-n)/2,10):parseInt(this.options.hOffset,10),i="auto"===this.options.vOffset?o>a?parseInt(Math.min(100,a/10),10):parseInt((a-o)/4,10):parseInt(this.options.vOffset,10),this.$element.css({top:i+"px"}),this.$overlay&&"auto"===this.options.hOffset||(this.$element.css({left:e+"px"}),this.$element.css({margin:"0px"}))}},{key:"_events",value:function(){var e=this,i=this;this.$element.on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":function(n,s){return n.target===i.$element[0]||t(n.target).parents("[data-closable]")[0]===s?e.close.apply(e):void 0},"toggle.zf.trigger":this.toggle.bind(this),"resizeme.zf.trigger":function(){i._updatePosition()}}),this.$anchor.length&&this.$anchor.on("keydown.zf.reveal",function(t){13!==t.which&&32!==t.which||(t.stopPropagation(),t.preventDefault(),i.open())}),this.options.closeOnClick&&this.options.overlay&&this.$overlay.off(".zf.reveal").on("click.zf.reveal",function(e){e.target===i.$element[0]||t.contains(i.$element[0],e.target)||i.close()}),this.options.deepLink&&t(window).on("popstate.zf.reveal:"+this.id,this._handleState.bind(this))}},{key:"_handleState",value:function(t){window.location.hash!=="#"+this.id||this.isActive?this.close():this.open()}},{key:"open",value:function(){var e=this;if(this.options.deepLink){var i="#"+this.id;window.history.pushState?window.history.pushState(null,null,i):window.location.hash=i}if(this.isActive=!0,this.$element.css({visibility:"hidden"}).show().scrollTop(0),this.options.overlay&&this.$overlay.css({visibility:"hidden"}).show(),this._updatePosition(),this.$element.hide().css({visibility:""}),this.$overlay&&(this.$overlay.css({visibility:""}).hide(),this.$element.hasClass("fast")?this.$overlay.addClass("fast"):this.$element.hasClass("slow")&&this.$overlay.addClass("slow")),this.options.multipleOpened||this.$element.trigger("closeme.zf.reveal",this.id),this.options.animationIn){var n;!function(){var t=function(){n.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),console.log("focus")};n=e,e.options.overlay&&Foundation.Motion.animateIn(e.$overlay,"fade-in"),Foundation.Motion.animateIn(e.$element,e.options.animationIn,function(){e.focusableElements=Foundation.Keyboard.findFocusable(e.$element),t()})}()}else this.options.overlay&&this.$overlay.show(0),this.$element.show(this.options.showDelay);this.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),this.$element.trigger("open.zf.reveal"),this.isMobile?(this.originalScrollPos=window.pageYOffset,t("html, body").addClass("is-reveal-open")):t("body").addClass("is-reveal-open"),setTimeout(function(){e._extraHandlers()},0)}},{key:"_extraHandlers",value:function(){var e=this;this.focusableElements=Foundation.Keyboard.findFocusable(this.$element),this.options.overlay||!this.options.closeOnClick||this.options.fullScreen||t("body").on("click.zf.reveal",function(i){i.target===e.$element[0]||t.contains(e.$element[0],i.target)||e.close()}),this.options.closeOnEsc&&t(window).on("keydown.zf.reveal",function(t){Foundation.Keyboard.handleKey(t,"Reveal",{close:function(){e.options.closeOnEsc&&(e.close(),e.$anchor.focus())}})}),this.$element.on("keydown.zf.reveal",function(i){var n=t(this);Foundation.Keyboard.handleKey(i,"Reveal",{tab_forward:function(){return e.$element.find(":focus").is(e.focusableElements.eq(-1))?(e.focusableElements.eq(0).focus(),!0):0===e.focusableElements.length?!0:void 0},tab_backward:function(){return e.$element.find(":focus").is(e.focusableElements.eq(0))||e.$element.is(":focus")?(e.focusableElements.eq(-1).focus(),!0):0===e.focusableElements.length?!0:void 0},open:function(){e.$element.find(":focus").is(e.$element.find("[data-close]"))?setTimeout(function(){e.$anchor.focus()},1):n.is(e.focusableElements)&&e.open()},close:function(){e.options.closeOnEsc&&(e.close(),e.$anchor.focus())},handled:function(t){t&&i.preventDefault()}})})}},{key:"close",value:function(){function e(){i.isMobile?(t("html, body").removeClass("is-reveal-open"),i.originalScrollPos&&(t("body").scrollTop(i.originalScrollPos),i.originalScrollPos=null)):t("body").removeClass("is-reveal-open"),i.$element.attr("aria-hidden",!0),i.$element.trigger("closed.zf.reveal")}if(!this.isActive||!this.$element.is(":visible"))return!1;var i=this;this.options.animationOut?(this.options.overlay?Foundation.Motion.animateOut(this.$overlay,"fade-out",e):e(),Foundation.Motion.animateOut(this.$element,this.options.animationOut)):(this.options.overlay?this.$overlay.hide(0,e):e(),this.$element.hide(this.options.hideDelay)),this.options.closeOnEsc&&t(window).off("keydown.zf.reveal"),!this.options.overlay&&this.options.closeOnClick&&t("body").off("click.zf.reveal"),this.$element.off("keydown.zf.reveal"),this.options.resetOnClose&&this.$element.html(this.$element.html()),this.isActive=!1,i.options.deepLink&&(window.history.replaceState?window.history.replaceState("",document.title,window.location.pathname):window.location.hash="")}},{key:"toggle",value:function(){this.isActive?this.close():this.open()}},{key:"destroy",value:function(){this.options.overlay&&(this.$element.appendTo(t("body")),this.$overlay.hide().off().remove()),this.$element.hide().off(),this.$anchor.off(".zf"),t(window).off(".zf.reveal:"+this.id),Foundation.unregisterPlugin(this)}}]),e}();s.defaults={animationIn:"",animationOut:"",showDelay:0,hideDelay:0,closeOnClick:!0,closeOnEsc:!0,multipleOpened:!1,vOffset:"auto",hOffset:"auto",fullScreen:!1,btmOffsetPct:10,overlay:!0,resetOnClose:!1,deepLink:!1},Foundation.plugin(s,"Reveal")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){function e(t,e){return t/e}function i(t,e,i,n){return Math.abs(t.position()[e]+t[n]()/2-i)}var n=function(){function n(e,i){_classCallCheck(this,n),this.$element=e,this.options=t.extend({},n.defaults,this.$element.data(),i),this._init(),Foundation.registerPlugin(this,"Slider"),Foundation.Keyboard.register("Slider",{ltr:{ARROW_RIGHT:"increase",ARROW_UP:"increase",ARROW_DOWN:"decrease",ARROW_LEFT:"decrease",SHIFT_ARROW_RIGHT:"increase_fast",SHIFT_ARROW_UP:"increase_fast",SHIFT_ARROW_DOWN:"decrease_fast",SHIFT_ARROW_LEFT:"decrease_fast"},rtl:{ARROW_LEFT:"increase",ARROW_RIGHT:"decrease",SHIFT_ARROW_LEFT:"increase_fast",SHIFT_ARROW_RIGHT:"decrease_fast"}})}return _createClass(n,[{key:"_init",value:function(){this.inputs=this.$element.find("input"),this.handles=this.$element.find("[data-slider-handle]"),this.$handle=this.handles.eq(0),this.$input=this.inputs.length?this.inputs.eq(0):t("#"+this.$handle.attr("aria-controls")),this.$fill=this.$element.find("[data-slider-fill]").css(this.options.vertical?"height":"width",0);var e=!1,i=this;(this.options.disabled||this.$element.hasClass(this.options.disabledClass))&&(this.options.disabled=!0,this.$element.addClass(this.options.disabledClass)),this.inputs.length||(this.inputs=t().add(this.$input),this.options.binding=!0),this._setInitAttr(0),this._events(this.$handle),this.handles[1]&&(this.options.doubleSided=!0,this.$handle2=this.handles.eq(1),this.$input2=this.inputs.length>1?this.inputs.eq(1):t("#"+this.$handle2.attr("aria-controls")),this.inputs[1]||(this.inputs=this.inputs.add(this.$input2)),e=!0,this._setHandlePos(this.$handle,this.options.initialStart,!0,function(){i._setHandlePos(i.$handle2,i.options.initialEnd,!0)}),this._setInitAttr(1),this._events(this.$handle2)),e||this._setHandlePos(this.$handle,this.options.initialStart,!0)}},{key:"_setHandlePos",value:function(t,i,n,s){if(!this.$element.hasClass(this.options.disabledClass)){i=parseFloat(i),i<this.options.start?i=this.options.start:i>this.options.end&&(i=this.options.end);var o=this.options.doubleSided;if(o)if(0===this.handles.index(t)){var a=parseFloat(this.$handle2.attr("aria-valuenow"));i=i>=a?a-this.options.step:i}else{var r=parseFloat(this.$handle.attr("aria-valuenow"));i=r>=i?r+this.options.step:i}this.options.vertical&&!n&&(i=this.options.end-i);var l=this,u=this.options.vertical,d=u?"height":"width",h=u?"top":"left",c=t[0].getBoundingClientRect()[d],f=this.$element[0].getBoundingClientRect()[d],p=e(i-this.options.start,this.options.end-this.options.start).toFixed(2),m=(f-c)*p,v=(100*e(m,f)).toFixed(this.options.decimal);i=parseFloat(i.toFixed(this.options.decimal));var g={};if(this._setValues(t,i),o){var w,y=0===this.handles.index(t),b=~~(100*e(c,f));if(y)g[h]=v+"%",w=parseFloat(this.$handle2[0].style[h])-v+b,s&&"function"==typeof s&&s();else{var $=parseFloat(this.$handle[0].style[h]);w=v-(isNaN($)?this.options.initialStart/((this.options.end-this.options.start)/100):$)+b}g["min-"+d]=w+"%"}this.$element.one("finished.zf.animate",function(){l.$element.trigger("moved.zf.slider",[t])});var C=this.$element.data("dragging")?1e3/60:this.options.moveTime;Foundation.Move(C,t,function(){t.css(h,v+"%"),l.options.doubleSided?l.$fill.css(g):l.$fill.css(d,100*p+"%")}),clearTimeout(l.timeout),l.timeout=setTimeout(function(){l.$element.trigger("changed.zf.slider",[t])},l.options.changedDelay)}}},{key:"_setInitAttr",value:function(t){var e=this.inputs.eq(t).attr("id")||Foundation.GetYoDigits(6,"slider");this.inputs.eq(t).attr({id:e,max:this.options.end,min:this.options.start,step:this.options.step}),this.handles.eq(t).attr({role:"slider","aria-controls":e,"aria-valuemax":this.options.end,"aria-valuemin":this.options.start,"aria-valuenow":0===t?this.options.initialStart:this.options.initialEnd,"aria-orientation":this.options.vertical?"vertical":"horizontal",tabindex:0})}},{key:"_setValues",value:function(t,e){var i=this.options.doubleSided?this.handles.index(t):0;this.inputs.eq(i).val(e),t.attr("aria-valuenow",e)}},{key:"_handleEvent",value:function(n,s,o){var a,r;if(o)a=this._adjustValue(null,o),r=!0;else{n.preventDefault();var l=this,u=this.options.vertical,d=u?"height":"width",h=u?"top":"left",c=u?n.pageY:n.pageX,f=(this.$handle[0].getBoundingClientRect()[d]/2,this.$element[0].getBoundingClientRect()[d]),p=u?t(window).scrollTop():t(window).scrollLeft(),m=this.$element.offset()[h];n.clientY===n.pageY&&(c+=p);var v,g=c-m;if(v=0>g?0:g>f?f:g,offsetPct=e(v,f),a=(this.options.end-this.options.start)*offsetPct+this.options.start,Foundation.rtl()&&!this.options.vertical&&(a=this.options.end-a),a=l._adjustValue(null,a),r=!1,!s){var w=i(this.$handle,h,v,d),y=i(this.$handle2,h,v,d);s=y>=w?this.$handle:this.$handle2}}this._setHandlePos(s,a,r)}},{key:"_adjustValue",value:function(t,e){var i,n,s,o,a=this.options.step,r=parseFloat(a/2);return i=t?parseFloat(t.attr("aria-valuenow")):e,n=i%a,s=i-n,o=s+a,0===n?i:i=i>=s+r?o:s}},{key:"_events",value:function(e){var i,n=this;if(this.inputs.off("change.zf.slider").on("change.zf.slider",function(e){var i=n.inputs.index(t(this));n._handleEvent(e,n.handles.eq(i),t(this).val())}),this.options.clickSelect&&this.$element.off("click.zf.slider").on("click.zf.slider",function(e){return n.$element.data("dragging")?!1:void(t(e.target).is("[data-slider-handle]")||(n.options.doubleSided?n._handleEvent(e):n._handleEvent(e,n.$handle)))}),this.options.draggable){this.handles.addTouch();var s=t("body");e.off("mousedown.zf.slider").on("mousedown.zf.slider",function(o){e.addClass("is-dragging"),n.$fill.addClass("is-dragging"),n.$element.data("dragging",!0),i=t(o.currentTarget),s.on("mousemove.zf.slider",function(t){t.preventDefault(),n._handleEvent(t,i)}).on("mouseup.zf.slider",function(t){n._handleEvent(t,i),e.removeClass("is-dragging"),n.$fill.removeClass("is-dragging"),n.$element.data("dragging",!1),s.off("mousemove.zf.slider mouseup.zf.slider")})}).on("selectstart.zf.slider touchmove.zf.slider",function(t){t.preventDefault()})}e.off("keydown.zf.slider").on("keydown.zf.slider",function(e){var i,s=t(this),o=n.options.doubleSided?n.handles.index(s):0,a=parseFloat(n.inputs.eq(o).val());Foundation.Keyboard.handleKey(e,"Slider",{decrease:function(){i=a-n.options.step},increase:function(){i=a+n.options.step},decrease_fast:function(){i=a-10*n.options.step},increase_fast:function(){i=a+10*n.options.step},handled:function(){e.preventDefault(),n._setHandlePos(s,i,!0)}})})}},{key:"destroy",value:function(){this.handles.off(".zf.slider"),this.inputs.off(".zf.slider"),this.$element.off(".zf.slider"),Foundation.unregisterPlugin(this)}}]),n}();n.defaults={start:0,end:100,step:1,initialStart:0,initialEnd:100,binding:!1,clickSelect:!0,vertical:!1,draggable:!0,disabled:!1,doubleSided:!1,decimal:2,moveTime:200,disabledClass:"disabled",invertVertical:!1,changedDelay:500},Foundation.plugin(n,"Slider")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){function e(t){return parseInt(window.getComputedStyle(document.body,null).fontSize,10)*t}var i=function(){function i(e,n){_classCallCheck(this,i),this.$element=e,this.options=t.extend({},i.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Sticky")}return _createClass(i,[{key:"_init",value:function(){var e=this.$element.parent("[data-sticky-container]"),i=this.$element[0].id||Foundation.GetYoDigits(6,"sticky"),n=this;e.length||(this.wasWrapped=!0),this.$container=e.length?e:t(this.options.container).wrapInner(this.$element),this.$container.addClass(this.options.containerClass),this.$element.addClass(this.options.stickyClass).attr({"data-resize":i}),this.scrollCount=this.options.checkEvery,this.isStuck=!1,t(window).one("load.zf.sticky",function(){""!==n.options.anchor?n.$anchor=t("#"+n.options.anchor):n._parsePoints(),n._setSizes(function(){n._calc(!1)}),n._events(i.split("-").reverse().join("-"))})}},{key:"_parsePoints",value:function(){for(var e=""==this.options.topAnchor?1:this.options.topAnchor,i=""==this.options.btmAnchor?document.documentElement.scrollHeight:this.options.btmAnchor,n=[e,i],s={},o=0,a=n.length;a>o&&n[o];o++){var r;if("number"==typeof n[o])r=n[o];else{var l=n[o].split(":"),u=t("#"+l[0]);r=u.offset().top,l[1]&&"bottom"===l[1].toLowerCase()&&(r+=u[0].getBoundingClientRect().height)}s[o]=r}this.points=s}},{key:"_events",value:function(e){var i=this,n=this.scrollListener="scroll.zf."+e;this.isOn||(this.canStick&&(this.isOn=!0,t(window).off(n).on(n,function(t){0===i.scrollCount?(i.scrollCount=i.options.checkEvery,i._setSizes(function(){i._calc(!1,window.pageYOffset)})):(i.scrollCount--,i._calc(!1,window.pageYOffset))})),this.$element.off("resizeme.zf.trigger").on("resizeme.zf.trigger",function(t,s){i._setSizes(function(){i._calc(!1),i.canStick?i.isOn||i._events(e):i.isOn&&i._pauseListeners(n)})}))}},{key:"_pauseListeners",value:function(e){this.isOn=!1,t(window).off(e),this.$element.trigger("pause.zf.sticky")}},{key:"_calc",value:function(t,e){return t&&this._setSizes(),this.canStick?(e||(e=window.pageYOffset),void(e>=this.topPoint?e<=this.bottomPoint?this.isStuck||this._setSticky():this.isStuck&&this._removeSticky(!1):this.isStuck&&this._removeSticky(!0))):(this.isStuck&&this._removeSticky(!0),!1)}},{key:"_setSticky",value:function(){var t=this,e=this.options.stickTo,i="top"===e?"marginTop":"marginBottom",n="top"===e?"bottom":"top",s={};s[i]=this.options[i]+"em",s[e]=0,s[n]="auto",s.left=this.$container.offset().left+parseInt(window.getComputedStyle(this.$container[0])["padding-left"],10),this.isStuck=!0,this.$element.removeClass("is-anchored is-at-"+n).addClass("is-stuck is-at-"+e).css(s).trigger("sticky.zf.stuckto:"+e),this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",function(){t._setSizes()})}},{key:"_removeSticky",value:function(t){var e=this.options.stickTo,i="top"===e,n={},s=(this.points?this.points[1]-this.points[0]:this.anchorHeight)-this.elemHeight,o=i?"marginTop":"marginBottom",a=t?"top":"bottom";n[o]=0,n.bottom="auto",t?n.top=0:n.top=s,n.left="",this.isStuck=!1,this.$element.removeClass("is-stuck is-at-"+e).addClass("is-anchored is-at-"+a).css(n).trigger("sticky.zf.unstuckfrom:"+a)}},{key:"_setSizes",value:function(t){this.canStick=Foundation.MediaQuery.atLeast(this.options.stickyOn),this.canStick||t();var e=this.$container[0].getBoundingClientRect().width,i=window.getComputedStyle(this.$container[0]),n=parseInt(i["padding-right"],10);this.$anchor&&this.$anchor.length?this.anchorHeight=this.$anchor[0].getBoundingClientRect().height:this._parsePoints(),this.$element.css({"max-width":e-n+"px"});var s=this.$element[0].getBoundingClientRect().height||this.containerHeight;"none"==this.$element.css("display")&&(s=0),this.containerHeight=s,this.$container.css({height:s}),this.elemHeight=s,this.isStuck&&this.$element.css({left:this.$container.offset().left+parseInt(i["padding-left"],10)}),this._setBreakPoints(s,function(){t&&t()})}},{key:"_setBreakPoints",value:function(t,i){if(!this.canStick){if(!i)return!1;i()}var n=e(this.options.marginTop),s=e(this.options.marginBottom),o=this.points?this.points[0]:this.$anchor.offset().top,a=this.points?this.points[1]:o+this.anchorHeight,r=window.innerHeight;"top"===this.options.stickTo?(o-=n,a-=t+n):"bottom"===this.options.stickTo&&(o-=r-(t+s),a-=r-s),this.topPoint=o,this.bottomPoint=a,i&&i()}},{key:"destroy",value:function(){this._removeSticky(!0),this.$element.removeClass(this.options.stickyClass+" is-anchored is-at-top").css({height:"",top:"",bottom:"","max-width":""}).off("resizeme.zf.trigger"),this.$anchor&&this.$anchor.length&&this.$anchor.off("change.zf.sticky"),t(window).off(this.scrollListener),this.wasWrapped?this.$element.unwrap():this.$container.removeClass(this.options.containerClass).css({height:""}),Foundation.unregisterPlugin(this)}}]),i}();i.defaults={container:"<div data-sticky-container></div>",stickTo:"top",anchor:"",topAnchor:"",btmAnchor:"",marginTop:1,marginBottom:1,stickyOn:"medium",stickyClass:"sticky",containerClass:"sticky-container",checkEvery:-1},Foundation.plugin(i,"Sticky")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n);
-}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Tabs"),Foundation.Keyboard.register("Tabs",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"previous",ARROW_DOWN:"next",ARROW_LEFT:"previous"})}return _createClass(e,[{key:"_init",value:function(){var e=this;if(this.$tabTitles=this.$element.find("."+this.options.linkClass),this.$tabContent=t('[data-tabs-content="'+this.$element[0].id+'"]'),this.$tabTitles.each(function(){var i=t(this),n=i.find("a"),s=i.hasClass("is-active"),o=n[0].hash.slice(1),a=n[0].id?n[0].id:o+"-label",r=t("#"+o);i.attr({role:"presentation"}),n.attr({role:"tab","aria-controls":o,"aria-selected":s,id:a}),r.attr({role:"tabpanel","aria-hidden":!s,"aria-labelledby":a}),s&&e.options.autoFocus&&n.focus()}),this.options.matchHeight){var i=this.$tabContent.find("img");i.length?Foundation.onImagesLoaded(i,this._setHeight.bind(this)):this._setHeight()}this._events()}},{key:"_events",value:function(){this._addKeyHandler(),this._addClickHandler(),this._setHeightMqHandler=null,this.options.matchHeight&&(this._setHeightMqHandler=this._setHeight.bind(this),t(window).on("changed.zf.mediaquery",this._setHeightMqHandler))}},{key:"_addClickHandler",value:function(){var e=this;this.$element.off("click.zf.tabs").on("click.zf.tabs","."+this.options.linkClass,function(i){i.preventDefault(),i.stopPropagation(),t(this).hasClass("is-active")||e._handleTabChange(t(this))})}},{key:"_addKeyHandler",value:function(){var e=this;e.$element.find("li:first-of-type"),e.$element.find("li:last-of-type");this.$tabTitles.off("keydown.zf.tabs").on("keydown.zf.tabs",function(i){if(9!==i.which){var n,s,o=t(this),a=o.parent("ul").children("li");a.each(function(i){return t(this).is(o)?void(e.options.wrapOnKeys?(n=0===i?a.last():a.eq(i-1),s=i===a.length-1?a.first():a.eq(i+1)):(n=a.eq(Math.max(0,i-1)),s=a.eq(Math.min(i+1,a.length-1)))):void 0}),Foundation.Keyboard.handleKey(i,"Tabs",{open:function(){o.find('[role="tab"]').focus(),e._handleTabChange(o)},previous:function(){n.find('[role="tab"]').focus(),e._handleTabChange(n)},next:function(){s.find('[role="tab"]').focus(),e._handleTabChange(s)},handled:function(){i.stopPropagation(),i.preventDefault()}})}})}},{key:"_handleTabChange",value:function(e){var i=e.find('[role="tab"]'),n=i[0].hash,s=this.$tabContent.find(n),o=this.$element.find("."+this.options.linkClass+".is-active").removeClass("is-active").find('[role="tab"]').attr({"aria-selected":"false"});t("#"+o.attr("aria-controls")).removeClass("is-active").attr({"aria-hidden":"true"}),e.addClass("is-active"),i.attr({"aria-selected":"true"}),s.addClass("is-active").attr({"aria-hidden":"false"}),this.$element.trigger("change.zf.tabs",[e])}},{key:"selectTab",value:function(t){var e;e="object"==typeof t?t[0].id:t,e.indexOf("#")<0&&(e="#"+e);var i=this.$tabTitles.find('[href="'+e+'"]').parent("."+this.options.linkClass);this._handleTabChange(i)}},{key:"_setHeight",value:function(){var e=0;this.$tabContent.find("."+this.options.panelClass).css("height","").each(function(){var i=t(this),n=i.hasClass("is-active");n||i.css({visibility:"hidden",display:"block"});var s=this.getBoundingClientRect().height;n||i.css({visibility:"",display:""}),e=s>e?s:e}).css("height",e+"px")}},{key:"destroy",value:function(){this.$element.find("."+this.options.linkClass).off(".zf.tabs").hide().end().find("."+this.options.panelClass).hide(),this.options.matchHeight&&null!=this._setHeightMqHandler&&t(window).off("changed.zf.mediaquery",this._setHeightMqHandler),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={autoFocus:!1,wrapOnKeys:!0,matchHeight:!1,linkClass:"tabs-title",panelClass:"tabs-panel"},Foundation.plugin(e,"Tabs")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,i.data(),n),this.className="",this._init(),this._events(),Foundation.registerPlugin(this,"Toggler")}return _createClass(e,[{key:"_init",value:function(){var e;this.options.animate?(e=this.options.animate.split(" "),this.animationIn=e[0],this.animationOut=e[1]||null):(e=this.$element.data("toggler"),this.className="."===e[0]?e.slice(1):e);var i=this.$element[0].id;t('[data-open="'+i+'"], [data-close="'+i+'"], [data-toggle="'+i+'"]').attr("aria-controls",i),this.$element.attr("aria-expanded",!this.$element.is(":hidden"))}},{key:"_events",value:function(){this.$element.off("toggle.zf.trigger").on("toggle.zf.trigger",this.toggle.bind(this))}},{key:"toggle",value:function(){this[this.options.animate?"_toggleAnimate":"_toggleClass"]()}},{key:"_toggleClass",value:function(){this.$element.toggleClass(this.className);var t=this.$element.hasClass(this.className);t?this.$element.trigger("on.zf.toggler"):this.$element.trigger("off.zf.toggler"),this._updateARIA(t)}},{key:"_toggleAnimate",value:function(){var t=this;this.$element.is(":hidden")?Foundation.Motion.animateIn(this.$element,this.animationIn,function(){t._updateARIA(!0),this.trigger("on.zf.toggler")}):Foundation.Motion.animateOut(this.$element,this.animationOut,function(){t._updateARIA(!1),this.trigger("off.zf.toggler")})}},{key:"_updateARIA",value:function(t){this.$element.attr("aria-expanded",!!t)}},{key:"destroy",value:function(){this.$element.off(".zf.toggler"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={animate:!1},Foundation.plugin(e,"Toggler")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this.isActive=!1,this.isClick=!1,this._init(),Foundation.registerPlugin(this,"Tooltip")}return _createClass(e,[{key:"_init",value:function(){var e=this.$element.attr("aria-describedby")||Foundation.GetYoDigits(6,"tooltip");this.options.positionClass=this.options.positionClass||this._getPositionClass(this.$element),this.options.tipText=this.options.tipText||this.$element.attr("title"),this.template=this.options.template?t(this.options.template):this._buildTemplate(e),this.template.appendTo(document.body).text(this.options.tipText).hide(),this.$element.attr({title:"","aria-describedby":e,"data-yeti-box":e,"data-toggle":e,"data-resize":e}).addClass(this.triggerClass),this.usedPositions=[],this.counter=4,this.classChanged=!1,this._events()}},{key:"_getPositionClass",value:function(t){if(!t)return"";var e=t[0].className.match(/\b(top|left|right)\b/g);return e=e?e[0]:""}},{key:"_buildTemplate",value:function(e){var i=(this.options.tooltipClass+" "+this.options.positionClass+" "+this.options.templateClasses).trim(),n=t("<div></div>").addClass(i).attr({role:"tooltip","aria-hidden":!0,"data-is-active":!1,"data-is-focus":!1,id:e});return n}},{key:"_reposition",value:function(t){this.usedPositions.push(t?t:"bottom"),!t&&this.usedPositions.indexOf("top")<0?this.template.addClass("top"):"top"===t&&this.usedPositions.indexOf("bottom")<0?this.template.removeClass(t):"left"===t&&this.usedPositions.indexOf("right")<0?this.template.removeClass(t).addClass("right"):"right"===t&&this.usedPositions.indexOf("left")<0?this.template.removeClass(t).addClass("left"):!t&&this.usedPositions.indexOf("top")>-1&&this.usedPositions.indexOf("left")<0?this.template.addClass("left"):"top"===t&&this.usedPositions.indexOf("bottom")>-1&&this.usedPositions.indexOf("left")<0?this.template.removeClass(t).addClass("left"):"left"===t&&this.usedPositions.indexOf("right")>-1&&this.usedPositions.indexOf("bottom")<0?this.template.removeClass(t):"right"===t&&this.usedPositions.indexOf("left")>-1&&this.usedPositions.indexOf("bottom")<0?this.template.removeClass(t):this.template.removeClass(t),this.classChanged=!0,this.counter--}},{key:"_setPosition",value:function(){var t=this._getPositionClass(this.template),e=Foundation.Box.GetDimensions(this.template),i=Foundation.Box.GetDimensions(this.$element),n="left"===t?"left":"right"===t?"left":"top",s="top"===n?"height":"width";"height"===s?this.options.vOffset:this.options.hOffset;if(e.width>=e.windowDims.width||!this.counter&&!Foundation.Box.ImNotTouchingYou(this.template))return this.template.offset(Foundation.Box.GetOffsets(this.template,this.$element,"center bottom",this.options.vOffset,this.options.hOffset,!0)).css({width:i.windowDims.width-2*this.options.hOffset,height:"auto"}),!1;for(this.template.offset(Foundation.Box.GetOffsets(this.template,this.$element,"center "+(t||"bottom"),this.options.vOffset,this.options.hOffset));!Foundation.Box.ImNotTouchingYou(this.template)&&this.counter;)this._reposition(t),this._setPosition()}},{key:"show",value:function(){if("all"!==this.options.showOn&&!Foundation.MediaQuery.atLeast(this.options.showOn))return!1;var t=this;this.template.css("visibility","hidden").show(),this._setPosition(),this.$element.trigger("closeme.zf.tooltip",this.template.attr("id")),this.template.attr({"data-is-active":!0,"aria-hidden":!1}),t.isActive=!0,this.template.stop().hide().css("visibility","").fadeIn(this.options.fadeInDuration,function(){}),this.$element.trigger("show.zf.tooltip")}},{key:"hide",value:function(){var t=this;this.template.stop().attr({"aria-hidden":!0,"data-is-active":!1}).fadeOut(this.options.fadeOutDuration,function(){t.isActive=!1,t.isClick=!1,t.classChanged&&(t.template.removeClass(t._getPositionClass(t.template)).addClass(t.options.positionClass),t.usedPositions=[],t.counter=4,t.classChanged=!1)}),this.$element.trigger("hide.zf.tooltip")}},{key:"_events",value:function(){var t=this,e=(this.template,!1);this.options.disableHover||this.$element.on("mouseenter.zf.tooltip",function(e){t.isActive||(t.timeout=setTimeout(function(){t.show()},t.options.hoverDelay))}).on("mouseleave.zf.tooltip",function(i){clearTimeout(t.timeout),(!e||t.isClick&&!t.options.clickOpen)&&t.hide()}),this.options.clickOpen?this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick||(t.isClick=!0,!t.options.disableHover&&t.$element.attr("tabindex")||t.isActive||t.show())}):this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick=!0}),this.options.disableForTouch||this.$element.on("tap.zf.tooltip touchend.zf.tooltip",function(e){t.isActive?t.hide():t.show()}),this.$element.on({"close.zf.trigger":this.hide.bind(this)}),this.$element.on("focus.zf.tooltip",function(i){return e=!0,t.isClick?(t.options.clickOpen||(e=!1),!1):void t.show()}).on("focusout.zf.tooltip",function(i){e=!1,t.isClick=!1,t.hide()}).on("resizeme.zf.trigger",function(){t.isActive&&t._setPosition()})}},{key:"toggle",value:function(){this.isActive?this.hide():this.show()}},{key:"destroy",value:function(){this.$element.attr("title",this.template.text()).off(".zf.trigger .zf.tootip").removeAttr("aria-describedby").removeAttr("data-yeti-box").removeAttr("data-toggle").removeAttr("data-resize"),this.template.remove(),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={disableForTouch:!1,hoverDelay:200,fadeInDuration:150,fadeOutDuration:150,disableHover:!1,templateClasses:"",tooltipClass:"tooltip",triggerClass:"has-tip",showOn:"small",template:"",tipText:"",touchCloseText:"Tap to close.",clickOpen:!0,positionClass:"",vOffset:10,hOffset:12},Foundation.plugin(e,"Tooltip")}(jQuery);
\ No newline at end of file
+}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this._init(),Foundation.registerPlugin(this,"Tabs"),Foundation.Keyboard.register("Tabs",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"previous",ARROW_DOWN:"next",ARROW_LEFT:"previous"})}return _createClass(e,[{key:"_init",value:function(){var e=this;if(this.$tabTitles=this.$element.find("."+this.options.linkClass),this.$tabContent=t('[data-tabs-content="'+this.$element[0].id+'"]'),this.$tabTitles.each(function(){var i=t(this),n=i.find("a"),s=i.hasClass("is-active"),o=n[0].hash.slice(1),a=n[0].id?n[0].id:o+"-label",r=t("#"+o);i.attr({role:"presentation"}),n.attr({role:"tab","aria-controls":o,"aria-selected":s,id:a}),r.attr({role:"tabpanel","aria-hidden":!s,"aria-labelledby":a}),s&&e.options.autoFocus&&n.focus()}),this.options.matchHeight){var i=this.$tabContent.find("img");i.length?Foundation.onImagesLoaded(i,this._setHeight.bind(this)):this._setHeight()}this._events()}},{key:"_events",value:function(){this._addKeyHandler(),this._addClickHandler(),this._setHeightMqHandler=null,this.options.matchHeight&&(this._setHeightMqHandler=this._setHeight.bind(this),t(window).on("changed.zf.mediaquery",this._setHeightMqHandler))}},{key:"_addClickHandler",value:function(){var e=this;this.$element.off("click.zf.tabs").on("click.zf.tabs","."+this.options.linkClass,function(i){i.preventDefault(),i.stopPropagation(),t(this).hasClass("is-active")||e._handleTabChange(t(this))})}},{key:"_addKeyHandler",value:function(){var e=this;e.$element.find("li:first-of-type"),e.$element.find("li:last-of-type");this.$tabTitles.off("keydown.zf.tabs").on("keydown.zf.tabs",function(i){if(9!==i.which){var n,s,o=t(this),a=o.parent("ul").children("li");a.each(function(i){return t(this).is(o)?void(e.options.wrapOnKeys?(n=0===i?a.last():a.eq(i-1),s=i===a.length-1?a.first():a.eq(i+1)):(n=a.eq(Math.max(0,i-1)),s=a.eq(Math.min(i+1,a.length-1)))):void 0}),Foundation.Keyboard.handleKey(i,"Tabs",{open:function(){o.find('[role="tab"]').focus(),e._handleTabChange(o)},previous:function(){n.find('[role="tab"]').focus(),e._handleTabChange(n)},next:function(){s.find('[role="tab"]').focus(),e._handleTabChange(s)},handled:function(){i.stopPropagation(),i.preventDefault()}})}})}},{key:"_handleTabChange",value:function(e){var i=e.find('[role="tab"]'),n=i[0].hash,s=this.$tabContent.find(n),o=this.$element.find("."+this.options.linkClass+".is-active").removeClass("is-active").find('[role="tab"]').attr({"aria-selected":"false"});t("#"+o.attr("aria-controls")).removeClass("is-active").attr({"aria-hidden":"true"}),e.addClass("is-active"),i.attr({"aria-selected":"true"}),s.addClass("is-active").attr({"aria-hidden":"false"}),this.$element.trigger("change.zf.tabs",[e])}},{key:"selectTab",value:function(t){var e;e="object"==typeof t?t[0].id:t,e.indexOf("#")<0&&(e="#"+e);var i=this.$tabTitles.find('[href="'+e+'"]').parent("."+this.options.linkClass);this._handleTabChange(i)}},{key:"_setHeight",value:function(){var e=0;this.$tabContent.find("."+this.options.panelClass).css("height","").each(function(){var i=t(this),n=i.hasClass("is-active");n||i.css({visibility:"hidden",display:"block"});var s=this.getBoundingClientRect().height;n||i.css({visibility:"",display:""}),e=s>e?s:e}).css("height",e+"px")}},{key:"destroy",value:function(){this.$element.find("."+this.options.linkClass).off(".zf.tabs").hide().end().find("."+this.options.panelClass).hide(),this.options.matchHeight&&null!=this._setHeightMqHandler&&t(window).off("changed.zf.mediaquery",this._setHeightMqHandler),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={autoFocus:!1,wrapOnKeys:!0,matchHeight:!1,linkClass:"tabs-title",panelClass:"tabs-panel"},Foundation.plugin(e,"Tabs")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,i.data(),n),this.className="",this._init(),this._events(),Foundation.registerPlugin(this,"Toggler")}return _createClass(e,[{key:"_init",value:function(){var e;this.options.animate?(e=this.options.animate.split(" "),this.animationIn=e[0],this.animationOut=e[1]||null):(e=this.$element.data("toggler"),this.className="."===e[0]?e.slice(1):e);var i=this.$element[0].id;t('[data-open="'+i+'"], [data-close="'+i+'"], [data-toggle="'+i+'"]').attr("aria-controls",i),this.$element.attr("aria-expanded",!this.$element.is(":hidden"))}},{key:"_events",value:function(){this.$element.off("toggle.zf.trigger").on("toggle.zf.trigger",this.toggle.bind(this))}},{key:"toggle",value:function(){this[this.options.animate?"_toggleAnimate":"_toggleClass"]()}},{key:"_toggleClass",value:function(){this.$element.toggleClass(this.className);var t=this.$element.hasClass(this.className);t?this.$element.trigger("on.zf.toggler"):this.$element.trigger("off.zf.toggler"),this._updateARIA(t)}},{key:"_toggleAnimate",value:function(){var t=this;this.$element.is(":hidden")?Foundation.Motion.animateIn(this.$element,this.animationIn,function(){t._updateARIA(!0),this.trigger("on.zf.toggler")}):Foundation.Motion.animateOut(this.$element,this.animationOut,function(){t._updateARIA(!1),this.trigger("off.zf.toggler")})}},{key:"_updateARIA",value:function(t){this.$element.attr("aria-expanded",!!t)}},{key:"destroy",value:function(){this.$element.off(".zf.toggler"),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={animate:!1},Foundation.plugin(e,"Toggler")}(jQuery);var _createClass=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}();!function(t){var e=function(){function e(i,n){_classCallCheck(this,e),this.$element=i,this.options=t.extend({},e.defaults,this.$element.data(),n),this.isActive=!1,this.isClick=!1,this._init(),Foundation.registerPlugin(this,"Tooltip")}return _createClass(e,[{key:"_init",value:function(){var e=this.$element.attr("aria-describedby")||Foundation.GetYoDigits(6,"tooltip");this.options.positionClass=this.options.positionClass||this._getPositionClass(this.$element),this.options.tipText=this.options.tipText||this.$element.attr("title"),this.template=this.options.template?t(this.options.template):this._buildTemplate(e),this.template.appendTo(document.body).text(this.options.tipText).hide(),this.$element.attr({title:"","aria-describedby":e,"data-yeti-box":e,"data-toggle":e,"data-resize":e}).addClass(this.triggerClass),this.usedPositions=[],this.counter=4,this.classChanged=!1,this._events()}},{key:"_getPositionClass",value:function(t){if(!t)return"";var e=t[0].className.match(/\b(top|left|right)\b/g);return e=e?e[0]:""}},{key:"_buildTemplate",value:function(e){var i=(this.options.tooltipClass+" "+this.options.positionClass+" "+this.options.templateClasses).trim(),n=t("<div></div>").addClass(i).attr({role:"tooltip","aria-hidden":!0,"data-is-active":!1,"data-is-focus":!1,id:e});return n}},{key:"_reposition",value:function(t){this.usedPositions.push(t?t:"bottom"),!t&&this.usedPositions.indexOf("top")<0?this.template.addClass("top"):"top"===t&&this.usedPositions.indexOf("bottom")<0?this.template.removeClass(t):"left"===t&&this.usedPositions.indexOf("right")<0?this.template.removeClass(t).addClass("right"):"right"===t&&this.usedPositions.indexOf("left")<0?this.template.removeClass(t).addClass("left"):!t&&this.usedPositions.indexOf("top")>-1&&this.usedPositions.indexOf("left")<0?this.template.addClass("left"):"top"===t&&this.usedPositions.indexOf("bottom")>-1&&this.usedPositions.indexOf("left")<0?this.template.removeClass(t).addClass("left"):"left"===t&&this.usedPositions.indexOf("right")>-1&&this.usedPositions.indexOf("bottom")<0?this.template.removeClass(t):"right"===t&&this.usedPositions.indexOf("left")>-1&&this.usedPositions.indexOf("bottom")<0?this.template.removeClass(t):this.template.removeClass(t),this.classChanged=!0,this.counter--}},{key:"_setPosition",value:function(){var t=this._getPositionClass(this.template),e=Foundation.Box.GetDimensions(this.template),i=Foundation.Box.GetDimensions(this.$element),n="left"===t?"left":"right"===t?"left":"top",s="top"===n?"height":"width";"height"===s?this.options.vOffset:this.options.hOffset;if(e.width>=e.windowDims.width||!this.counter&&!Foundation.Box.ImNotTouchingYou(this.template))return this.template.offset(Foundation.Box.GetOffsets(this.template,this.$element,"center bottom",this.options.vOffset,this.options.hOffset,!0)).css({width:i.windowDims.width-2*this.options.hOffset,height:"auto"}),!1;for(this.template.offset(Foundation.Box.GetOffsets(this.template,this.$element,"center "+(t||"bottom"),this.options.vOffset,this.options.hOffset));!Foundation.Box.ImNotTouchingYou(this.template)&&this.counter;)this._reposition(t),this._setPosition()}},{key:"show",value:function(){if("all"!==this.options.showOn&&!Foundation.MediaQuery.atLeast(this.options.showOn))return!1;var t=this;this.template.css("visibility","hidden").show(),this._setPosition(),this.$element.trigger("closeme.zf.tooltip",this.template.attr("id")),this.template.attr({"data-is-active":!0,"aria-hidden":!1}),t.isActive=!0,this.template.stop().hide().css("visibility","").fadeIn(this.options.fadeInDuration,function(){}),this.$element.trigger("show.zf.tooltip")}},{key:"hide",value:function(){var t=this;this.template.stop().attr({"aria-hidden":!0,"data-is-active":!1}).fadeOut(this.options.fadeOutDuration,function(){t.isActive=!1,t.isClick=!1,t.classChanged&&(t.template.removeClass(t._getPositionClass(t.template)).addClass(t.options.positionClass),t.usedPositions=[],t.counter=4,t.classChanged=!1)}),this.$element.trigger("hide.zf.tooltip")}},{key:"_events",value:function(){var t=this,e=(this.template,!1);this.options.disableHover||this.$element.on("mouseenter.zf.tooltip",function(e){t.isActive||(t.timeout=setTimeout(function(){t.show()},t.options.hoverDelay))}).on("mouseleave.zf.tooltip",function(i){clearTimeout(t.timeout),(!e||t.isClick&&!t.options.clickOpen)&&t.hide()}),this.options.clickOpen?this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick||(t.isClick=!0,!t.options.disableHover&&t.$element.attr("tabindex")||t.isActive||t.show())}):this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick=!0}),this.options.disableForTouch||this.$element.on("tap.zf.tooltip touchend.zf.tooltip",function(e){t.isActive?t.hide():t.show()}),this.$element.on({"close.zf.trigger":this.hide.bind(this)}),this.$element.on("focus.zf.tooltip",function(i){return e=!0,t.isClick?(t.options.clickOpen||(e=!1),!1):void t.show()}).on("focusout.zf.tooltip",function(i){e=!1,t.isClick=!1,t.hide()}).on("resizeme.zf.trigger",function(){t.isActive&&t._setPosition()})}},{key:"toggle",value:function(){this.isActive?this.hide():this.show()}},{key:"destroy",value:function(){this.$element.attr("title",this.template.text()).off(".zf.trigger .zf.tootip").removeAttr("aria-describedby").removeAttr("data-yeti-box").removeAttr("data-toggle").removeAttr("data-resize"),this.template.remove(),Foundation.unregisterPlugin(this)}}]),e}();e.defaults={disableForTouch:!1,hoverDelay:200,fadeInDuration:150,fadeOutDuration:150,disableHover:!1,templateClasses:"",tooltipClass:"tooltip",triggerClass:"has-tip",showOn:"small",template:"",tipText:"",touchCloseText:"Tap to close.",clickOpen:!0,positionClass:"",vOffset:10,hOffset:12},Foundation.plugin(e,"Tooltip")}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.offcanvas.js b/libraries/foundation-6/js/foundation.offcanvas.js
new file mode 100755
index 00000000..5e7b3cf8
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.offcanvas.js
@@ -0,0 +1,398 @@
+'use strict';
+
+!function($) {
+
+/**
+ * OffCanvas module.
+ * @module foundation.offcanvas
+ * @requires foundation.util.mediaQuery
+ * @requires foundation.util.triggers
+ * @requires foundation.util.motion
+ */
+
+class OffCanvas {
+  /**
+   * Creates a new instance of an off-canvas wrapper.
+   * @class
+   * @fires OffCanvas#init
+   * @param {Object} element - jQuery object to initialize.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);
+    this.$lastTrigger = $();
+    this.$triggers = $();
+
+    this._init();
+    this._events();
+
+    Foundation.registerPlugin(this, 'OffCanvas');
+  }
+
+  /**
+   * Initializes the off-canvas wrapper by adding the exit overlay (if needed).
+   * @function
+   * @private
+   */
+  _init() {
+    var id = this.$element.attr('id');
+
+    this.$element.attr('aria-hidden', 'true');
+
+    // Find triggers that affect this element and add aria-expanded to them
+    this.$triggers = $(document)
+      .find('[data-open="'+id+'"], [data-close="'+id+'"], [data-toggle="'+id+'"]')
+      .attr('aria-expanded', 'false')
+      .attr('aria-controls', id);
+
+    // Add a close trigger over the body if necessary
+    if (this.options.closeOnClick) {
+      if ($('.js-off-canvas-exit').length) {
+        this.$exiter = $('.js-off-canvas-exit');
+      } else {
+        var exiter = document.createElement('div');
+        exiter.setAttribute('class', 'js-off-canvas-exit');
+        $('[data-off-canvas-content]').append(exiter);
+
+        this.$exiter = $(exiter);
+      }
+    }
+
+    this.options.isRevealed = this.options.isRevealed || new RegExp(this.options.revealClass, 'g').test(this.$element[0].className);
+
+    if (this.options.isRevealed) {
+      this.options.revealOn = this.options.revealOn || this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split('-')[2];
+      this._setMQChecker();
+    }
+    if (!this.options.transitionTime) {
+      this.options.transitionTime = parseFloat(window.getComputedStyle($('[data-off-canvas-wrapper]')[0]).transitionDuration) * 1000;
+    }
+  }
+
+  /**
+   * Adds event handlers to the off-canvas wrapper and the exit overlay.
+   * @function
+   * @private
+   */
+  _events() {
+    this.$element.off('.zf.trigger .zf.offcanvas').on({
+      'open.zf.trigger': this.open.bind(this),
+      'close.zf.trigger': this.close.bind(this),
+      'toggle.zf.trigger': this.toggle.bind(this),
+      'keydown.zf.offcanvas': this._handleKeyboard.bind(this)
+    });
+
+    if (this.options.closeOnClick && this.$exiter.length) {
+      this.$exiter.on({'click.zf.offcanvas': this.close.bind(this)});
+    }
+  }
+
+  /**
+   * Applies event listener for elements that will reveal at certain breakpoints.
+   * @private
+   */
+  _setMQChecker() {
+    var _this = this;
+
+    $(window).on('changed.zf.mediaquery', function() {
+      if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {
+        _this.reveal(true);
+      } else {
+        _this.reveal(false);
+      }
+    }).one('load.zf.offcanvas', function() {
+      if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {
+        _this.reveal(true);
+      }
+    });
+  }
+
+  /**
+   * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.
+   * @param {Boolean} isRevealed - true if element should be revealed.
+   * @function
+   */
+  reveal(isRevealed) {
+    var $closer = this.$element.find('[data-close]');
+    if (isRevealed) {
+      this.close();
+      this.isRevealed = true;
+      // if (!this.options.forceTop) {
+      //   var scrollPos = parseInt(window.pageYOffset);
+      //   this.$element[0].style.transform = 'translate(0,' + scrollPos + 'px)';
+      // }
+      // if (this.options.isSticky) { this._stick(); }
+      this.$element.off('open.zf.trigger toggle.zf.trigger');
+      if ($closer.length) { $closer.hide(); }
+    } else {
+      this.isRevealed = false;
+      // if (this.options.isSticky || !this.options.forceTop) {
+      //   this.$element[0].style.transform = '';
+      //   $(window).off('scroll.zf.offcanvas');
+      // }
+      this.$element.on({
+        'open.zf.trigger': this.open.bind(this),
+        'toggle.zf.trigger': this.toggle.bind(this)
+      });
+      if ($closer.length) {
+        $closer.show();
+      }
+    }
+  }
+
+  /**
+   * Opens the off-canvas menu.
+   * @function
+   * @param {Object} event - Event object passed from listener.
+   * @param {jQuery} trigger - element that triggered the off-canvas to open.
+   * @fires OffCanvas#opened
+   */
+  open(event, trigger) {
+    if (this.$element.hasClass('is-open') || this.isRevealed) { return; }
+    var _this = this,
+        $body = $(document.body);
+
+    if (this.options.forceTop) {
+      $('body').scrollTop(0);
+    }
+    // window.pageYOffset = 0;
+
+    // if (!this.options.forceTop) {
+    //   var scrollPos = parseInt(window.pageYOffset);
+    //   this.$element[0].style.transform = 'translate(0,' + scrollPos + 'px)';
+    //   if (this.$exiter.length) {
+    //     this.$exiter[0].style.transform = 'translate(0,' + scrollPos + 'px)';
+    //   }
+    // }
+    /**
+     * Fires when the off-canvas menu opens.
+     * @event OffCanvas#opened
+     */
+    Foundation.Move(this.options.transitionTime, this.$element, function() {
+      $('[data-off-canvas-wrapper]').addClass('is-off-canvas-open is-open-'+ _this.options.position);
+
+      _this.$element
+        .addClass('is-open')
+
+      // if (_this.options.isSticky) {
+      //   _this._stick();
+      // }
+    });
+
+    this.$triggers.attr('aria-expanded', 'true');
+    this.$element.attr('aria-hidden', 'false')
+        .trigger('opened.zf.offcanvas');
+
+    if (this.options.closeOnClick) {
+      this.$exiter.addClass('is-visible');
+    }
+
+    if (trigger) {
+      this.$lastTrigger = trigger;
+    }
+
+    if (this.options.autoFocus) {
+      this.$element.one(Foundation.transitionend(this.$element), function() {
+        _this.$element.find('a, button').eq(0).focus();
+      });
+    }
+
+    if (this.options.trapFocus) {
+      $('[data-off-canvas-content]').attr('tabindex', '-1');
+      this._trapFocus();
+    }
+  }
+
+  /**
+   * Traps focus within the offcanvas on open.
+   * @private
+   */
+  _trapFocus() {
+    var focusable = Foundation.Keyboard.findFocusable(this.$element),
+        first = focusable.eq(0),
+        last = focusable.eq(-1);
+
+    focusable.off('.zf.offcanvas').on('keydown.zf.offcanvas', function(e) {
+      if (e.which === 9 || e.keycode === 9) {
+        if (e.target === last[0] && !e.shiftKey) {
+          e.preventDefault();
+          first.focus();
+        }
+        if (e.target === first[0] && e.shiftKey) {
+          e.preventDefault();
+          last.focus();
+        }
+      }
+    });
+  }
+
+  /**
+   * Allows the offcanvas to appear sticky utilizing translate properties.
+   * @private
+   */
+  // OffCanvas.prototype._stick = function() {
+  //   var elStyle = this.$element[0].style;
+  //
+  //   if (this.options.closeOnClick) {
+  //     var exitStyle = this.$exiter[0].style;
+  //   }
+  //
+  //   $(window).on('scroll.zf.offcanvas', function(e) {
+  //     console.log(e);
+  //     var pageY = window.pageYOffset;
+  //     elStyle.transform = 'translate(0,' + pageY + 'px)';
+  //     if (exitStyle !== undefined) { exitStyle.transform = 'translate(0,' + pageY + 'px)'; }
+  //   });
+  //   // this.$element.trigger('stuck.zf.offcanvas');
+  // };
+  /**
+   * Closes the off-canvas menu.
+   * @function
+   * @param {Function} cb - optional cb to fire after closure.
+   * @fires OffCanvas#closed
+   */
+  close(cb) {
+    if (!this.$element.hasClass('is-open') || this.isRevealed) { return; }
+
+    var _this = this;
+
+    //  Foundation.Move(this.options.transitionTime, this.$element, function() {
+    $('[data-off-canvas-wrapper]').removeClass(`is-off-canvas-open is-open-${_this.options.position}`);
+    _this.$element.removeClass('is-open');
+      // Foundation._reflow();
+    // });
+    this.$element.attr('aria-hidden', 'true')
+      /**
+       * Fires when the off-canvas menu opens.
+       * @event OffCanvas#closed
+       */
+        .trigger('closed.zf.offcanvas');
+    // if (_this.options.isSticky || !_this.options.forceTop) {
+    //   setTimeout(function() {
+    //     _this.$element[0].style.transform = '';
+    //     $(window).off('scroll.zf.offcanvas');
+    //   }, this.options.transitionTime);
+    // }
+    if (this.options.closeOnClick) {
+      this.$exiter.removeClass('is-visible');
+    }
+
+    this.$triggers.attr('aria-expanded', 'false');
+    if (this.options.trapFocus) {
+      $('[data-off-canvas-content]').removeAttr('tabindex');
+    }
+  }
+
+  /**
+   * Toggles the off-canvas menu open or closed.
+   * @function
+   * @param {Object} event - Event object passed from listener.
+   * @param {jQuery} trigger - element that triggered the off-canvas to open.
+   */
+  toggle(event, trigger) {
+    if (this.$element.hasClass('is-open')) {
+      this.close(event, trigger);
+    }
+    else {
+      this.open(event, trigger);
+    }
+  }
+
+  /**
+   * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.
+   * @function
+   * @private
+   */
+  _handleKeyboard(event) {
+    if (event.which !== 27) return;
+
+    event.stopPropagation();
+    event.preventDefault();
+    this.close();
+    this.$lastTrigger.focus();
+  }
+
+  /**
+   * Destroys the offcanvas plugin.
+   * @function
+   */
+  destroy() {
+    this.close();
+    this.$element.off('.zf.trigger .zf.offcanvas');
+    this.$exiter.off('.zf.offcanvas');
+
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+OffCanvas.defaults = {
+  /**
+   * Allow the user to click outside of the menu to close it.
+   * @option
+   * @example true
+   */
+  closeOnClick: true,
+
+  /**
+   * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.
+   * @option
+   * @example 500
+   */
+  transitionTime: 0,
+
+  /**
+   * Direction the offcanvas opens from. Determines class applied to body.
+   * @option
+   * @example left
+   */
+  position: 'left',
+
+  /**
+   * Force the page to scroll to top on open.
+   * @option
+   * @example true
+   */
+  forceTop: true,
+
+  /**
+   * Allow the offcanvas to remain open for certain breakpoints.
+   * @option
+   * @example false
+   */
+  isRevealed: false,
+
+  /**
+   * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.
+   * @option
+   * @example reveal-for-large
+   */
+  revealOn: null,
+
+  /**
+   * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.
+   * @option
+   * @example true
+   */
+  autoFocus: true,
+
+  /**
+   * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.
+   * @option
+   * TODO improve the regex testing for this.
+   * @example reveal-for-large
+   */
+  revealClass: 'reveal-for-',
+
+  /**
+   * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.
+   * @option
+   * @example true
+   */
+  trapFocus: false
+}
+
+// Window exports
+Foundation.plugin(OffCanvas, 'OffCanvas');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.orbit.js b/libraries/foundation-6/js/foundation.orbit.js
new file mode 100755
index 00000000..a0a221c1
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.orbit.js
@@ -0,0 +1,446 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Orbit module.
+ * @module foundation.orbit
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.motion
+ * @requires foundation.util.timerAndImageLoader
+ * @requires foundation.util.touch
+ */
+
+class Orbit {
+  /**
+  * Creates a new instance of an orbit carousel.
+  * @class
+  * @param {jQuery} element - jQuery object to make into an Orbit Carousel.
+  * @param {Object} options - Overrides to the default plugin settings.
+  */
+  constructor(element, options){
+    this.$element = element;
+    this.options = $.extend({}, Orbit.defaults, this.$element.data(), options);
+
+    this._init();
+
+    Foundation.registerPlugin(this, 'Orbit');
+    Foundation.Keyboard.register('Orbit', {
+      'ltr': {
+        'ARROW_RIGHT': 'next',
+        'ARROW_LEFT': 'previous'
+      },
+      'rtl': {
+        'ARROW_LEFT': 'next',
+        'ARROW_RIGHT': 'previous'
+      }
+    });
+  }
+
+  /**
+  * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation.
+  * @function
+  * @private
+  */
+  _init() {
+    this.$wrapper = this.$element.find(`.${this.options.containerClass}`);
+    this.$slides = this.$element.find(`.${this.options.slideClass}`);
+    var $images = this.$element.find('img'),
+    initActive = this.$slides.filter('.is-active');
+
+    if (!initActive.length) {
+      this.$slides.eq(0).addClass('is-active');
+    }
+
+    if (!this.options.useMUI) {
+      this.$slides.addClass('no-motionui');
+    }
+
+    if ($images.length) {
+      Foundation.onImagesLoaded($images, this._prepareForOrbit.bind(this));
+    } else {
+      this._prepareForOrbit();//hehe
+    }
+
+    if (this.options.bullets) {
+      this._loadBullets();
+    }
+
+    this._events();
+
+    if (this.options.autoPlay && this.$slides.length > 1) {
+      this.geoSync();
+    }
+
+    if (this.options.accessible) { // allow wrapper to be focusable to enable arrow navigation
+      this.$wrapper.attr('tabindex', 0);
+    }
+  }
+
+  /**
+  * Creates a jQuery collection of bullets, if they are being used.
+  * @function
+  * @private
+  */
+  _loadBullets() {
+    this.$bullets = this.$element.find(`.${this.options.boxOfBullets}`).find('button');
+  }
+
+  /**
+  * Sets a `timer` object on the orbit, and starts the counter for the next slide.
+  * @function
+  */
+  geoSync() {
+    var _this = this;
+    this.timer = new Foundation.Timer(
+      this.$element,
+      {
+        duration: this.options.timerDelay,
+        infinite: false
+      },
+      function() {
+        _this.changeSlide(true);
+      });
+    this.timer.start();
+  }
+
+  /**
+  * Sets wrapper and slide heights for the orbit.
+  * @function
+  * @private
+  */
+  _prepareForOrbit() {
+    var _this = this;
+    this._setWrapperHeight(function(max){
+      _this._setSlideHeight(max);
+    });
+  }
+
+  /**
+  * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.
+  * @function
+  * @private
+  * @param {Function} cb - a callback function to fire when complete.
+  */
+  _setWrapperHeight(cb) {//rewrite this to `for` loop
+    var max = 0, temp, counter = 0;
+
+    this.$slides.each(function() {
+      temp = this.getBoundingClientRect().height;
+      $(this).attr('data-slide', counter);
+
+      if (counter) {//if not the first slide, set css position and display property
+        $(this).css({'position': 'relative', 'display': 'none'});
+      }
+      max = temp > max ? temp : max;
+      counter++;
+    });
+
+    if (counter === this.$slides.length) {
+      this.$wrapper.css({'height': max}); //only change the wrapper height property once.
+      cb(max); //fire callback with max height dimension.
+    }
+  }
+
+  /**
+  * Sets the max-height of each slide.
+  * @function
+  * @private
+  */
+  _setSlideHeight(height) {
+    this.$slides.each(function() {
+      $(this).css('max-height', height);
+    });
+  }
+
+  /**
+  * Adds event listeners to basically everything within the element.
+  * @function
+  * @private
+  */
+  _events() {
+    var _this = this;
+
+    //***************************************
+    //**Now using custom event - thanks to:**
+    //**      Yohai Ararat of Toronto      **
+    //***************************************
+    if (this.$slides.length > 1) {
+
+      if (this.options.swipe) {
+        this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit')
+        .on('swipeleft.zf.orbit', function(e){
+          e.preventDefault();
+          _this.changeSlide(true);
+        }).on('swiperight.zf.orbit', function(e){
+          e.preventDefault();
+          _this.changeSlide(false);
+        });
+      }
+      //***************************************
+
+      if (this.options.autoPlay) {
+        this.$slides.on('click.zf.orbit', function() {
+          _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true);
+          _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start']();
+        });
+
+        if (this.options.pauseOnHover) {
+          this.$element.on('mouseenter.zf.orbit', function() {
+            _this.timer.pause();
+          }).on('mouseleave.zf.orbit', function() {
+            if (!_this.$element.data('clickedOn')) {
+              _this.timer.start();
+            }
+          });
+        }
+      }
+
+      if (this.options.navButtons) {
+        var $controls = this.$element.find(`.${this.options.nextClass}, .${this.options.prevClass}`);
+        $controls.attr('tabindex', 0)
+        //also need to handle enter/return and spacebar key presses
+        .on('click.zf.orbit touchend.zf.orbit', function(e){
+	  e.preventDefault();
+          _this.changeSlide($(this).hasClass(_this.options.nextClass));
+        });
+      }
+
+      if (this.options.bullets) {
+        this.$bullets.on('click.zf.orbit touchend.zf.orbit', function() {
+          if (/is-active/g.test(this.className)) { return false; }//if this is active, kick out of function.
+          var idx = $(this).data('slide'),
+          ltr = idx > _this.$slides.filter('.is-active').data('slide'),
+          $slide = _this.$slides.eq(idx);
+
+          _this.changeSlide(ltr, $slide, idx);
+        });
+      }
+
+      this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function(e) {
+        // handle keyboard event with keyboard util
+        Foundation.Keyboard.handleKey(e, 'Orbit', {
+          next: function() {
+            _this.changeSlide(true);
+          },
+          previous: function() {
+            _this.changeSlide(false);
+          },
+          handled: function() { // if bullet is focused, make sure focus moves
+            if ($(e.target).is(_this.$bullets)) {
+              _this.$bullets.filter('.is-active').focus();
+            }
+          }
+        });
+      });
+    }
+  }
+
+  /**
+  * Changes the current slide to a new one.
+  * @function
+  * @param {Boolean} isLTR - flag if the slide should move left to right.
+  * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.
+  * @param {Number} idx - the index of the new slide in its collection, if one chosen.
+  * @fires Orbit#slidechange
+  */
+  changeSlide(isLTR, chosenSlide, idx) {
+    var $curSlide = this.$slides.filter('.is-active').eq(0);
+
+    if (/mui/g.test($curSlide[0].className)) { return false; } //if the slide is currently animating, kick out of the function
+
+    var $firstSlide = this.$slides.first(),
+    $lastSlide = this.$slides.last(),
+    dirIn = isLTR ? 'Right' : 'Left',
+    dirOut = isLTR ? 'Left' : 'Right',
+    _this = this,
+    $newSlide;
+
+    if (!chosenSlide) { //most of the time, this will be auto played or clicked from the navButtons.
+      $newSlide = isLTR ? //if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!
+      (this.options.infiniteWrap ? $curSlide.next(`.${this.options.slideClass}`).length ? $curSlide.next(`.${this.options.slideClass}`) : $firstSlide : $curSlide.next(`.${this.options.slideClass}`))//pick next slide if moving left to right
+      :
+      (this.options.infiniteWrap ? $curSlide.prev(`.${this.options.slideClass}`).length ? $curSlide.prev(`.${this.options.slideClass}`) : $lastSlide : $curSlide.prev(`.${this.options.slideClass}`));//pick prev slide if moving right to left
+    } else {
+      $newSlide = chosenSlide;
+    }
+
+    if ($newSlide.length) {
+      if (this.options.bullets) {
+        idx = idx || this.$slides.index($newSlide); //grab index to update bullets
+        this._updateBullets(idx);
+      }
+
+      if (this.options.useMUI) {
+        Foundation.Motion.animateIn(
+          $newSlide.addClass('is-active').css({'position': 'absolute', 'top': 0}),
+          this.options[`animInFrom${dirIn}`],
+          function(){
+            $newSlide.css({'position': 'relative', 'display': 'block'})
+            .attr('aria-live', 'polite');
+        });
+
+        Foundation.Motion.animateOut(
+          $curSlide.removeClass('is-active'),
+          this.options[`animOutTo${dirOut}`],
+          function(){
+            $curSlide.removeAttr('aria-live');
+            if(_this.options.autoPlay && !_this.timer.isPaused){
+              _this.timer.restart();
+            }
+            //do stuff?
+          });
+      } else {
+        $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();
+        $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show();
+        if (this.options.autoPlay && !this.timer.isPaused) {
+          this.timer.restart();
+        }
+      }
+    /**
+    * Triggers when the slide has finished animating in.
+    * @event Orbit#slidechange
+    */
+      this.$element.trigger('slidechange.zf.orbit', [$newSlide]);
+    }
+  }
+
+  /**
+  * Updates the active state of the bullets, if displayed.
+  * @function
+  * @private
+  * @param {Number} idx - the index of the current slide.
+  */
+  _updateBullets(idx) {
+    var $oldBullet = this.$element.find(`.${this.options.boxOfBullets}`)
+    .find('.is-active').removeClass('is-active').blur(),
+    span = $oldBullet.find('span:last').detach(),
+    $newBullet = this.$bullets.eq(idx).addClass('is-active').append(span);
+  }
+
+  /**
+  * Destroys the carousel and hides the element.
+  * @function
+  */
+  destroy() {
+    this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+Orbit.defaults = {
+  /**
+  * Tells the JS to look for and loadBullets.
+  * @option
+  * @example true
+  */
+  bullets: true,
+  /**
+  * Tells the JS to apply event listeners to nav buttons
+  * @option
+  * @example true
+  */
+  navButtons: true,
+  /**
+  * motion-ui animation class to apply
+  * @option
+  * @example 'slide-in-right'
+  */
+  animInFromRight: 'slide-in-right',
+  /**
+  * motion-ui animation class to apply
+  * @option
+  * @example 'slide-out-right'
+  */
+  animOutToRight: 'slide-out-right',
+  /**
+  * motion-ui animation class to apply
+  * @option
+  * @example 'slide-in-left'
+  *
+  */
+  animInFromLeft: 'slide-in-left',
+  /**
+  * motion-ui animation class to apply
+  * @option
+  * @example 'slide-out-left'
+  */
+  animOutToLeft: 'slide-out-left',
+  /**
+  * Allows Orbit to automatically animate on page load.
+  * @option
+  * @example true
+  */
+  autoPlay: true,
+  /**
+  * Amount of time, in ms, between slide transitions
+  * @option
+  * @example 5000
+  */
+  timerDelay: 5000,
+  /**
+  * Allows Orbit to infinitely loop through the slides
+  * @option
+  * @example true
+  */
+  infiniteWrap: true,
+  /**
+  * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library
+  * @option
+  * @example true
+  */
+  swipe: true,
+  /**
+  * Allows the timing function to pause animation on hover.
+  * @option
+  * @example true
+  */
+  pauseOnHover: true,
+  /**
+  * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys
+  * @option
+  * @example true
+  */
+  accessible: true,
+  /**
+  * Class applied to the container of Orbit
+  * @option
+  * @example 'orbit-container'
+  */
+  containerClass: 'orbit-container',
+  /**
+  * Class applied to individual slides.
+  * @option
+  * @example 'orbit-slide'
+  */
+  slideClass: 'orbit-slide',
+  /**
+  * Class applied to the bullet container. You're welcome.
+  * @option
+  * @example 'orbit-bullets'
+  */
+  boxOfBullets: 'orbit-bullets',
+  /**
+  * Class applied to the `next` navigation button.
+  * @option
+  * @example 'orbit-next'
+  */
+  nextClass: 'orbit-next',
+  /**
+  * Class applied to the `previous` navigation button.
+  * @option
+  * @example 'orbit-previous'
+  */
+  prevClass: 'orbit-previous',
+  /**
+  * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatability.
+  * @option
+  * @example true
+  */
+  useMUI: true
+};
+
+// Window exports
+Foundation.plugin(Orbit, 'Orbit');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.responsiveMenu.js b/libraries/foundation-6/js/foundation.responsiveMenu.js
new file mode 100755
index 00000000..a7bb389a
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.responsiveMenu.js
@@ -0,0 +1,148 @@
+'use strict';
+
+!function($) {
+
+/**
+ * ResponsiveMenu module.
+ * @module foundation.responsiveMenu
+ * @requires foundation.util.triggers
+ * @requires foundation.util.mediaQuery
+ * @requires foundation.util.accordionMenu
+ * @requires foundation.util.drilldown
+ * @requires foundation.util.dropdown-menu
+ */
+
+class ResponsiveMenu {
+  /**
+   * Creates a new instance of a responsive menu.
+   * @class
+   * @fires ResponsiveMenu#init
+   * @param {jQuery} element - jQuery object to make into a dropdown menu.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options) {
+    this.$element = $(element);
+    this.rules = this.$element.data('responsive-menu');
+    this.currentMq = null;
+    this.currentPlugin = null;
+
+    this._init();
+    this._events();
+
+    Foundation.registerPlugin(this, 'ResponsiveMenu');
+  }
+
+  /**
+   * Initializes the Menu by parsing the classes from the 'data-ResponsiveMenu' attribute on the element.
+   * @function
+   * @private
+   */
+  _init() {
+    // The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules
+    if (typeof this.rules === 'string') {
+      let rulesTree = {};
+
+      // Parse rules from "classes" pulled from data attribute
+      let rules = this.rules.split(' ');
+
+      // Iterate through every rule found
+      for (let i = 0; i < rules.length; i++) {
+        let rule = rules[i].split('-');
+        let ruleSize = rule.length > 1 ? rule[0] : 'small';
+        let rulePlugin = rule.length > 1 ? rule[1] : rule[0];
+
+        if (MenuPlugins[rulePlugin] !== null) {
+          rulesTree[ruleSize] = MenuPlugins[rulePlugin];
+        }
+      }
+
+      this.rules = rulesTree;
+    }
+
+    if (!$.isEmptyObject(this.rules)) {
+      this._checkMediaQueries();
+    }
+  }
+
+  /**
+   * Initializes events for the Menu.
+   * @function
+   * @private
+   */
+  _events() {
+    var _this = this;
+
+    $(window).on('changed.zf.mediaquery', function() {
+      _this._checkMediaQueries();
+    });
+    // $(window).on('resize.zf.ResponsiveMenu', function() {
+    //   _this._checkMediaQueries();
+    // });
+  }
+
+  /**
+   * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.
+   * @function
+   * @private
+   */
+  _checkMediaQueries() {
+    var matchedMq, _this = this;
+    // Iterate through each rule and find the last matching rule
+    $.each(this.rules, function(key) {
+      if (Foundation.MediaQuery.atLeast(key)) {
+        matchedMq = key;
+      }
+    });
+
+    // No match? No dice
+    if (!matchedMq) return;
+
+    // Plugin already initialized? We good
+    if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;
+
+    // Remove existing plugin-specific CSS classes
+    $.each(MenuPlugins, function(key, value) {
+      _this.$element.removeClass(value.cssClass);
+    });
+
+    // Add the CSS class for the new plugin
+    this.$element.addClass(this.rules[matchedMq].cssClass);
+
+    // Create an instance of the new plugin
+    if (this.currentPlugin) this.currentPlugin.destroy();
+    this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {});
+  }
+
+  /**
+   * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.
+   * @function
+   */
+  destroy() {
+    this.currentPlugin.destroy();
+    $(window).off('.zf.ResponsiveMenu');
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+ResponsiveMenu.defaults = {};
+
+// The plugin matches the plugin classes with these plugin instances.
+var MenuPlugins = {
+  dropdown: {
+    cssClass: 'dropdown',
+    plugin: Foundation._plugins['dropdown-menu'] || null
+  },
+ drilldown: {
+    cssClass: 'drilldown',
+    plugin: Foundation._plugins['drilldown'] || null
+  },
+  accordion: {
+    cssClass: 'accordion-menu',
+    plugin: Foundation._plugins['accordion-menu'] || null
+  }
+};
+
+// Window exports
+Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.responsiveToggle.js b/libraries/foundation-6/js/foundation.responsiveToggle.js
new file mode 100755
index 00000000..c73a1e50
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.responsiveToggle.js
@@ -0,0 +1,119 @@
+'use strict';
+
+!function($) {
+
+/**
+ * ResponsiveToggle module.
+ * @module foundation.responsiveToggle
+ * @requires foundation.util.mediaQuery
+ */
+
+class ResponsiveToggle {
+  /**
+   * Creates a new instance of Tab Bar.
+   * @class
+   * @fires ResponsiveToggle#init
+   * @param {jQuery} element - jQuery object to attach tab bar functionality to.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options) {
+    this.$element = $(element);
+    this.options = $.extend({}, ResponsiveToggle.defaults, this.$element.data(), options);
+
+    this._init();
+    this._events();
+
+    Foundation.registerPlugin(this, 'ResponsiveToggle');
+  }
+
+  /**
+   * Initializes the tab bar by finding the target element, toggling element, and running update().
+   * @function
+   * @private
+   */
+  _init() {
+    var targetID = this.$element.data('responsive-toggle');
+    if (!targetID) {
+      console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.');
+    }
+
+    this.$targetMenu = $(`#${targetID}`);
+    this.$toggler = this.$element.find('[data-toggle]');
+
+    this._update();
+  }
+
+  /**
+   * Adds necessary event handlers for the tab bar to work.
+   * @function
+   * @private
+   */
+  _events() {
+    var _this = this;
+
+    this._updateMqHandler = this._update.bind(this);
+    
+    $(window).on('changed.zf.mediaquery', this._updateMqHandler);
+
+    this.$toggler.on('click.zf.responsiveToggle', this.toggleMenu.bind(this));
+  }
+
+  /**
+   * Checks the current media query to determine if the tab bar should be visible or hidden.
+   * @function
+   * @private
+   */
+  _update() {
+    // Mobile
+    if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {
+      this.$element.show();
+      this.$targetMenu.hide();
+    }
+
+    // Desktop
+    else {
+      this.$element.hide();
+      this.$targetMenu.show();
+    }
+  }
+
+  /**
+   * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it.
+   * @function
+   * @fires ResponsiveToggle#toggled
+   */
+  toggleMenu() {   
+    if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {
+      this.$targetMenu.toggle(0);
+
+      /**
+       * Fires when the element attached to the tab bar toggles.
+       * @event ResponsiveToggle#toggled
+       */
+      this.$element.trigger('toggled.zf.responsiveToggle');
+    }
+  };
+
+  destroy() {
+    this.$element.off('.zf.responsiveToggle');
+    this.$toggler.off('.zf.responsiveToggle');
+    
+    $(window).off('changed.zf.mediaquery', this._updateMqHandler);
+    
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+ResponsiveToggle.defaults = {
+  /**
+   * The breakpoint after which the menu is always shown, and the tab bar is hidden.
+   * @option
+   * @example 'medium'
+   */
+  hideFor: 'medium'
+};
+
+// Window exports
+Foundation.plugin(ResponsiveToggle, 'ResponsiveToggle');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.reveal.js b/libraries/foundation-6/js/foundation.reveal.js
new file mode 100755
index 00000000..ed1d4a0d
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.reveal.js
@@ -0,0 +1,576 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Reveal module.
+ * @module foundation.reveal
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.box
+ * @requires foundation.util.triggers
+ * @requires foundation.util.mediaQuery
+ * @requires foundation.util.motion if using animations
+ */
+
+class Reveal {
+  /**
+   * Creates a new instance of Reveal.
+   * @class
+   * @param {jQuery} element - jQuery object to use for the modal.
+   * @param {Object} options - optional parameters.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);
+    this._init();
+
+    Foundation.registerPlugin(this, 'Reveal');
+    Foundation.Keyboard.register('Reveal', {
+      'ENTER': 'open',
+      'SPACE': 'open',
+      'ESCAPE': 'close',
+      'TAB': 'tab_forward',
+      'SHIFT_TAB': 'tab_backward'
+    });
+  }
+
+  /**
+   * Initializes the modal by adding the overlay and close buttons, (if selected).
+   * @private
+   */
+  _init() {
+    this.id = this.$element.attr('id');
+    this.isActive = false;
+    this.cached = {mq: Foundation.MediaQuery.current};
+    this.isMobile = mobileSniff();
+
+    this.$anchor = $(`[data-open="${this.id}"]`).length ? $(`[data-open="${this.id}"]`) : $(`[data-toggle="${this.id}"]`);
+    this.$anchor.attr({
+      'aria-controls': this.id,
+      'aria-haspopup': true,
+      'tabindex': 0
+    });
+
+    if (this.options.fullScreen || this.$element.hasClass('full')) {
+      this.options.fullScreen = true;
+      this.options.overlay = false;
+    }
+    if (this.options.overlay && !this.$overlay) {
+      this.$overlay = this._makeOverlay(this.id);
+    }
+
+    this.$element.attr({
+        'role': 'dialog',
+        'aria-hidden': true,
+        'data-yeti-box': this.id,
+        'data-resize': this.id
+    });
+
+    if(this.$overlay) {
+      this.$element.detach().appendTo(this.$overlay);
+    } else {
+      this.$element.detach().appendTo($('body'));
+      this.$element.addClass('without-overlay');
+    }
+    this._events();
+    if (this.options.deepLink && window.location.hash === ( `#${this.id}`)) {
+      $(window).one('load.zf.reveal', this.open.bind(this));
+    }
+  }
+
+  /**
+   * Creates an overlay div to display behind the modal.
+   * @private
+   */
+  _makeOverlay(id) {
+    var $overlay = $('<div></div>')
+                    .addClass('reveal-overlay')
+                    .appendTo('body');
+    return $overlay;
+  }
+
+  /**
+   * Updates position of modal
+   * TODO:  Figure out if we actually need to cache these values or if it doesn't matter
+   * @private
+   */
+  _updatePosition() {
+    var width = this.$element.outerWidth();
+    var outerWidth = $(window).width();
+    var height = this.$element.outerHeight();
+    var outerHeight = $(window).height();
+    var left, top;
+    if (this.options.hOffset === 'auto') {
+      left = parseInt((outerWidth - width) / 2, 10);
+    } else {
+      left = parseInt(this.options.hOffset, 10);
+    }
+    if (this.options.vOffset === 'auto') {
+      if (height > outerHeight) {
+        top = parseInt(Math.min(100, outerHeight / 10), 10);
+      } else {
+        top = parseInt((outerHeight - height) / 4, 10);
+      }
+    } else {
+      top = parseInt(this.options.vOffset, 10);
+    }
+    this.$element.css({top: top + 'px'});
+    // only worry about left if we don't have an overlay or we havea  horizontal offset,
+    // otherwise we're perfectly in the middle
+    if(!this.$overlay || (this.options.hOffset !== 'auto')) {
+      this.$element.css({left: left + 'px'});
+      this.$element.css({margin: '0px'});
+    }
+
+  }
+
+  /**
+   * Adds event handlers for the modal.
+   * @private
+   */
+  _events() {
+    var _this = this;
+
+    this.$element.on({
+      'open.zf.trigger': this.open.bind(this),
+      'close.zf.trigger': (event, $element) => {
+        if ((event.target === _this.$element[0]) ||
+            ($(event.target).parents('[data-closable]')[0] === $element)) { // only close reveal when it's explicitly called
+          return this.close.apply(this);
+        }
+      },
+      'toggle.zf.trigger': this.toggle.bind(this),
+      'resizeme.zf.trigger': function() {
+        _this._updatePosition();
+      }
+    });
+
+    if (this.$anchor.length) {
+      this.$anchor.on('keydown.zf.reveal', function(e) {
+        if (e.which === 13 || e.which === 32) {
+          e.stopPropagation();
+          e.preventDefault();
+          _this.open();
+        }
+      });
+    }
+
+    if (this.options.closeOnClick && this.options.overlay) {
+      this.$overlay.off('.zf.reveal').on('click.zf.reveal', function(e) {
+        if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) { return; }
+        _this.close();
+      });
+    }
+    if (this.options.deepLink) {
+      $(window).on(`popstate.zf.reveal:${this.id}`, this._handleState.bind(this));
+    }
+  }
+
+  /**
+   * Handles modal methods on back/forward button clicks or any other event that triggers popstate.
+   * @private
+   */
+  _handleState(e) {
+    if(window.location.hash === ( '#' + this.id) && !this.isActive){ this.open(); }
+    else{ this.close(); }
+  }
+
+
+  /**
+   * Opens the modal controlled by `this.$anchor`, and closes all others by default.
+   * @function
+   * @fires Reveal#closeme
+   * @fires Reveal#open
+   */
+  open() {
+    if (this.options.deepLink) {
+      var hash = `#${this.id}`;
+
+      if (window.history.pushState) {
+        window.history.pushState(null, null, hash);
+      } else {
+        window.location.hash = hash;
+      }
+    }
+
+    this.isActive = true;
+
+    // Make elements invisible, but remove display: none so we can get size and positioning
+    this.$element
+        .css({ 'visibility': 'hidden' })
+        .show()
+        .scrollTop(0);
+    if (this.options.overlay) {
+      this.$overlay.css({'visibility': 'hidden'}).show();
+    }
+
+    this._updatePosition();
+
+    this.$element
+      .hide()
+      .css({ 'visibility': '' });
+
+    if(this.$overlay) {
+      this.$overlay.css({'visibility': ''}).hide();
+      if(this.$element.hasClass('fast')) {
+        this.$overlay.addClass('fast');
+      } else if (this.$element.hasClass('slow')) {
+        this.$overlay.addClass('slow');
+      }
+    }
+
+
+    if (!this.options.multipleOpened) {
+      /**
+       * Fires immediately before the modal opens.
+       * Closes any other modals that are currently open
+       * @event Reveal#closeme
+       */
+      this.$element.trigger('closeme.zf.reveal', this.id);
+    }
+    // Motion UI method of reveal
+    if (this.options.animationIn) {
+      var _this = this;
+      function afterAnimationFocus(){
+        _this.$element
+          .attr({
+            'aria-hidden': false,
+            'tabindex': -1
+          })
+          .focus();
+          console.log('focus');
+      }
+      if (this.options.overlay) {
+        Foundation.Motion.animateIn(this.$overlay, 'fade-in');
+      }
+      Foundation.Motion.animateIn(this.$element, this.options.animationIn, () => {
+        this.focusableElements = Foundation.Keyboard.findFocusable(this.$element);
+        afterAnimationFocus();
+      });
+    }
+    // jQuery method of reveal
+    else {
+      if (this.options.overlay) {
+        this.$overlay.show(0);
+      }
+      this.$element.show(this.options.showDelay);
+    }
+
+    // handle accessibility
+    this.$element
+      .attr({
+        'aria-hidden': false,
+        'tabindex': -1
+      })
+      .focus();
+
+    /**
+     * Fires when the modal has successfully opened.
+     * @event Reveal#open
+     */
+    this.$element.trigger('open.zf.reveal');
+
+    if (this.isMobile) {
+      this.originalScrollPos = window.pageYOffset;
+      $('html, body').addClass('is-reveal-open');
+    }
+    else {
+      $('body').addClass('is-reveal-open');
+    }
+
+    setTimeout(() => {
+      this._extraHandlers();
+    }, 0);
+  }
+
+  /**
+   * Adds extra event handlers for the body and window if necessary.
+   * @private
+   */
+  _extraHandlers() {
+    var _this = this;
+    this.focusableElements = Foundation.Keyboard.findFocusable(this.$element);
+
+    if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {
+      $('body').on('click.zf.reveal', function(e) {
+        if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) { return; }
+        _this.close();
+      });
+    }
+
+    if (this.options.closeOnEsc) {
+      $(window).on('keydown.zf.reveal', function(e) {
+        Foundation.Keyboard.handleKey(e, 'Reveal', {
+          close: function() {
+            if (_this.options.closeOnEsc) {
+              _this.close();
+              _this.$anchor.focus();
+            }
+          }
+        });
+      });
+    }
+
+    // lock focus within modal while tabbing
+    this.$element.on('keydown.zf.reveal', function(e) {
+      var $target = $(this);
+      // handle keyboard event with keyboard util
+      Foundation.Keyboard.handleKey(e, 'Reveal', {
+        tab_forward: function() {
+          if (_this.$element.find(':focus').is(_this.focusableElements.eq(-1))) { // left modal downwards, setting focus to first element
+            _this.focusableElements.eq(0).focus();
+            return true;
+          }
+          if (_this.focusableElements.length === 0) { // no focusable elements inside the modal at all, prevent tabbing in general
+            return true;
+          }
+        },
+        tab_backward: function() {
+          if (_this.$element.find(':focus').is(_this.focusableElements.eq(0)) || _this.$element.is(':focus')) { // left modal upwards, setting focus to last element
+            _this.focusableElements.eq(-1).focus();
+            return true;
+          }
+          if (_this.focusableElements.length === 0) { // no focusable elements inside the modal at all, prevent tabbing in general
+            return true;
+          }
+        },
+        open: function() {
+          if (_this.$element.find(':focus').is(_this.$element.find('[data-close]'))) {
+            setTimeout(function() { // set focus back to anchor if close button has been activated
+              _this.$anchor.focus();
+            }, 1);
+          } else if ($target.is(_this.focusableElements)) { // dont't trigger if acual element has focus (i.e. inputs, links, ...)
+            _this.open();
+          }
+        },
+        close: function() {
+          if (_this.options.closeOnEsc) {
+            _this.close();
+            _this.$anchor.focus();
+          }
+        },
+        handled: function(preventDefault) {
+          if (preventDefault) {
+            e.preventDefault();
+          }
+        }
+      });
+    });
+  }
+
+  /**
+   * Closes the modal.
+   * @function
+   * @fires Reveal#closed
+   */
+  close() {
+    if (!this.isActive || !this.$element.is(':visible')) {
+      return false;
+    }
+    var _this = this;
+
+    // Motion UI method of hiding
+    if (this.options.animationOut) {
+      if (this.options.overlay) {
+        Foundation.Motion.animateOut(this.$overlay, 'fade-out', finishUp);
+      }
+      else {
+        finishUp();
+      }
+
+      Foundation.Motion.animateOut(this.$element, this.options.animationOut);
+    }
+    // jQuery method of hiding
+    else {
+      if (this.options.overlay) {
+        this.$overlay.hide(0, finishUp);
+      }
+      else {
+        finishUp();
+      }
+
+      this.$element.hide(this.options.hideDelay);
+    }
+
+    // Conditionals to remove extra event listeners added on open
+    if (this.options.closeOnEsc) {
+      $(window).off('keydown.zf.reveal');
+    }
+
+    if (!this.options.overlay && this.options.closeOnClick) {
+      $('body').off('click.zf.reveal');
+    }
+
+    this.$element.off('keydown.zf.reveal');
+
+    function finishUp() {
+      if (_this.isMobile) {
+        $('html, body').removeClass('is-reveal-open');
+        if(_this.originalScrollPos) {
+          $('body').scrollTop(_this.originalScrollPos);
+          _this.originalScrollPos = null;
+        }
+      }
+      else {
+        $('body').removeClass('is-reveal-open');
+      }
+
+      _this.$element.attr('aria-hidden', true);
+
+      /**
+      * Fires when the modal is done closing.
+      * @event Reveal#closed
+      */
+      _this.$element.trigger('closed.zf.reveal');
+    }
+
+    /**
+    * Resets the modal content
+    * This prevents a running video to keep going in the background
+    */
+    if (this.options.resetOnClose) {
+      this.$element.html(this.$element.html());
+    }
+
+    this.isActive = false;
+     if (_this.options.deepLink) {
+       if (window.history.replaceState) {
+         window.history.replaceState("", document.title, window.location.pathname);
+       } else {
+         window.location.hash = '';
+       }
+     }
+  }
+
+  /**
+   * Toggles the open/closed state of a modal.
+   * @function
+   */
+  toggle() {
+    if (this.isActive) {
+      this.close();
+    } else {
+      this.open();
+    }
+  };
+
+  /**
+   * Destroys an instance of a modal.
+   * @function
+   */
+  destroy() {
+    if (this.options.overlay) {
+      this.$element.appendTo($('body')); // move $element outside of $overlay to prevent error unregisterPlugin()
+      this.$overlay.hide().off().remove();
+    }
+    this.$element.hide().off();
+    this.$anchor.off('.zf');
+    $(window).off(`.zf.reveal:${this.id}`);
+
+    Foundation.unregisterPlugin(this);
+  };
+}
+
+Reveal.defaults = {
+  /**
+   * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
+   * @option
+   * @example 'slide-in-left'
+   */
+  animationIn: '',
+  /**
+   * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
+   * @option
+   * @example 'slide-out-right'
+   */
+  animationOut: '',
+  /**
+   * Time, in ms, to delay the opening of a modal after a click if no animation used.
+   * @option
+   * @example 10
+   */
+  showDelay: 0,
+  /**
+   * Time, in ms, to delay the closing of a modal after a click if no animation used.
+   * @option
+   * @example 10
+   */
+  hideDelay: 0,
+  /**
+   * Allows a click on the body/overlay to close the modal.
+   * @option
+   * @example true
+   */
+  closeOnClick: true,
+  /**
+   * Allows the modal to close if the user presses the `ESCAPE` key.
+   * @option
+   * @example true
+   */
+  closeOnEsc: true,
+  /**
+   * If true, allows multiple modals to be displayed at once.
+   * @option
+   * @example false
+   */
+  multipleOpened: false,
+  /**
+   * Distance, in pixels, the modal should push down from the top of the screen.
+   * @option
+   * @example auto
+   */
+  vOffset: 'auto',
+  /**
+   * Distance, in pixels, the modal should push in from the side of the screen.
+   * @option
+   * @example auto
+   */
+  hOffset: 'auto',
+  /**
+   * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.
+   * @option
+   * @example false
+   */
+  fullScreen: false,
+  /**
+   * Percentage of screen height the modal should push up from the bottom of the view.
+   * @option
+   * @example 10
+   */
+  btmOffsetPct: 10,
+  /**
+   * Allows the modal to generate an overlay div, which will cover the view when modal opens.
+   * @option
+   * @example true
+   */
+  overlay: true,
+  /**
+   * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.
+   * @option
+   * @example false
+   */
+  resetOnClose: false,
+  /**
+   * Allows the modal to alter the url on open/close, and allows the use of the `back` button to close modals. ALSO, allows a modal to auto-maniacally open on page load IF the hash === the modal's user-set id.
+   * @option
+   * @example false
+   */
+  deepLink: false
+};
+
+// Window exports
+Foundation.plugin(Reveal, 'Reveal');
+
+function iPhoneSniff() {
+  return /iP(ad|hone|od).*OS/.test(window.navigator.userAgent);
+}
+
+function androidSniff() {
+  return /Android/.test(window.navigator.userAgent);
+}
+
+function mobileSniff() {
+  return iPhoneSniff() || androidSniff();
+}
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.slider.js b/libraries/foundation-6/js/foundation.slider.js
new file mode 100755
index 00000000..dec7b0a5
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.slider.js
@@ -0,0 +1,597 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Slider module.
+ * @module foundation.slider
+ * @requires foundation.util.motion
+ * @requires foundation.util.triggers
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.touch
+ */
+
+class Slider {
+  /**
+   * Creates a new instance of a drilldown menu.
+   * @class
+   * @param {jQuery} element - jQuery object to make into an accordion menu.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options = $.extend({}, Slider.defaults, this.$element.data(), options);
+
+    this._init();
+
+    Foundation.registerPlugin(this, 'Slider');
+    Foundation.Keyboard.register('Slider', {
+      'ltr': {
+        'ARROW_RIGHT': 'increase',
+        'ARROW_UP': 'increase',
+        'ARROW_DOWN': 'decrease',
+        'ARROW_LEFT': 'decrease',
+        'SHIFT_ARROW_RIGHT': 'increase_fast',
+        'SHIFT_ARROW_UP': 'increase_fast',
+        'SHIFT_ARROW_DOWN': 'decrease_fast',
+        'SHIFT_ARROW_LEFT': 'decrease_fast'
+      },
+      'rtl': {
+        'ARROW_LEFT': 'increase',
+        'ARROW_RIGHT': 'decrease',
+        'SHIFT_ARROW_LEFT': 'increase_fast',
+        'SHIFT_ARROW_RIGHT': 'decrease_fast'
+      }
+    });
+  }
+
+  /**
+   * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).
+   * @function
+   * @private
+   */
+  _init() {
+    this.inputs = this.$element.find('input');
+    this.handles = this.$element.find('[data-slider-handle]');
+
+    this.$handle = this.handles.eq(0);
+    this.$input = this.inputs.length ? this.inputs.eq(0) : $(`#${this.$handle.attr('aria-controls')}`);
+    this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);
+
+    var isDbl = false,
+        _this = this;
+    if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {
+      this.options.disabled = true;
+      this.$element.addClass(this.options.disabledClass);
+    }
+    if (!this.inputs.length) {
+      this.inputs = $().add(this.$input);
+      this.options.binding = true;
+    }
+    this._setInitAttr(0);
+    this._events(this.$handle);
+
+    if (this.handles[1]) {
+      this.options.doubleSided = true;
+      this.$handle2 = this.handles.eq(1);
+      this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $(`#${this.$handle2.attr('aria-controls')}`);
+
+      if (!this.inputs[1]) {
+        this.inputs = this.inputs.add(this.$input2);
+      }
+      isDbl = true;
+
+      this._setHandlePos(this.$handle, this.options.initialStart, true, function() {
+
+        _this._setHandlePos(_this.$handle2, _this.options.initialEnd, true);
+      });
+      // this.$handle.triggerHandler('click.zf.slider');
+      this._setInitAttr(1);
+      this._events(this.$handle2);
+    }
+
+    if (!isDbl) {
+      this._setHandlePos(this.$handle, this.options.initialStart, true);
+    }
+  }
+
+  /**
+   * Sets the position of the selected handle and fill bar.
+   * @function
+   * @private
+   * @param {jQuery} $hndl - the selected handle to move.
+   * @param {Number} location - floating point between the start and end values of the slider bar.
+   * @param {Function} cb - callback function to fire on completion.
+   * @fires Slider#moved
+   * @fires Slider#changed
+   */
+  _setHandlePos($hndl, location, noInvert, cb) {
+    // don't move if the slider has been disabled since its initialization
+    if (this.$element.hasClass(this.options.disabledClass)) {
+      return;
+    }
+    //might need to alter that slightly for bars that will have odd number selections.
+    location = parseFloat(location);//on input change events, convert string to number...grumble.
+
+    // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max
+    if (location < this.options.start) { location = this.options.start; }
+    else if (location > this.options.end) { location = this.options.end; }
+
+    var isDbl = this.options.doubleSided;
+
+    if (isDbl) { //this block is to prevent 2 handles from crossing eachother. Could/should be improved.
+      if (this.handles.index($hndl) === 0) {
+        var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));
+        location = location >= h2Val ? h2Val - this.options.step : location;
+      } else {
+        var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));
+        location = location <= h1Val ? h1Val + this.options.step : location;
+      }
+    }
+
+    //this is for single-handled vertical sliders, it adjusts the value to account for the slider being "upside-down"
+    //for click and drag events, it's weird due to the scale(-1, 1) css property
+    if (this.options.vertical && !noInvert) {
+      location = this.options.end - location;
+    }
+
+    var _this = this,
+        vert = this.options.vertical,
+        hOrW = vert ? 'height' : 'width',
+        lOrT = vert ? 'top' : 'left',
+        handleDim = $hndl[0].getBoundingClientRect()[hOrW],
+        elemDim = this.$element[0].getBoundingClientRect()[hOrW],
+        //percentage of bar min/max value based on click or drag point
+        pctOfBar = percent(location - this.options.start, this.options.end - this.options.start).toFixed(2),
+        //number of actual pixels to shift the handle, based on the percentage obtained above
+        pxToMove = (elemDim - handleDim) * pctOfBar,
+        //percentage of bar to shift the handle
+        movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);
+        //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value
+        location = parseFloat(location.toFixed(this.options.decimal));
+        // declare empty object for css adjustments, only used with 2 handled-sliders
+    var css = {};
+
+    this._setValues($hndl, location);
+
+    // TODO update to calculate based on values set to respective inputs??
+    if (isDbl) {
+      var isLeftHndl = this.handles.index($hndl) === 0,
+          //empty variable, will be used for min-height/width for fill bar
+          dim,
+          //percentage w/h of the handle compared to the slider bar
+          handlePct =  ~~(percent(handleDim, elemDim) * 100);
+      //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar
+      if (isLeftHndl) {
+        //left or top percentage value to apply to the fill bar.
+        css[lOrT] = `${movement}%`;
+        //calculate the new min-height/width for the fill bar.
+        dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;
+        //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider
+        //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.
+        if (cb && typeof cb === 'function') { cb(); }//this is only needed for the initialization of 2 handled sliders
+      } else {
+        //just caching the value of the left/bottom handle's left/top property
+        var handlePos = parseFloat(this.$handle[0].style[lOrT]);
+        //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0
+        //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself
+        dim = movement - (isNaN(handlePos) ? this.options.initialStart/((this.options.end-this.options.start)/100) : handlePos) + handlePct;
+      }
+      // assign the min-height/width to our css object
+      css[`min-${hOrW}`] = `${dim}%`;
+    }
+
+    this.$element.one('finished.zf.animate', function() {
+                    /**
+                     * Fires when the handle is done moving.
+                     * @event Slider#moved
+                     */
+                    _this.$element.trigger('moved.zf.slider', [$hndl]);
+                });
+
+    //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.
+    var moveTime = this.$element.data('dragging') ? 1000/60 : this.options.moveTime;
+
+    Foundation.Move(moveTime, $hndl, function() {
+      //adjusting the left/top property of the handle, based on the percentage calculated above
+      $hndl.css(lOrT, `${movement}%`);
+
+      if (!_this.options.doubleSided) {
+        //if single-handled, a simple method to expand the fill bar
+        _this.$fill.css(hOrW, `${pctOfBar * 100}%`);
+      } else {
+        //otherwise, use the css object we created above
+        _this.$fill.css(css);
+      }
+    });
+
+    /**
+     * Fires when the value has not been change for a given time.
+     * @event Slider#changed
+     */
+    clearTimeout(_this.timeout);
+    _this.timeout = setTimeout(function(){
+      _this.$element.trigger('changed.zf.slider', [$hndl]);
+    }, _this.options.changedDelay);
+  }
+
+  /**
+   * Sets the initial attribute for the slider element.
+   * @function
+   * @private
+   * @param {Number} idx - index of the current handle/input to use.
+   */
+  _setInitAttr(idx) {
+    var id = this.inputs.eq(idx).attr('id') || Foundation.GetYoDigits(6, 'slider');
+    this.inputs.eq(idx).attr({
+      'id': id,
+      'max': this.options.end,
+      'min': this.options.start,
+      'step': this.options.step
+    });
+    this.handles.eq(idx).attr({
+      'role': 'slider',
+      'aria-controls': id,
+      'aria-valuemax': this.options.end,
+      'aria-valuemin': this.options.start,
+      'aria-valuenow': idx === 0 ? this.options.initialStart : this.options.initialEnd,
+      'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',
+      'tabindex': 0
+    });
+  }
+
+  /**
+   * Sets the input and `aria-valuenow` values for the slider element.
+   * @function
+   * @private
+   * @param {jQuery} $handle - the currently selected handle.
+   * @param {Number} val - floating point of the new value.
+   */
+  _setValues($handle, val) {
+    var idx = this.options.doubleSided ? this.handles.index($handle) : 0;
+    this.inputs.eq(idx).val(val);
+    $handle.attr('aria-valuenow', val);
+  }
+
+  /**
+   * Handles events on the slider element.
+   * Calculates the new location of the current handle.
+   * If there are two handles and the bar was clicked, it determines which handle to move.
+   * @function
+   * @private
+   * @param {Object} e - the `event` object passed from the listener.
+   * @param {jQuery} $handle - the current handle to calculate for, if selected.
+   * @param {Number} val - floating point number for the new value of the slider.
+   * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.
+   */
+  _handleEvent(e, $handle, val) {
+    var value, hasVal;
+    if (!val) {//click or drag events
+      e.preventDefault();
+      var _this = this,
+          vertical = this.options.vertical,
+          param = vertical ? 'height' : 'width',
+          direction = vertical ? 'top' : 'left',
+          eventOffset = vertical ? e.pageY : e.pageX,
+          halfOfHandle = this.$handle[0].getBoundingClientRect()[param] / 2,
+          barDim = this.$element[0].getBoundingClientRect()[param],
+          windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();
+
+
+      var elemOffset = this.$element.offset()[direction];
+
+      // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...
+      // best way to guess this is simulated is if clientY == pageY
+      if (e.clientY === e.pageY) { eventOffset = eventOffset + windowScroll; }
+      var eventFromBar = eventOffset - elemOffset;
+      var barXY;
+      if (eventFromBar < 0) {
+        barXY = 0;
+      } else if (eventFromBar > barDim) {
+        barXY = barDim;
+      } else {
+        barXY = eventFromBar;
+      }
+      offsetPct = percent(barXY, barDim);
+
+      value = (this.options.end - this.options.start) * offsetPct + this.options.start;
+
+      // turn everything around for RTL, yay math!
+      if (Foundation.rtl() && !this.options.vertical) {value = this.options.end - value;}
+
+      value = _this._adjustValue(null, value);
+      //boolean flag for the setHandlePos fn, specifically for vertical sliders
+      hasVal = false;
+
+      if (!$handle) {//figure out which handle it is, pass it to the next function.
+        var firstHndlPos = absPosition(this.$handle, direction, barXY, param),
+            secndHndlPos = absPosition(this.$handle2, direction, barXY, param);
+            $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;
+      }
+
+    } else {//change event on input
+      value = this._adjustValue(null, val);
+      hasVal = true;
+    }
+
+    this._setHandlePos($handle, value, hasVal);
+  }
+
+  /**
+   * Adjustes value for handle in regard to step value. returns adjusted value
+   * @function
+   * @private
+   * @param {jQuery} $handle - the selected handle.
+   * @param {Number} value - value to adjust. used if $handle is falsy
+   */
+  _adjustValue($handle, value) {
+    var val,
+      step = this.options.step,
+      div = parseFloat(step/2),
+      left, prev_val, next_val;
+    if (!!$handle) {
+      val = parseFloat($handle.attr('aria-valuenow'));
+    }
+    else {
+      val = value;
+    }
+    left = val % step;
+    prev_val = val - left;
+    next_val = prev_val + step;
+    if (left === 0) {
+      return val;
+    }
+    val = val >= prev_val + div ? next_val : prev_val;
+    return val;
+  }
+
+  /**
+   * Adds event listeners to the slider elements.
+   * @function
+   * @private
+   * @param {jQuery} $handle - the current handle to apply listeners to.
+   */
+  _events($handle) {
+    var _this = this,
+        curHandle,
+        timer;
+
+      this.inputs.off('change.zf.slider').on('change.zf.slider', function(e) {
+        var idx = _this.inputs.index($(this));
+        _this._handleEvent(e, _this.handles.eq(idx), $(this).val());
+      });
+
+      if (this.options.clickSelect) {
+        this.$element.off('click.zf.slider').on('click.zf.slider', function(e) {
+          if (_this.$element.data('dragging')) { return false; }
+
+          if (!$(e.target).is('[data-slider-handle]')) {
+            if (_this.options.doubleSided) {
+              _this._handleEvent(e);
+            } else {
+              _this._handleEvent(e, _this.$handle);
+            }
+          }
+        });
+      }
+
+    if (this.options.draggable) {
+      this.handles.addTouch();
+
+      var $body = $('body');
+      $handle
+        .off('mousedown.zf.slider')
+        .on('mousedown.zf.slider', function(e) {
+          $handle.addClass('is-dragging');
+          _this.$fill.addClass('is-dragging');//
+          _this.$element.data('dragging', true);
+
+          curHandle = $(e.currentTarget);
+
+          $body.on('mousemove.zf.slider', function(e) {
+            e.preventDefault();
+            _this._handleEvent(e, curHandle);
+
+          }).on('mouseup.zf.slider', function(e) {
+            _this._handleEvent(e, curHandle);
+
+            $handle.removeClass('is-dragging');
+            _this.$fill.removeClass('is-dragging');
+            _this.$element.data('dragging', false);
+
+            $body.off('mousemove.zf.slider mouseup.zf.slider');
+          });
+      })
+      // prevent events triggered by touch
+      .on('selectstart.zf.slider touchmove.zf.slider', function(e) {
+        e.preventDefault();
+      });
+    }
+
+    $handle.off('keydown.zf.slider').on('keydown.zf.slider', function(e) {
+      var _$handle = $(this),
+          idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,
+          oldValue = parseFloat(_this.inputs.eq(idx).val()),
+          newValue;
+
+      // handle keyboard event with keyboard util
+      Foundation.Keyboard.handleKey(e, 'Slider', {
+        decrease: function() {
+          newValue = oldValue - _this.options.step;
+        },
+        increase: function() {
+          newValue = oldValue + _this.options.step;
+        },
+        decrease_fast: function() {
+          newValue = oldValue - _this.options.step * 10;
+        },
+        increase_fast: function() {
+          newValue = oldValue + _this.options.step * 10;
+        },
+        handled: function() { // only set handle pos when event was handled specially
+          e.preventDefault();
+          _this._setHandlePos(_$handle, newValue, true);
+        }
+      });
+      /*if (newValue) { // if pressed key has special function, update value
+        e.preventDefault();
+        _this._setHandlePos(_$handle, newValue);
+      }*/
+    });
+  }
+
+  /**
+   * Destroys the slider plugin.
+   */
+  destroy() {
+    this.handles.off('.zf.slider');
+    this.inputs.off('.zf.slider');
+    this.$element.off('.zf.slider');
+
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+Slider.defaults = {
+  /**
+   * Minimum value for the slider scale.
+   * @option
+   * @example 0
+   */
+  start: 0,
+  /**
+   * Maximum value for the slider scale.
+   * @option
+   * @example 100
+   */
+  end: 100,
+  /**
+   * Minimum value change per change event.
+   * @option
+   * @example 1
+   */
+  step: 1,
+  /**
+   * Value at which the handle/input *(left handle/first input)* should be set to on initialization.
+   * @option
+   * @example 0
+   */
+  initialStart: 0,
+  /**
+   * Value at which the right handle/second input should be set to on initialization.
+   * @option
+   * @example 100
+   */
+  initialEnd: 100,
+  /**
+   * Allows the input to be located outside the container and visible. Set to by the JS
+   * @option
+   * @example false
+   */
+  binding: false,
+  /**
+   * Allows the user to click/tap on the slider bar to select a value.
+   * @option
+   * @example true
+   */
+  clickSelect: true,
+  /**
+   * Set to true and use the `vertical` class to change alignment to vertical.
+   * @option
+   * @example false
+   */
+  vertical: false,
+  /**
+   * Allows the user to drag the slider handle(s) to select a value.
+   * @option
+   * @example true
+   */
+  draggable: true,
+  /**
+   * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.
+   * @option
+   * @example false
+   */
+  disabled: false,
+  /**
+   * Allows the use of two handles. Double checked by the JS. Changes some logic handling.
+   * @option
+   * @example false
+   */
+  doubleSided: false,
+  /**
+   * Potential future feature.
+   */
+  // steps: 100,
+  /**
+   * Number of decimal places the plugin should go to for floating point precision.
+   * @option
+   * @example 2
+   */
+  decimal: 2,
+  /**
+   * Time delay for dragged elements.
+   */
+  // dragDelay: 0,
+  /**
+   * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.
+   * @option
+   * @example 200
+   */
+  moveTime: 200,//update this if changing the transition time in the sass
+  /**
+   * Class applied to disabled sliders.
+   * @option
+   * @example 'disabled'
+   */
+  disabledClass: 'disabled',
+  /**
+   * Will invert the default layout for a vertical<span data-tooltip title="who would do this???"> </span>slider.
+   * @option
+   * @example false
+   */
+  invertVertical: false,
+  /**
+   * Milliseconds before the `changed.zf-slider` event is triggered after value change.
+   * @option
+   * @example 500
+   */
+  changedDelay: 500
+};
+
+function percent(frac, num) {
+  return (frac / num);
+}
+function absPosition($handle, dir, clickPos, param) {
+  return Math.abs(($handle.position()[dir] + ($handle[param]() / 2)) - clickPos);
+}
+
+// Window exports
+Foundation.plugin(Slider, 'Slider');
+
+}(jQuery);
+
+//*********this is in case we go to static, absolute positions instead of dynamic positioning********
+// this.setSteps(function() {
+//   _this._events();
+//   var initStart = _this.options.positions[_this.options.initialStart - 1] || null;
+//   var initEnd = _this.options.initialEnd ? _this.options.position[_this.options.initialEnd - 1] : null;
+//   if (initStart || initEnd) {
+//     _this._handleEvent(initStart, initEnd);
+//   }
+// });
+
+//***********the other part of absolute positions*************
+// Slider.prototype.setSteps = function(cb) {
+//   var posChange = this.$element.outerWidth() / this.options.steps;
+//   var counter = 0
+//   while(counter < this.options.steps) {
+//     if (counter) {
+//       this.options.positions.push(this.options.positions[counter - 1] + posChange);
+//     } else {
+//       this.options.positions.push(posChange);
+//     }
+//     counter++;
+//   }
+//   cb();
+// };
diff --git a/libraries/foundation-6/js/foundation.sticky.js b/libraries/foundation-6/js/foundation.sticky.js
new file mode 100755
index 00000000..64060c5b
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.sticky.js
@@ -0,0 +1,459 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Sticky module.
+ * @module foundation.sticky
+ * @requires foundation.util.triggers
+ * @requires foundation.util.mediaQuery
+ */
+
+class Sticky {
+  /**
+   * Creates a new instance of a sticky thing.
+   * @class
+   * @param {jQuery} element - jQuery object to make sticky.
+   * @param {Object} options - options object passed when creating the element programmatically.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);
+
+    this._init();
+
+    Foundation.registerPlugin(this, 'Sticky');
+  }
+
+  /**
+   * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes
+   * @function
+   * @private
+   */
+  _init() {
+    var $parent = this.$element.parent('[data-sticky-container]'),
+        id = this.$element[0].id || Foundation.GetYoDigits(6, 'sticky'),
+        _this = this;
+
+    if (!$parent.length) {
+      this.wasWrapped = true;
+    }
+    this.$container = $parent.length ? $parent : $(this.options.container).wrapInner(this.$element);
+    this.$container.addClass(this.options.containerClass);
+
+    this.$element.addClass(this.options.stickyClass)
+                 .attr({'data-resize': id});
+
+    this.scrollCount = this.options.checkEvery;
+    this.isStuck = false;
+    $(window).one('load.zf.sticky', function(){
+      //We calculate the container height to have correct values for anchor points offset calculation.
+      _this.containerHeight = _this.$element.css("display") == "none" ? 0 : _this.$element[0].getBoundingClientRect().height;
+      _this.$container.css('height', _this.containerHeight);
+      _this.elemHeight = _this.containerHeight;
+      if(_this.options.anchor !== ''){
+        _this.$anchor = $('#' + _this.options.anchor);
+      }else{
+        _this._parsePoints();
+      }
+
+      _this._setSizes(function(){
+        _this._calc(false);
+      });
+      _this._events(id.split('-').reverse().join('-'));
+    });
+  }
+
+  /**
+   * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.
+   * @function
+   * @private
+   */
+  _parsePoints() {
+    var top = this.options.topAnchor == "" ? 1 : this.options.topAnchor,
+        btm = this.options.btmAnchor== "" ? document.documentElement.scrollHeight : this.options.btmAnchor,
+        pts = [top, btm],
+        breaks = {};
+    for (var i = 0, len = pts.length; i < len && pts[i]; i++) {
+      var pt;
+      if (typeof pts[i] === 'number') {
+        pt = pts[i];
+      } else {
+        var place = pts[i].split(':'),
+            anchor = $(`#${place[0]}`);
+
+        pt = anchor.offset().top;
+        if (place[1] && place[1].toLowerCase() === 'bottom') {
+          pt += anchor[0].getBoundingClientRect().height;
+        }
+      }
+      breaks[i] = pt;
+    }
+
+
+    this.points = breaks;
+    return;
+  }
+
+  /**
+   * Adds event handlers for the scrolling element.
+   * @private
+   * @param {String} id - psuedo-random id for unique scroll event listener.
+   */
+  _events(id) {
+    var _this = this,
+        scrollListener = this.scrollListener = `scroll.zf.${id}`;
+    if (this.isOn) { return; }
+    if (this.canStick) {
+      this.isOn = true;
+      $(window).off(scrollListener)
+               .on(scrollListener, function(e) {
+                 if (_this.scrollCount === 0) {
+                   _this.scrollCount = _this.options.checkEvery;
+                   _this._setSizes(function() {
+                     _this._calc(false, window.pageYOffset);
+                   });
+                 } else {
+                   _this.scrollCount--;
+                   _this._calc(false, window.pageYOffset);
+                 }
+              });
+    }
+
+    this.$element.off('resizeme.zf.trigger')
+                 .on('resizeme.zf.trigger', function(e, el) {
+                     _this._setSizes(function() {
+                       _this._calc(false);
+                       if (_this.canStick) {
+                         if (!_this.isOn) {
+                           _this._events(id);
+                         }
+                       } else if (_this.isOn) {
+                         _this._pauseListeners(scrollListener);
+                       }
+                     });
+    });
+  }
+
+  /**
+   * Removes event handlers for scroll and change events on anchor.
+   * @fires Sticky#pause
+   * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`
+   */
+  _pauseListeners(scrollListener) {
+    this.isOn = false;
+    $(window).off(scrollListener);
+
+    /**
+     * Fires when the plugin is paused due to resize event shrinking the view.
+     * @event Sticky#pause
+     * @private
+     */
+     this.$element.trigger('pause.zf.sticky');
+  }
+
+  /**
+   * Called on every `scroll` event and on `_init`
+   * fires functions based on booleans and cached values
+   * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.
+   * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.
+   */
+  _calc(checkSizes, scroll) {
+    if (checkSizes) { this._setSizes(); }
+
+    if (!this.canStick) {
+      if (this.isStuck) {
+        this._removeSticky(true);
+      }
+      return false;
+    }
+
+    if (!scroll) { scroll = window.pageYOffset; }
+
+    if (scroll >= this.topPoint) {
+      if (scroll <= this.bottomPoint) {
+        if (!this.isStuck) {
+          this._setSticky();
+        }
+      } else {
+        if (this.isStuck) {
+          this._removeSticky(false);
+        }
+      }
+    } else {
+      if (this.isStuck) {
+        this._removeSticky(true);
+      }
+    }
+  }
+
+  /**
+   * Causes the $element to become stuck.
+   * Adds `position: fixed;`, and helper classes.
+   * @fires Sticky#stuckto
+   * @function
+   * @private
+   */
+  _setSticky() {
+    var _this = this,
+        stickTo = this.options.stickTo,
+        mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',
+        notStuckTo = stickTo === 'top' ? 'bottom' : 'top',
+        css = {};
+
+    css[mrgn] = `${this.options[mrgn]}em`;
+    css[stickTo] = 0;
+    css[notStuckTo] = 'auto';
+    css['left'] = this.$container.offset().left + parseInt(window.getComputedStyle(this.$container[0])["padding-left"], 10);
+    this.isStuck = true;
+    this.$element.removeClass(`is-anchored is-at-${notStuckTo}`)
+                 .addClass(`is-stuck is-at-${stickTo}`)
+                 .css(css)
+                 /**
+                  * Fires when the $element has become `position: fixed;`
+                  * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`
+                  * @event Sticky#stuckto
+                  */
+                 .trigger(`sticky.zf.stuckto:${stickTo}`);
+    this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd", function() {
+      _this._setSizes();
+    });
+  }
+
+  /**
+   * Causes the $element to become unstuck.
+   * Removes `position: fixed;`, and helper classes.
+   * Adds other helper classes.
+   * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.
+   * @fires Sticky#unstuckfrom
+   * @private
+   */
+  _removeSticky(isTop) {
+    var stickTo = this.options.stickTo,
+        stickToTop = stickTo === 'top',
+        css = {},
+        anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,
+        mrgn = stickToTop ? 'marginTop' : 'marginBottom',
+        notStuckTo = stickToTop ? 'bottom' : 'top',
+        topOrBottom = isTop ? 'top' : 'bottom';
+
+    css[mrgn] = 0;
+
+    css['bottom'] = 'auto';
+    if(isTop) {
+      css['top'] = 0;
+    } else {
+      css['top'] = anchorPt;
+    }
+
+    css['left'] = '';
+    this.isStuck = false;
+    this.$element.removeClass(`is-stuck is-at-${stickTo}`)
+                 .addClass(`is-anchored is-at-${topOrBottom}`)
+                 .css(css)
+                 /**
+                  * Fires when the $element has become anchored.
+                  * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`
+                  * @event Sticky#unstuckfrom
+                  */
+                 .trigger(`sticky.zf.unstuckfrom:${topOrBottom}`);
+  }
+
+  /**
+   * Sets the $element and $container sizes for plugin.
+   * Calls `_setBreakPoints`.
+   * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.
+   * @private
+   */
+  _setSizes(cb) {
+    this.canStick = Foundation.MediaQuery.atLeast(this.options.stickyOn);
+    if (!this.canStick) { cb(); }
+    var _this = this,
+        newElemWidth = this.$container[0].getBoundingClientRect().width,
+        comp = window.getComputedStyle(this.$container[0]),
+        pdng = parseInt(comp['padding-right'], 10);
+
+    if (this.$anchor && this.$anchor.length) {
+      this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;
+    } else {
+      this._parsePoints();
+    }
+
+    this.$element.css({
+      'max-width': `${newElemWidth - pdng}px`
+    });
+
+    var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;
+    if (this.$element.css("display") == "none") {
+      newContainerHeight = 0;
+    }
+    this.containerHeight = newContainerHeight;
+    this.$container.css({
+      height: newContainerHeight
+    });
+    this.elemHeight = newContainerHeight;
+
+    if (this.isStuck) {
+      this.$element.css({"left":this.$container.offset().left + parseInt(comp['padding-left'], 10)});
+    } else {
+      if (this.$element.hasClass('is-at-bottom')) {
+        var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;
+        this.$element.css('top', anchorPt);
+      }
+    }
+
+    this._setBreakPoints(newContainerHeight, function() {
+      if (cb) { cb(); }
+    });
+  }
+
+  /**
+   * Sets the upper and lower breakpoints for the element to become sticky/unsticky.
+   * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.
+   * @param {Function} cb - optional callback function to be called on completion.
+   * @private
+   */
+  _setBreakPoints(elemHeight, cb) {
+    if (!this.canStick) {
+      if (cb) { cb(); }
+      else { return false; }
+    }
+    var mTop = emCalc(this.options.marginTop),
+        mBtm = emCalc(this.options.marginBottom),
+        topPoint = this.points ? this.points[0] : this.$anchor.offset().top,
+        bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,
+        // topPoint = this.$anchor.offset().top || this.points[0],
+        // bottomPoint = topPoint + this.anchorHeight || this.points[1],
+        winHeight = window.innerHeight;
+
+    if (this.options.stickTo === 'top') {
+      topPoint -= mTop;
+      bottomPoint -= (elemHeight + mTop);
+    } else if (this.options.stickTo === 'bottom') {
+      topPoint -= (winHeight - (elemHeight + mBtm));
+      bottomPoint -= (winHeight - mBtm);
+    } else {
+      //this would be the stickTo: both option... tricky
+    }
+
+    this.topPoint = topPoint;
+    this.bottomPoint = bottomPoint;
+
+    if (cb) { cb(); }
+  }
+
+  /**
+   * Destroys the current sticky element.
+   * Resets the element to the top position first.
+   * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.
+   * @function
+   */
+  destroy() {
+    this._removeSticky(true);
+
+    this.$element.removeClass(`${this.options.stickyClass} is-anchored is-at-top`)
+                 .css({
+                   height: '',
+                   top: '',
+                   bottom: '',
+                   'max-width': ''
+                 })
+                 .off('resizeme.zf.trigger');
+    if (this.$anchor && this.$anchor.length) {
+      this.$anchor.off('change.zf.sticky');
+    }
+    $(window).off(this.scrollListener);
+
+    if (this.wasWrapped) {
+      this.$element.unwrap();
+    } else {
+      this.$container.removeClass(this.options.containerClass)
+                     .css({
+                       height: ''
+                     });
+    }
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+Sticky.defaults = {
+  /**
+   * Customizable container template. Add your own classes for styling and sizing.
+   * @option
+   * @example '&lt;div data-sticky-container class="small-6 columns"&gt;&lt;/div&gt;'
+   */
+  container: '<div data-sticky-container></div>',
+  /**
+   * Location in the view the element sticks to.
+   * @option
+   * @example 'top'
+   */
+  stickTo: 'top',
+  /**
+   * If anchored to a single element, the id of that element.
+   * @option
+   * @example 'exampleId'
+   */
+  anchor: '',
+  /**
+   * If using more than one element as anchor points, the id of the top anchor.
+   * @option
+   * @example 'exampleId:top'
+   */
+  topAnchor: '',
+  /**
+   * If using more than one element as anchor points, the id of the bottom anchor.
+   * @option
+   * @example 'exampleId:bottom'
+   */
+  btmAnchor: '',
+  /**
+   * Margin, in `em`'s to apply to the top of the element when it becomes sticky.
+   * @option
+   * @example 1
+   */
+  marginTop: 1,
+  /**
+   * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.
+   * @option
+   * @example 1
+   */
+  marginBottom: 1,
+  /**
+   * Breakpoint string that is the minimum screen size an element should become sticky.
+   * @option
+   * @example 'medium'
+   */
+  stickyOn: 'medium',
+  /**
+   * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.
+   * @option
+   * @example 'sticky'
+   */
+  stickyClass: 'sticky',
+  /**
+   * Class applied to sticky container. Foundation defaults to `sticky-container`.
+   * @option
+   * @example 'sticky-container'
+   */
+  containerClass: 'sticky-container',
+  /**
+   * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.
+   * @option
+   * @example 50
+   */
+  checkEvery: -1
+};
+
+/**
+ * Helper function to calculate em values
+ * @param Number {em} - number of em's to calculate into pixels
+ */
+function emCalc(em) {
+  return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;
+}
+
+// Window exports
+Foundation.plugin(Sticky, 'Sticky');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.tabs.js b/libraries/foundation-6/js/foundation.tabs.js
new file mode 100755
index 00000000..97947963
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.tabs.js
@@ -0,0 +1,333 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Tabs module.
+ * @module foundation.tabs
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.timerAndImageLoader if tabs contain images
+ */
+
+class Tabs {
+  /**
+   * Creates a new instance of tabs.
+   * @class
+   * @fires Tabs#init
+   * @param {jQuery} element - jQuery object to make into tabs.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);
+
+    this._init();
+    Foundation.registerPlugin(this, 'Tabs');
+    Foundation.Keyboard.register('Tabs', {
+      'ENTER': 'open',
+      'SPACE': 'open',
+      'ARROW_RIGHT': 'next',
+      'ARROW_UP': 'previous',
+      'ARROW_DOWN': 'next',
+      'ARROW_LEFT': 'previous'
+      // 'TAB': 'next',
+      // 'SHIFT_TAB': 'previous'
+    });
+  }
+
+  /**
+   * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.
+   * @private
+   */
+  _init() {
+    var _this = this;
+
+    this.$tabTitles = this.$element.find(`.${this.options.linkClass}`);
+    this.$tabContent = $(`[data-tabs-content="${this.$element[0].id}"]`);
+
+    this.$tabTitles.each(function(){
+      var $elem = $(this),
+          $link = $elem.find('a'),
+          isActive = $elem.hasClass('is-active'),
+          hash = $link[0].hash.slice(1),
+          linkId = $link[0].id ? $link[0].id : `${hash}-label`,
+          $tabContent = $(`#${hash}`);
+
+      $elem.attr({'role': 'presentation'});
+
+      $link.attr({
+        'role': 'tab',
+        'aria-controls': hash,
+        'aria-selected': isActive,
+        'id': linkId
+      });
+
+      $tabContent.attr({
+        'role': 'tabpanel',
+        'aria-hidden': !isActive,
+        'aria-labelledby': linkId
+      });
+
+      if(isActive && _this.options.autoFocus){
+        $link.focus();
+      }
+    });
+
+    if(this.options.matchHeight) {
+      var $images = this.$tabContent.find('img');
+
+      if ($images.length) {
+        Foundation.onImagesLoaded($images, this._setHeight.bind(this));
+      } else {
+        this._setHeight();
+      }
+    }
+
+    this._events();
+  }
+
+  /**
+   * Adds event handlers for items within the tabs.
+   * @private
+   */
+  _events() {
+    this._addKeyHandler();
+    this._addClickHandler();
+    this._setHeightMqHandler = null;
+    
+    if (this.options.matchHeight) {
+      this._setHeightMqHandler = this._setHeight.bind(this);
+      
+      $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);
+    }
+  }
+
+  /**
+   * Adds click handlers for items within the tabs.
+   * @private
+   */
+  _addClickHandler() {
+    var _this = this;
+
+    this.$element
+      .off('click.zf.tabs')
+      .on('click.zf.tabs', `.${this.options.linkClass}`, function(e){
+        e.preventDefault();
+        e.stopPropagation();
+        if ($(this).hasClass('is-active')) {
+          return;
+        }
+        _this._handleTabChange($(this));
+      });
+  }
+
+  /**
+   * Adds keyboard event handlers for items within the tabs.
+   * @private
+   */
+  _addKeyHandler() {
+    var _this = this;
+    var $firstTab = _this.$element.find('li:first-of-type');
+    var $lastTab = _this.$element.find('li:last-of-type');
+
+    this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function(e){
+      if (e.which === 9) return;
+      
+
+      var $element = $(this),
+        $elements = $element.parent('ul').children('li'),
+        $prevElement,
+        $nextElement;
+
+      $elements.each(function(i) {
+        if ($(this).is($element)) {
+          if (_this.options.wrapOnKeys) {
+            $prevElement = i === 0 ? $elements.last() : $elements.eq(i-1);
+            $nextElement = i === $elements.length -1 ? $elements.first() : $elements.eq(i+1);
+          } else {
+            $prevElement = $elements.eq(Math.max(0, i-1));
+            $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));
+          }
+          return;
+        }
+      });
+
+      // handle keyboard event with keyboard util
+      Foundation.Keyboard.handleKey(e, 'Tabs', {
+        open: function() {
+          $element.find('[role="tab"]').focus();
+          _this._handleTabChange($element);
+        },
+        previous: function() {
+          $prevElement.find('[role="tab"]').focus();
+          _this._handleTabChange($prevElement);
+        },
+        next: function() {
+          $nextElement.find('[role="tab"]').focus();
+          _this._handleTabChange($nextElement);
+        },
+        handled: function() {
+          e.stopPropagation();
+          e.preventDefault();
+        }
+      });
+    });
+  }
+
+  /**
+   * Opens the tab `$targetContent` defined by `$target`.
+   * @param {jQuery} $target - Tab to open.
+   * @fires Tabs#change
+   * @function
+   */
+  _handleTabChange($target) {
+    var $tabLink = $target.find('[role="tab"]'),
+        hash = $tabLink[0].hash,
+        $targetContent = this.$tabContent.find(hash),
+        $oldTab = this.$element.
+          find(`.${this.options.linkClass}.is-active`)
+          .removeClass('is-active')
+          .find('[role="tab"]')
+          .attr({ 'aria-selected': 'false' });
+
+    $(`#${$oldTab.attr('aria-controls')}`)
+      .removeClass('is-active')
+      .attr({ 'aria-hidden': 'true' });
+
+    $target.addClass('is-active');
+
+    $tabLink.attr({'aria-selected': 'true'});
+
+    $targetContent
+      .addClass('is-active')
+      .attr({'aria-hidden': 'false'});
+
+    /**
+     * Fires when the plugin has successfully changed tabs.
+     * @event Tabs#change
+     */
+    this.$element.trigger('change.zf.tabs', [$target]);
+  }
+
+  /**
+   * Public method for selecting a content pane to display.
+   * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.
+   * @function
+   */
+  selectTab(elem) {
+    var idStr;
+
+    if (typeof elem === 'object') {
+      idStr = elem[0].id;
+    } else {
+      idStr = elem;
+    }
+
+    if (idStr.indexOf('#') < 0) {
+      idStr = `#${idStr}`;
+    }
+
+    var $target = this.$tabTitles.find(`[href="${idStr}"]`).parent(`.${this.options.linkClass}`);
+
+    this._handleTabChange($target);
+  };
+  /**
+   * Sets the height of each panel to the height of the tallest panel.
+   * If enabled in options, gets called on media query change.
+   * If loading content via external source, can be called directly or with _reflow.
+   * @function
+   * @private
+   */
+  _setHeight() {
+    var max = 0;
+    this.$tabContent
+      .find(`.${this.options.panelClass}`)
+      .css('height', '')
+      .each(function() {
+        var panel = $(this),
+            isActive = panel.hasClass('is-active');
+
+        if (!isActive) {
+          panel.css({'visibility': 'hidden', 'display': 'block'});
+        }
+
+        var temp = this.getBoundingClientRect().height;
+
+        if (!isActive) {
+          panel.css({
+            'visibility': '',
+            'display': ''
+          });
+        }
+
+        max = temp > max ? temp : max;
+      })
+      .css('height', `${max}px`);
+  }
+
+  /**
+   * Destroys an instance of an tabs.
+   * @fires Tabs#destroyed
+   */
+  destroy() {
+    this.$element
+      .find(`.${this.options.linkClass}`)
+      .off('.zf.tabs').hide().end()
+      .find(`.${this.options.panelClass}`)
+      .hide();
+
+    if (this.options.matchHeight) {
+      if (this._setHeightMqHandler != null) {
+         $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);
+      }
+    }
+
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+Tabs.defaults = {
+  /**
+   * Allows the window to scroll to content of active pane on load if set to true.
+   * @option
+   * @example false
+   */
+  autoFocus: false,
+
+  /**
+   * Allows keyboard input to 'wrap' around the tab links.
+   * @option
+   * @example true
+   */
+  wrapOnKeys: true,
+
+  /**
+   * Allows the tab content panes to match heights if set to true.
+   * @option
+   * @example false
+   */
+  matchHeight: false,
+
+  /**
+   * Class applied to `li`'s in tab link list.
+   * @option
+   * @example 'tabs-title'
+   */
+  linkClass: 'tabs-title',
+
+  /**
+   * Class applied to the content containers.
+   * @option
+   * @example 'tabs-panel'
+   */
+  panelClass: 'tabs-panel'
+};
+
+function checkClass($elem){
+  return $elem.hasClass('is-active');
+}
+
+// Window exports
+Foundation.plugin(Tabs, 'Tabs');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.toggler.js b/libraries/foundation-6/js/foundation.toggler.js
new file mode 100755
index 00000000..8bcaae4c
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.toggler.js
@@ -0,0 +1,144 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Toggler module.
+ * @module foundation.toggler
+ * @requires foundation.util.motion
+ * @requires foundation.util.triggers
+ */
+
+class Toggler {
+  /**
+   * Creates a new instance of Toggler.
+   * @class
+   * @fires Toggler#init
+   * @param {Object} element - jQuery object to add the trigger to.
+   * @param {Object} options - Overrides to the default plugin settings.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options = $.extend({}, Toggler.defaults, element.data(), options);
+    this.className = '';
+
+    this._init();
+    this._events();
+
+    Foundation.registerPlugin(this, 'Toggler');
+  }
+
+  /**
+   * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.
+   * @function
+   * @private
+   */
+  _init() {
+    var input;
+    // Parse animation classes if they were set
+    if (this.options.animate) {
+      input = this.options.animate.split(' ');
+
+      this.animationIn = input[0];
+      this.animationOut = input[1] || null;
+    }
+    // Otherwise, parse toggle class
+    else {
+      input = this.$element.data('toggler');
+      // Allow for a . at the beginning of the string
+      this.className = input[0] === '.' ? input.slice(1) : input;
+    }
+
+    // Add ARIA attributes to triggers
+    var id = this.$element[0].id;
+    $(`[data-open="${id}"], [data-close="${id}"], [data-toggle="${id}"]`)
+      .attr('aria-controls', id);
+    // If the target is hidden, add aria-hidden
+    this.$element.attr('aria-expanded', this.$element.is(':hidden') ? false : true);
+  }
+
+  /**
+   * Initializes events for the toggle trigger.
+   * @function
+   * @private
+   */
+  _events() {
+    this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));
+  }
+
+  /**
+   * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was "on" or "off".
+   * @function
+   * @fires Toggler#on
+   * @fires Toggler#off
+   */
+  toggle() {
+    this[ this.options.animate ? '_toggleAnimate' : '_toggleClass']();
+  }
+
+  _toggleClass() {
+    this.$element.toggleClass(this.className);
+
+    var isOn = this.$element.hasClass(this.className);
+    if (isOn) {
+      /**
+       * Fires if the target element has the class after a toggle.
+       * @event Toggler#on
+       */
+      this.$element.trigger('on.zf.toggler');
+    }
+    else {
+      /**
+       * Fires if the target element does not have the class after a toggle.
+       * @event Toggler#off
+       */
+      this.$element.trigger('off.zf.toggler');
+    }
+
+    this._updateARIA(isOn);
+  }
+
+  _toggleAnimate() {
+    var _this = this;
+
+    if (this.$element.is(':hidden')) {
+      Foundation.Motion.animateIn(this.$element, this.animationIn, function() {
+        _this._updateARIA(true);
+        this.trigger('on.zf.toggler');
+      });
+    }
+    else {
+      Foundation.Motion.animateOut(this.$element, this.animationOut, function() {
+        _this._updateARIA(false);
+        this.trigger('off.zf.toggler');
+      });
+    }
+  }
+
+  _updateARIA(isOn) {
+    this.$element.attr('aria-expanded', isOn ? true : false);
+  }
+
+  /**
+   * Destroys the instance of Toggler on the element.
+   * @function
+   */
+  destroy() {
+    this.$element.off('.zf.toggler');
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+Toggler.defaults = {
+  /**
+   * Tells the plugin if the element should animated when toggled.
+   * @option
+   * @example false
+   */
+  animate: false
+};
+
+// Window exports
+Foundation.plugin(Toggler, 'Toggler');
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.tooltip.js b/libraries/foundation-6/js/foundation.tooltip.js
new file mode 100755
index 00000000..2a78a706
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.tooltip.js
@@ -0,0 +1,444 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Tooltip module.
+ * @module foundation.tooltip
+ * @requires foundation.util.box
+ * @requires foundation.util.triggers
+ */
+
+class Tooltip {
+  /**
+   * Creates a new instance of a Tooltip.
+   * @class
+   * @fires Tooltip#init
+   * @param {jQuery} element - jQuery object to attach a tooltip to.
+   * @param {Object} options - object to extend the default configuration.
+   */
+  constructor(element, options) {
+    this.$element = element;
+    this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);
+
+    this.isActive = false;
+    this.isClick = false;
+    this._init();
+
+    Foundation.registerPlugin(this, 'Tooltip');
+  }
+
+  /**
+   * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.
+   * @private
+   */
+  _init() {
+    var elemId = this.$element.attr('aria-describedby') || Foundation.GetYoDigits(6, 'tooltip');
+
+    this.options.positionClass = this.options.positionClass || this._getPositionClass(this.$element);
+    this.options.tipText = this.options.tipText || this.$element.attr('title');
+    this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId);
+
+    this.template.appendTo(document.body)
+        .text(this.options.tipText)
+        .hide();
+
+    this.$element.attr({
+      'title': '',
+      'aria-describedby': elemId,
+      'data-yeti-box': elemId,
+      'data-toggle': elemId,
+      'data-resize': elemId
+    }).addClass(this.triggerClass);
+
+    //helper variables to track movement on collisions
+    this.usedPositions = [];
+    this.counter = 4;
+    this.classChanged = false;
+
+    this._events();
+  }
+
+  /**
+   * Grabs the current positioning class, if present, and returns the value or an empty string.
+   * @private
+   */
+  _getPositionClass(element) {
+    if (!element) { return ''; }
+    // var position = element.attr('class').match(/top|left|right/g);
+    var position = element[0].className.match(/\b(top|left|right)\b/g);
+        position = position ? position[0] : '';
+    return position;
+  };
+  /**
+   * builds the tooltip element, adds attributes, and returns the template.
+   * @private
+   */
+  _buildTemplate(id) {
+    var templateClasses = (`${this.options.tooltipClass} ${this.options.positionClass} ${this.options.templateClasses}`).trim();
+    var $template =  $('<div></div>').addClass(templateClasses).attr({
+      'role': 'tooltip',
+      'aria-hidden': true,
+      'data-is-active': false,
+      'data-is-focus': false,
+      'id': id
+    });
+    return $template;
+  }
+
+  /**
+   * Function that gets called if a collision event is detected.
+   * @param {String} position - positioning class to try
+   * @private
+   */
+  _reposition(position) {
+    this.usedPositions.push(position ? position : 'bottom');
+
+    //default, try switching to opposite side
+    if (!position && (this.usedPositions.indexOf('top') < 0)) {
+      this.template.addClass('top');
+    } else if (position === 'top' && (this.usedPositions.indexOf('bottom') < 0)) {
+      this.template.removeClass(position);
+    } else if (position === 'left' && (this.usedPositions.indexOf('right') < 0)) {
+      this.template.removeClass(position)
+          .addClass('right');
+    } else if (position === 'right' && (this.usedPositions.indexOf('left') < 0)) {
+      this.template.removeClass(position)
+          .addClass('left');
+    }
+
+    //if default change didn't work, try bottom or left first
+    else if (!position && (this.usedPositions.indexOf('top') > -1) && (this.usedPositions.indexOf('left') < 0)) {
+      this.template.addClass('left');
+    } else if (position === 'top' && (this.usedPositions.indexOf('bottom') > -1) && (this.usedPositions.indexOf('left') < 0)) {
+      this.template.removeClass(position)
+          .addClass('left');
+    } else if (position === 'left' && (this.usedPositions.indexOf('right') > -1) && (this.usedPositions.indexOf('bottom') < 0)) {
+      this.template.removeClass(position);
+    } else if (position === 'right' && (this.usedPositions.indexOf('left') > -1) && (this.usedPositions.indexOf('bottom') < 0)) {
+      this.template.removeClass(position);
+    }
+    //if nothing cleared, set to bottom
+    else {
+      this.template.removeClass(position);
+    }
+    this.classChanged = true;
+    this.counter--;
+  }
+
+  /**
+   * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.
+   * if the tooltip is larger than the screen width, default to full width - any user selected margin
+   * @private
+   */
+  _setPosition() {
+    var position = this._getPositionClass(this.template),
+        $tipDims = Foundation.Box.GetDimensions(this.template),
+        $anchorDims = Foundation.Box.GetDimensions(this.$element),
+        direction = (position === 'left' ? 'left' : ((position === 'right') ? 'left' : 'top')),
+        param = (direction === 'top') ? 'height' : 'width',
+        offset = (param === 'height') ? this.options.vOffset : this.options.hOffset,
+        _this = this;
+
+    if (($tipDims.width >= $tipDims.windowDims.width) || (!this.counter && !Foundation.Box.ImNotTouchingYou(this.template))) {
+      this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({
+      // this.$element.offset(Foundation.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({
+        'width': $anchorDims.windowDims.width - (this.options.hOffset * 2),
+        'height': 'auto'
+      });
+      return false;
+    }
+
+    this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element,'center ' + (position || 'bottom'), this.options.vOffset, this.options.hOffset));
+
+    while(!Foundation.Box.ImNotTouchingYou(this.template) && this.counter) {
+      this._reposition(position);
+      this._setPosition();
+    }
+  }
+
+  /**
+   * reveals the tooltip, and fires an event to close any other open tooltips on the page
+   * @fires Tooltip#closeme
+   * @fires Tooltip#show
+   * @function
+   */
+  show() {
+    if (this.options.showOn !== 'all' && !Foundation.MediaQuery.atLeast(this.options.showOn)) {
+      // console.error('The screen is too small to display this tooltip');
+      return false;
+    }
+
+    var _this = this;
+    this.template.css('visibility', 'hidden').show();
+    this._setPosition();
+
+    /**
+     * Fires to close all other open tooltips on the page
+     * @event Closeme#tooltip
+     */
+    this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));
+
+
+    this.template.attr({
+      'data-is-active': true,
+      'aria-hidden': false
+    });
+    _this.isActive = true;
+    // console.log(this.template);
+    this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function() {
+      //maybe do stuff?
+    });
+    /**
+     * Fires when the tooltip is shown
+     * @event Tooltip#show
+     */
+    this.$element.trigger('show.zf.tooltip');
+  }
+
+  /**
+   * Hides the current tooltip, and resets the positioning class if it was changed due to collision
+   * @fires Tooltip#hide
+   * @function
+   */
+  hide() {
+    // console.log('hiding', this.$element.data('yeti-box'));
+    var _this = this;
+    this.template.stop().attr({
+      'aria-hidden': true,
+      'data-is-active': false
+    }).fadeOut(this.options.fadeOutDuration, function() {
+      _this.isActive = false;
+      _this.isClick = false;
+      if (_this.classChanged) {
+        _this.template
+             .removeClass(_this._getPositionClass(_this.template))
+             .addClass(_this.options.positionClass);
+
+       _this.usedPositions = [];
+       _this.counter = 4;
+       _this.classChanged = false;
+      }
+    });
+    /**
+     * fires when the tooltip is hidden
+     * @event Tooltip#hide
+     */
+    this.$element.trigger('hide.zf.tooltip');
+  }
+
+  /**
+   * adds event listeners for the tooltip and its anchor
+   * TODO combine some of the listeners like focus and mouseenter, etc.
+   * @private
+   */
+  _events() {
+    var _this = this;
+    var $template = this.template;
+    var isFocus = false;
+
+    if (!this.options.disableHover) {
+
+      this.$element
+      .on('mouseenter.zf.tooltip', function(e) {
+        if (!_this.isActive) {
+          _this.timeout = setTimeout(function() {
+            _this.show();
+          }, _this.options.hoverDelay);
+        }
+      })
+      .on('mouseleave.zf.tooltip', function(e) {
+        clearTimeout(_this.timeout);
+        if (!isFocus || (_this.isClick && !_this.options.clickOpen)) {
+          _this.hide();
+        }
+      });
+    }
+
+    if (this.options.clickOpen) {
+      this.$element.on('mousedown.zf.tooltip', function(e) {
+        e.stopImmediatePropagation();
+        if (_this.isClick) {
+          //_this.hide();
+          // _this.isClick = false;
+        } else {
+          _this.isClick = true;
+          if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {
+            _this.show();
+          }
+        }
+      });
+    } else {
+      this.$element.on('mousedown.zf.tooltip', function(e) {
+        e.stopImmediatePropagation();
+        _this.isClick = true;
+      });
+    }
+
+    if (!this.options.disableForTouch) {
+      this.$element
+      .on('tap.zf.tooltip touchend.zf.tooltip', function(e) {
+        _this.isActive ? _this.hide() : _this.show();
+      });
+    }
+
+    this.$element.on({
+      // 'toggle.zf.trigger': this.toggle.bind(this),
+      // 'close.zf.trigger': this.hide.bind(this)
+      'close.zf.trigger': this.hide.bind(this)
+    });
+
+    this.$element
+      .on('focus.zf.tooltip', function(e) {
+        isFocus = true;
+        if (_this.isClick) {
+          // If we're not showing open on clicks, we need to pretend a click-launched focus isn't
+          // a real focus, otherwise on hover and come back we get bad behavior
+          if(!_this.options.clickOpen) { isFocus = false; }
+          return false;
+        } else {
+          _this.show();
+        }
+      })
+
+      .on('focusout.zf.tooltip', function(e) {
+        isFocus = false;
+        _this.isClick = false;
+        _this.hide();
+      })
+
+      .on('resizeme.zf.trigger', function() {
+        if (_this.isActive) {
+          _this._setPosition();
+        }
+      });
+  }
+
+  /**
+   * adds a toggle method, in addition to the static show() & hide() functions
+   * @function
+   */
+  toggle() {
+    if (this.isActive) {
+      this.hide();
+    } else {
+      this.show();
+    }
+  }
+
+  /**
+   * Destroys an instance of tooltip, removes template element from the view.
+   * @function
+   */
+  destroy() {
+    this.$element.attr('title', this.template.text())
+                 .off('.zf.trigger .zf.tootip')
+                //  .removeClass('has-tip')
+                 .removeAttr('aria-describedby')
+                 .removeAttr('data-yeti-box')
+                 .removeAttr('data-toggle')
+                 .removeAttr('data-resize');
+
+    this.template.remove();
+
+    Foundation.unregisterPlugin(this);
+  }
+}
+
+Tooltip.defaults = {
+  disableForTouch: false,
+  /**
+   * Time, in ms, before a tooltip should open on hover.
+   * @option
+   * @example 200
+   */
+  hoverDelay: 200,
+  /**
+   * Time, in ms, a tooltip should take to fade into view.
+   * @option
+   * @example 150
+   */
+  fadeInDuration: 150,
+  /**
+   * Time, in ms, a tooltip should take to fade out of view.
+   * @option
+   * @example 150
+   */
+  fadeOutDuration: 150,
+  /**
+   * Disables hover events from opening the tooltip if set to true
+   * @option
+   * @example false
+   */
+  disableHover: false,
+  /**
+   * Optional addtional classes to apply to the tooltip template on init.
+   * @option
+   * @example 'my-cool-tip-class'
+   */
+  templateClasses: '',
+  /**
+   * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.
+   * @option
+   * @example 'tooltip'
+   */
+  tooltipClass: 'tooltip',
+  /**
+   * Class applied to the tooltip anchor element.
+   * @option
+   * @example 'has-tip'
+   */
+  triggerClass: 'has-tip',
+  /**
+   * Minimum breakpoint size at which to open the tooltip.
+   * @option
+   * @example 'small'
+   */
+  showOn: 'small',
+  /**
+   * Custom template to be used to generate markup for tooltip.
+   * @option
+   * @example '&lt;div class="tooltip"&gt;&lt;/div&gt;'
+   */
+  template: '',
+  /**
+   * Text displayed in the tooltip template on open.
+   * @option
+   * @example 'Some cool space fact here.'
+   */
+  tipText: '',
+  touchCloseText: 'Tap to close.',
+  /**
+   * Allows the tooltip to remain open if triggered with a click or touch event.
+   * @option
+   * @example true
+   */
+  clickOpen: true,
+  /**
+   * Additional positioning classes, set by the JS
+   * @option
+   * @example 'top'
+   */
+  positionClass: '',
+  /**
+   * Distance, in pixels, the template should push away from the anchor on the Y axis.
+   * @option
+   * @example 10
+   */
+  vOffset: 10,
+  /**
+   * Distance, in pixels, the template should push away from the anchor on the X axis, if aligned to a side.
+   * @option
+   * @example 12
+   */
+  hOffset: 12
+};
+
+/**
+ * TODO utilize resize event trigger
+ */
+
+// Window exports
+Foundation.plugin(Tooltip, 'Tooltip');
+
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/foundation.util.box.js b/libraries/foundation-6/js/foundation.util.box.js
new file mode 100755
index 00000000..029362dd
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.util.box.js
@@ -0,0 +1,195 @@
+'use strict';
+
+!function($) {
+
+Foundation.Box = {
+  ImNotTouchingYou: ImNotTouchingYou,
+  GetDimensions: GetDimensions,
+  GetOffsets: GetOffsets
+}
+
+/**
+ * Compares the dimensions of an element to a container and determines collision events with container.
+ * @function
+ * @param {jQuery} element - jQuery object to test for collisions.
+ * @param {jQuery} parent - jQuery object to use as bounding container.
+ * @param {Boolean} lrOnly - set to true to check left and right values only.
+ * @param {Boolean} tbOnly - set to true to check top and bottom values only.
+ * @default if no parent object passed, detects collisions with `window`.
+ * @returns {Boolean} - true if collision free, false if a collision in any direction.
+ */
+function ImNotTouchingYou(element, parent, lrOnly, tbOnly) {
+  var eleDims = GetDimensions(element),
+      top, bottom, left, right;
+
+  if (parent) {
+    var parDims = GetDimensions(parent);
+
+    bottom = (eleDims.offset.top + eleDims.height <= parDims.height + parDims.offset.top);
+    top    = (eleDims.offset.top >= parDims.offset.top);
+    left   = (eleDims.offset.left >= parDims.offset.left);
+    right  = (eleDims.offset.left + eleDims.width <= parDims.width + parDims.offset.left);
+  }
+  else {
+    bottom = (eleDims.offset.top + eleDims.height <= eleDims.windowDims.height + eleDims.windowDims.offset.top);
+    top    = (eleDims.offset.top >= eleDims.windowDims.offset.top);
+    left   = (eleDims.offset.left >= eleDims.windowDims.offset.left);
+    right  = (eleDims.offset.left + eleDims.width <= eleDims.windowDims.width);
+  }
+
+  var allDirs = [bottom, top, left, right];
+
+  if (lrOnly) {
+    return left === right === true;
+  }
+
+  if (tbOnly) {
+    return top === bottom === true;
+  }
+
+  return allDirs.indexOf(false) === -1;
+};
+
+/**
+ * Uses native methods to return an object of dimension values.
+ * @function
+ * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.
+ * @returns {Object} - nested object of integer pixel values
+ * TODO - if element is window, return only those values.
+ */
+function GetDimensions(elem, test){
+  elem = elem.length ? elem[0] : elem;
+
+  if (elem === window || elem === document) {
+    throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");
+  }
+
+  var rect = elem.getBoundingClientRect(),
+      parRect = elem.parentNode.getBoundingClientRect(),
+      winRect = document.body.getBoundingClientRect(),
+      winY = window.pageYOffset,
+      winX = window.pageXOffset;
+
+  return {
+    width: rect.width,
+    height: rect.height,
+    offset: {
+      top: rect.top + winY,
+      left: rect.left + winX
+    },
+    parentDims: {
+      width: parRect.width,
+      height: parRect.height,
+      offset: {
+        top: parRect.top + winY,
+        left: parRect.left + winX
+      }
+    },
+    windowDims: {
+      width: winRect.width,
+      height: winRect.height,
+      offset: {
+        top: winY,
+        left: winX
+      }
+    }
+  }
+}
+
+/**
+ * Returns an object of top and left integer pixel values for dynamically rendered elements,
+ * such as: Tooltip, Reveal, and Dropdown
+ * @function
+ * @param {jQuery} element - jQuery object for the element being positioned.
+ * @param {jQuery} anchor - jQuery object for the element's anchor point.
+ * @param {String} position - a string relating to the desired position of the element, relative to it's anchor
+ * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.
+ * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.
+ * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.
+ * TODO alter/rewrite to work with `em` values as well/instead of pixels
+ */
+function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {
+  var $eleDims = GetDimensions(element),
+      $anchorDims = anchor ? GetDimensions(anchor) : null;
+
+  switch (position) {
+    case 'top':
+      return {
+        left: (Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left),
+        top: $anchorDims.offset.top - ($eleDims.height + vOffset)
+      }
+      break;
+    case 'left':
+      return {
+        left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+        top: $anchorDims.offset.top
+      }
+      break;
+    case 'right':
+      return {
+        left: $anchorDims.offset.left + $anchorDims.width + hOffset,
+        top: $anchorDims.offset.top
+      }
+      break;
+    case 'center top':
+      return {
+        left: ($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2),
+        top: $anchorDims.offset.top - ($eleDims.height + vOffset)
+      }
+      break;
+    case 'center bottom':
+      return {
+        left: isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)),
+        top: $anchorDims.offset.top + $anchorDims.height + vOffset
+      }
+      break;
+    case 'center left':
+      return {
+        left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+        top: ($anchorDims.offset.top + ($anchorDims.height / 2)) - ($eleDims.height / 2)
+      }
+      break;
+    case 'center right':
+      return {
+        left: $anchorDims.offset.left + $anchorDims.width + hOffset + 1,
+        top: ($anchorDims.offset.top + ($anchorDims.height / 2)) - ($eleDims.height / 2)
+      }
+      break;
+    case 'center':
+      return {
+        left: ($eleDims.windowDims.offset.left + ($eleDims.windowDims.width / 2)) - ($eleDims.width / 2),
+        top: ($eleDims.windowDims.offset.top + ($eleDims.windowDims.height / 2)) - ($eleDims.height / 2)
+      }
+      break;
+    case 'reveal':
+      return {
+        left: ($eleDims.windowDims.width - $eleDims.width) / 2,
+        top: $eleDims.windowDims.offset.top + vOffset
+      }
+    case 'reveal full':
+      return {
+        left: $eleDims.windowDims.offset.left,
+        top: $eleDims.windowDims.offset.top
+      }
+      break;
+    case 'left bottom':
+      return {
+        left: $anchorDims.offset.left,
+        top: $anchorDims.offset.top + $anchorDims.height
+      };
+      break;
+    case 'right bottom':
+      return {
+        left: $anchorDims.offset.left + $anchorDims.width + hOffset - $eleDims.width,
+        top: $anchorDims.offset.top + $anchorDims.height
+      };
+      break;
+    default:
+      return {
+        left: (Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left),
+        top: $anchorDims.offset.top + $anchorDims.height + vOffset
+      }
+  }
+}
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.util.keyboard.js b/libraries/foundation-6/js/foundation.util.keyboard.js
new file mode 100755
index 00000000..290e7438
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.util.keyboard.js
@@ -0,0 +1,115 @@
+/*******************************************
+ *                                         *
+ * This util was created by Marius Olbertz *
+ * Please thank Marius on GitHub /owlbertz *
+ * or the web http://www.mariusolbertz.de/ *
+ *                                         *
+ ******************************************/
+
+'use strict';
+
+!function($) {
+
+const keyCodes = {
+  9: 'TAB',
+  13: 'ENTER',
+  27: 'ESCAPE',
+  32: 'SPACE',
+  37: 'ARROW_LEFT',
+  38: 'ARROW_UP',
+  39: 'ARROW_RIGHT',
+  40: 'ARROW_DOWN'
+}
+
+var commands = {}
+
+var Keyboard = {
+  keys: getKeyCodes(keyCodes),
+
+  /**
+   * Parses the (keyboard) event and returns a String that represents its key
+   * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
+   * @param {Event} event - the event generated by the event handler
+   * @return String key - String that represents the key pressed
+   */
+  parseKey(event) {
+    var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();
+    if (event.shiftKey) key = `SHIFT_${key}`;
+    if (event.ctrlKey) key = `CTRL_${key}`;
+    if (event.altKey) key = `ALT_${key}`;
+    return key;
+  },
+
+  /**
+   * Handles the given (keyboard) event
+   * @param {Event} event - the event generated by the event handler
+   * @param {String} component - Foundation component's name, e.g. Slider or Reveal
+   * @param {Objects} functions - collection of functions that are to be executed
+   */
+  handleKey(event, component, functions) {
+    var commandList = commands[component],
+      keyCode = this.parseKey(event),
+      cmds,
+      command,
+      fn;
+
+    if (!commandList) return console.warn('Component not defined!');
+
+    if (typeof commandList.ltr === 'undefined') { // this component does not differentiate between ltr and rtl
+        cmds = commandList; // use plain list
+    } else { // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa
+        if (Foundation.rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);
+
+        else cmds = $.extend({}, commandList.rtl, commandList.ltr);
+    }
+    command = cmds[keyCode];
+
+    fn = functions[command];
+    if (fn && typeof fn === 'function') { // execute function  if exists
+      var returnValue = fn.apply();
+      if (functions.handled || typeof functions.handled === 'function') { // execute function when event was handled
+          functions.handled(returnValue);
+      }
+    } else {
+      if (functions.unhandled || typeof functions.unhandled === 'function') { // execute function when event was not handled
+          functions.unhandled();
+      }
+    }
+  },
+
+  /**
+   * Finds all focusable elements within the given `$element`
+   * @param {jQuery} $element - jQuery object to search within
+   * @return {jQuery} $focusable - all focusable elements within `$element`
+   */
+  findFocusable($element) {
+    return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() {
+      if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0
+      return true;
+    });
+  },
+
+  /**
+   * Returns the component name name
+   * @param {Object} component - Foundation component, e.g. Slider or Reveal
+   * @return String componentName
+   */
+
+  register(componentName, cmds) {
+    commands[componentName] = cmds;
+  }
+}
+
+/*
+ * Constants for easier comparing.
+ * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
+ */
+function getKeyCodes(kcs) {
+  var k = {};
+  for (var kc in kcs) k[kcs[kc]] = kcs[kc];
+  return k;
+}
+
+Foundation.Keyboard = Keyboard;
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.util.mediaQuery.js b/libraries/foundation-6/js/foundation.util.mediaQuery.js
new file mode 100755
index 00000000..e98555dc
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.util.mediaQuery.js
@@ -0,0 +1,214 @@
+'use strict';
+
+!function($) {
+
+// Default set of media queries
+const defaultQueries = {
+  'default' : 'only screen',
+  landscape : 'only screen and (orientation: landscape)',
+  portrait : 'only screen and (orientation: portrait)',
+  retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +
+    'only screen and (min--moz-device-pixel-ratio: 2),' +
+    'only screen and (-o-min-device-pixel-ratio: 2/1),' +
+    'only screen and (min-device-pixel-ratio: 2),' +
+    'only screen and (min-resolution: 192dpi),' +
+    'only screen and (min-resolution: 2dppx)'
+};
+
+var MediaQuery = {
+  queries: [],
+
+  current: '',
+
+  /**
+   * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.
+   * @function
+   * @private
+   */
+  _init() {
+    var self = this;
+    var extractedStyles = $('.foundation-mq').css('font-family');
+    var namedQueries;
+
+    namedQueries = parseStyleToObject(extractedStyles);
+
+    for (var key in namedQueries) {
+      if(namedQueries.hasOwnProperty(key)) {
+        self.queries.push({
+          name: key,
+          value: `only screen and (min-width: ${namedQueries[key]})`
+        });
+      }
+    }
+
+    this.current = this._getCurrentSize();
+
+    this._watcher();
+  },
+
+  /**
+   * Checks if the screen is at least as wide as a breakpoint.
+   * @function
+   * @param {String} size - Name of the breakpoint to check.
+   * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
+   */
+  atLeast(size) {
+    var query = this.get(size);
+
+    if (query) {
+      return window.matchMedia(query).matches;
+    }
+
+    return false;
+  },
+
+  /**
+   * Gets the media query of a breakpoint.
+   * @function
+   * @param {String} size - Name of the breakpoint to get.
+   * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
+   */
+  get(size) {
+    for (var i in this.queries) {
+      if(this.queries.hasOwnProperty(i)) {
+        var query = this.queries[i];
+        if (size === query.name) return query.value;
+      }
+    }
+
+    return null;
+  },
+
+  /**
+   * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
+   * @function
+   * @private
+   * @returns {String} Name of the current breakpoint.
+   */
+  _getCurrentSize() {
+    var matched;
+
+    for (var i = 0; i < this.queries.length; i++) {
+      var query = this.queries[i];
+
+      if (window.matchMedia(query.value).matches) {
+        matched = query;
+      }
+    }
+
+    if (typeof matched === 'object') {
+      return matched.name;
+    } else {
+      return matched;
+    }
+  },
+
+  /**
+   * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.
+   * @function
+   * @private
+   */
+  _watcher() {
+    $(window).on('resize.zf.mediaquery', () => {
+      var newSize = this._getCurrentSize(), currentSize = this.current;
+
+      if (newSize !== currentSize) {
+        // Change the current media query
+        this.current = newSize;
+
+        // Broadcast the media query change on the window
+        $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);
+      }
+    });
+  }
+};
+
+Foundation.MediaQuery = MediaQuery;
+
+// matchMedia() polyfill - Test a CSS media type/query in JS.
+// Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license
+window.matchMedia || (window.matchMedia = function() {
+  'use strict';
+
+  // For browsers that support matchMedium api such as IE 9 and webkit
+  var styleMedia = (window.styleMedia || window.media);
+
+  // For those that don't support matchMedium
+  if (!styleMedia) {
+    var style   = document.createElement('style'),
+    script      = document.getElementsByTagName('script')[0],
+    info        = null;
+
+    style.type  = 'text/css';
+    style.id    = 'matchmediajs-test';
+
+    script.parentNode.insertBefore(style, script);
+
+    // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
+    info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;
+
+    styleMedia = {
+      matchMedium(media) {
+        var text = `@media ${media}{ #matchmediajs-test { width: 1px; } }`;
+
+        // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
+        if (style.styleSheet) {
+          style.styleSheet.cssText = text;
+        } else {
+          style.textContent = text;
+        }
+
+        // Test if media query is true or false
+        return info.width === '1px';
+      }
+    }
+  }
+
+  return function(media) {
+    return {
+      matches: styleMedia.matchMedium(media || 'all'),
+      media: media || 'all'
+    };
+  }
+}());
+
+// Thank you: https://github.com/sindresorhus/query-string
+function parseStyleToObject(str) {
+  var styleObject = {};
+
+  if (typeof str !== 'string') {
+    return styleObject;
+  }
+
+  str = str.trim().slice(1, -1); // browsers re-quote string style values
+
+  if (!str) {
+    return styleObject;
+  }
+
+  styleObject = str.split('&').reduce(function(ret, param) {
+    var parts = param.replace(/\+/g, ' ').split('=');
+    var key = parts[0];
+    var val = parts[1];
+    key = decodeURIComponent(key);
+
+    // missing `=` should be `null`:
+    // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
+    val = val === undefined ? null : decodeURIComponent(val);
+
+    if (!ret.hasOwnProperty(key)) {
+      ret[key] = val;
+    } else if (Array.isArray(ret[key])) {
+      ret[key].push(val);
+    } else {
+      ret[key] = [ret[key], val];
+    }
+    return ret;
+  }, {});
+
+  return styleObject;
+}
+
+Foundation.MediaQuery = MediaQuery;
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.util.motion.js b/libraries/foundation-6/js/foundation.util.motion.js
new file mode 100755
index 00000000..0473a110
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.util.motion.js
@@ -0,0 +1,99 @@
+'use strict';
+
+!function($) {
+
+/**
+ * Motion module.
+ * @module foundation.motion
+ */
+
+const initClasses   = ['mui-enter', 'mui-leave'];
+const activeClasses = ['mui-enter-active', 'mui-leave-active'];
+
+const Motion = {
+  animateIn: function(element, animation, cb) {
+    animate(true, element, animation, cb);
+  },
+
+  animateOut: function(element, animation, cb) {
+    animate(false, element, animation, cb);
+  }
+}
+
+function Move(duration, elem, fn){
+  var anim, prog, start = null;
+  // console.log('called');
+
+  function move(ts){
+    if(!start) start = window.performance.now();
+    // console.log(start, ts);
+    prog = ts - start;
+    fn.apply(elem);
+
+    if(prog < duration){ anim = window.requestAnimationFrame(move, elem); }
+    else{
+      window.cancelAnimationFrame(anim);
+      elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);
+    }
+  }
+  anim = window.requestAnimationFrame(move);
+}
+
+/**
+ * Animates an element in or out using a CSS transition class.
+ * @function
+ * @private
+ * @param {Boolean} isIn - Defines if the animation is in or out.
+ * @param {Object} element - jQuery or HTML object to animate.
+ * @param {String} animation - CSS class to use.
+ * @param {Function} cb - Callback to run when animation is finished.
+ */
+function animate(isIn, element, animation, cb) {
+  element = $(element).eq(0);
+
+  if (!element.length) return;
+
+  var initClass = isIn ? initClasses[0] : initClasses[1];
+  var activeClass = isIn ? activeClasses[0] : activeClasses[1];
+
+  // Set up the animation
+  reset();
+
+  element
+    .addClass(animation)
+    .css('transition', 'none');
+
+  requestAnimationFrame(() => {
+    element.addClass(initClass);
+    if (isIn) element.show();
+  });
+
+  // Start the animation
+  requestAnimationFrame(() => {
+    element[0].offsetWidth;
+    element
+      .css('transition', '')
+      .addClass(activeClass);
+  });
+
+  // Clean up the animation when it finishes
+  element.one(Foundation.transitionend(element), finish);
+
+  // Hides the element (for out animations), resets the element, and runs a callback
+  function finish() {
+    if (!isIn) element.hide();
+    reset();
+    if (cb) cb.apply(element);
+  }
+
+  // Resets transitions and removes motion-specific classes
+  function reset() {
+    element[0].style.transitionDuration = 0;
+    element.removeClass(`${initClass} ${activeClass} ${animation}`);
+  }
+}
+
+Foundation.Move = Move;
+Foundation.Motion = Motion;
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.util.nest.js b/libraries/foundation-6/js/foundation.util.nest.js
new file mode 100755
index 00000000..a2602442
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.util.nest.js
@@ -0,0 +1,76 @@
+'use strict';
+
+!function($) {
+
+const Nest = {
+  Feather(menu, type = 'zf') {
+    menu.attr('role', 'menubar');
+
+    var items = menu.find('li').attr({'role': 'menuitem'}),
+        subMenuClass = `is-${type}-submenu`,
+        subItemClass = `${subMenuClass}-item`,
+        hasSubClass = `is-${type}-submenu-parent`;
+
+    menu.find('a:first').attr('tabindex', 0);
+
+    items.each(function() {
+      var $item = $(this),
+          $sub = $item.children('ul');
+
+      if ($sub.length) {
+        $item
+          .addClass(hasSubClass)
+          .attr({
+            'aria-haspopup': true,
+            'aria-expanded': false,
+            'aria-label': $item.children('a:first').text()
+          });
+
+        $sub
+          .addClass(`submenu ${subMenuClass}`)
+          .attr({
+            'data-submenu': '',
+            'aria-hidden': true,
+            'role': 'menu'
+          });
+      }
+
+      if ($item.parent('[data-submenu]').length) {
+        $item.addClass(`is-submenu-item ${subItemClass}`);
+      }
+    });
+
+    return;
+  },
+
+  Burn(menu, type) {
+    var items = menu.find('li').removeAttr('tabindex'),
+        subMenuClass = `is-${type}-submenu`,
+        subItemClass = `${subMenuClass}-item`,
+        hasSubClass = `is-${type}-submenu-parent`;
+
+    menu
+      .find('*')
+      .removeClass(`${subMenuClass} ${subItemClass} ${hasSubClass} is-submenu-item submenu is-active`)
+      .removeAttr('data-submenu').css('display', '');
+
+    // console.log(      menu.find('.' + subMenuClass + ', .' + subItemClass + ', .has-submenu, .is-submenu-item, .submenu, [data-submenu]')
+    //           .removeClass(subMenuClass + ' ' + subItemClass + ' has-submenu is-submenu-item submenu')
+    //           .removeAttr('data-submenu'));
+    // items.each(function(){
+    //   var $item = $(this),
+    //       $sub = $item.children('ul');
+    //   if($item.parent('[data-submenu]').length){
+    //     $item.removeClass('is-submenu-item ' + subItemClass);
+    //   }
+    //   if($sub.length){
+    //     $item.removeClass('has-submenu');
+    //     $sub.removeClass('submenu ' + subMenuClass).removeAttr('data-submenu');
+    //   }
+    // });
+  }
+}
+
+Foundation.Nest = Nest;
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.util.timerAndImageLoader.js b/libraries/foundation-6/js/foundation.util.timerAndImageLoader.js
new file mode 100755
index 00000000..b5facd02
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.util.timerAndImageLoader.js
@@ -0,0 +1,86 @@
+'use strict';
+
+!function($) {
+
+function Timer(elem, options, cb) {
+  var _this = this,
+      duration = options.duration,//options is an object for easily adding features later.
+      nameSpace = Object.keys(elem.data())[0] || 'timer',
+      remain = -1,
+      start,
+      timer;
+
+  this.isPaused = false;
+
+  this.restart = function() {
+    remain = -1;
+    clearTimeout(timer);
+    this.start();
+  }
+
+  this.start = function() {
+    this.isPaused = false;
+    // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
+    clearTimeout(timer);
+    remain = remain <= 0 ? duration : remain;
+    elem.data('paused', false);
+    start = Date.now();
+    timer = setTimeout(function(){
+      if(options.infinite){
+        _this.restart();//rerun the timer.
+      }
+      cb();
+    }, remain);
+    elem.trigger(`timerstart.zf.${nameSpace}`);
+  }
+
+  this.pause = function() {
+    this.isPaused = true;
+    //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
+    clearTimeout(timer);
+    elem.data('paused', true);
+    var end = Date.now();
+    remain = remain - (end - start);
+    elem.trigger(`timerpaused.zf.${nameSpace}`);
+  }
+}
+
+/**
+ * Runs a callback function when images are fully loaded.
+ * @param {Object} images - Image(s) to check if loaded.
+ * @param {Func} callback - Function to execute when image is fully loaded.
+ */
+function onImagesLoaded(images, callback){
+  var self = this,
+      unloaded = images.length;
+
+  if (unloaded === 0) {
+    callback();
+  }
+
+  images.each(function() {
+    if (this.complete) {
+      singleImageLoaded();
+    }
+    else if (typeof this.naturalWidth !== 'undefined' && this.naturalWidth > 0) {
+      singleImageLoaded();
+    }
+    else {
+      $(this).one('load', function() {
+        singleImageLoaded();
+      });
+    }
+  });
+
+  function singleImageLoaded() {
+    unloaded--;
+    if (unloaded === 0) {
+      callback();
+    }
+  }
+}
+
+Foundation.Timer = Timer;
+Foundation.onImagesLoaded = onImagesLoaded;
+
+}(jQuery);
diff --git a/libraries/foundation-6/js/foundation.util.touch.js b/libraries/foundation-6/js/foundation.util.touch.js
new file mode 100755
index 00000000..3852ac01
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.util.touch.js
@@ -0,0 +1,352 @@
+//**************************************************
+//**Work inspired by multiple jquery swipe plugins**
+//**Done by Yohai Ararat ***************************
+//**************************************************
+(function($) {
+
+  $.spotSwipe = {
+    version: '1.0.0',
+    enabled: 'ontouchstart' in document.documentElement,
+    preventDefault: false,
+    moveThreshold: 75,
+    timeThreshold: 200
+  };
+
+  var   startPosX,
+        startPosY,
+        startTime,
+        elapsedTime,
+        isMoving = false;
+
+  function onTouchEnd() {
+    //  alert(this);
+    this.removeEventListener('touchmove', onTouchMove);
+    this.removeEventListener('touchend', onTouchEnd);
+    isMoving = false;
+  }
+
+  function onTouchMove(e) {
+    if ($.spotSwipe.preventDefault) { e.preventDefault(); }
+    if(isMoving) {
+      var x = e.touches[0].pageX;
+      var y = e.touches[0].pageY;
+      var dx = startPosX - x;
+      var dy = startPosY - y;
+      var dir;
+      elapsedTime = new Date().getTime() - startTime;
+      if(Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
+        dir = dx > 0 ? 'left' : 'right';
+      }
+      // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
+      //   dir = dy > 0 ? 'down' : 'up';
+      // }
+      if(dir) {
+        e.preventDefault();
+        onTouchEnd.call(this);
+        $(this).trigger('swipe', dir).trigger(`swipe${dir}`);
+      }
+    }
+  }
+
+  function onTouchStart(e) {
+    if (e.touches.length == 1) {
+      startPosX = e.touches[0].pageX;
+      startPosY = e.touches[0].pageY;
+      isMoving = true;
+      startTime = new Date().getTime();
+      this.addEventListener('touchmove', onTouchMove, false);
+      this.addEventListener('touchend', onTouchEnd, false);
+    }
+  }
+
+  function init() {
+    this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);
+  }
+
+  function teardown() {
+    this.removeEventListener('touchstart', onTouchStart);
+  }
+
+  $.event.special.swipe = { setup: init };
+
+  $.each(['left', 'up', 'down', 'right'], function () {
+    $.event.special[`swipe${this}`] = { setup: function(){
+      $(this).on('swipe', $.noop);
+    } };
+  });
+})(jQuery);
+/****************************************************
+ * Method for adding psuedo drag events to elements *
+ ***************************************************/
+!function($){
+  $.fn.addTouch = function(){
+    this.each(function(i,el){
+      $(el).bind('touchstart touchmove touchend touchcancel',function(){
+        //we pass the original event object because the jQuery event
+        //object is normalized to w3c specs and does not provide the TouchList
+        handleTouch(event);
+      });
+    });
+
+    var handleTouch = function(event){
+      var touches = event.changedTouches,
+          first = touches[0],
+          eventTypes = {
+            touchstart: 'mousedown',
+            touchmove: 'mousemove',
+            touchend: 'mouseup'
+          },
+          type = eventTypes[event.type],
+          simulatedEvent
+        ;
+
+      if('MouseEvent' in window && typeof window.MouseEvent === 'function') {
+        simulatedEvent = new window.MouseEvent(type, {
+          'bubbles': true,
+          'cancelable': true,
+          'screenX': first.screenX,
+          'screenY': first.screenY,
+          'clientX': first.clientX,
+          'clientY': first.clientY
+        });
+      } else {
+        simulatedEvent = document.createEvent('MouseEvent');
+        simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0/*left*/, null);
+      }
+      first.target.dispatchEvent(simulatedEvent);
+    };
+  };
+}(jQuery);
+
+
+//**********************************
+//**From the jQuery Mobile Library**
+//**need to recreate functionality**
+//**and try to improve if possible**
+//**********************************
+
+/* Removing the jQuery function ****
+************************************
+
+(function( $, window, undefined ) {
+
+	var $document = $( document ),
+		// supportTouch = $.mobile.support.touch,
+		touchStartEvent = 'touchstart'//supportTouch ? "touchstart" : "mousedown",
+		touchStopEvent = 'touchend'//supportTouch ? "touchend" : "mouseup",
+		touchMoveEvent = 'touchmove'//supportTouch ? "touchmove" : "mousemove";
+
+	// setup new event shortcuts
+	$.each( ( "touchstart touchmove touchend " +
+		"swipe swipeleft swiperight" ).split( " " ), function( i, name ) {
+
+		$.fn[ name ] = function( fn ) {
+			return fn ? this.bind( name, fn ) : this.trigger( name );
+		};
+
+		// jQuery < 1.8
+		if ( $.attrFn ) {
+			$.attrFn[ name ] = true;
+		}
+	});
+
+	function triggerCustomEvent( obj, eventType, event, bubble ) {
+		var originalType = event.type;
+		event.type = eventType;
+		if ( bubble ) {
+			$.event.trigger( event, undefined, obj );
+		} else {
+			$.event.dispatch.call( obj, event );
+		}
+		event.type = originalType;
+	}
+
+	// also handles taphold
+
+	// Also handles swipeleft, swiperight
+	$.event.special.swipe = {
+
+		// More than this horizontal displacement, and we will suppress scrolling.
+		scrollSupressionThreshold: 30,
+
+		// More time than this, and it isn't a swipe.
+		durationThreshold: 1000,
+
+		// Swipe horizontal displacement must be more than this.
+		horizontalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,
+
+		// Swipe vertical displacement must be less than this.
+		verticalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,
+
+		getLocation: function ( event ) {
+			var winPageX = window.pageXOffset,
+				winPageY = window.pageYOffset,
+				x = event.clientX,
+				y = event.clientY;
+
+			if ( event.pageY === 0 && Math.floor( y ) > Math.floor( event.pageY ) ||
+				event.pageX === 0 && Math.floor( x ) > Math.floor( event.pageX ) ) {
+
+				// iOS4 clientX/clientY have the value that should have been
+				// in pageX/pageY. While pageX/page/ have the value 0
+				x = x - winPageX;
+				y = y - winPageY;
+			} else if ( y < ( event.pageY - winPageY) || x < ( event.pageX - winPageX ) ) {
+
+				// Some Android browsers have totally bogus values for clientX/Y
+				// when scrolling/zooming a page. Detectable since clientX/clientY
+				// should never be smaller than pageX/pageY minus page scroll
+				x = event.pageX - winPageX;
+				y = event.pageY - winPageY;
+			}
+
+			return {
+				x: x,
+				y: y
+			};
+		},
+
+		start: function( event ) {
+			var data = event.originalEvent.touches ?
+					event.originalEvent.touches[ 0 ] : event,
+				location = $.event.special.swipe.getLocation( data );
+			return {
+						time: ( new Date() ).getTime(),
+						coords: [ location.x, location.y ],
+						origin: $( event.target )
+					};
+		},
+
+		stop: function( event ) {
+			var data = event.originalEvent.touches ?
+					event.originalEvent.touches[ 0 ] : event,
+				location = $.event.special.swipe.getLocation( data );
+			return {
+						time: ( new Date() ).getTime(),
+						coords: [ location.x, location.y ]
+					};
+		},
+
+		handleSwipe: function( start, stop, thisObject, origTarget ) {
+			if ( stop.time - start.time < $.event.special.swipe.durationThreshold &&
+				Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold &&
+				Math.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) {
+				var direction = start.coords[0] > stop.coords[ 0 ] ? "swipeleft" : "swiperight";
+
+				triggerCustomEvent( thisObject, "swipe", $.Event( "swipe", { target: origTarget, swipestart: start, swipestop: stop }), true );
+				triggerCustomEvent( thisObject, direction,$.Event( direction, { target: origTarget, swipestart: start, swipestop: stop } ), true );
+				return true;
+			}
+			return false;
+
+		},
+
+		// This serves as a flag to ensure that at most one swipe event event is
+		// in work at any given time
+		eventInProgress: false,
+
+		setup: function() {
+			var events,
+				thisObject = this,
+				$this = $( thisObject ),
+				context = {};
+
+			// Retrieve the events data for this element and add the swipe context
+			events = $.data( this, "mobile-events" );
+			if ( !events ) {
+				events = { length: 0 };
+				$.data( this, "mobile-events", events );
+			}
+			events.length++;
+			events.swipe = context;
+
+			context.start = function( event ) {
+
+				// Bail if we're already working on a swipe event
+				if ( $.event.special.swipe.eventInProgress ) {
+					return;
+				}
+				$.event.special.swipe.eventInProgress = true;
+
+				var stop,
+					start = $.event.special.swipe.start( event ),
+					origTarget = event.target,
+					emitted = false;
+
+				context.move = function( event ) {
+					if ( !start || event.isDefaultPrevented() ) {
+						return;
+					}
+
+					stop = $.event.special.swipe.stop( event );
+					if ( !emitted ) {
+						emitted = $.event.special.swipe.handleSwipe( start, stop, thisObject, origTarget );
+						if ( emitted ) {
+
+							// Reset the context to make way for the next swipe event
+							$.event.special.swipe.eventInProgress = false;
+						}
+					}
+					// prevent scrolling
+					if ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) {
+						event.preventDefault();
+					}
+				};
+
+				context.stop = function() {
+						emitted = true;
+
+						// Reset the context to make way for the next swipe event
+						$.event.special.swipe.eventInProgress = false;
+						$document.off( touchMoveEvent, context.move );
+						context.move = null;
+				};
+
+				$document.on( touchMoveEvent, context.move )
+					.one( touchStopEvent, context.stop );
+			};
+			$this.on( touchStartEvent, context.start );
+		},
+
+		teardown: function() {
+			var events, context;
+
+			events = $.data( this, "mobile-events" );
+			if ( events ) {
+				context = events.swipe;
+				delete events.swipe;
+				events.length--;
+				if ( events.length === 0 ) {
+					$.removeData( this, "mobile-events" );
+				}
+			}
+
+			if ( context ) {
+				if ( context.start ) {
+					$( this ).off( touchStartEvent, context.start );
+				}
+				if ( context.move ) {
+					$document.off( touchMoveEvent, context.move );
+				}
+				if ( context.stop ) {
+					$document.off( touchStopEvent, context.stop );
+				}
+			}
+		}
+	};
+	$.each({
+		swipeleft: "swipe.left",
+		swiperight: "swipe.right"
+	}, function( event, sourceEvent ) {
+
+		$.event.special[ event ] = {
+			setup: function() {
+				$( this ).bind( sourceEvent, $.noop );
+			},
+			teardown: function() {
+				$( this ).unbind( sourceEvent );
+			}
+		};
+	});
+})( jQuery, this );
+*/
diff --git a/libraries/foundation-6/js/foundation.util.triggers.js b/libraries/foundation-6/js/foundation.util.triggers.js
new file mode 100755
index 00000000..c904c994
--- /dev/null
+++ b/libraries/foundation-6/js/foundation.util.triggers.js
@@ -0,0 +1,239 @@
+'use strict';
+
+!function($) {
+
+const MutationObserver = (function () {
+  var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
+  for (var i=0; i < prefixes.length; i++) {
+    if (`${prefixes[i]}MutationObserver` in window) {
+      return window[`${prefixes[i]}MutationObserver`];
+    }
+  }
+  return false;
+}());
+
+const triggers = (el, type) => {
+  el.data(type).split(' ').forEach(id => {
+    $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);
+  });
+};
+// Elements with [data-open] will reveal a plugin that supports it when clicked.
+$(document).on('click.zf.trigger', '[data-open]', function() {
+  triggers($(this), 'open');
+});
+
+// Elements with [data-close] will close a plugin that supports it when clicked.
+// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
+$(document).on('click.zf.trigger', '[data-close]', function() {
+  let id = $(this).data('close');
+  if (id) {
+    triggers($(this), 'close');
+  }
+  else {
+    $(this).trigger('close.zf.trigger');
+  }
+});
+
+// Elements with [data-toggle] will toggle a plugin that supports it when clicked.
+$(document).on('click.zf.trigger', '[data-toggle]', function() {
+  triggers($(this), 'toggle');
+});
+
+// Elements with [data-closable] will respond to close.zf.trigger events.
+$(document).on('close.zf.trigger', '[data-closable]', function(e){
+  e.stopPropagation();
+  let animation = $(this).data('closable');
+
+  if(animation !== ''){
+    Foundation.Motion.animateOut($(this), animation, function() {
+      $(this).trigger('closed.zf');
+    });
+  }else{
+    $(this).fadeOut().trigger('closed.zf');
+  }
+});
+
+$(document).on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', function() {
+  let id = $(this).data('toggle-focus');
+  $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);
+});
+
+/**
+* Fires once after all other scripts have loaded
+* @function
+* @private
+*/
+$(window).load(() => {
+  checkListeners();
+});
+
+function checkListeners() {
+  eventsListener();
+  resizeListener();
+  scrollListener();
+  closemeListener();
+}
+
+//******** only fires this function once on load, if there's something to watch ********
+function closemeListener(pluginName) {
+  var yetiBoxes = $('[data-yeti-box]'),
+      plugNames = ['dropdown', 'tooltip', 'reveal'];
+
+  if(pluginName){
+    if(typeof pluginName === 'string'){
+      plugNames.push(pluginName);
+    }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){
+      plugNames.concat(pluginName);
+    }else{
+      console.error('Plugin names must be strings');
+    }
+  }
+  if(yetiBoxes.length){
+    let listeners = plugNames.map((name) => {
+      return `closeme.zf.${name}`;
+    }).join(' ');
+
+    $(window).off(listeners).on(listeners, function(e, pluginId){
+      let plugin = e.namespace.split('.')[0];
+      let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box="${pluginId}"]`);
+
+      plugins.each(function(){
+        let _this = $(this);
+
+        _this.triggerHandler('close.zf.trigger', [_this]);
+      });
+    });
+  }
+}
+
+function resizeListener(debounce){
+  let timer,
+      $nodes = $('[data-resize]');
+  if($nodes.length){
+    $(window).off('resize.zf.trigger')
+    .on('resize.zf.trigger', function(e) {
+      if (timer) { clearTimeout(timer); }
+
+      timer = setTimeout(function(){
+
+        if(!MutationObserver){//fallback for IE 9
+          $nodes.each(function(){
+            $(this).triggerHandler('resizeme.zf.trigger');
+          });
+        }
+        //trigger all listening elements and signal a resize event
+        $nodes.attr('data-events', "resize");
+      }, debounce || 10);//default time to emit resize event
+    });
+  }
+}
+
+function scrollListener(debounce){
+  let timer,
+      $nodes = $('[data-scroll]');
+  if($nodes.length){
+    $(window).off('scroll.zf.trigger')
+    .on('scroll.zf.trigger', function(e){
+      if(timer){ clearTimeout(timer); }
+
+      timer = setTimeout(function(){
+
+        if(!MutationObserver){//fallback for IE 9
+          $nodes.each(function(){
+            $(this).triggerHandler('scrollme.zf.trigger');
+          });
+        }
+        //trigger all listening elements and signal a scroll event
+        $nodes.attr('data-events', "scroll");
+      }, debounce || 10);//default time to emit scroll event
+    });
+  }
+}
+
+function eventsListener() {
+  if(!MutationObserver){ return false; }
+  let nodes = document.querySelectorAll('[data-resize], [data-scroll], [data-mutate]');
+
+  //element callback
+  var listeningElementsMutation = function(mutationRecordsList) {
+    var $target = $(mutationRecordsList[0].target);
+    //trigger the event handler for the element depending on type
+    switch ($target.attr("data-events")) {
+
+      case "resize" :
+      $target.triggerHandler('resizeme.zf.trigger', [$target]);
+      break;
+
+      case "scroll" :
+      $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
+      break;
+
+      // case "mutate" :
+      // console.log('mutate', $target);
+      // $target.triggerHandler('mutate.zf.trigger');
+      //
+      // //make sure we don't get stuck in an infinite loop from sloppy codeing
+      // if ($target.index('[data-mutate]') == $("[data-mutate]").length-1) {
+      //   domMutationObserver();
+      // }
+      // break;
+
+      default :
+      return false;
+      //nothing
+    }
+  }
+
+  if(nodes.length){
+    //for each element that needs to listen for resizing, scrolling, (or coming soon mutation) add a single observer
+    for (var i = 0; i <= nodes.length-1; i++) {
+      let elementObserver = new MutationObserver(listeningElementsMutation);
+      elementObserver.observe(nodes[i], { attributes: true, childList: false, characterData: false, subtree:false, attributeFilter:["data-events"]});
+    }
+  }
+}
+
+// ------------------------------------
+
+// [PH]
+// Foundation.CheckWatchers = checkWatchers;
+Foundation.IHearYou = checkListeners;
+// Foundation.ISeeYou = scrollListener;
+// Foundation.IFeelYou = closemeListener;
+
+}(jQuery);
+
+// function domMutationObserver(debounce) {
+//   // !!! This is coming soon and needs more work; not active  !!! //
+//   var timer,
+//   nodes = document.querySelectorAll('[data-mutate]');
+//   //
+//   if (nodes.length) {
+//     // var MutationObserver = (function () {
+//     //   var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
+//     //   for (var i=0; i < prefixes.length; i++) {
+//     //     if (prefixes[i] + 'MutationObserver' in window) {
+//     //       return window[prefixes[i] + 'MutationObserver'];
+//     //     }
+//     //   }
+//     //   return false;
+//     // }());
+//
+//
+//     //for the body, we need to listen for all changes effecting the style and class attributes
+//     var bodyObserver = new MutationObserver(bodyMutation);
+//     bodyObserver.observe(document.body, { attributes: true, childList: true, characterData: false, subtree:true, attributeFilter:["style", "class"]});
+//
+//
+//     //body callback
+//     function bodyMutation(mutate) {
+//       //trigger all listening elements and signal a mutation event
+//       if (timer) { clearTimeout(timer); }
+//
+//       timer = setTimeout(function() {
+//         bodyObserver.disconnect();
+//         $('[data-mutate]').attr('data-events',"mutate");
+//       }, debounce || 150);
+//     }
+//   }
+// }
diff --git a/libraries/foundation-6/js/jquery.js b/libraries/foundation-6/js/jquery.js
deleted file mode 100644
index f942984f..00000000
--- a/libraries/foundation-6/js/jquery.js
+++ /dev/null
@@ -1,9842 +0,0 @@
-/*!
- * jQuery JavaScript Library v2.2.2
- * http://jquery.com/
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license
- * http://jquery.org/license
- *
- * Date: 2016-03-17T17:51Z
- */
-
-(function( global, factory ) {
-
-	if ( typeof module === "object" && typeof module.exports === "object" ) {
-		// For CommonJS and CommonJS-like environments where a proper `window`
-		// is present, execute the factory and get jQuery.
-		// For environments that do not have a `window` with a `document`
-		// (such as Node.js), expose a factory as module.exports.
-		// This accentuates the need for the creation of a real `window`.
-		// e.g. var jQuery = require("jquery")(window);
-		// See ticket #14549 for more info.
-		module.exports = global.document ?
-			factory( global, true ) :
-			function( w ) {
-				if ( !w.document ) {
-					throw new Error( "jQuery requires a window with a document" );
-				}
-				return factory( w );
-			};
-	} else {
-		factory( global );
-	}
-
-// Pass this if window is not defined yet
-}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
-
-// Support: Firefox 18+
-// Can't be in strict mode, several libs including ASP.NET trace
-// the stack via arguments.caller.callee and Firefox dies if
-// you try to trace through "use strict" call chains. (#13335)
-//"use strict";
-var arr = [];
-
-var document = window.document;
-
-var slice = arr.slice;
-
-var concat = arr.concat;
-
-var push = arr.push;
-
-var indexOf = arr.indexOf;
-
-var class2type = {};
-
-var toString = class2type.toString;
-
-var hasOwn = class2type.hasOwnProperty;
-
-var support = {};
-
-
-
-var
-	version = "2.2.2",
-
-	// Define a local copy of jQuery
-	jQuery = function( selector, context ) {
-
-		// The jQuery object is actually just the init constructor 'enhanced'
-		// Need init if jQuery is called (just allow error to be thrown if not included)
-		return new jQuery.fn.init( selector, context );
-	},
-
-	// Support: Android<4.1
-	// Make sure we trim BOM and NBSP
-	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
-
-	// Matches dashed string for camelizing
-	rmsPrefix = /^-ms-/,
-	rdashAlpha = /-([\da-z])/gi,
-
-	// Used by jQuery.camelCase as callback to replace()
-	fcamelCase = function( all, letter ) {
-		return letter.toUpperCase();
-	};
-
-jQuery.fn = jQuery.prototype = {
-
-	// The current version of jQuery being used
-	jquery: version,
-
-	constructor: jQuery,
-
-	// Start with an empty selector
-	selector: "",
-
-	// The default length of a jQuery object is 0
-	length: 0,
-
-	toArray: function() {
-		return slice.call( this );
-	},
-
-	// Get the Nth element in the matched element set OR
-	// Get the whole matched element set as a clean array
-	get: function( num ) {
-		return num != null ?
-
-			// Return just the one element from the set
-			( num < 0 ? this[ num + this.length ] : this[ num ] ) :
-
-			// Return all the elements in a clean array
-			slice.call( this );
-	},
-
-	// Take an array of elements and push it onto the stack
-	// (returning the new matched element set)
-	pushStack: function( elems ) {
-
-		// Build a new jQuery matched element set
-		var ret = jQuery.merge( this.constructor(), elems );
-
-		// Add the old object onto the stack (as a reference)
-		ret.prevObject = this;
-		ret.context = this.context;
-
-		// Return the newly-formed element set
-		return ret;
-	},
-
-	// Execute a callback for every element in the matched set.
-	each: function( callback ) {
-		return jQuery.each( this, callback );
-	},
-
-	map: function( callback ) {
-		return this.pushStack( jQuery.map( this, function( elem, i ) {
-			return callback.call( elem, i, elem );
-		} ) );
-	},
-
-	slice: function() {
-		return this.pushStack( slice.apply( this, arguments ) );
-	},
-
-	first: function() {
-		return this.eq( 0 );
-	},
-
-	last: function() {
-		return this.eq( -1 );
-	},
-
-	eq: function( i ) {
-		var len = this.length,
-			j = +i + ( i < 0 ? len : 0 );
-		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
-	},
-
-	end: function() {
-		return this.prevObject || this.constructor();
-	},
-
-	// For internal use only.
-	// Behaves like an Array's method, not like a jQuery method.
-	push: push,
-	sort: arr.sort,
-	splice: arr.splice
-};
-
-jQuery.extend = jQuery.fn.extend = function() {
-	var options, name, src, copy, copyIsArray, clone,
-		target = arguments[ 0 ] || {},
-		i = 1,
-		length = arguments.length,
-		deep = false;
-
-	// Handle a deep copy situation
-	if ( typeof target === "boolean" ) {
-		deep = target;
-
-		// Skip the boolean and the target
-		target = arguments[ i ] || {};
-		i++;
-	}
-
-	// Handle case when target is a string or something (possible in deep copy)
-	if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
-		target = {};
-	}
-
-	// Extend jQuery itself if only one argument is passed
-	if ( i === length ) {
-		target = this;
-		i--;
-	}
-
-	for ( ; i < length; i++ ) {
-
-		// Only deal with non-null/undefined values
-		if ( ( options = arguments[ i ] ) != null ) {
-
-			// Extend the base object
-			for ( name in options ) {
-				src = target[ name ];
-				copy = options[ name ];
-
-				// Prevent never-ending loop
-				if ( target === copy ) {
-					continue;
-				}
-
-				// Recurse if we're merging plain objects or arrays
-				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
-					( copyIsArray = jQuery.isArray( copy ) ) ) ) {
-
-					if ( copyIsArray ) {
-						copyIsArray = false;
-						clone = src && jQuery.isArray( src ) ? src : [];
-
-					} else {
-						clone = src && jQuery.isPlainObject( src ) ? src : {};
-					}
-
-					// Never move original objects, clone them
-					target[ name ] = jQuery.extend( deep, clone, copy );
-
-				// Don't bring in undefined values
-				} else if ( copy !== undefined ) {
-					target[ name ] = copy;
-				}
-			}
-		}
-	}
-
-	// Return the modified object
-	return target;
-};
-
-jQuery.extend( {
-
-	// Unique for each copy of jQuery on the page
-	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
-
-	// Assume jQuery is ready without the ready module
-	isReady: true,
-
-	error: function( msg ) {
-		throw new Error( msg );
-	},
-
-	noop: function() {},
-
-	isFunction: function( obj ) {
-		return jQuery.type( obj ) === "function";
-	},
-
-	isArray: Array.isArray,
-
-	isWindow: function( obj ) {
-		return obj != null && obj === obj.window;
-	},
-
-	isNumeric: function( obj ) {
-
-		// parseFloat NaNs numeric-cast false positives (null|true|false|"")
-		// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
-		// subtraction forces infinities to NaN
-		// adding 1 corrects loss of precision from parseFloat (#15100)
-		var realStringObj = obj && obj.toString();
-		return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0;
-	},
-
-	isPlainObject: function( obj ) {
-		var key;
-
-		// Not plain objects:
-		// - Any object or value whose internal [[Class]] property is not "[object Object]"
-		// - DOM nodes
-		// - window
-		if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
-			return false;
-		}
-
-		// Not own constructor property must be Object
-		if ( obj.constructor &&
-				!hasOwn.call( obj, "constructor" ) &&
-				!hasOwn.call( obj.constructor.prototype || {}, "isPrototypeOf" ) ) {
-			return false;
-		}
-
-		// Own properties are enumerated firstly, so to speed up,
-		// if last one is own, then all properties are own
-		for ( key in obj ) {}
-
-		return key === undefined || hasOwn.call( obj, key );
-	},
-
-	isEmptyObject: function( obj ) {
-		var name;
-		for ( name in obj ) {
-			return false;
-		}
-		return true;
-	},
-
-	type: function( obj ) {
-		if ( obj == null ) {
-			return obj + "";
-		}
-
-		// Support: Android<4.0, iOS<6 (functionish RegExp)
-		return typeof obj === "object" || typeof obj === "function" ?
-			class2type[ toString.call( obj ) ] || "object" :
-			typeof obj;
-	},
-
-	// Evaluates a script in a global context
-	globalEval: function( code ) {
-		var script,
-			indirect = eval;
-
-		code = jQuery.trim( code );
-
-		if ( code ) {
-
-			// If the code includes a valid, prologue position
-			// strict mode pragma, execute code by injecting a
-			// script tag into the document.
-			if ( code.indexOf( "use strict" ) === 1 ) {
-				script = document.createElement( "script" );
-				script.text = code;
-				document.head.appendChild( script ).parentNode.removeChild( script );
-			} else {
-
-				// Otherwise, avoid the DOM node creation, insertion
-				// and removal by using an indirect global eval
-
-				indirect( code );
-			}
-		}
-	},
-
-	// Convert dashed to camelCase; used by the css and data modules
-	// Support: IE9-11+
-	// Microsoft forgot to hump their vendor prefix (#9572)
-	camelCase: function( string ) {
-		return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
-	},
-
-	nodeName: function( elem, name ) {
-		return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
-	},
-
-	each: function( obj, callback ) {
-		var length, i = 0;
-
-		if ( isArrayLike( obj ) ) {
-			length = obj.length;
-			for ( ; i < length; i++ ) {
-				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
-					break;
-				}
-			}
-		} else {
-			for ( i in obj ) {
-				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
-					break;
-				}
-			}
-		}
-
-		return obj;
-	},
-
-	// Support: Android<4.1
-	trim: function( text ) {
-		return text == null ?
-			"" :
-			( text + "" ).replace( rtrim, "" );
-	},
-
-	// results is for internal usage only
-	makeArray: function( arr, results ) {
-		var ret = results || [];
-
-		if ( arr != null ) {
-			if ( isArrayLike( Object( arr ) ) ) {
-				jQuery.merge( ret,
-					typeof arr === "string" ?
-					[ arr ] : arr
-				);
-			} else {
-				push.call( ret, arr );
-			}
-		}
-
-		return ret;
-	},
-
-	inArray: function( elem, arr, i ) {
-		return arr == null ? -1 : indexOf.call( arr, elem, i );
-	},
-
-	merge: function( first, second ) {
-		var len = +second.length,
-			j = 0,
-			i = first.length;
-
-		for ( ; j < len; j++ ) {
-			first[ i++ ] = second[ j ];
-		}
-
-		first.length = i;
-
-		return first;
-	},
-
-	grep: function( elems, callback, invert ) {
-		var callbackInverse,
-			matches = [],
-			i = 0,
-			length = elems.length,
-			callbackExpect = !invert;
-
-		// Go through the array, only saving the items
-		// that pass the validator function
-		for ( ; i < length; i++ ) {
-			callbackInverse = !callback( elems[ i ], i );
-			if ( callbackInverse !== callbackExpect ) {
-				matches.push( elems[ i ] );
-			}
-		}
-
-		return matches;
-	},
-
-	// arg is for internal usage only
-	map: function( elems, callback, arg ) {
-		var length, value,
-			i = 0,
-			ret = [];
-
-		// Go through the array, translating each of the items to their new values
-		if ( isArrayLike( elems ) ) {
-			length = elems.length;
-			for ( ; i < length; i++ ) {
-				value = callback( elems[ i ], i, arg );
-
-				if ( value != null ) {
-					ret.push( value );
-				}
-			}
-
-		// Go through every key on the object,
-		} else {
-			for ( i in elems ) {
-				value = callback( elems[ i ], i, arg );
-
-				if ( value != null ) {
-					ret.push( value );
-				}
-			}
-		}
-
-		// Flatten any nested arrays
-		return concat.apply( [], ret );
-	},
-
-	// A global GUID counter for objects
-	guid: 1,
-
-	// Bind a function to a context, optionally partially applying any
-	// arguments.
-	proxy: function( fn, context ) {
-		var tmp, args, proxy;
-
-		if ( typeof context === "string" ) {
-			tmp = fn[ context ];
-			context = fn;
-			fn = tmp;
-		}
-
-		// Quick check to determine if target is callable, in the spec
-		// this throws a TypeError, but we will just return undefined.
-		if ( !jQuery.isFunction( fn ) ) {
-			return undefined;
-		}
-
-		// Simulated bind
-		args = slice.call( arguments, 2 );
-		proxy = function() {
-			return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
-		};
-
-		// Set the guid of unique handler to the same of original handler, so it can be removed
-		proxy.guid = fn.guid = fn.guid || jQuery.guid++;
-
-		return proxy;
-	},
-
-	now: Date.now,
-
-	// jQuery.support is not used in Core but other projects attach their
-	// properties to it so it needs to exist.
-	support: support
-} );
-
-// JSHint would error on this code due to the Symbol not being defined in ES5.
-// Defining this global in .jshintrc would create a danger of using the global
-// unguarded in another place, it seems safer to just disable JSHint for these
-// three lines.
-/* jshint ignore: start */
-if ( typeof Symbol === "function" ) {
-	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
-}
-/* jshint ignore: end */
-
-// Populate the class2type map
-jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
-function( i, name ) {
-	class2type[ "[object " + name + "]" ] = name.toLowerCase();
-} );
-
-function isArrayLike( obj ) {
-
-	// Support: iOS 8.2 (not reproducible in simulator)
-	// `in` check used to prevent JIT error (gh-2145)
-	// hasOwn isn't used here due to false negatives
-	// regarding Nodelist length in IE
-	var length = !!obj && "length" in obj && obj.length,
-		type = jQuery.type( obj );
-
-	if ( type === "function" || jQuery.isWindow( obj ) ) {
-		return false;
-	}
-
-	return type === "array" || length === 0 ||
-		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
-}
-var Sizzle =
-/*!
- * Sizzle CSS Selector Engine v2.2.1
- * http://sizzlejs.com/
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license
- * http://jquery.org/license
- *
- * Date: 2015-10-17
- */
-(function( window ) {
-
-var i,
-	support,
-	Expr,
-	getText,
-	isXML,
-	tokenize,
-	compile,
-	select,
-	outermostContext,
-	sortInput,
-	hasDuplicate,
-
-	// Local document vars
-	setDocument,
-	document,
-	docElem,
-	documentIsHTML,
-	rbuggyQSA,
-	rbuggyMatches,
-	matches,
-	contains,
-
-	// Instance-specific data
-	expando = "sizzle" + 1 * new Date(),
-	preferredDoc = window.document,
-	dirruns = 0,
-	done = 0,
-	classCache = createCache(),
-	tokenCache = createCache(),
-	compilerCache = createCache(),
-	sortOrder = function( a, b ) {
-		if ( a === b ) {
-			hasDuplicate = true;
-		}
-		return 0;
-	},
-
-	// General-purpose constants
-	MAX_NEGATIVE = 1 << 31,
-
-	// Instance methods
-	hasOwn = ({}).hasOwnProperty,
-	arr = [],
-	pop = arr.pop,
-	push_native = arr.push,
-	push = arr.push,
-	slice = arr.slice,
-	// Use a stripped-down indexOf as it's faster than native
-	// http://jsperf.com/thor-indexof-vs-for/5
-	indexOf = function( list, elem ) {
-		var i = 0,
-			len = list.length;
-		for ( ; i < len; i++ ) {
-			if ( list[i] === elem ) {
-				return i;
-			}
-		}
-		return -1;
-	},
-
-	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
-
-	// Regular expressions
-
-	// http://www.w3.org/TR/css3-selectors/#whitespace
-	whitespace = "[\\x20\\t\\r\\n\\f]",
-
-	// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
-	identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
-
-	// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
-	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
-		// Operator (capture 2)
-		"*([*^$|!~]?=)" + whitespace +
-		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
-		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
-		"*\\]",
-
-	pseudos = ":(" + identifier + ")(?:\\((" +
-		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
-		// 1. quoted (capture 3; capture 4 or capture 5)
-		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
-		// 2. simple (capture 6)
-		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
-		// 3. anything else (capture 2)
-		".*" +
-		")\\)|)",
-
-	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
-	rwhitespace = new RegExp( whitespace + "+", "g" ),
-	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
-
-	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
-	rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
-
-	rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
-
-	rpseudo = new RegExp( pseudos ),
-	ridentifier = new RegExp( "^" + identifier + "$" ),
-
-	matchExpr = {
-		"ID": new RegExp( "^#(" + identifier + ")" ),
-		"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
-		"TAG": new RegExp( "^(" + identifier + "|[*])" ),
-		"ATTR": new RegExp( "^" + attributes ),
-		"PSEUDO": new RegExp( "^" + pseudos ),
-		"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
-			"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
-			"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
-		"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
-		// For use in libraries implementing .is()
-		// We use this for POS matching in `select`
-		"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
-			whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
-	},
-
-	rinputs = /^(?:input|select|textarea|button)$/i,
-	rheader = /^h\d$/i,
-
-	rnative = /^[^{]+\{\s*\[native \w/,
-
-	// Easily-parseable/retrievable ID or TAG or CLASS selectors
-	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
-
-	rsibling = /[+~]/,
-	rescape = /'|\\/g,
-
-	// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
-	runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
-	funescape = function( _, escaped, escapedWhitespace ) {
-		var high = "0x" + escaped - 0x10000;
-		// NaN means non-codepoint
-		// Support: Firefox<24
-		// Workaround erroneous numeric interpretation of +"0x"
-		return high !== high || escapedWhitespace ?
-			escaped :
-			high < 0 ?
-				// BMP codepoint
-				String.fromCharCode( high + 0x10000 ) :
-				// Supplemental Plane codepoint (surrogate pair)
-				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
-	},
-
-	// Used for iframes
-	// See setDocument()
-	// Removing the function wrapper causes a "Permission Denied"
-	// error in IE
-	unloadHandler = function() {
-		setDocument();
-	};
-
-// Optimize for push.apply( _, NodeList )
-try {
-	push.apply(
-		(arr = slice.call( preferredDoc.childNodes )),
-		preferredDoc.childNodes
-	);
-	// Support: Android<4.0
-	// Detect silently failing push.apply
-	arr[ preferredDoc.childNodes.length ].nodeType;
-} catch ( e ) {
-	push = { apply: arr.length ?
-
-		// Leverage slice if possible
-		function( target, els ) {
-			push_native.apply( target, slice.call(els) );
-		} :
-
-		// Support: IE<9
-		// Otherwise append directly
-		function( target, els ) {
-			var j = target.length,
-				i = 0;
-			// Can't trust NodeList.length
-			while ( (target[j++] = els[i++]) ) {}
-			target.length = j - 1;
-		}
-	};
-}
-
-function Sizzle( selector, context, results, seed ) {
-	var m, i, elem, nid, nidselect, match, groups, newSelector,
-		newContext = context && context.ownerDocument,
-
-		// nodeType defaults to 9, since context defaults to document
-		nodeType = context ? context.nodeType : 9;
-
-	results = results || [];
-
-	// Return early from calls with invalid selector or context
-	if ( typeof selector !== "string" || !selector ||
-		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
-
-		return results;
-	}
-
-	// Try to shortcut find operations (as opposed to filters) in HTML documents
-	if ( !seed ) {
-
-		if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
-			setDocument( context );
-		}
-		context = context || document;
-
-		if ( documentIsHTML ) {
-
-			// If the selector is sufficiently simple, try using a "get*By*" DOM method
-			// (excepting DocumentFragment context, where the methods don't exist)
-			if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
-
-				// ID selector
-				if ( (m = match[1]) ) {
-
-					// Document context
-					if ( nodeType === 9 ) {
-						if ( (elem = context.getElementById( m )) ) {
-
-							// Support: IE, Opera, Webkit
-							// TODO: identify versions
-							// getElementById can match elements by name instead of ID
-							if ( elem.id === m ) {
-								results.push( elem );
-								return results;
-							}
-						} else {
-							return results;
-						}
-
-					// Element context
-					} else {
-
-						// Support: IE, Opera, Webkit
-						// TODO: identify versions
-						// getElementById can match elements by name instead of ID
-						if ( newContext && (elem = newContext.getElementById( m )) &&
-							contains( context, elem ) &&
-							elem.id === m ) {
-
-							results.push( elem );
-							return results;
-						}
-					}
-
-				// Type selector
-				} else if ( match[2] ) {
-					push.apply( results, context.getElementsByTagName( selector ) );
-					return results;
-
-				// Class selector
-				} else if ( (m = match[3]) && support.getElementsByClassName &&
-					context.getElementsByClassName ) {
-
-					push.apply( results, context.getElementsByClassName( m ) );
-					return results;
-				}
-			}
-
-			// Take advantage of querySelectorAll
-			if ( support.qsa &&
-				!compilerCache[ selector + " " ] &&
-				(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
-
-				if ( nodeType !== 1 ) {
-					newContext = context;
-					newSelector = selector;
-
-				// qSA looks outside Element context, which is not what we want
-				// Thanks to Andrew Dupont for this workaround technique
-				// Support: IE <=8
-				// Exclude object elements
-				} else if ( context.nodeName.toLowerCase() !== "object" ) {
-
-					// Capture the context ID, setting it first if necessary
-					if ( (nid = context.getAttribute( "id" )) ) {
-						nid = nid.replace( rescape, "\\$&" );
-					} else {
-						context.setAttribute( "id", (nid = expando) );
-					}
-
-					// Prefix every selector in the list
-					groups = tokenize( selector );
-					i = groups.length;
-					nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']";
-					while ( i-- ) {
-						groups[i] = nidselect + " " + toSelector( groups[i] );
-					}
-					newSelector = groups.join( "," );
-
-					// Expand context for sibling selectors
-					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
-						context;
-				}
-
-				if ( newSelector ) {
-					try {
-						push.apply( results,
-							newContext.querySelectorAll( newSelector )
-						);
-						return results;
-					} catch ( qsaError ) {
-					} finally {
-						if ( nid === expando ) {
-							context.removeAttribute( "id" );
-						}
-					}
-				}
-			}
-		}
-	}
-
-	// All others
-	return select( selector.replace( rtrim, "$1" ), context, results, seed );
-}
-
-/**
- * Create key-value caches of limited size
- * @returns {function(string, object)} Returns the Object data after storing it on itself with
- *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
- *	deleting the oldest entry
- */
-function createCache() {
-	var keys = [];
-
-	function cache( key, value ) {
-		// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
-		if ( keys.push( key + " " ) > Expr.cacheLength ) {
-			// Only keep the most recent entries
-			delete cache[ keys.shift() ];
-		}
-		return (cache[ key + " " ] = value);
-	}
-	return cache;
-}
-
-/**
- * Mark a function for special use by Sizzle
- * @param {Function} fn The function to mark
- */
-function markFunction( fn ) {
-	fn[ expando ] = true;
-	return fn;
-}
-
-/**
- * Support testing using an element
- * @param {Function} fn Passed the created div and expects a boolean result
- */
-function assert( fn ) {
-	var div = document.createElement("div");
-
-	try {
-		return !!fn( div );
-	} catch (e) {
-		return false;
-	} finally {
-		// Remove from its parent by default
-		if ( div.parentNode ) {
-			div.parentNode.removeChild( div );
-		}
-		// release memory in IE
-		div = null;
-	}
-}
-
-/**
- * Adds the same handler for all of the specified attrs
- * @param {String} attrs Pipe-separated list of attributes
- * @param {Function} handler The method that will be applied
- */
-function addHandle( attrs, handler ) {
-	var arr = attrs.split("|"),
-		i = arr.length;
-
-	while ( i-- ) {
-		Expr.attrHandle[ arr[i] ] = handler;
-	}
-}
-
-/**
- * Checks document order of two siblings
- * @param {Element} a
- * @param {Element} b
- * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
- */
-function siblingCheck( a, b ) {
-	var cur = b && a,
-		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
-			( ~b.sourceIndex || MAX_NEGATIVE ) -
-			( ~a.sourceIndex || MAX_NEGATIVE );
-
-	// Use IE sourceIndex if available on both nodes
-	if ( diff ) {
-		return diff;
-	}
-
-	// Check if b follows a
-	if ( cur ) {
-		while ( (cur = cur.nextSibling) ) {
-			if ( cur === b ) {
-				return -1;
-			}
-		}
-	}
-
-	return a ? 1 : -1;
-}
-
-/**
- * Returns a function to use in pseudos for input types
- * @param {String} type
- */
-function createInputPseudo( type ) {
-	return function( elem ) {
-		var name = elem.nodeName.toLowerCase();
-		return name === "input" && elem.type === type;
-	};
-}
-
-/**
- * Returns a function to use in pseudos for buttons
- * @param {String} type
- */
-function createButtonPseudo( type ) {
-	return function( elem ) {
-		var name = elem.nodeName.toLowerCase();
-		return (name === "input" || name === "button") && elem.type === type;
-	};
-}
-
-/**
- * Returns a function to use in pseudos for positionals
- * @param {Function} fn
- */
-function createPositionalPseudo( fn ) {
-	return markFunction(function( argument ) {
-		argument = +argument;
-		return markFunction(function( seed, matches ) {
-			var j,
-				matchIndexes = fn( [], seed.length, argument ),
-				i = matchIndexes.length;
-
-			// Match elements found at the specified indexes
-			while ( i-- ) {
-				if ( seed[ (j = matchIndexes[i]) ] ) {
-					seed[j] = !(matches[j] = seed[j]);
-				}
-			}
-		});
-	});
-}
-
-/**
- * Checks a node for validity as a Sizzle context
- * @param {Element|Object=} context
- * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
- */
-function testContext( context ) {
-	return context && typeof context.getElementsByTagName !== "undefined" && context;
-}
-
-// Expose support vars for convenience
-support = Sizzle.support = {};
-
-/**
- * Detects XML nodes
- * @param {Element|Object} elem An element or a document
- * @returns {Boolean} True iff elem is a non-HTML XML node
- */
-isXML = Sizzle.isXML = function( elem ) {
-	// documentElement is verified for cases where it doesn't yet exist
-	// (such as loading iframes in IE - #4833)
-	var documentElement = elem && (elem.ownerDocument || elem).documentElement;
-	return documentElement ? documentElement.nodeName !== "HTML" : false;
-};
-
-/**
- * Sets document-related variables once based on the current document
- * @param {Element|Object} [doc] An element or document object to use to set the document
- * @returns {Object} Returns the current document
- */
-setDocument = Sizzle.setDocument = function( node ) {
-	var hasCompare, parent,
-		doc = node ? node.ownerDocument || node : preferredDoc;
-
-	// Return early if doc is invalid or already selected
-	if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
-		return document;
-	}
-
-	// Update global variables
-	document = doc;
-	docElem = document.documentElement;
-	documentIsHTML = !isXML( document );
-
-	// Support: IE 9-11, Edge
-	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
-	if ( (parent = document.defaultView) && parent.top !== parent ) {
-		// Support: IE 11
-		if ( parent.addEventListener ) {
-			parent.addEventListener( "unload", unloadHandler, false );
-
-		// Support: IE 9 - 10 only
-		} else if ( parent.attachEvent ) {
-			parent.attachEvent( "onunload", unloadHandler );
-		}
-	}
-
-	/* Attributes
-	---------------------------------------------------------------------- */
-
-	// Support: IE<8
-	// Verify that getAttribute really returns attributes and not properties
-	// (excepting IE8 booleans)
-	support.attributes = assert(function( div ) {
-		div.className = "i";
-		return !div.getAttribute("className");
-	});
-
-	/* getElement(s)By*
-	---------------------------------------------------------------------- */
-
-	// Check if getElementsByTagName("*") returns only elements
-	support.getElementsByTagName = assert(function( div ) {
-		div.appendChild( document.createComment("") );
-		return !div.getElementsByTagName("*").length;
-	});
-
-	// Support: IE<9
-	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
-
-	// Support: IE<10
-	// Check if getElementById returns elements by name
-	// The broken getElementById methods don't pick up programatically-set names,
-	// so use a roundabout getElementsByName test
-	support.getById = assert(function( div ) {
-		docElem.appendChild( div ).id = expando;
-		return !document.getElementsByName || !document.getElementsByName( expando ).length;
-	});
-
-	// ID find and filter
-	if ( support.getById ) {
-		Expr.find["ID"] = function( id, context ) {
-			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
-				var m = context.getElementById( id );
-				return m ? [ m ] : [];
-			}
-		};
-		Expr.filter["ID"] = function( id ) {
-			var attrId = id.replace( runescape, funescape );
-			return function( elem ) {
-				return elem.getAttribute("id") === attrId;
-			};
-		};
-	} else {
-		// Support: IE6/7
-		// getElementById is not reliable as a find shortcut
-		delete Expr.find["ID"];
-
-		Expr.filter["ID"] =  function( id ) {
-			var attrId = id.replace( runescape, funescape );
-			return function( elem ) {
-				var node = typeof elem.getAttributeNode !== "undefined" &&
-					elem.getAttributeNode("id");
-				return node && node.value === attrId;
-			};
-		};
-	}
-
-	// Tag
-	Expr.find["TAG"] = support.getElementsByTagName ?
-		function( tag, context ) {
-			if ( typeof context.getElementsByTagName !== "undefined" ) {
-				return context.getElementsByTagName( tag );
-
-			// DocumentFragment nodes don't have gEBTN
-			} else if ( support.qsa ) {
-				return context.querySelectorAll( tag );
-			}
-		} :
-
-		function( tag, context ) {
-			var elem,
-				tmp = [],
-				i = 0,
-				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
-				results = context.getElementsByTagName( tag );
-
-			// Filter out possible comments
-			if ( tag === "*" ) {
-				while ( (elem = results[i++]) ) {
-					if ( elem.nodeType === 1 ) {
-						tmp.push( elem );
-					}
-				}
-
-				return tmp;
-			}
-			return results;
-		};
-
-	// Class
-	Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
-		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
-			return context.getElementsByClassName( className );
-		}
-	};
-
-	/* QSA/matchesSelector
-	---------------------------------------------------------------------- */
-
-	// QSA and matchesSelector support
-
-	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
-	rbuggyMatches = [];
-
-	// qSa(:focus) reports false when true (Chrome 21)
-	// We allow this because of a bug in IE8/9 that throws an error
-	// whenever `document.activeElement` is accessed on an iframe
-	// So, we allow :focus to pass through QSA all the time to avoid the IE error
-	// See http://bugs.jquery.com/ticket/13378
-	rbuggyQSA = [];
-
-	if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
-		// Build QSA regex
-		// Regex strategy adopted from Diego Perini
-		assert(function( div ) {
-			// Select is set to empty string on purpose
-			// This is to test IE's treatment of not explicitly
-			// setting a boolean content attribute,
-			// since its presence should be enough
-			// http://bugs.jquery.com/ticket/12359
-			docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" +
-				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
-				"<option selected=''></option></select>";
-
-			// Support: IE8, Opera 11-12.16
-			// Nothing should be selected when empty strings follow ^= or $= or *=
-			// The test attribute must be unknown in Opera but "safe" for WinRT
-			// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
-			if ( div.querySelectorAll("[msallowcapture^='']").length ) {
-				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
-			}
-
-			// Support: IE8
-			// Boolean attributes and "value" are not treated correctly
-			if ( !div.querySelectorAll("[selected]").length ) {
-				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
-			}
-
-			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
-			if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
-				rbuggyQSA.push("~=");
-			}
-
-			// Webkit/Opera - :checked should return selected option elements
-			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
-			// IE8 throws error here and will not see later tests
-			if ( !div.querySelectorAll(":checked").length ) {
-				rbuggyQSA.push(":checked");
-			}
-
-			// Support: Safari 8+, iOS 8+
-			// https://bugs.webkit.org/show_bug.cgi?id=136851
-			// In-page `selector#id sibing-combinator selector` fails
-			if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) {
-				rbuggyQSA.push(".#.+[+~]");
-			}
-		});
-
-		assert(function( div ) {
-			// Support: Windows 8 Native Apps
-			// The type and name attributes are restricted during .innerHTML assignment
-			var input = document.createElement("input");
-			input.setAttribute( "type", "hidden" );
-			div.appendChild( input ).setAttribute( "name", "D" );
-
-			// Support: IE8
-			// Enforce case-sensitivity of name attribute
-			if ( div.querySelectorAll("[name=d]").length ) {
-				rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
-			}
-
-			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
-			// IE8 throws error here and will not see later tests
-			if ( !div.querySelectorAll(":enabled").length ) {
-				rbuggyQSA.push( ":enabled", ":disabled" );
-			}
-
-			// Opera 10-11 does not throw on post-comma invalid pseudos
-			div.querySelectorAll("*,:x");
-			rbuggyQSA.push(",.*:");
-		});
-	}
-
-	if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
-		docElem.webkitMatchesSelector ||
-		docElem.mozMatchesSelector ||
-		docElem.oMatchesSelector ||
-		docElem.msMatchesSelector) )) ) {
-
-		assert(function( div ) {
-			// Check to see if it's possible to do matchesSelector
-			// on a disconnected node (IE 9)
-			support.disconnectedMatch = matches.call( div, "div" );
-
-			// This should fail with an exception
-			// Gecko does not error, returns false instead
-			matches.call( div, "[s!='']:x" );
-			rbuggyMatches.push( "!=", pseudos );
-		});
-	}
-
-	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
-	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
-
-	/* Contains
-	---------------------------------------------------------------------- */
-	hasCompare = rnative.test( docElem.compareDocumentPosition );
-
-	// Element contains another
-	// Purposefully self-exclusive
-	// As in, an element does not contain itself
-	contains = hasCompare || rnative.test( docElem.contains ) ?
-		function( a, b ) {
-			var adown = a.nodeType === 9 ? a.documentElement : a,
-				bup = b && b.parentNode;
-			return a === bup || !!( bup && bup.nodeType === 1 && (
-				adown.contains ?
-					adown.contains( bup ) :
-					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
-			));
-		} :
-		function( a, b ) {
-			if ( b ) {
-				while ( (b = b.parentNode) ) {
-					if ( b === a ) {
-						return true;
-					}
-				}
-			}
-			return false;
-		};
-
-	/* Sorting
-	---------------------------------------------------------------------- */
-
-	// Document order sorting
-	sortOrder = hasCompare ?
-	function( a, b ) {
-
-		// Flag for duplicate removal
-		if ( a === b ) {
-			hasDuplicate = true;
-			return 0;
-		}
-
-		// Sort on method existence if only one input has compareDocumentPosition
-		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
-		if ( compare ) {
-			return compare;
-		}
-
-		// Calculate position if both inputs belong to the same document
-		compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
-			a.compareDocumentPosition( b ) :
-
-			// Otherwise we know they are disconnected
-			1;
-
-		// Disconnected nodes
-		if ( compare & 1 ||
-			(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
-
-			// Choose the first element that is related to our preferred document
-			if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
-				return -1;
-			}
-			if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
-				return 1;
-			}
-
-			// Maintain original order
-			return sortInput ?
-				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
-				0;
-		}
-
-		return compare & 4 ? -1 : 1;
-	} :
-	function( a, b ) {
-		// Exit early if the nodes are identical
-		if ( a === b ) {
-			hasDuplicate = true;
-			return 0;
-		}
-
-		var cur,
-			i = 0,
-			aup = a.parentNode,
-			bup = b.parentNode,
-			ap = [ a ],
-			bp = [ b ];
-
-		// Parentless nodes are either documents or disconnected
-		if ( !aup || !bup ) {
-			return a === document ? -1 :
-				b === document ? 1 :
-				aup ? -1 :
-				bup ? 1 :
-				sortInput ?
-				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
-				0;
-
-		// If the nodes are siblings, we can do a quick check
-		} else if ( aup === bup ) {
-			return siblingCheck( a, b );
-		}
-
-		// Otherwise we need full lists of their ancestors for comparison
-		cur = a;
-		while ( (cur = cur.parentNode) ) {
-			ap.unshift( cur );
-		}
-		cur = b;
-		while ( (cur = cur.parentNode) ) {
-			bp.unshift( cur );
-		}
-
-		// Walk down the tree looking for a discrepancy
-		while ( ap[i] === bp[i] ) {
-			i++;
-		}
-
-		return i ?
-			// Do a sibling check if the nodes have a common ancestor
-			siblingCheck( ap[i], bp[i] ) :
-
-			// Otherwise nodes in our document sort first
-			ap[i] === preferredDoc ? -1 :
-			bp[i] === preferredDoc ? 1 :
-			0;
-	};
-
-	return document;
-};
-
-Sizzle.matches = function( expr, elements ) {
-	return Sizzle( expr, null, null, elements );
-};
-
-Sizzle.matchesSelector = function( elem, expr ) {
-	// Set document vars if needed
-	if ( ( elem.ownerDocument || elem ) !== document ) {
-		setDocument( elem );
-	}
-
-	// Make sure that attribute selectors are quoted
-	expr = expr.replace( rattributeQuotes, "='$1']" );
-
-	if ( support.matchesSelector && documentIsHTML &&
-		!compilerCache[ expr + " " ] &&
-		( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
-		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
-
-		try {
-			var ret = matches.call( elem, expr );
-
-			// IE 9's matchesSelector returns false on disconnected nodes
-			if ( ret || support.disconnectedMatch ||
-					// As well, disconnected nodes are said to be in a document
-					// fragment in IE 9
-					elem.document && elem.document.nodeType !== 11 ) {
-				return ret;
-			}
-		} catch (e) {}
-	}
-
-	return Sizzle( expr, document, null, [ elem ] ).length > 0;
-};
-
-Sizzle.contains = function( context, elem ) {
-	// Set document vars if needed
-	if ( ( context.ownerDocument || context ) !== document ) {
-		setDocument( context );
-	}
-	return contains( context, elem );
-};
-
-Sizzle.attr = function( elem, name ) {
-	// Set document vars if needed
-	if ( ( elem.ownerDocument || elem ) !== document ) {
-		setDocument( elem );
-	}
-
-	var fn = Expr.attrHandle[ name.toLowerCase() ],
-		// Don't get fooled by Object.prototype properties (jQuery #13807)
-		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
-			fn( elem, name, !documentIsHTML ) :
-			undefined;
-
-	return val !== undefined ?
-		val :
-		support.attributes || !documentIsHTML ?
-			elem.getAttribute( name ) :
-			(val = elem.getAttributeNode(name)) && val.specified ?
-				val.value :
-				null;
-};
-
-Sizzle.error = function( msg ) {
-	throw new Error( "Syntax error, unrecognized expression: " + msg );
-};
-
-/**
- * Document sorting and removing duplicates
- * @param {ArrayLike} results
- */
-Sizzle.uniqueSort = function( results ) {
-	var elem,
-		duplicates = [],
-		j = 0,
-		i = 0;
-
-	// Unless we *know* we can detect duplicates, assume their presence
-	hasDuplicate = !support.detectDuplicates;
-	sortInput = !support.sortStable && results.slice( 0 );
-	results.sort( sortOrder );
-
-	if ( hasDuplicate ) {
-		while ( (elem = results[i++]) ) {
-			if ( elem === results[ i ] ) {
-				j = duplicates.push( i );
-			}
-		}
-		while ( j-- ) {
-			results.splice( duplicates[ j ], 1 );
-		}
-	}
-
-	// Clear input after sorting to release objects
-	// See https://github.com/jquery/sizzle/pull/225
-	sortInput = null;
-
-	return results;
-};
-
-/**
- * Utility function for retrieving the text value of an array of DOM nodes
- * @param {Array|Element} elem
- */
-getText = Sizzle.getText = function( elem ) {
-	var node,
-		ret = "",
-		i = 0,
-		nodeType = elem.nodeType;
-
-	if ( !nodeType ) {
-		// If no nodeType, this is expected to be an array
-		while ( (node = elem[i++]) ) {
-			// Do not traverse comment nodes
-			ret += getText( node );
-		}
-	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
-		// Use textContent for elements
-		// innerText usage removed for consistency of new lines (jQuery #11153)
-		if ( typeof elem.textContent === "string" ) {
-			return elem.textContent;
-		} else {
-			// Traverse its children
-			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
-				ret += getText( elem );
-			}
-		}
-	} else if ( nodeType === 3 || nodeType === 4 ) {
-		return elem.nodeValue;
-	}
-	// Do not include comment or processing instruction nodes
-
-	return ret;
-};
-
-Expr = Sizzle.selectors = {
-
-	// Can be adjusted by the user
-	cacheLength: 50,
-
-	createPseudo: markFunction,
-
-	match: matchExpr,
-
-	attrHandle: {},
-
-	find: {},
-
-	relative: {
-		">": { dir: "parentNode", first: true },
-		" ": { dir: "parentNode" },
-		"+": { dir: "previousSibling", first: true },
-		"~": { dir: "previousSibling" }
-	},
-
-	preFilter: {
-		"ATTR": function( match ) {
-			match[1] = match[1].replace( runescape, funescape );
-
-			// Move the given value to match[3] whether quoted or unquoted
-			match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
-
-			if ( match[2] === "~=" ) {
-				match[3] = " " + match[3] + " ";
-			}
-
-			return match.slice( 0, 4 );
-		},
-
-		"CHILD": function( match ) {
-			/* matches from matchExpr["CHILD"]
-				1 type (only|nth|...)
-				2 what (child|of-type)
-				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
-				4 xn-component of xn+y argument ([+-]?\d*n|)
-				5 sign of xn-component
-				6 x of xn-component
-				7 sign of y-component
-				8 y of y-component
-			*/
-			match[1] = match[1].toLowerCase();
-
-			if ( match[1].slice( 0, 3 ) === "nth" ) {
-				// nth-* requires argument
-				if ( !match[3] ) {
-					Sizzle.error( match[0] );
-				}
-
-				// numeric x and y parameters for Expr.filter.CHILD
-				// remember that false/true cast respectively to 0/1
-				match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
-				match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
-
-			// other types prohibit arguments
-			} else if ( match[3] ) {
-				Sizzle.error( match[0] );
-			}
-
-			return match;
-		},
-
-		"PSEUDO": function( match ) {
-			var excess,
-				unquoted = !match[6] && match[2];
-
-			if ( matchExpr["CHILD"].test( match[0] ) ) {
-				return null;
-			}
-
-			// Accept quoted arguments as-is
-			if ( match[3] ) {
-				match[2] = match[4] || match[5] || "";
-
-			// Strip excess characters from unquoted arguments
-			} else if ( unquoted && rpseudo.test( unquoted ) &&
-				// Get excess from tokenize (recursively)
-				(excess = tokenize( unquoted, true )) &&
-				// advance to the next closing parenthesis
-				(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
-
-				// excess is a negative index
-				match[0] = match[0].slice( 0, excess );
-				match[2] = unquoted.slice( 0, excess );
-			}
-
-			// Return only captures needed by the pseudo filter method (type and argument)
-			return match.slice( 0, 3 );
-		}
-	},
-
-	filter: {
-
-		"TAG": function( nodeNameSelector ) {
-			var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
-			return nodeNameSelector === "*" ?
-				function() { return true; } :
-				function( elem ) {
-					return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
-				};
-		},
-
-		"CLASS": function( className ) {
-			var pattern = classCache[ className + " " ];
-
-			return pattern ||
-				(pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
-				classCache( className, function( elem ) {
-					return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
-				});
-		},
-
-		"ATTR": function( name, operator, check ) {
-			return function( elem ) {
-				var result = Sizzle.attr( elem, name );
-
-				if ( result == null ) {
-					return operator === "!=";
-				}
-				if ( !operator ) {
-					return true;
-				}
-
-				result += "";
-
-				return operator === "=" ? result === check :
-					operator === "!=" ? result !== check :
-					operator === "^=" ? check && result.indexOf( check ) === 0 :
-					operator === "*=" ? check && result.indexOf( check ) > -1 :
-					operator === "$=" ? check && result.slice( -check.length ) === check :
-					operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
-					operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
-					false;
-			};
-		},
-
-		"CHILD": function( type, what, argument, first, last ) {
-			var simple = type.slice( 0, 3 ) !== "nth",
-				forward = type.slice( -4 ) !== "last",
-				ofType = what === "of-type";
-
-			return first === 1 && last === 0 ?
-
-				// Shortcut for :nth-*(n)
-				function( elem ) {
-					return !!elem.parentNode;
-				} :
-
-				function( elem, context, xml ) {
-					var cache, uniqueCache, outerCache, node, nodeIndex, start,
-						dir = simple !== forward ? "nextSibling" : "previousSibling",
-						parent = elem.parentNode,
-						name = ofType && elem.nodeName.toLowerCase(),
-						useCache = !xml && !ofType,
-						diff = false;
-
-					if ( parent ) {
-
-						// :(first|last|only)-(child|of-type)
-						if ( simple ) {
-							while ( dir ) {
-								node = elem;
-								while ( (node = node[ dir ]) ) {
-									if ( ofType ?
-										node.nodeName.toLowerCase() === name :
-										node.nodeType === 1 ) {
-
-										return false;
-									}
-								}
-								// Reverse direction for :only-* (if we haven't yet done so)
-								start = dir = type === "only" && !start && "nextSibling";
-							}
-							return true;
-						}
-
-						start = [ forward ? parent.firstChild : parent.lastChild ];
-
-						// non-xml :nth-child(...) stores cache data on `parent`
-						if ( forward && useCache ) {
-
-							// Seek `elem` from a previously-cached index
-
-							// ...in a gzip-friendly way
-							node = parent;
-							outerCache = node[ expando ] || (node[ expando ] = {});
-
-							// Support: IE <9 only
-							// Defend against cloned attroperties (jQuery gh-1709)
-							uniqueCache = outerCache[ node.uniqueID ] ||
-								(outerCache[ node.uniqueID ] = {});
-
-							cache = uniqueCache[ type ] || [];
-							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
-							diff = nodeIndex && cache[ 2 ];
-							node = nodeIndex && parent.childNodes[ nodeIndex ];
-
-							while ( (node = ++nodeIndex && node && node[ dir ] ||
-
-								// Fallback to seeking `elem` from the start
-								(diff = nodeIndex = 0) || start.pop()) ) {
-
-								// When found, cache indexes on `parent` and break
-								if ( node.nodeType === 1 && ++diff && node === elem ) {
-									uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
-									break;
-								}
-							}
-
-						} else {
-							// Use previously-cached element index if available
-							if ( useCache ) {
-								// ...in a gzip-friendly way
-								node = elem;
-								outerCache = node[ expando ] || (node[ expando ] = {});
-
-								// Support: IE <9 only
-								// Defend against cloned attroperties (jQuery gh-1709)
-								uniqueCache = outerCache[ node.uniqueID ] ||
-									(outerCache[ node.uniqueID ] = {});
-
-								cache = uniqueCache[ type ] || [];
-								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
-								diff = nodeIndex;
-							}
-
-							// xml :nth-child(...)
-							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
-							if ( diff === false ) {
-								// Use the same loop as above to seek `elem` from the start
-								while ( (node = ++nodeIndex && node && node[ dir ] ||
-									(diff = nodeIndex = 0) || start.pop()) ) {
-
-									if ( ( ofType ?
-										node.nodeName.toLowerCase() === name :
-										node.nodeType === 1 ) &&
-										++diff ) {
-
-										// Cache the index of each encountered element
-										if ( useCache ) {
-											outerCache = node[ expando ] || (node[ expando ] = {});
-
-											// Support: IE <9 only
-											// Defend against cloned attroperties (jQuery gh-1709)
-											uniqueCache = outerCache[ node.uniqueID ] ||
-												(outerCache[ node.uniqueID ] = {});
-
-											uniqueCache[ type ] = [ dirruns, diff ];
-										}
-
-										if ( node === elem ) {
-											break;
-										}
-									}
-								}
-							}
-						}
-
-						// Incorporate the offset, then check against cycle size
-						diff -= last;
-						return diff === first || ( diff % first === 0 && diff / first >= 0 );
-					}
-				};
-		},
-
-		"PSEUDO": function( pseudo, argument ) {
-			// pseudo-class names are case-insensitive
-			// http://www.w3.org/TR/selectors/#pseudo-classes
-			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
-			// Remember that setFilters inherits from pseudos
-			var args,
-				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
-					Sizzle.error( "unsupported pseudo: " + pseudo );
-
-			// The user may use createPseudo to indicate that
-			// arguments are needed to create the filter function
-			// just as Sizzle does
-			if ( fn[ expando ] ) {
-				return fn( argument );
-			}
-
-			// But maintain support for old signatures
-			if ( fn.length > 1 ) {
-				args = [ pseudo, pseudo, "", argument ];
-				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
-					markFunction(function( seed, matches ) {
-						var idx,
-							matched = fn( seed, argument ),
-							i = matched.length;
-						while ( i-- ) {
-							idx = indexOf( seed, matched[i] );
-							seed[ idx ] = !( matches[ idx ] = matched[i] );
-						}
-					}) :
-					function( elem ) {
-						return fn( elem, 0, args );
-					};
-			}
-
-			return fn;
-		}
-	},
-
-	pseudos: {
-		// Potentially complex pseudos
-		"not": markFunction(function( selector ) {
-			// Trim the selector passed to compile
-			// to avoid treating leading and trailing
-			// spaces as combinators
-			var input = [],
-				results = [],
-				matcher = compile( selector.replace( rtrim, "$1" ) );
-
-			return matcher[ expando ] ?
-				markFunction(function( seed, matches, context, xml ) {
-					var elem,
-						unmatched = matcher( seed, null, xml, [] ),
-						i = seed.length;
-
-					// Match elements unmatched by `matcher`
-					while ( i-- ) {
-						if ( (elem = unmatched[i]) ) {
-							seed[i] = !(matches[i] = elem);
-						}
-					}
-				}) :
-				function( elem, context, xml ) {
-					input[0] = elem;
-					matcher( input, null, xml, results );
-					// Don't keep the element (issue #299)
-					input[0] = null;
-					return !results.pop();
-				};
-		}),
-
-		"has": markFunction(function( selector ) {
-			return function( elem ) {
-				return Sizzle( selector, elem ).length > 0;
-			};
-		}),
-
-		"contains": markFunction(function( text ) {
-			text = text.replace( runescape, funescape );
-			return function( elem ) {
-				return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
-			};
-		}),
-
-		// "Whether an element is represented by a :lang() selector
-		// is based solely on the element's language value
-		// being equal to the identifier C,
-		// or beginning with the identifier C immediately followed by "-".
-		// The matching of C against the element's language value is performed case-insensitively.
-		// The identifier C does not have to be a valid language name."
-		// http://www.w3.org/TR/selectors/#lang-pseudo
-		"lang": markFunction( function( lang ) {
-			// lang value must be a valid identifier
-			if ( !ridentifier.test(lang || "") ) {
-				Sizzle.error( "unsupported lang: " + lang );
-			}
-			lang = lang.replace( runescape, funescape ).toLowerCase();
-			return function( elem ) {
-				var elemLang;
-				do {
-					if ( (elemLang = documentIsHTML ?
-						elem.lang :
-						elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
-
-						elemLang = elemLang.toLowerCase();
-						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
-					}
-				} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
-				return false;
-			};
-		}),
-
-		// Miscellaneous
-		"target": function( elem ) {
-			var hash = window.location && window.location.hash;
-			return hash && hash.slice( 1 ) === elem.id;
-		},
-
-		"root": function( elem ) {
-			return elem === docElem;
-		},
-
-		"focus": function( elem ) {
-			return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
-		},
-
-		// Boolean properties
-		"enabled": function( elem ) {
-			return elem.disabled === false;
-		},
-
-		"disabled": function( elem ) {
-			return elem.disabled === true;
-		},
-
-		"checked": function( elem ) {
-			// In CSS3, :checked should return both checked and selected elements
-			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
-			var nodeName = elem.nodeName.toLowerCase();
-			return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
-		},
-
-		"selected": function( elem ) {
-			// Accessing this property makes selected-by-default
-			// options in Safari work properly
-			if ( elem.parentNode ) {
-				elem.parentNode.selectedIndex;
-			}
-
-			return elem.selected === true;
-		},
-
-		// Contents
-		"empty": function( elem ) {
-			// http://www.w3.org/TR/selectors/#empty-pseudo
-			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
-			//   but not by others (comment: 8; processing instruction: 7; etc.)
-			// nodeType < 6 works because attributes (2) do not appear as children
-			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
-				if ( elem.nodeType < 6 ) {
-					return false;
-				}
-			}
-			return true;
-		},
-
-		"parent": function( elem ) {
-			return !Expr.pseudos["empty"]( elem );
-		},
-
-		// Element/input types
-		"header": function( elem ) {
-			return rheader.test( elem.nodeName );
-		},
-
-		"input": function( elem ) {
-			return rinputs.test( elem.nodeName );
-		},
-
-		"button": function( elem ) {
-			var name = elem.nodeName.toLowerCase();
-			return name === "input" && elem.type === "button" || name === "button";
-		},
-
-		"text": function( elem ) {
-			var attr;
-			return elem.nodeName.toLowerCase() === "input" &&
-				elem.type === "text" &&
-
-				// Support: IE<8
-				// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
-				( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
-		},
-
-		// Position-in-collection
-		"first": createPositionalPseudo(function() {
-			return [ 0 ];
-		}),
-
-		"last": createPositionalPseudo(function( matchIndexes, length ) {
-			return [ length - 1 ];
-		}),
-
-		"eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
-			return [ argument < 0 ? argument + length : argument ];
-		}),
-
-		"even": createPositionalPseudo(function( matchIndexes, length ) {
-			var i = 0;
-			for ( ; i < length; i += 2 ) {
-				matchIndexes.push( i );
-			}
-			return matchIndexes;
-		}),
-
-		"odd": createPositionalPseudo(function( matchIndexes, length ) {
-			var i = 1;
-			for ( ; i < length; i += 2 ) {
-				matchIndexes.push( i );
-			}
-			return matchIndexes;
-		}),
-
-		"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
-			var i = argument < 0 ? argument + length : argument;
-			for ( ; --i >= 0; ) {
-				matchIndexes.push( i );
-			}
-			return matchIndexes;
-		}),
-
-		"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
-			var i = argument < 0 ? argument + length : argument;
-			for ( ; ++i < length; ) {
-				matchIndexes.push( i );
-			}
-			return matchIndexes;
-		})
-	}
-};
-
-Expr.pseudos["nth"] = Expr.pseudos["eq"];
-
-// Add button/input type pseudos
-for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
-	Expr.pseudos[ i ] = createInputPseudo( i );
-}
-for ( i in { submit: true, reset: true } ) {
-	Expr.pseudos[ i ] = createButtonPseudo( i );
-}
-
-// Easy API for creating new setFilters
-function setFilters() {}
-setFilters.prototype = Expr.filters = Expr.pseudos;
-Expr.setFilters = new setFilters();
-
-tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
-	var matched, match, tokens, type,
-		soFar, groups, preFilters,
-		cached = tokenCache[ selector + " " ];
-
-	if ( cached ) {
-		return parseOnly ? 0 : cached.slice( 0 );
-	}
-
-	soFar = selector;
-	groups = [];
-	preFilters = Expr.preFilter;
-
-	while ( soFar ) {
-
-		// Comma and first run
-		if ( !matched || (match = rcomma.exec( soFar )) ) {
-			if ( match ) {
-				// Don't consume trailing commas as valid
-				soFar = soFar.slice( match[0].length ) || soFar;
-			}
-			groups.push( (tokens = []) );
-		}
-
-		matched = false;
-
-		// Combinators
-		if ( (match = rcombinators.exec( soFar )) ) {
-			matched = match.shift();
-			tokens.push({
-				value: matched,
-				// Cast descendant combinators to space
-				type: match[0].replace( rtrim, " " )
-			});
-			soFar = soFar.slice( matched.length );
-		}
-
-		// Filters
-		for ( type in Expr.filter ) {
-			if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
-				(match = preFilters[ type ]( match ))) ) {
-				matched = match.shift();
-				tokens.push({
-					value: matched,
-					type: type,
-					matches: match
-				});
-				soFar = soFar.slice( matched.length );
-			}
-		}
-
-		if ( !matched ) {
-			break;
-		}
-	}
-
-	// Return the length of the invalid excess
-	// if we're just parsing
-	// Otherwise, throw an error or return tokens
-	return parseOnly ?
-		soFar.length :
-		soFar ?
-			Sizzle.error( selector ) :
-			// Cache the tokens
-			tokenCache( selector, groups ).slice( 0 );
-};
-
-function toSelector( tokens ) {
-	var i = 0,
-		len = tokens.length,
-		selector = "";
-	for ( ; i < len; i++ ) {
-		selector += tokens[i].value;
-	}
-	return selector;
-}
-
-function addCombinator( matcher, combinator, base ) {
-	var dir = combinator.dir,
-		checkNonElements = base && dir === "parentNode",
-		doneName = done++;
-
-	return combinator.first ?
-		// Check against closest ancestor/preceding element
-		function( elem, context, xml ) {
-			while ( (elem = elem[ dir ]) ) {
-				if ( elem.nodeType === 1 || checkNonElements ) {
-					return matcher( elem, context, xml );
-				}
-			}
-		} :
-
-		// Check against all ancestor/preceding elements
-		function( elem, context, xml ) {
-			var oldCache, uniqueCache, outerCache,
-				newCache = [ dirruns, doneName ];
-
-			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
-			if ( xml ) {
-				while ( (elem = elem[ dir ]) ) {
-					if ( elem.nodeType === 1 || checkNonElements ) {
-						if ( matcher( elem, context, xml ) ) {
-							return true;
-						}
-					}
-				}
-			} else {
-				while ( (elem = elem[ dir ]) ) {
-					if ( elem.nodeType === 1 || checkNonElements ) {
-						outerCache = elem[ expando ] || (elem[ expando ] = {});
-
-						// Support: IE <9 only
-						// Defend against cloned attroperties (jQuery gh-1709)
-						uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
-
-						if ( (oldCache = uniqueCache[ dir ]) &&
-							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
-
-							// Assign to newCache so results back-propagate to previous elements
-							return (newCache[ 2 ] = oldCache[ 2 ]);
-						} else {
-							// Reuse newcache so results back-propagate to previous elements
-							uniqueCache[ dir ] = newCache;
-
-							// A match means we're done; a fail means we have to keep checking
-							if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
-								return true;
-							}
-						}
-					}
-				}
-			}
-		};
-}
-
-function elementMatcher( matchers ) {
-	return matchers.length > 1 ?
-		function( elem, context, xml ) {
-			var i = matchers.length;
-			while ( i-- ) {
-				if ( !matchers[i]( elem, context, xml ) ) {
-					return false;
-				}
-			}
-			return true;
-		} :
-		matchers[0];
-}
-
-function multipleContexts( selector, contexts, results ) {
-	var i = 0,
-		len = contexts.length;
-	for ( ; i < len; i++ ) {
-		Sizzle( selector, contexts[i], results );
-	}
-	return results;
-}
-
-function condense( unmatched, map, filter, context, xml ) {
-	var elem,
-		newUnmatched = [],
-		i = 0,
-		len = unmatched.length,
-		mapped = map != null;
-
-	for ( ; i < len; i++ ) {
-		if ( (elem = unmatched[i]) ) {
-			if ( !filter || filter( elem, context, xml ) ) {
-				newUnmatched.push( elem );
-				if ( mapped ) {
-					map.push( i );
-				}
-			}
-		}
-	}
-
-	return newUnmatched;
-}
-
-function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
-	if ( postFilter && !postFilter[ expando ] ) {
-		postFilter = setMatcher( postFilter );
-	}
-	if ( postFinder && !postFinder[ expando ] ) {
-		postFinder = setMatcher( postFinder, postSelector );
-	}
-	return markFunction(function( seed, results, context, xml ) {
-		var temp, i, elem,
-			preMap = [],
-			postMap = [],
-			preexisting = results.length,
-
-			// Get initial elements from seed or context
-			elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
-
-			// Prefilter to get matcher input, preserving a map for seed-results synchronization
-			matcherIn = preFilter && ( seed || !selector ) ?
-				condense( elems, preMap, preFilter, context, xml ) :
-				elems,
-
-			matcherOut = matcher ?
-				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
-				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
-
-					// ...intermediate processing is necessary
-					[] :
-
-					// ...otherwise use results directly
-					results :
-				matcherIn;
-
-		// Find primary matches
-		if ( matcher ) {
-			matcher( matcherIn, matcherOut, context, xml );
-		}
-
-		// Apply postFilter
-		if ( postFilter ) {
-			temp = condense( matcherOut, postMap );
-			postFilter( temp, [], context, xml );
-
-			// Un-match failing elements by moving them back to matcherIn
-			i = temp.length;
-			while ( i-- ) {
-				if ( (elem = temp[i]) ) {
-					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
-				}
-			}
-		}
-
-		if ( seed ) {
-			if ( postFinder || preFilter ) {
-				if ( postFinder ) {
-					// Get the final matcherOut by condensing this intermediate into postFinder contexts
-					temp = [];
-					i = matcherOut.length;
-					while ( i-- ) {
-						if ( (elem = matcherOut[i]) ) {
-							// Restore matcherIn since elem is not yet a final match
-							temp.push( (matcherIn[i] = elem) );
-						}
-					}
-					postFinder( null, (matcherOut = []), temp, xml );
-				}
-
-				// Move matched elements from seed to results to keep them synchronized
-				i = matcherOut.length;
-				while ( i-- ) {
-					if ( (elem = matcherOut[i]) &&
-						(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
-
-						seed[temp] = !(results[temp] = elem);
-					}
-				}
-			}
-
-		// Add elements to results, through postFinder if defined
-		} else {
-			matcherOut = condense(
-				matcherOut === results ?
-					matcherOut.splice( preexisting, matcherOut.length ) :
-					matcherOut
-			);
-			if ( postFinder ) {
-				postFinder( null, results, matcherOut, xml );
-			} else {
-				push.apply( results, matcherOut );
-			}
-		}
-	});
-}
-
-function matcherFromTokens( tokens ) {
-	var checkContext, matcher, j,
-		len = tokens.length,
-		leadingRelative = Expr.relative[ tokens[0].type ],
-		implicitRelative = leadingRelative || Expr.relative[" "],
-		i = leadingRelative ? 1 : 0,
-
-		// The foundational matcher ensures that elements are reachable from top-level context(s)
-		matchContext = addCombinator( function( elem ) {
-			return elem === checkContext;
-		}, implicitRelative, true ),
-		matchAnyContext = addCombinator( function( elem ) {
-			return indexOf( checkContext, elem ) > -1;
-		}, implicitRelative, true ),
-		matchers = [ function( elem, context, xml ) {
-			var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
-				(checkContext = context).nodeType ?
-					matchContext( elem, context, xml ) :
-					matchAnyContext( elem, context, xml ) );
-			// Avoid hanging onto element (issue #299)
-			checkContext = null;
-			return ret;
-		} ];
-
-	for ( ; i < len; i++ ) {
-		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
-			matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
-		} else {
-			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
-
-			// Return special upon seeing a positional matcher
-			if ( matcher[ expando ] ) {
-				// Find the next relative operator (if any) for proper handling
-				j = ++i;
-				for ( ; j < len; j++ ) {
-					if ( Expr.relative[ tokens[j].type ] ) {
-						break;
-					}
-				}
-				return setMatcher(
-					i > 1 && elementMatcher( matchers ),
-					i > 1 && toSelector(
-						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
-						tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
-					).replace( rtrim, "$1" ),
-					matcher,
-					i < j && matcherFromTokens( tokens.slice( i, j ) ),
-					j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
-					j < len && toSelector( tokens )
-				);
-			}
-			matchers.push( matcher );
-		}
-	}
-
-	return elementMatcher( matchers );
-}
-
-function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
-	var bySet = setMatchers.length > 0,
-		byElement = elementMatchers.length > 0,
-		superMatcher = function( seed, context, xml, results, outermost ) {
-			var elem, j, matcher,
-				matchedCount = 0,
-				i = "0",
-				unmatched = seed && [],
-				setMatched = [],
-				contextBackup = outermostContext,
-				// We must always have either seed elements or outermost context
-				elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
-				// Use integer dirruns iff this is the outermost matcher
-				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
-				len = elems.length;
-
-			if ( outermost ) {
-				outermostContext = context === document || context || outermost;
-			}
-
-			// Add elements passing elementMatchers directly to results
-			// Support: IE<9, Safari
-			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
-			for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
-				if ( byElement && elem ) {
-					j = 0;
-					if ( !context && elem.ownerDocument !== document ) {
-						setDocument( elem );
-						xml = !documentIsHTML;
-					}
-					while ( (matcher = elementMatchers[j++]) ) {
-						if ( matcher( elem, context || document, xml) ) {
-							results.push( elem );
-							break;
-						}
-					}
-					if ( outermost ) {
-						dirruns = dirrunsUnique;
-					}
-				}
-
-				// Track unmatched elements for set filters
-				if ( bySet ) {
-					// They will have gone through all possible matchers
-					if ( (elem = !matcher && elem) ) {
-						matchedCount--;
-					}
-
-					// Lengthen the array for every element, matched or not
-					if ( seed ) {
-						unmatched.push( elem );
-					}
-				}
-			}
-
-			// `i` is now the count of elements visited above, and adding it to `matchedCount`
-			// makes the latter nonnegative.
-			matchedCount += i;
-
-			// Apply set filters to unmatched elements
-			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
-			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
-			// no element matchers and no seed.
-			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
-			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
-			// numerically zero.
-			if ( bySet && i !== matchedCount ) {
-				j = 0;
-				while ( (matcher = setMatchers[j++]) ) {
-					matcher( unmatched, setMatched, context, xml );
-				}
-
-				if ( seed ) {
-					// Reintegrate element matches to eliminate the need for sorting
-					if ( matchedCount > 0 ) {
-						while ( i-- ) {
-							if ( !(unmatched[i] || setMatched[i]) ) {
-								setMatched[i] = pop.call( results );
-							}
-						}
-					}
-
-					// Discard index placeholder values to get only actual matches
-					setMatched = condense( setMatched );
-				}
-
-				// Add matches to results
-				push.apply( results, setMatched );
-
-				// Seedless set matches succeeding multiple successful matchers stipulate sorting
-				if ( outermost && !seed && setMatched.length > 0 &&
-					( matchedCount + setMatchers.length ) > 1 ) {
-
-					Sizzle.uniqueSort( results );
-				}
-			}
-
-			// Override manipulation of globals by nested matchers
-			if ( outermost ) {
-				dirruns = dirrunsUnique;
-				outermostContext = contextBackup;
-			}
-
-			return unmatched;
-		};
-
-	return bySet ?
-		markFunction( superMatcher ) :
-		superMatcher;
-}
-
-compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
-	var i,
-		setMatchers = [],
-		elementMatchers = [],
-		cached = compilerCache[ selector + " " ];
-
-	if ( !cached ) {
-		// Generate a function of recursive functions that can be used to check each element
-		if ( !match ) {
-			match = tokenize( selector );
-		}
-		i = match.length;
-		while ( i-- ) {
-			cached = matcherFromTokens( match[i] );
-			if ( cached[ expando ] ) {
-				setMatchers.push( cached );
-			} else {
-				elementMatchers.push( cached );
-			}
-		}
-
-		// Cache the compiled function
-		cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
-
-		// Save selector and tokenization
-		cached.selector = selector;
-	}
-	return cached;
-};
-
-/**
- * A low-level selection function that works with Sizzle's compiled
- *  selector functions
- * @param {String|Function} selector A selector or a pre-compiled
- *  selector function built with Sizzle.compile
- * @param {Element} context
- * @param {Array} [results]
- * @param {Array} [seed] A set of elements to match against
- */
-select = Sizzle.select = function( selector, context, results, seed ) {
-	var i, tokens, token, type, find,
-		compiled = typeof selector === "function" && selector,
-		match = !seed && tokenize( (selector = compiled.selector || selector) );
-
-	results = results || [];
-
-	// Try to minimize operations if there is only one selector in the list and no seed
-	// (the latter of which guarantees us context)
-	if ( match.length === 1 ) {
-
-		// Reduce context if the leading compound selector is an ID
-		tokens = match[0] = match[0].slice( 0 );
-		if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
-				support.getById && context.nodeType === 9 && documentIsHTML &&
-				Expr.relative[ tokens[1].type ] ) {
-
-			context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
-			if ( !context ) {
-				return results;
-
-			// Precompiled matchers will still verify ancestry, so step up a level
-			} else if ( compiled ) {
-				context = context.parentNode;
-			}
-
-			selector = selector.slice( tokens.shift().value.length );
-		}
-
-		// Fetch a seed set for right-to-left matching
-		i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
-		while ( i-- ) {
-			token = tokens[i];
-
-			// Abort if we hit a combinator
-			if ( Expr.relative[ (type = token.type) ] ) {
-				break;
-			}
-			if ( (find = Expr.find[ type ]) ) {
-				// Search, expanding context for leading sibling combinators
-				if ( (seed = find(
-					token.matches[0].replace( runescape, funescape ),
-					rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
-				)) ) {
-
-					// If seed is empty or no tokens remain, we can return early
-					tokens.splice( i, 1 );
-					selector = seed.length && toSelector( tokens );
-					if ( !selector ) {
-						push.apply( results, seed );
-						return results;
-					}
-
-					break;
-				}
-			}
-		}
-	}
-
-	// Compile and execute a filtering function if one is not provided
-	// Provide `match` to avoid retokenization if we modified the selector above
-	( compiled || compile( selector, match ) )(
-		seed,
-		context,
-		!documentIsHTML,
-		results,
-		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
-	);
-	return results;
-};
-
-// One-time assignments
-
-// Sort stability
-support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
-
-// Support: Chrome 14-35+
-// Always assume duplicates if they aren't passed to the comparison function
-support.detectDuplicates = !!hasDuplicate;
-
-// Initialize against the default document
-setDocument();
-
-// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
-// Detached nodes confoundingly follow *each other*
-support.sortDetached = assert(function( div1 ) {
-	// Should return 1, but returns 4 (following)
-	return div1.compareDocumentPosition( document.createElement("div") ) & 1;
-});
-
-// Support: IE<8
-// Prevent attribute/property "interpolation"
-// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
-if ( !assert(function( div ) {
-	div.innerHTML = "<a href='#'></a>";
-	return div.firstChild.getAttribute("href") === "#" ;
-}) ) {
-	addHandle( "type|href|height|width", function( elem, name, isXML ) {
-		if ( !isXML ) {
-			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
-		}
-	});
-}
-
-// Support: IE<9
-// Use defaultValue in place of getAttribute("value")
-if ( !support.attributes || !assert(function( div ) {
-	div.innerHTML = "<input/>";
-	div.firstChild.setAttribute( "value", "" );
-	return div.firstChild.getAttribute( "value" ) === "";
-}) ) {
-	addHandle( "value", function( elem, name, isXML ) {
-		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
-			return elem.defaultValue;
-		}
-	});
-}
-
-// Support: IE<9
-// Use getAttributeNode to fetch booleans when getAttribute lies
-if ( !assert(function( div ) {
-	return div.getAttribute("disabled") == null;
-}) ) {
-	addHandle( booleans, function( elem, name, isXML ) {
-		var val;
-		if ( !isXML ) {
-			return elem[ name ] === true ? name.toLowerCase() :
-					(val = elem.getAttributeNode( name )) && val.specified ?
-					val.value :
-				null;
-		}
-	});
-}
-
-return Sizzle;
-
-})( window );
-
-
-
-jQuery.find = Sizzle;
-jQuery.expr = Sizzle.selectors;
-jQuery.expr[ ":" ] = jQuery.expr.pseudos;
-jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
-jQuery.text = Sizzle.getText;
-jQuery.isXMLDoc = Sizzle.isXML;
-jQuery.contains = Sizzle.contains;
-
-
-
-var dir = function( elem, dir, until ) {
-	var matched = [],
-		truncate = until !== undefined;
-
-	while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
-		if ( elem.nodeType === 1 ) {
-			if ( truncate && jQuery( elem ).is( until ) ) {
-				break;
-			}
-			matched.push( elem );
-		}
-	}
-	return matched;
-};
-
-
-var siblings = function( n, elem ) {
-	var matched = [];
-
-	for ( ; n; n = n.nextSibling ) {
-		if ( n.nodeType === 1 && n !== elem ) {
-			matched.push( n );
-		}
-	}
-
-	return matched;
-};
-
-
-var rneedsContext = jQuery.expr.match.needsContext;
-
-var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ );
-
-
-
-var risSimple = /^.[^:#\[\.,]*$/;
-
-// Implement the identical functionality for filter and not
-function winnow( elements, qualifier, not ) {
-	if ( jQuery.isFunction( qualifier ) ) {
-		return jQuery.grep( elements, function( elem, i ) {
-			/* jshint -W018 */
-			return !!qualifier.call( elem, i, elem ) !== not;
-		} );
-
-	}
-
-	if ( qualifier.nodeType ) {
-		return jQuery.grep( elements, function( elem ) {
-			return ( elem === qualifier ) !== not;
-		} );
-
-	}
-
-	if ( typeof qualifier === "string" ) {
-		if ( risSimple.test( qualifier ) ) {
-			return jQuery.filter( qualifier, elements, not );
-		}
-
-		qualifier = jQuery.filter( qualifier, elements );
-	}
-
-	return jQuery.grep( elements, function( elem ) {
-		return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
-	} );
-}
-
-jQuery.filter = function( expr, elems, not ) {
-	var elem = elems[ 0 ];
-
-	if ( not ) {
-		expr = ":not(" + expr + ")";
-	}
-
-	return elems.length === 1 && elem.nodeType === 1 ?
-		jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :
-		jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
-			return elem.nodeType === 1;
-		} ) );
-};
-
-jQuery.fn.extend( {
-	find: function( selector ) {
-		var i,
-			len = this.length,
-			ret = [],
-			self = this;
-
-		if ( typeof selector !== "string" ) {
-			return this.pushStack( jQuery( selector ).filter( function() {
-				for ( i = 0; i < len; i++ ) {
-					if ( jQuery.contains( self[ i ], this ) ) {
-						return true;
-					}
-				}
-			} ) );
-		}
-
-		for ( i = 0; i < len; i++ ) {
-			jQuery.find( selector, self[ i ], ret );
-		}
-
-		// Needed because $( selector, context ) becomes $( context ).find( selector )
-		ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
-		ret.selector = this.selector ? this.selector + " " + selector : selector;
-		return ret;
-	},
-	filter: function( selector ) {
-		return this.pushStack( winnow( this, selector || [], false ) );
-	},
-	not: function( selector ) {
-		return this.pushStack( winnow( this, selector || [], true ) );
-	},
-	is: function( selector ) {
-		return !!winnow(
-			this,
-
-			// If this is a positional/relative selector, check membership in the returned set
-			// so $("p:first").is("p:last") won't return true for a doc with two "p".
-			typeof selector === "string" && rneedsContext.test( selector ) ?
-				jQuery( selector ) :
-				selector || [],
-			false
-		).length;
-	}
-} );
-
-
-// Initialize a jQuery object
-
-
-// A central reference to the root jQuery(document)
-var rootjQuery,
-
-	// A simple way to check for HTML strings
-	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
-	// Strict HTML recognition (#11290: must start with <)
-	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
-
-	init = jQuery.fn.init = function( selector, context, root ) {
-		var match, elem;
-
-		// HANDLE: $(""), $(null), $(undefined), $(false)
-		if ( !selector ) {
-			return this;
-		}
-
-		// Method init() accepts an alternate rootjQuery
-		// so migrate can support jQuery.sub (gh-2101)
-		root = root || rootjQuery;
-
-		// Handle HTML strings
-		if ( typeof selector === "string" ) {
-			if ( selector[ 0 ] === "<" &&
-				selector[ selector.length - 1 ] === ">" &&
-				selector.length >= 3 ) {
-
-				// Assume that strings that start and end with <> are HTML and skip the regex check
-				match = [ null, selector, null ];
-
-			} else {
-				match = rquickExpr.exec( selector );
-			}
-
-			// Match html or make sure no context is specified for #id
-			if ( match && ( match[ 1 ] || !context ) ) {
-
-				// HANDLE: $(html) -> $(array)
-				if ( match[ 1 ] ) {
-					context = context instanceof jQuery ? context[ 0 ] : context;
-
-					// Option to run scripts is true for back-compat
-					// Intentionally let the error be thrown if parseHTML is not present
-					jQuery.merge( this, jQuery.parseHTML(
-						match[ 1 ],
-						context && context.nodeType ? context.ownerDocument || context : document,
-						true
-					) );
-
-					// HANDLE: $(html, props)
-					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
-						for ( match in context ) {
-
-							// Properties of context are called as methods if possible
-							if ( jQuery.isFunction( this[ match ] ) ) {
-								this[ match ]( context[ match ] );
-
-							// ...and otherwise set as attributes
-							} else {
-								this.attr( match, context[ match ] );
-							}
-						}
-					}
-
-					return this;
-
-				// HANDLE: $(#id)
-				} else {
-					elem = document.getElementById( match[ 2 ] );
-
-					// Support: Blackberry 4.6
-					// gEBID returns nodes no longer in the document (#6963)
-					if ( elem && elem.parentNode ) {
-
-						// Inject the element directly into the jQuery object
-						this.length = 1;
-						this[ 0 ] = elem;
-					}
-
-					this.context = document;
-					this.selector = selector;
-					return this;
-				}
-
-			// HANDLE: $(expr, $(...))
-			} else if ( !context || context.jquery ) {
-				return ( context || root ).find( selector );
-
-			// HANDLE: $(expr, context)
-			// (which is just equivalent to: $(context).find(expr)
-			} else {
-				return this.constructor( context ).find( selector );
-			}
-
-		// HANDLE: $(DOMElement)
-		} else if ( selector.nodeType ) {
-			this.context = this[ 0 ] = selector;
-			this.length = 1;
-			return this;
-
-		// HANDLE: $(function)
-		// Shortcut for document ready
-		} else if ( jQuery.isFunction( selector ) ) {
-			return root.ready !== undefined ?
-				root.ready( selector ) :
-
-				// Execute immediately if ready is not present
-				selector( jQuery );
-		}
-
-		if ( selector.selector !== undefined ) {
-			this.selector = selector.selector;
-			this.context = selector.context;
-		}
-
-		return jQuery.makeArray( selector, this );
-	};
-
-// Give the init function the jQuery prototype for later instantiation
-init.prototype = jQuery.fn;
-
-// Initialize central reference
-rootjQuery = jQuery( document );
-
-
-var rparentsprev = /^(?:parents|prev(?:Until|All))/,
-
-	// Methods guaranteed to produce a unique set when starting from a unique set
-	guaranteedUnique = {
-		children: true,
-		contents: true,
-		next: true,
-		prev: true
-	};
-
-jQuery.fn.extend( {
-	has: function( target ) {
-		var targets = jQuery( target, this ),
-			l = targets.length;
-
-		return this.filter( function() {
-			var i = 0;
-			for ( ; i < l; i++ ) {
-				if ( jQuery.contains( this, targets[ i ] ) ) {
-					return true;
-				}
-			}
-		} );
-	},
-
-	closest: function( selectors, context ) {
-		var cur,
-			i = 0,
-			l = this.length,
-			matched = [],
-			pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ?
-				jQuery( selectors, context || this.context ) :
-				0;
-
-		for ( ; i < l; i++ ) {
-			for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
-
-				// Always skip document fragments
-				if ( cur.nodeType < 11 && ( pos ?
-					pos.index( cur ) > -1 :
-
-					// Don't pass non-elements to Sizzle
-					cur.nodeType === 1 &&
-						jQuery.find.matchesSelector( cur, selectors ) ) ) {
-
-					matched.push( cur );
-					break;
-				}
-			}
-		}
-
-		return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
-	},
-
-	// Determine the position of an element within the set
-	index: function( elem ) {
-
-		// No argument, return index in parent
-		if ( !elem ) {
-			return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
-		}
-
-		// Index in selector
-		if ( typeof elem === "string" ) {
-			return indexOf.call( jQuery( elem ), this[ 0 ] );
-		}
-
-		// Locate the position of the desired element
-		return indexOf.call( this,
-
-			// If it receives a jQuery object, the first element is used
-			elem.jquery ? elem[ 0 ] : elem
-		);
-	},
-
-	add: function( selector, context ) {
-		return this.pushStack(
-			jQuery.uniqueSort(
-				jQuery.merge( this.get(), jQuery( selector, context ) )
-			)
-		);
-	},
-
-	addBack: function( selector ) {
-		return this.add( selector == null ?
-			this.prevObject : this.prevObject.filter( selector )
-		);
-	}
-} );
-
-function sibling( cur, dir ) {
-	while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
-	return cur;
-}
-
-jQuery.each( {
-	parent: function( elem ) {
-		var parent = elem.parentNode;
-		return parent && parent.nodeType !== 11 ? parent : null;
-	},
-	parents: function( elem ) {
-		return dir( elem, "parentNode" );
-	},
-	parentsUntil: function( elem, i, until ) {
-		return dir( elem, "parentNode", until );
-	},
-	next: function( elem ) {
-		return sibling( elem, "nextSibling" );
-	},
-	prev: function( elem ) {
-		return sibling( elem, "previousSibling" );
-	},
-	nextAll: function( elem ) {
-		return dir( elem, "nextSibling" );
-	},
-	prevAll: function( elem ) {
-		return dir( elem, "previousSibling" );
-	},
-	nextUntil: function( elem, i, until ) {
-		return dir( elem, "nextSibling", until );
-	},
-	prevUntil: function( elem, i, until ) {
-		return dir( elem, "previousSibling", until );
-	},
-	siblings: function( elem ) {
-		return siblings( ( elem.parentNode || {} ).firstChild, elem );
-	},
-	children: function( elem ) {
-		return siblings( elem.firstChild );
-	},
-	contents: function( elem ) {
-		return elem.contentDocument || jQuery.merge( [], elem.childNodes );
-	}
-}, function( name, fn ) {
-	jQuery.fn[ name ] = function( until, selector ) {
-		var matched = jQuery.map( this, fn, until );
-
-		if ( name.slice( -5 ) !== "Until" ) {
-			selector = until;
-		}
-
-		if ( selector && typeof selector === "string" ) {
-			matched = jQuery.filter( selector, matched );
-		}
-
-		if ( this.length > 1 ) {
-
-			// Remove duplicates
-			if ( !guaranteedUnique[ name ] ) {
-				jQuery.uniqueSort( matched );
-			}
-
-			// Reverse order for parents* and prev-derivatives
-			if ( rparentsprev.test( name ) ) {
-				matched.reverse();
-			}
-		}
-
-		return this.pushStack( matched );
-	};
-} );
-var rnotwhite = ( /\S+/g );
-
-
-
-// Convert String-formatted options into Object-formatted ones
-function createOptions( options ) {
-	var object = {};
-	jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
-		object[ flag ] = true;
-	} );
-	return object;
-}
-
-/*
- * Create a callback list using the following parameters:
- *
- *	options: an optional list of space-separated options that will change how
- *			the callback list behaves or a more traditional option object
- *
- * By default a callback list will act like an event callback list and can be
- * "fired" multiple times.
- *
- * Possible options:
- *
- *	once:			will ensure the callback list can only be fired once (like a Deferred)
- *
- *	memory:			will keep track of previous values and will call any callback added
- *					after the list has been fired right away with the latest "memorized"
- *					values (like a Deferred)
- *
- *	unique:			will ensure a callback can only be added once (no duplicate in the list)
- *
- *	stopOnFalse:	interrupt callings when a callback returns false
- *
- */
-jQuery.Callbacks = function( options ) {
-
-	// Convert options from String-formatted to Object-formatted if needed
-	// (we check in cache first)
-	options = typeof options === "string" ?
-		createOptions( options ) :
-		jQuery.extend( {}, options );
-
-	var // Flag to know if list is currently firing
-		firing,
-
-		// Last fire value for non-forgettable lists
-		memory,
-
-		// Flag to know if list was already fired
-		fired,
-
-		// Flag to prevent firing
-		locked,
-
-		// Actual callback list
-		list = [],
-
-		// Queue of execution data for repeatable lists
-		queue = [],
-
-		// Index of currently firing callback (modified by add/remove as needed)
-		firingIndex = -1,
-
-		// Fire callbacks
-		fire = function() {
-
-			// Enforce single-firing
-			locked = options.once;
-
-			// Execute callbacks for all pending executions,
-			// respecting firingIndex overrides and runtime changes
-			fired = firing = true;
-			for ( ; queue.length; firingIndex = -1 ) {
-				memory = queue.shift();
-				while ( ++firingIndex < list.length ) {
-
-					// Run callback and check for early termination
-					if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
-						options.stopOnFalse ) {
-
-						// Jump to end and forget the data so .add doesn't re-fire
-						firingIndex = list.length;
-						memory = false;
-					}
-				}
-			}
-
-			// Forget the data if we're done with it
-			if ( !options.memory ) {
-				memory = false;
-			}
-
-			firing = false;
-
-			// Clean up if we're done firing for good
-			if ( locked ) {
-
-				// Keep an empty list if we have data for future add calls
-				if ( memory ) {
-					list = [];
-
-				// Otherwise, this object is spent
-				} else {
-					list = "";
-				}
-			}
-		},
-
-		// Actual Callbacks object
-		self = {
-
-			// Add a callback or a collection of callbacks to the list
-			add: function() {
-				if ( list ) {
-
-					// If we have memory from a past run, we should fire after adding
-					if ( memory && !firing ) {
-						firingIndex = list.length - 1;
-						queue.push( memory );
-					}
-
-					( function add( args ) {
-						jQuery.each( args, function( _, arg ) {
-							if ( jQuery.isFunction( arg ) ) {
-								if ( !options.unique || !self.has( arg ) ) {
-									list.push( arg );
-								}
-							} else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
-
-								// Inspect recursively
-								add( arg );
-							}
-						} );
-					} )( arguments );
-
-					if ( memory && !firing ) {
-						fire();
-					}
-				}
-				return this;
-			},
-
-			// Remove a callback from the list
-			remove: function() {
-				jQuery.each( arguments, function( _, arg ) {
-					var index;
-					while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
-						list.splice( index, 1 );
-
-						// Handle firing indexes
-						if ( index <= firingIndex ) {
-							firingIndex--;
-						}
-					}
-				} );
-				return this;
-			},
-
-			// Check if a given callback is in the list.
-			// If no argument is given, return whether or not list has callbacks attached.
-			has: function( fn ) {
-				return fn ?
-					jQuery.inArray( fn, list ) > -1 :
-					list.length > 0;
-			},
-
-			// Remove all callbacks from the list
-			empty: function() {
-				if ( list ) {
-					list = [];
-				}
-				return this;
-			},
-
-			// Disable .fire and .add
-			// Abort any current/pending executions
-			// Clear all callbacks and values
-			disable: function() {
-				locked = queue = [];
-				list = memory = "";
-				return this;
-			},
-			disabled: function() {
-				return !list;
-			},
-
-			// Disable .fire
-			// Also disable .add unless we have memory (since it would have no effect)
-			// Abort any pending executions
-			lock: function() {
-				locked = queue = [];
-				if ( !memory ) {
-					list = memory = "";
-				}
-				return this;
-			},
-			locked: function() {
-				return !!locked;
-			},
-
-			// Call all callbacks with the given context and arguments
-			fireWith: function( context, args ) {
-				if ( !locked ) {
-					args = args || [];
-					args = [ context, args.slice ? args.slice() : args ];
-					queue.push( args );
-					if ( !firing ) {
-						fire();
-					}
-				}
-				return this;
-			},
-
-			// Call all the callbacks with the given arguments
-			fire: function() {
-				self.fireWith( this, arguments );
-				return this;
-			},
-
-			// To know if the callbacks have already been called at least once
-			fired: function() {
-				return !!fired;
-			}
-		};
-
-	return self;
-};
-
-
-jQuery.extend( {
-
-	Deferred: function( func ) {
-		var tuples = [
-
-				// action, add listener, listener list, final state
-				[ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ],
-				[ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ],
-				[ "notify", "progress", jQuery.Callbacks( "memory" ) ]
-			],
-			state = "pending",
-			promise = {
-				state: function() {
-					return state;
-				},
-				always: function() {
-					deferred.done( arguments ).fail( arguments );
-					return this;
-				},
-				then: function( /* fnDone, fnFail, fnProgress */ ) {
-					var fns = arguments;
-					return jQuery.Deferred( function( newDefer ) {
-						jQuery.each( tuples, function( i, tuple ) {
-							var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
-
-							// deferred[ done | fail | progress ] for forwarding actions to newDefer
-							deferred[ tuple[ 1 ] ]( function() {
-								var returned = fn && fn.apply( this, arguments );
-								if ( returned && jQuery.isFunction( returned.promise ) ) {
-									returned.promise()
-										.progress( newDefer.notify )
-										.done( newDefer.resolve )
-										.fail( newDefer.reject );
-								} else {
-									newDefer[ tuple[ 0 ] + "With" ](
-										this === promise ? newDefer.promise() : this,
-										fn ? [ returned ] : arguments
-									);
-								}
-							} );
-						} );
-						fns = null;
-					} ).promise();
-				},
-
-				// Get a promise for this deferred
-				// If obj is provided, the promise aspect is added to the object
-				promise: function( obj ) {
-					return obj != null ? jQuery.extend( obj, promise ) : promise;
-				}
-			},
-			deferred = {};
-
-		// Keep pipe for back-compat
-		promise.pipe = promise.then;
-
-		// Add list-specific methods
-		jQuery.each( tuples, function( i, tuple ) {
-			var list = tuple[ 2 ],
-				stateString = tuple[ 3 ];
-
-			// promise[ done | fail | progress ] = list.add
-			promise[ tuple[ 1 ] ] = list.add;
-
-			// Handle state
-			if ( stateString ) {
-				list.add( function() {
-
-					// state = [ resolved | rejected ]
-					state = stateString;
-
-				// [ reject_list | resolve_list ].disable; progress_list.lock
-				}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
-			}
-
-			// deferred[ resolve | reject | notify ]
-			deferred[ tuple[ 0 ] ] = function() {
-				deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments );
-				return this;
-			};
-			deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
-		} );
-
-		// Make the deferred a promise
-		promise.promise( deferred );
-
-		// Call given func if any
-		if ( func ) {
-			func.call( deferred, deferred );
-		}
-
-		// All done!
-		return deferred;
-	},
-
-	// Deferred helper
-	when: function( subordinate /* , ..., subordinateN */ ) {
-		var i = 0,
-			resolveValues = slice.call( arguments ),
-			length = resolveValues.length,
-
-			// the count of uncompleted subordinates
-			remaining = length !== 1 ||
-				( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
-
-			// the master Deferred.
-			// If resolveValues consist of only a single Deferred, just use that.
-			deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
-
-			// Update function for both resolve and progress values
-			updateFunc = function( i, contexts, values ) {
-				return function( value ) {
-					contexts[ i ] = this;
-					values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
-					if ( values === progressValues ) {
-						deferred.notifyWith( contexts, values );
-					} else if ( !( --remaining ) ) {
-						deferred.resolveWith( contexts, values );
-					}
-				};
-			},
-
-			progressValues, progressContexts, resolveContexts;
-
-		// Add listeners to Deferred subordinates; treat others as resolved
-		if ( length > 1 ) {
-			progressValues = new Array( length );
-			progressContexts = new Array( length );
-			resolveContexts = new Array( length );
-			for ( ; i < length; i++ ) {
-				if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
-					resolveValues[ i ].promise()
-						.progress( updateFunc( i, progressContexts, progressValues ) )
-						.done( updateFunc( i, resolveContexts, resolveValues ) )
-						.fail( deferred.reject );
-				} else {
-					--remaining;
-				}
-			}
-		}
-
-		// If we're not waiting on anything, resolve the master
-		if ( !remaining ) {
-			deferred.resolveWith( resolveContexts, resolveValues );
-		}
-
-		return deferred.promise();
-	}
-} );
-
-
-// The deferred used on DOM ready
-var readyList;
-
-jQuery.fn.ready = function( fn ) {
-
-	// Add the callback
-	jQuery.ready.promise().done( fn );
-
-	return this;
-};
-
-jQuery.extend( {
-
-	// Is the DOM ready to be used? Set to true once it occurs.
-	isReady: false,
-
-	// A counter to track how many items to wait for before
-	// the ready event fires. See #6781
-	readyWait: 1,
-
-	// Hold (or release) the ready event
-	holdReady: function( hold ) {
-		if ( hold ) {
-			jQuery.readyWait++;
-		} else {
-			jQuery.ready( true );
-		}
-	},
-
-	// Handle when the DOM is ready
-	ready: function( wait ) {
-
-		// Abort if there are pending holds or we're already ready
-		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
-			return;
-		}
-
-		// Remember that the DOM is ready
-		jQuery.isReady = true;
-
-		// If a normal DOM Ready event fired, decrement, and wait if need be
-		if ( wait !== true && --jQuery.readyWait > 0 ) {
-			return;
-		}
-
-		// If there are functions bound, to execute
-		readyList.resolveWith( document, [ jQuery ] );
-
-		// Trigger any bound ready events
-		if ( jQuery.fn.triggerHandler ) {
-			jQuery( document ).triggerHandler( "ready" );
-			jQuery( document ).off( "ready" );
-		}
-	}
-} );
-
-/**
- * The ready event handler and self cleanup method
- */
-function completed() {
-	document.removeEventListener( "DOMContentLoaded", completed );
-	window.removeEventListener( "load", completed );
-	jQuery.ready();
-}
-
-jQuery.ready.promise = function( obj ) {
-	if ( !readyList ) {
-
-		readyList = jQuery.Deferred();
-
-		// Catch cases where $(document).ready() is called
-		// after the browser event has already occurred.
-		// Support: IE9-10 only
-		// Older IE sometimes signals "interactive" too soon
-		if ( document.readyState === "complete" ||
-			( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
-
-			// Handle it asynchronously to allow scripts the opportunity to delay ready
-			window.setTimeout( jQuery.ready );
-
-		} else {
-
-			// Use the handy event callback
-			document.addEventListener( "DOMContentLoaded", completed );
-
-			// A fallback to window.onload, that will always work
-			window.addEventListener( "load", completed );
-		}
-	}
-	return readyList.promise( obj );
-};
-
-// Kick off the DOM ready check even if the user does not
-jQuery.ready.promise();
-
-
-
-
-// Multifunctional method to get and set values of a collection
-// The value/s can optionally be executed if it's a function
-var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
-	var i = 0,
-		len = elems.length,
-		bulk = key == null;
-
-	// Sets many values
-	if ( jQuery.type( key ) === "object" ) {
-		chainable = true;
-		for ( i in key ) {
-			access( elems, fn, i, key[ i ], true, emptyGet, raw );
-		}
-
-	// Sets one value
-	} else if ( value !== undefined ) {
-		chainable = true;
-
-		if ( !jQuery.isFunction( value ) ) {
-			raw = true;
-		}
-
-		if ( bulk ) {
-
-			// Bulk operations run against the entire set
-			if ( raw ) {
-				fn.call( elems, value );
-				fn = null;
-
-			// ...except when executing function values
-			} else {
-				bulk = fn;
-				fn = function( elem, key, value ) {
-					return bulk.call( jQuery( elem ), value );
-				};
-			}
-		}
-
-		if ( fn ) {
-			for ( ; i < len; i++ ) {
-				fn(
-					elems[ i ], key, raw ?
-					value :
-					value.call( elems[ i ], i, fn( elems[ i ], key ) )
-				);
-			}
-		}
-	}
-
-	return chainable ?
-		elems :
-
-		// Gets
-		bulk ?
-			fn.call( elems ) :
-			len ? fn( elems[ 0 ], key ) : emptyGet;
-};
-var acceptData = function( owner ) {
-
-	// Accepts only:
-	//  - Node
-	//    - Node.ELEMENT_NODE
-	//    - Node.DOCUMENT_NODE
-	//  - Object
-	//    - Any
-	/* jshint -W018 */
-	return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
-};
-
-
-
-
-function Data() {
-	this.expando = jQuery.expando + Data.uid++;
-}
-
-Data.uid = 1;
-
-Data.prototype = {
-
-	register: function( owner, initial ) {
-		var value = initial || {};
-
-		// If it is a node unlikely to be stringify-ed or looped over
-		// use plain assignment
-		if ( owner.nodeType ) {
-			owner[ this.expando ] = value;
-
-		// Otherwise secure it in a non-enumerable, non-writable property
-		// configurability must be true to allow the property to be
-		// deleted with the delete operator
-		} else {
-			Object.defineProperty( owner, this.expando, {
-				value: value,
-				writable: true,
-				configurable: true
-			} );
-		}
-		return owner[ this.expando ];
-	},
-	cache: function( owner ) {
-
-		// We can accept data for non-element nodes in modern browsers,
-		// but we should not, see #8335.
-		// Always return an empty object.
-		if ( !acceptData( owner ) ) {
-			return {};
-		}
-
-		// Check if the owner object already has a cache
-		var value = owner[ this.expando ];
-
-		// If not, create one
-		if ( !value ) {
-			value = {};
-
-			// We can accept data for non-element nodes in modern browsers,
-			// but we should not, see #8335.
-			// Always return an empty object.
-			if ( acceptData( owner ) ) {
-
-				// If it is a node unlikely to be stringify-ed or looped over
-				// use plain assignment
-				if ( owner.nodeType ) {
-					owner[ this.expando ] = value;
-
-				// Otherwise secure it in a non-enumerable property
-				// configurable must be true to allow the property to be
-				// deleted when data is removed
-				} else {
-					Object.defineProperty( owner, this.expando, {
-						value: value,
-						configurable: true
-					} );
-				}
-			}
-		}
-
-		return value;
-	},
-	set: function( owner, data, value ) {
-		var prop,
-			cache = this.cache( owner );
-
-		// Handle: [ owner, key, value ] args
-		if ( typeof data === "string" ) {
-			cache[ data ] = value;
-
-		// Handle: [ owner, { properties } ] args
-		} else {
-
-			// Copy the properties one-by-one to the cache object
-			for ( prop in data ) {
-				cache[ prop ] = data[ prop ];
-			}
-		}
-		return cache;
-	},
-	get: function( owner, key ) {
-		return key === undefined ?
-			this.cache( owner ) :
-			owner[ this.expando ] && owner[ this.expando ][ key ];
-	},
-	access: function( owner, key, value ) {
-		var stored;
-
-		// In cases where either:
-		//
-		//   1. No key was specified
-		//   2. A string key was specified, but no value provided
-		//
-		// Take the "read" path and allow the get method to determine
-		// which value to return, respectively either:
-		//
-		//   1. The entire cache object
-		//   2. The data stored at the key
-		//
-		if ( key === undefined ||
-				( ( key && typeof key === "string" ) && value === undefined ) ) {
-
-			stored = this.get( owner, key );
-
-			return stored !== undefined ?
-				stored : this.get( owner, jQuery.camelCase( key ) );
-		}
-
-		// When the key is not a string, or both a key and value
-		// are specified, set or extend (existing objects) with either:
-		//
-		//   1. An object of properties
-		//   2. A key and value
-		//
-		this.set( owner, key, value );
-
-		// Since the "set" path can have two possible entry points
-		// return the expected data based on which path was taken[*]
-		return value !== undefined ? value : key;
-	},
-	remove: function( owner, key ) {
-		var i, name, camel,
-			cache = owner[ this.expando ];
-
-		if ( cache === undefined ) {
-			return;
-		}
-
-		if ( key === undefined ) {
-			this.register( owner );
-
-		} else {
-
-			// Support array or space separated string of keys
-			if ( jQuery.isArray( key ) ) {
-
-				// If "name" is an array of keys...
-				// When data is initially created, via ("key", "val") signature,
-				// keys will be converted to camelCase.
-				// Since there is no way to tell _how_ a key was added, remove
-				// both plain key and camelCase key. #12786
-				// This will only penalize the array argument path.
-				name = key.concat( key.map( jQuery.camelCase ) );
-			} else {
-				camel = jQuery.camelCase( key );
-
-				// Try the string as a key before any manipulation
-				if ( key in cache ) {
-					name = [ key, camel ];
-				} else {
-
-					// If a key with the spaces exists, use it.
-					// Otherwise, create an array by matching non-whitespace
-					name = camel;
-					name = name in cache ?
-						[ name ] : ( name.match( rnotwhite ) || [] );
-				}
-			}
-
-			i = name.length;
-
-			while ( i-- ) {
-				delete cache[ name[ i ] ];
-			}
-		}
-
-		// Remove the expando if there's no more data
-		if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
-
-			// Support: Chrome <= 35-45+
-			// Webkit & Blink performance suffers when deleting properties
-			// from DOM nodes, so set to undefined instead
-			// https://code.google.com/p/chromium/issues/detail?id=378607
-			if ( owner.nodeType ) {
-				owner[ this.expando ] = undefined;
-			} else {
-				delete owner[ this.expando ];
-			}
-		}
-	},
-	hasData: function( owner ) {
-		var cache = owner[ this.expando ];
-		return cache !== undefined && !jQuery.isEmptyObject( cache );
-	}
-};
-var dataPriv = new Data();
-
-var dataUser = new Data();
-
-
-
-//	Implementation Summary
-//
-//	1. Enforce API surface and semantic compatibility with 1.9.x branch
-//	2. Improve the module's maintainability by reducing the storage
-//		paths to a single mechanism.
-//	3. Use the same single mechanism to support "private" and "user" data.
-//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
-//	5. Avoid exposing implementation details on user objects (eg. expando properties)
-//	6. Provide a clear path for implementation upgrade to WeakMap in 2014
-
-var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
-	rmultiDash = /[A-Z]/g;
-
-function dataAttr( elem, key, data ) {
-	var name;
-
-	// If nothing was found internally, try to fetch any
-	// data from the HTML5 data-* attribute
-	if ( data === undefined && elem.nodeType === 1 ) {
-		name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
-		data = elem.getAttribute( name );
-
-		if ( typeof data === "string" ) {
-			try {
-				data = data === "true" ? true :
-					data === "false" ? false :
-					data === "null" ? null :
-
-					// Only convert to a number if it doesn't change the string
-					+data + "" === data ? +data :
-					rbrace.test( data ) ? jQuery.parseJSON( data ) :
-					data;
-			} catch ( e ) {}
-
-			// Make sure we set the data so it isn't changed later
-			dataUser.set( elem, key, data );
-		} else {
-			data = undefined;
-		}
-	}
-	return data;
-}
-
-jQuery.extend( {
-	hasData: function( elem ) {
-		return dataUser.hasData( elem ) || dataPriv.hasData( elem );
-	},
-
-	data: function( elem, name, data ) {
-		return dataUser.access( elem, name, data );
-	},
-
-	removeData: function( elem, name ) {
-		dataUser.remove( elem, name );
-	},
-
-	// TODO: Now that all calls to _data and _removeData have been replaced
-	// with direct calls to dataPriv methods, these can be deprecated.
-	_data: function( elem, name, data ) {
-		return dataPriv.access( elem, name, data );
-	},
-
-	_removeData: function( elem, name ) {
-		dataPriv.remove( elem, name );
-	}
-} );
-
-jQuery.fn.extend( {
-	data: function( key, value ) {
-		var i, name, data,
-			elem = this[ 0 ],
-			attrs = elem && elem.attributes;
-
-		// Gets all values
-		if ( key === undefined ) {
-			if ( this.length ) {
-				data = dataUser.get( elem );
-
-				if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
-					i = attrs.length;
-					while ( i-- ) {
-
-						// Support: IE11+
-						// The attrs elements can be null (#14894)
-						if ( attrs[ i ] ) {
-							name = attrs[ i ].name;
-							if ( name.indexOf( "data-" ) === 0 ) {
-								name = jQuery.camelCase( name.slice( 5 ) );
-								dataAttr( elem, name, data[ name ] );
-							}
-						}
-					}
-					dataPriv.set( elem, "hasDataAttrs", true );
-				}
-			}
-
-			return data;
-		}
-
-		// Sets multiple values
-		if ( typeof key === "object" ) {
-			return this.each( function() {
-				dataUser.set( this, key );
-			} );
-		}
-
-		return access( this, function( value ) {
-			var data, camelKey;
-
-			// The calling jQuery object (element matches) is not empty
-			// (and therefore has an element appears at this[ 0 ]) and the
-			// `value` parameter was not undefined. An empty jQuery object
-			// will result in `undefined` for elem = this[ 0 ] which will
-			// throw an exception if an attempt to read a data cache is made.
-			if ( elem && value === undefined ) {
-
-				// Attempt to get data from the cache
-				// with the key as-is
-				data = dataUser.get( elem, key ) ||
-
-					// Try to find dashed key if it exists (gh-2779)
-					// This is for 2.2.x only
-					dataUser.get( elem, key.replace( rmultiDash, "-$&" ).toLowerCase() );
-
-				if ( data !== undefined ) {
-					return data;
-				}
-
-				camelKey = jQuery.camelCase( key );
-
-				// Attempt to get data from the cache
-				// with the key camelized
-				data = dataUser.get( elem, camelKey );
-				if ( data !== undefined ) {
-					return data;
-				}
-
-				// Attempt to "discover" the data in
-				// HTML5 custom data-* attrs
-				data = dataAttr( elem, camelKey, undefined );
-				if ( data !== undefined ) {
-					return data;
-				}
-
-				// We tried really hard, but the data doesn't exist.
-				return;
-			}
-
-			// Set the data...
-			camelKey = jQuery.camelCase( key );
-			this.each( function() {
-
-				// First, attempt to store a copy or reference of any
-				// data that might've been store with a camelCased key.
-				var data = dataUser.get( this, camelKey );
-
-				// For HTML5 data-* attribute interop, we have to
-				// store property names with dashes in a camelCase form.
-				// This might not apply to all properties...*
-				dataUser.set( this, camelKey, value );
-
-				// *... In the case of properties that might _actually_
-				// have dashes, we need to also store a copy of that
-				// unchanged property.
-				if ( key.indexOf( "-" ) > -1 && data !== undefined ) {
-					dataUser.set( this, key, value );
-				}
-			} );
-		}, null, value, arguments.length > 1, null, true );
-	},
-
-	removeData: function( key ) {
-		return this.each( function() {
-			dataUser.remove( this, key );
-		} );
-	}
-} );
-
-
-jQuery.extend( {
-	queue: function( elem, type, data ) {
-		var queue;
-
-		if ( elem ) {
-			type = ( type || "fx" ) + "queue";
-			queue = dataPriv.get( elem, type );
-
-			// Speed up dequeue by getting out quickly if this is just a lookup
-			if ( data ) {
-				if ( !queue || jQuery.isArray( data ) ) {
-					queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
-				} else {
-					queue.push( data );
-				}
-			}
-			return queue || [];
-		}
-	},
-
-	dequeue: function( elem, type ) {
-		type = type || "fx";
-
-		var queue = jQuery.queue( elem, type ),
-			startLength = queue.length,
-			fn = queue.shift(),
-			hooks = jQuery._queueHooks( elem, type ),
-			next = function() {
-				jQuery.dequeue( elem, type );
-			};
-
-		// If the fx queue is dequeued, always remove the progress sentinel
-		if ( fn === "inprogress" ) {
-			fn = queue.shift();
-			startLength--;
-		}
-
-		if ( fn ) {
-
-			// Add a progress sentinel to prevent the fx queue from being
-			// automatically dequeued
-			if ( type === "fx" ) {
-				queue.unshift( "inprogress" );
-			}
-
-			// Clear up the last queue stop function
-			delete hooks.stop;
-			fn.call( elem, next, hooks );
-		}
-
-		if ( !startLength && hooks ) {
-			hooks.empty.fire();
-		}
-	},
-
-	// Not public - generate a queueHooks object, or return the current one
-	_queueHooks: function( elem, type ) {
-		var key = type + "queueHooks";
-		return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
-			empty: jQuery.Callbacks( "once memory" ).add( function() {
-				dataPriv.remove( elem, [ type + "queue", key ] );
-			} )
-		} );
-	}
-} );
-
-jQuery.fn.extend( {
-	queue: function( type, data ) {
-		var setter = 2;
-
-		if ( typeof type !== "string" ) {
-			data = type;
-			type = "fx";
-			setter--;
-		}
-
-		if ( arguments.length < setter ) {
-			return jQuery.queue( this[ 0 ], type );
-		}
-
-		return data === undefined ?
-			this :
-			this.each( function() {
-				var queue = jQuery.queue( this, type, data );
-
-				// Ensure a hooks for this queue
-				jQuery._queueHooks( this, type );
-
-				if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
-					jQuery.dequeue( this, type );
-				}
-			} );
-	},
-	dequeue: function( type ) {
-		return this.each( function() {
-			jQuery.dequeue( this, type );
-		} );
-	},
-	clearQueue: function( type ) {
-		return this.queue( type || "fx", [] );
-	},
-
-	// Get a promise resolved when queues of a certain type
-	// are emptied (fx is the type by default)
-	promise: function( type, obj ) {
-		var tmp,
-			count = 1,
-			defer = jQuery.Deferred(),
-			elements = this,
-			i = this.length,
-			resolve = function() {
-				if ( !( --count ) ) {
-					defer.resolveWith( elements, [ elements ] );
-				}
-			};
-
-		if ( typeof type !== "string" ) {
-			obj = type;
-			type = undefined;
-		}
-		type = type || "fx";
-
-		while ( i-- ) {
-			tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
-			if ( tmp && tmp.empty ) {
-				count++;
-				tmp.empty.add( resolve );
-			}
-		}
-		resolve();
-		return defer.promise( obj );
-	}
-} );
-var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
-
-var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
-
-
-var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
-
-var isHidden = function( elem, el ) {
-
-		// isHidden might be called from jQuery#filter function;
-		// in that case, element will be second argument
-		elem = el || elem;
-		return jQuery.css( elem, "display" ) === "none" ||
-			!jQuery.contains( elem.ownerDocument, elem );
-	};
-
-
-
-function adjustCSS( elem, prop, valueParts, tween ) {
-	var adjusted,
-		scale = 1,
-		maxIterations = 20,
-		currentValue = tween ?
-			function() { return tween.cur(); } :
-			function() { return jQuery.css( elem, prop, "" ); },
-		initial = currentValue(),
-		unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
-
-		// Starting value computation is required for potential unit mismatches
-		initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
-			rcssNum.exec( jQuery.css( elem, prop ) );
-
-	if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
-
-		// Trust units reported by jQuery.css
-		unit = unit || initialInUnit[ 3 ];
-
-		// Make sure we update the tween properties later on
-		valueParts = valueParts || [];
-
-		// Iteratively approximate from a nonzero starting point
-		initialInUnit = +initial || 1;
-
-		do {
-
-			// If previous iteration zeroed out, double until we get *something*.
-			// Use string for doubling so we don't accidentally see scale as unchanged below
-			scale = scale || ".5";
-
-			// Adjust and apply
-			initialInUnit = initialInUnit / scale;
-			jQuery.style( elem, prop, initialInUnit + unit );
-
-		// Update scale, tolerating zero or NaN from tween.cur()
-		// Break the loop if scale is unchanged or perfect, or if we've just had enough.
-		} while (
-			scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations
-		);
-	}
-
-	if ( valueParts ) {
-		initialInUnit = +initialInUnit || +initial || 0;
-
-		// Apply relative offset (+=/-=) if specified
-		adjusted = valueParts[ 1 ] ?
-			initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
-			+valueParts[ 2 ];
-		if ( tween ) {
-			tween.unit = unit;
-			tween.start = initialInUnit;
-			tween.end = adjusted;
-		}
-	}
-	return adjusted;
-}
-var rcheckableType = ( /^(?:checkbox|radio)$/i );
-
-var rtagName = ( /<([\w:-]+)/ );
-
-var rscriptType = ( /^$|\/(?:java|ecma)script/i );
-
-
-
-// We have to close these tags to support XHTML (#13200)
-var wrapMap = {
-
-	// Support: IE9
-	option: [ 1, "<select multiple='multiple'>", "</select>" ],
-
-	// XHTML parsers do not magically insert elements in the
-	// same way that tag soup parsers do. So we cannot shorten
-	// this by omitting <tbody> or other required elements.
-	thead: [ 1, "<table>", "</table>" ],
-	col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
-	tr: [ 2, "<table><tbody>", "</tbody></table>" ],
-	td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
-
-	_default: [ 0, "", "" ]
-};
-
-// Support: IE9
-wrapMap.optgroup = wrapMap.option;
-
-wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
-wrapMap.th = wrapMap.td;
-
-
-function getAll( context, tag ) {
-
-	// Support: IE9-11+
-	// Use typeof to avoid zero-argument method invocation on host objects (#15151)
-	var ret = typeof context.getElementsByTagName !== "undefined" ?
-			context.getElementsByTagName( tag || "*" ) :
-			typeof context.querySelectorAll !== "undefined" ?
-				context.querySelectorAll( tag || "*" ) :
-			[];
-
-	return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
-		jQuery.merge( [ context ], ret ) :
-		ret;
-}
-
-
-// Mark scripts as having already been evaluated
-function setGlobalEval( elems, refElements ) {
-	var i = 0,
-		l = elems.length;
-
-	for ( ; i < l; i++ ) {
-		dataPriv.set(
-			elems[ i ],
-			"globalEval",
-			!refElements || dataPriv.get( refElements[ i ], "globalEval" )
-		);
-	}
-}
-
-
-var rhtml = /<|&#?\w+;/;
-
-function buildFragment( elems, context, scripts, selection, ignored ) {
-	var elem, tmp, tag, wrap, contains, j,
-		fragment = context.createDocumentFragment(),
-		nodes = [],
-		i = 0,
-		l = elems.length;
-
-	for ( ; i < l; i++ ) {
-		elem = elems[ i ];
-
-		if ( elem || elem === 0 ) {
-
-			// Add nodes directly
-			if ( jQuery.type( elem ) === "object" ) {
-
-				// Support: Android<4.1, PhantomJS<2
-				// push.apply(_, arraylike) throws on ancient WebKit
-				jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
-
-			// Convert non-html into a text node
-			} else if ( !rhtml.test( elem ) ) {
-				nodes.push( context.createTextNode( elem ) );
-
-			// Convert html into DOM nodes
-			} else {
-				tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
-
-				// Deserialize a standard representation
-				tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
-				wrap = wrapMap[ tag ] || wrapMap._default;
-				tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
-
-				// Descend through wrappers to the right content
-				j = wrap[ 0 ];
-				while ( j-- ) {
-					tmp = tmp.lastChild;
-				}
-
-				// Support: Android<4.1, PhantomJS<2
-				// push.apply(_, arraylike) throws on ancient WebKit
-				jQuery.merge( nodes, tmp.childNodes );
-
-				// Remember the top-level container
-				tmp = fragment.firstChild;
-
-				// Ensure the created nodes are orphaned (#12392)
-				tmp.textContent = "";
-			}
-		}
-	}
-
-	// Remove wrapper from fragment
-	fragment.textContent = "";
-
-	i = 0;
-	while ( ( elem = nodes[ i++ ] ) ) {
-
-		// Skip elements already in the context collection (trac-4087)
-		if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
-			if ( ignored ) {
-				ignored.push( elem );
-			}
-			continue;
-		}
-
-		contains = jQuery.contains( elem.ownerDocument, elem );
-
-		// Append to fragment
-		tmp = getAll( fragment.appendChild( elem ), "script" );
-
-		// Preserve script evaluation history
-		if ( contains ) {
-			setGlobalEval( tmp );
-		}
-
-		// Capture executables
-		if ( scripts ) {
-			j = 0;
-			while ( ( elem = tmp[ j++ ] ) ) {
-				if ( rscriptType.test( elem.type || "" ) ) {
-					scripts.push( elem );
-				}
-			}
-		}
-	}
-
-	return fragment;
-}
-
-
-( function() {
-	var fragment = document.createDocumentFragment(),
-		div = fragment.appendChild( document.createElement( "div" ) ),
-		input = document.createElement( "input" );
-
-	// Support: Android 4.0-4.3, Safari<=5.1
-	// Check state lost if the name is set (#11217)
-	// Support: Windows Web Apps (WWA)
-	// `name` and `type` must use .setAttribute for WWA (#14901)
-	input.setAttribute( "type", "radio" );
-	input.setAttribute( "checked", "checked" );
-	input.setAttribute( "name", "t" );
-
-	div.appendChild( input );
-
-	// Support: Safari<=5.1, Android<4.2
-	// Older WebKit doesn't clone checked state correctly in fragments
-	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
-
-	// Support: IE<=11+
-	// Make sure textarea (and checkbox) defaultValue is properly cloned
-	div.innerHTML = "<textarea>x</textarea>";
-	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
-} )();
-
-
-var
-	rkeyEvent = /^key/,
-	rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
-	rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
-
-function returnTrue() {
-	return true;
-}
-
-function returnFalse() {
-	return false;
-}
-
-// Support: IE9
-// See #13393 for more info
-function safeActiveElement() {
-	try {
-		return document.activeElement;
-	} catch ( err ) { }
-}
-
-function on( elem, types, selector, data, fn, one ) {
-	var origFn, type;
-
-	// Types can be a map of types/handlers
-	if ( typeof types === "object" ) {
-
-		// ( types-Object, selector, data )
-		if ( typeof selector !== "string" ) {
-
-			// ( types-Object, data )
-			data = data || selector;
-			selector = undefined;
-		}
-		for ( type in types ) {
-			on( elem, type, selector, data, types[ type ], one );
-		}
-		return elem;
-	}
-
-	if ( data == null && fn == null ) {
-
-		// ( types, fn )
-		fn = selector;
-		data = selector = undefined;
-	} else if ( fn == null ) {
-		if ( typeof selector === "string" ) {
-
-			// ( types, selector, fn )
-			fn = data;
-			data = undefined;
-		} else {
-
-			// ( types, data, fn )
-			fn = data;
-			data = selector;
-			selector = undefined;
-		}
-	}
-	if ( fn === false ) {
-		fn = returnFalse;
-	} else if ( !fn ) {
-		return elem;
-	}
-
-	if ( one === 1 ) {
-		origFn = fn;
-		fn = function( event ) {
-
-			// Can use an empty set, since event contains the info
-			jQuery().off( event );
-			return origFn.apply( this, arguments );
-		};
-
-		// Use same guid so caller can remove using origFn
-		fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
-	}
-	return elem.each( function() {
-		jQuery.event.add( this, types, fn, data, selector );
-	} );
-}
-
-/*
- * Helper functions for managing events -- not part of the public interface.
- * Props to Dean Edwards' addEvent library for many of the ideas.
- */
-jQuery.event = {
-
-	global: {},
-
-	add: function( elem, types, handler, data, selector ) {
-
-		var handleObjIn, eventHandle, tmp,
-			events, t, handleObj,
-			special, handlers, type, namespaces, origType,
-			elemData = dataPriv.get( elem );
-
-		// Don't attach events to noData or text/comment nodes (but allow plain objects)
-		if ( !elemData ) {
-			return;
-		}
-
-		// Caller can pass in an object of custom data in lieu of the handler
-		if ( handler.handler ) {
-			handleObjIn = handler;
-			handler = handleObjIn.handler;
-			selector = handleObjIn.selector;
-		}
-
-		// Make sure that the handler has a unique ID, used to find/remove it later
-		if ( !handler.guid ) {
-			handler.guid = jQuery.guid++;
-		}
-
-		// Init the element's event structure and main handler, if this is the first
-		if ( !( events = elemData.events ) ) {
-			events = elemData.events = {};
-		}
-		if ( !( eventHandle = elemData.handle ) ) {
-			eventHandle = elemData.handle = function( e ) {
-
-				// Discard the second event of a jQuery.event.trigger() and
-				// when an event is called after a page has unloaded
-				return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
-					jQuery.event.dispatch.apply( elem, arguments ) : undefined;
-			};
-		}
-
-		// Handle multiple events separated by a space
-		types = ( types || "" ).match( rnotwhite ) || [ "" ];
-		t = types.length;
-		while ( t-- ) {
-			tmp = rtypenamespace.exec( types[ t ] ) || [];
-			type = origType = tmp[ 1 ];
-			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
-
-			// There *must* be a type, no attaching namespace-only handlers
-			if ( !type ) {
-				continue;
-			}
-
-			// If event changes its type, use the special event handlers for the changed type
-			special = jQuery.event.special[ type ] || {};
-
-			// If selector defined, determine special event api type, otherwise given type
-			type = ( selector ? special.delegateType : special.bindType ) || type;
-
-			// Update special based on newly reset type
-			special = jQuery.event.special[ type ] || {};
-
-			// handleObj is passed to all event handlers
-			handleObj = jQuery.extend( {
-				type: type,
-				origType: origType,
-				data: data,
-				handler: handler,
-				guid: handler.guid,
-				selector: selector,
-				needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
-				namespace: namespaces.join( "." )
-			}, handleObjIn );
-
-			// Init the event handler queue if we're the first
-			if ( !( handlers = events[ type ] ) ) {
-				handlers = events[ type ] = [];
-				handlers.delegateCount = 0;
-
-				// Only use addEventListener if the special events handler returns false
-				if ( !special.setup ||
-					special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
-
-					if ( elem.addEventListener ) {
-						elem.addEventListener( type, eventHandle );
-					}
-				}
-			}
-
-			if ( special.add ) {
-				special.add.call( elem, handleObj );
-
-				if ( !handleObj.handler.guid ) {
-					handleObj.handler.guid = handler.guid;
-				}
-			}
-
-			// Add to the element's handler list, delegates in front
-			if ( selector ) {
-				handlers.splice( handlers.delegateCount++, 0, handleObj );
-			} else {
-				handlers.push( handleObj );
-			}
-
-			// Keep track of which events have ever been used, for event optimization
-			jQuery.event.global[ type ] = true;
-		}
-
-	},
-
-	// Detach an event or set of events from an element
-	remove: function( elem, types, handler, selector, mappedTypes ) {
-
-		var j, origCount, tmp,
-			events, t, handleObj,
-			special, handlers, type, namespaces, origType,
-			elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
-
-		if ( !elemData || !( events = elemData.events ) ) {
-			return;
-		}
-
-		// Once for each type.namespace in types; type may be omitted
-		types = ( types || "" ).match( rnotwhite ) || [ "" ];
-		t = types.length;
-		while ( t-- ) {
-			tmp = rtypenamespace.exec( types[ t ] ) || [];
-			type = origType = tmp[ 1 ];
-			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
-
-			// Unbind all events (on this namespace, if provided) for the element
-			if ( !type ) {
-				for ( type in events ) {
-					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
-				}
-				continue;
-			}
-
-			special = jQuery.event.special[ type ] || {};
-			type = ( selector ? special.delegateType : special.bindType ) || type;
-			handlers = events[ type ] || [];
-			tmp = tmp[ 2 ] &&
-				new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
-
-			// Remove matching events
-			origCount = j = handlers.length;
-			while ( j-- ) {
-				handleObj = handlers[ j ];
-
-				if ( ( mappedTypes || origType === handleObj.origType ) &&
-					( !handler || handler.guid === handleObj.guid ) &&
-					( !tmp || tmp.test( handleObj.namespace ) ) &&
-					( !selector || selector === handleObj.selector ||
-						selector === "**" && handleObj.selector ) ) {
-					handlers.splice( j, 1 );
-
-					if ( handleObj.selector ) {
-						handlers.delegateCount--;
-					}
-					if ( special.remove ) {
-						special.remove.call( elem, handleObj );
-					}
-				}
-			}
-
-			// Remove generic event handler if we removed something and no more handlers exist
-			// (avoids potential for endless recursion during removal of special event handlers)
-			if ( origCount && !handlers.length ) {
-				if ( !special.teardown ||
-					special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
-
-					jQuery.removeEvent( elem, type, elemData.handle );
-				}
-
-				delete events[ type ];
-			}
-		}
-
-		// Remove data and the expando if it's no longer used
-		if ( jQuery.isEmptyObject( events ) ) {
-			dataPriv.remove( elem, "handle events" );
-		}
-	},
-
-	dispatch: function( event ) {
-
-		// Make a writable jQuery.Event from the native event object
-		event = jQuery.event.fix( event );
-
-		var i, j, ret, matched, handleObj,
-			handlerQueue = [],
-			args = slice.call( arguments ),
-			handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
-			special = jQuery.event.special[ event.type ] || {};
-
-		// Use the fix-ed jQuery.Event rather than the (read-only) native event
-		args[ 0 ] = event;
-		event.delegateTarget = this;
-
-		// Call the preDispatch hook for the mapped type, and let it bail if desired
-		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
-			return;
-		}
-
-		// Determine handlers
-		handlerQueue = jQuery.event.handlers.call( this, event, handlers );
-
-		// Run delegates first; they may want to stop propagation beneath us
-		i = 0;
-		while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
-			event.currentTarget = matched.elem;
-
-			j = 0;
-			while ( ( handleObj = matched.handlers[ j++ ] ) &&
-				!event.isImmediatePropagationStopped() ) {
-
-				// Triggered event must either 1) have no namespace, or 2) have namespace(s)
-				// a subset or equal to those in the bound event (both can have no namespace).
-				if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
-
-					event.handleObj = handleObj;
-					event.data = handleObj.data;
-
-					ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
-						handleObj.handler ).apply( matched.elem, args );
-
-					if ( ret !== undefined ) {
-						if ( ( event.result = ret ) === false ) {
-							event.preventDefault();
-							event.stopPropagation();
-						}
-					}
-				}
-			}
-		}
-
-		// Call the postDispatch hook for the mapped type
-		if ( special.postDispatch ) {
-			special.postDispatch.call( this, event );
-		}
-
-		return event.result;
-	},
-
-	handlers: function( event, handlers ) {
-		var i, matches, sel, handleObj,
-			handlerQueue = [],
-			delegateCount = handlers.delegateCount,
-			cur = event.target;
-
-		// Support (at least): Chrome, IE9
-		// Find delegate handlers
-		// Black-hole SVG <use> instance trees (#13180)
-		//
-		// Support: Firefox<=42+
-		// Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)
-		if ( delegateCount && cur.nodeType &&
-			( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) {
-
-			for ( ; cur !== this; cur = cur.parentNode || this ) {
-
-				// Don't check non-elements (#13208)
-				// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
-				if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) {
-					matches = [];
-					for ( i = 0; i < delegateCount; i++ ) {
-						handleObj = handlers[ i ];
-
-						// Don't conflict with Object.prototype properties (#13203)
-						sel = handleObj.selector + " ";
-
-						if ( matches[ sel ] === undefined ) {
-							matches[ sel ] = handleObj.needsContext ?
-								jQuery( sel, this ).index( cur ) > -1 :
-								jQuery.find( sel, this, null, [ cur ] ).length;
-						}
-						if ( matches[ sel ] ) {
-							matches.push( handleObj );
-						}
-					}
-					if ( matches.length ) {
-						handlerQueue.push( { elem: cur, handlers: matches } );
-					}
-				}
-			}
-		}
-
-		// Add the remaining (directly-bound) handlers
-		if ( delegateCount < handlers.length ) {
-			handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );
-		}
-
-		return handlerQueue;
-	},
-
-	// Includes some event props shared by KeyEvent and MouseEvent
-	props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " +
-		"metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ),
-
-	fixHooks: {},
-
-	keyHooks: {
-		props: "char charCode key keyCode".split( " " ),
-		filter: function( event, original ) {
-
-			// Add which for key events
-			if ( event.which == null ) {
-				event.which = original.charCode != null ? original.charCode : original.keyCode;
-			}
-
-			return event;
-		}
-	},
-
-	mouseHooks: {
-		props: ( "button buttons clientX clientY offsetX offsetY pageX pageY " +
-			"screenX screenY toElement" ).split( " " ),
-		filter: function( event, original ) {
-			var eventDoc, doc, body,
-				button = original.button;
-
-			// Calculate pageX/Y if missing and clientX/Y available
-			if ( event.pageX == null && original.clientX != null ) {
-				eventDoc = event.target.ownerDocument || document;
-				doc = eventDoc.documentElement;
-				body = eventDoc.body;
-
-				event.pageX = original.clientX +
-					( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) -
-					( doc && doc.clientLeft || body && body.clientLeft || 0 );
-				event.pageY = original.clientY +
-					( doc && doc.scrollTop  || body && body.scrollTop  || 0 ) -
-					( doc && doc.clientTop  || body && body.clientTop  || 0 );
-			}
-
-			// Add which for click: 1 === left; 2 === middle; 3 === right
-			// Note: button is not normalized, so don't use it
-			if ( !event.which && button !== undefined ) {
-				event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
-			}
-
-			return event;
-		}
-	},
-
-	fix: function( event ) {
-		if ( event[ jQuery.expando ] ) {
-			return event;
-		}
-
-		// Create a writable copy of the event object and normalize some properties
-		var i, prop, copy,
-			type = event.type,
-			originalEvent = event,
-			fixHook = this.fixHooks[ type ];
-
-		if ( !fixHook ) {
-			this.fixHooks[ type ] = fixHook =
-				rmouseEvent.test( type ) ? this.mouseHooks :
-				rkeyEvent.test( type ) ? this.keyHooks :
-				{};
-		}
-		copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
-
-		event = new jQuery.Event( originalEvent );
-
-		i = copy.length;
-		while ( i-- ) {
-			prop = copy[ i ];
-			event[ prop ] = originalEvent[ prop ];
-		}
-
-		// Support: Cordova 2.5 (WebKit) (#13255)
-		// All events should have a target; Cordova deviceready doesn't
-		if ( !event.target ) {
-			event.target = document;
-		}
-
-		// Support: Safari 6.0+, Chrome<28
-		// Target should not be a text node (#504, #13143)
-		if ( event.target.nodeType === 3 ) {
-			event.target = event.target.parentNode;
-		}
-
-		return fixHook.filter ? fixHook.filter( event, originalEvent ) : event;
-	},
-
-	special: {
-		load: {
-
-			// Prevent triggered image.load events from bubbling to window.load
-			noBubble: true
-		},
-		focus: {
-
-			// Fire native event if possible so blur/focus sequence is correct
-			trigger: function() {
-				if ( this !== safeActiveElement() && this.focus ) {
-					this.focus();
-					return false;
-				}
-			},
-			delegateType: "focusin"
-		},
-		blur: {
-			trigger: function() {
-				if ( this === safeActiveElement() && this.blur ) {
-					this.blur();
-					return false;
-				}
-			},
-			delegateType: "focusout"
-		},
-		click: {
-
-			// For checkbox, fire native event so checked state will be right
-			trigger: function() {
-				if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {
-					this.click();
-					return false;
-				}
-			},
-
-			// For cross-browser consistency, don't fire native .click() on links
-			_default: function( event ) {
-				return jQuery.nodeName( event.target, "a" );
-			}
-		},
-
-		beforeunload: {
-			postDispatch: function( event ) {
-
-				// Support: Firefox 20+
-				// Firefox doesn't alert if the returnValue field is not set.
-				if ( event.result !== undefined && event.originalEvent ) {
-					event.originalEvent.returnValue = event.result;
-				}
-			}
-		}
-	}
-};
-
-jQuery.removeEvent = function( elem, type, handle ) {
-
-	// This "if" is needed for plain objects
-	if ( elem.removeEventListener ) {
-		elem.removeEventListener( type, handle );
-	}
-};
-
-jQuery.Event = function( src, props ) {
-
-	// Allow instantiation without the 'new' keyword
-	if ( !( this instanceof jQuery.Event ) ) {
-		return new jQuery.Event( src, props );
-	}
-
-	// Event object
-	if ( src && src.type ) {
-		this.originalEvent = src;
-		this.type = src.type;
-
-		// Events bubbling up the document may have been marked as prevented
-		// by a handler lower down the tree; reflect the correct value.
-		this.isDefaultPrevented = src.defaultPrevented ||
-				src.defaultPrevented === undefined &&
-
-				// Support: Android<4.0
-				src.returnValue === false ?
-			returnTrue :
-			returnFalse;
-
-	// Event type
-	} else {
-		this.type = src;
-	}
-
-	// Put explicitly provided properties onto the event object
-	if ( props ) {
-		jQuery.extend( this, props );
-	}
-
-	// Create a timestamp if incoming event doesn't have one
-	this.timeStamp = src && src.timeStamp || jQuery.now();
-
-	// Mark it as fixed
-	this[ jQuery.expando ] = true;
-};
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
-	constructor: jQuery.Event,
-	isDefaultPrevented: returnFalse,
-	isPropagationStopped: returnFalse,
-	isImmediatePropagationStopped: returnFalse,
-
-	preventDefault: function() {
-		var e = this.originalEvent;
-
-		this.isDefaultPrevented = returnTrue;
-
-		if ( e ) {
-			e.preventDefault();
-		}
-	},
-	stopPropagation: function() {
-		var e = this.originalEvent;
-
-		this.isPropagationStopped = returnTrue;
-
-		if ( e ) {
-			e.stopPropagation();
-		}
-	},
-	stopImmediatePropagation: function() {
-		var e = this.originalEvent;
-
-		this.isImmediatePropagationStopped = returnTrue;
-
-		if ( e ) {
-			e.stopImmediatePropagation();
-		}
-
-		this.stopPropagation();
-	}
-};
-
-// Create mouseenter/leave events using mouseover/out and event-time checks
-// so that event delegation works in jQuery.
-// Do the same for pointerenter/pointerleave and pointerover/pointerout
-//
-// Support: Safari 7 only
-// Safari sends mouseenter too often; see:
-// https://code.google.com/p/chromium/issues/detail?id=470258
-// for the description of the bug (it existed in older Chrome versions as well).
-jQuery.each( {
-	mouseenter: "mouseover",
-	mouseleave: "mouseout",
-	pointerenter: "pointerover",
-	pointerleave: "pointerout"
-}, function( orig, fix ) {
-	jQuery.event.special[ orig ] = {
-		delegateType: fix,
-		bindType: fix,
-
-		handle: function( event ) {
-			var ret,
-				target = this,
-				related = event.relatedTarget,
-				handleObj = event.handleObj;
-
-			// For mouseenter/leave call the handler if related is outside the target.
-			// NB: No relatedTarget if the mouse left/entered the browser window
-			if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
-				event.type = handleObj.origType;
-				ret = handleObj.handler.apply( this, arguments );
-				event.type = fix;
-			}
-			return ret;
-		}
-	};
-} );
-
-jQuery.fn.extend( {
-	on: function( types, selector, data, fn ) {
-		return on( this, types, selector, data, fn );
-	},
-	one: function( types, selector, data, fn ) {
-		return on( this, types, selector, data, fn, 1 );
-	},
-	off: function( types, selector, fn ) {
-		var handleObj, type;
-		if ( types && types.preventDefault && types.handleObj ) {
-
-			// ( event )  dispatched jQuery.Event
-			handleObj = types.handleObj;
-			jQuery( types.delegateTarget ).off(
-				handleObj.namespace ?
-					handleObj.origType + "." + handleObj.namespace :
-					handleObj.origType,
-				handleObj.selector,
-				handleObj.handler
-			);
-			return this;
-		}
-		if ( typeof types === "object" ) {
-
-			// ( types-object [, selector] )
-			for ( type in types ) {
-				this.off( type, selector, types[ type ] );
-			}
-			return this;
-		}
-		if ( selector === false || typeof selector === "function" ) {
-
-			// ( types [, fn] )
-			fn = selector;
-			selector = undefined;
-		}
-		if ( fn === false ) {
-			fn = returnFalse;
-		}
-		return this.each( function() {
-			jQuery.event.remove( this, types, fn, selector );
-		} );
-	}
-} );
-
-
-var
-	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
-
-	// Support: IE 10-11, Edge 10240+
-	// In IE/Edge using regex groups here causes severe slowdowns.
-	// See https://connect.microsoft.com/IE/feedback/details/1736512/
-	rnoInnerhtml = /<script|<style|<link/i,
-
-	// checked="checked" or checked
-	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
-	rscriptTypeMasked = /^true\/(.*)/,
-	rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
-
-// Manipulating tables requires a tbody
-function manipulationTarget( elem, content ) {
-	return jQuery.nodeName( elem, "table" ) &&
-		jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ?
-
-		elem.getElementsByTagName( "tbody" )[ 0 ] ||
-			elem.appendChild( elem.ownerDocument.createElement( "tbody" ) ) :
-		elem;
-}
-
-// Replace/restore the type attribute of script elements for safe DOM manipulation
-function disableScript( elem ) {
-	elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
-	return elem;
-}
-function restoreScript( elem ) {
-	var match = rscriptTypeMasked.exec( elem.type );
-
-	if ( match ) {
-		elem.type = match[ 1 ];
-	} else {
-		elem.removeAttribute( "type" );
-	}
-
-	return elem;
-}
-
-function cloneCopyEvent( src, dest ) {
-	var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
-
-	if ( dest.nodeType !== 1 ) {
-		return;
-	}
-
-	// 1. Copy private data: events, handlers, etc.
-	if ( dataPriv.hasData( src ) ) {
-		pdataOld = dataPriv.access( src );
-		pdataCur = dataPriv.set( dest, pdataOld );
-		events = pdataOld.events;
-
-		if ( events ) {
-			delete pdataCur.handle;
-			pdataCur.events = {};
-
-			for ( type in events ) {
-				for ( i = 0, l = events[ type ].length; i < l; i++ ) {
-					jQuery.event.add( dest, type, events[ type ][ i ] );
-				}
-			}
-		}
-	}
-
-	// 2. Copy user data
-	if ( dataUser.hasData( src ) ) {
-		udataOld = dataUser.access( src );
-		udataCur = jQuery.extend( {}, udataOld );
-
-		dataUser.set( dest, udataCur );
-	}
-}
-
-// Fix IE bugs, see support tests
-function fixInput( src, dest ) {
-	var nodeName = dest.nodeName.toLowerCase();
-
-	// Fails to persist the checked state of a cloned checkbox or radio button.
-	if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
-		dest.checked = src.checked;
-
-	// Fails to return the selected option to the default selected state when cloning options
-	} else if ( nodeName === "input" || nodeName === "textarea" ) {
-		dest.defaultValue = src.defaultValue;
-	}
-}
-
-function domManip( collection, args, callback, ignored ) {
-
-	// Flatten any nested arrays
-	args = concat.apply( [], args );
-
-	var fragment, first, scripts, hasScripts, node, doc,
-		i = 0,
-		l = collection.length,
-		iNoClone = l - 1,
-		value = args[ 0 ],
-		isFunction = jQuery.isFunction( value );
-
-	// We can't cloneNode fragments that contain checked, in WebKit
-	if ( isFunction ||
-			( l > 1 && typeof value === "string" &&
-				!support.checkClone && rchecked.test( value ) ) ) {
-		return collection.each( function( index ) {
-			var self = collection.eq( index );
-			if ( isFunction ) {
-				args[ 0 ] = value.call( this, index, self.html() );
-			}
-			domManip( self, args, callback, ignored );
-		} );
-	}
-
-	if ( l ) {
-		fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
-		first = fragment.firstChild;
-
-		if ( fragment.childNodes.length === 1 ) {
-			fragment = first;
-		}
-
-		// Require either new content or an interest in ignored elements to invoke the callback
-		if ( first || ignored ) {
-			scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
-			hasScripts = scripts.length;
-
-			// Use the original fragment for the last item
-			// instead of the first because it can end up
-			// being emptied incorrectly in certain situations (#8070).
-			for ( ; i < l; i++ ) {
-				node = fragment;
-
-				if ( i !== iNoClone ) {
-					node = jQuery.clone( node, true, true );
-
-					// Keep references to cloned scripts for later restoration
-					if ( hasScripts ) {
-
-						// Support: Android<4.1, PhantomJS<2
-						// push.apply(_, arraylike) throws on ancient WebKit
-						jQuery.merge( scripts, getAll( node, "script" ) );
-					}
-				}
-
-				callback.call( collection[ i ], node, i );
-			}
-
-			if ( hasScripts ) {
-				doc = scripts[ scripts.length - 1 ].ownerDocument;
-
-				// Reenable scripts
-				jQuery.map( scripts, restoreScript );
-
-				// Evaluate executable scripts on first document insertion
-				for ( i = 0; i < hasScripts; i++ ) {
-					node = scripts[ i ];
-					if ( rscriptType.test( node.type || "" ) &&
-						!dataPriv.access( node, "globalEval" ) &&
-						jQuery.contains( doc, node ) ) {
-
-						if ( node.src ) {
-
-							// Optional AJAX dependency, but won't run scripts if not present
-							if ( jQuery._evalUrl ) {
-								jQuery._evalUrl( node.src );
-							}
-						} else {
-							jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) );
-						}
-					}
-				}
-			}
-		}
-	}
-
-	return collection;
-}
-
-function remove( elem, selector, keepData ) {
-	var node,
-		nodes = selector ? jQuery.filter( selector, elem ) : elem,
-		i = 0;
-
-	for ( ; ( node = nodes[ i ] ) != null; i++ ) {
-		if ( !keepData && node.nodeType === 1 ) {
-			jQuery.cleanData( getAll( node ) );
-		}
-
-		if ( node.parentNode ) {
-			if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
-				setGlobalEval( getAll( node, "script" ) );
-			}
-			node.parentNode.removeChild( node );
-		}
-	}
-
-	return elem;
-}
-
-jQuery.extend( {
-	htmlPrefilter: function( html ) {
-		return html.replace( rxhtmlTag, "<$1></$2>" );
-	},
-
-	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
-		var i, l, srcElements, destElements,
-			clone = elem.cloneNode( true ),
-			inPage = jQuery.contains( elem.ownerDocument, elem );
-
-		// Fix IE cloning issues
-		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
-				!jQuery.isXMLDoc( elem ) ) {
-
-			// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
-			destElements = getAll( clone );
-			srcElements = getAll( elem );
-
-			for ( i = 0, l = srcElements.length; i < l; i++ ) {
-				fixInput( srcElements[ i ], destElements[ i ] );
-			}
-		}
-
-		// Copy the events from the original to the clone
-		if ( dataAndEvents ) {
-			if ( deepDataAndEvents ) {
-				srcElements = srcElements || getAll( elem );
-				destElements = destElements || getAll( clone );
-
-				for ( i = 0, l = srcElements.length; i < l; i++ ) {
-					cloneCopyEvent( srcElements[ i ], destElements[ i ] );
-				}
-			} else {
-				cloneCopyEvent( elem, clone );
-			}
-		}
-
-		// Preserve script evaluation history
-		destElements = getAll( clone, "script" );
-		if ( destElements.length > 0 ) {
-			setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
-		}
-
-		// Return the cloned set
-		return clone;
-	},
-
-	cleanData: function( elems ) {
-		var data, elem, type,
-			special = jQuery.event.special,
-			i = 0;
-
-		for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
-			if ( acceptData( elem ) ) {
-				if ( ( data = elem[ dataPriv.expando ] ) ) {
-					if ( data.events ) {
-						for ( type in data.events ) {
-							if ( special[ type ] ) {
-								jQuery.event.remove( elem, type );
-
-							// This is a shortcut to avoid jQuery.event.remove's overhead
-							} else {
-								jQuery.removeEvent( elem, type, data.handle );
-							}
-						}
-					}
-
-					// Support: Chrome <= 35-45+
-					// Assign undefined instead of using delete, see Data#remove
-					elem[ dataPriv.expando ] = undefined;
-				}
-				if ( elem[ dataUser.expando ] ) {
-
-					// Support: Chrome <= 35-45+
-					// Assign undefined instead of using delete, see Data#remove
-					elem[ dataUser.expando ] = undefined;
-				}
-			}
-		}
-	}
-} );
-
-jQuery.fn.extend( {
-
-	// Keep domManip exposed until 3.0 (gh-2225)
-	domManip: domManip,
-
-	detach: function( selector ) {
-		return remove( this, selector, true );
-	},
-
-	remove: function( selector ) {
-		return remove( this, selector );
-	},
-
-	text: function( value ) {
-		return access( this, function( value ) {
-			return value === undefined ?
-				jQuery.text( this ) :
-				this.empty().each( function() {
-					if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
-						this.textContent = value;
-					}
-				} );
-		}, null, value, arguments.length );
-	},
-
-	append: function() {
-		return domManip( this, arguments, function( elem ) {
-			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
-				var target = manipulationTarget( this, elem );
-				target.appendChild( elem );
-			}
-		} );
-	},
-
-	prepend: function() {
-		return domManip( this, arguments, function( elem ) {
-			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
-				var target = manipulationTarget( this, elem );
-				target.insertBefore( elem, target.firstChild );
-			}
-		} );
-	},
-
-	before: function() {
-		return domManip( this, arguments, function( elem ) {
-			if ( this.parentNode ) {
-				this.parentNode.insertBefore( elem, this );
-			}
-		} );
-	},
-
-	after: function() {
-		return domManip( this, arguments, function( elem ) {
-			if ( this.parentNode ) {
-				this.parentNode.insertBefore( elem, this.nextSibling );
-			}
-		} );
-	},
-
-	empty: function() {
-		var elem,
-			i = 0;
-
-		for ( ; ( elem = this[ i ] ) != null; i++ ) {
-			if ( elem.nodeType === 1 ) {
-
-				// Prevent memory leaks
-				jQuery.cleanData( getAll( elem, false ) );
-
-				// Remove any remaining nodes
-				elem.textContent = "";
-			}
-		}
-
-		return this;
-	},
-
-	clone: function( dataAndEvents, deepDataAndEvents ) {
-		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
-		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
-
-		return this.map( function() {
-			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
-		} );
-	},
-
-	html: function( value ) {
-		return access( this, function( value ) {
-			var elem = this[ 0 ] || {},
-				i = 0,
-				l = this.length;
-
-			if ( value === undefined && elem.nodeType === 1 ) {
-				return elem.innerHTML;
-			}
-
-			// See if we can take a shortcut and just use innerHTML
-			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
-				!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
-
-				value = jQuery.htmlPrefilter( value );
-
-				try {
-					for ( ; i < l; i++ ) {
-						elem = this[ i ] || {};
-
-						// Remove element nodes and prevent memory leaks
-						if ( elem.nodeType === 1 ) {
-							jQuery.cleanData( getAll( elem, false ) );
-							elem.innerHTML = value;
-						}
-					}
-
-					elem = 0;
-
-				// If using innerHTML throws an exception, use the fallback method
-				} catch ( e ) {}
-			}
-
-			if ( elem ) {
-				this.empty().append( value );
-			}
-		}, null, value, arguments.length );
-	},
-
-	replaceWith: function() {
-		var ignored = [];
-
-		// Make the changes, replacing each non-ignored context element with the new content
-		return domManip( this, arguments, function( elem ) {
-			var parent = this.parentNode;
-
-			if ( jQuery.inArray( this, ignored ) < 0 ) {
-				jQuery.cleanData( getAll( this ) );
-				if ( parent ) {
-					parent.replaceChild( elem, this );
-				}
-			}
-
-		// Force callback invocation
-		}, ignored );
-	}
-} );
-
-jQuery.each( {
-	appendTo: "append",
-	prependTo: "prepend",
-	insertBefore: "before",
-	insertAfter: "after",
-	replaceAll: "replaceWith"
-}, function( name, original ) {
-	jQuery.fn[ name ] = function( selector ) {
-		var elems,
-			ret = [],
-			insert = jQuery( selector ),
-			last = insert.length - 1,
-			i = 0;
-
-		for ( ; i <= last; i++ ) {
-			elems = i === last ? this : this.clone( true );
-			jQuery( insert[ i ] )[ original ]( elems );
-
-			// Support: QtWebKit
-			// .get() because push.apply(_, arraylike) throws
-			push.apply( ret, elems.get() );
-		}
-
-		return this.pushStack( ret );
-	};
-} );
-
-
-var iframe,
-	elemdisplay = {
-
-		// Support: Firefox
-		// We have to pre-define these values for FF (#10227)
-		HTML: "block",
-		BODY: "block"
-	};
-
-/**
- * Retrieve the actual display of a element
- * @param {String} name nodeName of the element
- * @param {Object} doc Document object
- */
-
-// Called only from within defaultDisplay
-function actualDisplay( name, doc ) {
-	var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
-
-		display = jQuery.css( elem[ 0 ], "display" );
-
-	// We don't have any data stored on the element,
-	// so use "detach" method as fast way to get rid of the element
-	elem.detach();
-
-	return display;
-}
-
-/**
- * Try to determine the default display value of an element
- * @param {String} nodeName
- */
-function defaultDisplay( nodeName ) {
-	var doc = document,
-		display = elemdisplay[ nodeName ];
-
-	if ( !display ) {
-		display = actualDisplay( nodeName, doc );
-
-		// If the simple way fails, read from inside an iframe
-		if ( display === "none" || !display ) {
-
-			// Use the already-created iframe if possible
-			iframe = ( iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" ) )
-				.appendTo( doc.documentElement );
-
-			// Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse
-			doc = iframe[ 0 ].contentDocument;
-
-			// Support: IE
-			doc.write();
-			doc.close();
-
-			display = actualDisplay( nodeName, doc );
-			iframe.detach();
-		}
-
-		// Store the correct default display
-		elemdisplay[ nodeName ] = display;
-	}
-
-	return display;
-}
-var rmargin = ( /^margin/ );
-
-var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
-
-var getStyles = function( elem ) {
-
-		// Support: IE<=11+, Firefox<=30+ (#15098, #14150)
-		// IE throws on elements created in popups
-		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
-		var view = elem.ownerDocument.defaultView;
-
-		if ( !view || !view.opener ) {
-			view = window;
-		}
-
-		return view.getComputedStyle( elem );
-	};
-
-var swap = function( elem, options, callback, args ) {
-	var ret, name,
-		old = {};
-
-	// Remember the old values, and insert the new ones
-	for ( name in options ) {
-		old[ name ] = elem.style[ name ];
-		elem.style[ name ] = options[ name ];
-	}
-
-	ret = callback.apply( elem, args || [] );
-
-	// Revert the old values
-	for ( name in options ) {
-		elem.style[ name ] = old[ name ];
-	}
-
-	return ret;
-};
-
-
-var documentElement = document.documentElement;
-
-
-
-( function() {
-	var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,
-		container = document.createElement( "div" ),
-		div = document.createElement( "div" );
-
-	// Finish early in limited (non-browser) environments
-	if ( !div.style ) {
-		return;
-	}
-
-	// Support: IE9-11+
-	// Style of cloned element affects source element cloned (#8908)
-	div.style.backgroundClip = "content-box";
-	div.cloneNode( true ).style.backgroundClip = "";
-	support.clearCloneStyle = div.style.backgroundClip === "content-box";
-
-	container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" +
-		"padding:0;margin-top:1px;position:absolute";
-	container.appendChild( div );
-
-	// Executing both pixelPosition & boxSizingReliable tests require only one layout
-	// so they're executed at the same time to save the second computation.
-	function computeStyleTests() {
-		div.style.cssText =
-
-			// Support: Firefox<29, Android 2.3
-			// Vendor-prefix box-sizing
-			"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;" +
-			"position:relative;display:block;" +
-			"margin:auto;border:1px;padding:1px;" +
-			"top:1%;width:50%";
-		div.innerHTML = "";
-		documentElement.appendChild( container );
-
-		var divStyle = window.getComputedStyle( div );
-		pixelPositionVal = divStyle.top !== "1%";
-		reliableMarginLeftVal = divStyle.marginLeft === "2px";
-		boxSizingReliableVal = divStyle.width === "4px";
-
-		// Support: Android 4.0 - 4.3 only
-		// Some styles come back with percentage values, even though they shouldn't
-		div.style.marginRight = "50%";
-		pixelMarginRightVal = divStyle.marginRight === "4px";
-
-		documentElement.removeChild( container );
-	}
-
-	jQuery.extend( support, {
-		pixelPosition: function() {
-
-			// This test is executed only once but we still do memoizing
-			// since we can use the boxSizingReliable pre-computing.
-			// No need to check if the test was already performed, though.
-			computeStyleTests();
-			return pixelPositionVal;
-		},
-		boxSizingReliable: function() {
-			if ( boxSizingReliableVal == null ) {
-				computeStyleTests();
-			}
-			return boxSizingReliableVal;
-		},
-		pixelMarginRight: function() {
-
-			// Support: Android 4.0-4.3
-			// We're checking for boxSizingReliableVal here instead of pixelMarginRightVal
-			// since that compresses better and they're computed together anyway.
-			if ( boxSizingReliableVal == null ) {
-				computeStyleTests();
-			}
-			return pixelMarginRightVal;
-		},
-		reliableMarginLeft: function() {
-
-			// Support: IE <=8 only, Android 4.0 - 4.3 only, Firefox <=3 - 37
-			if ( boxSizingReliableVal == null ) {
-				computeStyleTests();
-			}
-			return reliableMarginLeftVal;
-		},
-		reliableMarginRight: function() {
-
-			// Support: Android 2.3
-			// Check if div with explicit width and no margin-right incorrectly
-			// gets computed margin-right based on width of container. (#3333)
-			// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
-			// This support function is only executed once so no memoizing is needed.
-			var ret,
-				marginDiv = div.appendChild( document.createElement( "div" ) );
-
-			// Reset CSS: box-sizing; display; margin; border; padding
-			marginDiv.style.cssText = div.style.cssText =
-
-				// Support: Android 2.3
-				// Vendor-prefix box-sizing
-				"-webkit-box-sizing:content-box;box-sizing:content-box;" +
-				"display:block;margin:0;border:0;padding:0";
-			marginDiv.style.marginRight = marginDiv.style.width = "0";
-			div.style.width = "1px";
-			documentElement.appendChild( container );
-
-			ret = !parseFloat( window.getComputedStyle( marginDiv ).marginRight );
-
-			documentElement.removeChild( container );
-			div.removeChild( marginDiv );
-
-			return ret;
-		}
-	} );
-} )();
-
-
-function curCSS( elem, name, computed ) {
-	var width, minWidth, maxWidth, ret,
-		style = elem.style;
-
-	computed = computed || getStyles( elem );
-	ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined;
-
-	// Support: Opera 12.1x only
-	// Fall back to style even without computed
-	// computed is undefined for elems on document fragments
-	if ( ( ret === "" || ret === undefined ) && !jQuery.contains( elem.ownerDocument, elem ) ) {
-		ret = jQuery.style( elem, name );
-	}
-
-	// Support: IE9
-	// getPropertyValue is only needed for .css('filter') (#12537)
-	if ( computed ) {
-
-		// A tribute to the "awesome hack by Dean Edwards"
-		// Android Browser returns percentage for some values,
-		// but width seems to be reliably pixels.
-		// This is against the CSSOM draft spec:
-		// http://dev.w3.org/csswg/cssom/#resolved-values
-		if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
-
-			// Remember the original values
-			width = style.width;
-			minWidth = style.minWidth;
-			maxWidth = style.maxWidth;
-
-			// Put in the new values to get a computed value out
-			style.minWidth = style.maxWidth = style.width = ret;
-			ret = computed.width;
-
-			// Revert the changed values
-			style.width = width;
-			style.minWidth = minWidth;
-			style.maxWidth = maxWidth;
-		}
-	}
-
-	return ret !== undefined ?
-
-		// Support: IE9-11+
-		// IE returns zIndex value as an integer.
-		ret + "" :
-		ret;
-}
-
-
-function addGetHookIf( conditionFn, hookFn ) {
-
-	// Define the hook, we'll check on the first run if it's really needed.
-	return {
-		get: function() {
-			if ( conditionFn() ) {
-
-				// Hook not needed (or it's not possible to use it due
-				// to missing dependency), remove it.
-				delete this.get;
-				return;
-			}
-
-			// Hook needed; redefine it so that the support test is not executed again.
-			return ( this.get = hookFn ).apply( this, arguments );
-		}
-	};
-}
-
-
-var
-
-	// Swappable if display is none or starts with table
-	// except "table", "table-cell", or "table-caption"
-	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
-	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
-
-	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
-	cssNormalTransform = {
-		letterSpacing: "0",
-		fontWeight: "400"
-	},
-
-	cssPrefixes = [ "Webkit", "O", "Moz", "ms" ],
-	emptyStyle = document.createElement( "div" ).style;
-
-// Return a css property mapped to a potentially vendor prefixed property
-function vendorPropName( name ) {
-
-	// Shortcut for names that are not vendor prefixed
-	if ( name in emptyStyle ) {
-		return name;
-	}
-
-	// Check for vendor prefixed names
-	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
-		i = cssPrefixes.length;
-
-	while ( i-- ) {
-		name = cssPrefixes[ i ] + capName;
-		if ( name in emptyStyle ) {
-			return name;
-		}
-	}
-}
-
-function setPositiveNumber( elem, value, subtract ) {
-
-	// Any relative (+/-) values have already been
-	// normalized at this point
-	var matches = rcssNum.exec( value );
-	return matches ?
-
-		// Guard against undefined "subtract", e.g., when used as in cssHooks
-		Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
-		value;
-}
-
-function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
-	var i = extra === ( isBorderBox ? "border" : "content" ) ?
-
-		// If we already have the right measurement, avoid augmentation
-		4 :
-
-		// Otherwise initialize for horizontal or vertical properties
-		name === "width" ? 1 : 0,
-
-		val = 0;
-
-	for ( ; i < 4; i += 2 ) {
-
-		// Both box models exclude margin, so add it if we want it
-		if ( extra === "margin" ) {
-			val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
-		}
-
-		if ( isBorderBox ) {
-
-			// border-box includes padding, so remove it if we want content
-			if ( extra === "content" ) {
-				val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
-			}
-
-			// At this point, extra isn't border nor margin, so remove border
-			if ( extra !== "margin" ) {
-				val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
-			}
-		} else {
-
-			// At this point, extra isn't content, so add padding
-			val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
-
-			// At this point, extra isn't content nor padding, so add border
-			if ( extra !== "padding" ) {
-				val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
-			}
-		}
-	}
-
-	return val;
-}
-
-function getWidthOrHeight( elem, name, extra ) {
-
-	// Start with offset property, which is equivalent to the border-box value
-	var valueIsBorderBox = true,
-		val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
-		styles = getStyles( elem ),
-		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
-
-	// Support: IE11 only
-	// In IE 11 fullscreen elements inside of an iframe have
-	// 100x too small dimensions (gh-1764).
-	if ( document.msFullscreenElement && window.top !== window ) {
-
-		// Support: IE11 only
-		// Running getBoundingClientRect on a disconnected node
-		// in IE throws an error.
-		if ( elem.getClientRects().length ) {
-			val = Math.round( elem.getBoundingClientRect()[ name ] * 100 );
-		}
-	}
-
-	// Some non-html elements return undefined for offsetWidth, so check for null/undefined
-	// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
-	// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
-	if ( val <= 0 || val == null ) {
-
-		// Fall back to computed then uncomputed css if necessary
-		val = curCSS( elem, name, styles );
-		if ( val < 0 || val == null ) {
-			val = elem.style[ name ];
-		}
-
-		// Computed unit is not pixels. Stop here and return.
-		if ( rnumnonpx.test( val ) ) {
-			return val;
-		}
-
-		// Check for style in case a browser which returns unreliable values
-		// for getComputedStyle silently falls back to the reliable elem.style
-		valueIsBorderBox = isBorderBox &&
-			( support.boxSizingReliable() || val === elem.style[ name ] );
-
-		// Normalize "", auto, and prepare for extra
-		val = parseFloat( val ) || 0;
-	}
-
-	// Use the active box-sizing model to add/subtract irrelevant styles
-	return ( val +
-		augmentWidthOrHeight(
-			elem,
-			name,
-			extra || ( isBorderBox ? "border" : "content" ),
-			valueIsBorderBox,
-			styles
-		)
-	) + "px";
-}
-
-function showHide( elements, show ) {
-	var display, elem, hidden,
-		values = [],
-		index = 0,
-		length = elements.length;
-
-	for ( ; index < length; index++ ) {
-		elem = elements[ index ];
-		if ( !elem.style ) {
-			continue;
-		}
-
-		values[ index ] = dataPriv.get( elem, "olddisplay" );
-		display = elem.style.display;
-		if ( show ) {
-
-			// Reset the inline display of this element to learn if it is
-			// being hidden by cascaded rules or not
-			if ( !values[ index ] && display === "none" ) {
-				elem.style.display = "";
-			}
-
-			// Set elements which have been overridden with display: none
-			// in a stylesheet to whatever the default browser style is
-			// for such an element
-			if ( elem.style.display === "" && isHidden( elem ) ) {
-				values[ index ] = dataPriv.access(
-					elem,
-					"olddisplay",
-					defaultDisplay( elem.nodeName )
-				);
-			}
-		} else {
-			hidden = isHidden( elem );
-
-			if ( display !== "none" || !hidden ) {
-				dataPriv.set(
-					elem,
-					"olddisplay",
-					hidden ? display : jQuery.css( elem, "display" )
-				);
-			}
-		}
-	}
-
-	// Set the display of most of the elements in a second loop
-	// to avoid the constant reflow
-	for ( index = 0; index < length; index++ ) {
-		elem = elements[ index ];
-		if ( !elem.style ) {
-			continue;
-		}
-		if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
-			elem.style.display = show ? values[ index ] || "" : "none";
-		}
-	}
-
-	return elements;
-}
-
-jQuery.extend( {
-
-	// Add in style property hooks for overriding the default
-	// behavior of getting and setting a style property
-	cssHooks: {
-		opacity: {
-			get: function( elem, computed ) {
-				if ( computed ) {
-
-					// We should always get a number back from opacity
-					var ret = curCSS( elem, "opacity" );
-					return ret === "" ? "1" : ret;
-				}
-			}
-		}
-	},
-
-	// Don't automatically add "px" to these possibly-unitless properties
-	cssNumber: {
-		"animationIterationCount": true,
-		"columnCount": true,
-		"fillOpacity": true,
-		"flexGrow": true,
-		"flexShrink": true,
-		"fontWeight": true,
-		"lineHeight": true,
-		"opacity": true,
-		"order": true,
-		"orphans": true,
-		"widows": true,
-		"zIndex": true,
-		"zoom": true
-	},
-
-	// Add in properties whose names you wish to fix before
-	// setting or getting the value
-	cssProps: {
-		"float": "cssFloat"
-	},
-
-	// Get and set the style property on a DOM Node
-	style: function( elem, name, value, extra ) {
-
-		// Don't set styles on text and comment nodes
-		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
-			return;
-		}
-
-		// Make sure that we're working with the right name
-		var ret, type, hooks,
-			origName = jQuery.camelCase( name ),
-			style = elem.style;
-
-		name = jQuery.cssProps[ origName ] ||
-			( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
-
-		// Gets hook for the prefixed version, then unprefixed version
-		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
-
-		// Check if we're setting a value
-		if ( value !== undefined ) {
-			type = typeof value;
-
-			// Convert "+=" or "-=" to relative numbers (#7345)
-			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
-				value = adjustCSS( elem, name, ret );
-
-				// Fixes bug #9237
-				type = "number";
-			}
-
-			// Make sure that null and NaN values aren't set (#7116)
-			if ( value == null || value !== value ) {
-				return;
-			}
-
-			// If a number was passed in, add the unit (except for certain CSS properties)
-			if ( type === "number" ) {
-				value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
-			}
-
-			// Support: IE9-11+
-			// background-* props affect original clone's values
-			if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
-				style[ name ] = "inherit";
-			}
-
-			// If a hook was provided, use that value, otherwise just set the specified value
-			if ( !hooks || !( "set" in hooks ) ||
-				( value = hooks.set( elem, value, extra ) ) !== undefined ) {
-
-				style[ name ] = value;
-			}
-
-		} else {
-
-			// If a hook was provided get the non-computed value from there
-			if ( hooks && "get" in hooks &&
-				( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
-
-				return ret;
-			}
-
-			// Otherwise just get the value from the style object
-			return style[ name ];
-		}
-	},
-
-	css: function( elem, name, extra, styles ) {
-		var val, num, hooks,
-			origName = jQuery.camelCase( name );
-
-		// Make sure that we're working with the right name
-		name = jQuery.cssProps[ origName ] ||
-			( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
-
-		// Try prefixed name followed by the unprefixed name
-		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
-
-		// If a hook was provided get the computed value from there
-		if ( hooks && "get" in hooks ) {
-			val = hooks.get( elem, true, extra );
-		}
-
-		// Otherwise, if a way to get the computed value exists, use that
-		if ( val === undefined ) {
-			val = curCSS( elem, name, styles );
-		}
-
-		// Convert "normal" to computed value
-		if ( val === "normal" && name in cssNormalTransform ) {
-			val = cssNormalTransform[ name ];
-		}
-
-		// Make numeric if forced or a qualifier was provided and val looks numeric
-		if ( extra === "" || extra ) {
-			num = parseFloat( val );
-			return extra === true || isFinite( num ) ? num || 0 : val;
-		}
-		return val;
-	}
-} );
-
-jQuery.each( [ "height", "width" ], function( i, name ) {
-	jQuery.cssHooks[ name ] = {
-		get: function( elem, computed, extra ) {
-			if ( computed ) {
-
-				// Certain elements can have dimension info if we invisibly show them
-				// but it must have a current display style that would benefit
-				return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
-					elem.offsetWidth === 0 ?
-						swap( elem, cssShow, function() {
-							return getWidthOrHeight( elem, name, extra );
-						} ) :
-						getWidthOrHeight( elem, name, extra );
-			}
-		},
-
-		set: function( elem, value, extra ) {
-			var matches,
-				styles = extra && getStyles( elem ),
-				subtract = extra && augmentWidthOrHeight(
-					elem,
-					name,
-					extra,
-					jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
-					styles
-				);
-
-			// Convert to pixels if value adjustment is needed
-			if ( subtract && ( matches = rcssNum.exec( value ) ) &&
-				( matches[ 3 ] || "px" ) !== "px" ) {
-
-				elem.style[ name ] = value;
-				value = jQuery.css( elem, name );
-			}
-
-			return setPositiveNumber( elem, value, subtract );
-		}
-	};
-} );
-
-jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
-	function( elem, computed ) {
-		if ( computed ) {
-			return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
-				elem.getBoundingClientRect().left -
-					swap( elem, { marginLeft: 0 }, function() {
-						return elem.getBoundingClientRect().left;
-					} )
-				) + "px";
-		}
-	}
-);
-
-// Support: Android 2.3
-jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,
-	function( elem, computed ) {
-		if ( computed ) {
-			return swap( elem, { "display": "inline-block" },
-				curCSS, [ elem, "marginRight" ] );
-		}
-	}
-);
-
-// These hooks are used by animate to expand properties
-jQuery.each( {
-	margin: "",
-	padding: "",
-	border: "Width"
-}, function( prefix, suffix ) {
-	jQuery.cssHooks[ prefix + suffix ] = {
-		expand: function( value ) {
-			var i = 0,
-				expanded = {},
-
-				// Assumes a single number if not a string
-				parts = typeof value === "string" ? value.split( " " ) : [ value ];
-
-			for ( ; i < 4; i++ ) {
-				expanded[ prefix + cssExpand[ i ] + suffix ] =
-					parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
-			}
-
-			return expanded;
-		}
-	};
-
-	if ( !rmargin.test( prefix ) ) {
-		jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
-	}
-} );
-
-jQuery.fn.extend( {
-	css: function( name, value ) {
-		return access( this, function( elem, name, value ) {
-			var styles, len,
-				map = {},
-				i = 0;
-
-			if ( jQuery.isArray( name ) ) {
-				styles = getStyles( elem );
-				len = name.length;
-
-				for ( ; i < len; i++ ) {
-					map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
-				}
-
-				return map;
-			}
-
-			return value !== undefined ?
-				jQuery.style( elem, name, value ) :
-				jQuery.css( elem, name );
-		}, name, value, arguments.length > 1 );
-	},
-	show: function() {
-		return showHide( this, true );
-	},
-	hide: function() {
-		return showHide( this );
-	},
-	toggle: function( state ) {
-		if ( typeof state === "boolean" ) {
-			return state ? this.show() : this.hide();
-		}
-
-		return this.each( function() {
-			if ( isHidden( this ) ) {
-				jQuery( this ).show();
-			} else {
-				jQuery( this ).hide();
-			}
-		} );
-	}
-} );
-
-
-function Tween( elem, options, prop, end, easing ) {
-	return new Tween.prototype.init( elem, options, prop, end, easing );
-}
-jQuery.Tween = Tween;
-
-Tween.prototype = {
-	constructor: Tween,
-	init: function( elem, options, prop, end, easing, unit ) {
-		this.elem = elem;
-		this.prop = prop;
-		this.easing = easing || jQuery.easing._default;
-		this.options = options;
-		this.start = this.now = this.cur();
-		this.end = end;
-		this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
-	},
-	cur: function() {
-		var hooks = Tween.propHooks[ this.prop ];
-
-		return hooks && hooks.get ?
-			hooks.get( this ) :
-			Tween.propHooks._default.get( this );
-	},
-	run: function( percent ) {
-		var eased,
-			hooks = Tween.propHooks[ this.prop ];
-
-		if ( this.options.duration ) {
-			this.pos = eased = jQuery.easing[ this.easing ](
-				percent, this.options.duration * percent, 0, 1, this.options.duration
-			);
-		} else {
-			this.pos = eased = percent;
-		}
-		this.now = ( this.end - this.start ) * eased + this.start;
-
-		if ( this.options.step ) {
-			this.options.step.call( this.elem, this.now, this );
-		}
-
-		if ( hooks && hooks.set ) {
-			hooks.set( this );
-		} else {
-			Tween.propHooks._default.set( this );
-		}
-		return this;
-	}
-};
-
-Tween.prototype.init.prototype = Tween.prototype;
-
-Tween.propHooks = {
-	_default: {
-		get: function( tween ) {
-			var result;
-
-			// Use a property on the element directly when it is not a DOM element,
-			// or when there is no matching style property that exists.
-			if ( tween.elem.nodeType !== 1 ||
-				tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
-				return tween.elem[ tween.prop ];
-			}
-
-			// Passing an empty string as a 3rd parameter to .css will automatically
-			// attempt a parseFloat and fallback to a string if the parse fails.
-			// Simple values such as "10px" are parsed to Float;
-			// complex values such as "rotate(1rad)" are returned as-is.
-			result = jQuery.css( tween.elem, tween.prop, "" );
-
-			// Empty strings, null, undefined and "auto" are converted to 0.
-			return !result || result === "auto" ? 0 : result;
-		},
-		set: function( tween ) {
-
-			// Use step hook for back compat.
-			// Use cssHook if its there.
-			// Use .style if available and use plain properties where available.
-			if ( jQuery.fx.step[ tween.prop ] ) {
-				jQuery.fx.step[ tween.prop ]( tween );
-			} else if ( tween.elem.nodeType === 1 &&
-				( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
-					jQuery.cssHooks[ tween.prop ] ) ) {
-				jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
-			} else {
-				tween.elem[ tween.prop ] = tween.now;
-			}
-		}
-	}
-};
-
-// Support: IE9
-// Panic based approach to setting things on disconnected nodes
-Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
-	set: function( tween ) {
-		if ( tween.elem.nodeType && tween.elem.parentNode ) {
-			tween.elem[ tween.prop ] = tween.now;
-		}
-	}
-};
-
-jQuery.easing = {
-	linear: function( p ) {
-		return p;
-	},
-	swing: function( p ) {
-		return 0.5 - Math.cos( p * Math.PI ) / 2;
-	},
-	_default: "swing"
-};
-
-jQuery.fx = Tween.prototype.init;
-
-// Back Compat <1.8 extension point
-jQuery.fx.step = {};
-
-
-
-
-var
-	fxNow, timerId,
-	rfxtypes = /^(?:toggle|show|hide)$/,
-	rrun = /queueHooks$/;
-
-// Animations created synchronously will run synchronously
-function createFxNow() {
-	window.setTimeout( function() {
-		fxNow = undefined;
-	} );
-	return ( fxNow = jQuery.now() );
-}
-
-// Generate parameters to create a standard animation
-function genFx( type, includeWidth ) {
-	var which,
-		i = 0,
-		attrs = { height: type };
-
-	// If we include width, step value is 1 to do all cssExpand values,
-	// otherwise step value is 2 to skip over Left and Right
-	includeWidth = includeWidth ? 1 : 0;
-	for ( ; i < 4 ; i += 2 - includeWidth ) {
-		which = cssExpand[ i ];
-		attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
-	}
-
-	if ( includeWidth ) {
-		attrs.opacity = attrs.width = type;
-	}
-
-	return attrs;
-}
-
-function createTween( value, prop, animation ) {
-	var tween,
-		collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
-		index = 0,
-		length = collection.length;
-	for ( ; index < length; index++ ) {
-		if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
-
-			// We're done with this property
-			return tween;
-		}
-	}
-}
-
-function defaultPrefilter( elem, props, opts ) {
-	/* jshint validthis: true */
-	var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,
-		anim = this,
-		orig = {},
-		style = elem.style,
-		hidden = elem.nodeType && isHidden( elem ),
-		dataShow = dataPriv.get( elem, "fxshow" );
-
-	// Handle queue: false promises
-	if ( !opts.queue ) {
-		hooks = jQuery._queueHooks( elem, "fx" );
-		if ( hooks.unqueued == null ) {
-			hooks.unqueued = 0;
-			oldfire = hooks.empty.fire;
-			hooks.empty.fire = function() {
-				if ( !hooks.unqueued ) {
-					oldfire();
-				}
-			};
-		}
-		hooks.unqueued++;
-
-		anim.always( function() {
-
-			// Ensure the complete handler is called before this completes
-			anim.always( function() {
-				hooks.unqueued--;
-				if ( !jQuery.queue( elem, "fx" ).length ) {
-					hooks.empty.fire();
-				}
-			} );
-		} );
-	}
-
-	// Height/width overflow pass
-	if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) {
-
-		// Make sure that nothing sneaks out
-		// Record all 3 overflow attributes because IE9-10 do not
-		// change the overflow attribute when overflowX and
-		// overflowY are set to the same value
-		opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
-
-		// Set display property to inline-block for height/width
-		// animations on inline elements that are having width/height animated
-		display = jQuery.css( elem, "display" );
-
-		// Test default display if display is currently "none"
-		checkDisplay = display === "none" ?
-			dataPriv.get( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display;
-
-		if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) {
-			style.display = "inline-block";
-		}
-	}
-
-	if ( opts.overflow ) {
-		style.overflow = "hidden";
-		anim.always( function() {
-			style.overflow = opts.overflow[ 0 ];
-			style.overflowX = opts.overflow[ 1 ];
-			style.overflowY = opts.overflow[ 2 ];
-		} );
-	}
-
-	// show/hide pass
-	for ( prop in props ) {
-		value = props[ prop ];
-		if ( rfxtypes.exec( value ) ) {
-			delete props[ prop ];
-			toggle = toggle || value === "toggle";
-			if ( value === ( hidden ? "hide" : "show" ) ) {
-
-				// If there is dataShow left over from a stopped hide or show
-				// and we are going to proceed with show, we should pretend to be hidden
-				if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
-					hidden = true;
-				} else {
-					continue;
-				}
-			}
-			orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
-
-		// Any non-fx value stops us from restoring the original display value
-		} else {
-			display = undefined;
-		}
-	}
-
-	if ( !jQuery.isEmptyObject( orig ) ) {
-		if ( dataShow ) {
-			if ( "hidden" in dataShow ) {
-				hidden = dataShow.hidden;
-			}
-		} else {
-			dataShow = dataPriv.access( elem, "fxshow", {} );
-		}
-
-		// Store state if its toggle - enables .stop().toggle() to "reverse"
-		if ( toggle ) {
-			dataShow.hidden = !hidden;
-		}
-		if ( hidden ) {
-			jQuery( elem ).show();
-		} else {
-			anim.done( function() {
-				jQuery( elem ).hide();
-			} );
-		}
-		anim.done( function() {
-			var prop;
-
-			dataPriv.remove( elem, "fxshow" );
-			for ( prop in orig ) {
-				jQuery.style( elem, prop, orig[ prop ] );
-			}
-		} );
-		for ( prop in orig ) {
-			tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
-
-			if ( !( prop in dataShow ) ) {
-				dataShow[ prop ] = tween.start;
-				if ( hidden ) {
-					tween.end = tween.start;
-					tween.start = prop === "width" || prop === "height" ? 1 : 0;
-				}
-			}
-		}
-
-	// If this is a noop like .hide().hide(), restore an overwritten display value
-	} else if ( ( display === "none" ? defaultDisplay( elem.nodeName ) : display ) === "inline" ) {
-		style.display = display;
-	}
-}
-
-function propFilter( props, specialEasing ) {
-	var index, name, easing, value, hooks;
-
-	// camelCase, specialEasing and expand cssHook pass
-	for ( index in props ) {
-		name = jQuery.camelCase( index );
-		easing = specialEasing[ name ];
-		value = props[ index ];
-		if ( jQuery.isArray( value ) ) {
-			easing = value[ 1 ];
-			value = props[ index ] = value[ 0 ];
-		}
-
-		if ( index !== name ) {
-			props[ name ] = value;
-			delete props[ index ];
-		}
-
-		hooks = jQuery.cssHooks[ name ];
-		if ( hooks && "expand" in hooks ) {
-			value = hooks.expand( value );
-			delete props[ name ];
-
-			// Not quite $.extend, this won't overwrite existing keys.
-			// Reusing 'index' because we have the correct "name"
-			for ( index in value ) {
-				if ( !( index in props ) ) {
-					props[ index ] = value[ index ];
-					specialEasing[ index ] = easing;
-				}
-			}
-		} else {
-			specialEasing[ name ] = easing;
-		}
-	}
-}
-
-function Animation( elem, properties, options ) {
-	var result,
-		stopped,
-		index = 0,
-		length = Animation.prefilters.length,
-		deferred = jQuery.Deferred().always( function() {
-
-			// Don't match elem in the :animated selector
-			delete tick.elem;
-		} ),
-		tick = function() {
-			if ( stopped ) {
-				return false;
-			}
-			var currentTime = fxNow || createFxNow(),
-				remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
-
-				// Support: Android 2.3
-				// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
-				temp = remaining / animation.duration || 0,
-				percent = 1 - temp,
-				index = 0,
-				length = animation.tweens.length;
-
-			for ( ; index < length ; index++ ) {
-				animation.tweens[ index ].run( percent );
-			}
-
-			deferred.notifyWith( elem, [ animation, percent, remaining ] );
-
-			if ( percent < 1 && length ) {
-				return remaining;
-			} else {
-				deferred.resolveWith( elem, [ animation ] );
-				return false;
-			}
-		},
-		animation = deferred.promise( {
-			elem: elem,
-			props: jQuery.extend( {}, properties ),
-			opts: jQuery.extend( true, {
-				specialEasing: {},
-				easing: jQuery.easing._default
-			}, options ),
-			originalProperties: properties,
-			originalOptions: options,
-			startTime: fxNow || createFxNow(),
-			duration: options.duration,
-			tweens: [],
-			createTween: function( prop, end ) {
-				var tween = jQuery.Tween( elem, animation.opts, prop, end,
-						animation.opts.specialEasing[ prop ] || animation.opts.easing );
-				animation.tweens.push( tween );
-				return tween;
-			},
-			stop: function( gotoEnd ) {
-				var index = 0,
-
-					// If we are going to the end, we want to run all the tweens
-					// otherwise we skip this part
-					length = gotoEnd ? animation.tweens.length : 0;
-				if ( stopped ) {
-					return this;
-				}
-				stopped = true;
-				for ( ; index < length ; index++ ) {
-					animation.tweens[ index ].run( 1 );
-				}
-
-				// Resolve when we played the last frame; otherwise, reject
-				if ( gotoEnd ) {
-					deferred.notifyWith( elem, [ animation, 1, 0 ] );
-					deferred.resolveWith( elem, [ animation, gotoEnd ] );
-				} else {
-					deferred.rejectWith( elem, [ animation, gotoEnd ] );
-				}
-				return this;
-			}
-		} ),
-		props = animation.props;
-
-	propFilter( props, animation.opts.specialEasing );
-
-	for ( ; index < length ; index++ ) {
-		result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
-		if ( result ) {
-			if ( jQuery.isFunction( result.stop ) ) {
-				jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
-					jQuery.proxy( result.stop, result );
-			}
-			return result;
-		}
-	}
-
-	jQuery.map( props, createTween, animation );
-
-	if ( jQuery.isFunction( animation.opts.start ) ) {
-		animation.opts.start.call( elem, animation );
-	}
-
-	jQuery.fx.timer(
-		jQuery.extend( tick, {
-			elem: elem,
-			anim: animation,
-			queue: animation.opts.queue
-		} )
-	);
-
-	// attach callbacks from options
-	return animation.progress( animation.opts.progress )
-		.done( animation.opts.done, animation.opts.complete )
-		.fail( animation.opts.fail )
-		.always( animation.opts.always );
-}
-
-jQuery.Animation = jQuery.extend( Animation, {
-	tweeners: {
-		"*": [ function( prop, value ) {
-			var tween = this.createTween( prop, value );
-			adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
-			return tween;
-		} ]
-	},
-
-	tweener: function( props, callback ) {
-		if ( jQuery.isFunction( props ) ) {
-			callback = props;
-			props = [ "*" ];
-		} else {
-			props = props.match( rnotwhite );
-		}
-
-		var prop,
-			index = 0,
-			length = props.length;
-
-		for ( ; index < length ; index++ ) {
-			prop = props[ index ];
-			Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
-			Animation.tweeners[ prop ].unshift( callback );
-		}
-	},
-
-	prefilters: [ defaultPrefilter ],
-
-	prefilter: function( callback, prepend ) {
-		if ( prepend ) {
-			Animation.prefilters.unshift( callback );
-		} else {
-			Animation.prefilters.push( callback );
-		}
-	}
-} );
-
-jQuery.speed = function( speed, easing, fn ) {
-	var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
-		complete: fn || !fn && easing ||
-			jQuery.isFunction( speed ) && speed,
-		duration: speed,
-		easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
-	};
-
-	opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ?
-		opt.duration : opt.duration in jQuery.fx.speeds ?
-			jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
-
-	// Normalize opt.queue - true/undefined/null -> "fx"
-	if ( opt.queue == null || opt.queue === true ) {
-		opt.queue = "fx";
-	}
-
-	// Queueing
-	opt.old = opt.complete;
-
-	opt.complete = function() {
-		if ( jQuery.isFunction( opt.old ) ) {
-			opt.old.call( this );
-		}
-
-		if ( opt.queue ) {
-			jQuery.dequeue( this, opt.queue );
-		}
-	};
-
-	return opt;
-};
-
-jQuery.fn.extend( {
-	fadeTo: function( speed, to, easing, callback ) {
-
-		// Show any hidden elements after setting opacity to 0
-		return this.filter( isHidden ).css( "opacity", 0 ).show()
-
-			// Animate to the value specified
-			.end().animate( { opacity: to }, speed, easing, callback );
-	},
-	animate: function( prop, speed, easing, callback ) {
-		var empty = jQuery.isEmptyObject( prop ),
-			optall = jQuery.speed( speed, easing, callback ),
-			doAnimation = function() {
-
-				// Operate on a copy of prop so per-property easing won't be lost
-				var anim = Animation( this, jQuery.extend( {}, prop ), optall );
-
-				// Empty animations, or finishing resolves immediately
-				if ( empty || dataPriv.get( this, "finish" ) ) {
-					anim.stop( true );
-				}
-			};
-			doAnimation.finish = doAnimation;
-
-		return empty || optall.queue === false ?
-			this.each( doAnimation ) :
-			this.queue( optall.queue, doAnimation );
-	},
-	stop: function( type, clearQueue, gotoEnd ) {
-		var stopQueue = function( hooks ) {
-			var stop = hooks.stop;
-			delete hooks.stop;
-			stop( gotoEnd );
-		};
-
-		if ( typeof type !== "string" ) {
-			gotoEnd = clearQueue;
-			clearQueue = type;
-			type = undefined;
-		}
-		if ( clearQueue && type !== false ) {
-			this.queue( type || "fx", [] );
-		}
-
-		return this.each( function() {
-			var dequeue = true,
-				index = type != null && type + "queueHooks",
-				timers = jQuery.timers,
-				data = dataPriv.get( this );
-
-			if ( index ) {
-				if ( data[ index ] && data[ index ].stop ) {
-					stopQueue( data[ index ] );
-				}
-			} else {
-				for ( index in data ) {
-					if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
-						stopQueue( data[ index ] );
-					}
-				}
-			}
-
-			for ( index = timers.length; index--; ) {
-				if ( timers[ index ].elem === this &&
-					( type == null || timers[ index ].queue === type ) ) {
-
-					timers[ index ].anim.stop( gotoEnd );
-					dequeue = false;
-					timers.splice( index, 1 );
-				}
-			}
-
-			// Start the next in the queue if the last step wasn't forced.
-			// Timers currently will call their complete callbacks, which
-			// will dequeue but only if they were gotoEnd.
-			if ( dequeue || !gotoEnd ) {
-				jQuery.dequeue( this, type );
-			}
-		} );
-	},
-	finish: function( type ) {
-		if ( type !== false ) {
-			type = type || "fx";
-		}
-		return this.each( function() {
-			var index,
-				data = dataPriv.get( this ),
-				queue = data[ type + "queue" ],
-				hooks = data[ type + "queueHooks" ],
-				timers = jQuery.timers,
-				length = queue ? queue.length : 0;
-
-			// Enable finishing flag on private data
-			data.finish = true;
-
-			// Empty the queue first
-			jQuery.queue( this, type, [] );
-
-			if ( hooks && hooks.stop ) {
-				hooks.stop.call( this, true );
-			}
-
-			// Look for any active animations, and finish them
-			for ( index = timers.length; index--; ) {
-				if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
-					timers[ index ].anim.stop( true );
-					timers.splice( index, 1 );
-				}
-			}
-
-			// Look for any animations in the old queue and finish them
-			for ( index = 0; index < length; index++ ) {
-				if ( queue[ index ] && queue[ index ].finish ) {
-					queue[ index ].finish.call( this );
-				}
-			}
-
-			// Turn off finishing flag
-			delete data.finish;
-		} );
-	}
-} );
-
-jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
-	var cssFn = jQuery.fn[ name ];
-	jQuery.fn[ name ] = function( speed, easing, callback ) {
-		return speed == null || typeof speed === "boolean" ?
-			cssFn.apply( this, arguments ) :
-			this.animate( genFx( name, true ), speed, easing, callback );
-	};
-} );
-
-// Generate shortcuts for custom animations
-jQuery.each( {
-	slideDown: genFx( "show" ),
-	slideUp: genFx( "hide" ),
-	slideToggle: genFx( "toggle" ),
-	fadeIn: { opacity: "show" },
-	fadeOut: { opacity: "hide" },
-	fadeToggle: { opacity: "toggle" }
-}, function( name, props ) {
-	jQuery.fn[ name ] = function( speed, easing, callback ) {
-		return this.animate( props, speed, easing, callback );
-	};
-} );
-
-jQuery.timers = [];
-jQuery.fx.tick = function() {
-	var timer,
-		i = 0,
-		timers = jQuery.timers;
-
-	fxNow = jQuery.now();
-
-	for ( ; i < timers.length; i++ ) {
-		timer = timers[ i ];
-
-		// Checks the timer has not already been removed
-		if ( !timer() && timers[ i ] === timer ) {
-			timers.splice( i--, 1 );
-		}
-	}
-
-	if ( !timers.length ) {
-		jQuery.fx.stop();
-	}
-	fxNow = undefined;
-};
-
-jQuery.fx.timer = function( timer ) {
-	jQuery.timers.push( timer );
-	if ( timer() ) {
-		jQuery.fx.start();
-	} else {
-		jQuery.timers.pop();
-	}
-};
-
-jQuery.fx.interval = 13;
-jQuery.fx.start = function() {
-	if ( !timerId ) {
-		timerId = window.setInterval( jQuery.fx.tick, jQuery.fx.interval );
-	}
-};
-
-jQuery.fx.stop = function() {
-	window.clearInterval( timerId );
-
-	timerId = null;
-};
-
-jQuery.fx.speeds = {
-	slow: 600,
-	fast: 200,
-
-	// Default speed
-	_default: 400
-};
-
-
-// Based off of the plugin by Clint Helfers, with permission.
-// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
-jQuery.fn.delay = function( time, type ) {
-	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
-	type = type || "fx";
-
-	return this.queue( type, function( next, hooks ) {
-		var timeout = window.setTimeout( next, time );
-		hooks.stop = function() {
-			window.clearTimeout( timeout );
-		};
-	} );
-};
-
-
-( function() {
-	var input = document.createElement( "input" ),
-		select = document.createElement( "select" ),
-		opt = select.appendChild( document.createElement( "option" ) );
-
-	input.type = "checkbox";
-
-	// Support: iOS<=5.1, Android<=4.2+
-	// Default value for a checkbox should be "on"
-	support.checkOn = input.value !== "";
-
-	// Support: IE<=11+
-	// Must access selectedIndex to make default options select
-	support.optSelected = opt.selected;
-
-	// Support: Android<=2.3
-	// Options inside disabled selects are incorrectly marked as disabled
-	select.disabled = true;
-	support.optDisabled = !opt.disabled;
-
-	// Support: IE<=11+
-	// An input loses its value after becoming a radio
-	input = document.createElement( "input" );
-	input.value = "t";
-	input.type = "radio";
-	support.radioValue = input.value === "t";
-} )();
-
-
-var boolHook,
-	attrHandle = jQuery.expr.attrHandle;
-
-jQuery.fn.extend( {
-	attr: function( name, value ) {
-		return access( this, jQuery.attr, name, value, arguments.length > 1 );
-	},
-
-	removeAttr: function( name ) {
-		return this.each( function() {
-			jQuery.removeAttr( this, name );
-		} );
-	}
-} );
-
-jQuery.extend( {
-	attr: function( elem, name, value ) {
-		var ret, hooks,
-			nType = elem.nodeType;
-
-		// Don't get/set attributes on text, comment and attribute nodes
-		if ( nType === 3 || nType === 8 || nType === 2 ) {
-			return;
-		}
-
-		// Fallback to prop when attributes are not supported
-		if ( typeof elem.getAttribute === "undefined" ) {
-			return jQuery.prop( elem, name, value );
-		}
-
-		// All attributes are lowercase
-		// Grab necessary hook if one is defined
-		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
-			name = name.toLowerCase();
-			hooks = jQuery.attrHooks[ name ] ||
-				( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
-		}
-
-		if ( value !== undefined ) {
-			if ( value === null ) {
-				jQuery.removeAttr( elem, name );
-				return;
-			}
-
-			if ( hooks && "set" in hooks &&
-				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
-				return ret;
-			}
-
-			elem.setAttribute( name, value + "" );
-			return value;
-		}
-
-		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
-			return ret;
-		}
-
-		ret = jQuery.find.attr( elem, name );
-
-		// Non-existent attributes return null, we normalize to undefined
-		return ret == null ? undefined : ret;
-	},
-
-	attrHooks: {
-		type: {
-			set: function( elem, value ) {
-				if ( !support.radioValue && value === "radio" &&
-					jQuery.nodeName( elem, "input" ) ) {
-					var val = elem.value;
-					elem.setAttribute( "type", value );
-					if ( val ) {
-						elem.value = val;
-					}
-					return value;
-				}
-			}
-		}
-	},
-
-	removeAttr: function( elem, value ) {
-		var name, propName,
-			i = 0,
-			attrNames = value && value.match( rnotwhite );
-
-		if ( attrNames && elem.nodeType === 1 ) {
-			while ( ( name = attrNames[ i++ ] ) ) {
-				propName = jQuery.propFix[ name ] || name;
-
-				// Boolean attributes get special treatment (#10870)
-				if ( jQuery.expr.match.bool.test( name ) ) {
-
-					// Set corresponding property to false
-					elem[ propName ] = false;
-				}
-
-				elem.removeAttribute( name );
-			}
-		}
-	}
-} );
-
-// Hooks for boolean attributes
-boolHook = {
-	set: function( elem, value, name ) {
-		if ( value === false ) {
-
-			// Remove boolean attributes when set to false
-			jQuery.removeAttr( elem, name );
-		} else {
-			elem.setAttribute( name, name );
-		}
-		return name;
-	}
-};
-jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
-	var getter = attrHandle[ name ] || jQuery.find.attr;
-
-	attrHandle[ name ] = function( elem, name, isXML ) {
-		var ret, handle;
-		if ( !isXML ) {
-
-			// Avoid an infinite loop by temporarily removing this function from the getter
-			handle = attrHandle[ name ];
-			attrHandle[ name ] = ret;
-			ret = getter( elem, name, isXML ) != null ?
-				name.toLowerCase() :
-				null;
-			attrHandle[ name ] = handle;
-		}
-		return ret;
-	};
-} );
-
-
-
-
-var rfocusable = /^(?:input|select|textarea|button)$/i,
-	rclickable = /^(?:a|area)$/i;
-
-jQuery.fn.extend( {
-	prop: function( name, value ) {
-		return access( this, jQuery.prop, name, value, arguments.length > 1 );
-	},
-
-	removeProp: function( name ) {
-		return this.each( function() {
-			delete this[ jQuery.propFix[ name ] || name ];
-		} );
-	}
-} );
-
-jQuery.extend( {
-	prop: function( elem, name, value ) {
-		var ret, hooks,
-			nType = elem.nodeType;
-
-		// Don't get/set properties on text, comment and attribute nodes
-		if ( nType === 3 || nType === 8 || nType === 2 ) {
-			return;
-		}
-
-		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
-
-			// Fix name and attach hooks
-			name = jQuery.propFix[ name ] || name;
-			hooks = jQuery.propHooks[ name ];
-		}
-
-		if ( value !== undefined ) {
-			if ( hooks && "set" in hooks &&
-				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
-				return ret;
-			}
-
-			return ( elem[ name ] = value );
-		}
-
-		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
-			return ret;
-		}
-
-		return elem[ name ];
-	},
-
-	propHooks: {
-		tabIndex: {
-			get: function( elem ) {
-
-				// elem.tabIndex doesn't always return the
-				// correct value when it hasn't been explicitly set
-				// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
-				// Use proper attribute retrieval(#12072)
-				var tabindex = jQuery.find.attr( elem, "tabindex" );
-
-				return tabindex ?
-					parseInt( tabindex, 10 ) :
-					rfocusable.test( elem.nodeName ) ||
-						rclickable.test( elem.nodeName ) && elem.href ?
-							0 :
-							-1;
-			}
-		}
-	},
-
-	propFix: {
-		"for": "htmlFor",
-		"class": "className"
-	}
-} );
-
-// Support: IE <=11 only
-// Accessing the selectedIndex property
-// forces the browser to respect setting selected
-// on the option
-// The getter ensures a default option is selected
-// when in an optgroup
-if ( !support.optSelected ) {
-	jQuery.propHooks.selected = {
-		get: function( elem ) {
-			var parent = elem.parentNode;
-			if ( parent && parent.parentNode ) {
-				parent.parentNode.selectedIndex;
-			}
-			return null;
-		},
-		set: function( elem ) {
-			var parent = elem.parentNode;
-			if ( parent ) {
-				parent.selectedIndex;
-
-				if ( parent.parentNode ) {
-					parent.parentNode.selectedIndex;
-				}
-			}
-		}
-	};
-}
-
-jQuery.each( [
-	"tabIndex",
-	"readOnly",
-	"maxLength",
-	"cellSpacing",
-	"cellPadding",
-	"rowSpan",
-	"colSpan",
-	"useMap",
-	"frameBorder",
-	"contentEditable"
-], function() {
-	jQuery.propFix[ this.toLowerCase() ] = this;
-} );
-
-
-
-
-var rclass = /[\t\r\n\f]/g;
-
-function getClass( elem ) {
-	return elem.getAttribute && elem.getAttribute( "class" ) || "";
-}
-
-jQuery.fn.extend( {
-	addClass: function( value ) {
-		var classes, elem, cur, curValue, clazz, j, finalValue,
-			i = 0;
-
-		if ( jQuery.isFunction( value ) ) {
-			return this.each( function( j ) {
-				jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
-			} );
-		}
-
-		if ( typeof value === "string" && value ) {
-			classes = value.match( rnotwhite ) || [];
-
-			while ( ( elem = this[ i++ ] ) ) {
-				curValue = getClass( elem );
-				cur = elem.nodeType === 1 &&
-					( " " + curValue + " " ).replace( rclass, " " );
-
-				if ( cur ) {
-					j = 0;
-					while ( ( clazz = classes[ j++ ] ) ) {
-						if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
-							cur += clazz + " ";
-						}
-					}
-
-					// Only assign if different to avoid unneeded rendering.
-					finalValue = jQuery.trim( cur );
-					if ( curValue !== finalValue ) {
-						elem.setAttribute( "class", finalValue );
-					}
-				}
-			}
-		}
-
-		return this;
-	},
-
-	removeClass: function( value ) {
-		var classes, elem, cur, curValue, clazz, j, finalValue,
-			i = 0;
-
-		if ( jQuery.isFunction( value ) ) {
-			return this.each( function( j ) {
-				jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
-			} );
-		}
-
-		if ( !arguments.length ) {
-			return this.attr( "class", "" );
-		}
-
-		if ( typeof value === "string" && value ) {
-			classes = value.match( rnotwhite ) || [];
-
-			while ( ( elem = this[ i++ ] ) ) {
-				curValue = getClass( elem );
-
-				// This expression is here for better compressibility (see addClass)
-				cur = elem.nodeType === 1 &&
-					( " " + curValue + " " ).replace( rclass, " " );
-
-				if ( cur ) {
-					j = 0;
-					while ( ( clazz = classes[ j++ ] ) ) {
-
-						// Remove *all* instances
-						while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
-							cur = cur.replace( " " + clazz + " ", " " );
-						}
-					}
-
-					// Only assign if different to avoid unneeded rendering.
-					finalValue = jQuery.trim( cur );
-					if ( curValue !== finalValue ) {
-						elem.setAttribute( "class", finalValue );
-					}
-				}
-			}
-		}
-
-		return this;
-	},
-
-	toggleClass: function( value, stateVal ) {
-		var type = typeof value;
-
-		if ( typeof stateVal === "boolean" && type === "string" ) {
-			return stateVal ? this.addClass( value ) : this.removeClass( value );
-		}
-
-		if ( jQuery.isFunction( value ) ) {
-			return this.each( function( i ) {
-				jQuery( this ).toggleClass(
-					value.call( this, i, getClass( this ), stateVal ),
-					stateVal
-				);
-			} );
-		}
-
-		return this.each( function() {
-			var className, i, self, classNames;
-
-			if ( type === "string" ) {
-
-				// Toggle individual class names
-				i = 0;
-				self = jQuery( this );
-				classNames = value.match( rnotwhite ) || [];
-
-				while ( ( className = classNames[ i++ ] ) ) {
-
-					// Check each className given, space separated list
-					if ( self.hasClass( className ) ) {
-						self.removeClass( className );
-					} else {
-						self.addClass( className );
-					}
-				}
-
-			// Toggle whole class name
-			} else if ( value === undefined || type === "boolean" ) {
-				className = getClass( this );
-				if ( className ) {
-
-					// Store className if set
-					dataPriv.set( this, "__className__", className );
-				}
-
-				// If the element has a class name or if we're passed `false`,
-				// then remove the whole classname (if there was one, the above saved it).
-				// Otherwise bring back whatever was previously saved (if anything),
-				// falling back to the empty string if nothing was stored.
-				if ( this.setAttribute ) {
-					this.setAttribute( "class",
-						className || value === false ?
-						"" :
-						dataPriv.get( this, "__className__" ) || ""
-					);
-				}
-			}
-		} );
-	},
-
-	hasClass: function( selector ) {
-		var className, elem,
-			i = 0;
-
-		className = " " + selector + " ";
-		while ( ( elem = this[ i++ ] ) ) {
-			if ( elem.nodeType === 1 &&
-				( " " + getClass( elem ) + " " ).replace( rclass, " " )
-					.indexOf( className ) > -1
-			) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-} );
-
-
-
-
-var rreturn = /\r/g,
-	rspaces = /[\x20\t\r\n\f]+/g;
-
-jQuery.fn.extend( {
-	val: function( value ) {
-		var hooks, ret, isFunction,
-			elem = this[ 0 ];
-
-		if ( !arguments.length ) {
-			if ( elem ) {
-				hooks = jQuery.valHooks[ elem.type ] ||
-					jQuery.valHooks[ elem.nodeName.toLowerCase() ];
-
-				if ( hooks &&
-					"get" in hooks &&
-					( ret = hooks.get( elem, "value" ) ) !== undefined
-				) {
-					return ret;
-				}
-
-				ret = elem.value;
-
-				return typeof ret === "string" ?
-
-					// Handle most common string cases
-					ret.replace( rreturn, "" ) :
-
-					// Handle cases where value is null/undef or number
-					ret == null ? "" : ret;
-			}
-
-			return;
-		}
-
-		isFunction = jQuery.isFunction( value );
-
-		return this.each( function( i ) {
-			var val;
-
-			if ( this.nodeType !== 1 ) {
-				return;
-			}
-
-			if ( isFunction ) {
-				val = value.call( this, i, jQuery( this ).val() );
-			} else {
-				val = value;
-			}
-
-			// Treat null/undefined as ""; convert numbers to string
-			if ( val == null ) {
-				val = "";
-
-			} else if ( typeof val === "number" ) {
-				val += "";
-
-			} else if ( jQuery.isArray( val ) ) {
-				val = jQuery.map( val, function( value ) {
-					return value == null ? "" : value + "";
-				} );
-			}
-
-			hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
-
-			// If set returns undefined, fall back to normal setting
-			if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
-				this.value = val;
-			}
-		} );
-	}
-} );
-
-jQuery.extend( {
-	valHooks: {
-		option: {
-			get: function( elem ) {
-
-				var val = jQuery.find.attr( elem, "value" );
-				return val != null ?
-					val :
-
-					// Support: IE10-11+
-					// option.text throws exceptions (#14686, #14858)
-					// Strip and collapse whitespace
-					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
-					jQuery.trim( jQuery.text( elem ) ).replace( rspaces, " " );
-			}
-		},
-		select: {
-			get: function( elem ) {
-				var value, option,
-					options = elem.options,
-					index = elem.selectedIndex,
-					one = elem.type === "select-one" || index < 0,
-					values = one ? null : [],
-					max = one ? index + 1 : options.length,
-					i = index < 0 ?
-						max :
-						one ? index : 0;
-
-				// Loop through all the selected options
-				for ( ; i < max; i++ ) {
-					option = options[ i ];
-
-					// IE8-9 doesn't update selected after form reset (#2551)
-					if ( ( option.selected || i === index ) &&
-
-							// Don't return options that are disabled or in a disabled optgroup
-							( support.optDisabled ?
-								!option.disabled : option.getAttribute( "disabled" ) === null ) &&
-							( !option.parentNode.disabled ||
-								!jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
-
-						// Get the specific value for the option
-						value = jQuery( option ).val();
-
-						// We don't need an array for one selects
-						if ( one ) {
-							return value;
-						}
-
-						// Multi-Selects return an array
-						values.push( value );
-					}
-				}
-
-				return values;
-			},
-
-			set: function( elem, value ) {
-				var optionSet, option,
-					options = elem.options,
-					values = jQuery.makeArray( value ),
-					i = options.length;
-
-				while ( i-- ) {
-					option = options[ i ];
-					if ( option.selected =
-						jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
-					) {
-						optionSet = true;
-					}
-				}
-
-				// Force browsers to behave consistently when non-matching value is set
-				if ( !optionSet ) {
-					elem.selectedIndex = -1;
-				}
-				return values;
-			}
-		}
-	}
-} );
-
-// Radios and checkboxes getter/setter
-jQuery.each( [ "radio", "checkbox" ], function() {
-	jQuery.valHooks[ this ] = {
-		set: function( elem, value ) {
-			if ( jQuery.isArray( value ) ) {
-				return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
-			}
-		}
-	};
-	if ( !support.checkOn ) {
-		jQuery.valHooks[ this ].get = function( elem ) {
-			return elem.getAttribute( "value" ) === null ? "on" : elem.value;
-		};
-	}
-} );
-
-
-
-
-// Return jQuery for attributes-only inclusion
-
-
-var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;
-
-jQuery.extend( jQuery.event, {
-
-	trigger: function( event, data, elem, onlyHandlers ) {
-
-		var i, cur, tmp, bubbleType, ontype, handle, special,
-			eventPath = [ elem || document ],
-			type = hasOwn.call( event, "type" ) ? event.type : event,
-			namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
-
-		cur = tmp = elem = elem || document;
-
-		// Don't do events on text and comment nodes
-		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
-			return;
-		}
-
-		// focus/blur morphs to focusin/out; ensure we're not firing them right now
-		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
-			return;
-		}
-
-		if ( type.indexOf( "." ) > -1 ) {
-
-			// Namespaced trigger; create a regexp to match event type in handle()
-			namespaces = type.split( "." );
-			type = namespaces.shift();
-			namespaces.sort();
-		}
-		ontype = type.indexOf( ":" ) < 0 && "on" + type;
-
-		// Caller can pass in a jQuery.Event object, Object, or just an event type string
-		event = event[ jQuery.expando ] ?
-			event :
-			new jQuery.Event( type, typeof event === "object" && event );
-
-		// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
-		event.isTrigger = onlyHandlers ? 2 : 3;
-		event.namespace = namespaces.join( "." );
-		event.rnamespace = event.namespace ?
-			new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
-			null;
-
-		// Clean up the event in case it is being reused
-		event.result = undefined;
-		if ( !event.target ) {
-			event.target = elem;
-		}
-
-		// Clone any incoming data and prepend the event, creating the handler arg list
-		data = data == null ?
-			[ event ] :
-			jQuery.makeArray( data, [ event ] );
-
-		// Allow special events to draw outside the lines
-		special = jQuery.event.special[ type ] || {};
-		if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
-			return;
-		}
-
-		// Determine event propagation path in advance, per W3C events spec (#9951)
-		// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
-		if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
-
-			bubbleType = special.delegateType || type;
-			if ( !rfocusMorph.test( bubbleType + type ) ) {
-				cur = cur.parentNode;
-			}
-			for ( ; cur; cur = cur.parentNode ) {
-				eventPath.push( cur );
-				tmp = cur;
-			}
-
-			// Only add window if we got to document (e.g., not plain obj or detached DOM)
-			if ( tmp === ( elem.ownerDocument || document ) ) {
-				eventPath.push( tmp.defaultView || tmp.parentWindow || window );
-			}
-		}
-
-		// Fire handlers on the event path
-		i = 0;
-		while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
-
-			event.type = i > 1 ?
-				bubbleType :
-				special.bindType || type;
-
-			// jQuery handler
-			handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
-				dataPriv.get( cur, "handle" );
-			if ( handle ) {
-				handle.apply( cur, data );
-			}
-
-			// Native handler
-			handle = ontype && cur[ ontype ];
-			if ( handle && handle.apply && acceptData( cur ) ) {
-				event.result = handle.apply( cur, data );
-				if ( event.result === false ) {
-					event.preventDefault();
-				}
-			}
-		}
-		event.type = type;
-
-		// If nobody prevented the default action, do it now
-		if ( !onlyHandlers && !event.isDefaultPrevented() ) {
-
-			if ( ( !special._default ||
-				special._default.apply( eventPath.pop(), data ) === false ) &&
-				acceptData( elem ) ) {
-
-				// Call a native DOM method on the target with the same name name as the event.
-				// Don't do default actions on window, that's where global variables be (#6170)
-				if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
-
-					// Don't re-trigger an onFOO event when we call its FOO() method
-					tmp = elem[ ontype ];
-
-					if ( tmp ) {
-						elem[ ontype ] = null;
-					}
-
-					// Prevent re-triggering of the same event, since we already bubbled it above
-					jQuery.event.triggered = type;
-					elem[ type ]();
-					jQuery.event.triggered = undefined;
-
-					if ( tmp ) {
-						elem[ ontype ] = tmp;
-					}
-				}
-			}
-		}
-
-		return event.result;
-	},
-
-	// Piggyback on a donor event to simulate a different one
-	simulate: function( type, elem, event ) {
-		var e = jQuery.extend(
-			new jQuery.Event(),
-			event,
-			{
-				type: type,
-				isSimulated: true
-
-				// Previously, `originalEvent: {}` was set here, so stopPropagation call
-				// would not be triggered on donor event, since in our own
-				// jQuery.event.stopPropagation function we had a check for existence of
-				// originalEvent.stopPropagation method, so, consequently it would be a noop.
-				//
-				// But now, this "simulate" function is used only for events
-				// for which stopPropagation() is noop, so there is no need for that anymore.
-				//
-				// For the 1.x branch though, guard for "click" and "submit"
-				// events is still used, but was moved to jQuery.event.stopPropagation function
-				// because `originalEvent` should point to the original event for the constancy
-				// with other events and for more focused logic
-			}
-		);
-
-		jQuery.event.trigger( e, null, elem );
-
-		if ( e.isDefaultPrevented() ) {
-			event.preventDefault();
-		}
-	}
-
-} );
-
-jQuery.fn.extend( {
-
-	trigger: function( type, data ) {
-		return this.each( function() {
-			jQuery.event.trigger( type, data, this );
-		} );
-	},
-	triggerHandler: function( type, data ) {
-		var elem = this[ 0 ];
-		if ( elem ) {
-			return jQuery.event.trigger( type, data, elem, true );
-		}
-	}
-} );
-
-
-jQuery.each( ( "blur focus focusin focusout load resize scroll unload click dblclick " +
-	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
-	"change select submit keydown keypress keyup error contextmenu" ).split( " " ),
-	function( i, name ) {
-
-	// Handle event binding
-	jQuery.fn[ name ] = function( data, fn ) {
-		return arguments.length > 0 ?
-			this.on( name, null, data, fn ) :
-			this.trigger( name );
-	};
-} );
-
-jQuery.fn.extend( {
-	hover: function( fnOver, fnOut ) {
-		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
-	}
-} );
-
-
-
-
-support.focusin = "onfocusin" in window;
-
-
-// Support: Firefox
-// Firefox doesn't have focus(in | out) events
-// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
-//
-// Support: Chrome, Safari
-// focus(in | out) events fire after focus & blur events,
-// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
-// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857
-if ( !support.focusin ) {
-	jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
-
-		// Attach a single capturing handler on the document while someone wants focusin/focusout
-		var handler = function( event ) {
-			jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
-		};
-
-		jQuery.event.special[ fix ] = {
-			setup: function() {
-				var doc = this.ownerDocument || this,
-					attaches = dataPriv.access( doc, fix );
-
-				if ( !attaches ) {
-					doc.addEventListener( orig, handler, true );
-				}
-				dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
-			},
-			teardown: function() {
-				var doc = this.ownerDocument || this,
-					attaches = dataPriv.access( doc, fix ) - 1;
-
-				if ( !attaches ) {
-					doc.removeEventListener( orig, handler, true );
-					dataPriv.remove( doc, fix );
-
-				} else {
-					dataPriv.access( doc, fix, attaches );
-				}
-			}
-		};
-	} );
-}
-var location = window.location;
-
-var nonce = jQuery.now();
-
-var rquery = ( /\?/ );
-
-
-
-// Support: Android 2.3
-// Workaround failure to string-cast null input
-jQuery.parseJSON = function( data ) {
-	return JSON.parse( data + "" );
-};
-
-
-// Cross-browser xml parsing
-jQuery.parseXML = function( data ) {
-	var xml;
-	if ( !data || typeof data !== "string" ) {
-		return null;
-	}
-
-	// Support: IE9
-	try {
-		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
-	} catch ( e ) {
-		xml = undefined;
-	}
-
-	if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
-		jQuery.error( "Invalid XML: " + data );
-	}
-	return xml;
-};
-
-
-var
-	rhash = /#.*$/,
-	rts = /([?&])_=[^&]*/,
-	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
-
-	// #7653, #8125, #8152: local protocol detection
-	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
-	rnoContent = /^(?:GET|HEAD)$/,
-	rprotocol = /^\/\//,
-
-	/* Prefilters
-	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
-	 * 2) These are called:
-	 *    - BEFORE asking for a transport
-	 *    - AFTER param serialization (s.data is a string if s.processData is true)
-	 * 3) key is the dataType
-	 * 4) the catchall symbol "*" can be used
-	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
-	 */
-	prefilters = {},
-
-	/* Transports bindings
-	 * 1) key is the dataType
-	 * 2) the catchall symbol "*" can be used
-	 * 3) selection will start with transport dataType and THEN go to "*" if needed
-	 */
-	transports = {},
-
-	// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
-	allTypes = "*/".concat( "*" ),
-
-	// Anchor tag for parsing the document origin
-	originAnchor = document.createElement( "a" );
-	originAnchor.href = location.href;
-
-// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
-function addToPrefiltersOrTransports( structure ) {
-
-	// dataTypeExpression is optional and defaults to "*"
-	return function( dataTypeExpression, func ) {
-
-		if ( typeof dataTypeExpression !== "string" ) {
-			func = dataTypeExpression;
-			dataTypeExpression = "*";
-		}
-
-		var dataType,
-			i = 0,
-			dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];
-
-		if ( jQuery.isFunction( func ) ) {
-
-			// For each dataType in the dataTypeExpression
-			while ( ( dataType = dataTypes[ i++ ] ) ) {
-
-				// Prepend if requested
-				if ( dataType[ 0 ] === "+" ) {
-					dataType = dataType.slice( 1 ) || "*";
-					( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
-
-				// Otherwise append
-				} else {
-					( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
-				}
-			}
-		}
-	};
-}
-
-// Base inspection function for prefilters and transports
-function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
-
-	var inspected = {},
-		seekingTransport = ( structure === transports );
-
-	function inspect( dataType ) {
-		var selected;
-		inspected[ dataType ] = true;
-		jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
-			var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
-			if ( typeof dataTypeOrTransport === "string" &&
-				!seekingTransport && !inspected[ dataTypeOrTransport ] ) {
-
-				options.dataTypes.unshift( dataTypeOrTransport );
-				inspect( dataTypeOrTransport );
-				return false;
-			} else if ( seekingTransport ) {
-				return !( selected = dataTypeOrTransport );
-			}
-		} );
-		return selected;
-	}
-
-	return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
-}
-
-// A special extend for ajax options
-// that takes "flat" options (not to be deep extended)
-// Fixes #9887
-function ajaxExtend( target, src ) {
-	var key, deep,
-		flatOptions = jQuery.ajaxSettings.flatOptions || {};
-
-	for ( key in src ) {
-		if ( src[ key ] !== undefined ) {
-			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
-		}
-	}
-	if ( deep ) {
-		jQuery.extend( true, target, deep );
-	}
-
-	return target;
-}
-
-/* Handles responses to an ajax request:
- * - finds the right dataType (mediates between content-type and expected dataType)
- * - returns the corresponding response
- */
-function ajaxHandleResponses( s, jqXHR, responses ) {
-
-	var ct, type, finalDataType, firstDataType,
-		contents = s.contents,
-		dataTypes = s.dataTypes;
-
-	// Remove auto dataType and get content-type in the process
-	while ( dataTypes[ 0 ] === "*" ) {
-		dataTypes.shift();
-		if ( ct === undefined ) {
-			ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
-		}
-	}
-
-	// Check if we're dealing with a known content-type
-	if ( ct ) {
-		for ( type in contents ) {
-			if ( contents[ type ] && contents[ type ].test( ct ) ) {
-				dataTypes.unshift( type );
-				break;
-			}
-		}
-	}
-
-	// Check to see if we have a response for the expected dataType
-	if ( dataTypes[ 0 ] in responses ) {
-		finalDataType = dataTypes[ 0 ];
-	} else {
-
-		// Try convertible dataTypes
-		for ( type in responses ) {
-			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
-				finalDataType = type;
-				break;
-			}
-			if ( !firstDataType ) {
-				firstDataType = type;
-			}
-		}
-
-		// Or just use first one
-		finalDataType = finalDataType || firstDataType;
-	}
-
-	// If we found a dataType
-	// We add the dataType to the list if needed
-	// and return the corresponding response
-	if ( finalDataType ) {
-		if ( finalDataType !== dataTypes[ 0 ] ) {
-			dataTypes.unshift( finalDataType );
-		}
-		return responses[ finalDataType ];
-	}
-}
-
-/* Chain conversions given the request and the original response
- * Also sets the responseXXX fields on the jqXHR instance
- */
-function ajaxConvert( s, response, jqXHR, isSuccess ) {
-	var conv2, current, conv, tmp, prev,
-		converters = {},
-
-		// Work with a copy of dataTypes in case we need to modify it for conversion
-		dataTypes = s.dataTypes.slice();
-
-	// Create converters map with lowercased keys
-	if ( dataTypes[ 1 ] ) {
-		for ( conv in s.converters ) {
-			converters[ conv.toLowerCase() ] = s.converters[ conv ];
-		}
-	}
-
-	current = dataTypes.shift();
-
-	// Convert to each sequential dataType
-	while ( current ) {
-
-		if ( s.responseFields[ current ] ) {
-			jqXHR[ s.responseFields[ current ] ] = response;
-		}
-
-		// Apply the dataFilter if provided
-		if ( !prev && isSuccess && s.dataFilter ) {
-			response = s.dataFilter( response, s.dataType );
-		}
-
-		prev = current;
-		current = dataTypes.shift();
-
-		if ( current ) {
-
-		// There's only work to do if current dataType is non-auto
-			if ( current === "*" ) {
-
-				current = prev;
-
-			// Convert response if prev dataType is non-auto and differs from current
-			} else if ( prev !== "*" && prev !== current ) {
-
-				// Seek a direct converter
-				conv = converters[ prev + " " + current ] || converters[ "* " + current ];
-
-				// If none found, seek a pair
-				if ( !conv ) {
-					for ( conv2 in converters ) {
-
-						// If conv2 outputs current
-						tmp = conv2.split( " " );
-						if ( tmp[ 1 ] === current ) {
-
-							// If prev can be converted to accepted input
-							conv = converters[ prev + " " + tmp[ 0 ] ] ||
-								converters[ "* " + tmp[ 0 ] ];
-							if ( conv ) {
-
-								// Condense equivalence converters
-								if ( conv === true ) {
-									conv = converters[ conv2 ];
-
-								// Otherwise, insert the intermediate dataType
-								} else if ( converters[ conv2 ] !== true ) {
-									current = tmp[ 0 ];
-									dataTypes.unshift( tmp[ 1 ] );
-								}
-								break;
-							}
-						}
-					}
-				}
-
-				// Apply converter (if not an equivalence)
-				if ( conv !== true ) {
-
-					// Unless errors are allowed to bubble, catch and return them
-					if ( conv && s.throws ) {
-						response = conv( response );
-					} else {
-						try {
-							response = conv( response );
-						} catch ( e ) {
-							return {
-								state: "parsererror",
-								error: conv ? e : "No conversion from " + prev + " to " + current
-							};
-						}
-					}
-				}
-			}
-		}
-	}
-
-	return { state: "success", data: response };
-}
-
-jQuery.extend( {
-
-	// Counter for holding the number of active queries
-	active: 0,
-
-	// Last-Modified header cache for next request
-	lastModified: {},
-	etag: {},
-
-	ajaxSettings: {
-		url: location.href,
-		type: "GET",
-		isLocal: rlocalProtocol.test( location.protocol ),
-		global: true,
-		processData: true,
-		async: true,
-		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
-		/*
-		timeout: 0,
-		data: null,
-		dataType: null,
-		username: null,
-		password: null,
-		cache: null,
-		throws: false,
-		traditional: false,
-		headers: {},
-		*/
-
-		accepts: {
-			"*": allTypes,
-			text: "text/plain",
-			html: "text/html",
-			xml: "application/xml, text/xml",
-			json: "application/json, text/javascript"
-		},
-
-		contents: {
-			xml: /\bxml\b/,
-			html: /\bhtml/,
-			json: /\bjson\b/
-		},
-
-		responseFields: {
-			xml: "responseXML",
-			text: "responseText",
-			json: "responseJSON"
-		},
-
-		// Data converters
-		// Keys separate source (or catchall "*") and destination types with a single space
-		converters: {
-
-			// Convert anything to text
-			"* text": String,
-
-			// Text to html (true = no transformation)
-			"text html": true,
-
-			// Evaluate text as a json expression
-			"text json": jQuery.parseJSON,
-
-			// Parse text as xml
-			"text xml": jQuery.parseXML
-		},
-
-		// For options that shouldn't be deep extended:
-		// you can add your own custom options here if
-		// and when you create one that shouldn't be
-		// deep extended (see ajaxExtend)
-		flatOptions: {
-			url: true,
-			context: true
-		}
-	},
-
-	// Creates a full fledged settings object into target
-	// with both ajaxSettings and settings fields.
-	// If target is omitted, writes into ajaxSettings.
-	ajaxSetup: function( target, settings ) {
-		return settings ?
-
-			// Building a settings object
-			ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
-
-			// Extending ajaxSettings
-			ajaxExtend( jQuery.ajaxSettings, target );
-	},
-
-	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
-	ajaxTransport: addToPrefiltersOrTransports( transports ),
-
-	// Main method
-	ajax: function( url, options ) {
-
-		// If url is an object, simulate pre-1.5 signature
-		if ( typeof url === "object" ) {
-			options = url;
-			url = undefined;
-		}
-
-		// Force options to be an object
-		options = options || {};
-
-		var transport,
-
-			// URL without anti-cache param
-			cacheURL,
-
-			// Response headers
-			responseHeadersString,
-			responseHeaders,
-
-			// timeout handle
-			timeoutTimer,
-
-			// Url cleanup var
-			urlAnchor,
-
-			// To know if global events are to be dispatched
-			fireGlobals,
-
-			// Loop variable
-			i,
-
-			// Create the final options object
-			s = jQuery.ajaxSetup( {}, options ),
-
-			// Callbacks context
-			callbackContext = s.context || s,
-
-			// Context for global events is callbackContext if it is a DOM node or jQuery collection
-			globalEventContext = s.context &&
-				( callbackContext.nodeType || callbackContext.jquery ) ?
-					jQuery( callbackContext ) :
-					jQuery.event,
-
-			// Deferreds
-			deferred = jQuery.Deferred(),
-			completeDeferred = jQuery.Callbacks( "once memory" ),
-
-			// Status-dependent callbacks
-			statusCode = s.statusCode || {},
-
-			// Headers (they are sent all at once)
-			requestHeaders = {},
-			requestHeadersNames = {},
-
-			// The jqXHR state
-			state = 0,
-
-			// Default abort message
-			strAbort = "canceled",
-
-			// Fake xhr
-			jqXHR = {
-				readyState: 0,
-
-				// Builds headers hashtable if needed
-				getResponseHeader: function( key ) {
-					var match;
-					if ( state === 2 ) {
-						if ( !responseHeaders ) {
-							responseHeaders = {};
-							while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
-								responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
-							}
-						}
-						match = responseHeaders[ key.toLowerCase() ];
-					}
-					return match == null ? null : match;
-				},
-
-				// Raw string
-				getAllResponseHeaders: function() {
-					return state === 2 ? responseHeadersString : null;
-				},
-
-				// Caches the header
-				setRequestHeader: function( name, value ) {
-					var lname = name.toLowerCase();
-					if ( !state ) {
-						name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
-						requestHeaders[ name ] = value;
-					}
-					return this;
-				},
-
-				// Overrides response content-type header
-				overrideMimeType: function( type ) {
-					if ( !state ) {
-						s.mimeType = type;
-					}
-					return this;
-				},
-
-				// Status-dependent callbacks
-				statusCode: function( map ) {
-					var code;
-					if ( map ) {
-						if ( state < 2 ) {
-							for ( code in map ) {
-
-								// Lazy-add the new callback in a way that preserves old ones
-								statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
-							}
-						} else {
-
-							// Execute the appropriate callbacks
-							jqXHR.always( map[ jqXHR.status ] );
-						}
-					}
-					return this;
-				},
-
-				// Cancel the request
-				abort: function( statusText ) {
-					var finalText = statusText || strAbort;
-					if ( transport ) {
-						transport.abort( finalText );
-					}
-					done( 0, finalText );
-					return this;
-				}
-			};
-
-		// Attach deferreds
-		deferred.promise( jqXHR ).complete = completeDeferred.add;
-		jqXHR.success = jqXHR.done;
-		jqXHR.error = jqXHR.fail;
-
-		// Remove hash character (#7531: and string promotion)
-		// Add protocol if not provided (prefilters might expect it)
-		// Handle falsy url in the settings object (#10093: consistency with old signature)
-		// We also use the url parameter if available
-		s.url = ( ( url || s.url || location.href ) + "" ).replace( rhash, "" )
-			.replace( rprotocol, location.protocol + "//" );
-
-		// Alias method option to type as per ticket #12004
-		s.type = options.method || options.type || s.method || s.type;
-
-		// Extract dataTypes list
-		s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ];
-
-		// A cross-domain request is in order when the origin doesn't match the current origin.
-		if ( s.crossDomain == null ) {
-			urlAnchor = document.createElement( "a" );
-
-			// Support: IE8-11+
-			// IE throws exception if url is malformed, e.g. http://example.com:80x/
-			try {
-				urlAnchor.href = s.url;
-
-				// Support: IE8-11+
-				// Anchor's host property isn't correctly set when s.url is relative
-				urlAnchor.href = urlAnchor.href;
-				s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
-					urlAnchor.protocol + "//" + urlAnchor.host;
-			} catch ( e ) {
-
-				// If there is an error parsing the URL, assume it is crossDomain,
-				// it can be rejected by the transport if it is invalid
-				s.crossDomain = true;
-			}
-		}
-
-		// Convert data if not already a string
-		if ( s.data && s.processData && typeof s.data !== "string" ) {
-			s.data = jQuery.param( s.data, s.traditional );
-		}
-
-		// Apply prefilters
-		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
-
-		// If request was aborted inside a prefilter, stop there
-		if ( state === 2 ) {
-			return jqXHR;
-		}
-
-		// We can fire global events as of now if asked to
-		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
-		fireGlobals = jQuery.event && s.global;
-
-		// Watch for a new set of requests
-		if ( fireGlobals && jQuery.active++ === 0 ) {
-			jQuery.event.trigger( "ajaxStart" );
-		}
-
-		// Uppercase the type
-		s.type = s.type.toUpperCase();
-
-		// Determine if request has content
-		s.hasContent = !rnoContent.test( s.type );
-
-		// Save the URL in case we're toying with the If-Modified-Since
-		// and/or If-None-Match header later on
-		cacheURL = s.url;
-
-		// More options handling for requests with no content
-		if ( !s.hasContent ) {
-
-			// If data is available, append data to url
-			if ( s.data ) {
-				cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data );
-
-				// #9682: remove data so that it's not used in an eventual retry
-				delete s.data;
-			}
-
-			// Add anti-cache in url if needed
-			if ( s.cache === false ) {
-				s.url = rts.test( cacheURL ) ?
-
-					// If there is already a '_' parameter, set its value
-					cacheURL.replace( rts, "$1_=" + nonce++ ) :
-
-					// Otherwise add one to the end
-					cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++;
-			}
-		}
-
-		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
-		if ( s.ifModified ) {
-			if ( jQuery.lastModified[ cacheURL ] ) {
-				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
-			}
-			if ( jQuery.etag[ cacheURL ] ) {
-				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
-			}
-		}
-
-		// Set the correct header, if data is being sent
-		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
-			jqXHR.setRequestHeader( "Content-Type", s.contentType );
-		}
-
-		// Set the Accepts header for the server, depending on the dataType
-		jqXHR.setRequestHeader(
-			"Accept",
-			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
-				s.accepts[ s.dataTypes[ 0 ] ] +
-					( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
-				s.accepts[ "*" ]
-		);
-
-		// Check for headers option
-		for ( i in s.headers ) {
-			jqXHR.setRequestHeader( i, s.headers[ i ] );
-		}
-
-		// Allow custom headers/mimetypes and early abort
-		if ( s.beforeSend &&
-			( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
-
-			// Abort if not done already and return
-			return jqXHR.abort();
-		}
-
-		// Aborting is no longer a cancellation
-		strAbort = "abort";
-
-		// Install callbacks on deferreds
-		for ( i in { success: 1, error: 1, complete: 1 } ) {
-			jqXHR[ i ]( s[ i ] );
-		}
-
-		// Get transport
-		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
-
-		// If no transport, we auto-abort
-		if ( !transport ) {
-			done( -1, "No Transport" );
-		} else {
-			jqXHR.readyState = 1;
-
-			// Send global event
-			if ( fireGlobals ) {
-				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
-			}
-
-			// If request was aborted inside ajaxSend, stop there
-			if ( state === 2 ) {
-				return jqXHR;
-			}
-
-			// Timeout
-			if ( s.async && s.timeout > 0 ) {
-				timeoutTimer = window.setTimeout( function() {
-					jqXHR.abort( "timeout" );
-				}, s.timeout );
-			}
-
-			try {
-				state = 1;
-				transport.send( requestHeaders, done );
-			} catch ( e ) {
-
-				// Propagate exception as error if not done
-				if ( state < 2 ) {
-					done( -1, e );
-
-				// Simply rethrow otherwise
-				} else {
-					throw e;
-				}
-			}
-		}
-
-		// Callback for when everything is done
-		function done( status, nativeStatusText, responses, headers ) {
-			var isSuccess, success, error, response, modified,
-				statusText = nativeStatusText;
-
-			// Called once
-			if ( state === 2 ) {
-				return;
-			}
-
-			// State is "done" now
-			state = 2;
-
-			// Clear timeout if it exists
-			if ( timeoutTimer ) {
-				window.clearTimeout( timeoutTimer );
-			}
-
-			// Dereference transport for early garbage collection
-			// (no matter how long the jqXHR object will be used)
-			transport = undefined;
-
-			// Cache response headers
-			responseHeadersString = headers || "";
-
-			// Set readyState
-			jqXHR.readyState = status > 0 ? 4 : 0;
-
-			// Determine if successful
-			isSuccess = status >= 200 && status < 300 || status === 304;
-
-			// Get response data
-			if ( responses ) {
-				response = ajaxHandleResponses( s, jqXHR, responses );
-			}
-
-			// Convert no matter what (that way responseXXX fields are always set)
-			response = ajaxConvert( s, response, jqXHR, isSuccess );
-
-			// If successful, handle type chaining
-			if ( isSuccess ) {
-
-				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
-				if ( s.ifModified ) {
-					modified = jqXHR.getResponseHeader( "Last-Modified" );
-					if ( modified ) {
-						jQuery.lastModified[ cacheURL ] = modified;
-					}
-					modified = jqXHR.getResponseHeader( "etag" );
-					if ( modified ) {
-						jQuery.etag[ cacheURL ] = modified;
-					}
-				}
-
-				// if no content
-				if ( status === 204 || s.type === "HEAD" ) {
-					statusText = "nocontent";
-
-				// if not modified
-				} else if ( status === 304 ) {
-					statusText = "notmodified";
-
-				// If we have data, let's convert it
-				} else {
-					statusText = response.state;
-					success = response.data;
-					error = response.error;
-					isSuccess = !error;
-				}
-			} else {
-
-				// Extract error from statusText and normalize for non-aborts
-				error = statusText;
-				if ( status || !statusText ) {
-					statusText = "error";
-					if ( status < 0 ) {
-						status = 0;
-					}
-				}
-			}
-
-			// Set data for the fake xhr object
-			jqXHR.status = status;
-			jqXHR.statusText = ( nativeStatusText || statusText ) + "";
-
-			// Success/Error
-			if ( isSuccess ) {
-				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
-			} else {
-				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
-			}
-
-			// Status-dependent callbacks
-			jqXHR.statusCode( statusCode );
-			statusCode = undefined;
-
-			if ( fireGlobals ) {
-				globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
-					[ jqXHR, s, isSuccess ? success : error ] );
-			}
-
-			// Complete
-			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
-
-			if ( fireGlobals ) {
-				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
-
-				// Handle the global AJAX counter
-				if ( !( --jQuery.active ) ) {
-					jQuery.event.trigger( "ajaxStop" );
-				}
-			}
-		}
-
-		return jqXHR;
-	},
-
-	getJSON: function( url, data, callback ) {
-		return jQuery.get( url, data, callback, "json" );
-	},
-
-	getScript: function( url, callback ) {
-		return jQuery.get( url, undefined, callback, "script" );
-	}
-} );
-
-jQuery.each( [ "get", "post" ], function( i, method ) {
-	jQuery[ method ] = function( url, data, callback, type ) {
-
-		// Shift arguments if data argument was omitted
-		if ( jQuery.isFunction( data ) ) {
-			type = type || callback;
-			callback = data;
-			data = undefined;
-		}
-
-		// The url can be an options object (which then must have .url)
-		return jQuery.ajax( jQuery.extend( {
-			url: url,
-			type: method,
-			dataType: type,
-			data: data,
-			success: callback
-		}, jQuery.isPlainObject( url ) && url ) );
-	};
-} );
-
-
-jQuery._evalUrl = function( url ) {
-	return jQuery.ajax( {
-		url: url,
-
-		// Make this explicit, since user can override this through ajaxSetup (#11264)
-		type: "GET",
-		dataType: "script",
-		async: false,
-		global: false,
-		"throws": true
-	} );
-};
-
-
-jQuery.fn.extend( {
-	wrapAll: function( html ) {
-		var wrap;
-
-		if ( jQuery.isFunction( html ) ) {
-			return this.each( function( i ) {
-				jQuery( this ).wrapAll( html.call( this, i ) );
-			} );
-		}
-
-		if ( this[ 0 ] ) {
-
-			// The elements to wrap the target around
-			wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
-
-			if ( this[ 0 ].parentNode ) {
-				wrap.insertBefore( this[ 0 ] );
-			}
-
-			wrap.map( function() {
-				var elem = this;
-
-				while ( elem.firstElementChild ) {
-					elem = elem.firstElementChild;
-				}
-
-				return elem;
-			} ).append( this );
-		}
-
-		return this;
-	},
-
-	wrapInner: function( html ) {
-		if ( jQuery.isFunction( html ) ) {
-			return this.each( function( i ) {
-				jQuery( this ).wrapInner( html.call( this, i ) );
-			} );
-		}
-
-		return this.each( function() {
-			var self = jQuery( this ),
-				contents = self.contents();
-
-			if ( contents.length ) {
-				contents.wrapAll( html );
-
-			} else {
-				self.append( html );
-			}
-		} );
-	},
-
-	wrap: function( html ) {
-		var isFunction = jQuery.isFunction( html );
-
-		return this.each( function( i ) {
-			jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );
-		} );
-	},
-
-	unwrap: function() {
-		return this.parent().each( function() {
-			if ( !jQuery.nodeName( this, "body" ) ) {
-				jQuery( this ).replaceWith( this.childNodes );
-			}
-		} ).end();
-	}
-} );
-
-
-jQuery.expr.filters.hidden = function( elem ) {
-	return !jQuery.expr.filters.visible( elem );
-};
-jQuery.expr.filters.visible = function( elem ) {
-
-	// Support: Opera <= 12.12
-	// Opera reports offsetWidths and offsetHeights less than zero on some elements
-	// Use OR instead of AND as the element is not visible if either is true
-	// See tickets #10406 and #13132
-	return elem.offsetWidth > 0 || elem.offsetHeight > 0 || elem.getClientRects().length > 0;
-};
-
-
-
-
-var r20 = /%20/g,
-	rbracket = /\[\]$/,
-	rCRLF = /\r?\n/g,
-	rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
-	rsubmittable = /^(?:input|select|textarea|keygen)/i;
-
-function buildParams( prefix, obj, traditional, add ) {
-	var name;
-
-	if ( jQuery.isArray( obj ) ) {
-
-		// Serialize array item.
-		jQuery.each( obj, function( i, v ) {
-			if ( traditional || rbracket.test( prefix ) ) {
-
-				// Treat each array item as a scalar.
-				add( prefix, v );
-
-			} else {
-
-				// Item is non-scalar (array or object), encode its numeric index.
-				buildParams(
-					prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
-					v,
-					traditional,
-					add
-				);
-			}
-		} );
-
-	} else if ( !traditional && jQuery.type( obj ) === "object" ) {
-
-		// Serialize object item.
-		for ( name in obj ) {
-			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
-		}
-
-	} else {
-
-		// Serialize scalar item.
-		add( prefix, obj );
-	}
-}
-
-// Serialize an array of form elements or a set of
-// key/values into a query string
-jQuery.param = function( a, traditional ) {
-	var prefix,
-		s = [],
-		add = function( key, value ) {
-
-			// If value is a function, invoke it and return its value
-			value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value );
-			s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
-		};
-
-	// Set traditional to true for jQuery <= 1.3.2 behavior.
-	if ( traditional === undefined ) {
-		traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;
-	}
-
-	// If an array was passed in, assume that it is an array of form elements.
-	if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
-
-		// Serialize the form elements
-		jQuery.each( a, function() {
-			add( this.name, this.value );
-		} );
-
-	} else {
-
-		// If traditional, encode the "old" way (the way 1.3.2 or older
-		// did it), otherwise encode params recursively.
-		for ( prefix in a ) {
-			buildParams( prefix, a[ prefix ], traditional, add );
-		}
-	}
-
-	// Return the resulting serialization
-	return s.join( "&" ).replace( r20, "+" );
-};
-
-jQuery.fn.extend( {
-	serialize: function() {
-		return jQuery.param( this.serializeArray() );
-	},
-	serializeArray: function() {
-		return this.map( function() {
-
-			// Can add propHook for "elements" to filter or add form elements
-			var elements = jQuery.prop( this, "elements" );
-			return elements ? jQuery.makeArray( elements ) : this;
-		} )
-		.filter( function() {
-			var type = this.type;
-
-			// Use .is( ":disabled" ) so that fieldset[disabled] works
-			return this.name && !jQuery( this ).is( ":disabled" ) &&
-				rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
-				( this.checked || !rcheckableType.test( type ) );
-		} )
-		.map( function( i, elem ) {
-			var val = jQuery( this ).val();
-
-			return val == null ?
-				null :
-				jQuery.isArray( val ) ?
-					jQuery.map( val, function( val ) {
-						return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
-					} ) :
-					{ name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
-		} ).get();
-	}
-} );
-
-
-jQuery.ajaxSettings.xhr = function() {
-	try {
-		return new window.XMLHttpRequest();
-	} catch ( e ) {}
-};
-
-var xhrSuccessStatus = {
-
-		// File protocol always yields status code 0, assume 200
-		0: 200,
-
-		// Support: IE9
-		// #1450: sometimes IE returns 1223 when it should be 204
-		1223: 204
-	},
-	xhrSupported = jQuery.ajaxSettings.xhr();
-
-support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
-support.ajax = xhrSupported = !!xhrSupported;
-
-jQuery.ajaxTransport( function( options ) {
-	var callback, errorCallback;
-
-	// Cross domain only allowed if supported through XMLHttpRequest
-	if ( support.cors || xhrSupported && !options.crossDomain ) {
-		return {
-			send: function( headers, complete ) {
-				var i,
-					xhr = options.xhr();
-
-				xhr.open(
-					options.type,
-					options.url,
-					options.async,
-					options.username,
-					options.password
-				);
-
-				// Apply custom fields if provided
-				if ( options.xhrFields ) {
-					for ( i in options.xhrFields ) {
-						xhr[ i ] = options.xhrFields[ i ];
-					}
-				}
-
-				// Override mime type if needed
-				if ( options.mimeType && xhr.overrideMimeType ) {
-					xhr.overrideMimeType( options.mimeType );
-				}
-
-				// X-Requested-With header
-				// For cross-domain requests, seeing as conditions for a preflight are
-				// akin to a jigsaw puzzle, we simply never set it to be sure.
-				// (it can always be set on a per-request basis or even using ajaxSetup)
-				// For same-domain requests, won't change header if already provided.
-				if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
-					headers[ "X-Requested-With" ] = "XMLHttpRequest";
-				}
-
-				// Set headers
-				for ( i in headers ) {
-					xhr.setRequestHeader( i, headers[ i ] );
-				}
-
-				// Callback
-				callback = function( type ) {
-					return function() {
-						if ( callback ) {
-							callback = errorCallback = xhr.onload =
-								xhr.onerror = xhr.onabort = xhr.onreadystatechange = null;
-
-							if ( type === "abort" ) {
-								xhr.abort();
-							} else if ( type === "error" ) {
-
-								// Support: IE9
-								// On a manual native abort, IE9 throws
-								// errors on any property access that is not readyState
-								if ( typeof xhr.status !== "number" ) {
-									complete( 0, "error" );
-								} else {
-									complete(
-
-										// File: protocol always yields status 0; see #8605, #14207
-										xhr.status,
-										xhr.statusText
-									);
-								}
-							} else {
-								complete(
-									xhrSuccessStatus[ xhr.status ] || xhr.status,
-									xhr.statusText,
-
-									// Support: IE9 only
-									// IE9 has no XHR2 but throws on binary (trac-11426)
-									// For XHR2 non-text, let the caller handle it (gh-2498)
-									( xhr.responseType || "text" ) !== "text"  ||
-									typeof xhr.responseText !== "string" ?
-										{ binary: xhr.response } :
-										{ text: xhr.responseText },
-									xhr.getAllResponseHeaders()
-								);
-							}
-						}
-					};
-				};
-
-				// Listen to events
-				xhr.onload = callback();
-				errorCallback = xhr.onerror = callback( "error" );
-
-				// Support: IE9
-				// Use onreadystatechange to replace onabort
-				// to handle uncaught aborts
-				if ( xhr.onabort !== undefined ) {
-					xhr.onabort = errorCallback;
-				} else {
-					xhr.onreadystatechange = function() {
-
-						// Check readyState before timeout as it changes
-						if ( xhr.readyState === 4 ) {
-
-							// Allow onerror to be called first,
-							// but that will not handle a native abort
-							// Also, save errorCallback to a variable
-							// as xhr.onerror cannot be accessed
-							window.setTimeout( function() {
-								if ( callback ) {
-									errorCallback();
-								}
-							} );
-						}
-					};
-				}
-
-				// Create the abort callback
-				callback = callback( "abort" );
-
-				try {
-
-					// Do send the request (this may raise an exception)
-					xhr.send( options.hasContent && options.data || null );
-				} catch ( e ) {
-
-					// #14683: Only rethrow if this hasn't been notified as an error yet
-					if ( callback ) {
-						throw e;
-					}
-				}
-			},
-
-			abort: function() {
-				if ( callback ) {
-					callback();
-				}
-			}
-		};
-	}
-} );
-
-
-
-
-// Install script dataType
-jQuery.ajaxSetup( {
-	accepts: {
-		script: "text/javascript, application/javascript, " +
-			"application/ecmascript, application/x-ecmascript"
-	},
-	contents: {
-		script: /\b(?:java|ecma)script\b/
-	},
-	converters: {
-		"text script": function( text ) {
-			jQuery.globalEval( text );
-			return text;
-		}
-	}
-} );
-
-// Handle cache's special case and crossDomain
-jQuery.ajaxPrefilter( "script", function( s ) {
-	if ( s.cache === undefined ) {
-		s.cache = false;
-	}
-	if ( s.crossDomain ) {
-		s.type = "GET";
-	}
-} );
-
-// Bind script tag hack transport
-jQuery.ajaxTransport( "script", function( s ) {
-
-	// This transport only deals with cross domain requests
-	if ( s.crossDomain ) {
-		var script, callback;
-		return {
-			send: function( _, complete ) {
-				script = jQuery( "<script>" ).prop( {
-					charset: s.scriptCharset,
-					src: s.url
-				} ).on(
-					"load error",
-					callback = function( evt ) {
-						script.remove();
-						callback = null;
-						if ( evt ) {
-							complete( evt.type === "error" ? 404 : 200, evt.type );
-						}
-					}
-				);
-
-				// Use native DOM manipulation to avoid our domManip AJAX trickery
-				document.head.appendChild( script[ 0 ] );
-			},
-			abort: function() {
-				if ( callback ) {
-					callback();
-				}
-			}
-		};
-	}
-} );
-
-
-
-
-var oldCallbacks = [],
-	rjsonp = /(=)\?(?=&|$)|\?\?/;
-
-// Default jsonp settings
-jQuery.ajaxSetup( {
-	jsonp: "callback",
-	jsonpCallback: function() {
-		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
-		this[ callback ] = true;
-		return callback;
-	}
-} );
-
-// Detect, normalize options and install callbacks for jsonp requests
-jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
-
-	var callbackName, overwritten, responseContainer,
-		jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
-			"url" :
-			typeof s.data === "string" &&
-				( s.contentType || "" )
-					.indexOf( "application/x-www-form-urlencoded" ) === 0 &&
-				rjsonp.test( s.data ) && "data"
-		);
-
-	// Handle iff the expected data type is "jsonp" or we have a parameter to set
-	if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
-
-		// Get callback name, remembering preexisting value associated with it
-		callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
-			s.jsonpCallback() :
-			s.jsonpCallback;
-
-		// Insert callback into url or form data
-		if ( jsonProp ) {
-			s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
-		} else if ( s.jsonp !== false ) {
-			s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
-		}
-
-		// Use data converter to retrieve json after script execution
-		s.converters[ "script json" ] = function() {
-			if ( !responseContainer ) {
-				jQuery.error( callbackName + " was not called" );
-			}
-			return responseContainer[ 0 ];
-		};
-
-		// Force json dataType
-		s.dataTypes[ 0 ] = "json";
-
-		// Install callback
-		overwritten = window[ callbackName ];
-		window[ callbackName ] = function() {
-			responseContainer = arguments;
-		};
-
-		// Clean-up function (fires after converters)
-		jqXHR.always( function() {
-
-			// If previous value didn't exist - remove it
-			if ( overwritten === undefined ) {
-				jQuery( window ).removeProp( callbackName );
-
-			// Otherwise restore preexisting value
-			} else {
-				window[ callbackName ] = overwritten;
-			}
-
-			// Save back as free
-			if ( s[ callbackName ] ) {
-
-				// Make sure that re-using the options doesn't screw things around
-				s.jsonpCallback = originalSettings.jsonpCallback;
-
-				// Save the callback name for future use
-				oldCallbacks.push( callbackName );
-			}
-
-			// Call if it was a function and we have a response
-			if ( responseContainer && jQuery.isFunction( overwritten ) ) {
-				overwritten( responseContainer[ 0 ] );
-			}
-
-			responseContainer = overwritten = undefined;
-		} );
-
-		// Delegate to script
-		return "script";
-	}
-} );
-
-
-
-
-// Argument "data" should be string of html
-// context (optional): If specified, the fragment will be created in this context,
-// defaults to document
-// keepScripts (optional): If true, will include scripts passed in the html string
-jQuery.parseHTML = function( data, context, keepScripts ) {
-	if ( !data || typeof data !== "string" ) {
-		return null;
-	}
-	if ( typeof context === "boolean" ) {
-		keepScripts = context;
-		context = false;
-	}
-	context = context || document;
-
-	var parsed = rsingleTag.exec( data ),
-		scripts = !keepScripts && [];
-
-	// Single tag
-	if ( parsed ) {
-		return [ context.createElement( parsed[ 1 ] ) ];
-	}
-
-	parsed = buildFragment( [ data ], context, scripts );
-
-	if ( scripts && scripts.length ) {
-		jQuery( scripts ).remove();
-	}
-
-	return jQuery.merge( [], parsed.childNodes );
-};
-
-
-// Keep a copy of the old load method
-var _load = jQuery.fn.load;
-
-/**
- * Load a url into a page
- */
-jQuery.fn.load = function( url, params, callback ) {
-	if ( typeof url !== "string" && _load ) {
-		return _load.apply( this, arguments );
-	}
-
-	var selector, type, response,
-		self = this,
-		off = url.indexOf( " " );
-
-	if ( off > -1 ) {
-		selector = jQuery.trim( url.slice( off ) );
-		url = url.slice( 0, off );
-	}
-
-	// If it's a function
-	if ( jQuery.isFunction( params ) ) {
-
-		// We assume that it's the callback
-		callback = params;
-		params = undefined;
-
-	// Otherwise, build a param string
-	} else if ( params && typeof params === "object" ) {
-		type = "POST";
-	}
-
-	// If we have elements to modify, make the request
-	if ( self.length > 0 ) {
-		jQuery.ajax( {
-			url: url,
-
-			// If "type" variable is undefined, then "GET" method will be used.
-			// Make value of this field explicit since
-			// user can override it through ajaxSetup method
-			type: type || "GET",
-			dataType: "html",
-			data: params
-		} ).done( function( responseText ) {
-
-			// Save response for use in complete callback
-			response = arguments;
-
-			self.html( selector ?
-
-				// If a selector was specified, locate the right elements in a dummy div
-				// Exclude scripts to avoid IE 'Permission Denied' errors
-				jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
-
-				// Otherwise use the full result
-				responseText );
-
-		// If the request succeeds, this function gets "data", "status", "jqXHR"
-		// but they are ignored because response was set above.
-		// If it fails, this function gets "jqXHR", "status", "error"
-		} ).always( callback && function( jqXHR, status ) {
-			self.each( function() {
-				callback.apply( self, response || [ jqXHR.responseText, status, jqXHR ] );
-			} );
-		} );
-	}
-
-	return this;
-};
-
-
-
-
-// Attach a bunch of functions for handling common AJAX events
-jQuery.each( [
-	"ajaxStart",
-	"ajaxStop",
-	"ajaxComplete",
-	"ajaxError",
-	"ajaxSuccess",
-	"ajaxSend"
-], function( i, type ) {
-	jQuery.fn[ type ] = function( fn ) {
-		return this.on( type, fn );
-	};
-} );
-
-
-
-
-jQuery.expr.filters.animated = function( elem ) {
-	return jQuery.grep( jQuery.timers, function( fn ) {
-		return elem === fn.elem;
-	} ).length;
-};
-
-
-
-
-/**
- * Gets a window from an element
- */
-function getWindow( elem ) {
-	return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;
-}
-
-jQuery.offset = {
-	setOffset: function( elem, options, i ) {
-		var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
-			position = jQuery.css( elem, "position" ),
-			curElem = jQuery( elem ),
-			props = {};
-
-		// Set position first, in-case top/left are set even on static elem
-		if ( position === "static" ) {
-			elem.style.position = "relative";
-		}
-
-		curOffset = curElem.offset();
-		curCSSTop = jQuery.css( elem, "top" );
-		curCSSLeft = jQuery.css( elem, "left" );
-		calculatePosition = ( position === "absolute" || position === "fixed" ) &&
-			( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
-
-		// Need to be able to calculate position if either
-		// top or left is auto and position is either absolute or fixed
-		if ( calculatePosition ) {
-			curPosition = curElem.position();
-			curTop = curPosition.top;
-			curLeft = curPosition.left;
-
-		} else {
-			curTop = parseFloat( curCSSTop ) || 0;
-			curLeft = parseFloat( curCSSLeft ) || 0;
-		}
-
-		if ( jQuery.isFunction( options ) ) {
-
-			// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
-			options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
-		}
-
-		if ( options.top != null ) {
-			props.top = ( options.top - curOffset.top ) + curTop;
-		}
-		if ( options.left != null ) {
-			props.left = ( options.left - curOffset.left ) + curLeft;
-		}
-
-		if ( "using" in options ) {
-			options.using.call( elem, props );
-
-		} else {
-			curElem.css( props );
-		}
-	}
-};
-
-jQuery.fn.extend( {
-	offset: function( options ) {
-		if ( arguments.length ) {
-			return options === undefined ?
-				this :
-				this.each( function( i ) {
-					jQuery.offset.setOffset( this, options, i );
-				} );
-		}
-
-		var docElem, win,
-			elem = this[ 0 ],
-			box = { top: 0, left: 0 },
-			doc = elem && elem.ownerDocument;
-
-		if ( !doc ) {
-			return;
-		}
-
-		docElem = doc.documentElement;
-
-		// Make sure it's not a disconnected DOM node
-		if ( !jQuery.contains( docElem, elem ) ) {
-			return box;
-		}
-
-		box = elem.getBoundingClientRect();
-		win = getWindow( doc );
-		return {
-			top: box.top + win.pageYOffset - docElem.clientTop,
-			left: box.left + win.pageXOffset - docElem.clientLeft
-		};
-	},
-
-	position: function() {
-		if ( !this[ 0 ] ) {
-			return;
-		}
-
-		var offsetParent, offset,
-			elem = this[ 0 ],
-			parentOffset = { top: 0, left: 0 };
-
-		// Fixed elements are offset from window (parentOffset = {top:0, left: 0},
-		// because it is its only offset parent
-		if ( jQuery.css( elem, "position" ) === "fixed" ) {
-
-			// Assume getBoundingClientRect is there when computed position is fixed
-			offset = elem.getBoundingClientRect();
-
-		} else {
-
-			// Get *real* offsetParent
-			offsetParent = this.offsetParent();
-
-			// Get correct offsets
-			offset = this.offset();
-			if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) {
-				parentOffset = offsetParent.offset();
-			}
-
-			// Add offsetParent borders
-			parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true );
-			parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true );
-		}
-
-		// Subtract parent offsets and element margins
-		return {
-			top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
-			left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
-		};
-	},
-
-	// This method will return documentElement in the following cases:
-	// 1) For the element inside the iframe without offsetParent, this method will return
-	//    documentElement of the parent window
-	// 2) For the hidden or detached element
-	// 3) For body or html element, i.e. in case of the html node - it will return itself
-	//
-	// but those exceptions were never presented as a real life use-cases
-	// and might be considered as more preferable results.
-	//
-	// This logic, however, is not guaranteed and can change at any point in the future
-	offsetParent: function() {
-		return this.map( function() {
-			var offsetParent = this.offsetParent;
-
-			while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
-				offsetParent = offsetParent.offsetParent;
-			}
-
-			return offsetParent || documentElement;
-		} );
-	}
-} );
-
-// Create scrollLeft and scrollTop methods
-jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
-	var top = "pageYOffset" === prop;
-
-	jQuery.fn[ method ] = function( val ) {
-		return access( this, function( elem, method, val ) {
-			var win = getWindow( elem );
-
-			if ( val === undefined ) {
-				return win ? win[ prop ] : elem[ method ];
-			}
-
-			if ( win ) {
-				win.scrollTo(
-					!top ? val : win.pageXOffset,
-					top ? val : win.pageYOffset
-				);
-
-			} else {
-				elem[ method ] = val;
-			}
-		}, method, val, arguments.length );
-	};
-} );
-
-// Support: Safari<7-8+, Chrome<37-44+
-// Add the top/left cssHooks using jQuery.fn.position
-// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
-// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280
-// getComputedStyle returns percent when specified for top/left/bottom/right;
-// rather than make the css module depend on the offset module, just check for it here
-jQuery.each( [ "top", "left" ], function( i, prop ) {
-	jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
-		function( elem, computed ) {
-			if ( computed ) {
-				computed = curCSS( elem, prop );
-
-				// If curCSS returns percentage, fallback to offset
-				return rnumnonpx.test( computed ) ?
-					jQuery( elem ).position()[ prop ] + "px" :
-					computed;
-			}
-		}
-	);
-} );
-
-
-// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
-jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
-	jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
-		function( defaultExtra, funcName ) {
-
-		// Margin is only for outerHeight, outerWidth
-		jQuery.fn[ funcName ] = function( margin, value ) {
-			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
-				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
-
-			return access( this, function( elem, type, value ) {
-				var doc;
-
-				if ( jQuery.isWindow( elem ) ) {
-
-					// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there
-					// isn't a whole lot we can do. See pull request at this URL for discussion:
-					// https://github.com/jquery/jquery/pull/764
-					return elem.document.documentElement[ "client" + name ];
-				}
-
-				// Get document width or height
-				if ( elem.nodeType === 9 ) {
-					doc = elem.documentElement;
-
-					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
-					// whichever is greatest
-					return Math.max(
-						elem.body[ "scroll" + name ], doc[ "scroll" + name ],
-						elem.body[ "offset" + name ], doc[ "offset" + name ],
-						doc[ "client" + name ]
-					);
-				}
-
-				return value === undefined ?
-
-					// Get width or height on the element, requesting but not forcing parseFloat
-					jQuery.css( elem, type, extra ) :
-
-					// Set width or height on the element
-					jQuery.style( elem, type, value, extra );
-			}, type, chainable ? margin : undefined, chainable, null );
-		};
-	} );
-} );
-
-
-jQuery.fn.extend( {
-
-	bind: function( types, data, fn ) {
-		return this.on( types, null, data, fn );
-	},
-	unbind: function( types, fn ) {
-		return this.off( types, null, fn );
-	},
-
-	delegate: function( selector, types, data, fn ) {
-		return this.on( types, selector, data, fn );
-	},
-	undelegate: function( selector, types, fn ) {
-
-		// ( namespace ) or ( selector, types [, fn] )
-		return arguments.length === 1 ?
-			this.off( selector, "**" ) :
-			this.off( types, selector || "**", fn );
-	},
-	size: function() {
-		return this.length;
-	}
-} );
-
-jQuery.fn.andSelf = jQuery.fn.addBack;
-
-
-
-
-// Register as a named AMD module, since jQuery can be concatenated with other
-// files that may use define, but not via a proper concatenation script that
-// understands anonymous AMD modules. A named AMD is safest and most robust
-// way to register. Lowercase jquery is used because AMD module names are
-// derived from file names, and jQuery is normally delivered in a lowercase
-// file name. Do this after creating the global so that if an AMD module wants
-// to call noConflict to hide this version of jQuery, it will work.
-
-// Note that for maximum portability, libraries that are not jQuery should
-// declare themselves as anonymous modules, and avoid setting a global if an
-// AMD loader is present. jQuery is a special case. For more information, see
-// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
-
-if ( typeof define === "function" && define.amd ) {
-	define( "jquery", [], function() {
-		return jQuery;
-	} );
-}
-
-
-
-var
-
-	// Map over jQuery in case of overwrite
-	_jQuery = window.jQuery,
-
-	// Map over the $ in case of overwrite
-	_$ = window.$;
-
-jQuery.noConflict = function( deep ) {
-	if ( window.$ === jQuery ) {
-		window.$ = _$;
-	}
-
-	if ( deep && window.jQuery === jQuery ) {
-		window.jQuery = _jQuery;
-	}
-
-	return jQuery;
-};
-
-// Expose jQuery and $ identifiers, even in AMD
-// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
-// and CommonJS for browser emulators (#13566)
-if ( !noGlobal ) {
-	window.jQuery = window.$ = jQuery;
-}
-
-return jQuery;
-}));
diff --git a/libraries/foundation-6/js/plugins/foundation.abide.js b/libraries/foundation-6/js/plugins/foundation.abide.js
new file mode 100755
index 00000000..5cfe562b
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.abide.js
@@ -0,0 +1,600 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Abide module.
+   * @module foundation.abide
+   */
+
+  var Abide = function () {
+    /**
+     * Creates a new instance of Abide.
+     * @class
+     * @fires Abide#init
+     * @param {Object} element - jQuery object to add the trigger to.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Abide(element) {
+      var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
+
+      _classCallCheck(this, Abide);
+
+      this.$element = element;
+      this.options = $.extend({}, Abide.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Abide');
+    }
+
+    /**
+     * Initializes the Abide plugin and calls functions to get Abide functioning on load.
+     * @private
+     */
+
+
+    _createClass(Abide, [{
+      key: '_init',
+      value: function _init() {
+        this.$inputs = this.$element.find('input, textarea, select');
+
+        this._events();
+      }
+
+      /**
+       * Initializes events for Abide.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this2 = this;
+
+        this.$element.off('.abide').on('reset.zf.abide', function () {
+          _this2.resetForm();
+        }).on('submit.zf.abide', function () {
+          return _this2.validateForm();
+        });
+
+        if (this.options.validateOn === 'fieldChange') {
+          this.$inputs.off('change.zf.abide').on('change.zf.abide', function (e) {
+            _this2.validateInput($(e.target));
+          });
+        }
+
+        if (this.options.liveValidate) {
+          this.$inputs.off('input.zf.abide').on('input.zf.abide', function (e) {
+            _this2.validateInput($(e.target));
+          });
+        }
+      }
+
+      /**
+       * Calls necessary functions to update Abide upon DOM change
+       * @private
+       */
+
+    }, {
+      key: '_reflow',
+      value: function _reflow() {
+        this._init();
+      }
+
+      /**
+       * Checks whether or not a form element has the required attribute and if it's checked or not
+       * @param {Object} element - jQuery object to check for required attribute
+       * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
+       */
+
+    }, {
+      key: 'requiredCheck',
+      value: function requiredCheck($el) {
+        if (!$el.attr('required')) return true;
+
+        var isGood = true;
+
+        switch ($el[0].type) {
+          case 'checkbox':
+            isGood = $el[0].checked;
+            break;
+
+          case 'select':
+          case 'select-one':
+          case 'select-multiple':
+            var opt = $el.find('option:selected');
+            if (!opt.length || !opt.val()) isGood = false;
+            break;
+
+          default:
+            if (!$el.val() || !$el.val().length) isGood = false;
+        }
+
+        return isGood;
+      }
+
+      /**
+       * Based on $el, get the first element with selector in this order:
+       * 1. The element's direct sibling('s).
+       * 3. The element's parent's children.
+       *
+       * This allows for multiple form errors per input, though if none are found, no form errors will be shown.
+       *
+       * @param {Object} $el - jQuery object to use as reference to find the form error selector.
+       * @returns {Object} jQuery object with the selector.
+       */
+
+    }, {
+      key: 'findFormError',
+      value: function findFormError($el) {
+        var $error = $el.siblings(this.options.formErrorSelector);
+
+        if (!$error.length) {
+          $error = $el.parent().find(this.options.formErrorSelector);
+        }
+
+        return $error;
+      }
+
+      /**
+       * Get the first element in this order:
+       * 2. The <label> with the attribute `[for="someInputId"]`
+       * 3. The `.closest()` <label>
+       *
+       * @param {Object} $el - jQuery object to check for required attribute
+       * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
+       */
+
+    }, {
+      key: 'findLabel',
+      value: function findLabel($el) {
+        var id = $el[0].id;
+        var $label = this.$element.find('label[for="' + id + '"]');
+
+        if (!$label.length) {
+          return $el.closest('label');
+        }
+
+        return $label;
+      }
+
+      /**
+       * Get the set of labels associated with a set of radio els in this order
+       * 2. The <label> with the attribute `[for="someInputId"]`
+       * 3. The `.closest()` <label>
+       *
+       * @param {Object} $el - jQuery object to check for required attribute
+       * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
+       */
+
+    }, {
+      key: 'findRadioLabels',
+      value: function findRadioLabels($els) {
+        var _this3 = this;
+
+        var labels = $els.map(function (i, el) {
+          var id = el.id;
+          var $label = _this3.$element.find('label[for="' + id + '"]');
+
+          if (!$label.length) {
+            $label = $(el).closest('label');
+          }
+          return $label[0];
+        });
+
+        return $(labels);
+      }
+
+      /**
+       * Adds the CSS error class as specified by the Abide settings to the label, input, and the form
+       * @param {Object} $el - jQuery object to add the class to
+       */
+
+    }, {
+      key: 'addErrorClasses',
+      value: function addErrorClasses($el) {
+        var $label = this.findLabel($el);
+        var $formError = this.findFormError($el);
+
+        if ($label.length) {
+          $label.addClass(this.options.labelErrorClass);
+        }
+
+        if ($formError.length) {
+          $formError.addClass(this.options.formErrorClass);
+        }
+
+        $el.addClass(this.options.inputErrorClass).attr('data-invalid', '');
+      }
+
+      /**
+       * Remove CSS error classes etc from an entire radio button group
+       * @param {String} groupName - A string that specifies the name of a radio button group
+       *
+       */
+
+    }, {
+      key: 'removeRadioErrorClasses',
+      value: function removeRadioErrorClasses(groupName) {
+        var $els = this.$element.find(':radio[name="' + groupName + '"]');
+        var $labels = this.findRadioLabels($els);
+        var $formErrors = this.findFormError($els);
+
+        if ($labels.length) {
+          $labels.removeClass(this.options.labelErrorClass);
+        }
+
+        if ($formErrors.length) {
+          $formErrors.removeClass(this.options.formErrorClass);
+        }
+
+        $els.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');
+      }
+
+      /**
+       * Removes CSS error class as specified by the Abide settings from the label, input, and the form
+       * @param {Object} $el - jQuery object to remove the class from
+       */
+
+    }, {
+      key: 'removeErrorClasses',
+      value: function removeErrorClasses($el) {
+        // radios need to clear all of the els
+        if ($el[0].type == 'radio') {
+          return this.removeRadioErrorClasses($el.attr('name'));
+        }
+
+        var $label = this.findLabel($el);
+        var $formError = this.findFormError($el);
+
+        if ($label.length) {
+          $label.removeClass(this.options.labelErrorClass);
+        }
+
+        if ($formError.length) {
+          $formError.removeClass(this.options.formErrorClass);
+        }
+
+        $el.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');
+      }
+
+      /**
+       * Goes through a form to find inputs and proceeds to validate them in ways specific to their type
+       * @fires Abide#invalid
+       * @fires Abide#valid
+       * @param {Object} element - jQuery object to validate, should be an HTML input
+       * @returns {Boolean} goodToGo - If the input is valid or not.
+       */
+
+    }, {
+      key: 'validateInput',
+      value: function validateInput($el) {
+        var clearRequire = this.requiredCheck($el),
+            validated = false,
+            customValidator = true,
+            validator = $el.attr('data-validator'),
+            equalTo = true;
+
+        // don't validate ignored inputs or hidden inputs
+        if ($el.is('[data-abide-ignore]') || $el.is('[type="hidden"]')) {
+          return true;
+        }
+
+        switch ($el[0].type) {
+          case 'radio':
+            validated = this.validateRadio($el.attr('name'));
+            break;
+
+          case 'checkbox':
+            validated = clearRequire;
+            break;
+
+          case 'select':
+          case 'select-one':
+          case 'select-multiple':
+            validated = clearRequire;
+            break;
+
+          default:
+            validated = this.validateText($el);
+        }
+
+        if (validator) {
+          customValidator = this.matchValidation($el, validator, $el.attr('required'));
+        }
+
+        if ($el.attr('data-equalto')) {
+          equalTo = this.options.validators.equalTo($el);
+        }
+
+        var goodToGo = [clearRequire, validated, customValidator, equalTo].indexOf(false) === -1;
+        var message = (goodToGo ? 'valid' : 'invalid') + '.zf.abide';
+
+        this[goodToGo ? 'removeErrorClasses' : 'addErrorClasses']($el);
+
+        /**
+         * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`
+         * Trigger includes the DOM element of the input.
+         * @event Abide#valid
+         * @event Abide#invalid
+         */
+        $el.trigger(message, [$el]);
+
+        return goodToGo;
+      }
+
+      /**
+       * Goes through a form and if there are any invalid inputs, it will display the form error element
+       * @returns {Boolean} noError - true if no errors were detected...
+       * @fires Abide#formvalid
+       * @fires Abide#forminvalid
+       */
+
+    }, {
+      key: 'validateForm',
+      value: function validateForm() {
+        var acc = [];
+        var _this = this;
+
+        this.$inputs.each(function () {
+          acc.push(_this.validateInput($(this)));
+        });
+
+        var noError = acc.indexOf(false) === -1;
+
+        this.$element.find('[data-abide-error]').css('display', noError ? 'none' : 'block');
+
+        /**
+         * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.
+         * Trigger includes the element of the form.
+         * @event Abide#formvalid
+         * @event Abide#forminvalid
+         */
+        this.$element.trigger((noError ? 'formvalid' : 'forminvalid') + '.zf.abide', [this.$element]);
+
+        return noError;
+      }
+
+      /**
+       * Determines whether or a not a text input is valid based on the pattern specified in the attribute. If no matching pattern is found, returns true.
+       * @param {Object} $el - jQuery object to validate, should be a text input HTML element
+       * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns
+       * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified
+       */
+
+    }, {
+      key: 'validateText',
+      value: function validateText($el, pattern) {
+        // A pattern can be passed to this function, or it will be infered from the input's "pattern" attribute, or it's "type" attribute
+        pattern = pattern || $el.attr('pattern') || $el.attr('type');
+        var inputText = $el.val();
+        var valid = false;
+
+        if (inputText.length) {
+          // If the pattern attribute on the element is in Abide's list of patterns, then test that regexp
+          if (this.options.patterns.hasOwnProperty(pattern)) {
+            valid = this.options.patterns[pattern].test(inputText);
+          }
+          // If the pattern name isn't also the type attribute of the field, then test it as a regexp
+          else if (pattern !== $el.attr('type')) {
+              valid = new RegExp(pattern).test(inputText);
+            } else {
+              valid = true;
+            }
+        }
+        // An empty field is valid if it's not required
+        else if (!$el.prop('required')) {
+            valid = true;
+          }
+
+        return valid;
+      }
+
+      /**
+       * Determines whether or a not a radio input is valid based on whether or not it is required and selected. Although the function targets a single `<input>`, it validates by checking the `required` and `checked` properties of all radio buttons in its group.
+       * @param {String} groupName - A string that specifies the name of a radio button group
+       * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)
+       */
+
+    }, {
+      key: 'validateRadio',
+      value: function validateRadio(groupName) {
+        // If at least one radio in the group has the `required` attribute, the group is considered required
+        // Per W3C spec, all radio buttons in a group should have `required`, but we're being nice
+        var $group = this.$element.find(':radio[name="' + groupName + '"]');
+        var valid = false,
+            required = false;
+
+        // For the group to be required, at least one radio needs to be required
+        $group.each(function (i, e) {
+          if ($(e).attr('required')) {
+            required = true;
+          }
+        });
+        if (!required) valid = true;
+
+        if (!valid) {
+          // For the group to be valid, at least one radio needs to be checked
+          $group.each(function (i, e) {
+            if ($(e).prop('checked')) {
+              valid = true;
+            }
+          });
+        };
+
+        return valid;
+      }
+
+      /**
+       * Determines if a selected input passes a custom validation function. Multiple validations can be used, if passed to the element with `data-validator="foo bar baz"` in a space separated listed.
+       * @param {Object} $el - jQuery input element.
+       * @param {String} validators - a string of function names matching functions in the Abide.options.validators object.
+       * @param {Boolean} required - self explanatory?
+       * @returns {Boolean} - true if validations passed.
+       */
+
+    }, {
+      key: 'matchValidation',
+      value: function matchValidation($el, validators, required) {
+        var _this4 = this;
+
+        required = required ? true : false;
+
+        var clear = validators.split(' ').map(function (v) {
+          return _this4.options.validators[v]($el, required, $el.parent());
+        });
+        return clear.indexOf(false) === -1;
+      }
+
+      /**
+       * Resets form inputs and styles
+       * @fires Abide#formreset
+       */
+
+    }, {
+      key: 'resetForm',
+      value: function resetForm() {
+        var $form = this.$element,
+            opts = this.options;
+
+        $('.' + opts.labelErrorClass, $form).not('small').removeClass(opts.labelErrorClass);
+        $('.' + opts.inputErrorClass, $form).not('small').removeClass(opts.inputErrorClass);
+        $(opts.formErrorSelector + '.' + opts.formErrorClass).removeClass(opts.formErrorClass);
+        $form.find('[data-abide-error]').css('display', 'none');
+        $(':input', $form).not(':button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]').val('').removeAttr('data-invalid');
+        $(':input:radio', $form).not('[data-abide-ignore]').prop('checked', false).removeAttr('data-invalid');
+        $(':input:checkbox', $form).not('[data-abide-ignore]').prop('checked', false).removeAttr('data-invalid');
+        /**
+         * Fires when the form has been reset.
+         * @event Abide#formreset
+         */
+        $form.trigger('formreset.zf.abide', [$form]);
+      }
+
+      /**
+       * Destroys an instance of Abide.
+       * Removes error styles and classes from elements, without resetting their values.
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        var _this = this;
+        this.$element.off('.abide').find('[data-abide-error]').css('display', 'none');
+
+        this.$inputs.off('.abide').each(function () {
+          _this.removeErrorClasses($(this));
+        });
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Abide;
+  }();
+
+  /**
+   * Default settings for plugin
+   */
+
+
+  Abide.defaults = {
+    /**
+     * The default event to validate inputs. Checkboxes and radios validate immediately.
+     * Remove or change this value for manual validation.
+     * @option
+     * @example 'fieldChange'
+     */
+    validateOn: 'fieldChange',
+
+    /**
+     * Class to be applied to input labels on failed validation.
+     * @option
+     * @example 'is-invalid-label'
+     */
+    labelErrorClass: 'is-invalid-label',
+
+    /**
+     * Class to be applied to inputs on failed validation.
+     * @option
+     * @example 'is-invalid-input'
+     */
+    inputErrorClass: 'is-invalid-input',
+
+    /**
+     * Class selector to use to target Form Errors for show/hide.
+     * @option
+     * @example '.form-error'
+     */
+    formErrorSelector: '.form-error',
+
+    /**
+     * Class added to Form Errors on failed validation.
+     * @option
+     * @example 'is-visible'
+     */
+    formErrorClass: 'is-visible',
+
+    /**
+     * Set to true to validate text inputs on any value change.
+     * @option
+     * @example false
+     */
+    liveValidate: false,
+
+    patterns: {
+      alpha: /^[a-zA-Z]+$/,
+      alpha_numeric: /^[a-zA-Z0-9]+$/,
+      integer: /^[-+]?\d+$/,
+      number: /^[-+]?\d*(?:[\.\,]\d+)?$/,
+
+      // amex, visa, diners
+      card: /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,
+      cvv: /^([0-9]){3,4}$/,
+
+      // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
+      email: /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,
+
+      url: /^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,
+      // abc.de
+      domain: /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,
+
+      datetime: /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,
+      // YYYY-MM-DD
+      date: /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,
+      // HH:MM:SS
+      time: /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,
+      dateISO: /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,
+      // MM/DD/YYYY
+      month_day_year: /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,
+      // DD/MM/YYYY
+      day_month_year: /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,
+
+      // #FFF or #FFFFFF
+      color: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
+    },
+
+    /**
+     * Optional validation functions to be used. `equalTo` being the only default included function.
+     * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:
+     * el : The jQuery element to validate.
+     * required : Boolean value of the required attribute be present or not.
+     * parent : The direct parent of the input.
+     * @option
+     */
+    validators: {
+      equalTo: function (el, required, parent) {
+        return $('#' + el.attr('data-equalto')).val() === el.val();
+      }
+    }
+  };
+
+  // Window exports
+  Foundation.plugin(Abide, 'Abide');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.accordion.js b/libraries/foundation-6/js/plugins/foundation.accordion.js
new file mode 100755
index 00000000..ce0f9b3a
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.accordion.js
@@ -0,0 +1,262 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Accordion module.
+   * @module foundation.accordion
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.motion
+   */
+
+  var Accordion = function () {
+    /**
+     * Creates a new instance of an accordion.
+     * @class
+     * @fires Accordion#init
+     * @param {jQuery} element - jQuery object to make into an accordion.
+     * @param {Object} options - a plain object with settings to override the default options.
+     */
+
+    function Accordion(element, options) {
+      _classCallCheck(this, Accordion);
+
+      this.$element = element;
+      this.options = $.extend({}, Accordion.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Accordion');
+      Foundation.Keyboard.register('Accordion', {
+        'ENTER': 'toggle',
+        'SPACE': 'toggle',
+        'ARROW_DOWN': 'next',
+        'ARROW_UP': 'previous'
+      });
+    }
+
+    /**
+     * Initializes the accordion by animating the preset active pane(s).
+     * @private
+     */
+
+
+    _createClass(Accordion, [{
+      key: '_init',
+      value: function _init() {
+        this.$element.attr('role', 'tablist');
+        this.$tabs = this.$element.children('li, [data-accordion-item]');
+
+        this.$tabs.each(function (idx, el) {
+          var $el = $(el),
+              $content = $el.children('[data-tab-content]'),
+              id = $content[0].id || Foundation.GetYoDigits(6, 'accordion'),
+              linkId = el.id || id + '-label';
+
+          $el.find('a:first').attr({
+            'aria-controls': id,
+            'role': 'tab',
+            'id': linkId,
+            'aria-expanded': false,
+            'aria-selected': false
+          });
+
+          $content.attr({ 'role': 'tabpanel', 'aria-labelledby': linkId, 'aria-hidden': true, 'id': id });
+        });
+        var $initActive = this.$element.find('.is-active').children('[data-tab-content]');
+        if ($initActive.length) {
+          this.down($initActive, true);
+        }
+        this._events();
+      }
+
+      /**
+       * Adds event handlers for items within the accordion.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+
+        this.$tabs.each(function () {
+          var $elem = $(this);
+          var $tabContent = $elem.children('[data-tab-content]');
+          if ($tabContent.length) {
+            $elem.children('a').off('click.zf.accordion keydown.zf.accordion').on('click.zf.accordion', function (e) {
+              // $(this).children('a').on('click.zf.accordion', function(e) {
+              e.preventDefault();
+              if ($elem.hasClass('is-active')) {
+                if (_this.options.allowAllClosed || $elem.siblings().hasClass('is-active')) {
+                  _this.up($tabContent);
+                }
+              } else {
+                _this.down($tabContent);
+              }
+            }).on('keydown.zf.accordion', function (e) {
+              Foundation.Keyboard.handleKey(e, 'Accordion', {
+                toggle: function () {
+                  _this.toggle($tabContent);
+                },
+                next: function () {
+                  var $a = $elem.next().find('a').focus();
+                  if (!_this.options.multiExpand) {
+                    $a.trigger('click.zf.accordion');
+                  }
+                },
+                previous: function () {
+                  var $a = $elem.prev().find('a').focus();
+                  if (!_this.options.multiExpand) {
+                    $a.trigger('click.zf.accordion');
+                  }
+                },
+                handled: function () {
+                  e.preventDefault();
+                  e.stopPropagation();
+                }
+              });
+            });
+          }
+        });
+      }
+
+      /**
+       * Toggles the selected content pane's open/close state.
+       * @param {jQuery} $target - jQuery object of the pane to toggle.
+       * @function
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle($target) {
+        if ($target.parent().hasClass('is-active')) {
+          if (this.options.allowAllClosed || $target.parent().siblings().hasClass('is-active')) {
+            this.up($target);
+          } else {
+            return;
+          }
+        } else {
+          this.down($target);
+        }
+      }
+
+      /**
+       * Opens the accordion tab defined by `$target`.
+       * @param {jQuery} $target - Accordion pane to open.
+       * @param {Boolean} firstTime - flag to determine if reflow should happen.
+       * @fires Accordion#down
+       * @function
+       */
+
+    }, {
+      key: 'down',
+      value: function down($target, firstTime) {
+        var _this2 = this;
+
+        if (!this.options.multiExpand && !firstTime) {
+          var $currentActive = this.$element.children('.is-active').children('[data-tab-content]');
+          if ($currentActive.length) {
+            this.up($currentActive);
+          }
+        }
+
+        $target.attr('aria-hidden', false).parent('[data-tab-content]').addBack().parent().addClass('is-active');
+
+        $target.slideDown(this.options.slideSpeed, function () {
+          /**
+           * Fires when the tab is done opening.
+           * @event Accordion#down
+           */
+          _this2.$element.trigger('down.zf.accordion', [$target]);
+        });
+
+        $('#' + $target.attr('aria-labelledby')).attr({
+          'aria-expanded': true,
+          'aria-selected': true
+        });
+      }
+
+      /**
+       * Closes the tab defined by `$target`.
+       * @param {jQuery} $target - Accordion tab to close.
+       * @fires Accordion#up
+       * @function
+       */
+
+    }, {
+      key: 'up',
+      value: function up($target) {
+        var $aunts = $target.parent().siblings(),
+            _this = this;
+        var canClose = this.options.multiExpand ? $aunts.hasClass('is-active') : $target.parent().hasClass('is-active');
+
+        if (!this.options.allowAllClosed && !canClose) {
+          return;
+        }
+
+        // Foundation.Move(this.options.slideSpeed, $target, function(){
+        $target.slideUp(_this.options.slideSpeed, function () {
+          /**
+           * Fires when the tab is done collapsing up.
+           * @event Accordion#up
+           */
+          _this.$element.trigger('up.zf.accordion', [$target]);
+        });
+        // });
+
+        $target.attr('aria-hidden', true).parent().removeClass('is-active');
+
+        $('#' + $target.attr('aria-labelledby')).attr({
+          'aria-expanded': false,
+          'aria-selected': false
+        });
+      }
+
+      /**
+       * Destroys an instance of an accordion.
+       * @fires Accordion#destroyed
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.find('[data-tab-content]').stop(true).slideUp(0).css('display', '');
+        this.$element.find('a').off('.zf.accordion');
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Accordion;
+  }();
+
+  Accordion.defaults = {
+    /**
+     * Amount of time to animate the opening of an accordion pane.
+     * @option
+     * @example 250
+     */
+    slideSpeed: 250,
+    /**
+     * Allow the accordion to have multiple open panes.
+     * @option
+     * @example false
+     */
+    multiExpand: false,
+    /**
+     * Allow the accordion to close all panes.
+     * @option
+     * @example false
+     */
+    allowAllClosed: false
+  };
+
+  // Window exports
+  Foundation.plugin(Accordion, 'Accordion');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.accordionMenu.js b/libraries/foundation-6/js/plugins/foundation.accordionMenu.js
new file mode 100755
index 00000000..cbd4127e
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.accordionMenu.js
@@ -0,0 +1,307 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * AccordionMenu module.
+   * @module foundation.accordionMenu
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.motion
+   * @requires foundation.util.nest
+   */
+
+  var AccordionMenu = function () {
+    /**
+     * Creates a new instance of an accordion menu.
+     * @class
+     * @fires AccordionMenu#init
+     * @param {jQuery} element - jQuery object to make into an accordion menu.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function AccordionMenu(element, options) {
+      _classCallCheck(this, AccordionMenu);
+
+      this.$element = element;
+      this.options = $.extend({}, AccordionMenu.defaults, this.$element.data(), options);
+
+      Foundation.Nest.Feather(this.$element, 'accordion');
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'AccordionMenu');
+      Foundation.Keyboard.register('AccordionMenu', {
+        'ENTER': 'toggle',
+        'SPACE': 'toggle',
+        'ARROW_RIGHT': 'open',
+        'ARROW_UP': 'up',
+        'ARROW_DOWN': 'down',
+        'ARROW_LEFT': 'close',
+        'ESCAPE': 'closeAll',
+        'TAB': 'down',
+        'SHIFT_TAB': 'up'
+      });
+    }
+
+    /**
+     * Initializes the accordion menu by hiding all nested menus.
+     * @private
+     */
+
+
+    _createClass(AccordionMenu, [{
+      key: '_init',
+      value: function _init() {
+        this.$element.find('[data-submenu]').not('.is-active').slideUp(0); //.find('a').css('padding-left', '1rem');
+        this.$element.attr({
+          'role': 'tablist',
+          'aria-multiselectable': this.options.multiOpen
+        });
+
+        this.$menuLinks = this.$element.find('.is-accordion-submenu-parent');
+        this.$menuLinks.each(function () {
+          var linkId = this.id || Foundation.GetYoDigits(6, 'acc-menu-link'),
+              $elem = $(this),
+              $sub = $elem.children('[data-submenu]'),
+              subId = $sub[0].id || Foundation.GetYoDigits(6, 'acc-menu'),
+              isActive = $sub.hasClass('is-active');
+          $elem.attr({
+            'aria-controls': subId,
+            'aria-expanded': isActive,
+            'role': 'tab',
+            'id': linkId
+          });
+          $sub.attr({
+            'aria-labelledby': linkId,
+            'aria-hidden': !isActive,
+            'role': 'tabpanel',
+            'id': subId
+          });
+        });
+        var initPanes = this.$element.find('.is-active');
+        if (initPanes.length) {
+          var _this = this;
+          initPanes.each(function () {
+            _this.down($(this));
+          });
+        }
+        this._events();
+      }
+
+      /**
+       * Adds event handlers for items within the menu.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+
+        this.$element.find('li').each(function () {
+          var $submenu = $(this).children('[data-submenu]');
+
+          if ($submenu.length) {
+            $(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function (e) {
+              e.preventDefault();
+
+              _this.toggle($submenu);
+            });
+          }
+        }).on('keydown.zf.accordionmenu', function (e) {
+          var $element = $(this),
+              $elements = $element.parent('ul').children('li'),
+              $prevElement,
+              $nextElement,
+              $target = $element.children('[data-submenu]');
+
+          $elements.each(function (i) {
+            if ($(this).is($element)) {
+              $prevElement = $elements.eq(Math.max(0, i - 1)).find('a').first();
+              $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)).find('a').first();
+
+              if ($(this).children('[data-submenu]:visible').length) {
+                // has open sub menu
+                $nextElement = $element.find('li:first-child').find('a').first();
+              }
+              if ($(this).is(':first-child')) {
+                // is first element of sub menu
+                $prevElement = $element.parents('li').first().find('a').first();
+              } else if ($prevElement.children('[data-submenu]:visible').length) {
+                // if previous element has open sub menu
+                $prevElement = $prevElement.find('li:last-child').find('a').first();
+              }
+              if ($(this).is(':last-child')) {
+                // is last element of sub menu
+                $nextElement = $element.parents('li').first().next('li').find('a').first();
+              }
+
+              return;
+            }
+          });
+          Foundation.Keyboard.handleKey(e, 'AccordionMenu', {
+            open: function () {
+              if ($target.is(':hidden')) {
+                _this.down($target);
+                $target.find('li').first().find('a').first().focus();
+              }
+            },
+            close: function () {
+              if ($target.length && !$target.is(':hidden')) {
+                // close active sub of this item
+                _this.up($target);
+              } else if ($element.parent('[data-submenu]').length) {
+                // close currently open sub
+                _this.up($element.parent('[data-submenu]'));
+                $element.parents('li').first().find('a').first().focus();
+              }
+            },
+            up: function () {
+              $prevElement.attr('tabindex', -1).focus();
+              return true;
+            },
+            down: function () {
+              $nextElement.attr('tabindex', -1).focus();
+              return true;
+            },
+            toggle: function () {
+              if ($element.children('[data-submenu]').length) {
+                _this.toggle($element.children('[data-submenu]'));
+              }
+            },
+            closeAll: function () {
+              _this.hideAll();
+            },
+            handled: function (preventDefault) {
+              if (preventDefault) {
+                e.preventDefault();
+              }
+              e.stopImmediatePropagation();
+            }
+          });
+        }); //.attr('tabindex', 0);
+      }
+
+      /**
+       * Closes all panes of the menu.
+       * @function
+       */
+
+    }, {
+      key: 'hideAll',
+      value: function hideAll() {
+        this.$element.find('[data-submenu]').slideUp(this.options.slideSpeed);
+      }
+
+      /**
+       * Toggles the open/close state of a submenu.
+       * @function
+       * @param {jQuery} $target - the submenu to toggle
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle($target) {
+        if (!$target.is(':animated')) {
+          if (!$target.is(':hidden')) {
+            this.up($target);
+          } else {
+            this.down($target);
+          }
+        }
+      }
+
+      /**
+       * Opens the sub-menu defined by `$target`.
+       * @param {jQuery} $target - Sub-menu to open.
+       * @fires AccordionMenu#down
+       */
+
+    }, {
+      key: 'down',
+      value: function down($target) {
+        var _this = this;
+
+        if (!this.options.multiOpen) {
+          this.up(this.$element.find('.is-active').not($target.parentsUntil(this.$element).add($target)));
+        }
+
+        $target.addClass('is-active').attr({ 'aria-hidden': false }).parent('.is-accordion-submenu-parent').attr({ 'aria-expanded': true });
+
+        //Foundation.Move(this.options.slideSpeed, $target, function() {
+        $target.slideDown(_this.options.slideSpeed, function () {
+          /**
+           * Fires when the menu is done opening.
+           * @event AccordionMenu#down
+           */
+          _this.$element.trigger('down.zf.accordionMenu', [$target]);
+        });
+        //});
+      }
+
+      /**
+       * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.
+       * @param {jQuery} $target - Sub-menu to close.
+       * @fires AccordionMenu#up
+       */
+
+    }, {
+      key: 'up',
+      value: function up($target) {
+        var _this = this;
+        //Foundation.Move(this.options.slideSpeed, $target, function(){
+        $target.slideUp(_this.options.slideSpeed, function () {
+          /**
+           * Fires when the menu is done collapsing up.
+           * @event AccordionMenu#up
+           */
+          _this.$element.trigger('up.zf.accordionMenu', [$target]);
+        });
+        //});
+
+        var $menus = $target.find('[data-submenu]').slideUp(0).addBack().attr('aria-hidden', true);
+
+        $menus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false);
+      }
+
+      /**
+       * Destroys an instance of accordion menu.
+       * @fires AccordionMenu#destroyed
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.find('[data-submenu]').slideDown(0).css('display', '');
+        this.$element.find('a').off('click.zf.accordionMenu');
+
+        Foundation.Nest.Burn(this.$element, 'accordion');
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return AccordionMenu;
+  }();
+
+  AccordionMenu.defaults = {
+    /**
+     * Amount of time to animate the opening of a submenu in ms.
+     * @option
+     * @example 250
+     */
+    slideSpeed: 250,
+    /**
+     * Allow the menu to have multiple open panes.
+     * @option
+     * @example true
+     */
+    multiOpen: true
+  };
+
+  // Window exports
+  Foundation.plugin(AccordionMenu, 'AccordionMenu');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.core.js b/libraries/foundation-6/js/plugins/foundation.core.js
new file mode 100755
index 00000000..002c7a0e
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.core.js
@@ -0,0 +1,386 @@
+!function ($) {
+
+  "use strict";
+
+  var FOUNDATION_VERSION = '6.2.2';
+
+  // Global Foundation object
+  // This is attached to the window, or used as a module for AMD/Browserify
+  var Foundation = {
+    version: FOUNDATION_VERSION,
+
+    /**
+     * Stores initialized plugins.
+     */
+    _plugins: {},
+
+    /**
+     * Stores generated unique ids for plugin instances
+     */
+    _uuids: [],
+
+    /**
+     * Returns a boolean for RTL support
+     */
+    rtl: function () {
+      return $('html').attr('dir') === 'rtl';
+    },
+    /**
+     * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.
+     * @param {Object} plugin - The constructor of the plugin.
+     */
+    plugin: function (plugin, name) {
+      // Object key to use when adding to global Foundation object
+      // Examples: Foundation.Reveal, Foundation.OffCanvas
+      var className = name || functionName(plugin);
+      // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin
+      // Examples: data-reveal, data-off-canvas
+      var attrName = hyphenate(className);
+
+      // Add to the Foundation object and the plugins list (for reflowing)
+      this._plugins[attrName] = this[className] = plugin;
+    },
+    /**
+     * @function
+     * Populates the _uuids array with pointers to each individual plugin instance.
+     * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.
+     * Also fires the initialization event for each plugin, consolidating repetitive code.
+     * @param {Object} plugin - an instance of a plugin, usually `this` in context.
+     * @param {String} name - the name of the plugin, passed as a camelCased string.
+     * @fires Plugin#init
+     */
+    registerPlugin: function (plugin, name) {
+      var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();
+      plugin.uuid = this.GetYoDigits(6, pluginName);
+
+      if (!plugin.$element.attr('data-' + pluginName)) {
+        plugin.$element.attr('data-' + pluginName, plugin.uuid);
+      }
+      if (!plugin.$element.data('zfPlugin')) {
+        plugin.$element.data('zfPlugin', plugin);
+      }
+      /**
+       * Fires when the plugin has initialized.
+       * @event Plugin#init
+       */
+      plugin.$element.trigger('init.zf.' + pluginName);
+
+      this._uuids.push(plugin.uuid);
+
+      return;
+    },
+    /**
+     * @function
+     * Removes the plugins uuid from the _uuids array.
+     * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.
+     * Also fires the destroyed event for the plugin, consolidating repetitive code.
+     * @param {Object} plugin - an instance of a plugin, usually `this` in context.
+     * @fires Plugin#destroyed
+     */
+    unregisterPlugin: function (plugin) {
+      var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));
+
+      this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);
+      plugin.$element.removeAttr('data-' + pluginName).removeData('zfPlugin')
+      /**
+       * Fires when the plugin has been destroyed.
+       * @event Plugin#destroyed
+       */
+      .trigger('destroyed.zf.' + pluginName);
+      for (var prop in plugin) {
+        plugin[prop] = null; //clean up script to prep for garbage collection.
+      }
+      return;
+    },
+
+    /**
+     * @function
+     * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.
+     * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`
+     * @default If no argument is passed, reflow all currently active plugins.
+     */
+    reInit: function (plugins) {
+      var isJQ = plugins instanceof $;
+      try {
+        if (isJQ) {
+          plugins.each(function () {
+            $(this).data('zfPlugin')._init();
+          });
+        } else {
+          var type = typeof plugins,
+              _this = this,
+              fns = {
+            'object': function (plgs) {
+              plgs.forEach(function (p) {
+                p = hyphenate(p);
+                $('[data-' + p + ']').foundation('_init');
+              });
+            },
+            'string': function () {
+              plugins = hyphenate(plugins);
+              $('[data-' + plugins + ']').foundation('_init');
+            },
+            'undefined': function () {
+              this['object'](Object.keys(_this._plugins));
+            }
+          };
+          fns[type](plugins);
+        }
+      } catch (err) {
+        console.error(err);
+      } finally {
+        return plugins;
+      }
+    },
+
+    /**
+     * returns a random base-36 uid with namespacing
+     * @function
+     * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.
+     * @param {String} namespace - name of plugin to be incorporated in uid, optional.
+     * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.
+     * @returns {String} - unique id
+     */
+    GetYoDigits: function (length, namespace) {
+      length = length || 6;
+      return Math.round(Math.pow(36, length + 1) - Math.random() * Math.pow(36, length)).toString(36).slice(1) + (namespace ? '-' + namespace : '');
+    },
+    /**
+     * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.
+     * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.
+     * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.
+     */
+    reflow: function (elem, plugins) {
+
+      // If plugins is undefined, just grab everything
+      if (typeof plugins === 'undefined') {
+        plugins = Object.keys(this._plugins);
+      }
+      // If plugins is a string, convert it to an array with one item
+      else if (typeof plugins === 'string') {
+          plugins = [plugins];
+        }
+
+      var _this = this;
+
+      // Iterate through each plugin
+      $.each(plugins, function (i, name) {
+        // Get the current plugin
+        var plugin = _this._plugins[name];
+
+        // Localize the search to all elements inside elem, as well as elem itself, unless elem === document
+        var $elem = $(elem).find('[data-' + name + ']').addBack('[data-' + name + ']');
+
+        // For each plugin found, initialize it
+        $elem.each(function () {
+          var $el = $(this),
+              opts = {};
+          // Don't double-dip on plugins
+          if ($el.data('zfPlugin')) {
+            console.warn("Tried to initialize " + name + " on an element that already has a Foundation plugin.");
+            return;
+          }
+
+          if ($el.attr('data-options')) {
+            var thing = $el.attr('data-options').split(';').forEach(function (e, i) {
+              var opt = e.split(':').map(function (el) {
+                return el.trim();
+              });
+              if (opt[0]) opts[opt[0]] = parseValue(opt[1]);
+            });
+          }
+          try {
+            $el.data('zfPlugin', new plugin($(this), opts));
+          } catch (er) {
+            console.error(er);
+          } finally {
+            return;
+          }
+        });
+      });
+    },
+    getFnName: functionName,
+    transitionend: function ($elem) {
+      var transitions = {
+        'transition': 'transitionend',
+        'WebkitTransition': 'webkitTransitionEnd',
+        'MozTransition': 'transitionend',
+        'OTransition': 'otransitionend'
+      };
+      var elem = document.createElement('div'),
+          end;
+
+      for (var t in transitions) {
+        if (typeof elem.style[t] !== 'undefined') {
+          end = transitions[t];
+        }
+      }
+      if (end) {
+        return end;
+      } else {
+        end = setTimeout(function () {
+          $elem.triggerHandler('transitionend', [$elem]);
+        }, 1);
+        return 'transitionend';
+      }
+    }
+  };
+
+  Foundation.util = {
+    /**
+     * Function for applying a debounce effect to a function call.
+     * @function
+     * @param {Function} func - Function to be called at end of timeout.
+     * @param {Number} delay - Time in ms to delay the call of `func`.
+     * @returns function
+     */
+    throttle: function (func, delay) {
+      var timer = null;
+
+      return function () {
+        var context = this,
+            args = arguments;
+
+        if (timer === null) {
+          timer = setTimeout(function () {
+            func.apply(context, args);
+            timer = null;
+          }, delay);
+        }
+      };
+    }
+  };
+
+  // TODO: consider not making this a jQuery function
+  // TODO: need way to reflow vs. re-initialize
+  /**
+   * The Foundation jQuery method.
+   * @param {String|Array} method - An action to perform on the current jQuery object.
+   */
+  var foundation = function (method) {
+    var type = typeof method,
+        $meta = $('meta.foundation-mq'),
+        $noJS = $('.no-js');
+
+    if (!$meta.length) {
+      $('<meta class="foundation-mq">').appendTo(document.head);
+    }
+    if ($noJS.length) {
+      $noJS.removeClass('no-js');
+    }
+
+    if (type === 'undefined') {
+      //needs to initialize the Foundation object, or an individual plugin.
+      Foundation.MediaQuery._init();
+      Foundation.reflow(this);
+    } else if (type === 'string') {
+      //an individual method to invoke on a plugin or group of plugins
+      var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary
+      var plugClass = this.data('zfPlugin'); //determine the class of plugin
+
+      if (plugClass !== undefined && plugClass[method] !== undefined) {
+        //make sure both the class and method exist
+        if (this.length === 1) {
+          //if there's only one, call it directly.
+          plugClass[method].apply(plugClass, args);
+        } else {
+          this.each(function (i, el) {
+            //otherwise loop through the jQuery collection and invoke the method on each
+            plugClass[method].apply($(el).data('zfPlugin'), args);
+          });
+        }
+      } else {
+        //error for no class or no method
+        throw new ReferenceError("We're sorry, '" + method + "' is not an available method for " + (plugClass ? functionName(plugClass) : 'this element') + '.');
+      }
+    } else {
+      //error for invalid argument type
+      throw new TypeError('We\'re sorry, ' + type + ' is not a valid parameter. You must use a string representing the method you wish to invoke.');
+    }
+    return this;
+  };
+
+  window.Foundation = Foundation;
+  $.fn.foundation = foundation;
+
+  // Polyfill for requestAnimationFrame
+  (function () {
+    if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () {
+      return new Date().getTime();
+    };
+
+    var vendors = ['webkit', 'moz'];
+    for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
+      var vp = vendors[i];
+      window.requestAnimationFrame = window[vp + 'RequestAnimationFrame'];
+      window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame'];
+    }
+    if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {
+      var lastTime = 0;
+      window.requestAnimationFrame = function (callback) {
+        var now = Date.now();
+        var nextTime = Math.max(lastTime + 16, now);
+        return setTimeout(function () {
+          callback(lastTime = nextTime);
+        }, nextTime - now);
+      };
+      window.cancelAnimationFrame = clearTimeout;
+    }
+    /**
+     * Polyfill for performance.now, required by rAF
+     */
+    if (!window.performance || !window.performance.now) {
+      window.performance = {
+        start: Date.now(),
+        now: function () {
+          return Date.now() - this.start;
+        }
+      };
+    }
+  })();
+  if (!Function.prototype.bind) {
+    Function.prototype.bind = function (oThis) {
+      if (typeof this !== 'function') {
+        // closest thing possible to the ECMAScript 5
+        // internal IsCallable function
+        throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');
+      }
+
+      var aArgs = Array.prototype.slice.call(arguments, 1),
+          fToBind = this,
+          fNOP = function () {},
+          fBound = function () {
+        return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));
+      };
+
+      if (this.prototype) {
+        // native functions don't have a prototype
+        fNOP.prototype = this.prototype;
+      }
+      fBound.prototype = new fNOP();
+
+      return fBound;
+    };
+  }
+  // Polyfill to get the name of a function in IE9
+  function functionName(fn) {
+    if (Function.prototype.name === undefined) {
+      var funcNameRegex = /function\s([^(]{1,})\(/;
+      var results = funcNameRegex.exec(fn.toString());
+      return results && results.length > 1 ? results[1].trim() : "";
+    } else if (fn.prototype === undefined) {
+      return fn.constructor.name;
+    } else {
+      return fn.prototype.constructor.name;
+    }
+  }
+  function parseValue(str) {
+    if (/true/.test(str)) return true;else if (/false/.test(str)) return false;else if (!isNaN(str * 1)) return parseFloat(str);
+    return str;
+  }
+  // Convert PascalCase to kebab-case
+  // Thank you: http://stackoverflow.com/a/8955580
+  function hyphenate(str) {
+    return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
+  }
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.drilldown.js b/libraries/foundation-6/js/plugins/foundation.drilldown.js
new file mode 100755
index 00000000..f16f4c8b
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.drilldown.js
@@ -0,0 +1,409 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Drilldown module.
+   * @module foundation.drilldown
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.motion
+   * @requires foundation.util.nest
+   */
+
+  var Drilldown = function () {
+    /**
+     * Creates a new instance of a drilldown menu.
+     * @class
+     * @param {jQuery} element - jQuery object to make into an accordion menu.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Drilldown(element, options) {
+      _classCallCheck(this, Drilldown);
+
+      this.$element = element;
+      this.options = $.extend({}, Drilldown.defaults, this.$element.data(), options);
+
+      Foundation.Nest.Feather(this.$element, 'drilldown');
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Drilldown');
+      Foundation.Keyboard.register('Drilldown', {
+        'ENTER': 'open',
+        'SPACE': 'open',
+        'ARROW_RIGHT': 'next',
+        'ARROW_UP': 'up',
+        'ARROW_DOWN': 'down',
+        'ARROW_LEFT': 'previous',
+        'ESCAPE': 'close',
+        'TAB': 'down',
+        'SHIFT_TAB': 'up'
+      });
+    }
+
+    /**
+     * Initializes the drilldown by creating jQuery collections of elements
+     * @private
+     */
+
+
+    _createClass(Drilldown, [{
+      key: '_init',
+      value: function _init() {
+        this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a');
+        this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]');
+        this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'menuitem').find('a');
+
+        this._prepareMenu();
+
+        this._keyboardEvents();
+      }
+
+      /**
+       * prepares drilldown menu by setting attributes to links and elements
+       * sets a min height to prevent content jumping
+       * wraps the element if not already wrapped
+       * @private
+       * @function
+       */
+
+    }, {
+      key: '_prepareMenu',
+      value: function _prepareMenu() {
+        var _this = this;
+        // if(!this.options.holdOpen){
+        //   this._menuLinkEvents();
+        // }
+        this.$submenuAnchors.each(function () {
+          var $link = $(this);
+          var $sub = $link.parent();
+          if (_this.options.parentLink) {
+            $link.clone().prependTo($sub.children('[data-submenu]')).wrap('<li class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="menu-item"></li>');
+          }
+          $link.data('savedHref', $link.attr('href')).removeAttr('href');
+          $link.children('[data-submenu]').attr({
+            'aria-hidden': true,
+            'tabindex': 0,
+            'role': 'menu'
+          });
+          _this._events($link);
+        });
+        this.$submenus.each(function () {
+          var $menu = $(this),
+              $back = $menu.find('.js-drilldown-back');
+          if (!$back.length) {
+            $menu.prepend(_this.options.backButton);
+          }
+          _this._back($menu);
+        });
+        if (!this.$element.parent().hasClass('is-drilldown')) {
+          this.$wrapper = $(this.options.wrapper).addClass('is-drilldown');
+          this.$wrapper = this.$element.wrap(this.$wrapper).parent().css(this._getMaxDims());
+        }
+      }
+
+      /**
+       * Adds event handlers to elements in the menu.
+       * @function
+       * @private
+       * @param {jQuery} $elem - the current menu item to add handlers to.
+       */
+
+    }, {
+      key: '_events',
+      value: function _events($elem) {
+        var _this = this;
+
+        $elem.off('click.zf.drilldown').on('click.zf.drilldown', function (e) {
+          if ($(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')) {
+            e.stopImmediatePropagation();
+            e.preventDefault();
+          }
+
+          // if(e.target !== e.currentTarget.firstElementChild){
+          //   return false;
+          // }
+          _this._show($elem.parent('li'));
+
+          if (_this.options.closeOnClick) {
+            var $body = $('body');
+            $body.off('.zf.drilldown').on('click.zf.drilldown', function (e) {
+              if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) {
+                return;
+              }
+              e.preventDefault();
+              _this._hideAll();
+              $body.off('.zf.drilldown');
+            });
+          }
+        });
+      }
+
+      /**
+       * Adds keydown event listener to `li`'s in the menu.
+       * @private
+       */
+
+    }, {
+      key: '_keyboardEvents',
+      value: function _keyboardEvents() {
+        var _this = this;
+
+        this.$menuItems.add(this.$element.find('.js-drilldown-back > a')).on('keydown.zf.drilldown', function (e) {
+
+          var $element = $(this),
+              $elements = $element.parent('li').parent('ul').children('li').children('a'),
+              $prevElement,
+              $nextElement;
+
+          $elements.each(function (i) {
+            if ($(this).is($element)) {
+              $prevElement = $elements.eq(Math.max(0, i - 1));
+              $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1));
+              return;
+            }
+          });
+
+          Foundation.Keyboard.handleKey(e, 'Drilldown', {
+            next: function () {
+              if ($element.is(_this.$submenuAnchors)) {
+                _this._show($element.parent('li'));
+                $element.parent('li').one(Foundation.transitionend($element), function () {
+                  $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();
+                });
+                return true;
+              }
+            },
+            previous: function () {
+              _this._hide($element.parent('li').parent('ul'));
+              $element.parent('li').parent('ul').one(Foundation.transitionend($element), function () {
+                setTimeout(function () {
+                  $element.parent('li').parent('ul').parent('li').children('a').first().focus();
+                }, 1);
+              });
+              return true;
+            },
+            up: function () {
+              $prevElement.focus();
+              return true;
+            },
+            down: function () {
+              $nextElement.focus();
+              return true;
+            },
+            close: function () {
+              _this._back();
+              //_this.$menuItems.first().focus(); // focus to first element
+            },
+            open: function () {
+              if (!$element.is(_this.$menuItems)) {
+                // not menu item means back button
+                _this._hide($element.parent('li').parent('ul'));
+                $element.parent('li').parent('ul').one(Foundation.transitionend($element), function () {
+                  setTimeout(function () {
+                    $element.parent('li').parent('ul').parent('li').children('a').first().focus();
+                  }, 1);
+                });
+              } else if ($element.is(_this.$submenuAnchors)) {
+                _this._show($element.parent('li'));
+                $element.parent('li').one(Foundation.transitionend($element), function () {
+                  $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();
+                });
+              }
+              return true;
+            },
+            handled: function (preventDefault) {
+              if (preventDefault) {
+                e.preventDefault();
+              }
+              e.stopImmediatePropagation();
+            }
+          });
+        }); // end keyboardAccess
+      }
+
+      /**
+       * Closes all open elements, and returns to root menu.
+       * @function
+       * @fires Drilldown#closed
+       */
+
+    }, {
+      key: '_hideAll',
+      value: function _hideAll() {
+        var $elem = this.$element.find('.is-drilldown-submenu.is-active').addClass('is-closing');
+        $elem.one(Foundation.transitionend($elem), function (e) {
+          $elem.removeClass('is-active is-closing');
+        });
+        /**
+         * Fires when the menu is fully closed.
+         * @event Drilldown#closed
+         */
+        this.$element.trigger('closed.zf.drilldown');
+      }
+
+      /**
+       * Adds event listener for each `back` button, and closes open menus.
+       * @function
+       * @fires Drilldown#back
+       * @param {jQuery} $elem - the current sub-menu to add `back` event.
+       */
+
+    }, {
+      key: '_back',
+      value: function _back($elem) {
+        var _this = this;
+        $elem.off('click.zf.drilldown');
+        $elem.children('.js-drilldown-back').on('click.zf.drilldown', function (e) {
+          e.stopImmediatePropagation();
+          // console.log('mouseup on back');
+          _this._hide($elem);
+        });
+      }
+
+      /**
+       * Adds event listener to menu items w/o submenus to close open menus on click.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_menuLinkEvents',
+      value: function _menuLinkEvents() {
+        var _this = this;
+        this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown', function (e) {
+          // e.stopImmediatePropagation();
+          setTimeout(function () {
+            _this._hideAll();
+          }, 0);
+        });
+      }
+
+      /**
+       * Opens a submenu.
+       * @function
+       * @fires Drilldown#open
+       * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.
+       */
+
+    }, {
+      key: '_show',
+      value: function _show($elem) {
+        $elem.children('[data-submenu]').addClass('is-active');
+        /**
+         * Fires when the submenu has opened.
+         * @event Drilldown#open
+         */
+        this.$element.trigger('open.zf.drilldown', [$elem]);
+      }
+    }, {
+      key: '_hide',
+
+
+      /**
+       * Hides a submenu
+       * @function
+       * @fires Drilldown#hide
+       * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.
+       */
+      value: function _hide($elem) {
+        var _this = this;
+        $elem.addClass('is-closing').one(Foundation.transitionend($elem), function () {
+          $elem.removeClass('is-active is-closing');
+          $elem.blur();
+        });
+        /**
+         * Fires when the submenu has closed.
+         * @event Drilldown#hide
+         */
+        $elem.trigger('hide.zf.drilldown', [$elem]);
+      }
+
+      /**
+       * Iterates through the nested menus to calculate the min-height, and max-width for the menu.
+       * Prevents content jumping.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_getMaxDims',
+      value: function _getMaxDims() {
+        var max = 0,
+            result = {};
+        this.$submenus.add(this.$element).each(function () {
+          var numOfElems = $(this).children('li').length;
+          max = numOfElems > max ? numOfElems : max;
+        });
+
+        result['min-height'] = max * this.$menuItems[0].getBoundingClientRect().height + 'px';
+        result['max-width'] = this.$element[0].getBoundingClientRect().width + 'px';
+
+        return result;
+      }
+
+      /**
+       * Destroys the Drilldown Menu
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this._hideAll();
+        Foundation.Nest.Burn(this.$element, 'drilldown');
+        this.$element.unwrap().find('.js-drilldown-back, .is-submenu-parent-item').remove().end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');
+        this.$submenuAnchors.each(function () {
+          $(this).off('.zf.drilldown');
+        });
+        this.$element.find('a').each(function () {
+          var $link = $(this);
+          if ($link.data('savedHref')) {
+            $link.attr('href', $link.data('savedHref')).removeData('savedHref');
+          } else {
+            return;
+          }
+        });
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Drilldown;
+  }();
+
+  Drilldown.defaults = {
+    /**
+     * Markup used for JS generated back button. Prepended to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\`) if copy and pasting.
+     * @option
+     * @example '<\li><\a>Back<\/a><\/li>'
+     */
+    backButton: '<li class="js-drilldown-back"><a tabindex="0">Back</a></li>',
+    /**
+     * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\`) if copy and pasting.
+     * @option
+     * @example '<\div class="is-drilldown"><\/div>'
+     */
+    wrapper: '<div></div>',
+    /**
+     * Adds the parent link to the submenu.
+     * @option
+     * @example false
+     */
+    parentLink: false,
+    /**
+     * Allow the menu to return to root list on body click.
+     * @option
+     * @example false
+     */
+    closeOnClick: false
+    // holdOpen: false
+  };
+
+  // Window exports
+  Foundation.plugin(Drilldown, 'Drilldown');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.dropdown.js b/libraries/foundation-6/js/plugins/foundation.dropdown.js
new file mode 100755
index 00000000..c6cc98c8
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.dropdown.js
@@ -0,0 +1,447 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Dropdown module.
+   * @module foundation.dropdown
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.box
+   * @requires foundation.util.triggers
+   */
+
+  var Dropdown = function () {
+    /**
+     * Creates a new instance of a dropdown.
+     * @class
+     * @param {jQuery} element - jQuery object to make into a dropdown.
+     *        Object should be of the dropdown panel, rather than its anchor.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Dropdown(element, options) {
+      _classCallCheck(this, Dropdown);
+
+      this.$element = element;
+      this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);
+      this._init();
+
+      Foundation.registerPlugin(this, 'Dropdown');
+      Foundation.Keyboard.register('Dropdown', {
+        'ENTER': 'open',
+        'SPACE': 'open',
+        'ESCAPE': 'close',
+        'TAB': 'tab_forward',
+        'SHIFT_TAB': 'tab_backward'
+      });
+    }
+
+    /**
+     * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.
+     * @function
+     * @private
+     */
+
+
+    _createClass(Dropdown, [{
+      key: '_init',
+      value: function _init() {
+        var $id = this.$element.attr('id');
+
+        this.$anchor = $('[data-toggle="' + $id + '"]') || $('[data-open="' + $id + '"]');
+        this.$anchor.attr({
+          'aria-controls': $id,
+          'data-is-focus': false,
+          'data-yeti-box': $id,
+          'aria-haspopup': true,
+          'aria-expanded': false
+
+        });
+
+        this.options.positionClass = this.getPositionClass();
+        this.counter = 4;
+        this.usedPositions = [];
+        this.$element.attr({
+          'aria-hidden': 'true',
+          'data-yeti-box': $id,
+          'data-resize': $id,
+          'aria-labelledby': this.$anchor[0].id || Foundation.GetYoDigits(6, 'dd-anchor')
+        });
+        this._events();
+      }
+
+      /**
+       * Helper function to determine current orientation of dropdown pane.
+       * @function
+       * @returns {String} position - string value of a position class.
+       */
+
+    }, {
+      key: 'getPositionClass',
+      value: function getPositionClass() {
+        var verticalPosition = this.$element[0].className.match(/(top|left|right|bottom)/g);
+        verticalPosition = verticalPosition ? verticalPosition[0] : '';
+        var horizontalPosition = /float-(\S+)\s/.exec(this.$anchor[0].className);
+        horizontalPosition = horizontalPosition ? horizontalPosition[1] : '';
+        var position = horizontalPosition ? horizontalPosition + ' ' + verticalPosition : verticalPosition;
+        return position;
+      }
+
+      /**
+       * Adjusts the dropdown panes orientation by adding/removing positioning classes.
+       * @function
+       * @private
+       * @param {String} position - position class to remove.
+       */
+
+    }, {
+      key: '_reposition',
+      value: function _reposition(position) {
+        this.usedPositions.push(position ? position : 'bottom');
+        //default, try switching to opposite side
+        if (!position && this.usedPositions.indexOf('top') < 0) {
+          this.$element.addClass('top');
+        } else if (position === 'top' && this.usedPositions.indexOf('bottom') < 0) {
+          this.$element.removeClass(position);
+        } else if (position === 'left' && this.usedPositions.indexOf('right') < 0) {
+          this.$element.removeClass(position).addClass('right');
+        } else if (position === 'right' && this.usedPositions.indexOf('left') < 0) {
+          this.$element.removeClass(position).addClass('left');
+        }
+
+        //if default change didn't work, try bottom or left first
+        else if (!position && this.usedPositions.indexOf('top') > -1 && this.usedPositions.indexOf('left') < 0) {
+            this.$element.addClass('left');
+          } else if (position === 'top' && this.usedPositions.indexOf('bottom') > -1 && this.usedPositions.indexOf('left') < 0) {
+            this.$element.removeClass(position).addClass('left');
+          } else if (position === 'left' && this.usedPositions.indexOf('right') > -1 && this.usedPositions.indexOf('bottom') < 0) {
+            this.$element.removeClass(position);
+          } else if (position === 'right' && this.usedPositions.indexOf('left') > -1 && this.usedPositions.indexOf('bottom') < 0) {
+            this.$element.removeClass(position);
+          }
+          //if nothing cleared, set to bottom
+          else {
+              this.$element.removeClass(position);
+            }
+        this.classChanged = true;
+        this.counter--;
+      }
+
+      /**
+       * Sets the position and orientation of the dropdown pane, checks for collisions.
+       * Recursively calls itself if a collision is detected, with a new position class.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_setPosition',
+      value: function _setPosition() {
+        if (this.$anchor.attr('aria-expanded') === 'false') {
+          return false;
+        }
+        var position = this.getPositionClass(),
+            $eleDims = Foundation.Box.GetDimensions(this.$element),
+            $anchorDims = Foundation.Box.GetDimensions(this.$anchor),
+            _this = this,
+            direction = position === 'left' ? 'left' : position === 'right' ? 'left' : 'top',
+            param = direction === 'top' ? 'height' : 'width',
+            offset = param === 'height' ? this.options.vOffset : this.options.hOffset;
+
+        if ($eleDims.width >= $eleDims.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.$element)) {
+          this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({
+            'width': $eleDims.windowDims.width - this.options.hOffset * 2,
+            'height': 'auto'
+          });
+          this.classChanged = true;
+          return false;
+        }
+
+        this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, position, this.options.vOffset, this.options.hOffset));
+
+        while (!Foundation.Box.ImNotTouchingYou(this.$element, false, true) && this.counter) {
+          this._reposition(position);
+          this._setPosition();
+        }
+      }
+
+      /**
+       * Adds event listeners to the element utilizing the triggers utility library.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+        this.$element.on({
+          'open.zf.trigger': this.open.bind(this),
+          'close.zf.trigger': this.close.bind(this),
+          'toggle.zf.trigger': this.toggle.bind(this),
+          'resizeme.zf.trigger': this._setPosition.bind(this)
+        });
+
+        if (this.options.hover) {
+          this.$anchor.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {
+            clearTimeout(_this.timeout);
+            _this.timeout = setTimeout(function () {
+              _this.open();
+              _this.$anchor.data('hover', true);
+            }, _this.options.hoverDelay);
+          }).on('mouseleave.zf.dropdown', function () {
+            clearTimeout(_this.timeout);
+            _this.timeout = setTimeout(function () {
+              _this.close();
+              _this.$anchor.data('hover', false);
+            }, _this.options.hoverDelay);
+          });
+          if (this.options.hoverPane) {
+            this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {
+              clearTimeout(_this.timeout);
+            }).on('mouseleave.zf.dropdown', function () {
+              clearTimeout(_this.timeout);
+              _this.timeout = setTimeout(function () {
+                _this.close();
+                _this.$anchor.data('hover', false);
+              }, _this.options.hoverDelay);
+            });
+          }
+        }
+        this.$anchor.add(this.$element).on('keydown.zf.dropdown', function (e) {
+
+          var $target = $(this),
+              visibleFocusableElements = Foundation.Keyboard.findFocusable(_this.$element);
+
+          Foundation.Keyboard.handleKey(e, 'Dropdown', {
+            tab_forward: function () {
+              if (_this.$element.find(':focus').is(visibleFocusableElements.eq(-1))) {
+                // left modal downwards, setting focus to first element
+                if (_this.options.trapFocus) {
+                  // if focus shall be trapped
+                  visibleFocusableElements.eq(0).focus();
+                  e.preventDefault();
+                } else {
+                  // if focus is not trapped, close dropdown on focus out
+                  _this.close();
+                }
+              }
+            },
+            tab_backward: function () {
+              if (_this.$element.find(':focus').is(visibleFocusableElements.eq(0)) || _this.$element.is(':focus')) {
+                // left modal upwards, setting focus to last element
+                if (_this.options.trapFocus) {
+                  // if focus shall be trapped
+                  visibleFocusableElements.eq(-1).focus();
+                  e.preventDefault();
+                } else {
+                  // if focus is not trapped, close dropdown on focus out
+                  _this.close();
+                }
+              }
+            },
+            open: function () {
+              if ($target.is(_this.$anchor)) {
+                _this.open();
+                _this.$element.attr('tabindex', -1).focus();
+                e.preventDefault();
+              }
+            },
+            close: function () {
+              _this.close();
+              _this.$anchor.focus();
+            }
+          });
+        });
+      }
+
+      /**
+       * Adds an event handler to the body to close any dropdowns on a click.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_addBodyHandler',
+      value: function _addBodyHandler() {
+        var $body = $(document.body).not(this.$element),
+            _this = this;
+        $body.off('click.zf.dropdown').on('click.zf.dropdown', function (e) {
+          if (_this.$anchor.is(e.target) || _this.$anchor.find(e.target).length) {
+            return;
+          }
+          if (_this.$element.find(e.target).length) {
+            return;
+          }
+          _this.close();
+          $body.off('click.zf.dropdown');
+        });
+      }
+
+      /**
+       * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.
+       * @function
+       * @fires Dropdown#closeme
+       * @fires Dropdown#show
+       */
+
+    }, {
+      key: 'open',
+      value: function open() {
+        // var _this = this;
+        /**
+         * Fires to close other open dropdowns
+         * @event Dropdown#closeme
+         */
+        this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));
+        this.$anchor.addClass('hover').attr({ 'aria-expanded': true });
+        // this.$element/*.show()*/;
+        this._setPosition();
+        this.$element.addClass('is-open').attr({ 'aria-hidden': false });
+
+        if (this.options.autoFocus) {
+          var $focusable = Foundation.Keyboard.findFocusable(this.$element);
+          if ($focusable.length) {
+            $focusable.eq(0).focus();
+          }
+        }
+
+        if (this.options.closeOnClick) {
+          this._addBodyHandler();
+        }
+
+        /**
+         * Fires once the dropdown is visible.
+         * @event Dropdown#show
+         */
+        this.$element.trigger('show.zf.dropdown', [this.$element]);
+      }
+
+      /**
+       * Closes the open dropdown pane.
+       * @function
+       * @fires Dropdown#hide
+       */
+
+    }, {
+      key: 'close',
+      value: function close() {
+        if (!this.$element.hasClass('is-open')) {
+          return false;
+        }
+        this.$element.removeClass('is-open').attr({ 'aria-hidden': true });
+
+        this.$anchor.removeClass('hover').attr('aria-expanded', false);
+
+        if (this.classChanged) {
+          var curPositionClass = this.getPositionClass();
+          if (curPositionClass) {
+            this.$element.removeClass(curPositionClass);
+          }
+          this.$element.addClass(this.options.positionClass)
+          /*.hide()*/.css({ height: '', width: '' });
+          this.classChanged = false;
+          this.counter = 4;
+          this.usedPositions.length = 0;
+        }
+        this.$element.trigger('hide.zf.dropdown', [this.$element]);
+      }
+
+      /**
+       * Toggles the dropdown pane's visibility.
+       * @function
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle() {
+        if (this.$element.hasClass('is-open')) {
+          if (this.$anchor.data('hover')) return;
+          this.close();
+        } else {
+          this.open();
+        }
+      }
+
+      /**
+       * Destroys the dropdown.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.off('.zf.trigger').hide();
+        this.$anchor.off('.zf.dropdown');
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Dropdown;
+  }();
+
+  Dropdown.defaults = {
+    /**
+     * Amount of time to delay opening a submenu on hover event.
+     * @option
+     * @example 250
+     */
+    hoverDelay: 250,
+    /**
+     * Allow submenus to open on hover events
+     * @option
+     * @example false
+     */
+    hover: false,
+    /**
+     * Don't close dropdown when hovering over dropdown pane
+     * @option
+     * @example true
+     */
+    hoverPane: false,
+    /**
+     * Number of pixels between the dropdown pane and the triggering element on open.
+     * @option
+     * @example 1
+     */
+    vOffset: 1,
+    /**
+     * Number of pixels between the dropdown pane and the triggering element on open.
+     * @option
+     * @example 1
+     */
+    hOffset: 1,
+    /**
+     * Class applied to adjust open position. JS will test and fill this in.
+     * @option
+     * @example 'top'
+     */
+    positionClass: '',
+    /**
+     * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.
+     * @option
+     * @example false
+     */
+    trapFocus: false,
+    /**
+     * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.
+     * @option
+     * @example true
+     */
+    autoFocus: false,
+    /**
+     * Allows a click on the body to close the dropdown.
+     * @option
+     * @example false
+     */
+    closeOnClick: false
+  };
+
+  // Window exports
+  Foundation.plugin(Dropdown, 'Dropdown');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.dropdownMenu.js b/libraries/foundation-6/js/plugins/foundation.dropdownMenu.js
new file mode 100755
index 00000000..5ae3a3aa
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.dropdownMenu.js
@@ -0,0 +1,447 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * DropdownMenu module.
+   * @module foundation.dropdown-menu
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.box
+   * @requires foundation.util.nest
+   */
+
+  var DropdownMenu = function () {
+    /**
+     * Creates a new instance of DropdownMenu.
+     * @class
+     * @fires DropdownMenu#init
+     * @param {jQuery} element - jQuery object to make into a dropdown menu.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function DropdownMenu(element, options) {
+      _classCallCheck(this, DropdownMenu);
+
+      this.$element = element;
+      this.options = $.extend({}, DropdownMenu.defaults, this.$element.data(), options);
+
+      Foundation.Nest.Feather(this.$element, 'dropdown');
+      this._init();
+
+      Foundation.registerPlugin(this, 'DropdownMenu');
+      Foundation.Keyboard.register('DropdownMenu', {
+        'ENTER': 'open',
+        'SPACE': 'open',
+        'ARROW_RIGHT': 'next',
+        'ARROW_UP': 'up',
+        'ARROW_DOWN': 'down',
+        'ARROW_LEFT': 'previous',
+        'ESCAPE': 'close'
+      });
+    }
+
+    /**
+     * Initializes the plugin, and calls _prepareMenu
+     * @private
+     * @function
+     */
+
+
+    _createClass(DropdownMenu, [{
+      key: '_init',
+      value: function _init() {
+        var subs = this.$element.find('li.is-dropdown-submenu-parent');
+        this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');
+
+        this.$menuItems = this.$element.find('[role="menuitem"]');
+        this.$tabs = this.$element.children('[role="menuitem"]');
+        this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);
+
+        if (this.$element.hasClass(this.options.rightClass) || this.options.alignment === 'right' || Foundation.rtl() || this.$element.parents('.top-bar-right').is('*')) {
+          this.options.alignment = 'right';
+          subs.addClass('opens-left');
+        } else {
+          subs.addClass('opens-right');
+        }
+        this.changed = false;
+        this._events();
+      }
+    }, {
+      key: '_events',
+
+      /**
+       * Adds event listeners to elements within the menu
+       * @private
+       * @function
+       */
+      value: function _events() {
+        var _this = this,
+            hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined',
+            parClass = 'is-dropdown-submenu-parent';
+
+        // used for onClick and in the keyboard handlers
+        var handleClickFn = function (e) {
+          var $elem = $(e.target).parentsUntil('ul', '.' + parClass),
+              hasSub = $elem.hasClass(parClass),
+              hasClicked = $elem.attr('data-is-click') === 'true',
+              $sub = $elem.children('.is-dropdown-submenu');
+
+          if (hasSub) {
+            if (hasClicked) {
+              if (!_this.options.closeOnClick || !_this.options.clickOpen && !hasTouch || _this.options.forceFollow && hasTouch) {
+                return;
+              } else {
+                e.stopImmediatePropagation();
+                e.preventDefault();
+                _this._hide($elem);
+              }
+            } else {
+              e.preventDefault();
+              e.stopImmediatePropagation();
+              _this._show($elem.children('.is-dropdown-submenu'));
+              $elem.add($elem.parentsUntil(_this.$element, '.' + parClass)).attr('data-is-click', true);
+            }
+          } else {
+            return;
+          }
+        };
+
+        if (this.options.clickOpen || hasTouch) {
+          this.$menuItems.on('click.zf.dropdownmenu touchstart.zf.dropdownmenu', handleClickFn);
+        }
+
+        if (!this.options.disableHover) {
+          this.$menuItems.on('mouseenter.zf.dropdownmenu', function (e) {
+            var $elem = $(this),
+                hasSub = $elem.hasClass(parClass);
+
+            if (hasSub) {
+              clearTimeout(_this.delay);
+              _this.delay = setTimeout(function () {
+                _this._show($elem.children('.is-dropdown-submenu'));
+              }, _this.options.hoverDelay);
+            }
+          }).on('mouseleave.zf.dropdownmenu', function (e) {
+            var $elem = $(this),
+                hasSub = $elem.hasClass(parClass);
+            if (hasSub && _this.options.autoclose) {
+              if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) {
+                return false;
+              }
+
+              clearTimeout(_this.delay);
+              _this.delay = setTimeout(function () {
+                _this._hide($elem);
+              }, _this.options.closingTime);
+            }
+          });
+        }
+        this.$menuItems.on('keydown.zf.dropdownmenu', function (e) {
+          var $element = $(e.target).parentsUntil('ul', '[role="menuitem"]'),
+              isTab = _this.$tabs.index($element) > -1,
+              $elements = isTab ? _this.$tabs : $element.siblings('li').add($element),
+              $prevElement,
+              $nextElement;
+
+          $elements.each(function (i) {
+            if ($(this).is($element)) {
+              $prevElement = $elements.eq(i - 1);
+              $nextElement = $elements.eq(i + 1);
+              return;
+            }
+          });
+
+          var nextSibling = function () {
+            if (!$element.is(':last-child')) {
+              $nextElement.children('a:first').focus();
+              e.preventDefault();
+            }
+          },
+              prevSibling = function () {
+            $prevElement.children('a:first').focus();
+            e.preventDefault();
+          },
+              openSub = function () {
+            var $sub = $element.children('ul.is-dropdown-submenu');
+            if ($sub.length) {
+              _this._show($sub);
+              $element.find('li > a:first').focus();
+              e.preventDefault();
+            } else {
+              return;
+            }
+          },
+              closeSub = function () {
+            //if ($element.is(':first-child')) {
+            var close = $element.parent('ul').parent('li');
+            close.children('a:first').focus();
+            _this._hide(close);
+            e.preventDefault();
+            //}
+          };
+          var functions = {
+            open: openSub,
+            close: function () {
+              _this._hide(_this.$element);
+              _this.$menuItems.find('a:first').focus(); // focus to first element
+              e.preventDefault();
+            },
+            handled: function () {
+              e.stopImmediatePropagation();
+            }
+          };
+
+          if (isTab) {
+            if (_this.$element.hasClass(_this.options.verticalClass)) {
+              // vertical menu
+              if (_this.options.alignment === 'left') {
+                // left aligned
+                $.extend(functions, {
+                  down: nextSibling,
+                  up: prevSibling,
+                  next: openSub,
+                  previous: closeSub
+                });
+              } else {
+                // right aligned
+                $.extend(functions, {
+                  down: nextSibling,
+                  up: prevSibling,
+                  next: closeSub,
+                  previous: openSub
+                });
+              }
+            } else {
+              // horizontal menu
+              $.extend(functions, {
+                next: nextSibling,
+                previous: prevSibling,
+                down: openSub,
+                up: closeSub
+              });
+            }
+          } else {
+            // not tabs -> one sub
+            if (_this.options.alignment === 'left') {
+              // left aligned
+              $.extend(functions, {
+                next: openSub,
+                previous: closeSub,
+                down: nextSibling,
+                up: prevSibling
+              });
+            } else {
+              // right aligned
+              $.extend(functions, {
+                next: closeSub,
+                previous: openSub,
+                down: nextSibling,
+                up: prevSibling
+              });
+            }
+          }
+          Foundation.Keyboard.handleKey(e, 'DropdownMenu', functions);
+        });
+      }
+
+      /**
+       * Adds an event handler to the body to close any dropdowns on a click.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_addBodyHandler',
+      value: function _addBodyHandler() {
+        var $body = $(document.body),
+            _this = this;
+        $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu').on('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu', function (e) {
+          var $link = _this.$element.find(e.target);
+          if ($link.length) {
+            return;
+          }
+
+          _this._hide();
+          $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu');
+        });
+      }
+
+      /**
+       * Opens a dropdown pane, and checks for collisions first.
+       * @param {jQuery} $sub - ul element that is a submenu to show
+       * @function
+       * @private
+       * @fires DropdownMenu#show
+       */
+
+    }, {
+      key: '_show',
+      value: function _show($sub) {
+        var idx = this.$tabs.index(this.$tabs.filter(function (i, el) {
+          return $(el).find($sub).length > 0;
+        }));
+        var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');
+        this._hide($sibs, idx);
+        $sub.css('visibility', 'hidden').addClass('js-dropdown-active').attr({ 'aria-hidden': false }).parent('li.is-dropdown-submenu-parent').addClass('is-active').attr({ 'aria-expanded': true });
+        var clear = Foundation.Box.ImNotTouchingYou($sub, null, true);
+        if (!clear) {
+          var oldClass = this.options.alignment === 'left' ? '-right' : '-left',
+              $parentLi = $sub.parent('.is-dropdown-submenu-parent');
+          $parentLi.removeClass('opens' + oldClass).addClass('opens-' + this.options.alignment);
+          clear = Foundation.Box.ImNotTouchingYou($sub, null, true);
+          if (!clear) {
+            $parentLi.removeClass('opens-' + this.options.alignment).addClass('opens-inner');
+          }
+          this.changed = true;
+        }
+        $sub.css('visibility', '');
+        if (this.options.closeOnClick) {
+          this._addBodyHandler();
+        }
+        /**
+         * Fires when the new dropdown pane is visible.
+         * @event DropdownMenu#show
+         */
+        this.$element.trigger('show.zf.dropdownmenu', [$sub]);
+      }
+
+      /**
+       * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.
+       * @function
+       * @param {jQuery} $elem - element with a submenu to hide
+       * @param {Number} idx - index of the $tabs collection to hide
+       * @private
+       */
+
+    }, {
+      key: '_hide',
+      value: function _hide($elem, idx) {
+        var $toClose;
+        if ($elem && $elem.length) {
+          $toClose = $elem;
+        } else if (idx !== undefined) {
+          $toClose = this.$tabs.not(function (i, el) {
+            return i === idx;
+          });
+        } else {
+          $toClose = this.$element;
+        }
+        var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0;
+
+        if (somethingToClose) {
+          $toClose.find('li.is-active').add($toClose).attr({
+            'aria-expanded': false,
+            'data-is-click': false
+          }).removeClass('is-active');
+
+          $toClose.find('ul.js-dropdown-active').attr({
+            'aria-hidden': true
+          }).removeClass('js-dropdown-active');
+
+          if (this.changed || $toClose.find('opens-inner').length) {
+            var oldClass = this.options.alignment === 'left' ? 'right' : 'left';
+            $toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass('opens-inner opens-' + this.options.alignment).addClass('opens-' + oldClass);
+            this.changed = false;
+          }
+          /**
+           * Fires when the open menus are closed.
+           * @event DropdownMenu#hide
+           */
+          this.$element.trigger('hide.zf.dropdownmenu', [$toClose]);
+        }
+      }
+
+      /**
+       * Destroys the plugin.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$menuItems.off('.zf.dropdownmenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');
+        $(document.body).off('.zf.dropdownmenu');
+        Foundation.Nest.Burn(this.$element, 'dropdown');
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return DropdownMenu;
+  }();
+
+  /**
+   * Default settings for plugin
+   */
+
+
+  DropdownMenu.defaults = {
+    /**
+     * Disallows hover events from opening submenus
+     * @option
+     * @example false
+     */
+    disableHover: false,
+    /**
+     * Allow a submenu to automatically close on a mouseleave event, if not clicked open.
+     * @option
+     * @example true
+     */
+    autoclose: true,
+    /**
+     * Amount of time to delay opening a submenu on hover event.
+     * @option
+     * @example 50
+     */
+    hoverDelay: 50,
+    /**
+     * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.
+     * @option
+     * @example true
+     */
+    clickOpen: false,
+    /**
+     * Amount of time to delay closing a submenu on a mouseleave event.
+     * @option
+     * @example 500
+     */
+
+    closingTime: 500,
+    /**
+     * Position of the menu relative to what direction the submenus should open. Handled by JS.
+     * @option
+     * @example 'left'
+     */
+    alignment: 'left',
+    /**
+     * Allow clicks on the body to close any open submenus.
+     * @option
+     * @example true
+     */
+    closeOnClick: true,
+    /**
+     * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.
+     * @option
+     * @example 'vertical'
+     */
+    verticalClass: 'vertical',
+    /**
+     * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.
+     * @option
+     * @example 'align-right'
+     */
+    rightClass: 'align-right',
+    /**
+     * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.
+     * @option
+     * @example false
+     */
+    forceFollow: true
+  };
+
+  // Window exports
+  Foundation.plugin(DropdownMenu, 'DropdownMenu');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.equalizer.js b/libraries/foundation-6/js/plugins/foundation.equalizer.js
new file mode 100755
index 00000000..36782aac
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.equalizer.js
@@ -0,0 +1,364 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Equalizer module.
+   * @module foundation.equalizer
+   */
+
+  var Equalizer = function () {
+    /**
+     * Creates a new instance of Equalizer.
+     * @class
+     * @fires Equalizer#init
+     * @param {Object} element - jQuery object to add the trigger to.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Equalizer(element, options) {
+      _classCallCheck(this, Equalizer);
+
+      this.$element = element;
+      this.options = $.extend({}, Equalizer.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Equalizer');
+    }
+
+    /**
+     * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load.
+     * @private
+     */
+
+
+    _createClass(Equalizer, [{
+      key: '_init',
+      value: function _init() {
+        var eqId = this.$element.attr('data-equalizer') || '';
+        var $watched = this.$element.find('[data-equalizer-watch="' + eqId + '"]');
+
+        this.$watched = $watched.length ? $watched : this.$element.find('[data-equalizer-watch]');
+        this.$element.attr('data-resize', eqId || Foundation.GetYoDigits(6, 'eq'));
+
+        this.hasNested = this.$element.find('[data-equalizer]').length > 0;
+        this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0;
+        this.isOn = false;
+        this._bindHandler = {
+          onResizeMeBound: this._onResizeMe.bind(this),
+          onPostEqualizedBound: this._onPostEqualized.bind(this)
+        };
+
+        var imgs = this.$element.find('img');
+        var tooSmall;
+        if (this.options.equalizeOn) {
+          tooSmall = this._checkMQ();
+          $(window).on('changed.zf.mediaquery', this._checkMQ.bind(this));
+        } else {
+          this._events();
+        }
+        if (tooSmall !== undefined && tooSmall === false || tooSmall === undefined) {
+          if (imgs.length) {
+            Foundation.onImagesLoaded(imgs, this._reflow.bind(this));
+          } else {
+            this._reflow();
+          }
+        }
+      }
+
+      /**
+       * Removes event listeners if the breakpoint is too small.
+       * @private
+       */
+
+    }, {
+      key: '_pauseEvents',
+      value: function _pauseEvents() {
+        this.isOn = false;
+        this.$element.off({
+          '.zf.equalizer': this._bindHandler.onPostEqualizedBound,
+          'resizeme.zf.trigger': this._bindHandler.onResizeMeBound
+        });
+      }
+
+      /**
+       * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound
+       * @private
+       */
+
+    }, {
+      key: '_onResizeMe',
+      value: function _onResizeMe(e) {
+        this._reflow();
+      }
+
+      /**
+       * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound
+       * @private
+       */
+
+    }, {
+      key: '_onPostEqualized',
+      value: function _onPostEqualized(e) {
+        if (e.target !== this.$element[0]) {
+          this._reflow();
+        }
+      }
+
+      /**
+       * Initializes events for Equalizer.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+        this._pauseEvents();
+        if (this.hasNested) {
+          this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound);
+        } else {
+          this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound);
+        }
+        this.isOn = true;
+      }
+
+      /**
+       * Checks the current breakpoint to the minimum required size.
+       * @private
+       */
+
+    }, {
+      key: '_checkMQ',
+      value: function _checkMQ() {
+        var tooSmall = !Foundation.MediaQuery.atLeast(this.options.equalizeOn);
+        if (tooSmall) {
+          if (this.isOn) {
+            this._pauseEvents();
+            this.$watched.css('height', 'auto');
+          }
+        } else {
+          if (!this.isOn) {
+            this._events();
+          }
+        }
+        return tooSmall;
+      }
+
+      /**
+       * A noop version for the plugin
+       * @private
+       */
+
+    }, {
+      key: '_killswitch',
+      value: function _killswitch() {
+        return;
+      }
+
+      /**
+       * Calls necessary functions to update Equalizer upon DOM change
+       * @private
+       */
+
+    }, {
+      key: '_reflow',
+      value: function _reflow() {
+        if (!this.options.equalizeOnStack) {
+          if (this._isStacked()) {
+            this.$watched.css('height', 'auto');
+            return false;
+          }
+        }
+        if (this.options.equalizeByRow) {
+          this.getHeightsByRow(this.applyHeightByRow.bind(this));
+        } else {
+          this.getHeights(this.applyHeight.bind(this));
+        }
+      }
+
+      /**
+       * Manually determines if the first 2 elements are *NOT* stacked.
+       * @private
+       */
+
+    }, {
+      key: '_isStacked',
+      value: function _isStacked() {
+        return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top;
+      }
+
+      /**
+       * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
+       * @param {Function} cb - A non-optional callback to return the heights array to.
+       * @returns {Array} heights - An array of heights of children within Equalizer container
+       */
+
+    }, {
+      key: 'getHeights',
+      value: function getHeights(cb) {
+        var heights = [];
+        for (var i = 0, len = this.$watched.length; i < len; i++) {
+          this.$watched[i].style.height = 'auto';
+          heights.push(this.$watched[i].offsetHeight);
+        }
+        cb(heights);
+      }
+
+      /**
+       * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
+       * @param {Function} cb - A non-optional callback to return the heights array to.
+       * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child
+       */
+
+    }, {
+      key: 'getHeightsByRow',
+      value: function getHeightsByRow(cb) {
+        var lastElTopOffset = this.$watched.length ? this.$watched.first().offset().top : 0,
+            groups = [],
+            group = 0;
+        //group by Row
+        groups[group] = [];
+        for (var i = 0, len = this.$watched.length; i < len; i++) {
+          this.$watched[i].style.height = 'auto';
+          //maybe could use this.$watched[i].offsetTop
+          var elOffsetTop = $(this.$watched[i]).offset().top;
+          if (elOffsetTop != lastElTopOffset) {
+            group++;
+            groups[group] = [];
+            lastElTopOffset = elOffsetTop;
+          }
+          groups[group].push([this.$watched[i], this.$watched[i].offsetHeight]);
+        }
+
+        for (var j = 0, ln = groups.length; j < ln; j++) {
+          var heights = $(groups[j]).map(function () {
+            return this[1];
+          }).get();
+          var max = Math.max.apply(null, heights);
+          groups[j].push(max);
+        }
+        cb(groups);
+      }
+
+      /**
+       * Changes the CSS height property of each child in an Equalizer parent to match the tallest
+       * @param {array} heights - An array of heights of children within Equalizer container
+       * @fires Equalizer#preequalized
+       * @fires Equalizer#postequalized
+       */
+
+    }, {
+      key: 'applyHeight',
+      value: function applyHeight(heights) {
+        var max = Math.max.apply(null, heights);
+        /**
+         * Fires before the heights are applied
+         * @event Equalizer#preequalized
+         */
+        this.$element.trigger('preequalized.zf.equalizer');
+
+        this.$watched.css('height', max);
+
+        /**
+         * Fires when the heights have been applied
+         * @event Equalizer#postequalized
+         */
+        this.$element.trigger('postequalized.zf.equalizer');
+      }
+
+      /**
+       * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row
+       * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child
+       * @fires Equalizer#preequalized
+       * @fires Equalizer#preequalizedRow
+       * @fires Equalizer#postequalizedRow
+       * @fires Equalizer#postequalized
+       */
+
+    }, {
+      key: 'applyHeightByRow',
+      value: function applyHeightByRow(groups) {
+        /**
+         * Fires before the heights are applied
+         */
+        this.$element.trigger('preequalized.zf.equalizer');
+        for (var i = 0, len = groups.length; i < len; i++) {
+          var groupsILength = groups[i].length,
+              max = groups[i][groupsILength - 1];
+          if (groupsILength <= 2) {
+            $(groups[i][0][0]).css({ 'height': 'auto' });
+            continue;
+          }
+          /**
+            * Fires before the heights per row are applied
+            * @event Equalizer#preequalizedRow
+            */
+          this.$element.trigger('preequalizedrow.zf.equalizer');
+          for (var j = 0, lenJ = groupsILength - 1; j < lenJ; j++) {
+            $(groups[i][j][0]).css({ 'height': max });
+          }
+          /**
+            * Fires when the heights per row have been applied
+            * @event Equalizer#postequalizedRow
+            */
+          this.$element.trigger('postequalizedrow.zf.equalizer');
+        }
+        /**
+         * Fires when the heights have been applied
+         */
+        this.$element.trigger('postequalized.zf.equalizer');
+      }
+
+      /**
+       * Destroys an instance of Equalizer.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this._pauseEvents();
+        this.$watched.css('height', 'auto');
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Equalizer;
+  }();
+
+  /**
+   * Default settings for plugin
+   */
+
+
+  Equalizer.defaults = {
+    /**
+     * Enable height equalization when stacked on smaller screens.
+     * @option
+     * @example true
+     */
+    equalizeOnStack: true,
+    /**
+     * Enable height equalization row by row.
+     * @option
+     * @example false
+     */
+    equalizeByRow: false,
+    /**
+     * String representing the minimum breakpoint size the plugin should equalize heights on.
+     * @option
+     * @example 'medium'
+     */
+    equalizeOn: ''
+  };
+
+  // Window exports
+  Foundation.plugin(Equalizer, 'Equalizer');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.interchange.js b/libraries/foundation-6/js/plugins/foundation.interchange.js
new file mode 100755
index 00000000..7531ccde
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.interchange.js
@@ -0,0 +1,227 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Interchange module.
+   * @module foundation.interchange
+   * @requires foundation.util.mediaQuery
+   * @requires foundation.util.timerAndImageLoader
+   */
+
+  var Interchange = function () {
+    /**
+     * Creates a new instance of Interchange.
+     * @class
+     * @fires Interchange#init
+     * @param {Object} element - jQuery object to add the trigger to.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Interchange(element, options) {
+      _classCallCheck(this, Interchange);
+
+      this.$element = element;
+      this.options = $.extend({}, Interchange.defaults, options);
+      this.rules = [];
+      this.currentPath = '';
+
+      this._init();
+      this._events();
+
+      Foundation.registerPlugin(this, 'Interchange');
+    }
+
+    /**
+     * Initializes the Interchange plugin and calls functions to get interchange functioning on load.
+     * @function
+     * @private
+     */
+
+
+    _createClass(Interchange, [{
+      key: '_init',
+      value: function _init() {
+        this._addBreakpoints();
+        this._generateRules();
+        this._reflow();
+      }
+
+      /**
+       * Initializes events for Interchange.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        $(window).on('resize.zf.interchange', Foundation.util.throttle(this._reflow.bind(this), 50));
+      }
+
+      /**
+       * Calls necessary functions to update Interchange upon DOM change
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_reflow',
+      value: function _reflow() {
+        var match;
+
+        // Iterate through each rule, but only save the last match
+        for (var i in this.rules) {
+          if (this.rules.hasOwnProperty(i)) {
+            var rule = this.rules[i];
+
+            if (window.matchMedia(rule.query).matches) {
+              match = rule;
+            }
+          }
+        }
+
+        if (match) {
+          this.replace(match.path);
+        }
+      }
+
+      /**
+       * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_addBreakpoints',
+      value: function _addBreakpoints() {
+        for (var i in Foundation.MediaQuery.queries) {
+          if (Foundation.MediaQuery.queries.hasOwnProperty(i)) {
+            var query = Foundation.MediaQuery.queries[i];
+            Interchange.SPECIAL_QUERIES[query.name] = query.value;
+          }
+        }
+      }
+
+      /**
+       * Checks the Interchange element for the provided media query + content pairings
+       * @function
+       * @private
+       * @param {Object} element - jQuery object that is an Interchange instance
+       * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys
+       */
+
+    }, {
+      key: '_generateRules',
+      value: function _generateRules(element) {
+        var rulesList = [];
+        var rules;
+
+        if (this.options.rules) {
+          rules = this.options.rules;
+        } else {
+          rules = this.$element.data('interchange').match(/\[.*?\]/g);
+        }
+
+        for (var i in rules) {
+          if (rules.hasOwnProperty(i)) {
+            var rule = rules[i].slice(1, -1).split(', ');
+            var path = rule.slice(0, -1).join('');
+            var query = rule[rule.length - 1];
+
+            if (Interchange.SPECIAL_QUERIES[query]) {
+              query = Interchange.SPECIAL_QUERIES[query];
+            }
+
+            rulesList.push({
+              path: path,
+              query: query
+            });
+          }
+        }
+
+        this.rules = rulesList;
+      }
+
+      /**
+       * Update the `src` property of an image, or change the HTML of a container, to the specified path.
+       * @function
+       * @param {String} path - Path to the image or HTML partial.
+       * @fires Interchange#replaced
+       */
+
+    }, {
+      key: 'replace',
+      value: function replace(path) {
+        if (this.currentPath === path) return;
+
+        var _this = this,
+            trigger = 'replaced.zf.interchange';
+
+        // Replacing images
+        if (this.$element[0].nodeName === 'IMG') {
+          this.$element.attr('src', path).load(function () {
+            _this.currentPath = path;
+          }).trigger(trigger);
+        }
+        // Replacing background images
+        else if (path.match(/\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i)) {
+            this.$element.css({ 'background-image': 'url(' + path + ')' }).trigger(trigger);
+          }
+          // Replacing HTML
+          else {
+              $.get(path, function (response) {
+                _this.$element.html(response).trigger(trigger);
+                $(response).foundation();
+                _this.currentPath = path;
+              });
+            }
+
+        /**
+         * Fires when content in an Interchange element is done being loaded.
+         * @event Interchange#replaced
+         */
+        // this.$element.trigger('replaced.zf.interchange');
+      }
+
+      /**
+       * Destroys an instance of interchange.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        //TODO this.
+      }
+    }]);
+
+    return Interchange;
+  }();
+
+  /**
+   * Default settings for plugin
+   */
+
+
+  Interchange.defaults = {
+    /**
+     * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.
+     * @option
+     */
+    rules: null
+  };
+
+  Interchange.SPECIAL_QUERIES = {
+    'landscape': 'screen and (orientation: landscape)',
+    'portrait': 'screen and (orientation: portrait)',
+    'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'
+  };
+
+  // Window exports
+  Foundation.plugin(Interchange, 'Interchange');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.magellan.js b/libraries/foundation-6/js/plugins/foundation.magellan.js
new file mode 100755
index 00000000..f4ef0b98
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.magellan.js
@@ -0,0 +1,257 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Magellan module.
+   * @module foundation.magellan
+   */
+
+  var Magellan = function () {
+    /**
+     * Creates a new instance of Magellan.
+     * @class
+     * @fires Magellan#init
+     * @param {Object} element - jQuery object to add the trigger to.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Magellan(element, options) {
+      _classCallCheck(this, Magellan);
+
+      this.$element = element;
+      this.options = $.extend({}, Magellan.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Magellan');
+    }
+
+    /**
+     * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.
+     * @private
+     */
+
+
+    _createClass(Magellan, [{
+      key: '_init',
+      value: function _init() {
+        var id = this.$element[0].id || Foundation.GetYoDigits(6, 'magellan');
+        var _this = this;
+        this.$targets = $('[data-magellan-target]');
+        this.$links = this.$element.find('a');
+        this.$element.attr({
+          'data-resize': id,
+          'data-scroll': id,
+          'id': id
+        });
+        this.$active = $();
+        this.scrollPos = parseInt(window.pageYOffset, 10);
+
+        this._events();
+      }
+
+      /**
+       * Calculates an array of pixel values that are the demarcation lines between locations on the page.
+       * Can be invoked if new elements are added or the size of a location changes.
+       * @function
+       */
+
+    }, {
+      key: 'calcPoints',
+      value: function calcPoints() {
+        var _this = this,
+            body = document.body,
+            html = document.documentElement;
+
+        this.points = [];
+        this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));
+        this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));
+
+        this.$targets.each(function () {
+          var $tar = $(this),
+              pt = Math.round($tar.offset().top - _this.options.threshold);
+          $tar.targetPoint = pt;
+          _this.points.push(pt);
+        });
+      }
+
+      /**
+       * Initializes events for Magellan.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this,
+            $body = $('html, body'),
+            opts = {
+          duration: _this.options.animationDuration,
+          easing: _this.options.animationEasing
+        };
+        $(window).one('load', function () {
+          if (_this.options.deepLinking) {
+            if (location.hash) {
+              _this.scrollToLoc(location.hash);
+            }
+          }
+          _this.calcPoints();
+          _this._updateActive();
+        });
+
+        this.$element.on({
+          'resizeme.zf.trigger': this.reflow.bind(this),
+          'scrollme.zf.trigger': this._updateActive.bind(this)
+        }).on('click.zf.magellan', 'a[href^="#"]', function (e) {
+          e.preventDefault();
+          var arrival = this.getAttribute('href');
+          _this.scrollToLoc(arrival);
+        });
+      }
+
+      /**
+       * Function to scroll to a given location on the page.
+       * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'
+       * @function
+       */
+
+    }, {
+      key: 'scrollToLoc',
+      value: function scrollToLoc(loc) {
+        var scrollPos = Math.round($(loc).offset().top - this.options.threshold / 2 - this.options.barOffset);
+
+        $('html, body').stop(true).animate({ scrollTop: scrollPos }, this.options.animationDuration, this.options.animationEasing);
+      }
+
+      /**
+       * Calls necessary functions to update Magellan upon DOM change
+       * @function
+       */
+
+    }, {
+      key: 'reflow',
+      value: function reflow() {
+        this.calcPoints();
+        this._updateActive();
+      }
+
+      /**
+       * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.
+       * @private
+       * @function
+       * @fires Magellan#update
+       */
+
+    }, {
+      key: '_updateActive',
+      value: function _updateActive() /*evt, elem, scrollPos*/{
+        var winPos = /*scrollPos ||*/parseInt(window.pageYOffset, 10),
+            curIdx;
+
+        if (winPos + this.winHeight === this.docHeight) {
+          curIdx = this.points.length - 1;
+        } else if (winPos < this.points[0]) {
+          curIdx = 0;
+        } else {
+          var isDown = this.scrollPos < winPos,
+              _this = this,
+              curVisible = this.points.filter(function (p, i) {
+            return isDown ? p - _this.options.barOffset <= winPos : p - _this.options.barOffset - _this.options.threshold <= winPos;
+          });
+          curIdx = curVisible.length ? curVisible.length - 1 : 0;
+        }
+
+        this.$active.removeClass(this.options.activeClass);
+        this.$active = this.$links.eq(curIdx).addClass(this.options.activeClass);
+
+        if (this.options.deepLinking) {
+          var hash = this.$active[0].getAttribute('href');
+          if (window.history.pushState) {
+            window.history.pushState(null, null, hash);
+          } else {
+            window.location.hash = hash;
+          }
+        }
+
+        this.scrollPos = winPos;
+        /**
+         * Fires when magellan is finished updating to the new active element.
+         * @event Magellan#update
+         */
+        this.$element.trigger('update.zf.magellan', [this.$active]);
+      }
+
+      /**
+       * Destroys an instance of Magellan and resets the url of the window.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.off('.zf.trigger .zf.magellan').find('.' + this.options.activeClass).removeClass(this.options.activeClass);
+
+        if (this.options.deepLinking) {
+          var hash = this.$active[0].getAttribute('href');
+          window.location.hash.replace(hash, '');
+        }
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Magellan;
+  }();
+
+  /**
+   * Default settings for plugin
+   */
+
+
+  Magellan.defaults = {
+    /**
+     * Amount of time, in ms, the animated scrolling should take between locations.
+     * @option
+     * @example 500
+     */
+    animationDuration: 500,
+    /**
+     * Animation style to use when scrolling between locations.
+     * @option
+     * @example 'ease-in-out'
+     */
+    animationEasing: 'linear',
+    /**
+     * Number of pixels to use as a marker for location changes.
+     * @option
+     * @example 50
+     */
+    threshold: 50,
+    /**
+     * Class applied to the active locations link on the magellan container.
+     * @option
+     * @example 'active'
+     */
+    activeClass: 'active',
+    /**
+     * Allows the script to manipulate the url of the current page, and if supported, alter the history.
+     * @option
+     * @example true
+     */
+    deepLinking: false,
+    /**
+     * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.
+     * @option
+     * @example 25
+     */
+    barOffset: 0
+  };
+
+  // Window exports
+  Foundation.plugin(Magellan, 'Magellan');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.offcanvas.js b/libraries/foundation-6/js/plugins/foundation.offcanvas.js
new file mode 100755
index 00000000..4350c696
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.offcanvas.js
@@ -0,0 +1,438 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * OffCanvas module.
+   * @module foundation.offcanvas
+   * @requires foundation.util.mediaQuery
+   * @requires foundation.util.triggers
+   * @requires foundation.util.motion
+   */
+
+  var OffCanvas = function () {
+    /**
+     * Creates a new instance of an off-canvas wrapper.
+     * @class
+     * @fires OffCanvas#init
+     * @param {Object} element - jQuery object to initialize.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function OffCanvas(element, options) {
+      _classCallCheck(this, OffCanvas);
+
+      this.$element = element;
+      this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);
+      this.$lastTrigger = $();
+      this.$triggers = $();
+
+      this._init();
+      this._events();
+
+      Foundation.registerPlugin(this, 'OffCanvas');
+    }
+
+    /**
+     * Initializes the off-canvas wrapper by adding the exit overlay (if needed).
+     * @function
+     * @private
+     */
+
+
+    _createClass(OffCanvas, [{
+      key: '_init',
+      value: function _init() {
+        var id = this.$element.attr('id');
+
+        this.$element.attr('aria-hidden', 'true');
+
+        // Find triggers that affect this element and add aria-expanded to them
+        this.$triggers = $(document).find('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr('aria-expanded', 'false').attr('aria-controls', id);
+
+        // Add a close trigger over the body if necessary
+        if (this.options.closeOnClick) {
+          if ($('.js-off-canvas-exit').length) {
+            this.$exiter = $('.js-off-canvas-exit');
+          } else {
+            var exiter = document.createElement('div');
+            exiter.setAttribute('class', 'js-off-canvas-exit');
+            $('[data-off-canvas-content]').append(exiter);
+
+            this.$exiter = $(exiter);
+          }
+        }
+
+        this.options.isRevealed = this.options.isRevealed || new RegExp(this.options.revealClass, 'g').test(this.$element[0].className);
+
+        if (this.options.isRevealed) {
+          this.options.revealOn = this.options.revealOn || this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split('-')[2];
+          this._setMQChecker();
+        }
+        if (!this.options.transitionTime) {
+          this.options.transitionTime = parseFloat(window.getComputedStyle($('[data-off-canvas-wrapper]')[0]).transitionDuration) * 1000;
+        }
+      }
+
+      /**
+       * Adds event handlers to the off-canvas wrapper and the exit overlay.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        this.$element.off('.zf.trigger .zf.offcanvas').on({
+          'open.zf.trigger': this.open.bind(this),
+          'close.zf.trigger': this.close.bind(this),
+          'toggle.zf.trigger': this.toggle.bind(this),
+          'keydown.zf.offcanvas': this._handleKeyboard.bind(this)
+        });
+
+        if (this.options.closeOnClick && this.$exiter.length) {
+          this.$exiter.on({ 'click.zf.offcanvas': this.close.bind(this) });
+        }
+      }
+
+      /**
+       * Applies event listener for elements that will reveal at certain breakpoints.
+       * @private
+       */
+
+    }, {
+      key: '_setMQChecker',
+      value: function _setMQChecker() {
+        var _this = this;
+
+        $(window).on('changed.zf.mediaquery', function () {
+          if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {
+            _this.reveal(true);
+          } else {
+            _this.reveal(false);
+          }
+        }).one('load.zf.offcanvas', function () {
+          if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {
+            _this.reveal(true);
+          }
+        });
+      }
+
+      /**
+       * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.
+       * @param {Boolean} isRevealed - true if element should be revealed.
+       * @function
+       */
+
+    }, {
+      key: 'reveal',
+      value: function reveal(isRevealed) {
+        var $closer = this.$element.find('[data-close]');
+        if (isRevealed) {
+          this.close();
+          this.isRevealed = true;
+          // if (!this.options.forceTop) {
+          //   var scrollPos = parseInt(window.pageYOffset);
+          //   this.$element[0].style.transform = 'translate(0,' + scrollPos + 'px)';
+          // }
+          // if (this.options.isSticky) { this._stick(); }
+          this.$element.off('open.zf.trigger toggle.zf.trigger');
+          if ($closer.length) {
+            $closer.hide();
+          }
+        } else {
+          this.isRevealed = false;
+          // if (this.options.isSticky || !this.options.forceTop) {
+          //   this.$element[0].style.transform = '';
+          //   $(window).off('scroll.zf.offcanvas');
+          // }
+          this.$element.on({
+            'open.zf.trigger': this.open.bind(this),
+            'toggle.zf.trigger': this.toggle.bind(this)
+          });
+          if ($closer.length) {
+            $closer.show();
+          }
+        }
+      }
+
+      /**
+       * Opens the off-canvas menu.
+       * @function
+       * @param {Object} event - Event object passed from listener.
+       * @param {jQuery} trigger - element that triggered the off-canvas to open.
+       * @fires OffCanvas#opened
+       */
+
+    }, {
+      key: 'open',
+      value: function open(event, trigger) {
+        if (this.$element.hasClass('is-open') || this.isRevealed) {
+          return;
+        }
+        var _this = this,
+            $body = $(document.body);
+
+        if (this.options.forceTop) {
+          $('body').scrollTop(0);
+        }
+        // window.pageYOffset = 0;
+
+        // if (!this.options.forceTop) {
+        //   var scrollPos = parseInt(window.pageYOffset);
+        //   this.$element[0].style.transform = 'translate(0,' + scrollPos + 'px)';
+        //   if (this.$exiter.length) {
+        //     this.$exiter[0].style.transform = 'translate(0,' + scrollPos + 'px)';
+        //   }
+        // }
+        /**
+         * Fires when the off-canvas menu opens.
+         * @event OffCanvas#opened
+         */
+        Foundation.Move(this.options.transitionTime, this.$element, function () {
+          $('[data-off-canvas-wrapper]').addClass('is-off-canvas-open is-open-' + _this.options.position);
+
+          _this.$element.addClass('is-open');
+
+          // if (_this.options.isSticky) {
+          //   _this._stick();
+          // }
+        });
+
+        this.$triggers.attr('aria-expanded', 'true');
+        this.$element.attr('aria-hidden', 'false').trigger('opened.zf.offcanvas');
+
+        if (this.options.closeOnClick) {
+          this.$exiter.addClass('is-visible');
+        }
+
+        if (trigger) {
+          this.$lastTrigger = trigger;
+        }
+
+        if (this.options.autoFocus) {
+          this.$element.one(Foundation.transitionend(this.$element), function () {
+            _this.$element.find('a, button').eq(0).focus();
+          });
+        }
+
+        if (this.options.trapFocus) {
+          $('[data-off-canvas-content]').attr('tabindex', '-1');
+          this._trapFocus();
+        }
+      }
+
+      /**
+       * Traps focus within the offcanvas on open.
+       * @private
+       */
+
+    }, {
+      key: '_trapFocus',
+      value: function _trapFocus() {
+        var focusable = Foundation.Keyboard.findFocusable(this.$element),
+            first = focusable.eq(0),
+            last = focusable.eq(-1);
+
+        focusable.off('.zf.offcanvas').on('keydown.zf.offcanvas', function (e) {
+          if (e.which === 9 || e.keycode === 9) {
+            if (e.target === last[0] && !e.shiftKey) {
+              e.preventDefault();
+              first.focus();
+            }
+            if (e.target === first[0] && e.shiftKey) {
+              e.preventDefault();
+              last.focus();
+            }
+          }
+        });
+      }
+
+      /**
+       * Allows the offcanvas to appear sticky utilizing translate properties.
+       * @private
+       */
+      // OffCanvas.prototype._stick = function() {
+      //   var elStyle = this.$element[0].style;
+      //
+      //   if (this.options.closeOnClick) {
+      //     var exitStyle = this.$exiter[0].style;
+      //   }
+      //
+      //   $(window).on('scroll.zf.offcanvas', function(e) {
+      //     console.log(e);
+      //     var pageY = window.pageYOffset;
+      //     elStyle.transform = 'translate(0,' + pageY + 'px)';
+      //     if (exitStyle !== undefined) { exitStyle.transform = 'translate(0,' + pageY + 'px)'; }
+      //   });
+      //   // this.$element.trigger('stuck.zf.offcanvas');
+      // };
+      /**
+       * Closes the off-canvas menu.
+       * @function
+       * @param {Function} cb - optional cb to fire after closure.
+       * @fires OffCanvas#closed
+       */
+
+    }, {
+      key: 'close',
+      value: function close(cb) {
+        if (!this.$element.hasClass('is-open') || this.isRevealed) {
+          return;
+        }
+
+        var _this = this;
+
+        //  Foundation.Move(this.options.transitionTime, this.$element, function() {
+        $('[data-off-canvas-wrapper]').removeClass('is-off-canvas-open is-open-' + _this.options.position);
+        _this.$element.removeClass('is-open');
+        // Foundation._reflow();
+        // });
+        this.$element.attr('aria-hidden', 'true')
+        /**
+         * Fires when the off-canvas menu opens.
+         * @event OffCanvas#closed
+         */
+        .trigger('closed.zf.offcanvas');
+        // if (_this.options.isSticky || !_this.options.forceTop) {
+        //   setTimeout(function() {
+        //     _this.$element[0].style.transform = '';
+        //     $(window).off('scroll.zf.offcanvas');
+        //   }, this.options.transitionTime);
+        // }
+        if (this.options.closeOnClick) {
+          this.$exiter.removeClass('is-visible');
+        }
+
+        this.$triggers.attr('aria-expanded', 'false');
+        if (this.options.trapFocus) {
+          $('[data-off-canvas-content]').removeAttr('tabindex');
+        }
+      }
+
+      /**
+       * Toggles the off-canvas menu open or closed.
+       * @function
+       * @param {Object} event - Event object passed from listener.
+       * @param {jQuery} trigger - element that triggered the off-canvas to open.
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle(event, trigger) {
+        if (this.$element.hasClass('is-open')) {
+          this.close(event, trigger);
+        } else {
+          this.open(event, trigger);
+        }
+      }
+
+      /**
+       * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_handleKeyboard',
+      value: function _handleKeyboard(event) {
+        if (event.which !== 27) return;
+
+        event.stopPropagation();
+        event.preventDefault();
+        this.close();
+        this.$lastTrigger.focus();
+      }
+
+      /**
+       * Destroys the offcanvas plugin.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.close();
+        this.$element.off('.zf.trigger .zf.offcanvas');
+        this.$exiter.off('.zf.offcanvas');
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return OffCanvas;
+  }();
+
+  OffCanvas.defaults = {
+    /**
+     * Allow the user to click outside of the menu to close it.
+     * @option
+     * @example true
+     */
+    closeOnClick: true,
+
+    /**
+     * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.
+     * @option
+     * @example 500
+     */
+    transitionTime: 0,
+
+    /**
+     * Direction the offcanvas opens from. Determines class applied to body.
+     * @option
+     * @example left
+     */
+    position: 'left',
+
+    /**
+     * Force the page to scroll to top on open.
+     * @option
+     * @example true
+     */
+    forceTop: true,
+
+    /**
+     * Allow the offcanvas to remain open for certain breakpoints.
+     * @option
+     * @example false
+     */
+    isRevealed: false,
+
+    /**
+     * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.
+     * @option
+     * @example reveal-for-large
+     */
+    revealOn: null,
+
+    /**
+     * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.
+     * @option
+     * @example true
+     */
+    autoFocus: true,
+
+    /**
+     * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.
+     * @option
+     * TODO improve the regex testing for this.
+     * @example reveal-for-large
+     */
+    revealClass: 'reveal-for-',
+
+    /**
+     * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.
+     * @option
+     * @example true
+     */
+    trapFocus: false
+  };
+
+  // Window exports
+  Foundation.plugin(OffCanvas, 'OffCanvas');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.orbit.js b/libraries/foundation-6/js/plugins/foundation.orbit.js
new file mode 100755
index 00000000..7ecae386
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.orbit.js
@@ -0,0 +1,484 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Orbit module.
+   * @module foundation.orbit
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.motion
+   * @requires foundation.util.timerAndImageLoader
+   * @requires foundation.util.touch
+   */
+
+  var Orbit = function () {
+    /**
+    * Creates a new instance of an orbit carousel.
+    * @class
+    * @param {jQuery} element - jQuery object to make into an Orbit Carousel.
+    * @param {Object} options - Overrides to the default plugin settings.
+    */
+
+    function Orbit(element, options) {
+      _classCallCheck(this, Orbit);
+
+      this.$element = element;
+      this.options = $.extend({}, Orbit.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Orbit');
+      Foundation.Keyboard.register('Orbit', {
+        'ltr': {
+          'ARROW_RIGHT': 'next',
+          'ARROW_LEFT': 'previous'
+        },
+        'rtl': {
+          'ARROW_LEFT': 'next',
+          'ARROW_RIGHT': 'previous'
+        }
+      });
+    }
+
+    /**
+    * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation.
+    * @function
+    * @private
+    */
+
+
+    _createClass(Orbit, [{
+      key: '_init',
+      value: function _init() {
+        this.$wrapper = this.$element.find('.' + this.options.containerClass);
+        this.$slides = this.$element.find('.' + this.options.slideClass);
+        var $images = this.$element.find('img'),
+            initActive = this.$slides.filter('.is-active');
+
+        if (!initActive.length) {
+          this.$slides.eq(0).addClass('is-active');
+        }
+
+        if (!this.options.useMUI) {
+          this.$slides.addClass('no-motionui');
+        }
+
+        if ($images.length) {
+          Foundation.onImagesLoaded($images, this._prepareForOrbit.bind(this));
+        } else {
+          this._prepareForOrbit(); //hehe
+        }
+
+        if (this.options.bullets) {
+          this._loadBullets();
+        }
+
+        this._events();
+
+        if (this.options.autoPlay && this.$slides.length > 1) {
+          this.geoSync();
+        }
+
+        if (this.options.accessible) {
+          // allow wrapper to be focusable to enable arrow navigation
+          this.$wrapper.attr('tabindex', 0);
+        }
+      }
+
+      /**
+      * Creates a jQuery collection of bullets, if they are being used.
+      * @function
+      * @private
+      */
+
+    }, {
+      key: '_loadBullets',
+      value: function _loadBullets() {
+        this.$bullets = this.$element.find('.' + this.options.boxOfBullets).find('button');
+      }
+
+      /**
+      * Sets a `timer` object on the orbit, and starts the counter for the next slide.
+      * @function
+      */
+
+    }, {
+      key: 'geoSync',
+      value: function geoSync() {
+        var _this = this;
+        this.timer = new Foundation.Timer(this.$element, {
+          duration: this.options.timerDelay,
+          infinite: false
+        }, function () {
+          _this.changeSlide(true);
+        });
+        this.timer.start();
+      }
+
+      /**
+      * Sets wrapper and slide heights for the orbit.
+      * @function
+      * @private
+      */
+
+    }, {
+      key: '_prepareForOrbit',
+      value: function _prepareForOrbit() {
+        var _this = this;
+        this._setWrapperHeight(function (max) {
+          _this._setSlideHeight(max);
+        });
+      }
+
+      /**
+      * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.
+      * @function
+      * @private
+      * @param {Function} cb - a callback function to fire when complete.
+      */
+
+    }, {
+      key: '_setWrapperHeight',
+      value: function _setWrapperHeight(cb) {
+        //rewrite this to `for` loop
+        var max = 0,
+            temp,
+            counter = 0;
+
+        this.$slides.each(function () {
+          temp = this.getBoundingClientRect().height;
+          $(this).attr('data-slide', counter);
+
+          if (counter) {
+            //if not the first slide, set css position and display property
+            $(this).css({ 'position': 'relative', 'display': 'none' });
+          }
+          max = temp > max ? temp : max;
+          counter++;
+        });
+
+        if (counter === this.$slides.length) {
+          this.$wrapper.css({ 'height': max }); //only change the wrapper height property once.
+          cb(max); //fire callback with max height dimension.
+        }
+      }
+
+      /**
+      * Sets the max-height of each slide.
+      * @function
+      * @private
+      */
+
+    }, {
+      key: '_setSlideHeight',
+      value: function _setSlideHeight(height) {
+        this.$slides.each(function () {
+          $(this).css('max-height', height);
+        });
+      }
+
+      /**
+      * Adds event listeners to basically everything within the element.
+      * @function
+      * @private
+      */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+
+        //***************************************
+        //**Now using custom event - thanks to:**
+        //**      Yohai Ararat of Toronto      **
+        //***************************************
+        if (this.$slides.length > 1) {
+
+          if (this.options.swipe) {
+            this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit').on('swipeleft.zf.orbit', function (e) {
+              e.preventDefault();
+              _this.changeSlide(true);
+            }).on('swiperight.zf.orbit', function (e) {
+              e.preventDefault();
+              _this.changeSlide(false);
+            });
+          }
+          //***************************************
+
+          if (this.options.autoPlay) {
+            this.$slides.on('click.zf.orbit', function () {
+              _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true);
+              _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start']();
+            });
+
+            if (this.options.pauseOnHover) {
+              this.$element.on('mouseenter.zf.orbit', function () {
+                _this.timer.pause();
+              }).on('mouseleave.zf.orbit', function () {
+                if (!_this.$element.data('clickedOn')) {
+                  _this.timer.start();
+                }
+              });
+            }
+          }
+
+          if (this.options.navButtons) {
+            var $controls = this.$element.find('.' + this.options.nextClass + ', .' + this.options.prevClass);
+            $controls.attr('tabindex', 0)
+            //also need to handle enter/return and spacebar key presses
+            .on('click.zf.orbit touchend.zf.orbit', function (e) {
+              e.preventDefault();
+              _this.changeSlide($(this).hasClass(_this.options.nextClass));
+            });
+          }
+
+          if (this.options.bullets) {
+            this.$bullets.on('click.zf.orbit touchend.zf.orbit', function () {
+              if (/is-active/g.test(this.className)) {
+                return false;
+              } //if this is active, kick out of function.
+              var idx = $(this).data('slide'),
+                  ltr = idx > _this.$slides.filter('.is-active').data('slide'),
+                  $slide = _this.$slides.eq(idx);
+
+              _this.changeSlide(ltr, $slide, idx);
+            });
+          }
+
+          this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function (e) {
+            // handle keyboard event with keyboard util
+            Foundation.Keyboard.handleKey(e, 'Orbit', {
+              next: function () {
+                _this.changeSlide(true);
+              },
+              previous: function () {
+                _this.changeSlide(false);
+              },
+              handled: function () {
+                // if bullet is focused, make sure focus moves
+                if ($(e.target).is(_this.$bullets)) {
+                  _this.$bullets.filter('.is-active').focus();
+                }
+              }
+            });
+          });
+        }
+      }
+
+      /**
+      * Changes the current slide to a new one.
+      * @function
+      * @param {Boolean} isLTR - flag if the slide should move left to right.
+      * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.
+      * @param {Number} idx - the index of the new slide in its collection, if one chosen.
+      * @fires Orbit#slidechange
+      */
+
+    }, {
+      key: 'changeSlide',
+      value: function changeSlide(isLTR, chosenSlide, idx) {
+        var $curSlide = this.$slides.filter('.is-active').eq(0);
+
+        if (/mui/g.test($curSlide[0].className)) {
+          return false;
+        } //if the slide is currently animating, kick out of the function
+
+        var $firstSlide = this.$slides.first(),
+            $lastSlide = this.$slides.last(),
+            dirIn = isLTR ? 'Right' : 'Left',
+            dirOut = isLTR ? 'Left' : 'Right',
+            _this = this,
+            $newSlide;
+
+        if (!chosenSlide) {
+          //most of the time, this will be auto played or clicked from the navButtons.
+          $newSlide = isLTR ? //if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!
+          this.options.infiniteWrap ? $curSlide.next('.' + this.options.slideClass).length ? $curSlide.next('.' + this.options.slideClass) : $firstSlide : $curSlide.next('.' + this.options.slideClass) : //pick next slide if moving left to right
+          this.options.infiniteWrap ? $curSlide.prev('.' + this.options.slideClass).length ? $curSlide.prev('.' + this.options.slideClass) : $lastSlide : $curSlide.prev('.' + this.options.slideClass); //pick prev slide if moving right to left
+        } else {
+            $newSlide = chosenSlide;
+          }
+
+        if ($newSlide.length) {
+          if (this.options.bullets) {
+            idx = idx || this.$slides.index($newSlide); //grab index to update bullets
+            this._updateBullets(idx);
+          }
+
+          if (this.options.useMUI) {
+            Foundation.Motion.animateIn($newSlide.addClass('is-active').css({ 'position': 'absolute', 'top': 0 }), this.options['animInFrom' + dirIn], function () {
+              $newSlide.css({ 'position': 'relative', 'display': 'block' }).attr('aria-live', 'polite');
+            });
+
+            Foundation.Motion.animateOut($curSlide.removeClass('is-active'), this.options['animOutTo' + dirOut], function () {
+              $curSlide.removeAttr('aria-live');
+              if (_this.options.autoPlay && !_this.timer.isPaused) {
+                _this.timer.restart();
+              }
+              //do stuff?
+            });
+          } else {
+              $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();
+              $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show();
+              if (this.options.autoPlay && !this.timer.isPaused) {
+                this.timer.restart();
+              }
+            }
+          /**
+          * Triggers when the slide has finished animating in.
+          * @event Orbit#slidechange
+          */
+          this.$element.trigger('slidechange.zf.orbit', [$newSlide]);
+        }
+      }
+
+      /**
+      * Updates the active state of the bullets, if displayed.
+      * @function
+      * @private
+      * @param {Number} idx - the index of the current slide.
+      */
+
+    }, {
+      key: '_updateBullets',
+      value: function _updateBullets(idx) {
+        var $oldBullet = this.$element.find('.' + this.options.boxOfBullets).find('.is-active').removeClass('is-active').blur(),
+            span = $oldBullet.find('span:last').detach(),
+            $newBullet = this.$bullets.eq(idx).addClass('is-active').append(span);
+      }
+
+      /**
+      * Destroys the carousel and hides the element.
+      * @function
+      */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Orbit;
+  }();
+
+  Orbit.defaults = {
+    /**
+    * Tells the JS to look for and loadBullets.
+    * @option
+    * @example true
+    */
+    bullets: true,
+    /**
+    * Tells the JS to apply event listeners to nav buttons
+    * @option
+    * @example true
+    */
+    navButtons: true,
+    /**
+    * motion-ui animation class to apply
+    * @option
+    * @example 'slide-in-right'
+    */
+    animInFromRight: 'slide-in-right',
+    /**
+    * motion-ui animation class to apply
+    * @option
+    * @example 'slide-out-right'
+    */
+    animOutToRight: 'slide-out-right',
+    /**
+    * motion-ui animation class to apply
+    * @option
+    * @example 'slide-in-left'
+    *
+    */
+    animInFromLeft: 'slide-in-left',
+    /**
+    * motion-ui animation class to apply
+    * @option
+    * @example 'slide-out-left'
+    */
+    animOutToLeft: 'slide-out-left',
+    /**
+    * Allows Orbit to automatically animate on page load.
+    * @option
+    * @example true
+    */
+    autoPlay: true,
+    /**
+    * Amount of time, in ms, between slide transitions
+    * @option
+    * @example 5000
+    */
+    timerDelay: 5000,
+    /**
+    * Allows Orbit to infinitely loop through the slides
+    * @option
+    * @example true
+    */
+    infiniteWrap: true,
+    /**
+    * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library
+    * @option
+    * @example true
+    */
+    swipe: true,
+    /**
+    * Allows the timing function to pause animation on hover.
+    * @option
+    * @example true
+    */
+    pauseOnHover: true,
+    /**
+    * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys
+    * @option
+    * @example true
+    */
+    accessible: true,
+    /**
+    * Class applied to the container of Orbit
+    * @option
+    * @example 'orbit-container'
+    */
+    containerClass: 'orbit-container',
+    /**
+    * Class applied to individual slides.
+    * @option
+    * @example 'orbit-slide'
+    */
+    slideClass: 'orbit-slide',
+    /**
+    * Class applied to the bullet container. You're welcome.
+    * @option
+    * @example 'orbit-bullets'
+    */
+    boxOfBullets: 'orbit-bullets',
+    /**
+    * Class applied to the `next` navigation button.
+    * @option
+    * @example 'orbit-next'
+    */
+    nextClass: 'orbit-next',
+    /**
+    * Class applied to the `previous` navigation button.
+    * @option
+    * @example 'orbit-previous'
+    */
+    prevClass: 'orbit-previous',
+    /**
+    * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatability.
+    * @option
+    * @example true
+    */
+    useMUI: true
+  };
+
+  // Window exports
+  Foundation.plugin(Orbit, 'Orbit');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.responsiveMenu.js b/libraries/foundation-6/js/plugins/foundation.responsiveMenu.js
new file mode 100755
index 00000000..8ba0f7b0
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.responsiveMenu.js
@@ -0,0 +1,171 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * ResponsiveMenu module.
+   * @module foundation.responsiveMenu
+   * @requires foundation.util.triggers
+   * @requires foundation.util.mediaQuery
+   * @requires foundation.util.accordionMenu
+   * @requires foundation.util.drilldown
+   * @requires foundation.util.dropdown-menu
+   */
+
+  var ResponsiveMenu = function () {
+    /**
+     * Creates a new instance of a responsive menu.
+     * @class
+     * @fires ResponsiveMenu#init
+     * @param {jQuery} element - jQuery object to make into a dropdown menu.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function ResponsiveMenu(element, options) {
+      _classCallCheck(this, ResponsiveMenu);
+
+      this.$element = $(element);
+      this.rules = this.$element.data('responsive-menu');
+      this.currentMq = null;
+      this.currentPlugin = null;
+
+      this._init();
+      this._events();
+
+      Foundation.registerPlugin(this, 'ResponsiveMenu');
+    }
+
+    /**
+     * Initializes the Menu by parsing the classes from the 'data-ResponsiveMenu' attribute on the element.
+     * @function
+     * @private
+     */
+
+
+    _createClass(ResponsiveMenu, [{
+      key: '_init',
+      value: function _init() {
+        // The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules
+        if (typeof this.rules === 'string') {
+          var rulesTree = {};
+
+          // Parse rules from "classes" pulled from data attribute
+          var rules = this.rules.split(' ');
+
+          // Iterate through every rule found
+          for (var i = 0; i < rules.length; i++) {
+            var rule = rules[i].split('-');
+            var ruleSize = rule.length > 1 ? rule[0] : 'small';
+            var rulePlugin = rule.length > 1 ? rule[1] : rule[0];
+
+            if (MenuPlugins[rulePlugin] !== null) {
+              rulesTree[ruleSize] = MenuPlugins[rulePlugin];
+            }
+          }
+
+          this.rules = rulesTree;
+        }
+
+        if (!$.isEmptyObject(this.rules)) {
+          this._checkMediaQueries();
+        }
+      }
+
+      /**
+       * Initializes events for the Menu.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+
+        $(window).on('changed.zf.mediaquery', function () {
+          _this._checkMediaQueries();
+        });
+        // $(window).on('resize.zf.ResponsiveMenu', function() {
+        //   _this._checkMediaQueries();
+        // });
+      }
+
+      /**
+       * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_checkMediaQueries',
+      value: function _checkMediaQueries() {
+        var matchedMq,
+            _this = this;
+        // Iterate through each rule and find the last matching rule
+        $.each(this.rules, function (key) {
+          if (Foundation.MediaQuery.atLeast(key)) {
+            matchedMq = key;
+          }
+        });
+
+        // No match? No dice
+        if (!matchedMq) return;
+
+        // Plugin already initialized? We good
+        if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;
+
+        // Remove existing plugin-specific CSS classes
+        $.each(MenuPlugins, function (key, value) {
+          _this.$element.removeClass(value.cssClass);
+        });
+
+        // Add the CSS class for the new plugin
+        this.$element.addClass(this.rules[matchedMq].cssClass);
+
+        // Create an instance of the new plugin
+        if (this.currentPlugin) this.currentPlugin.destroy();
+        this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {});
+      }
+
+      /**
+       * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.currentPlugin.destroy();
+        $(window).off('.zf.ResponsiveMenu');
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return ResponsiveMenu;
+  }();
+
+  ResponsiveMenu.defaults = {};
+
+  // The plugin matches the plugin classes with these plugin instances.
+  var MenuPlugins = {
+    dropdown: {
+      cssClass: 'dropdown',
+      plugin: Foundation._plugins['dropdown-menu'] || null
+    },
+    drilldown: {
+      cssClass: 'drilldown',
+      plugin: Foundation._plugins['drilldown'] || null
+    },
+    accordion: {
+      cssClass: 'accordion-menu',
+      plugin: Foundation._plugins['accordion-menu'] || null
+    }
+  };
+
+  // Window exports
+  Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.responsiveToggle.js b/libraries/foundation-6/js/plugins/foundation.responsiveToggle.js
new file mode 100755
index 00000000..30360604
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.responsiveToggle.js
@@ -0,0 +1,142 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * ResponsiveToggle module.
+   * @module foundation.responsiveToggle
+   * @requires foundation.util.mediaQuery
+   */
+
+  var ResponsiveToggle = function () {
+    /**
+     * Creates a new instance of Tab Bar.
+     * @class
+     * @fires ResponsiveToggle#init
+     * @param {jQuery} element - jQuery object to attach tab bar functionality to.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function ResponsiveToggle(element, options) {
+      _classCallCheck(this, ResponsiveToggle);
+
+      this.$element = $(element);
+      this.options = $.extend({}, ResponsiveToggle.defaults, this.$element.data(), options);
+
+      this._init();
+      this._events();
+
+      Foundation.registerPlugin(this, 'ResponsiveToggle');
+    }
+
+    /**
+     * Initializes the tab bar by finding the target element, toggling element, and running update().
+     * @function
+     * @private
+     */
+
+
+    _createClass(ResponsiveToggle, [{
+      key: '_init',
+      value: function _init() {
+        var targetID = this.$element.data('responsive-toggle');
+        if (!targetID) {
+          console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.');
+        }
+
+        this.$targetMenu = $('#' + targetID);
+        this.$toggler = this.$element.find('[data-toggle]');
+
+        this._update();
+      }
+
+      /**
+       * Adds necessary event handlers for the tab bar to work.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+
+        this._updateMqHandler = this._update.bind(this);
+
+        $(window).on('changed.zf.mediaquery', this._updateMqHandler);
+
+        this.$toggler.on('click.zf.responsiveToggle', this.toggleMenu.bind(this));
+      }
+
+      /**
+       * Checks the current media query to determine if the tab bar should be visible or hidden.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_update',
+      value: function _update() {
+        // Mobile
+        if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {
+          this.$element.show();
+          this.$targetMenu.hide();
+        }
+
+        // Desktop
+        else {
+            this.$element.hide();
+            this.$targetMenu.show();
+          }
+      }
+
+      /**
+       * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it.
+       * @function
+       * @fires ResponsiveToggle#toggled
+       */
+
+    }, {
+      key: 'toggleMenu',
+      value: function toggleMenu() {
+        if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {
+          this.$targetMenu.toggle(0);
+
+          /**
+           * Fires when the element attached to the tab bar toggles.
+           * @event ResponsiveToggle#toggled
+           */
+          this.$element.trigger('toggled.zf.responsiveToggle');
+        }
+      }
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.off('.zf.responsiveToggle');
+        this.$toggler.off('.zf.responsiveToggle');
+
+        $(window).off('changed.zf.mediaquery', this._updateMqHandler);
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return ResponsiveToggle;
+  }();
+
+  ResponsiveToggle.defaults = {
+    /**
+     * The breakpoint after which the menu is always shown, and the tab bar is hidden.
+     * @option
+     * @example 'medium'
+     */
+    hideFor: 'medium'
+  };
+
+  // Window exports
+  Foundation.plugin(ResponsiveToggle, 'ResponsiveToggle');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.reveal.js b/libraries/foundation-6/js/plugins/foundation.reveal.js
new file mode 100755
index 00000000..21ed625d
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.reveal.js
@@ -0,0 +1,623 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Reveal module.
+   * @module foundation.reveal
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.box
+   * @requires foundation.util.triggers
+   * @requires foundation.util.mediaQuery
+   * @requires foundation.util.motion if using animations
+   */
+
+  var Reveal = function () {
+    /**
+     * Creates a new instance of Reveal.
+     * @class
+     * @param {jQuery} element - jQuery object to use for the modal.
+     * @param {Object} options - optional parameters.
+     */
+
+    function Reveal(element, options) {
+      _classCallCheck(this, Reveal);
+
+      this.$element = element;
+      this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);
+      this._init();
+
+      Foundation.registerPlugin(this, 'Reveal');
+      Foundation.Keyboard.register('Reveal', {
+        'ENTER': 'open',
+        'SPACE': 'open',
+        'ESCAPE': 'close',
+        'TAB': 'tab_forward',
+        'SHIFT_TAB': 'tab_backward'
+      });
+    }
+
+    /**
+     * Initializes the modal by adding the overlay and close buttons, (if selected).
+     * @private
+     */
+
+
+    _createClass(Reveal, [{
+      key: '_init',
+      value: function _init() {
+        this.id = this.$element.attr('id');
+        this.isActive = false;
+        this.cached = { mq: Foundation.MediaQuery.current };
+        this.isMobile = mobileSniff();
+
+        this.$anchor = $('[data-open="' + this.id + '"]').length ? $('[data-open="' + this.id + '"]') : $('[data-toggle="' + this.id + '"]');
+        this.$anchor.attr({
+          'aria-controls': this.id,
+          'aria-haspopup': true,
+          'tabindex': 0
+        });
+
+        if (this.options.fullScreen || this.$element.hasClass('full')) {
+          this.options.fullScreen = true;
+          this.options.overlay = false;
+        }
+        if (this.options.overlay && !this.$overlay) {
+          this.$overlay = this._makeOverlay(this.id);
+        }
+
+        this.$element.attr({
+          'role': 'dialog',
+          'aria-hidden': true,
+          'data-yeti-box': this.id,
+          'data-resize': this.id
+        });
+
+        if (this.$overlay) {
+          this.$element.detach().appendTo(this.$overlay);
+        } else {
+          this.$element.detach().appendTo($('body'));
+          this.$element.addClass('without-overlay');
+        }
+        this._events();
+        if (this.options.deepLink && window.location.hash === '#' + this.id) {
+          $(window).one('load.zf.reveal', this.open.bind(this));
+        }
+      }
+
+      /**
+       * Creates an overlay div to display behind the modal.
+       * @private
+       */
+
+    }, {
+      key: '_makeOverlay',
+      value: function _makeOverlay(id) {
+        var $overlay = $('<div></div>').addClass('reveal-overlay').appendTo('body');
+        return $overlay;
+      }
+
+      /**
+       * Updates position of modal
+       * TODO:  Figure out if we actually need to cache these values or if it doesn't matter
+       * @private
+       */
+
+    }, {
+      key: '_updatePosition',
+      value: function _updatePosition() {
+        var width = this.$element.outerWidth();
+        var outerWidth = $(window).width();
+        var height = this.$element.outerHeight();
+        var outerHeight = $(window).height();
+        var left, top;
+        if (this.options.hOffset === 'auto') {
+          left = parseInt((outerWidth - width) / 2, 10);
+        } else {
+          left = parseInt(this.options.hOffset, 10);
+        }
+        if (this.options.vOffset === 'auto') {
+          if (height > outerHeight) {
+            top = parseInt(Math.min(100, outerHeight / 10), 10);
+          } else {
+            top = parseInt((outerHeight - height) / 4, 10);
+          }
+        } else {
+          top = parseInt(this.options.vOffset, 10);
+        }
+        this.$element.css({ top: top + 'px' });
+        // only worry about left if we don't have an overlay or we havea  horizontal offset,
+        // otherwise we're perfectly in the middle
+        if (!this.$overlay || this.options.hOffset !== 'auto') {
+          this.$element.css({ left: left + 'px' });
+          this.$element.css({ margin: '0px' });
+        }
+      }
+
+      /**
+       * Adds event handlers for the modal.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this2 = this;
+
+        var _this = this;
+
+        this.$element.on({
+          'open.zf.trigger': this.open.bind(this),
+          'close.zf.trigger': function (event, $element) {
+            if (event.target === _this.$element[0] || $(event.target).parents('[data-closable]')[0] === $element) {
+              // only close reveal when it's explicitly called
+              return _this2.close.apply(_this2);
+            }
+          },
+          'toggle.zf.trigger': this.toggle.bind(this),
+          'resizeme.zf.trigger': function () {
+            _this._updatePosition();
+          }
+        });
+
+        if (this.$anchor.length) {
+          this.$anchor.on('keydown.zf.reveal', function (e) {
+            if (e.which === 13 || e.which === 32) {
+              e.stopPropagation();
+              e.preventDefault();
+              _this.open();
+            }
+          });
+        }
+
+        if (this.options.closeOnClick && this.options.overlay) {
+          this.$overlay.off('.zf.reveal').on('click.zf.reveal', function (e) {
+            if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) {
+              return;
+            }
+            _this.close();
+          });
+        }
+        if (this.options.deepLink) {
+          $(window).on('popstate.zf.reveal:' + this.id, this._handleState.bind(this));
+        }
+      }
+
+      /**
+       * Handles modal methods on back/forward button clicks or any other event that triggers popstate.
+       * @private
+       */
+
+    }, {
+      key: '_handleState',
+      value: function _handleState(e) {
+        if (window.location.hash === '#' + this.id && !this.isActive) {
+          this.open();
+        } else {
+          this.close();
+        }
+      }
+
+      /**
+       * Opens the modal controlled by `this.$anchor`, and closes all others by default.
+       * @function
+       * @fires Reveal#closeme
+       * @fires Reveal#open
+       */
+
+    }, {
+      key: 'open',
+      value: function open() {
+        var _this3 = this;
+
+        if (this.options.deepLink) {
+          var hash = '#' + this.id;
+
+          if (window.history.pushState) {
+            window.history.pushState(null, null, hash);
+          } else {
+            window.location.hash = hash;
+          }
+        }
+
+        this.isActive = true;
+
+        // Make elements invisible, but remove display: none so we can get size and positioning
+        this.$element.css({ 'visibility': 'hidden' }).show().scrollTop(0);
+        if (this.options.overlay) {
+          this.$overlay.css({ 'visibility': 'hidden' }).show();
+        }
+
+        this._updatePosition();
+
+        this.$element.hide().css({ 'visibility': '' });
+
+        if (this.$overlay) {
+          this.$overlay.css({ 'visibility': '' }).hide();
+          if (this.$element.hasClass('fast')) {
+            this.$overlay.addClass('fast');
+          } else if (this.$element.hasClass('slow')) {
+            this.$overlay.addClass('slow');
+          }
+        }
+
+        if (!this.options.multipleOpened) {
+          /**
+           * Fires immediately before the modal opens.
+           * Closes any other modals that are currently open
+           * @event Reveal#closeme
+           */
+          this.$element.trigger('closeme.zf.reveal', this.id);
+        }
+        // Motion UI method of reveal
+        if (this.options.animationIn) {
+          var _this;
+
+          (function () {
+            var afterAnimationFocus = function () {
+              _this.$element.attr({
+                'aria-hidden': false,
+                'tabindex': -1
+              }).focus();
+              console.log('focus');
+            };
+
+            _this = _this3;
+
+            if (_this3.options.overlay) {
+              Foundation.Motion.animateIn(_this3.$overlay, 'fade-in');
+            }
+            Foundation.Motion.animateIn(_this3.$element, _this3.options.animationIn, function () {
+              _this3.focusableElements = Foundation.Keyboard.findFocusable(_this3.$element);
+              afterAnimationFocus();
+            });
+          })();
+        }
+        // jQuery method of reveal
+        else {
+            if (this.options.overlay) {
+              this.$overlay.show(0);
+            }
+            this.$element.show(this.options.showDelay);
+          }
+
+        // handle accessibility
+        this.$element.attr({
+          'aria-hidden': false,
+          'tabindex': -1
+        }).focus();
+
+        /**
+         * Fires when the modal has successfully opened.
+         * @event Reveal#open
+         */
+        this.$element.trigger('open.zf.reveal');
+
+        if (this.isMobile) {
+          this.originalScrollPos = window.pageYOffset;
+          $('html, body').addClass('is-reveal-open');
+        } else {
+          $('body').addClass('is-reveal-open');
+        }
+
+        setTimeout(function () {
+          _this3._extraHandlers();
+        }, 0);
+      }
+
+      /**
+       * Adds extra event handlers for the body and window if necessary.
+       * @private
+       */
+
+    }, {
+      key: '_extraHandlers',
+      value: function _extraHandlers() {
+        var _this = this;
+        this.focusableElements = Foundation.Keyboard.findFocusable(this.$element);
+
+        if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {
+          $('body').on('click.zf.reveal', function (e) {
+            if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) {
+              return;
+            }
+            _this.close();
+          });
+        }
+
+        if (this.options.closeOnEsc) {
+          $(window).on('keydown.zf.reveal', function (e) {
+            Foundation.Keyboard.handleKey(e, 'Reveal', {
+              close: function () {
+                if (_this.options.closeOnEsc) {
+                  _this.close();
+                  _this.$anchor.focus();
+                }
+              }
+            });
+          });
+        }
+
+        // lock focus within modal while tabbing
+        this.$element.on('keydown.zf.reveal', function (e) {
+          var $target = $(this);
+          // handle keyboard event with keyboard util
+          Foundation.Keyboard.handleKey(e, 'Reveal', {
+            tab_forward: function () {
+              if (_this.$element.find(':focus').is(_this.focusableElements.eq(-1))) {
+                // left modal downwards, setting focus to first element
+                _this.focusableElements.eq(0).focus();
+                return true;
+              }
+              if (_this.focusableElements.length === 0) {
+                // no focusable elements inside the modal at all, prevent tabbing in general
+                return true;
+              }
+            },
+            tab_backward: function () {
+              if (_this.$element.find(':focus').is(_this.focusableElements.eq(0)) || _this.$element.is(':focus')) {
+                // left modal upwards, setting focus to last element
+                _this.focusableElements.eq(-1).focus();
+                return true;
+              }
+              if (_this.focusableElements.length === 0) {
+                // no focusable elements inside the modal at all, prevent tabbing in general
+                return true;
+              }
+            },
+            open: function () {
+              if (_this.$element.find(':focus').is(_this.$element.find('[data-close]'))) {
+                setTimeout(function () {
+                  // set focus back to anchor if close button has been activated
+                  _this.$anchor.focus();
+                }, 1);
+              } else if ($target.is(_this.focusableElements)) {
+                // dont't trigger if acual element has focus (i.e. inputs, links, ...)
+                _this.open();
+              }
+            },
+            close: function () {
+              if (_this.options.closeOnEsc) {
+                _this.close();
+                _this.$anchor.focus();
+              }
+            },
+            handled: function (preventDefault) {
+              if (preventDefault) {
+                e.preventDefault();
+              }
+            }
+          });
+        });
+      }
+
+      /**
+       * Closes the modal.
+       * @function
+       * @fires Reveal#closed
+       */
+
+    }, {
+      key: 'close',
+      value: function close() {
+        if (!this.isActive || !this.$element.is(':visible')) {
+          return false;
+        }
+        var _this = this;
+
+        // Motion UI method of hiding
+        if (this.options.animationOut) {
+          if (this.options.overlay) {
+            Foundation.Motion.animateOut(this.$overlay, 'fade-out', finishUp);
+          } else {
+            finishUp();
+          }
+
+          Foundation.Motion.animateOut(this.$element, this.options.animationOut);
+        }
+        // jQuery method of hiding
+        else {
+            if (this.options.overlay) {
+              this.$overlay.hide(0, finishUp);
+            } else {
+              finishUp();
+            }
+
+            this.$element.hide(this.options.hideDelay);
+          }
+
+        // Conditionals to remove extra event listeners added on open
+        if (this.options.closeOnEsc) {
+          $(window).off('keydown.zf.reveal');
+        }
+
+        if (!this.options.overlay && this.options.closeOnClick) {
+          $('body').off('click.zf.reveal');
+        }
+
+        this.$element.off('keydown.zf.reveal');
+
+        function finishUp() {
+          if (_this.isMobile) {
+            $('html, body').removeClass('is-reveal-open');
+            if (_this.originalScrollPos) {
+              $('body').scrollTop(_this.originalScrollPos);
+              _this.originalScrollPos = null;
+            }
+          } else {
+            $('body').removeClass('is-reveal-open');
+          }
+
+          _this.$element.attr('aria-hidden', true);
+
+          /**
+          * Fires when the modal is done closing.
+          * @event Reveal#closed
+          */
+          _this.$element.trigger('closed.zf.reveal');
+        }
+
+        /**
+        * Resets the modal content
+        * This prevents a running video to keep going in the background
+        */
+        if (this.options.resetOnClose) {
+          this.$element.html(this.$element.html());
+        }
+
+        this.isActive = false;
+        if (_this.options.deepLink) {
+          if (window.history.replaceState) {
+            window.history.replaceState("", document.title, window.location.pathname);
+          } else {
+            window.location.hash = '';
+          }
+        }
+      }
+
+      /**
+       * Toggles the open/closed state of a modal.
+       * @function
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle() {
+        if (this.isActive) {
+          this.close();
+        } else {
+          this.open();
+        }
+      }
+    }, {
+      key: 'destroy',
+
+
+      /**
+       * Destroys an instance of a modal.
+       * @function
+       */
+      value: function destroy() {
+        if (this.options.overlay) {
+          this.$element.appendTo($('body')); // move $element outside of $overlay to prevent error unregisterPlugin()
+          this.$overlay.hide().off().remove();
+        }
+        this.$element.hide().off();
+        this.$anchor.off('.zf');
+        $(window).off('.zf.reveal:' + this.id);
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Reveal;
+  }();
+
+  Reveal.defaults = {
+    /**
+     * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
+     * @option
+     * @example 'slide-in-left'
+     */
+    animationIn: '',
+    /**
+     * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
+     * @option
+     * @example 'slide-out-right'
+     */
+    animationOut: '',
+    /**
+     * Time, in ms, to delay the opening of a modal after a click if no animation used.
+     * @option
+     * @example 10
+     */
+    showDelay: 0,
+    /**
+     * Time, in ms, to delay the closing of a modal after a click if no animation used.
+     * @option
+     * @example 10
+     */
+    hideDelay: 0,
+    /**
+     * Allows a click on the body/overlay to close the modal.
+     * @option
+     * @example true
+     */
+    closeOnClick: true,
+    /**
+     * Allows the modal to close if the user presses the `ESCAPE` key.
+     * @option
+     * @example true
+     */
+    closeOnEsc: true,
+    /**
+     * If true, allows multiple modals to be displayed at once.
+     * @option
+     * @example false
+     */
+    multipleOpened: false,
+    /**
+     * Distance, in pixels, the modal should push down from the top of the screen.
+     * @option
+     * @example auto
+     */
+    vOffset: 'auto',
+    /**
+     * Distance, in pixels, the modal should push in from the side of the screen.
+     * @option
+     * @example auto
+     */
+    hOffset: 'auto',
+    /**
+     * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.
+     * @option
+     * @example false
+     */
+    fullScreen: false,
+    /**
+     * Percentage of screen height the modal should push up from the bottom of the view.
+     * @option
+     * @example 10
+     */
+    btmOffsetPct: 10,
+    /**
+     * Allows the modal to generate an overlay div, which will cover the view when modal opens.
+     * @option
+     * @example true
+     */
+    overlay: true,
+    /**
+     * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.
+     * @option
+     * @example false
+     */
+    resetOnClose: false,
+    /**
+     * Allows the modal to alter the url on open/close, and allows the use of the `back` button to close modals. ALSO, allows a modal to auto-maniacally open on page load IF the hash === the modal's user-set id.
+     * @option
+     * @example false
+     */
+    deepLink: false
+  };
+
+  // Window exports
+  Foundation.plugin(Reveal, 'Reveal');
+
+  function iPhoneSniff() {
+    return (/iP(ad|hone|od).*OS/.test(window.navigator.userAgent)
+    );
+  }
+
+  function androidSniff() {
+    return (/Android/.test(window.navigator.userAgent)
+    );
+  }
+
+  function mobileSniff() {
+    return iPhoneSniff() || androidSniff();
+  }
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.slider.js b/libraries/foundation-6/js/plugins/foundation.slider.js
new file mode 100755
index 00000000..3cbc0374
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.slider.js
@@ -0,0 +1,648 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Slider module.
+   * @module foundation.slider
+   * @requires foundation.util.motion
+   * @requires foundation.util.triggers
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.touch
+   */
+
+  var Slider = function () {
+    /**
+     * Creates a new instance of a drilldown menu.
+     * @class
+     * @param {jQuery} element - jQuery object to make into an accordion menu.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Slider(element, options) {
+      _classCallCheck(this, Slider);
+
+      this.$element = element;
+      this.options = $.extend({}, Slider.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Slider');
+      Foundation.Keyboard.register('Slider', {
+        'ltr': {
+          'ARROW_RIGHT': 'increase',
+          'ARROW_UP': 'increase',
+          'ARROW_DOWN': 'decrease',
+          'ARROW_LEFT': 'decrease',
+          'SHIFT_ARROW_RIGHT': 'increase_fast',
+          'SHIFT_ARROW_UP': 'increase_fast',
+          'SHIFT_ARROW_DOWN': 'decrease_fast',
+          'SHIFT_ARROW_LEFT': 'decrease_fast'
+        },
+        'rtl': {
+          'ARROW_LEFT': 'increase',
+          'ARROW_RIGHT': 'decrease',
+          'SHIFT_ARROW_LEFT': 'increase_fast',
+          'SHIFT_ARROW_RIGHT': 'decrease_fast'
+        }
+      });
+    }
+
+    /**
+     * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).
+     * @function
+     * @private
+     */
+
+
+    _createClass(Slider, [{
+      key: '_init',
+      value: function _init() {
+        this.inputs = this.$element.find('input');
+        this.handles = this.$element.find('[data-slider-handle]');
+
+        this.$handle = this.handles.eq(0);
+        this.$input = this.inputs.length ? this.inputs.eq(0) : $('#' + this.$handle.attr('aria-controls'));
+        this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);
+
+        var isDbl = false,
+            _this = this;
+        if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {
+          this.options.disabled = true;
+          this.$element.addClass(this.options.disabledClass);
+        }
+        if (!this.inputs.length) {
+          this.inputs = $().add(this.$input);
+          this.options.binding = true;
+        }
+        this._setInitAttr(0);
+        this._events(this.$handle);
+
+        if (this.handles[1]) {
+          this.options.doubleSided = true;
+          this.$handle2 = this.handles.eq(1);
+          this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $('#' + this.$handle2.attr('aria-controls'));
+
+          if (!this.inputs[1]) {
+            this.inputs = this.inputs.add(this.$input2);
+          }
+          isDbl = true;
+
+          this._setHandlePos(this.$handle, this.options.initialStart, true, function () {
+
+            _this._setHandlePos(_this.$handle2, _this.options.initialEnd, true);
+          });
+          // this.$handle.triggerHandler('click.zf.slider');
+          this._setInitAttr(1);
+          this._events(this.$handle2);
+        }
+
+        if (!isDbl) {
+          this._setHandlePos(this.$handle, this.options.initialStart, true);
+        }
+      }
+
+      /**
+       * Sets the position of the selected handle and fill bar.
+       * @function
+       * @private
+       * @param {jQuery} $hndl - the selected handle to move.
+       * @param {Number} location - floating point between the start and end values of the slider bar.
+       * @param {Function} cb - callback function to fire on completion.
+       * @fires Slider#moved
+       * @fires Slider#changed
+       */
+
+    }, {
+      key: '_setHandlePos',
+      value: function _setHandlePos($hndl, location, noInvert, cb) {
+        // don't move if the slider has been disabled since its initialization
+        if (this.$element.hasClass(this.options.disabledClass)) {
+          return;
+        }
+        //might need to alter that slightly for bars that will have odd number selections.
+        location = parseFloat(location); //on input change events, convert string to number...grumble.
+
+        // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max
+        if (location < this.options.start) {
+          location = this.options.start;
+        } else if (location > this.options.end) {
+          location = this.options.end;
+        }
+
+        var isDbl = this.options.doubleSided;
+
+        if (isDbl) {
+          //this block is to prevent 2 handles from crossing eachother. Could/should be improved.
+          if (this.handles.index($hndl) === 0) {
+            var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));
+            location = location >= h2Val ? h2Val - this.options.step : location;
+          } else {
+            var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));
+            location = location <= h1Val ? h1Val + this.options.step : location;
+          }
+        }
+
+        //this is for single-handled vertical sliders, it adjusts the value to account for the slider being "upside-down"
+        //for click and drag events, it's weird due to the scale(-1, 1) css property
+        if (this.options.vertical && !noInvert) {
+          location = this.options.end - location;
+        }
+
+        var _this = this,
+            vert = this.options.vertical,
+            hOrW = vert ? 'height' : 'width',
+            lOrT = vert ? 'top' : 'left',
+            handleDim = $hndl[0].getBoundingClientRect()[hOrW],
+            elemDim = this.$element[0].getBoundingClientRect()[hOrW],
+
+        //percentage of bar min/max value based on click or drag point
+        pctOfBar = percent(location - this.options.start, this.options.end - this.options.start).toFixed(2),
+
+        //number of actual pixels to shift the handle, based on the percentage obtained above
+        pxToMove = (elemDim - handleDim) * pctOfBar,
+
+        //percentage of bar to shift the handle
+        movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);
+        //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value
+        location = parseFloat(location.toFixed(this.options.decimal));
+        // declare empty object for css adjustments, only used with 2 handled-sliders
+        var css = {};
+
+        this._setValues($hndl, location);
+
+        // TODO update to calculate based on values set to respective inputs??
+        if (isDbl) {
+          var isLeftHndl = this.handles.index($hndl) === 0,
+
+          //empty variable, will be used for min-height/width for fill bar
+          dim,
+
+          //percentage w/h of the handle compared to the slider bar
+          handlePct = ~ ~(percent(handleDim, elemDim) * 100);
+          //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar
+          if (isLeftHndl) {
+            //left or top percentage value to apply to the fill bar.
+            css[lOrT] = movement + '%';
+            //calculate the new min-height/width for the fill bar.
+            dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;
+            //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider
+            //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.
+            if (cb && typeof cb === 'function') {
+              cb();
+            } //this is only needed for the initialization of 2 handled sliders
+          } else {
+              //just caching the value of the left/bottom handle's left/top property
+              var handlePos = parseFloat(this.$handle[0].style[lOrT]);
+              //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0
+              //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself
+              dim = movement - (isNaN(handlePos) ? this.options.initialStart / ((this.options.end - this.options.start) / 100) : handlePos) + handlePct;
+            }
+          // assign the min-height/width to our css object
+          css['min-' + hOrW] = dim + '%';
+        }
+
+        this.$element.one('finished.zf.animate', function () {
+          /**
+           * Fires when the handle is done moving.
+           * @event Slider#moved
+           */
+          _this.$element.trigger('moved.zf.slider', [$hndl]);
+        });
+
+        //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.
+        var moveTime = this.$element.data('dragging') ? 1000 / 60 : this.options.moveTime;
+
+        Foundation.Move(moveTime, $hndl, function () {
+          //adjusting the left/top property of the handle, based on the percentage calculated above
+          $hndl.css(lOrT, movement + '%');
+
+          if (!_this.options.doubleSided) {
+            //if single-handled, a simple method to expand the fill bar
+            _this.$fill.css(hOrW, pctOfBar * 100 + '%');
+          } else {
+            //otherwise, use the css object we created above
+            _this.$fill.css(css);
+          }
+        });
+
+        /**
+         * Fires when the value has not been change for a given time.
+         * @event Slider#changed
+         */
+        clearTimeout(_this.timeout);
+        _this.timeout = setTimeout(function () {
+          _this.$element.trigger('changed.zf.slider', [$hndl]);
+        }, _this.options.changedDelay);
+      }
+
+      /**
+       * Sets the initial attribute for the slider element.
+       * @function
+       * @private
+       * @param {Number} idx - index of the current handle/input to use.
+       */
+
+    }, {
+      key: '_setInitAttr',
+      value: function _setInitAttr(idx) {
+        var id = this.inputs.eq(idx).attr('id') || Foundation.GetYoDigits(6, 'slider');
+        this.inputs.eq(idx).attr({
+          'id': id,
+          'max': this.options.end,
+          'min': this.options.start,
+          'step': this.options.step
+        });
+        this.handles.eq(idx).attr({
+          'role': 'slider',
+          'aria-controls': id,
+          'aria-valuemax': this.options.end,
+          'aria-valuemin': this.options.start,
+          'aria-valuenow': idx === 0 ? this.options.initialStart : this.options.initialEnd,
+          'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',
+          'tabindex': 0
+        });
+      }
+
+      /**
+       * Sets the input and `aria-valuenow` values for the slider element.
+       * @function
+       * @private
+       * @param {jQuery} $handle - the currently selected handle.
+       * @param {Number} val - floating point of the new value.
+       */
+
+    }, {
+      key: '_setValues',
+      value: function _setValues($handle, val) {
+        var idx = this.options.doubleSided ? this.handles.index($handle) : 0;
+        this.inputs.eq(idx).val(val);
+        $handle.attr('aria-valuenow', val);
+      }
+
+      /**
+       * Handles events on the slider element.
+       * Calculates the new location of the current handle.
+       * If there are two handles and the bar was clicked, it determines which handle to move.
+       * @function
+       * @private
+       * @param {Object} e - the `event` object passed from the listener.
+       * @param {jQuery} $handle - the current handle to calculate for, if selected.
+       * @param {Number} val - floating point number for the new value of the slider.
+       * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.
+       */
+
+    }, {
+      key: '_handleEvent',
+      value: function _handleEvent(e, $handle, val) {
+        var value, hasVal;
+        if (!val) {
+          //click or drag events
+          e.preventDefault();
+          var _this = this,
+              vertical = this.options.vertical,
+              param = vertical ? 'height' : 'width',
+              direction = vertical ? 'top' : 'left',
+              eventOffset = vertical ? e.pageY : e.pageX,
+              halfOfHandle = this.$handle[0].getBoundingClientRect()[param] / 2,
+              barDim = this.$element[0].getBoundingClientRect()[param],
+              windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();
+
+          var elemOffset = this.$element.offset()[direction];
+
+          // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...
+          // best way to guess this is simulated is if clientY == pageY
+          if (e.clientY === e.pageY) {
+            eventOffset = eventOffset + windowScroll;
+          }
+          var eventFromBar = eventOffset - elemOffset;
+          var barXY;
+          if (eventFromBar < 0) {
+            barXY = 0;
+          } else if (eventFromBar > barDim) {
+            barXY = barDim;
+          } else {
+            barXY = eventFromBar;
+          }
+          offsetPct = percent(barXY, barDim);
+
+          value = (this.options.end - this.options.start) * offsetPct + this.options.start;
+
+          // turn everything around for RTL, yay math!
+          if (Foundation.rtl() && !this.options.vertical) {
+            value = this.options.end - value;
+          }
+
+          value = _this._adjustValue(null, value);
+          //boolean flag for the setHandlePos fn, specifically for vertical sliders
+          hasVal = false;
+
+          if (!$handle) {
+            //figure out which handle it is, pass it to the next function.
+            var firstHndlPos = absPosition(this.$handle, direction, barXY, param),
+                secndHndlPos = absPosition(this.$handle2, direction, barXY, param);
+            $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;
+          }
+        } else {
+          //change event on input
+          value = this._adjustValue(null, val);
+          hasVal = true;
+        }
+
+        this._setHandlePos($handle, value, hasVal);
+      }
+
+      /**
+       * Adjustes value for handle in regard to step value. returns adjusted value
+       * @function
+       * @private
+       * @param {jQuery} $handle - the selected handle.
+       * @param {Number} value - value to adjust. used if $handle is falsy
+       */
+
+    }, {
+      key: '_adjustValue',
+      value: function _adjustValue($handle, value) {
+        var val,
+            step = this.options.step,
+            div = parseFloat(step / 2),
+            left,
+            prev_val,
+            next_val;
+        if (!!$handle) {
+          val = parseFloat($handle.attr('aria-valuenow'));
+        } else {
+          val = value;
+        }
+        left = val % step;
+        prev_val = val - left;
+        next_val = prev_val + step;
+        if (left === 0) {
+          return val;
+        }
+        val = val >= prev_val + div ? next_val : prev_val;
+        return val;
+      }
+
+      /**
+       * Adds event listeners to the slider elements.
+       * @function
+       * @private
+       * @param {jQuery} $handle - the current handle to apply listeners to.
+       */
+
+    }, {
+      key: '_events',
+      value: function _events($handle) {
+        var _this = this,
+            curHandle,
+            timer;
+
+        this.inputs.off('change.zf.slider').on('change.zf.slider', function (e) {
+          var idx = _this.inputs.index($(this));
+          _this._handleEvent(e, _this.handles.eq(idx), $(this).val());
+        });
+
+        if (this.options.clickSelect) {
+          this.$element.off('click.zf.slider').on('click.zf.slider', function (e) {
+            if (_this.$element.data('dragging')) {
+              return false;
+            }
+
+            if (!$(e.target).is('[data-slider-handle]')) {
+              if (_this.options.doubleSided) {
+                _this._handleEvent(e);
+              } else {
+                _this._handleEvent(e, _this.$handle);
+              }
+            }
+          });
+        }
+
+        if (this.options.draggable) {
+          this.handles.addTouch();
+
+          var $body = $('body');
+          $handle.off('mousedown.zf.slider').on('mousedown.zf.slider', function (e) {
+            $handle.addClass('is-dragging');
+            _this.$fill.addClass('is-dragging'); //
+            _this.$element.data('dragging', true);
+
+            curHandle = $(e.currentTarget);
+
+            $body.on('mousemove.zf.slider', function (e) {
+              e.preventDefault();
+              _this._handleEvent(e, curHandle);
+            }).on('mouseup.zf.slider', function (e) {
+              _this._handleEvent(e, curHandle);
+
+              $handle.removeClass('is-dragging');
+              _this.$fill.removeClass('is-dragging');
+              _this.$element.data('dragging', false);
+
+              $body.off('mousemove.zf.slider mouseup.zf.slider');
+            });
+          })
+          // prevent events triggered by touch
+          .on('selectstart.zf.slider touchmove.zf.slider', function (e) {
+            e.preventDefault();
+          });
+        }
+
+        $handle.off('keydown.zf.slider').on('keydown.zf.slider', function (e) {
+          var _$handle = $(this),
+              idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,
+              oldValue = parseFloat(_this.inputs.eq(idx).val()),
+              newValue;
+
+          // handle keyboard event with keyboard util
+          Foundation.Keyboard.handleKey(e, 'Slider', {
+            decrease: function () {
+              newValue = oldValue - _this.options.step;
+            },
+            increase: function () {
+              newValue = oldValue + _this.options.step;
+            },
+            decrease_fast: function () {
+              newValue = oldValue - _this.options.step * 10;
+            },
+            increase_fast: function () {
+              newValue = oldValue + _this.options.step * 10;
+            },
+            handled: function () {
+              // only set handle pos when event was handled specially
+              e.preventDefault();
+              _this._setHandlePos(_$handle, newValue, true);
+            }
+          });
+          /*if (newValue) { // if pressed key has special function, update value
+            e.preventDefault();
+            _this._setHandlePos(_$handle, newValue);
+          }*/
+        });
+      }
+
+      /**
+       * Destroys the slider plugin.
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.handles.off('.zf.slider');
+        this.inputs.off('.zf.slider');
+        this.$element.off('.zf.slider');
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Slider;
+  }();
+
+  Slider.defaults = {
+    /**
+     * Minimum value for the slider scale.
+     * @option
+     * @example 0
+     */
+    start: 0,
+    /**
+     * Maximum value for the slider scale.
+     * @option
+     * @example 100
+     */
+    end: 100,
+    /**
+     * Minimum value change per change event.
+     * @option
+     * @example 1
+     */
+    step: 1,
+    /**
+     * Value at which the handle/input *(left handle/first input)* should be set to on initialization.
+     * @option
+     * @example 0
+     */
+    initialStart: 0,
+    /**
+     * Value at which the right handle/second input should be set to on initialization.
+     * @option
+     * @example 100
+     */
+    initialEnd: 100,
+    /**
+     * Allows the input to be located outside the container and visible. Set to by the JS
+     * @option
+     * @example false
+     */
+    binding: false,
+    /**
+     * Allows the user to click/tap on the slider bar to select a value.
+     * @option
+     * @example true
+     */
+    clickSelect: true,
+    /**
+     * Set to true and use the `vertical` class to change alignment to vertical.
+     * @option
+     * @example false
+     */
+    vertical: false,
+    /**
+     * Allows the user to drag the slider handle(s) to select a value.
+     * @option
+     * @example true
+     */
+    draggable: true,
+    /**
+     * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.
+     * @option
+     * @example false
+     */
+    disabled: false,
+    /**
+     * Allows the use of two handles. Double checked by the JS. Changes some logic handling.
+     * @option
+     * @example false
+     */
+    doubleSided: false,
+    /**
+     * Potential future feature.
+     */
+    // steps: 100,
+    /**
+     * Number of decimal places the plugin should go to for floating point precision.
+     * @option
+     * @example 2
+     */
+    decimal: 2,
+    /**
+     * Time delay for dragged elements.
+     */
+    // dragDelay: 0,
+    /**
+     * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.
+     * @option
+     * @example 200
+     */
+    moveTime: 200, //update this if changing the transition time in the sass
+    /**
+     * Class applied to disabled sliders.
+     * @option
+     * @example 'disabled'
+     */
+    disabledClass: 'disabled',
+    /**
+     * Will invert the default layout for a vertical<span data-tooltip title="who would do this???"> </span>slider.
+     * @option
+     * @example false
+     */
+    invertVertical: false,
+    /**
+     * Milliseconds before the `changed.zf-slider` event is triggered after value change.
+     * @option
+     * @example 500
+     */
+    changedDelay: 500
+  };
+
+  function percent(frac, num) {
+    return frac / num;
+  }
+  function absPosition($handle, dir, clickPos, param) {
+    return Math.abs($handle.position()[dir] + $handle[param]() / 2 - clickPos);
+  }
+
+  // Window exports
+  Foundation.plugin(Slider, 'Slider');
+}(jQuery);
+
+//*********this is in case we go to static, absolute positions instead of dynamic positioning********
+// this.setSteps(function() {
+//   _this._events();
+//   var initStart = _this.options.positions[_this.options.initialStart - 1] || null;
+//   var initEnd = _this.options.initialEnd ? _this.options.position[_this.options.initialEnd - 1] : null;
+//   if (initStart || initEnd) {
+//     _this._handleEvent(initStart, initEnd);
+//   }
+// });
+
+//***********the other part of absolute positions*************
+// Slider.prototype.setSteps = function(cb) {
+//   var posChange = this.$element.outerWidth() / this.options.steps;
+//   var counter = 0
+//   while(counter < this.options.steps) {
+//     if (counter) {
+//       this.options.positions.push(this.options.positions[counter - 1] + posChange);
+//     } else {
+//       this.options.positions.push(posChange);
+//     }
+//     counter++;
+//   }
+//   cb();
+// };
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.sticky.js b/libraries/foundation-6/js/plugins/foundation.sticky.js
new file mode 100755
index 00000000..d1a4689d
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.sticky.js
@@ -0,0 +1,495 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Sticky module.
+   * @module foundation.sticky
+   * @requires foundation.util.triggers
+   * @requires foundation.util.mediaQuery
+   */
+
+  var Sticky = function () {
+    /**
+     * Creates a new instance of a sticky thing.
+     * @class
+     * @param {jQuery} element - jQuery object to make sticky.
+     * @param {Object} options - options object passed when creating the element programmatically.
+     */
+
+    function Sticky(element, options) {
+      _classCallCheck(this, Sticky);
+
+      this.$element = element;
+      this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);
+
+      this._init();
+
+      Foundation.registerPlugin(this, 'Sticky');
+    }
+
+    /**
+     * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes
+     * @function
+     * @private
+     */
+
+
+    _createClass(Sticky, [{
+      key: '_init',
+      value: function _init() {
+        var $parent = this.$element.parent('[data-sticky-container]'),
+            id = this.$element[0].id || Foundation.GetYoDigits(6, 'sticky'),
+            _this = this;
+
+        if (!$parent.length) {
+          this.wasWrapped = true;
+        }
+        this.$container = $parent.length ? $parent : $(this.options.container).wrapInner(this.$element);
+        this.$container.addClass(this.options.containerClass);
+
+        this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id });
+
+        this.scrollCount = this.options.checkEvery;
+        this.isStuck = false;
+        $(window).one('load.zf.sticky', function () {
+          if (_this.options.anchor !== '') {
+            _this.$anchor = $('#' + _this.options.anchor);
+          } else {
+            _this._parsePoints();
+          }
+
+          _this._setSizes(function () {
+            _this._calc(false);
+          });
+          _this._events(id.split('-').reverse().join('-'));
+        });
+      }
+
+      /**
+       * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_parsePoints',
+      value: function _parsePoints() {
+        var top = this.options.topAnchor == "" ? 1 : this.options.topAnchor,
+            btm = this.options.btmAnchor == "" ? document.documentElement.scrollHeight : this.options.btmAnchor,
+            pts = [top, btm],
+            breaks = {};
+        for (var i = 0, len = pts.length; i < len && pts[i]; i++) {
+          var pt;
+          if (typeof pts[i] === 'number') {
+            pt = pts[i];
+          } else {
+            var place = pts[i].split(':'),
+                anchor = $('#' + place[0]);
+
+            pt = anchor.offset().top;
+            if (place[1] && place[1].toLowerCase() === 'bottom') {
+              pt += anchor[0].getBoundingClientRect().height;
+            }
+          }
+          breaks[i] = pt;
+        }
+
+        this.points = breaks;
+        return;
+      }
+
+      /**
+       * Adds event handlers for the scrolling element.
+       * @private
+       * @param {String} id - psuedo-random id for unique scroll event listener.
+       */
+
+    }, {
+      key: '_events',
+      value: function _events(id) {
+        var _this = this,
+            scrollListener = this.scrollListener = 'scroll.zf.' + id;
+        if (this.isOn) {
+          return;
+        }
+        if (this.canStick) {
+          this.isOn = true;
+          $(window).off(scrollListener).on(scrollListener, function (e) {
+            if (_this.scrollCount === 0) {
+              _this.scrollCount = _this.options.checkEvery;
+              _this._setSizes(function () {
+                _this._calc(false, window.pageYOffset);
+              });
+            } else {
+              _this.scrollCount--;
+              _this._calc(false, window.pageYOffset);
+            }
+          });
+        }
+
+        this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function (e, el) {
+          _this._setSizes(function () {
+            _this._calc(false);
+            if (_this.canStick) {
+              if (!_this.isOn) {
+                _this._events(id);
+              }
+            } else if (_this.isOn) {
+              _this._pauseListeners(scrollListener);
+            }
+          });
+        });
+      }
+
+      /**
+       * Removes event handlers for scroll and change events on anchor.
+       * @fires Sticky#pause
+       * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`
+       */
+
+    }, {
+      key: '_pauseListeners',
+      value: function _pauseListeners(scrollListener) {
+        this.isOn = false;
+        $(window).off(scrollListener);
+
+        /**
+         * Fires when the plugin is paused due to resize event shrinking the view.
+         * @event Sticky#pause
+         * @private
+         */
+        this.$element.trigger('pause.zf.sticky');
+      }
+
+      /**
+       * Called on every `scroll` event and on `_init`
+       * fires functions based on booleans and cached values
+       * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.
+       * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.
+       */
+
+    }, {
+      key: '_calc',
+      value: function _calc(checkSizes, scroll) {
+        if (checkSizes) {
+          this._setSizes();
+        }
+
+        if (!this.canStick) {
+          if (this.isStuck) {
+            this._removeSticky(true);
+          }
+          return false;
+        }
+
+        if (!scroll) {
+          scroll = window.pageYOffset;
+        }
+
+        if (scroll >= this.topPoint) {
+          if (scroll <= this.bottomPoint) {
+            if (!this.isStuck) {
+              this._setSticky();
+            }
+          } else {
+            if (this.isStuck) {
+              this._removeSticky(false);
+            }
+          }
+        } else {
+          if (this.isStuck) {
+            this._removeSticky(true);
+          }
+        }
+      }
+
+      /**
+       * Causes the $element to become stuck.
+       * Adds `position: fixed;`, and helper classes.
+       * @fires Sticky#stuckto
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_setSticky',
+      value: function _setSticky() {
+        var _this = this,
+            stickTo = this.options.stickTo,
+            mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',
+            notStuckTo = stickTo === 'top' ? 'bottom' : 'top',
+            css = {};
+
+        css[mrgn] = this.options[mrgn] + 'em';
+        css[stickTo] = 0;
+        css[notStuckTo] = 'auto';
+        css['left'] = this.$container.offset().left + parseInt(window.getComputedStyle(this.$container[0])["padding-left"], 10);
+        this.isStuck = true;
+        this.$element.removeClass('is-anchored is-at-' + notStuckTo).addClass('is-stuck is-at-' + stickTo).css(css)
+        /**
+         * Fires when the $element has become `position: fixed;`
+         * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`
+         * @event Sticky#stuckto
+         */
+        .trigger('sticky.zf.stuckto:' + stickTo);
+        this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd", function () {
+          _this._setSizes();
+        });
+      }
+
+      /**
+       * Causes the $element to become unstuck.
+       * Removes `position: fixed;`, and helper classes.
+       * Adds other helper classes.
+       * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.
+       * @fires Sticky#unstuckfrom
+       * @private
+       */
+
+    }, {
+      key: '_removeSticky',
+      value: function _removeSticky(isTop) {
+        var stickTo = this.options.stickTo,
+            stickToTop = stickTo === 'top',
+            css = {},
+            anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,
+            mrgn = stickToTop ? 'marginTop' : 'marginBottom',
+            notStuckTo = stickToTop ? 'bottom' : 'top',
+            topOrBottom = isTop ? 'top' : 'bottom';
+
+        css[mrgn] = 0;
+
+        css['bottom'] = 'auto';
+        if (isTop) {
+          css['top'] = 0;
+        } else {
+          css['top'] = anchorPt;
+        }
+
+        css['left'] = '';
+        this.isStuck = false;
+        this.$element.removeClass('is-stuck is-at-' + stickTo).addClass('is-anchored is-at-' + topOrBottom).css(css)
+        /**
+         * Fires when the $element has become anchored.
+         * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`
+         * @event Sticky#unstuckfrom
+         */
+        .trigger('sticky.zf.unstuckfrom:' + topOrBottom);
+      }
+
+      /**
+       * Sets the $element and $container sizes for plugin.
+       * Calls `_setBreakPoints`.
+       * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.
+       * @private
+       */
+
+    }, {
+      key: '_setSizes',
+      value: function _setSizes(cb) {
+        this.canStick = Foundation.MediaQuery.atLeast(this.options.stickyOn);
+        if (!this.canStick) {
+          cb();
+        }
+        var _this = this,
+            newElemWidth = this.$container[0].getBoundingClientRect().width,
+            comp = window.getComputedStyle(this.$container[0]),
+            pdng = parseInt(comp['padding-right'], 10);
+
+        if (this.$anchor && this.$anchor.length) {
+          this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;
+        } else {
+          this._parsePoints();
+        }
+
+        this.$element.css({
+          'max-width': newElemWidth - pdng + 'px'
+        });
+
+        var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;
+        if (this.$element.css("display") == "none") {
+          newContainerHeight = 0;
+        }
+        this.containerHeight = newContainerHeight;
+        this.$container.css({
+          height: newContainerHeight
+        });
+        this.elemHeight = newContainerHeight;
+
+        if (this.isStuck) {
+          this.$element.css({ "left": this.$container.offset().left + parseInt(comp['padding-left'], 10) });
+        }
+
+        this._setBreakPoints(newContainerHeight, function () {
+          if (cb) {
+            cb();
+          }
+        });
+      }
+
+      /**
+       * Sets the upper and lower breakpoints for the element to become sticky/unsticky.
+       * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.
+       * @param {Function} cb - optional callback function to be called on completion.
+       * @private
+       */
+
+    }, {
+      key: '_setBreakPoints',
+      value: function _setBreakPoints(elemHeight, cb) {
+        if (!this.canStick) {
+          if (cb) {
+            cb();
+          } else {
+            return false;
+          }
+        }
+        var mTop = emCalc(this.options.marginTop),
+            mBtm = emCalc(this.options.marginBottom),
+            topPoint = this.points ? this.points[0] : this.$anchor.offset().top,
+            bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,
+
+        // topPoint = this.$anchor.offset().top || this.points[0],
+        // bottomPoint = topPoint + this.anchorHeight || this.points[1],
+        winHeight = window.innerHeight;
+
+        if (this.options.stickTo === 'top') {
+          topPoint -= mTop;
+          bottomPoint -= elemHeight + mTop;
+        } else if (this.options.stickTo === 'bottom') {
+          topPoint -= winHeight - (elemHeight + mBtm);
+          bottomPoint -= winHeight - mBtm;
+        } else {
+          //this would be the stickTo: both option... tricky
+        }
+
+        this.topPoint = topPoint;
+        this.bottomPoint = bottomPoint;
+
+        if (cb) {
+          cb();
+        }
+      }
+
+      /**
+       * Destroys the current sticky element.
+       * Resets the element to the top position first.
+       * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this._removeSticky(true);
+
+        this.$element.removeClass(this.options.stickyClass + ' is-anchored is-at-top').css({
+          height: '',
+          top: '',
+          bottom: '',
+          'max-width': ''
+        }).off('resizeme.zf.trigger');
+        if (this.$anchor && this.$anchor.length) {
+          this.$anchor.off('change.zf.sticky');
+        }
+        $(window).off(this.scrollListener);
+
+        if (this.wasWrapped) {
+          this.$element.unwrap();
+        } else {
+          this.$container.removeClass(this.options.containerClass).css({
+            height: ''
+          });
+        }
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Sticky;
+  }();
+
+  Sticky.defaults = {
+    /**
+     * Customizable container template. Add your own classes for styling and sizing.
+     * @option
+     * @example '&lt;div data-sticky-container class="small-6 columns"&gt;&lt;/div&gt;'
+     */
+    container: '<div data-sticky-container></div>',
+    /**
+     * Location in the view the element sticks to.
+     * @option
+     * @example 'top'
+     */
+    stickTo: 'top',
+    /**
+     * If anchored to a single element, the id of that element.
+     * @option
+     * @example 'exampleId'
+     */
+    anchor: '',
+    /**
+     * If using more than one element as anchor points, the id of the top anchor.
+     * @option
+     * @example 'exampleId:top'
+     */
+    topAnchor: '',
+    /**
+     * If using more than one element as anchor points, the id of the bottom anchor.
+     * @option
+     * @example 'exampleId:bottom'
+     */
+    btmAnchor: '',
+    /**
+     * Margin, in `em`'s to apply to the top of the element when it becomes sticky.
+     * @option
+     * @example 1
+     */
+    marginTop: 1,
+    /**
+     * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.
+     * @option
+     * @example 1
+     */
+    marginBottom: 1,
+    /**
+     * Breakpoint string that is the minimum screen size an element should become sticky.
+     * @option
+     * @example 'medium'
+     */
+    stickyOn: 'medium',
+    /**
+     * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.
+     * @option
+     * @example 'sticky'
+     */
+    stickyClass: 'sticky',
+    /**
+     * Class applied to sticky container. Foundation defaults to `sticky-container`.
+     * @option
+     * @example 'sticky-container'
+     */
+    containerClass: 'sticky-container',
+    /**
+     * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.
+     * @option
+     * @example 50
+     */
+    checkEvery: -1
+  };
+
+  /**
+   * Helper function to calculate em values
+   * @param Number {em} - number of em's to calculate into pixels
+   */
+  function emCalc(em) {
+    return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;
+  }
+
+  // Window exports
+  Foundation.plugin(Sticky, 'Sticky');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.tabs.js b/libraries/foundation-6/js/plugins/foundation.tabs.js
new file mode 100755
index 00000000..47e25b5e
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.tabs.js
@@ -0,0 +1,348 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Tabs module.
+   * @module foundation.tabs
+   * @requires foundation.util.keyboard
+   * @requires foundation.util.timerAndImageLoader if tabs contain images
+   */
+
+  var Tabs = function () {
+    /**
+     * Creates a new instance of tabs.
+     * @class
+     * @fires Tabs#init
+     * @param {jQuery} element - jQuery object to make into tabs.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Tabs(element, options) {
+      _classCallCheck(this, Tabs);
+
+      this.$element = element;
+      this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);
+
+      this._init();
+      Foundation.registerPlugin(this, 'Tabs');
+      Foundation.Keyboard.register('Tabs', {
+        'ENTER': 'open',
+        'SPACE': 'open',
+        'ARROW_RIGHT': 'next',
+        'ARROW_UP': 'previous',
+        'ARROW_DOWN': 'next',
+        'ARROW_LEFT': 'previous'
+        // 'TAB': 'next',
+        // 'SHIFT_TAB': 'previous'
+      });
+    }
+
+    /**
+     * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.
+     * @private
+     */
+
+
+    _createClass(Tabs, [{
+      key: '_init',
+      value: function _init() {
+        var _this = this;
+
+        this.$tabTitles = this.$element.find('.' + this.options.linkClass);
+        this.$tabContent = $('[data-tabs-content="' + this.$element[0].id + '"]');
+
+        this.$tabTitles.each(function () {
+          var $elem = $(this),
+              $link = $elem.find('a'),
+              isActive = $elem.hasClass('is-active'),
+              hash = $link[0].hash.slice(1),
+              linkId = $link[0].id ? $link[0].id : hash + '-label',
+              $tabContent = $('#' + hash);
+
+          $elem.attr({ 'role': 'presentation' });
+
+          $link.attr({
+            'role': 'tab',
+            'aria-controls': hash,
+            'aria-selected': isActive,
+            'id': linkId
+          });
+
+          $tabContent.attr({
+            'role': 'tabpanel',
+            'aria-hidden': !isActive,
+            'aria-labelledby': linkId
+          });
+
+          if (isActive && _this.options.autoFocus) {
+            $link.focus();
+          }
+        });
+
+        if (this.options.matchHeight) {
+          var $images = this.$tabContent.find('img');
+
+          if ($images.length) {
+            Foundation.onImagesLoaded($images, this._setHeight.bind(this));
+          } else {
+            this._setHeight();
+          }
+        }
+
+        this._events();
+      }
+
+      /**
+       * Adds event handlers for items within the tabs.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        this._addKeyHandler();
+        this._addClickHandler();
+        this._setHeightMqHandler = null;
+
+        if (this.options.matchHeight) {
+          this._setHeightMqHandler = this._setHeight.bind(this);
+
+          $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);
+        }
+      }
+
+      /**
+       * Adds click handlers for items within the tabs.
+       * @private
+       */
+
+    }, {
+      key: '_addClickHandler',
+      value: function _addClickHandler() {
+        var _this = this;
+
+        this.$element.off('click.zf.tabs').on('click.zf.tabs', '.' + this.options.linkClass, function (e) {
+          e.preventDefault();
+          e.stopPropagation();
+          if ($(this).hasClass('is-active')) {
+            return;
+          }
+          _this._handleTabChange($(this));
+        });
+      }
+
+      /**
+       * Adds keyboard event handlers for items within the tabs.
+       * @private
+       */
+
+    }, {
+      key: '_addKeyHandler',
+      value: function _addKeyHandler() {
+        var _this = this;
+        var $firstTab = _this.$element.find('li:first-of-type');
+        var $lastTab = _this.$element.find('li:last-of-type');
+
+        this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function (e) {
+          if (e.which === 9) return;
+
+          var $element = $(this),
+              $elements = $element.parent('ul').children('li'),
+              $prevElement,
+              $nextElement;
+
+          $elements.each(function (i) {
+            if ($(this).is($element)) {
+              if (_this.options.wrapOnKeys) {
+                $prevElement = i === 0 ? $elements.last() : $elements.eq(i - 1);
+                $nextElement = i === $elements.length - 1 ? $elements.first() : $elements.eq(i + 1);
+              } else {
+                $prevElement = $elements.eq(Math.max(0, i - 1));
+                $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1));
+              }
+              return;
+            }
+          });
+
+          // handle keyboard event with keyboard util
+          Foundation.Keyboard.handleKey(e, 'Tabs', {
+            open: function () {
+              $element.find('[role="tab"]').focus();
+              _this._handleTabChange($element);
+            },
+            previous: function () {
+              $prevElement.find('[role="tab"]').focus();
+              _this._handleTabChange($prevElement);
+            },
+            next: function () {
+              $nextElement.find('[role="tab"]').focus();
+              _this._handleTabChange($nextElement);
+            },
+            handled: function () {
+              e.stopPropagation();
+              e.preventDefault();
+            }
+          });
+        });
+      }
+
+      /**
+       * Opens the tab `$targetContent` defined by `$target`.
+       * @param {jQuery} $target - Tab to open.
+       * @fires Tabs#change
+       * @function
+       */
+
+    }, {
+      key: '_handleTabChange',
+      value: function _handleTabChange($target) {
+        var $tabLink = $target.find('[role="tab"]'),
+            hash = $tabLink[0].hash,
+            $targetContent = this.$tabContent.find(hash),
+            $oldTab = this.$element.find('.' + this.options.linkClass + '.is-active').removeClass('is-active').find('[role="tab"]').attr({ 'aria-selected': 'false' });
+
+        $('#' + $oldTab.attr('aria-controls')).removeClass('is-active').attr({ 'aria-hidden': 'true' });
+
+        $target.addClass('is-active');
+
+        $tabLink.attr({ 'aria-selected': 'true' });
+
+        $targetContent.addClass('is-active').attr({ 'aria-hidden': 'false' });
+
+        /**
+         * Fires when the plugin has successfully changed tabs.
+         * @event Tabs#change
+         */
+        this.$element.trigger('change.zf.tabs', [$target]);
+      }
+
+      /**
+       * Public method for selecting a content pane to display.
+       * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.
+       * @function
+       */
+
+    }, {
+      key: 'selectTab',
+      value: function selectTab(elem) {
+        var idStr;
+
+        if (typeof elem === 'object') {
+          idStr = elem[0].id;
+        } else {
+          idStr = elem;
+        }
+
+        if (idStr.indexOf('#') < 0) {
+          idStr = '#' + idStr;
+        }
+
+        var $target = this.$tabTitles.find('[href="' + idStr + '"]').parent('.' + this.options.linkClass);
+
+        this._handleTabChange($target);
+      }
+    }, {
+      key: '_setHeight',
+
+      /**
+       * Sets the height of each panel to the height of the tallest panel.
+       * If enabled in options, gets called on media query change.
+       * If loading content via external source, can be called directly or with _reflow.
+       * @function
+       * @private
+       */
+      value: function _setHeight() {
+        var max = 0;
+        this.$tabContent.find('.' + this.options.panelClass).css('height', '').each(function () {
+          var panel = $(this),
+              isActive = panel.hasClass('is-active');
+
+          if (!isActive) {
+            panel.css({ 'visibility': 'hidden', 'display': 'block' });
+          }
+
+          var temp = this.getBoundingClientRect().height;
+
+          if (!isActive) {
+            panel.css({
+              'visibility': '',
+              'display': ''
+            });
+          }
+
+          max = temp > max ? temp : max;
+        }).css('height', max + 'px');
+      }
+
+      /**
+       * Destroys an instance of an tabs.
+       * @fires Tabs#destroyed
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.find('.' + this.options.linkClass).off('.zf.tabs').hide().end().find('.' + this.options.panelClass).hide();
+
+        if (this.options.matchHeight) {
+          if (this._setHeightMqHandler != null) {
+            $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);
+          }
+        }
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Tabs;
+  }();
+
+  Tabs.defaults = {
+    /**
+     * Allows the window to scroll to content of active pane on load if set to true.
+     * @option
+     * @example false
+     */
+    autoFocus: false,
+
+    /**
+     * Allows keyboard input to 'wrap' around the tab links.
+     * @option
+     * @example true
+     */
+    wrapOnKeys: true,
+
+    /**
+     * Allows the tab content panes to match heights if set to true.
+     * @option
+     * @example false
+     */
+    matchHeight: false,
+
+    /**
+     * Class applied to `li`'s in tab link list.
+     * @option
+     * @example 'tabs-title'
+     */
+    linkClass: 'tabs-title',
+
+    /**
+     * Class applied to the content containers.
+     * @option
+     * @example 'tabs-panel'
+     */
+    panelClass: 'tabs-panel'
+  };
+
+  function checkClass($elem) {
+    return $elem.hasClass('is-active');
+  }
+
+  // Window exports
+  Foundation.plugin(Tabs, 'Tabs');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.toggler.js b/libraries/foundation-6/js/plugins/foundation.toggler.js
new file mode 100755
index 00000000..3e73b8d6
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.toggler.js
@@ -0,0 +1,166 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Toggler module.
+   * @module foundation.toggler
+   * @requires foundation.util.motion
+   * @requires foundation.util.triggers
+   */
+
+  var Toggler = function () {
+    /**
+     * Creates a new instance of Toggler.
+     * @class
+     * @fires Toggler#init
+     * @param {Object} element - jQuery object to add the trigger to.
+     * @param {Object} options - Overrides to the default plugin settings.
+     */
+
+    function Toggler(element, options) {
+      _classCallCheck(this, Toggler);
+
+      this.$element = element;
+      this.options = $.extend({}, Toggler.defaults, element.data(), options);
+      this.className = '';
+
+      this._init();
+      this._events();
+
+      Foundation.registerPlugin(this, 'Toggler');
+    }
+
+    /**
+     * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.
+     * @function
+     * @private
+     */
+
+
+    _createClass(Toggler, [{
+      key: '_init',
+      value: function _init() {
+        var input;
+        // Parse animation classes if they were set
+        if (this.options.animate) {
+          input = this.options.animate.split(' ');
+
+          this.animationIn = input[0];
+          this.animationOut = input[1] || null;
+        }
+        // Otherwise, parse toggle class
+        else {
+            input = this.$element.data('toggler');
+            // Allow for a . at the beginning of the string
+            this.className = input[0] === '.' ? input.slice(1) : input;
+          }
+
+        // Add ARIA attributes to triggers
+        var id = this.$element[0].id;
+        $('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr('aria-controls', id);
+        // If the target is hidden, add aria-hidden
+        this.$element.attr('aria-expanded', this.$element.is(':hidden') ? false : true);
+      }
+
+      /**
+       * Initializes events for the toggle trigger.
+       * @function
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));
+      }
+
+      /**
+       * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was "on" or "off".
+       * @function
+       * @fires Toggler#on
+       * @fires Toggler#off
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle() {
+        this[this.options.animate ? '_toggleAnimate' : '_toggleClass']();
+      }
+    }, {
+      key: '_toggleClass',
+      value: function _toggleClass() {
+        this.$element.toggleClass(this.className);
+
+        var isOn = this.$element.hasClass(this.className);
+        if (isOn) {
+          /**
+           * Fires if the target element has the class after a toggle.
+           * @event Toggler#on
+           */
+          this.$element.trigger('on.zf.toggler');
+        } else {
+          /**
+           * Fires if the target element does not have the class after a toggle.
+           * @event Toggler#off
+           */
+          this.$element.trigger('off.zf.toggler');
+        }
+
+        this._updateARIA(isOn);
+      }
+    }, {
+      key: '_toggleAnimate',
+      value: function _toggleAnimate() {
+        var _this = this;
+
+        if (this.$element.is(':hidden')) {
+          Foundation.Motion.animateIn(this.$element, this.animationIn, function () {
+            _this._updateARIA(true);
+            this.trigger('on.zf.toggler');
+          });
+        } else {
+          Foundation.Motion.animateOut(this.$element, this.animationOut, function () {
+            _this._updateARIA(false);
+            this.trigger('off.zf.toggler');
+          });
+        }
+      }
+    }, {
+      key: '_updateARIA',
+      value: function _updateARIA(isOn) {
+        this.$element.attr('aria-expanded', isOn ? true : false);
+      }
+
+      /**
+       * Destroys the instance of Toggler on the element.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.off('.zf.toggler');
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Toggler;
+  }();
+
+  Toggler.defaults = {
+    /**
+     * Tells the plugin if the element should animated when toggled.
+     * @option
+     * @example false
+     */
+    animate: false
+  };
+
+  // Window exports
+  Foundation.plugin(Toggler, 'Toggler');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.tooltip.js b/libraries/foundation-6/js/plugins/foundation.tooltip.js
new file mode 100755
index 00000000..a02bd5ab
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.tooltip.js
@@ -0,0 +1,468 @@
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+  /**
+   * Tooltip module.
+   * @module foundation.tooltip
+   * @requires foundation.util.box
+   * @requires foundation.util.triggers
+   */
+
+  var Tooltip = function () {
+    /**
+     * Creates a new instance of a Tooltip.
+     * @class
+     * @fires Tooltip#init
+     * @param {jQuery} element - jQuery object to attach a tooltip to.
+     * @param {Object} options - object to extend the default configuration.
+     */
+
+    function Tooltip(element, options) {
+      _classCallCheck(this, Tooltip);
+
+      this.$element = element;
+      this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);
+
+      this.isActive = false;
+      this.isClick = false;
+      this._init();
+
+      Foundation.registerPlugin(this, 'Tooltip');
+    }
+
+    /**
+     * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.
+     * @private
+     */
+
+
+    _createClass(Tooltip, [{
+      key: '_init',
+      value: function _init() {
+        var elemId = this.$element.attr('aria-describedby') || Foundation.GetYoDigits(6, 'tooltip');
+
+        this.options.positionClass = this.options.positionClass || this._getPositionClass(this.$element);
+        this.options.tipText = this.options.tipText || this.$element.attr('title');
+        this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId);
+
+        this.template.appendTo(document.body).text(this.options.tipText).hide();
+
+        this.$element.attr({
+          'title': '',
+          'aria-describedby': elemId,
+          'data-yeti-box': elemId,
+          'data-toggle': elemId,
+          'data-resize': elemId
+        }).addClass(this.triggerClass);
+
+        //helper variables to track movement on collisions
+        this.usedPositions = [];
+        this.counter = 4;
+        this.classChanged = false;
+
+        this._events();
+      }
+
+      /**
+       * Grabs the current positioning class, if present, and returns the value or an empty string.
+       * @private
+       */
+
+    }, {
+      key: '_getPositionClass',
+      value: function _getPositionClass(element) {
+        if (!element) {
+          return '';
+        }
+        // var position = element.attr('class').match(/top|left|right/g);
+        var position = element[0].className.match(/\b(top|left|right)\b/g);
+        position = position ? position[0] : '';
+        return position;
+      }
+    }, {
+      key: '_buildTemplate',
+
+      /**
+       * builds the tooltip element, adds attributes, and returns the template.
+       * @private
+       */
+      value: function _buildTemplate(id) {
+        var templateClasses = (this.options.tooltipClass + ' ' + this.options.positionClass + ' ' + this.options.templateClasses).trim();
+        var $template = $('<div></div>').addClass(templateClasses).attr({
+          'role': 'tooltip',
+          'aria-hidden': true,
+          'data-is-active': false,
+          'data-is-focus': false,
+          'id': id
+        });
+        return $template;
+      }
+
+      /**
+       * Function that gets called if a collision event is detected.
+       * @param {String} position - positioning class to try
+       * @private
+       */
+
+    }, {
+      key: '_reposition',
+      value: function _reposition(position) {
+        this.usedPositions.push(position ? position : 'bottom');
+
+        //default, try switching to opposite side
+        if (!position && this.usedPositions.indexOf('top') < 0) {
+          this.template.addClass('top');
+        } else if (position === 'top' && this.usedPositions.indexOf('bottom') < 0) {
+          this.template.removeClass(position);
+        } else if (position === 'left' && this.usedPositions.indexOf('right') < 0) {
+          this.template.removeClass(position).addClass('right');
+        } else if (position === 'right' && this.usedPositions.indexOf('left') < 0) {
+          this.template.removeClass(position).addClass('left');
+        }
+
+        //if default change didn't work, try bottom or left first
+        else if (!position && this.usedPositions.indexOf('top') > -1 && this.usedPositions.indexOf('left') < 0) {
+            this.template.addClass('left');
+          } else if (position === 'top' && this.usedPositions.indexOf('bottom') > -1 && this.usedPositions.indexOf('left') < 0) {
+            this.template.removeClass(position).addClass('left');
+          } else if (position === 'left' && this.usedPositions.indexOf('right') > -1 && this.usedPositions.indexOf('bottom') < 0) {
+            this.template.removeClass(position);
+          } else if (position === 'right' && this.usedPositions.indexOf('left') > -1 && this.usedPositions.indexOf('bottom') < 0) {
+            this.template.removeClass(position);
+          }
+          //if nothing cleared, set to bottom
+          else {
+              this.template.removeClass(position);
+            }
+        this.classChanged = true;
+        this.counter--;
+      }
+
+      /**
+       * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.
+       * if the tooltip is larger than the screen width, default to full width - any user selected margin
+       * @private
+       */
+
+    }, {
+      key: '_setPosition',
+      value: function _setPosition() {
+        var position = this._getPositionClass(this.template),
+            $tipDims = Foundation.Box.GetDimensions(this.template),
+            $anchorDims = Foundation.Box.GetDimensions(this.$element),
+            direction = position === 'left' ? 'left' : position === 'right' ? 'left' : 'top',
+            param = direction === 'top' ? 'height' : 'width',
+            offset = param === 'height' ? this.options.vOffset : this.options.hOffset,
+            _this = this;
+
+        if ($tipDims.width >= $tipDims.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.template)) {
+          this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({
+            // this.$element.offset(Foundation.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({
+            'width': $anchorDims.windowDims.width - this.options.hOffset * 2,
+            'height': 'auto'
+          });
+          return false;
+        }
+
+        this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, 'center ' + (position || 'bottom'), this.options.vOffset, this.options.hOffset));
+
+        while (!Foundation.Box.ImNotTouchingYou(this.template) && this.counter) {
+          this._reposition(position);
+          this._setPosition();
+        }
+      }
+
+      /**
+       * reveals the tooltip, and fires an event to close any other open tooltips on the page
+       * @fires Tooltip#closeme
+       * @fires Tooltip#show
+       * @function
+       */
+
+    }, {
+      key: 'show',
+      value: function show() {
+        if (this.options.showOn !== 'all' && !Foundation.MediaQuery.atLeast(this.options.showOn)) {
+          // console.error('The screen is too small to display this tooltip');
+          return false;
+        }
+
+        var _this = this;
+        this.template.css('visibility', 'hidden').show();
+        this._setPosition();
+
+        /**
+         * Fires to close all other open tooltips on the page
+         * @event Closeme#tooltip
+         */
+        this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));
+
+        this.template.attr({
+          'data-is-active': true,
+          'aria-hidden': false
+        });
+        _this.isActive = true;
+        // console.log(this.template);
+        this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function () {
+          //maybe do stuff?
+        });
+        /**
+         * Fires when the tooltip is shown
+         * @event Tooltip#show
+         */
+        this.$element.trigger('show.zf.tooltip');
+      }
+
+      /**
+       * Hides the current tooltip, and resets the positioning class if it was changed due to collision
+       * @fires Tooltip#hide
+       * @function
+       */
+
+    }, {
+      key: 'hide',
+      value: function hide() {
+        // console.log('hiding', this.$element.data('yeti-box'));
+        var _this = this;
+        this.template.stop().attr({
+          'aria-hidden': true,
+          'data-is-active': false
+        }).fadeOut(this.options.fadeOutDuration, function () {
+          _this.isActive = false;
+          _this.isClick = false;
+          if (_this.classChanged) {
+            _this.template.removeClass(_this._getPositionClass(_this.template)).addClass(_this.options.positionClass);
+
+            _this.usedPositions = [];
+            _this.counter = 4;
+            _this.classChanged = false;
+          }
+        });
+        /**
+         * fires when the tooltip is hidden
+         * @event Tooltip#hide
+         */
+        this.$element.trigger('hide.zf.tooltip');
+      }
+
+      /**
+       * adds event listeners for the tooltip and its anchor
+       * TODO combine some of the listeners like focus and mouseenter, etc.
+       * @private
+       */
+
+    }, {
+      key: '_events',
+      value: function _events() {
+        var _this = this;
+        var $template = this.template;
+        var isFocus = false;
+
+        if (!this.options.disableHover) {
+
+          this.$element.on('mouseenter.zf.tooltip', function (e) {
+            if (!_this.isActive) {
+              _this.timeout = setTimeout(function () {
+                _this.show();
+              }, _this.options.hoverDelay);
+            }
+          }).on('mouseleave.zf.tooltip', function (e) {
+            clearTimeout(_this.timeout);
+            if (!isFocus || _this.isClick && !_this.options.clickOpen) {
+              _this.hide();
+            }
+          });
+        }
+
+        if (this.options.clickOpen) {
+          this.$element.on('mousedown.zf.tooltip', function (e) {
+            e.stopImmediatePropagation();
+            if (_this.isClick) {
+              //_this.hide();
+              // _this.isClick = false;
+            } else {
+                _this.isClick = true;
+                if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {
+                  _this.show();
+                }
+              }
+          });
+        } else {
+          this.$element.on('mousedown.zf.tooltip', function (e) {
+            e.stopImmediatePropagation();
+            _this.isClick = true;
+          });
+        }
+
+        if (!this.options.disableForTouch) {
+          this.$element.on('tap.zf.tooltip touchend.zf.tooltip', function (e) {
+            _this.isActive ? _this.hide() : _this.show();
+          });
+        }
+
+        this.$element.on({
+          // 'toggle.zf.trigger': this.toggle.bind(this),
+          // 'close.zf.trigger': this.hide.bind(this)
+          'close.zf.trigger': this.hide.bind(this)
+        });
+
+        this.$element.on('focus.zf.tooltip', function (e) {
+          isFocus = true;
+          if (_this.isClick) {
+            // If we're not showing open on clicks, we need to pretend a click-launched focus isn't
+            // a real focus, otherwise on hover and come back we get bad behavior
+            if (!_this.options.clickOpen) {
+              isFocus = false;
+            }
+            return false;
+          } else {
+            _this.show();
+          }
+        }).on('focusout.zf.tooltip', function (e) {
+          isFocus = false;
+          _this.isClick = false;
+          _this.hide();
+        }).on('resizeme.zf.trigger', function () {
+          if (_this.isActive) {
+            _this._setPosition();
+          }
+        });
+      }
+
+      /**
+       * adds a toggle method, in addition to the static show() & hide() functions
+       * @function
+       */
+
+    }, {
+      key: 'toggle',
+      value: function toggle() {
+        if (this.isActive) {
+          this.hide();
+        } else {
+          this.show();
+        }
+      }
+
+      /**
+       * Destroys an instance of tooltip, removes template element from the view.
+       * @function
+       */
+
+    }, {
+      key: 'destroy',
+      value: function destroy() {
+        this.$element.attr('title', this.template.text()).off('.zf.trigger .zf.tootip')
+        //  .removeClass('has-tip')
+        .removeAttr('aria-describedby').removeAttr('data-yeti-box').removeAttr('data-toggle').removeAttr('data-resize');
+
+        this.template.remove();
+
+        Foundation.unregisterPlugin(this);
+      }
+    }]);
+
+    return Tooltip;
+  }();
+
+  Tooltip.defaults = {
+    disableForTouch: false,
+    /**
+     * Time, in ms, before a tooltip should open on hover.
+     * @option
+     * @example 200
+     */
+    hoverDelay: 200,
+    /**
+     * Time, in ms, a tooltip should take to fade into view.
+     * @option
+     * @example 150
+     */
+    fadeInDuration: 150,
+    /**
+     * Time, in ms, a tooltip should take to fade out of view.
+     * @option
+     * @example 150
+     */
+    fadeOutDuration: 150,
+    /**
+     * Disables hover events from opening the tooltip if set to true
+     * @option
+     * @example false
+     */
+    disableHover: false,
+    /**
+     * Optional addtional classes to apply to the tooltip template on init.
+     * @option
+     * @example 'my-cool-tip-class'
+     */
+    templateClasses: '',
+    /**
+     * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.
+     * @option
+     * @example 'tooltip'
+     */
+    tooltipClass: 'tooltip',
+    /**
+     * Class applied to the tooltip anchor element.
+     * @option
+     * @example 'has-tip'
+     */
+    triggerClass: 'has-tip',
+    /**
+     * Minimum breakpoint size at which to open the tooltip.
+     * @option
+     * @example 'small'
+     */
+    showOn: 'small',
+    /**
+     * Custom template to be used to generate markup for tooltip.
+     * @option
+     * @example '&lt;div class="tooltip"&gt;&lt;/div&gt;'
+     */
+    template: '',
+    /**
+     * Text displayed in the tooltip template on open.
+     * @option
+     * @example 'Some cool space fact here.'
+     */
+    tipText: '',
+    touchCloseText: 'Tap to close.',
+    /**
+     * Allows the tooltip to remain open if triggered with a click or touch event.
+     * @option
+     * @example true
+     */
+    clickOpen: true,
+    /**
+     * Additional positioning classes, set by the JS
+     * @option
+     * @example 'top'
+     */
+    positionClass: '',
+    /**
+     * Distance, in pixels, the template should push away from the anchor on the Y axis.
+     * @option
+     * @example 10
+     */
+    vOffset: 10,
+    /**
+     * Distance, in pixels, the template should push away from the anchor on the X axis, if aligned to a side.
+     * @option
+     * @example 12
+     */
+    hOffset: 12
+  };
+
+  /**
+   * TODO utilize resize event trigger
+   */
+
+  // Window exports
+  Foundation.plugin(Tooltip, 'Tooltip');
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.util.box.js b/libraries/foundation-6/js/plugins/foundation.util.box.js
new file mode 100755
index 00000000..b3ff90ee
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.util.box.js
@@ -0,0 +1,196 @@
+'use strict';
+
+!function ($) {
+
+  Foundation.Box = {
+    ImNotTouchingYou: ImNotTouchingYou,
+    GetDimensions: GetDimensions,
+    GetOffsets: GetOffsets
+  };
+
+  /**
+   * Compares the dimensions of an element to a container and determines collision events with container.
+   * @function
+   * @param {jQuery} element - jQuery object to test for collisions.
+   * @param {jQuery} parent - jQuery object to use as bounding container.
+   * @param {Boolean} lrOnly - set to true to check left and right values only.
+   * @param {Boolean} tbOnly - set to true to check top and bottom values only.
+   * @default if no parent object passed, detects collisions with `window`.
+   * @returns {Boolean} - true if collision free, false if a collision in any direction.
+   */
+  function ImNotTouchingYou(element, parent, lrOnly, tbOnly) {
+    var eleDims = GetDimensions(element),
+        top,
+        bottom,
+        left,
+        right;
+
+    if (parent) {
+      var parDims = GetDimensions(parent);
+
+      bottom = eleDims.offset.top + eleDims.height <= parDims.height + parDims.offset.top;
+      top = eleDims.offset.top >= parDims.offset.top;
+      left = eleDims.offset.left >= parDims.offset.left;
+      right = eleDims.offset.left + eleDims.width <= parDims.width + parDims.offset.left;
+    } else {
+      bottom = eleDims.offset.top + eleDims.height <= eleDims.windowDims.height + eleDims.windowDims.offset.top;
+      top = eleDims.offset.top >= eleDims.windowDims.offset.top;
+      left = eleDims.offset.left >= eleDims.windowDims.offset.left;
+      right = eleDims.offset.left + eleDims.width <= eleDims.windowDims.width;
+    }
+
+    var allDirs = [bottom, top, left, right];
+
+    if (lrOnly) {
+      return left === right === true;
+    }
+
+    if (tbOnly) {
+      return top === bottom === true;
+    }
+
+    return allDirs.indexOf(false) === -1;
+  };
+
+  /**
+   * Uses native methods to return an object of dimension values.
+   * @function
+   * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.
+   * @returns {Object} - nested object of integer pixel values
+   * TODO - if element is window, return only those values.
+   */
+  function GetDimensions(elem, test) {
+    elem = elem.length ? elem[0] : elem;
+
+    if (elem === window || elem === document) {
+      throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");
+    }
+
+    var rect = elem.getBoundingClientRect(),
+        parRect = elem.parentNode.getBoundingClientRect(),
+        winRect = document.body.getBoundingClientRect(),
+        winY = window.pageYOffset,
+        winX = window.pageXOffset;
+
+    return {
+      width: rect.width,
+      height: rect.height,
+      offset: {
+        top: rect.top + winY,
+        left: rect.left + winX
+      },
+      parentDims: {
+        width: parRect.width,
+        height: parRect.height,
+        offset: {
+          top: parRect.top + winY,
+          left: parRect.left + winX
+        }
+      },
+      windowDims: {
+        width: winRect.width,
+        height: winRect.height,
+        offset: {
+          top: winY,
+          left: winX
+        }
+      }
+    };
+  }
+
+  /**
+   * Returns an object of top and left integer pixel values for dynamically rendered elements,
+   * such as: Tooltip, Reveal, and Dropdown
+   * @function
+   * @param {jQuery} element - jQuery object for the element being positioned.
+   * @param {jQuery} anchor - jQuery object for the element's anchor point.
+   * @param {String} position - a string relating to the desired position of the element, relative to it's anchor
+   * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.
+   * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.
+   * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.
+   * TODO alter/rewrite to work with `em` values as well/instead of pixels
+   */
+  function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {
+    var $eleDims = GetDimensions(element),
+        $anchorDims = anchor ? GetDimensions(anchor) : null;
+
+    switch (position) {
+      case 'top':
+        return {
+          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
+          top: $anchorDims.offset.top - ($eleDims.height + vOffset)
+        };
+        break;
+      case 'left':
+        return {
+          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+          top: $anchorDims.offset.top
+        };
+        break;
+      case 'right':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width + hOffset,
+          top: $anchorDims.offset.top
+        };
+        break;
+      case 'center top':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
+          top: $anchorDims.offset.top - ($eleDims.height + vOffset)
+        };
+        break;
+      case 'center bottom':
+        return {
+          left: isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
+          top: $anchorDims.offset.top + $anchorDims.height + vOffset
+        };
+        break;
+      case 'center left':
+        return {
+          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
+        };
+        break;
+      case 'center right':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width + hOffset + 1,
+          top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
+        };
+        break;
+      case 'center':
+        return {
+          left: $eleDims.windowDims.offset.left + $eleDims.windowDims.width / 2 - $eleDims.width / 2,
+          top: $eleDims.windowDims.offset.top + $eleDims.windowDims.height / 2 - $eleDims.height / 2
+        };
+        break;
+      case 'reveal':
+        return {
+          left: ($eleDims.windowDims.width - $eleDims.width) / 2,
+          top: $eleDims.windowDims.offset.top + vOffset
+        };
+      case 'reveal full':
+        return {
+          left: $eleDims.windowDims.offset.left,
+          top: $eleDims.windowDims.offset.top
+        };
+        break;
+      case 'left bottom':
+        return {
+          left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+          top: $anchorDims.offset.top + $anchorDims.height
+        };
+        break;
+      case 'right bottom':
+        return {
+          left: $anchorDims.offset.left + $anchorDims.width + hOffset - $eleDims.width,
+          top: $anchorDims.offset.top + $anchorDims.height
+        };
+        break;
+      default:
+        return {
+          left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
+          top: $anchorDims.offset.top + $anchorDims.height + vOffset
+        };
+    }
+  }
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.util.keyboard.js b/libraries/foundation-6/js/plugins/foundation.util.keyboard.js
new file mode 100755
index 00000000..e9e03bbe
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.util.keyboard.js
@@ -0,0 +1,123 @@
+/*******************************************
+ *                                         *
+ * This util was created by Marius Olbertz *
+ * Please thank Marius on GitHub /owlbertz *
+ * or the web http://www.mariusolbertz.de/ *
+ *                                         *
+ ******************************************/
+
+'use strict';
+
+!function ($) {
+
+  var keyCodes = {
+    9: 'TAB',
+    13: 'ENTER',
+    27: 'ESCAPE',
+    32: 'SPACE',
+    37: 'ARROW_LEFT',
+    38: 'ARROW_UP',
+    39: 'ARROW_RIGHT',
+    40: 'ARROW_DOWN'
+  };
+
+  var commands = {};
+
+  var Keyboard = {
+    keys: getKeyCodes(keyCodes),
+
+    /**
+     * Parses the (keyboard) event and returns a String that represents its key
+     * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
+     * @param {Event} event - the event generated by the event handler
+     * @return String key - String that represents the key pressed
+     */
+    parseKey: function (event) {
+      var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();
+      if (event.shiftKey) key = 'SHIFT_' + key;
+      if (event.ctrlKey) key = 'CTRL_' + key;
+      if (event.altKey) key = 'ALT_' + key;
+      return key;
+    },
+
+
+    /**
+     * Handles the given (keyboard) event
+     * @param {Event} event - the event generated by the event handler
+     * @param {String} component - Foundation component's name, e.g. Slider or Reveal
+     * @param {Objects} functions - collection of functions that are to be executed
+     */
+    handleKey: function (event, component, functions) {
+      var commandList = commands[component],
+          keyCode = this.parseKey(event),
+          cmds,
+          command,
+          fn;
+
+      if (!commandList) return console.warn('Component not defined!');
+
+      if (typeof commandList.ltr === 'undefined') {
+        // this component does not differentiate between ltr and rtl
+        cmds = commandList; // use plain list
+      } else {
+          // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa
+          if (Foundation.rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);else cmds = $.extend({}, commandList.rtl, commandList.ltr);
+        }
+      command = cmds[keyCode];
+
+      fn = functions[command];
+      if (fn && typeof fn === 'function') {
+        // execute function  if exists
+        var returnValue = fn.apply();
+        if (functions.handled || typeof functions.handled === 'function') {
+          // execute function when event was handled
+          functions.handled(returnValue);
+        }
+      } else {
+        if (functions.unhandled || typeof functions.unhandled === 'function') {
+          // execute function when event was not handled
+          functions.unhandled();
+        }
+      }
+    },
+
+
+    /**
+     * Finds all focusable elements within the given `$element`
+     * @param {jQuery} $element - jQuery object to search within
+     * @return {jQuery} $focusable - all focusable elements within `$element`
+     */
+    findFocusable: function ($element) {
+      return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () {
+        if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) {
+          return false;
+        } //only have visible elements and those that have a tabindex greater or equal 0
+        return true;
+      });
+    },
+
+
+    /**
+     * Returns the component name name
+     * @param {Object} component - Foundation component, e.g. Slider or Reveal
+     * @return String componentName
+     */
+
+    register: function (componentName, cmds) {
+      commands[componentName] = cmds;
+    }
+  };
+
+  /*
+   * Constants for easier comparing.
+   * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
+   */
+  function getKeyCodes(kcs) {
+    var k = {};
+    for (var kc in kcs) {
+      k[kcs[kc]] = kcs[kc];
+    }return k;
+  }
+
+  Foundation.Keyboard = Keyboard;
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.util.mediaQuery.js b/libraries/foundation-6/js/plugins/foundation.util.mediaQuery.js
new file mode 100755
index 00000000..328be8e9
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.util.mediaQuery.js
@@ -0,0 +1,216 @@
+'use strict';
+
+!function ($) {
+
+  // Default set of media queries
+  var defaultQueries = {
+    'default': 'only screen',
+    landscape: 'only screen and (orientation: landscape)',
+    portrait: 'only screen and (orientation: portrait)',
+    retina: 'only screen and (-webkit-min-device-pixel-ratio: 2),' + 'only screen and (min--moz-device-pixel-ratio: 2),' + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + 'only screen and (min-device-pixel-ratio: 2),' + 'only screen and (min-resolution: 192dpi),' + 'only screen and (min-resolution: 2dppx)'
+  };
+
+  var MediaQuery = {
+    queries: [],
+
+    current: '',
+
+    /**
+     * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.
+     * @function
+     * @private
+     */
+    _init: function () {
+      var self = this;
+      var extractedStyles = $('.foundation-mq').css('font-family');
+      var namedQueries;
+
+      namedQueries = parseStyleToObject(extractedStyles);
+
+      for (var key in namedQueries) {
+        if (namedQueries.hasOwnProperty(key)) {
+          self.queries.push({
+            name: key,
+            value: 'only screen and (min-width: ' + namedQueries[key] + ')'
+          });
+        }
+      }
+
+      this.current = this._getCurrentSize();
+
+      this._watcher();
+    },
+
+
+    /**
+     * Checks if the screen is at least as wide as a breakpoint.
+     * @function
+     * @param {String} size - Name of the breakpoint to check.
+     * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
+     */
+    atLeast: function (size) {
+      var query = this.get(size);
+
+      if (query) {
+        return window.matchMedia(query).matches;
+      }
+
+      return false;
+    },
+
+
+    /**
+     * Gets the media query of a breakpoint.
+     * @function
+     * @param {String} size - Name of the breakpoint to get.
+     * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
+     */
+    get: function (size) {
+      for (var i in this.queries) {
+        if (this.queries.hasOwnProperty(i)) {
+          var query = this.queries[i];
+          if (size === query.name) return query.value;
+        }
+      }
+
+      return null;
+    },
+
+
+    /**
+     * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
+     * @function
+     * @private
+     * @returns {String} Name of the current breakpoint.
+     */
+    _getCurrentSize: function () {
+      var matched;
+
+      for (var i = 0; i < this.queries.length; i++) {
+        var query = this.queries[i];
+
+        if (window.matchMedia(query.value).matches) {
+          matched = query;
+        }
+      }
+
+      if (typeof matched === 'object') {
+        return matched.name;
+      } else {
+        return matched;
+      }
+    },
+
+
+    /**
+     * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.
+     * @function
+     * @private
+     */
+    _watcher: function () {
+      var _this = this;
+
+      $(window).on('resize.zf.mediaquery', function () {
+        var newSize = _this._getCurrentSize(),
+            currentSize = _this.current;
+
+        if (newSize !== currentSize) {
+          // Change the current media query
+          _this.current = newSize;
+
+          // Broadcast the media query change on the window
+          $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);
+        }
+      });
+    }
+  };
+
+  Foundation.MediaQuery = MediaQuery;
+
+  // matchMedia() polyfill - Test a CSS media type/query in JS.
+  // Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license
+  window.matchMedia || (window.matchMedia = function () {
+    'use strict';
+
+    // For browsers that support matchMedium api such as IE 9 and webkit
+
+    var styleMedia = window.styleMedia || window.media;
+
+    // For those that don't support matchMedium
+    if (!styleMedia) {
+      var style = document.createElement('style'),
+          script = document.getElementsByTagName('script')[0],
+          info = null;
+
+      style.type = 'text/css';
+      style.id = 'matchmediajs-test';
+
+      script.parentNode.insertBefore(style, script);
+
+      // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
+      info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;
+
+      styleMedia = {
+        matchMedium: function (media) {
+          var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
+
+          // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
+          if (style.styleSheet) {
+            style.styleSheet.cssText = text;
+          } else {
+            style.textContent = text;
+          }
+
+          // Test if media query is true or false
+          return info.width === '1px';
+        }
+      };
+    }
+
+    return function (media) {
+      return {
+        matches: styleMedia.matchMedium(media || 'all'),
+        media: media || 'all'
+      };
+    };
+  }());
+
+  // Thank you: https://github.com/sindresorhus/query-string
+  function parseStyleToObject(str) {
+    var styleObject = {};
+
+    if (typeof str !== 'string') {
+      return styleObject;
+    }
+
+    str = str.trim().slice(1, -1); // browsers re-quote string style values
+
+    if (!str) {
+      return styleObject;
+    }
+
+    styleObject = str.split('&').reduce(function (ret, param) {
+      var parts = param.replace(/\+/g, ' ').split('=');
+      var key = parts[0];
+      var val = parts[1];
+      key = decodeURIComponent(key);
+
+      // missing `=` should be `null`:
+      // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
+      val = val === undefined ? null : decodeURIComponent(val);
+
+      if (!ret.hasOwnProperty(key)) {
+        ret[key] = val;
+      } else if (Array.isArray(ret[key])) {
+        ret[key].push(val);
+      } else {
+        ret[key] = [ret[key], val];
+      }
+      return ret;
+    }, {});
+
+    return styleObject;
+  }
+
+  Foundation.MediaQuery = MediaQuery;
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.util.motion.js b/libraries/foundation-6/js/plugins/foundation.util.motion.js
new file mode 100755
index 00000000..c045ec84
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.util.motion.js
@@ -0,0 +1,97 @@
+'use strict';
+
+!function ($) {
+
+  /**
+   * Motion module.
+   * @module foundation.motion
+   */
+
+  var initClasses = ['mui-enter', 'mui-leave'];
+  var activeClasses = ['mui-enter-active', 'mui-leave-active'];
+
+  var Motion = {
+    animateIn: function (element, animation, cb) {
+      animate(true, element, animation, cb);
+    },
+
+    animateOut: function (element, animation, cb) {
+      animate(false, element, animation, cb);
+    }
+  };
+
+  function Move(duration, elem, fn) {
+    var anim,
+        prog,
+        start = null;
+    // console.log('called');
+
+    function move(ts) {
+      if (!start) start = window.performance.now();
+      // console.log(start, ts);
+      prog = ts - start;
+      fn.apply(elem);
+
+      if (prog < duration) {
+        anim = window.requestAnimationFrame(move, elem);
+      } else {
+        window.cancelAnimationFrame(anim);
+        elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);
+      }
+    }
+    anim = window.requestAnimationFrame(move);
+  }
+
+  /**
+   * Animates an element in or out using a CSS transition class.
+   * @function
+   * @private
+   * @param {Boolean} isIn - Defines if the animation is in or out.
+   * @param {Object} element - jQuery or HTML object to animate.
+   * @param {String} animation - CSS class to use.
+   * @param {Function} cb - Callback to run when animation is finished.
+   */
+  function animate(isIn, element, animation, cb) {
+    element = $(element).eq(0);
+
+    if (!element.length) return;
+
+    var initClass = isIn ? initClasses[0] : initClasses[1];
+    var activeClass = isIn ? activeClasses[0] : activeClasses[1];
+
+    // Set up the animation
+    reset();
+
+    element.addClass(animation).css('transition', 'none');
+
+    requestAnimationFrame(function () {
+      element.addClass(initClass);
+      if (isIn) element.show();
+    });
+
+    // Start the animation
+    requestAnimationFrame(function () {
+      element[0].offsetWidth;
+      element.css('transition', '').addClass(activeClass);
+    });
+
+    // Clean up the animation when it finishes
+    element.one(Foundation.transitionend(element), finish);
+
+    // Hides the element (for out animations), resets the element, and runs a callback
+    function finish() {
+      if (!isIn) element.hide();
+      reset();
+      if (cb) cb.apply(element);
+    }
+
+    // Resets transitions and removes motion-specific classes
+    function reset() {
+      element[0].style.transitionDuration = 0;
+      element.removeClass(initClass + ' ' + activeClass + ' ' + animation);
+    }
+  }
+
+  Foundation.Move = Move;
+  Foundation.Motion = Motion;
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.util.nest.js b/libraries/foundation-6/js/plugins/foundation.util.nest.js
new file mode 100755
index 00000000..a8433837
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.util.nest.js
@@ -0,0 +1,69 @@
+'use strict';
+
+!function ($) {
+
+  var Nest = {
+    Feather: function (menu) {
+      var type = arguments.length <= 1 || arguments[1] === undefined ? 'zf' : arguments[1];
+
+      menu.attr('role', 'menubar');
+
+      var items = menu.find('li').attr({ 'role': 'menuitem' }),
+          subMenuClass = 'is-' + type + '-submenu',
+          subItemClass = subMenuClass + '-item',
+          hasSubClass = 'is-' + type + '-submenu-parent';
+
+      menu.find('a:first').attr('tabindex', 0);
+
+      items.each(function () {
+        var $item = $(this),
+            $sub = $item.children('ul');
+
+        if ($sub.length) {
+          $item.addClass(hasSubClass).attr({
+            'aria-haspopup': true,
+            'aria-expanded': false,
+            'aria-label': $item.children('a:first').text()
+          });
+
+          $sub.addClass('submenu ' + subMenuClass).attr({
+            'data-submenu': '',
+            'aria-hidden': true,
+            'role': 'menu'
+          });
+        }
+
+        if ($item.parent('[data-submenu]').length) {
+          $item.addClass('is-submenu-item ' + subItemClass);
+        }
+      });
+
+      return;
+    },
+    Burn: function (menu, type) {
+      var items = menu.find('li').removeAttr('tabindex'),
+          subMenuClass = 'is-' + type + '-submenu',
+          subItemClass = subMenuClass + '-item',
+          hasSubClass = 'is-' + type + '-submenu-parent';
+
+      menu.find('*').removeClass(subMenuClass + ' ' + subItemClass + ' ' + hasSubClass + ' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display', '');
+
+      // console.log(      menu.find('.' + subMenuClass + ', .' + subItemClass + ', .has-submenu, .is-submenu-item, .submenu, [data-submenu]')
+      //           .removeClass(subMenuClass + ' ' + subItemClass + ' has-submenu is-submenu-item submenu')
+      //           .removeAttr('data-submenu'));
+      // items.each(function(){
+      //   var $item = $(this),
+      //       $sub = $item.children('ul');
+      //   if($item.parent('[data-submenu]').length){
+      //     $item.removeClass('is-submenu-item ' + subItemClass);
+      //   }
+      //   if($sub.length){
+      //     $item.removeClass('has-submenu');
+      //     $sub.removeClass('submenu ' + subMenuClass).removeAttr('data-submenu');
+      //   }
+      // });
+    }
+  };
+
+  Foundation.Nest = Nest;
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.util.timerAndImageLoader.js b/libraries/foundation-6/js/plugins/foundation.util.timerAndImageLoader.js
new file mode 100755
index 00000000..21e3384f
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.util.timerAndImageLoader.js
@@ -0,0 +1,84 @@
+'use strict';
+
+!function ($) {
+
+  function Timer(elem, options, cb) {
+    var _this = this,
+        duration = options.duration,
+        //options is an object for easily adding features later.
+    nameSpace = Object.keys(elem.data())[0] || 'timer',
+        remain = -1,
+        start,
+        timer;
+
+    this.isPaused = false;
+
+    this.restart = function () {
+      remain = -1;
+      clearTimeout(timer);
+      this.start();
+    };
+
+    this.start = function () {
+      this.isPaused = false;
+      // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
+      clearTimeout(timer);
+      remain = remain <= 0 ? duration : remain;
+      elem.data('paused', false);
+      start = Date.now();
+      timer = setTimeout(function () {
+        if (options.infinite) {
+          _this.restart(); //rerun the timer.
+        }
+        cb();
+      }, remain);
+      elem.trigger('timerstart.zf.' + nameSpace);
+    };
+
+    this.pause = function () {
+      this.isPaused = true;
+      //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
+      clearTimeout(timer);
+      elem.data('paused', true);
+      var end = Date.now();
+      remain = remain - (end - start);
+      elem.trigger('timerpaused.zf.' + nameSpace);
+    };
+  }
+
+  /**
+   * Runs a callback function when images are fully loaded.
+   * @param {Object} images - Image(s) to check if loaded.
+   * @param {Func} callback - Function to execute when image is fully loaded.
+   */
+  function onImagesLoaded(images, callback) {
+    var self = this,
+        unloaded = images.length;
+
+    if (unloaded === 0) {
+      callback();
+    }
+
+    images.each(function () {
+      if (this.complete) {
+        singleImageLoaded();
+      } else if (typeof this.naturalWidth !== 'undefined' && this.naturalWidth > 0) {
+        singleImageLoaded();
+      } else {
+        $(this).one('load', function () {
+          singleImageLoaded();
+        });
+      }
+    });
+
+    function singleImageLoaded() {
+      unloaded--;
+      if (unloaded === 0) {
+        callback();
+      }
+    }
+  }
+
+  Foundation.Timer = Timer;
+  Foundation.onImagesLoaded = onImagesLoaded;
+}(jQuery);
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.util.touch.js b/libraries/foundation-6/js/plugins/foundation.util.touch.js
new file mode 100755
index 00000000..b37d0f16
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.util.touch.js
@@ -0,0 +1,352 @@
+//**************************************************
+//**Work inspired by multiple jquery swipe plugins**
+//**Done by Yohai Ararat ***************************
+//**************************************************
+(function ($) {
+
+	$.spotSwipe = {
+		version: '1.0.0',
+		enabled: 'ontouchstart' in document.documentElement,
+		preventDefault: false,
+		moveThreshold: 75,
+		timeThreshold: 200
+	};
+
+	var startPosX,
+	    startPosY,
+	    startTime,
+	    elapsedTime,
+	    isMoving = false;
+
+	function onTouchEnd() {
+		//  alert(this);
+		this.removeEventListener('touchmove', onTouchMove);
+		this.removeEventListener('touchend', onTouchEnd);
+		isMoving = false;
+	}
+
+	function onTouchMove(e) {
+		if ($.spotSwipe.preventDefault) {
+			e.preventDefault();
+		}
+		if (isMoving) {
+			var x = e.touches[0].pageX;
+			var y = e.touches[0].pageY;
+			var dx = startPosX - x;
+			var dy = startPosY - y;
+			var dir;
+			elapsedTime = new Date().getTime() - startTime;
+			if (Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
+				dir = dx > 0 ? 'left' : 'right';
+			}
+			// else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
+			//   dir = dy > 0 ? 'down' : 'up';
+			// }
+			if (dir) {
+				e.preventDefault();
+				onTouchEnd.call(this);
+				$(this).trigger('swipe', dir).trigger('swipe' + dir);
+			}
+		}
+	}
+
+	function onTouchStart(e) {
+		if (e.touches.length == 1) {
+			startPosX = e.touches[0].pageX;
+			startPosY = e.touches[0].pageY;
+			isMoving = true;
+			startTime = new Date().getTime();
+			this.addEventListener('touchmove', onTouchMove, false);
+			this.addEventListener('touchend', onTouchEnd, false);
+		}
+	}
+
+	function init() {
+		this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);
+	}
+
+	function teardown() {
+		this.removeEventListener('touchstart', onTouchStart);
+	}
+
+	$.event.special.swipe = { setup: init };
+
+	$.each(['left', 'up', 'down', 'right'], function () {
+		$.event.special['swipe' + this] = { setup: function () {
+				$(this).on('swipe', $.noop);
+			} };
+	});
+})(jQuery);
+/****************************************************
+ * Method for adding psuedo drag events to elements *
+ ***************************************************/
+!function ($) {
+	$.fn.addTouch = function () {
+		this.each(function (i, el) {
+			$(el).bind('touchstart touchmove touchend touchcancel', function () {
+				//we pass the original event object because the jQuery event
+				//object is normalized to w3c specs and does not provide the TouchList
+				handleTouch(event);
+			});
+		});
+
+		var handleTouch = function (event) {
+			var touches = event.changedTouches,
+			    first = touches[0],
+			    eventTypes = {
+				touchstart: 'mousedown',
+				touchmove: 'mousemove',
+				touchend: 'mouseup'
+			},
+			    type = eventTypes[event.type],
+			    simulatedEvent;
+
+			if ('MouseEvent' in window && typeof window.MouseEvent === 'function') {
+				simulatedEvent = new window.MouseEvent(type, {
+					'bubbles': true,
+					'cancelable': true,
+					'screenX': first.screenX,
+					'screenY': first.screenY,
+					'clientX': first.clientX,
+					'clientY': first.clientY
+				});
+			} else {
+				simulatedEvent = document.createEvent('MouseEvent');
+				simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0 /*left*/, null);
+			}
+			first.target.dispatchEvent(simulatedEvent);
+		};
+	};
+}(jQuery);
+
+//**********************************
+//**From the jQuery Mobile Library**
+//**need to recreate functionality**
+//**and try to improve if possible**
+//**********************************
+
+/* Removing the jQuery function ****
+************************************
+
+(function( $, window, undefined ) {
+
+	var $document = $( document ),
+		// supportTouch = $.mobile.support.touch,
+		touchStartEvent = 'touchstart'//supportTouch ? "touchstart" : "mousedown",
+		touchStopEvent = 'touchend'//supportTouch ? "touchend" : "mouseup",
+		touchMoveEvent = 'touchmove'//supportTouch ? "touchmove" : "mousemove";
+
+	// setup new event shortcuts
+	$.each( ( "touchstart touchmove touchend " +
+		"swipe swipeleft swiperight" ).split( " " ), function( i, name ) {
+
+		$.fn[ name ] = function( fn ) {
+			return fn ? this.bind( name, fn ) : this.trigger( name );
+		};
+
+		// jQuery < 1.8
+		if ( $.attrFn ) {
+			$.attrFn[ name ] = true;
+		}
+	});
+
+	function triggerCustomEvent( obj, eventType, event, bubble ) {
+		var originalType = event.type;
+		event.type = eventType;
+		if ( bubble ) {
+			$.event.trigger( event, undefined, obj );
+		} else {
+			$.event.dispatch.call( obj, event );
+		}
+		event.type = originalType;
+	}
+
+	// also handles taphold
+
+	// Also handles swipeleft, swiperight
+	$.event.special.swipe = {
+
+		// More than this horizontal displacement, and we will suppress scrolling.
+		scrollSupressionThreshold: 30,
+
+		// More time than this, and it isn't a swipe.
+		durationThreshold: 1000,
+
+		// Swipe horizontal displacement must be more than this.
+		horizontalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,
+
+		// Swipe vertical displacement must be less than this.
+		verticalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,
+
+		getLocation: function ( event ) {
+			var winPageX = window.pageXOffset,
+				winPageY = window.pageYOffset,
+				x = event.clientX,
+				y = event.clientY;
+
+			if ( event.pageY === 0 && Math.floor( y ) > Math.floor( event.pageY ) ||
+				event.pageX === 0 && Math.floor( x ) > Math.floor( event.pageX ) ) {
+
+				// iOS4 clientX/clientY have the value that should have been
+				// in pageX/pageY. While pageX/page/ have the value 0
+				x = x - winPageX;
+				y = y - winPageY;
+			} else if ( y < ( event.pageY - winPageY) || x < ( event.pageX - winPageX ) ) {
+
+				// Some Android browsers have totally bogus values for clientX/Y
+				// when scrolling/zooming a page. Detectable since clientX/clientY
+				// should never be smaller than pageX/pageY minus page scroll
+				x = event.pageX - winPageX;
+				y = event.pageY - winPageY;
+			}
+
+			return {
+				x: x,
+				y: y
+			};
+		},
+
+		start: function( event ) {
+			var data = event.originalEvent.touches ?
+					event.originalEvent.touches[ 0 ] : event,
+				location = $.event.special.swipe.getLocation( data );
+			return {
+						time: ( new Date() ).getTime(),
+						coords: [ location.x, location.y ],
+						origin: $( event.target )
+					};
+		},
+
+		stop: function( event ) {
+			var data = event.originalEvent.touches ?
+					event.originalEvent.touches[ 0 ] : event,
+				location = $.event.special.swipe.getLocation( data );
+			return {
+						time: ( new Date() ).getTime(),
+						coords: [ location.x, location.y ]
+					};
+		},
+
+		handleSwipe: function( start, stop, thisObject, origTarget ) {
+			if ( stop.time - start.time < $.event.special.swipe.durationThreshold &&
+				Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold &&
+				Math.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) {
+				var direction = start.coords[0] > stop.coords[ 0 ] ? "swipeleft" : "swiperight";
+
+				triggerCustomEvent( thisObject, "swipe", $.Event( "swipe", { target: origTarget, swipestart: start, swipestop: stop }), true );
+				triggerCustomEvent( thisObject, direction,$.Event( direction, { target: origTarget, swipestart: start, swipestop: stop } ), true );
+				return true;
+			}
+			return false;
+
+		},
+
+		// This serves as a flag to ensure that at most one swipe event event is
+		// in work at any given time
+		eventInProgress: false,
+
+		setup: function() {
+			var events,
+				thisObject = this,
+				$this = $( thisObject ),
+				context = {};
+
+			// Retrieve the events data for this element and add the swipe context
+			events = $.data( this, "mobile-events" );
+			if ( !events ) {
+				events = { length: 0 };
+				$.data( this, "mobile-events", events );
+			}
+			events.length++;
+			events.swipe = context;
+
+			context.start = function( event ) {
+
+				// Bail if we're already working on a swipe event
+				if ( $.event.special.swipe.eventInProgress ) {
+					return;
+				}
+				$.event.special.swipe.eventInProgress = true;
+
+				var stop,
+					start = $.event.special.swipe.start( event ),
+					origTarget = event.target,
+					emitted = false;
+
+				context.move = function( event ) {
+					if ( !start || event.isDefaultPrevented() ) {
+						return;
+					}
+
+					stop = $.event.special.swipe.stop( event );
+					if ( !emitted ) {
+						emitted = $.event.special.swipe.handleSwipe( start, stop, thisObject, origTarget );
+						if ( emitted ) {
+
+							// Reset the context to make way for the next swipe event
+							$.event.special.swipe.eventInProgress = false;
+						}
+					}
+					// prevent scrolling
+					if ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) {
+						event.preventDefault();
+					}
+				};
+
+				context.stop = function() {
+						emitted = true;
+
+						// Reset the context to make way for the next swipe event
+						$.event.special.swipe.eventInProgress = false;
+						$document.off( touchMoveEvent, context.move );
+						context.move = null;
+				};
+
+				$document.on( touchMoveEvent, context.move )
+					.one( touchStopEvent, context.stop );
+			};
+			$this.on( touchStartEvent, context.start );
+		},
+
+		teardown: function() {
+			var events, context;
+
+			events = $.data( this, "mobile-events" );
+			if ( events ) {
+				context = events.swipe;
+				delete events.swipe;
+				events.length--;
+				if ( events.length === 0 ) {
+					$.removeData( this, "mobile-events" );
+				}
+			}
+
+			if ( context ) {
+				if ( context.start ) {
+					$( this ).off( touchStartEvent, context.start );
+				}
+				if ( context.move ) {
+					$document.off( touchMoveEvent, context.move );
+				}
+				if ( context.stop ) {
+					$document.off( touchStopEvent, context.stop );
+				}
+			}
+		}
+	};
+	$.each({
+		swipeleft: "swipe.left",
+		swiperight: "swipe.right"
+	}, function( event, sourceEvent ) {
+
+		$.event.special[ event ] = {
+			setup: function() {
+				$( this ).bind( sourceEvent, $.noop );
+			},
+			teardown: function() {
+				$( this ).unbind( sourceEvent );
+			}
+		};
+	});
+})( jQuery, this );
+*/
\ No newline at end of file
diff --git a/libraries/foundation-6/js/plugins/foundation.util.triggers.js b/libraries/foundation-6/js/plugins/foundation.util.triggers.js
new file mode 100755
index 00000000..17eb7cbc
--- /dev/null
+++ b/libraries/foundation-6/js/plugins/foundation.util.triggers.js
@@ -0,0 +1,243 @@
+'use strict';
+
+!function ($) {
+
+  var MutationObserver = function () {
+    var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
+    for (var i = 0; i < prefixes.length; i++) {
+      if (prefixes[i] + 'MutationObserver' in window) {
+        return window[prefixes[i] + 'MutationObserver'];
+      }
+    }
+    return false;
+  }();
+
+  var triggers = function (el, type) {
+    el.data(type).split(' ').forEach(function (id) {
+      $('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]);
+    });
+  };
+  // Elements with [data-open] will reveal a plugin that supports it when clicked.
+  $(document).on('click.zf.trigger', '[data-open]', function () {
+    triggers($(this), 'open');
+  });
+
+  // Elements with [data-close] will close a plugin that supports it when clicked.
+  // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
+  $(document).on('click.zf.trigger', '[data-close]', function () {
+    var id = $(this).data('close');
+    if (id) {
+      triggers($(this), 'close');
+    } else {
+      $(this).trigger('close.zf.trigger');
+    }
+  });
+
+  // Elements with [data-toggle] will toggle a plugin that supports it when clicked.
+  $(document).on('click.zf.trigger', '[data-toggle]', function () {
+    triggers($(this), 'toggle');
+  });
+
+  // Elements with [data-closable] will respond to close.zf.trigger events.
+  $(document).on('close.zf.trigger', '[data-closable]', function (e) {
+    e.stopPropagation();
+    var animation = $(this).data('closable');
+
+    if (animation !== '') {
+      Foundation.Motion.animateOut($(this), animation, function () {
+        $(this).trigger('closed.zf');
+      });
+    } else {
+      $(this).fadeOut().trigger('closed.zf');
+    }
+  });
+
+  $(document).on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', function () {
+    var id = $(this).data('toggle-focus');
+    $('#' + id).triggerHandler('toggle.zf.trigger', [$(this)]);
+  });
+
+  /**
+  * Fires once after all other scripts have loaded
+  * @function
+  * @private
+  */
+  $(window).load(function () {
+    checkListeners();
+  });
+
+  function checkListeners() {
+    eventsListener();
+    resizeListener();
+    scrollListener();
+    closemeListener();
+  }
+
+  //******** only fires this function once on load, if there's something to watch ********
+  function closemeListener(pluginName) {
+    var yetiBoxes = $('[data-yeti-box]'),
+        plugNames = ['dropdown', 'tooltip', 'reveal'];
+
+    if (pluginName) {
+      if (typeof pluginName === 'string') {
+        plugNames.push(pluginName);
+      } else if (typeof pluginName === 'object' && typeof pluginName[0] === 'string') {
+        plugNames.concat(pluginName);
+      } else {
+        console.error('Plugin names must be strings');
+      }
+    }
+    if (yetiBoxes.length) {
+      var listeners = plugNames.map(function (name) {
+        return 'closeme.zf.' + name;
+      }).join(' ');
+
+      $(window).off(listeners).on(listeners, function (e, pluginId) {
+        var plugin = e.namespace.split('.')[0];
+        var plugins = $('[data-' + plugin + ']').not('[data-yeti-box="' + pluginId + '"]');
+
+        plugins.each(function () {
+          var _this = $(this);
+
+          _this.triggerHandler('close.zf.trigger', [_this]);
+        });
+      });
+    }
+  }
+
+  function resizeListener(debounce) {
+    var timer = void 0,
+        $nodes = $('[data-resize]');
+    if ($nodes.length) {
+      $(window).off('resize.zf.trigger').on('resize.zf.trigger', function (e) {
+        if (timer) {
+          clearTimeout(timer);
+        }
+
+        timer = setTimeout(function () {
+
+          if (!MutationObserver) {
+            //fallback for IE 9
+            $nodes.each(function () {
+              $(this).triggerHandler('resizeme.zf.trigger');
+            });
+          }
+          //trigger all listening elements and signal a resize event
+          $nodes.attr('data-events', "resize");
+        }, debounce || 10); //default time to emit resize event
+      });
+    }
+  }
+
+  function scrollListener(debounce) {
+    var timer = void 0,
+        $nodes = $('[data-scroll]');
+    if ($nodes.length) {
+      $(window).off('scroll.zf.trigger').on('scroll.zf.trigger', function (e) {
+        if (timer) {
+          clearTimeout(timer);
+        }
+
+        timer = setTimeout(function () {
+
+          if (!MutationObserver) {
+            //fallback for IE 9
+            $nodes.each(function () {
+              $(this).triggerHandler('scrollme.zf.trigger');
+            });
+          }
+          //trigger all listening elements and signal a scroll event
+          $nodes.attr('data-events', "scroll");
+        }, debounce || 10); //default time to emit scroll event
+      });
+    }
+  }
+
+  function eventsListener() {
+    if (!MutationObserver) {
+      return false;
+    }
+    var nodes = document.querySelectorAll('[data-resize], [data-scroll], [data-mutate]');
+
+    //element callback
+    var listeningElementsMutation = function (mutationRecordsList) {
+      var $target = $(mutationRecordsList[0].target);
+      //trigger the event handler for the element depending on type
+      switch ($target.attr("data-events")) {
+
+        case "resize":
+          $target.triggerHandler('resizeme.zf.trigger', [$target]);
+          break;
+
+        case "scroll":
+          $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
+          break;
+
+        // case "mutate" :
+        // console.log('mutate', $target);
+        // $target.triggerHandler('mutate.zf.trigger');
+        //
+        // //make sure we don't get stuck in an infinite loop from sloppy codeing
+        // if ($target.index('[data-mutate]') == $("[data-mutate]").length-1) {
+        //   domMutationObserver();
+        // }
+        // break;
+
+        default:
+          return false;
+        //nothing
+      }
+    };
+
+    if (nodes.length) {
+      //for each element that needs to listen for resizing, scrolling, (or coming soon mutation) add a single observer
+      for (var i = 0; i <= nodes.length - 1; i++) {
+        var elementObserver = new MutationObserver(listeningElementsMutation);
+        elementObserver.observe(nodes[i], { attributes: true, childList: false, characterData: false, subtree: false, attributeFilter: ["data-events"] });
+      }
+    }
+  }
+
+  // ------------------------------------
+
+  // [PH]
+  // Foundation.CheckWatchers = checkWatchers;
+  Foundation.IHearYou = checkListeners;
+  // Foundation.ISeeYou = scrollListener;
+  // Foundation.IFeelYou = closemeListener;
+}(jQuery);
+
+// function domMutationObserver(debounce) {
+//   // !!! This is coming soon and needs more work; not active  !!! //
+//   var timer,
+//   nodes = document.querySelectorAll('[data-mutate]');
+//   //
+//   if (nodes.length) {
+//     // var MutationObserver = (function () {
+//     //   var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
+//     //   for (var i=0; i < prefixes.length; i++) {
+//     //     if (prefixes[i] + 'MutationObserver' in window) {
+//     //       return window[prefixes[i] + 'MutationObserver'];
+//     //     }
+//     //   }
+//     //   return false;
+//     // }());
+//
+//
+//     //for the body, we need to listen for all changes effecting the style and class attributes
+//     var bodyObserver = new MutationObserver(bodyMutation);
+//     bodyObserver.observe(document.body, { attributes: true, childList: true, characterData: false, subtree:true, attributeFilter:["style", "class"]});
+//
+//
+//     //body callback
+//     function bodyMutation(mutate) {
+//       //trigger all listening elements and signal a mutation event
+//       if (timer) { clearTimeout(timer); }
+//
+//       timer = setTimeout(function() {
+//         bodyObserver.disconnect();
+//         $('[data-mutate]').attr('data-events',"mutate");
+//       }, debounce || 150);
+//     }
+//   }
+// }
\ No newline at end of file
diff --git a/libraries/foundation-6/js/vendor/jquery.js b/libraries/foundation-6/js/vendor/jquery.js
deleted file mode 100644
index f942984f..00000000
--- a/libraries/foundation-6/js/vendor/jquery.js
+++ /dev/null
@@ -1,9842 +0,0 @@
-/*!
- * jQuery JavaScript Library v2.2.2
- * http://jquery.com/
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license
- * http://jquery.org/license
- *
- * Date: 2016-03-17T17:51Z
- */
-
-(function( global, factory ) {
-
-	if ( typeof module === "object" && typeof module.exports === "object" ) {
-		// For CommonJS and CommonJS-like environments where a proper `window`
-		// is present, execute the factory and get jQuery.
-		// For environments that do not have a `window` with a `document`
-		// (such as Node.js), expose a factory as module.exports.
-		// This accentuates the need for the creation of a real `window`.
-		// e.g. var jQuery = require("jquery")(window);
-		// See ticket #14549 for more info.
-		module.exports = global.document ?
-			factory( global, true ) :
-			function( w ) {
-				if ( !w.document ) {
-					throw new Error( "jQuery requires a window with a document" );
-				}
-				return factory( w );
-			};
-	} else {
-		factory( global );
-	}
-
-// Pass this if window is not defined yet
-}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
-
-// Support: Firefox 18+
-// Can't be in strict mode, several libs including ASP.NET trace
-// the stack via arguments.caller.callee and Firefox dies if
-// you try to trace through "use strict" call chains. (#13335)
-//"use strict";
-var arr = [];
-
-var document = window.document;
-
-var slice = arr.slice;
-
-var concat = arr.concat;
-
-var push = arr.push;
-
-var indexOf = arr.indexOf;
-
-var class2type = {};
-
-var toString = class2type.toString;
-
-var hasOwn = class2type.hasOwnProperty;
-
-var support = {};
-
-
-
-var
-	version = "2.2.2",
-
-	// Define a local copy of jQuery
-	jQuery = function( selector, context ) {
-
-		// The jQuery object is actually just the init constructor 'enhanced'
-		// Need init if jQuery is called (just allow error to be thrown if not included)
-		return new jQuery.fn.init( selector, context );
-	},
-
-	// Support: Android<4.1
-	// Make sure we trim BOM and NBSP
-	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
-
-	// Matches dashed string for camelizing
-	rmsPrefix = /^-ms-/,
-	rdashAlpha = /-([\da-z])/gi,
-
-	// Used by jQuery.camelCase as callback to replace()
-	fcamelCase = function( all, letter ) {
-		return letter.toUpperCase();
-	};
-
-jQuery.fn = jQuery.prototype = {
-
-	// The current version of jQuery being used
-	jquery: version,
-
-	constructor: jQuery,
-
-	// Start with an empty selector
-	selector: "",
-
-	// The default length of a jQuery object is 0
-	length: 0,
-
-	toArray: function() {
-		return slice.call( this );
-	},
-
-	// Get the Nth element in the matched element set OR
-	// Get the whole matched element set as a clean array
-	get: function( num ) {
-		return num != null ?
-
-			// Return just the one element from the set
-			( num < 0 ? this[ num + this.length ] : this[ num ] ) :
-
-			// Return all the elements in a clean array
-			slice.call( this );
-	},
-
-	// Take an array of elements and push it onto the stack
-	// (returning the new matched element set)
-	pushStack: function( elems ) {
-
-		// Build a new jQuery matched element set
-		var ret = jQuery.merge( this.constructor(), elems );
-
-		// Add the old object onto the stack (as a reference)
-		ret.prevObject = this;
-		ret.context = this.context;
-
-		// Return the newly-formed element set
-		return ret;
-	},
-
-	// Execute a callback for every element in the matched set.
-	each: function( callback ) {
-		return jQuery.each( this, callback );
-	},
-
-	map: function( callback ) {
-		return this.pushStack( jQuery.map( this, function( elem, i ) {
-			return callback.call( elem, i, elem );
-		} ) );
-	},
-
-	slice: function() {
-		return this.pushStack( slice.apply( this, arguments ) );
-	},
-
-	first: function() {
-		return this.eq( 0 );
-	},
-
-	last: function() {
-		return this.eq( -1 );
-	},
-
-	eq: function( i ) {
-		var len = this.length,
-			j = +i + ( i < 0 ? len : 0 );
-		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
-	},
-
-	end: function() {
-		return this.prevObject || this.constructor();
-	},
-
-	// For internal use only.
-	// Behaves like an Array's method, not like a jQuery method.
-	push: push,
-	sort: arr.sort,
-	splice: arr.splice
-};
-
-jQuery.extend = jQuery.fn.extend = function() {
-	var options, name, src, copy, copyIsArray, clone,
-		target = arguments[ 0 ] || {},
-		i = 1,
-		length = arguments.length,
-		deep = false;
-
-	// Handle a deep copy situation
-	if ( typeof target === "boolean" ) {
-		deep = target;
-
-		// Skip the boolean and the target
-		target = arguments[ i ] || {};
-		i++;
-	}
-
-	// Handle case when target is a string or something (possible in deep copy)
-	if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
-		target = {};
-	}
-
-	// Extend jQuery itself if only one argument is passed
-	if ( i === length ) {
-		target = this;
-		i--;
-	}
-
-	for ( ; i < length; i++ ) {
-
-		// Only deal with non-null/undefined values
-		if ( ( options = arguments[ i ] ) != null ) {
-
-			// Extend the base object
-			for ( name in options ) {
-				src = target[ name ];
-				copy = options[ name ];
-
-				// Prevent never-ending loop
-				if ( target === copy ) {
-					continue;
-				}
-
-				// Recurse if we're merging plain objects or arrays
-				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
-					( copyIsArray = jQuery.isArray( copy ) ) ) ) {
-
-					if ( copyIsArray ) {
-						copyIsArray = false;
-						clone = src && jQuery.isArray( src ) ? src : [];
-
-					} else {
-						clone = src && jQuery.isPlainObject( src ) ? src : {};
-					}
-
-					// Never move original objects, clone them
-					target[ name ] = jQuery.extend( deep, clone, copy );
-
-				// Don't bring in undefined values
-				} else if ( copy !== undefined ) {
-					target[ name ] = copy;
-				}
-			}
-		}
-	}
-
-	// Return the modified object
-	return target;
-};
-
-jQuery.extend( {
-
-	// Unique for each copy of jQuery on the page
-	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
-
-	// Assume jQuery is ready without the ready module
-	isReady: true,
-
-	error: function( msg ) {
-		throw new Error( msg );
-	},
-
-	noop: function() {},
-
-	isFunction: function( obj ) {
-		return jQuery.type( obj ) === "function";
-	},
-
-	isArray: Array.isArray,
-
-	isWindow: function( obj ) {
-		return obj != null && obj === obj.window;
-	},
-
-	isNumeric: function( obj ) {
-
-		// parseFloat NaNs numeric-cast false positives (null|true|false|"")
-		// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
-		// subtraction forces infinities to NaN
-		// adding 1 corrects loss of precision from parseFloat (#15100)
-		var realStringObj = obj && obj.toString();
-		return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0;
-	},
-
-	isPlainObject: function( obj ) {
-		var key;
-
-		// Not plain objects:
-		// - Any object or value whose internal [[Class]] property is not "[object Object]"
-		// - DOM nodes
-		// - window
-		if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
-			return false;
-		}
-
-		// Not own constructor property must be Object
-		if ( obj.constructor &&
-				!hasOwn.call( obj, "constructor" ) &&
-				!hasOwn.call( obj.constructor.prototype || {}, "isPrototypeOf" ) ) {
-			return false;
-		}
-
-		// Own properties are enumerated firstly, so to speed up,
-		// if last one is own, then all properties are own
-		for ( key in obj ) {}
-
-		return key === undefined || hasOwn.call( obj, key );
-	},
-
-	isEmptyObject: function( obj ) {
-		var name;
-		for ( name in obj ) {
-			return false;
-		}
-		return true;
-	},
-
-	type: function( obj ) {
-		if ( obj == null ) {
-			return obj + "";
-		}
-
-		// Support: Android<4.0, iOS<6 (functionish RegExp)
-		return typeof obj === "object" || typeof obj === "function" ?
-			class2type[ toString.call( obj ) ] || "object" :
-			typeof obj;
-	},
-
-	// Evaluates a script in a global context
-	globalEval: function( code ) {
-		var script,
-			indirect = eval;
-
-		code = jQuery.trim( code );
-
-		if ( code ) {
-
-			// If the code includes a valid, prologue position
-			// strict mode pragma, execute code by injecting a
-			// script tag into the document.
-			if ( code.indexOf( "use strict" ) === 1 ) {
-				script = document.createElement( "script" );
-				script.text = code;
-				document.head.appendChild( script ).parentNode.removeChild( script );
-			} else {
-
-				// Otherwise, avoid the DOM node creation, insertion
-				// and removal by using an indirect global eval
-
-				indirect( code );
-			}
-		}
-	},
-
-	// Convert dashed to camelCase; used by the css and data modules
-	// Support: IE9-11+
-	// Microsoft forgot to hump their vendor prefix (#9572)
-	camelCase: function( string ) {
-		return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
-	},
-
-	nodeName: function( elem, name ) {
-		return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
-	},
-
-	each: function( obj, callback ) {
-		var length, i = 0;
-
-		if ( isArrayLike( obj ) ) {
-			length = obj.length;
-			for ( ; i < length; i++ ) {
-				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
-					break;
-				}
-			}
-		} else {
-			for ( i in obj ) {
-				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
-					break;
-				}
-			}
-		}
-
-		return obj;
-	},
-
-	// Support: Android<4.1
-	trim: function( text ) {
-		return text == null ?
-			"" :
-			( text + "" ).replace( rtrim, "" );
-	},
-
-	// results is for internal usage only
-	makeArray: function( arr, results ) {
-		var ret = results || [];
-
-		if ( arr != null ) {
-			if ( isArrayLike( Object( arr ) ) ) {
-				jQuery.merge( ret,
-					typeof arr === "string" ?
-					[ arr ] : arr
-				);
-			} else {
-				push.call( ret, arr );
-			}
-		}
-
-		return ret;
-	},
-
-	inArray: function( elem, arr, i ) {
-		return arr == null ? -1 : indexOf.call( arr, elem, i );
-	},
-
-	merge: function( first, second ) {
-		var len = +second.length,
-			j = 0,
-			i = first.length;
-
-		for ( ; j < len; j++ ) {
-			first[ i++ ] = second[ j ];
-		}
-
-		first.length = i;
-
-		return first;
-	},
-
-	grep: function( elems, callback, invert ) {
-		var callbackInverse,
-			matches = [],
-			i = 0,
-			length = elems.length,
-			callbackExpect = !invert;
-
-		// Go through the array, only saving the items
-		// that pass the validator function
-		for ( ; i < length; i++ ) {
-			callbackInverse = !callback( elems[ i ], i );
-			if ( callbackInverse !== callbackExpect ) {
-				matches.push( elems[ i ] );
-			}
-		}
-
-		return matches;
-	},
-
-	// arg is for internal usage only
-	map: function( elems, callback, arg ) {
-		var length, value,
-			i = 0,
-			ret = [];
-
-		// Go through the array, translating each of the items to their new values
-		if ( isArrayLike( elems ) ) {
-			length = elems.length;
-			for ( ; i < length; i++ ) {
-				value = callback( elems[ i ], i, arg );
-
-				if ( value != null ) {
-					ret.push( value );
-				}
-			}
-
-		// Go through every key on the object,
-		} else {
-			for ( i in elems ) {
-				value = callback( elems[ i ], i, arg );
-
-				if ( value != null ) {
-					ret.push( value );
-				}
-			}
-		}
-
-		// Flatten any nested arrays
-		return concat.apply( [], ret );
-	},
-
-	// A global GUID counter for objects
-	guid: 1,
-
-	// Bind a function to a context, optionally partially applying any
-	// arguments.
-	proxy: function( fn, context ) {
-		var tmp, args, proxy;
-
-		if ( typeof context === "string" ) {
-			tmp = fn[ context ];
-			context = fn;
-			fn = tmp;
-		}
-
-		// Quick check to determine if target is callable, in the spec
-		// this throws a TypeError, but we will just return undefined.
-		if ( !jQuery.isFunction( fn ) ) {
-			return undefined;
-		}
-
-		// Simulated bind
-		args = slice.call( arguments, 2 );
-		proxy = function() {
-			return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
-		};
-
-		// Set the guid of unique handler to the same of original handler, so it can be removed
-		proxy.guid = fn.guid = fn.guid || jQuery.guid++;
-
-		return proxy;
-	},
-
-	now: Date.now,
-
-	// jQuery.support is not used in Core but other projects attach their
-	// properties to it so it needs to exist.
-	support: support
-} );
-
-// JSHint would error on this code due to the Symbol not being defined in ES5.
-// Defining this global in .jshintrc would create a danger of using the global
-// unguarded in another place, it seems safer to just disable JSHint for these
-// three lines.
-/* jshint ignore: start */
-if ( typeof Symbol === "function" ) {
-	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
-}
-/* jshint ignore: end */
-
-// Populate the class2type map
-jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
-function( i, name ) {
-	class2type[ "[object " + name + "]" ] = name.toLowerCase();
-} );
-
-function isArrayLike( obj ) {
-
-	// Support: iOS 8.2 (not reproducible in simulator)
-	// `in` check used to prevent JIT error (gh-2145)
-	// hasOwn isn't used here due to false negatives
-	// regarding Nodelist length in IE
-	var length = !!obj && "length" in obj && obj.length,
-		type = jQuery.type( obj );
-
-	if ( type === "function" || jQuery.isWindow( obj ) ) {
-		return false;
-	}
-
-	return type === "array" || length === 0 ||
-		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
-}
-var Sizzle =
-/*!
- * Sizzle CSS Selector Engine v2.2.1
- * http://sizzlejs.com/
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license
- * http://jquery.org/license
- *
- * Date: 2015-10-17
- */
-(function( window ) {
-
-var i,
-	support,
-	Expr,
-	getText,
-	isXML,
-	tokenize,
-	compile,
-	select,
-	outermostContext,
-	sortInput,
-	hasDuplicate,
-
-	// Local document vars
-	setDocument,
-	document,
-	docElem,
-	documentIsHTML,
-	rbuggyQSA,
-	rbuggyMatches,
-	matches,
-	contains,
-
-	// Instance-specific data
-	expando = "sizzle" + 1 * new Date(),
-	preferredDoc = window.document,
-	dirruns = 0,
-	done = 0,
-	classCache = createCache(),
-	tokenCache = createCache(),
-	compilerCache = createCache(),
-	sortOrder = function( a, b ) {
-		if ( a === b ) {
-			hasDuplicate = true;
-		}
-		return 0;
-	},
-
-	// General-purpose constants
-	MAX_NEGATIVE = 1 << 31,
-
-	// Instance methods
-	hasOwn = ({}).hasOwnProperty,
-	arr = [],
-	pop = arr.pop,
-	push_native = arr.push,
-	push = arr.push,
-	slice = arr.slice,
-	// Use a stripped-down indexOf as it's faster than native
-	// http://jsperf.com/thor-indexof-vs-for/5
-	indexOf = function( list, elem ) {
-		var i = 0,
-			len = list.length;
-		for ( ; i < len; i++ ) {
-			if ( list[i] === elem ) {
-				return i;
-			}
-		}
-		return -1;
-	},
-
-	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
-
-	// Regular expressions
-
-	// http://www.w3.org/TR/css3-selectors/#whitespace
-	whitespace = "[\\x20\\t\\r\\n\\f]",
-
-	// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
-	identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
-
-	// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
-	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
-		// Operator (capture 2)
-		"*([*^$|!~]?=)" + whitespace +
-		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
-		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
-		"*\\]",
-
-	pseudos = ":(" + identifier + ")(?:\\((" +
-		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
-		// 1. quoted (capture 3; capture 4 or capture 5)
-		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
-		// 2. simple (capture 6)
-		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
-		// 3. anything else (capture 2)
-		".*" +
-		")\\)|)",
-
-	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
-	rwhitespace = new RegExp( whitespace + "+", "g" ),
-	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
-
-	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
-	rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
-
-	rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
-
-	rpseudo = new RegExp( pseudos ),
-	ridentifier = new RegExp( "^" + identifier + "$" ),
-
-	matchExpr = {
-		"ID": new RegExp( "^#(" + identifier + ")" ),
-		"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
-		"TAG": new RegExp( "^(" + identifier + "|[*])" ),
-		"ATTR": new RegExp( "^" + attributes ),
-		"PSEUDO": new RegExp( "^" + pseudos ),
-		"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
-			"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
-			"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
-		"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
-		// For use in libraries implementing .is()
-		// We use this for POS matching in `select`
-		"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
-			whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
-	},
-
-	rinputs = /^(?:input|select|textarea|button)$/i,
-	rheader = /^h\d$/i,
-
-	rnative = /^[^{]+\{\s*\[native \w/,
-
-	// Easily-parseable/retrievable ID or TAG or CLASS selectors
-	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
-
-	rsibling = /[+~]/,
-	rescape = /'|\\/g,
-
-	// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
-	runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
-	funescape = function( _, escaped, escapedWhitespace ) {
-		var high = "0x" + escaped - 0x10000;
-		// NaN means non-codepoint
-		// Support: Firefox<24
-		// Workaround erroneous numeric interpretation of +"0x"
-		return high !== high || escapedWhitespace ?
-			escaped :
-			high < 0 ?
-				// BMP codepoint
-				String.fromCharCode( high + 0x10000 ) :
-				// Supplemental Plane codepoint (surrogate pair)
-				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
-	},
-
-	// Used for iframes
-	// See setDocument()
-	// Removing the function wrapper causes a "Permission Denied"
-	// error in IE
-	unloadHandler = function() {
-		setDocument();
-	};
-
-// Optimize for push.apply( _, NodeList )
-try {
-	push.apply(
-		(arr = slice.call( preferredDoc.childNodes )),
-		preferredDoc.childNodes
-	);
-	// Support: Android<4.0
-	// Detect silently failing push.apply
-	arr[ preferredDoc.childNodes.length ].nodeType;
-} catch ( e ) {
-	push = { apply: arr.length ?
-
-		// Leverage slice if possible
-		function( target, els ) {
-			push_native.apply( target, slice.call(els) );
-		} :
-
-		// Support: IE<9
-		// Otherwise append directly
-		function( target, els ) {
-			var j = target.length,
-				i = 0;
-			// Can't trust NodeList.length
-			while ( (target[j++] = els[i++]) ) {}
-			target.length = j - 1;
-		}
-	};
-}
-
-function Sizzle( selector, context, results, seed ) {
-	var m, i, elem, nid, nidselect, match, groups, newSelector,
-		newContext = context && context.ownerDocument,
-
-		// nodeType defaults to 9, since context defaults to document
-		nodeType = context ? context.nodeType : 9;
-
-	results = results || [];
-
-	// Return early from calls with invalid selector or context
-	if ( typeof selector !== "string" || !selector ||
-		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
-
-		return results;
-	}
-
-	// Try to shortcut find operations (as opposed to filters) in HTML documents
-	if ( !seed ) {
-
-		if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
-			setDocument( context );
-		}
-		context = context || document;
-
-		if ( documentIsHTML ) {
-
-			// If the selector is sufficiently simple, try using a "get*By*" DOM method
-			// (excepting DocumentFragment context, where the methods don't exist)
-			if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
-
-				// ID selector
-				if ( (m = match[1]) ) {
-
-					// Document context
-					if ( nodeType === 9 ) {
-						if ( (elem = context.getElementById( m )) ) {
-
-							// Support: IE, Opera, Webkit
-							// TODO: identify versions
-							// getElementById can match elements by name instead of ID
-							if ( elem.id === m ) {
-								results.push( elem );
-								return results;
-							}
-						} else {
-							return results;
-						}
-
-					// Element context
-					} else {
-
-						// Support: IE, Opera, Webkit
-						// TODO: identify versions
-						// getElementById can match elements by name instead of ID
-						if ( newContext && (elem = newContext.getElementById( m )) &&
-							contains( context, elem ) &&
-							elem.id === m ) {
-
-							results.push( elem );
-							return results;
-						}
-					}
-
-				// Type selector
-				} else if ( match[2] ) {
-					push.apply( results, context.getElementsByTagName( selector ) );
-					return results;
-
-				// Class selector
-				} else if ( (m = match[3]) && support.getElementsByClassName &&
-					context.getElementsByClassName ) {
-
-					push.apply( results, context.getElementsByClassName( m ) );
-					return results;
-				}
-			}
-
-			// Take advantage of querySelectorAll
-			if ( support.qsa &&
-				!compilerCache[ selector + " " ] &&
-				(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
-
-				if ( nodeType !== 1 ) {
-					newContext = context;
-					newSelector = selector;
-
-				// qSA looks outside Element context, which is not what we want
-				// Thanks to Andrew Dupont for this workaround technique
-				// Support: IE <=8
-				// Exclude object elements
-				} else if ( context.nodeName.toLowerCase() !== "object" ) {
-
-					// Capture the context ID, setting it first if necessary
-					if ( (nid = context.getAttribute( "id" )) ) {
-						nid = nid.replace( rescape, "\\$&" );
-					} else {
-						context.setAttribute( "id", (nid = expando) );
-					}
-
-					// Prefix every selector in the list
-					groups = tokenize( selector );
-					i = groups.length;
-					nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']";
-					while ( i-- ) {
-						groups[i] = nidselect + " " + toSelector( groups[i] );
-					}
-					newSelector = groups.join( "," );
-
-					// Expand context for sibling selectors
-					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
-						context;
-				}
-
-				if ( newSelector ) {
-					try {
-						push.apply( results,
-							newContext.querySelectorAll( newSelector )
-						);
-						return results;
-					} catch ( qsaError ) {
-					} finally {
-						if ( nid === expando ) {
-							context.removeAttribute( "id" );
-						}
-					}
-				}
-			}
-		}
-	}
-
-	// All others
-	return select( selector.replace( rtrim, "$1" ), context, results, seed );
-}
-
-/**
- * Create key-value caches of limited size
- * @returns {function(string, object)} Returns the Object data after storing it on itself with
- *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
- *	deleting the oldest entry
- */
-function createCache() {
-	var keys = [];
-
-	function cache( key, value ) {
-		// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
-		if ( keys.push( key + " " ) > Expr.cacheLength ) {
-			// Only keep the most recent entries
-			delete cache[ keys.shift() ];
-		}
-		return (cache[ key + " " ] = value);
-	}
-	return cache;
-}
-
-/**
- * Mark a function for special use by Sizzle
- * @param {Function} fn The function to mark
- */
-function markFunction( fn ) {
-	fn[ expando ] = true;
-	return fn;
-}
-
-/**
- * Support testing using an element
- * @param {Function} fn Passed the created div and expects a boolean result
- */
-function assert( fn ) {
-	var div = document.createElement("div");
-
-	try {
-		return !!fn( div );
-	} catch (e) {
-		return false;
-	} finally {
-		// Remove from its parent by default
-		if ( div.parentNode ) {
-			div.parentNode.removeChild( div );
-		}
-		// release memory in IE
-		div = null;
-	}
-}
-
-/**
- * Adds the same handler for all of the specified attrs
- * @param {String} attrs Pipe-separated list of attributes
- * @param {Function} handler The method that will be applied
- */
-function addHandle( attrs, handler ) {
-	var arr = attrs.split("|"),
-		i = arr.length;
-
-	while ( i-- ) {
-		Expr.attrHandle[ arr[i] ] = handler;
-	}
-}
-
-/**
- * Checks document order of two siblings
- * @param {Element} a
- * @param {Element} b
- * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
- */
-function siblingCheck( a, b ) {
-	var cur = b && a,
-		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
-			( ~b.sourceIndex || MAX_NEGATIVE ) -
-			( ~a.sourceIndex || MAX_NEGATIVE );
-
-	// Use IE sourceIndex if available on both nodes
-	if ( diff ) {
-		return diff;
-	}
-
-	// Check if b follows a
-	if ( cur ) {
-		while ( (cur = cur.nextSibling) ) {
-			if ( cur === b ) {
-				return -1;
-			}
-		}
-	}
-
-	return a ? 1 : -1;
-}
-
-/**
- * Returns a function to use in pseudos for input types
- * @param {String} type
- */
-function createInputPseudo( type ) {
-	return function( elem ) {
-		var name = elem.nodeName.toLowerCase();
-		return name === "input" && elem.type === type;
-	};
-}
-
-/**
- * Returns a function to use in pseudos for buttons
- * @param {String} type
- */
-function createButtonPseudo( type ) {
-	return function( elem ) {
-		var name = elem.nodeName.toLowerCase();
-		return (name === "input" || name === "button") && elem.type === type;
-	};
-}
-
-/**
- * Returns a function to use in pseudos for positionals
- * @param {Function} fn
- */
-function createPositionalPseudo( fn ) {
-	return markFunction(function( argument ) {
-		argument = +argument;
-		return markFunction(function( seed, matches ) {
-			var j,
-				matchIndexes = fn( [], seed.length, argument ),
-				i = matchIndexes.length;
-
-			// Match elements found at the specified indexes
-			while ( i-- ) {
-				if ( seed[ (j = matchIndexes[i]) ] ) {
-					seed[j] = !(matches[j] = seed[j]);
-				}
-			}
-		});
-	});
-}
-
-/**
- * Checks a node for validity as a Sizzle context
- * @param {Element|Object=} context
- * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
- */
-function testContext( context ) {
-	return context && typeof context.getElementsByTagName !== "undefined" && context;
-}
-
-// Expose support vars for convenience
-support = Sizzle.support = {};
-
-/**
- * Detects XML nodes
- * @param {Element|Object} elem An element or a document
- * @returns {Boolean} True iff elem is a non-HTML XML node
- */
-isXML = Sizzle.isXML = function( elem ) {
-	// documentElement is verified for cases where it doesn't yet exist
-	// (such as loading iframes in IE - #4833)
-	var documentElement = elem && (elem.ownerDocument || elem).documentElement;
-	return documentElement ? documentElement.nodeName !== "HTML" : false;
-};
-
-/**
- * Sets document-related variables once based on the current document
- * @param {Element|Object} [doc] An element or document object to use to set the document
- * @returns {Object} Returns the current document
- */
-setDocument = Sizzle.setDocument = function( node ) {
-	var hasCompare, parent,
-		doc = node ? node.ownerDocument || node : preferredDoc;
-
-	// Return early if doc is invalid or already selected
-	if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
-		return document;
-	}
-
-	// Update global variables
-	document = doc;
-	docElem = document.documentElement;
-	documentIsHTML = !isXML( document );
-
-	// Support: IE 9-11, Edge
-	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
-	if ( (parent = document.defaultView) && parent.top !== parent ) {
-		// Support: IE 11
-		if ( parent.addEventListener ) {
-			parent.addEventListener( "unload", unloadHandler, false );
-
-		// Support: IE 9 - 10 only
-		} else if ( parent.attachEvent ) {
-			parent.attachEvent( "onunload", unloadHandler );
-		}
-	}
-
-	/* Attributes
-	---------------------------------------------------------------------- */
-
-	// Support: IE<8
-	// Verify that getAttribute really returns attributes and not properties
-	// (excepting IE8 booleans)
-	support.attributes = assert(function( div ) {
-		div.className = "i";
-		return !div.getAttribute("className");
-	});
-
-	/* getElement(s)By*
-	---------------------------------------------------------------------- */
-
-	// Check if getElementsByTagName("*") returns only elements
-	support.getElementsByTagName = assert(function( div ) {
-		div.appendChild( document.createComment("") );
-		return !div.getElementsByTagName("*").length;
-	});
-
-	// Support: IE<9
-	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
-
-	// Support: IE<10
-	// Check if getElementById returns elements by name
-	// The broken getElementById methods don't pick up programatically-set names,
-	// so use a roundabout getElementsByName test
-	support.getById = assert(function( div ) {
-		docElem.appendChild( div ).id = expando;
-		return !document.getElementsByName || !document.getElementsByName( expando ).length;
-	});
-
-	// ID find and filter
-	if ( support.getById ) {
-		Expr.find["ID"] = function( id, context ) {
-			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
-				var m = context.getElementById( id );
-				return m ? [ m ] : [];
-			}
-		};
-		Expr.filter["ID"] = function( id ) {
-			var attrId = id.replace( runescape, funescape );
-			return function( elem ) {
-				return elem.getAttribute("id") === attrId;
-			};
-		};
-	} else {
-		// Support: IE6/7
-		// getElementById is not reliable as a find shortcut
-		delete Expr.find["ID"];
-
-		Expr.filter["ID"] =  function( id ) {
-			var attrId = id.replace( runescape, funescape );
-			return function( elem ) {
-				var node = typeof elem.getAttributeNode !== "undefined" &&
-					elem.getAttributeNode("id");
-				return node && node.value === attrId;
-			};
-		};
-	}
-
-	// Tag
-	Expr.find["TAG"] = support.getElementsByTagName ?
-		function( tag, context ) {
-			if ( typeof context.getElementsByTagName !== "undefined" ) {
-				return context.getElementsByTagName( tag );
-
-			// DocumentFragment nodes don't have gEBTN
-			} else if ( support.qsa ) {
-				return context.querySelectorAll( tag );
-			}
-		} :
-
-		function( tag, context ) {
-			var elem,
-				tmp = [],
-				i = 0,
-				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
-				results = context.getElementsByTagName( tag );
-
-			// Filter out possible comments
-			if ( tag === "*" ) {
-				while ( (elem = results[i++]) ) {
-					if ( elem.nodeType === 1 ) {
-						tmp.push( elem );
-					}
-				}
-
-				return tmp;
-			}
-			return results;
-		};
-
-	// Class
-	Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
-		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
-			return context.getElementsByClassName( className );
-		}
-	};
-
-	/* QSA/matchesSelector
-	---------------------------------------------------------------------- */
-
-	// QSA and matchesSelector support
-
-	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
-	rbuggyMatches = [];
-
-	// qSa(:focus) reports false when true (Chrome 21)
-	// We allow this because of a bug in IE8/9 that throws an error
-	// whenever `document.activeElement` is accessed on an iframe
-	// So, we allow :focus to pass through QSA all the time to avoid the IE error
-	// See http://bugs.jquery.com/ticket/13378
-	rbuggyQSA = [];
-
-	if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
-		// Build QSA regex
-		// Regex strategy adopted from Diego Perini
-		assert(function( div ) {
-			// Select is set to empty string on purpose
-			// This is to test IE's treatment of not explicitly
-			// setting a boolean content attribute,
-			// since its presence should be enough
-			// http://bugs.jquery.com/ticket/12359
-			docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" +
-				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
-				"<option selected=''></option></select>";
-
-			// Support: IE8, Opera 11-12.16
-			// Nothing should be selected when empty strings follow ^= or $= or *=
-			// The test attribute must be unknown in Opera but "safe" for WinRT
-			// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
-			if ( div.querySelectorAll("[msallowcapture^='']").length ) {
-				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
-			}
-
-			// Support: IE8
-			// Boolean attributes and "value" are not treated correctly
-			if ( !div.querySelectorAll("[selected]").length ) {
-				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
-			}
-
-			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
-			if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
-				rbuggyQSA.push("~=");
-			}
-
-			// Webkit/Opera - :checked should return selected option elements
-			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
-			// IE8 throws error here and will not see later tests
-			if ( !div.querySelectorAll(":checked").length ) {
-				rbuggyQSA.push(":checked");
-			}
-
-			// Support: Safari 8+, iOS 8+
-			// https://bugs.webkit.org/show_bug.cgi?id=136851
-			// In-page `selector#id sibing-combinator selector` fails
-			if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) {
-				rbuggyQSA.push(".#.+[+~]");
-			}
-		});
-
-		assert(function( div ) {
-			// Support: Windows 8 Native Apps
-			// The type and name attributes are restricted during .innerHTML assignment
-			var input = document.createElement("input");
-			input.setAttribute( "type", "hidden" );
-			div.appendChild( input ).setAttribute( "name", "D" );
-
-			// Support: IE8
-			// Enforce case-sensitivity of name attribute
-			if ( div.querySelectorAll("[name=d]").length ) {
-				rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
-			}
-
-			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
-			// IE8 throws error here and will not see later tests
-			if ( !div.querySelectorAll(":enabled").length ) {
-				rbuggyQSA.push( ":enabled", ":disabled" );
-			}
-
-			// Opera 10-11 does not throw on post-comma invalid pseudos
-			div.querySelectorAll("*,:x");
-			rbuggyQSA.push(",.*:");
-		});
-	}
-
-	if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
-		docElem.webkitMatchesSelector ||
-		docElem.mozMatchesSelector ||
-		docElem.oMatchesSelector ||
-		docElem.msMatchesSelector) )) ) {
-
-		assert(function( div ) {
-			// Check to see if it's possible to do matchesSelector
-			// on a disconnected node (IE 9)
-			support.disconnectedMatch = matches.call( div, "div" );
-
-			// This should fail with an exception
-			// Gecko does not error, returns false instead
-			matches.call( div, "[s!='']:x" );
-			rbuggyMatches.push( "!=", pseudos );
-		});
-	}
-
-	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
-	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
-
-	/* Contains
-	---------------------------------------------------------------------- */
-	hasCompare = rnative.test( docElem.compareDocumentPosition );
-
-	// Element contains another
-	// Purposefully self-exclusive
-	// As in, an element does not contain itself
-	contains = hasCompare || rnative.test( docElem.contains ) ?
-		function( a, b ) {
-			var adown = a.nodeType === 9 ? a.documentElement : a,
-				bup = b && b.parentNode;
-			return a === bup || !!( bup && bup.nodeType === 1 && (
-				adown.contains ?
-					adown.contains( bup ) :
-					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
-			));
-		} :
-		function( a, b ) {
-			if ( b ) {
-				while ( (b = b.parentNode) ) {
-					if ( b === a ) {
-						return true;
-					}
-				}
-			}
-			return false;
-		};
-
-	/* Sorting
-	---------------------------------------------------------------------- */
-
-	// Document order sorting
-	sortOrder = hasCompare ?
-	function( a, b ) {
-
-		// Flag for duplicate removal
-		if ( a === b ) {
-			hasDuplicate = true;
-			return 0;
-		}
-
-		// Sort on method existence if only one input has compareDocumentPosition
-		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
-		if ( compare ) {
-			return compare;
-		}
-
-		// Calculate position if both inputs belong to the same document
-		compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
-			a.compareDocumentPosition( b ) :
-
-			// Otherwise we know they are disconnected
-			1;
-
-		// Disconnected nodes
-		if ( compare & 1 ||
-			(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
-
-			// Choose the first element that is related to our preferred document
-			if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
-				return -1;
-			}
-			if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
-				return 1;
-			}
-
-			// Maintain original order
-			return sortInput ?
-				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
-				0;
-		}
-
-		return compare & 4 ? -1 : 1;
-	} :
-	function( a, b ) {
-		// Exit early if the nodes are identical
-		if ( a === b ) {
-			hasDuplicate = true;
-			return 0;
-		}
-
-		var cur,
-			i = 0,
-			aup = a.parentNode,
-			bup = b.parentNode,
-			ap = [ a ],
-			bp = [ b ];
-
-		// Parentless nodes are either documents or disconnected
-		if ( !aup || !bup ) {
-			return a === document ? -1 :
-				b === document ? 1 :
-				aup ? -1 :
-				bup ? 1 :
-				sortInput ?
-				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
-				0;
-
-		// If the nodes are siblings, we can do a quick check
-		} else if ( aup === bup ) {
-			return siblingCheck( a, b );
-		}
-
-		// Otherwise we need full lists of their ancestors for comparison
-		cur = a;
-		while ( (cur = cur.parentNode) ) {
-			ap.unshift( cur );
-		}
-		cur = b;
-		while ( (cur = cur.parentNode) ) {
-			bp.unshift( cur );
-		}
-
-		// Walk down the tree looking for a discrepancy
-		while ( ap[i] === bp[i] ) {
-			i++;
-		}
-
-		return i ?
-			// Do a sibling check if the nodes have a common ancestor
-			siblingCheck( ap[i], bp[i] ) :
-
-			// Otherwise nodes in our document sort first
-			ap[i] === preferredDoc ? -1 :
-			bp[i] === preferredDoc ? 1 :
-			0;
-	};
-
-	return document;
-};
-
-Sizzle.matches = function( expr, elements ) {
-	return Sizzle( expr, null, null, elements );
-};
-
-Sizzle.matchesSelector = function( elem, expr ) {
-	// Set document vars if needed
-	if ( ( elem.ownerDocument || elem ) !== document ) {
-		setDocument( elem );
-	}
-
-	// Make sure that attribute selectors are quoted
-	expr = expr.replace( rattributeQuotes, "='$1']" );
-
-	if ( support.matchesSelector && documentIsHTML &&
-		!compilerCache[ expr + " " ] &&
-		( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
-		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
-
-		try {
-			var ret = matches.call( elem, expr );
-
-			// IE 9's matchesSelector returns false on disconnected nodes
-			if ( ret || support.disconnectedMatch ||
-					// As well, disconnected nodes are said to be in a document
-					// fragment in IE 9
-					elem.document && elem.document.nodeType !== 11 ) {
-				return ret;
-			}
-		} catch (e) {}
-	}
-
-	return Sizzle( expr, document, null, [ elem ] ).length > 0;
-};
-
-Sizzle.contains = function( context, elem ) {
-	// Set document vars if needed
-	if ( ( context.ownerDocument || context ) !== document ) {
-		setDocument( context );
-	}
-	return contains( context, elem );
-};
-
-Sizzle.attr = function( elem, name ) {
-	// Set document vars if needed
-	if ( ( elem.ownerDocument || elem ) !== document ) {
-		setDocument( elem );
-	}
-
-	var fn = Expr.attrHandle[ name.toLowerCase() ],
-		// Don't get fooled by Object.prototype properties (jQuery #13807)
-		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
-			fn( elem, name, !documentIsHTML ) :
-			undefined;
-
-	return val !== undefined ?
-		val :
-		support.attributes || !documentIsHTML ?
-			elem.getAttribute( name ) :
-			(val = elem.getAttributeNode(name)) && val.specified ?
-				val.value :
-				null;
-};
-
-Sizzle.error = function( msg ) {
-	throw new Error( "Syntax error, unrecognized expression: " + msg );
-};
-
-/**
- * Document sorting and removing duplicates
- * @param {ArrayLike} results
- */
-Sizzle.uniqueSort = function( results ) {
-	var elem,
-		duplicates = [],
-		j = 0,
-		i = 0;
-
-	// Unless we *know* we can detect duplicates, assume their presence
-	hasDuplicate = !support.detectDuplicates;
-	sortInput = !support.sortStable && results.slice( 0 );
-	results.sort( sortOrder );
-
-	if ( hasDuplicate ) {
-		while ( (elem = results[i++]) ) {
-			if ( elem === results[ i ] ) {
-				j = duplicates.push( i );
-			}
-		}
-		while ( j-- ) {
-			results.splice( duplicates[ j ], 1 );
-		}
-	}
-
-	// Clear input after sorting to release objects
-	// See https://github.com/jquery/sizzle/pull/225
-	sortInput = null;
-
-	return results;
-};
-
-/**
- * Utility function for retrieving the text value of an array of DOM nodes
- * @param {Array|Element} elem
- */
-getText = Sizzle.getText = function( elem ) {
-	var node,
-		ret = "",
-		i = 0,
-		nodeType = elem.nodeType;
-
-	if ( !nodeType ) {
-		// If no nodeType, this is expected to be an array
-		while ( (node = elem[i++]) ) {
-			// Do not traverse comment nodes
-			ret += getText( node );
-		}
-	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
-		// Use textContent for elements
-		// innerText usage removed for consistency of new lines (jQuery #11153)
-		if ( typeof elem.textContent === "string" ) {
-			return elem.textContent;
-		} else {
-			// Traverse its children
-			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
-				ret += getText( elem );
-			}
-		}
-	} else if ( nodeType === 3 || nodeType === 4 ) {
-		return elem.nodeValue;
-	}
-	// Do not include comment or processing instruction nodes
-
-	return ret;
-};
-
-Expr = Sizzle.selectors = {
-
-	// Can be adjusted by the user
-	cacheLength: 50,
-
-	createPseudo: markFunction,
-
-	match: matchExpr,
-
-	attrHandle: {},
-
-	find: {},
-
-	relative: {
-		">": { dir: "parentNode", first: true },
-		" ": { dir: "parentNode" },
-		"+": { dir: "previousSibling", first: true },
-		"~": { dir: "previousSibling" }
-	},
-
-	preFilter: {
-		"ATTR": function( match ) {
-			match[1] = match[1].replace( runescape, funescape );
-
-			// Move the given value to match[3] whether quoted or unquoted
-			match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
-
-			if ( match[2] === "~=" ) {
-				match[3] = " " + match[3] + " ";
-			}
-
-			return match.slice( 0, 4 );
-		},
-
-		"CHILD": function( match ) {
-			/* matches from matchExpr["CHILD"]
-				1 type (only|nth|...)
-				2 what (child|of-type)
-				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
-				4 xn-component of xn+y argument ([+-]?\d*n|)
-				5 sign of xn-component
-				6 x of xn-component
-				7 sign of y-component
-				8 y of y-component
-			*/
-			match[1] = match[1].toLowerCase();
-
-			if ( match[1].slice( 0, 3 ) === "nth" ) {
-				// nth-* requires argument
-				if ( !match[3] ) {
-					Sizzle.error( match[0] );
-				}
-
-				// numeric x and y parameters for Expr.filter.CHILD
-				// remember that false/true cast respectively to 0/1
-				match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
-				match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
-
-			// other types prohibit arguments
-			} else if ( match[3] ) {
-				Sizzle.error( match[0] );
-			}
-
-			return match;
-		},
-
-		"PSEUDO": function( match ) {
-			var excess,
-				unquoted = !match[6] && match[2];
-
-			if ( matchExpr["CHILD"].test( match[0] ) ) {
-				return null;
-			}
-
-			// Accept quoted arguments as-is
-			if ( match[3] ) {
-				match[2] = match[4] || match[5] || "";
-
-			// Strip excess characters from unquoted arguments
-			} else if ( unquoted && rpseudo.test( unquoted ) &&
-				// Get excess from tokenize (recursively)
-				(excess = tokenize( unquoted, true )) &&
-				// advance to the next closing parenthesis
-				(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
-
-				// excess is a negative index
-				match[0] = match[0].slice( 0, excess );
-				match[2] = unquoted.slice( 0, excess );
-			}
-
-			// Return only captures needed by the pseudo filter method (type and argument)
-			return match.slice( 0, 3 );
-		}
-	},
-
-	filter: {
-
-		"TAG": function( nodeNameSelector ) {
-			var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
-			return nodeNameSelector === "*" ?
-				function() { return true; } :
-				function( elem ) {
-					return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
-				};
-		},
-
-		"CLASS": function( className ) {
-			var pattern = classCache[ className + " " ];
-
-			return pattern ||
-				(pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
-				classCache( className, function( elem ) {
-					return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
-				});
-		},
-
-		"ATTR": function( name, operator, check ) {
-			return function( elem ) {
-				var result = Sizzle.attr( elem, name );
-
-				if ( result == null ) {
-					return operator === "!=";
-				}
-				if ( !operator ) {
-					return true;
-				}
-
-				result += "";
-
-				return operator === "=" ? result === check :
-					operator === "!=" ? result !== check :
-					operator === "^=" ? check && result.indexOf( check ) === 0 :
-					operator === "*=" ? check && result.indexOf( check ) > -1 :
-					operator === "$=" ? check && result.slice( -check.length ) === check :
-					operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
-					operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
-					false;
-			};
-		},
-
-		"CHILD": function( type, what, argument, first, last ) {
-			var simple = type.slice( 0, 3 ) !== "nth",
-				forward = type.slice( -4 ) !== "last",
-				ofType = what === "of-type";
-
-			return first === 1 && last === 0 ?
-
-				// Shortcut for :nth-*(n)
-				function( elem ) {
-					return !!elem.parentNode;
-				} :
-
-				function( elem, context, xml ) {
-					var cache, uniqueCache, outerCache, node, nodeIndex, start,
-						dir = simple !== forward ? "nextSibling" : "previousSibling",
-						parent = elem.parentNode,
-						name = ofType && elem.nodeName.toLowerCase(),
-						useCache = !xml && !ofType,
-						diff = false;
-
-					if ( parent ) {
-
-						// :(first|last|only)-(child|of-type)
-						if ( simple ) {
-							while ( dir ) {
-								node = elem;
-								while ( (node = node[ dir ]) ) {
-									if ( ofType ?
-										node.nodeName.toLowerCase() === name :
-										node.nodeType === 1 ) {
-
-										return false;
-									}
-								}
-								// Reverse direction for :only-* (if we haven't yet done so)
-								start = dir = type === "only" && !start && "nextSibling";
-							}
-							return true;
-						}
-
-						start = [ forward ? parent.firstChild : parent.lastChild ];
-
-						// non-xml :nth-child(...) stores cache data on `parent`
-						if ( forward && useCache ) {
-
-							// Seek `elem` from a previously-cached index
-
-							// ...in a gzip-friendly way
-							node = parent;
-							outerCache = node[ expando ] || (node[ expando ] = {});
-
-							// Support: IE <9 only
-							// Defend against cloned attroperties (jQuery gh-1709)
-							uniqueCache = outerCache[ node.uniqueID ] ||
-								(outerCache[ node.uniqueID ] = {});
-
-							cache = uniqueCache[ type ] || [];
-							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
-							diff = nodeIndex && cache[ 2 ];
-							node = nodeIndex && parent.childNodes[ nodeIndex ];
-
-							while ( (node = ++nodeIndex && node && node[ dir ] ||
-
-								// Fallback to seeking `elem` from the start
-								(diff = nodeIndex = 0) || start.pop()) ) {
-
-								// When found, cache indexes on `parent` and break
-								if ( node.nodeType === 1 && ++diff && node === elem ) {
-									uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
-									break;
-								}
-							}
-
-						} else {
-							// Use previously-cached element index if available
-							if ( useCache ) {
-								// ...in a gzip-friendly way
-								node = elem;
-								outerCache = node[ expando ] || (node[ expando ] = {});
-
-								// Support: IE <9 only
-								// Defend against cloned attroperties (jQuery gh-1709)
-								uniqueCache = outerCache[ node.uniqueID ] ||
-									(outerCache[ node.uniqueID ] = {});
-
-								cache = uniqueCache[ type ] || [];
-								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
-								diff = nodeIndex;
-							}
-
-							// xml :nth-child(...)
-							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
-							if ( diff === false ) {
-								// Use the same loop as above to seek `elem` from the start
-								while ( (node = ++nodeIndex && node && node[ dir ] ||
-									(diff = nodeIndex = 0) || start.pop()) ) {
-
-									if ( ( ofType ?
-										node.nodeName.toLowerCase() === name :
-										node.nodeType === 1 ) &&
-										++diff ) {
-
-										// Cache the index of each encountered element
-										if ( useCache ) {
-											outerCache = node[ expando ] || (node[ expando ] = {});
-
-											// Support: IE <9 only
-											// Defend against cloned attroperties (jQuery gh-1709)
-											uniqueCache = outerCache[ node.uniqueID ] ||
-												(outerCache[ node.uniqueID ] = {});
-
-											uniqueCache[ type ] = [ dirruns, diff ];
-										}
-
-										if ( node === elem ) {
-											break;
-										}
-									}
-								}
-							}
-						}
-
-						// Incorporate the offset, then check against cycle size
-						diff -= last;
-						return diff === first || ( diff % first === 0 && diff / first >= 0 );
-					}
-				};
-		},
-
-		"PSEUDO": function( pseudo, argument ) {
-			// pseudo-class names are case-insensitive
-			// http://www.w3.org/TR/selectors/#pseudo-classes
-			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
-			// Remember that setFilters inherits from pseudos
-			var args,
-				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
-					Sizzle.error( "unsupported pseudo: " + pseudo );
-
-			// The user may use createPseudo to indicate that
-			// arguments are needed to create the filter function
-			// just as Sizzle does
-			if ( fn[ expando ] ) {
-				return fn( argument );
-			}
-
-			// But maintain support for old signatures
-			if ( fn.length > 1 ) {
-				args = [ pseudo, pseudo, "", argument ];
-				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
-					markFunction(function( seed, matches ) {
-						var idx,
-							matched = fn( seed, argument ),
-							i = matched.length;
-						while ( i-- ) {
-							idx = indexOf( seed, matched[i] );
-							seed[ idx ] = !( matches[ idx ] = matched[i] );
-						}
-					}) :
-					function( elem ) {
-						return fn( elem, 0, args );
-					};
-			}
-
-			return fn;
-		}
-	},
-
-	pseudos: {
-		// Potentially complex pseudos
-		"not": markFunction(function( selector ) {
-			// Trim the selector passed to compile
-			// to avoid treating leading and trailing
-			// spaces as combinators
-			var input = [],
-				results = [],
-				matcher = compile( selector.replace( rtrim, "$1" ) );
-
-			return matcher[ expando ] ?
-				markFunction(function( seed, matches, context, xml ) {
-					var elem,
-						unmatched = matcher( seed, null, xml, [] ),
-						i = seed.length;
-
-					// Match elements unmatched by `matcher`
-					while ( i-- ) {
-						if ( (elem = unmatched[i]) ) {
-							seed[i] = !(matches[i] = elem);
-						}
-					}
-				}) :
-				function( elem, context, xml ) {
-					input[0] = elem;
-					matcher( input, null, xml, results );
-					// Don't keep the element (issue #299)
-					input[0] = null;
-					return !results.pop();
-				};
-		}),
-
-		"has": markFunction(function( selector ) {
-			return function( elem ) {
-				return Sizzle( selector, elem ).length > 0;
-			};
-		}),
-
-		"contains": markFunction(function( text ) {
-			text = text.replace( runescape, funescape );
-			return function( elem ) {
-				return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
-			};
-		}),
-
-		// "Whether an element is represented by a :lang() selector
-		// is based solely on the element's language value
-		// being equal to the identifier C,
-		// or beginning with the identifier C immediately followed by "-".
-		// The matching of C against the element's language value is performed case-insensitively.
-		// The identifier C does not have to be a valid language name."
-		// http://www.w3.org/TR/selectors/#lang-pseudo
-		"lang": markFunction( function( lang ) {
-			// lang value must be a valid identifier
-			if ( !ridentifier.test(lang || "") ) {
-				Sizzle.error( "unsupported lang: " + lang );
-			}
-			lang = lang.replace( runescape, funescape ).toLowerCase();
-			return function( elem ) {
-				var elemLang;
-				do {
-					if ( (elemLang = documentIsHTML ?
-						elem.lang :
-						elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
-
-						elemLang = elemLang.toLowerCase();
-						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
-					}
-				} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
-				return false;
-			};
-		}),
-
-		// Miscellaneous
-		"target": function( elem ) {
-			var hash = window.location && window.location.hash;
-			return hash && hash.slice( 1 ) === elem.id;
-		},
-
-		"root": function( elem ) {
-			return elem === docElem;
-		},
-
-		"focus": function( elem ) {
-			return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
-		},
-
-		// Boolean properties
-		"enabled": function( elem ) {
-			return elem.disabled === false;
-		},
-
-		"disabled": function( elem ) {
-			return elem.disabled === true;
-		},
-
-		"checked": function( elem ) {
-			// In CSS3, :checked should return both checked and selected elements
-			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
-			var nodeName = elem.nodeName.toLowerCase();
-			return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
-		},
-
-		"selected": function( elem ) {
-			// Accessing this property makes selected-by-default
-			// options in Safari work properly
-			if ( elem.parentNode ) {
-				elem.parentNode.selectedIndex;
-			}
-
-			return elem.selected === true;
-		},
-
-		// Contents
-		"empty": function( elem ) {
-			// http://www.w3.org/TR/selectors/#empty-pseudo
-			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
-			//   but not by others (comment: 8; processing instruction: 7; etc.)
-			// nodeType < 6 works because attributes (2) do not appear as children
-			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
-				if ( elem.nodeType < 6 ) {
-					return false;
-				}
-			}
-			return true;
-		},
-
-		"parent": function( elem ) {
-			return !Expr.pseudos["empty"]( elem );
-		},
-
-		// Element/input types
-		"header": function( elem ) {
-			return rheader.test( elem.nodeName );
-		},
-
-		"input": function( elem ) {
-			return rinputs.test( elem.nodeName );
-		},
-
-		"button": function( elem ) {
-			var name = elem.nodeName.toLowerCase();
-			return name === "input" && elem.type === "button" || name === "button";
-		},
-
-		"text": function( elem ) {
-			var attr;
-			return elem.nodeName.toLowerCase() === "input" &&
-				elem.type === "text" &&
-
-				// Support: IE<8
-				// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
-				( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
-		},
-
-		// Position-in-collection
-		"first": createPositionalPseudo(function() {
-			return [ 0 ];
-		}),
-
-		"last": createPositionalPseudo(function( matchIndexes, length ) {
-			return [ length - 1 ];
-		}),
-
-		"eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
-			return [ argument < 0 ? argument + length : argument ];
-		}),
-
-		"even": createPositionalPseudo(function( matchIndexes, length ) {
-			var i = 0;
-			for ( ; i < length; i += 2 ) {
-				matchIndexes.push( i );
-			}
-			return matchIndexes;
-		}),
-
-		"odd": createPositionalPseudo(function( matchIndexes, length ) {
-			var i = 1;
-			for ( ; i < length; i += 2 ) {
-				matchIndexes.push( i );
-			}
-			return matchIndexes;
-		}),
-
-		"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
-			var i = argument < 0 ? argument + length : argument;
-			for ( ; --i >= 0; ) {
-				matchIndexes.push( i );
-			}
-			return matchIndexes;
-		}),
-
-		"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
-			var i = argument < 0 ? argument + length : argument;
-			for ( ; ++i < length; ) {
-				matchIndexes.push( i );
-			}
-			return matchIndexes;
-		})
-	}
-};
-
-Expr.pseudos["nth"] = Expr.pseudos["eq"];
-
-// Add button/input type pseudos
-for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
-	Expr.pseudos[ i ] = createInputPseudo( i );
-}
-for ( i in { submit: true, reset: true } ) {
-	Expr.pseudos[ i ] = createButtonPseudo( i );
-}
-
-// Easy API for creating new setFilters
-function setFilters() {}
-setFilters.prototype = Expr.filters = Expr.pseudos;
-Expr.setFilters = new setFilters();
-
-tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
-	var matched, match, tokens, type,
-		soFar, groups, preFilters,
-		cached = tokenCache[ selector + " " ];
-
-	if ( cached ) {
-		return parseOnly ? 0 : cached.slice( 0 );
-	}
-
-	soFar = selector;
-	groups = [];
-	preFilters = Expr.preFilter;
-
-	while ( soFar ) {
-
-		// Comma and first run
-		if ( !matched || (match = rcomma.exec( soFar )) ) {
-			if ( match ) {
-				// Don't consume trailing commas as valid
-				soFar = soFar.slice( match[0].length ) || soFar;
-			}
-			groups.push( (tokens = []) );
-		}
-
-		matched = false;
-
-		// Combinators
-		if ( (match = rcombinators.exec( soFar )) ) {
-			matched = match.shift();
-			tokens.push({
-				value: matched,
-				// Cast descendant combinators to space
-				type: match[0].replace( rtrim, " " )
-			});
-			soFar = soFar.slice( matched.length );
-		}
-
-		// Filters
-		for ( type in Expr.filter ) {
-			if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
-				(match = preFilters[ type ]( match ))) ) {
-				matched = match.shift();
-				tokens.push({
-					value: matched,
-					type: type,
-					matches: match
-				});
-				soFar = soFar.slice( matched.length );
-			}
-		}
-
-		if ( !matched ) {
-			break;
-		}
-	}
-
-	// Return the length of the invalid excess
-	// if we're just parsing
-	// Otherwise, throw an error or return tokens
-	return parseOnly ?
-		soFar.length :
-		soFar ?
-			Sizzle.error( selector ) :
-			// Cache the tokens
-			tokenCache( selector, groups ).slice( 0 );
-};
-
-function toSelector( tokens ) {
-	var i = 0,
-		len = tokens.length,
-		selector = "";
-	for ( ; i < len; i++ ) {
-		selector += tokens[i].value;
-	}
-	return selector;
-}
-
-function addCombinator( matcher, combinator, base ) {
-	var dir = combinator.dir,
-		checkNonElements = base && dir === "parentNode",
-		doneName = done++;
-
-	return combinator.first ?
-		// Check against closest ancestor/preceding element
-		function( elem, context, xml ) {
-			while ( (elem = elem[ dir ]) ) {
-				if ( elem.nodeType === 1 || checkNonElements ) {
-					return matcher( elem, context, xml );
-				}
-			}
-		} :
-
-		// Check against all ancestor/preceding elements
-		function( elem, context, xml ) {
-			var oldCache, uniqueCache, outerCache,
-				newCache = [ dirruns, doneName ];
-
-			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
-			if ( xml ) {
-				while ( (elem = elem[ dir ]) ) {
-					if ( elem.nodeType === 1 || checkNonElements ) {
-						if ( matcher( elem, context, xml ) ) {
-							return true;
-						}
-					}
-				}
-			} else {
-				while ( (elem = elem[ dir ]) ) {
-					if ( elem.nodeType === 1 || checkNonElements ) {
-						outerCache = elem[ expando ] || (elem[ expando ] = {});
-
-						// Support: IE <9 only
-						// Defend against cloned attroperties (jQuery gh-1709)
-						uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
-
-						if ( (oldCache = uniqueCache[ dir ]) &&
-							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
-
-							// Assign to newCache so results back-propagate to previous elements
-							return (newCache[ 2 ] = oldCache[ 2 ]);
-						} else {
-							// Reuse newcache so results back-propagate to previous elements
-							uniqueCache[ dir ] = newCache;
-
-							// A match means we're done; a fail means we have to keep checking
-							if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
-								return true;
-							}
-						}
-					}
-				}
-			}
-		};
-}
-
-function elementMatcher( matchers ) {
-	return matchers.length > 1 ?
-		function( elem, context, xml ) {
-			var i = matchers.length;
-			while ( i-- ) {
-				if ( !matchers[i]( elem, context, xml ) ) {
-					return false;
-				}
-			}
-			return true;
-		} :
-		matchers[0];
-}
-
-function multipleContexts( selector, contexts, results ) {
-	var i = 0,
-		len = contexts.length;
-	for ( ; i < len; i++ ) {
-		Sizzle( selector, contexts[i], results );
-	}
-	return results;
-}
-
-function condense( unmatched, map, filter, context, xml ) {
-	var elem,
-		newUnmatched = [],
-		i = 0,
-		len = unmatched.length,
-		mapped = map != null;
-
-	for ( ; i < len; i++ ) {
-		if ( (elem = unmatched[i]) ) {
-			if ( !filter || filter( elem, context, xml ) ) {
-				newUnmatched.push( elem );
-				if ( mapped ) {
-					map.push( i );
-				}
-			}
-		}
-	}
-
-	return newUnmatched;
-}
-
-function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
-	if ( postFilter && !postFilter[ expando ] ) {
-		postFilter = setMatcher( postFilter );
-	}
-	if ( postFinder && !postFinder[ expando ] ) {
-		postFinder = setMatcher( postFinder, postSelector );
-	}
-	return markFunction(function( seed, results, context, xml ) {
-		var temp, i, elem,
-			preMap = [],
-			postMap = [],
-			preexisting = results.length,
-
-			// Get initial elements from seed or context
-			elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
-
-			// Prefilter to get matcher input, preserving a map for seed-results synchronization
-			matcherIn = preFilter && ( seed || !selector ) ?
-				condense( elems, preMap, preFilter, context, xml ) :
-				elems,
-
-			matcherOut = matcher ?
-				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
-				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
-
-					// ...intermediate processing is necessary
-					[] :
-
-					// ...otherwise use results directly
-					results :
-				matcherIn;
-
-		// Find primary matches
-		if ( matcher ) {
-			matcher( matcherIn, matcherOut, context, xml );
-		}
-
-		// Apply postFilter
-		if ( postFilter ) {
-			temp = condense( matcherOut, postMap );
-			postFilter( temp, [], context, xml );
-
-			// Un-match failing elements by moving them back to matcherIn
-			i = temp.length;
-			while ( i-- ) {
-				if ( (elem = temp[i]) ) {
-					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
-				}
-			}
-		}
-
-		if ( seed ) {
-			if ( postFinder || preFilter ) {
-				if ( postFinder ) {
-					// Get the final matcherOut by condensing this intermediate into postFinder contexts
-					temp = [];
-					i = matcherOut.length;
-					while ( i-- ) {
-						if ( (elem = matcherOut[i]) ) {
-							// Restore matcherIn since elem is not yet a final match
-							temp.push( (matcherIn[i] = elem) );
-						}
-					}
-					postFinder( null, (matcherOut = []), temp, xml );
-				}
-
-				// Move matched elements from seed to results to keep them synchronized
-				i = matcherOut.length;
-				while ( i-- ) {
-					if ( (elem = matcherOut[i]) &&
-						(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
-
-						seed[temp] = !(results[temp] = elem);
-					}
-				}
-			}
-
-		// Add elements to results, through postFinder if defined
-		} else {
-			matcherOut = condense(
-				matcherOut === results ?
-					matcherOut.splice( preexisting, matcherOut.length ) :
-					matcherOut
-			);
-			if ( postFinder ) {
-				postFinder( null, results, matcherOut, xml );
-			} else {
-				push.apply( results, matcherOut );
-			}
-		}
-	});
-}
-
-function matcherFromTokens( tokens ) {
-	var checkContext, matcher, j,
-		len = tokens.length,
-		leadingRelative = Expr.relative[ tokens[0].type ],
-		implicitRelative = leadingRelative || Expr.relative[" "],
-		i = leadingRelative ? 1 : 0,
-
-		// The foundational matcher ensures that elements are reachable from top-level context(s)
-		matchContext = addCombinator( function( elem ) {
-			return elem === checkContext;
-		}, implicitRelative, true ),
-		matchAnyContext = addCombinator( function( elem ) {
-			return indexOf( checkContext, elem ) > -1;
-		}, implicitRelative, true ),
-		matchers = [ function( elem, context, xml ) {
-			var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
-				(checkContext = context).nodeType ?
-					matchContext( elem, context, xml ) :
-					matchAnyContext( elem, context, xml ) );
-			// Avoid hanging onto element (issue #299)
-			checkContext = null;
-			return ret;
-		} ];
-
-	for ( ; i < len; i++ ) {
-		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
-			matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
-		} else {
-			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
-
-			// Return special upon seeing a positional matcher
-			if ( matcher[ expando ] ) {
-				// Find the next relative operator (if any) for proper handling
-				j = ++i;
-				for ( ; j < len; j++ ) {
-					if ( Expr.relative[ tokens[j].type ] ) {
-						break;
-					}
-				}
-				return setMatcher(
-					i > 1 && elementMatcher( matchers ),
-					i > 1 && toSelector(
-						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
-						tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
-					).replace( rtrim, "$1" ),
-					matcher,
-					i < j && matcherFromTokens( tokens.slice( i, j ) ),
-					j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
-					j < len && toSelector( tokens )
-				);
-			}
-			matchers.push( matcher );
-		}
-	}
-
-	return elementMatcher( matchers );
-}
-
-function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
-	var bySet = setMatchers.length > 0,
-		byElement = elementMatchers.length > 0,
-		superMatcher = function( seed, context, xml, results, outermost ) {
-			var elem, j, matcher,
-				matchedCount = 0,
-				i = "0",
-				unmatched = seed && [],
-				setMatched = [],
-				contextBackup = outermostContext,
-				// We must always have either seed elements or outermost context
-				elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
-				// Use integer dirruns iff this is the outermost matcher
-				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
-				len = elems.length;
-
-			if ( outermost ) {
-				outermostContext = context === document || context || outermost;
-			}
-
-			// Add elements passing elementMatchers directly to results
-			// Support: IE<9, Safari
-			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
-			for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
-				if ( byElement && elem ) {
-					j = 0;
-					if ( !context && elem.ownerDocument !== document ) {
-						setDocument( elem );
-						xml = !documentIsHTML;
-					}
-					while ( (matcher = elementMatchers[j++]) ) {
-						if ( matcher( elem, context || document, xml) ) {
-							results.push( elem );
-							break;
-						}
-					}
-					if ( outermost ) {
-						dirruns = dirrunsUnique;
-					}
-				}
-
-				// Track unmatched elements for set filters
-				if ( bySet ) {
-					// They will have gone through all possible matchers
-					if ( (elem = !matcher && elem) ) {
-						matchedCount--;
-					}
-
-					// Lengthen the array for every element, matched or not
-					if ( seed ) {
-						unmatched.push( elem );
-					}
-				}
-			}
-
-			// `i` is now the count of elements visited above, and adding it to `matchedCount`
-			// makes the latter nonnegative.
-			matchedCount += i;
-
-			// Apply set filters to unmatched elements
-			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
-			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
-			// no element matchers and no seed.
-			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
-			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
-			// numerically zero.
-			if ( bySet && i !== matchedCount ) {
-				j = 0;
-				while ( (matcher = setMatchers[j++]) ) {
-					matcher( unmatched, setMatched, context, xml );
-				}
-
-				if ( seed ) {
-					// Reintegrate element matches to eliminate the need for sorting
-					if ( matchedCount > 0 ) {
-						while ( i-- ) {
-							if ( !(unmatched[i] || setMatched[i]) ) {
-								setMatched[i] = pop.call( results );
-							}
-						}
-					}
-
-					// Discard index placeholder values to get only actual matches
-					setMatched = condense( setMatched );
-				}
-
-				// Add matches to results
-				push.apply( results, setMatched );
-
-				// Seedless set matches succeeding multiple successful matchers stipulate sorting
-				if ( outermost && !seed && setMatched.length > 0 &&
-					( matchedCount + setMatchers.length ) > 1 ) {
-
-					Sizzle.uniqueSort( results );
-				}
-			}
-
-			// Override manipulation of globals by nested matchers
-			if ( outermost ) {
-				dirruns = dirrunsUnique;
-				outermostContext = contextBackup;
-			}
-
-			return unmatched;
-		};
-
-	return bySet ?
-		markFunction( superMatcher ) :
-		superMatcher;
-}
-
-compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
-	var i,
-		setMatchers = [],
-		elementMatchers = [],
-		cached = compilerCache[ selector + " " ];
-
-	if ( !cached ) {
-		// Generate a function of recursive functions that can be used to check each element
-		if ( !match ) {
-			match = tokenize( selector );
-		}
-		i = match.length;
-		while ( i-- ) {
-			cached = matcherFromTokens( match[i] );
-			if ( cached[ expando ] ) {
-				setMatchers.push( cached );
-			} else {
-				elementMatchers.push( cached );
-			}
-		}
-
-		// Cache the compiled function
-		cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
-
-		// Save selector and tokenization
-		cached.selector = selector;
-	}
-	return cached;
-};
-
-/**
- * A low-level selection function that works with Sizzle's compiled
- *  selector functions
- * @param {String|Function} selector A selector or a pre-compiled
- *  selector function built with Sizzle.compile
- * @param {Element} context
- * @param {Array} [results]
- * @param {Array} [seed] A set of elements to match against
- */
-select = Sizzle.select = function( selector, context, results, seed ) {
-	var i, tokens, token, type, find,
-		compiled = typeof selector === "function" && selector,
-		match = !seed && tokenize( (selector = compiled.selector || selector) );
-
-	results = results || [];
-
-	// Try to minimize operations if there is only one selector in the list and no seed
-	// (the latter of which guarantees us context)
-	if ( match.length === 1 ) {
-
-		// Reduce context if the leading compound selector is an ID
-		tokens = match[0] = match[0].slice( 0 );
-		if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
-				support.getById && context.nodeType === 9 && documentIsHTML &&
-				Expr.relative[ tokens[1].type ] ) {
-
-			context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
-			if ( !context ) {
-				return results;
-
-			// Precompiled matchers will still verify ancestry, so step up a level
-			} else if ( compiled ) {
-				context = context.parentNode;
-			}
-
-			selector = selector.slice( tokens.shift().value.length );
-		}
-
-		// Fetch a seed set for right-to-left matching
-		i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
-		while ( i-- ) {
-			token = tokens[i];
-
-			// Abort if we hit a combinator
-			if ( Expr.relative[ (type = token.type) ] ) {
-				break;
-			}
-			if ( (find = Expr.find[ type ]) ) {
-				// Search, expanding context for leading sibling combinators
-				if ( (seed = find(
-					token.matches[0].replace( runescape, funescape ),
-					rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
-				)) ) {
-
-					// If seed is empty or no tokens remain, we can return early
-					tokens.splice( i, 1 );
-					selector = seed.length && toSelector( tokens );
-					if ( !selector ) {
-						push.apply( results, seed );
-						return results;
-					}
-
-					break;
-				}
-			}
-		}
-	}
-
-	// Compile and execute a filtering function if one is not provided
-	// Provide `match` to avoid retokenization if we modified the selector above
-	( compiled || compile( selector, match ) )(
-		seed,
-		context,
-		!documentIsHTML,
-		results,
-		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
-	);
-	return results;
-};
-
-// One-time assignments
-
-// Sort stability
-support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
-
-// Support: Chrome 14-35+
-// Always assume duplicates if they aren't passed to the comparison function
-support.detectDuplicates = !!hasDuplicate;
-
-// Initialize against the default document
-setDocument();
-
-// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
-// Detached nodes confoundingly follow *each other*
-support.sortDetached = assert(function( div1 ) {
-	// Should return 1, but returns 4 (following)
-	return div1.compareDocumentPosition( document.createElement("div") ) & 1;
-});
-
-// Support: IE<8
-// Prevent attribute/property "interpolation"
-// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
-if ( !assert(function( div ) {
-	div.innerHTML = "<a href='#'></a>";
-	return div.firstChild.getAttribute("href") === "#" ;
-}) ) {
-	addHandle( "type|href|height|width", function( elem, name, isXML ) {
-		if ( !isXML ) {
-			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
-		}
-	});
-}
-
-// Support: IE<9
-// Use defaultValue in place of getAttribute("value")
-if ( !support.attributes || !assert(function( div ) {
-	div.innerHTML = "<input/>";
-	div.firstChild.setAttribute( "value", "" );
-	return div.firstChild.getAttribute( "value" ) === "";
-}) ) {
-	addHandle( "value", function( elem, name, isXML ) {
-		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
-			return elem.defaultValue;
-		}
-	});
-}
-
-// Support: IE<9
-// Use getAttributeNode to fetch booleans when getAttribute lies
-if ( !assert(function( div ) {
-	return div.getAttribute("disabled") == null;
-}) ) {
-	addHandle( booleans, function( elem, name, isXML ) {
-		var val;
-		if ( !isXML ) {
-			return elem[ name ] === true ? name.toLowerCase() :
-					(val = elem.getAttributeNode( name )) && val.specified ?
-					val.value :
-				null;
-		}
-	});
-}
-
-return Sizzle;
-
-})( window );
-
-
-
-jQuery.find = Sizzle;
-jQuery.expr = Sizzle.selectors;
-jQuery.expr[ ":" ] = jQuery.expr.pseudos;
-jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
-jQuery.text = Sizzle.getText;
-jQuery.isXMLDoc = Sizzle.isXML;
-jQuery.contains = Sizzle.contains;
-
-
-
-var dir = function( elem, dir, until ) {
-	var matched = [],
-		truncate = until !== undefined;
-
-	while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
-		if ( elem.nodeType === 1 ) {
-			if ( truncate && jQuery( elem ).is( until ) ) {
-				break;
-			}
-			matched.push( elem );
-		}
-	}
-	return matched;
-};
-
-
-var siblings = function( n, elem ) {
-	var matched = [];
-
-	for ( ; n; n = n.nextSibling ) {
-		if ( n.nodeType === 1 && n !== elem ) {
-			matched.push( n );
-		}
-	}
-
-	return matched;
-};
-
-
-var rneedsContext = jQuery.expr.match.needsContext;
-
-var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ );
-
-
-
-var risSimple = /^.[^:#\[\.,]*$/;
-
-// Implement the identical functionality for filter and not
-function winnow( elements, qualifier, not ) {
-	if ( jQuery.isFunction( qualifier ) ) {
-		return jQuery.grep( elements, function( elem, i ) {
-			/* jshint -W018 */
-			return !!qualifier.call( elem, i, elem ) !== not;
-		} );
-
-	}
-
-	if ( qualifier.nodeType ) {
-		return jQuery.grep( elements, function( elem ) {
-			return ( elem === qualifier ) !== not;
-		} );
-
-	}
-
-	if ( typeof qualifier === "string" ) {
-		if ( risSimple.test( qualifier ) ) {
-			return jQuery.filter( qualifier, elements, not );
-		}
-
-		qualifier = jQuery.filter( qualifier, elements );
-	}
-
-	return jQuery.grep( elements, function( elem ) {
-		return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
-	} );
-}
-
-jQuery.filter = function( expr, elems, not ) {
-	var elem = elems[ 0 ];
-
-	if ( not ) {
-		expr = ":not(" + expr + ")";
-	}
-
-	return elems.length === 1 && elem.nodeType === 1 ?
-		jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :
-		jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
-			return elem.nodeType === 1;
-		} ) );
-};
-
-jQuery.fn.extend( {
-	find: function( selector ) {
-		var i,
-			len = this.length,
-			ret = [],
-			self = this;
-
-		if ( typeof selector !== "string" ) {
-			return this.pushStack( jQuery( selector ).filter( function() {
-				for ( i = 0; i < len; i++ ) {
-					if ( jQuery.contains( self[ i ], this ) ) {
-						return true;
-					}
-				}
-			} ) );
-		}
-
-		for ( i = 0; i < len; i++ ) {
-			jQuery.find( selector, self[ i ], ret );
-		}
-
-		// Needed because $( selector, context ) becomes $( context ).find( selector )
-		ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
-		ret.selector = this.selector ? this.selector + " " + selector : selector;
-		return ret;
-	},
-	filter: function( selector ) {
-		return this.pushStack( winnow( this, selector || [], false ) );
-	},
-	not: function( selector ) {
-		return this.pushStack( winnow( this, selector || [], true ) );
-	},
-	is: function( selector ) {
-		return !!winnow(
-			this,
-
-			// If this is a positional/relative selector, check membership in the returned set
-			// so $("p:first").is("p:last") won't return true for a doc with two "p".
-			typeof selector === "string" && rneedsContext.test( selector ) ?
-				jQuery( selector ) :
-				selector || [],
-			false
-		).length;
-	}
-} );
-
-
-// Initialize a jQuery object
-
-
-// A central reference to the root jQuery(document)
-var rootjQuery,
-
-	// A simple way to check for HTML strings
-	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
-	// Strict HTML recognition (#11290: must start with <)
-	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
-
-	init = jQuery.fn.init = function( selector, context, root ) {
-		var match, elem;
-
-		// HANDLE: $(""), $(null), $(undefined), $(false)
-		if ( !selector ) {
-			return this;
-		}
-
-		// Method init() accepts an alternate rootjQuery
-		// so migrate can support jQuery.sub (gh-2101)
-		root = root || rootjQuery;
-
-		// Handle HTML strings
-		if ( typeof selector === "string" ) {
-			if ( selector[ 0 ] === "<" &&
-				selector[ selector.length - 1 ] === ">" &&
-				selector.length >= 3 ) {
-
-				// Assume that strings that start and end with <> are HTML and skip the regex check
-				match = [ null, selector, null ];
-
-			} else {
-				match = rquickExpr.exec( selector );
-			}
-
-			// Match html or make sure no context is specified for #id
-			if ( match && ( match[ 1 ] || !context ) ) {
-
-				// HANDLE: $(html) -> $(array)
-				if ( match[ 1 ] ) {
-					context = context instanceof jQuery ? context[ 0 ] : context;
-
-					// Option to run scripts is true for back-compat
-					// Intentionally let the error be thrown if parseHTML is not present
-					jQuery.merge( this, jQuery.parseHTML(
-						match[ 1 ],
-						context && context.nodeType ? context.ownerDocument || context : document,
-						true
-					) );
-
-					// HANDLE: $(html, props)
-					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
-						for ( match in context ) {
-
-							// Properties of context are called as methods if possible
-							if ( jQuery.isFunction( this[ match ] ) ) {
-								this[ match ]( context[ match ] );
-
-							// ...and otherwise set as attributes
-							} else {
-								this.attr( match, context[ match ] );
-							}
-						}
-					}
-
-					return this;
-
-				// HANDLE: $(#id)
-				} else {
-					elem = document.getElementById( match[ 2 ] );
-
-					// Support: Blackberry 4.6
-					// gEBID returns nodes no longer in the document (#6963)
-					if ( elem && elem.parentNode ) {
-
-						// Inject the element directly into the jQuery object
-						this.length = 1;
-						this[ 0 ] = elem;
-					}
-
-					this.context = document;
-					this.selector = selector;
-					return this;
-				}
-
-			// HANDLE: $(expr, $(...))
-			} else if ( !context || context.jquery ) {
-				return ( context || root ).find( selector );
-
-			// HANDLE: $(expr, context)
-			// (which is just equivalent to: $(context).find(expr)
-			} else {
-				return this.constructor( context ).find( selector );
-			}
-
-		// HANDLE: $(DOMElement)
-		} else if ( selector.nodeType ) {
-			this.context = this[ 0 ] = selector;
-			this.length = 1;
-			return this;
-
-		// HANDLE: $(function)
-		// Shortcut for document ready
-		} else if ( jQuery.isFunction( selector ) ) {
-			return root.ready !== undefined ?
-				root.ready( selector ) :
-
-				// Execute immediately if ready is not present
-				selector( jQuery );
-		}
-
-		if ( selector.selector !== undefined ) {
-			this.selector = selector.selector;
-			this.context = selector.context;
-		}
-
-		return jQuery.makeArray( selector, this );
-	};
-
-// Give the init function the jQuery prototype for later instantiation
-init.prototype = jQuery.fn;
-
-// Initialize central reference
-rootjQuery = jQuery( document );
-
-
-var rparentsprev = /^(?:parents|prev(?:Until|All))/,
-
-	// Methods guaranteed to produce a unique set when starting from a unique set
-	guaranteedUnique = {
-		children: true,
-		contents: true,
-		next: true,
-		prev: true
-	};
-
-jQuery.fn.extend( {
-	has: function( target ) {
-		var targets = jQuery( target, this ),
-			l = targets.length;
-
-		return this.filter( function() {
-			var i = 0;
-			for ( ; i < l; i++ ) {
-				if ( jQuery.contains( this, targets[ i ] ) ) {
-					return true;
-				}
-			}
-		} );
-	},
-
-	closest: function( selectors, context ) {
-		var cur,
-			i = 0,
-			l = this.length,
-			matched = [],
-			pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ?
-				jQuery( selectors, context || this.context ) :
-				0;
-
-		for ( ; i < l; i++ ) {
-			for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
-
-				// Always skip document fragments
-				if ( cur.nodeType < 11 && ( pos ?
-					pos.index( cur ) > -1 :
-
-					// Don't pass non-elements to Sizzle
-					cur.nodeType === 1 &&
-						jQuery.find.matchesSelector( cur, selectors ) ) ) {
-
-					matched.push( cur );
-					break;
-				}
-			}
-		}
-
-		return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
-	},
-
-	// Determine the position of an element within the set
-	index: function( elem ) {
-
-		// No argument, return index in parent
-		if ( !elem ) {
-			return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
-		}
-
-		// Index in selector
-		if ( typeof elem === "string" ) {
-			return indexOf.call( jQuery( elem ), this[ 0 ] );
-		}
-
-		// Locate the position of the desired element
-		return indexOf.call( this,
-
-			// If it receives a jQuery object, the first element is used
-			elem.jquery ? elem[ 0 ] : elem
-		);
-	},
-
-	add: function( selector, context ) {
-		return this.pushStack(
-			jQuery.uniqueSort(
-				jQuery.merge( this.get(), jQuery( selector, context ) )
-			)
-		);
-	},
-
-	addBack: function( selector ) {
-		return this.add( selector == null ?
-			this.prevObject : this.prevObject.filter( selector )
-		);
-	}
-} );
-
-function sibling( cur, dir ) {
-	while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
-	return cur;
-}
-
-jQuery.each( {
-	parent: function( elem ) {
-		var parent = elem.parentNode;
-		return parent && parent.nodeType !== 11 ? parent : null;
-	},
-	parents: function( elem ) {
-		return dir( elem, "parentNode" );
-	},
-	parentsUntil: function( elem, i, until ) {
-		return dir( elem, "parentNode", until );
-	},
-	next: function( elem ) {
-		return sibling( elem, "nextSibling" );
-	},
-	prev: function( elem ) {
-		return sibling( elem, "previousSibling" );
-	},
-	nextAll: function( elem ) {
-		return dir( elem, "nextSibling" );
-	},
-	prevAll: function( elem ) {
-		return dir( elem, "previousSibling" );
-	},
-	nextUntil: function( elem, i, until ) {
-		return dir( elem, "nextSibling", until );
-	},
-	prevUntil: function( elem, i, until ) {
-		return dir( elem, "previousSibling", until );
-	},
-	siblings: function( elem ) {
-		return siblings( ( elem.parentNode || {} ).firstChild, elem );
-	},
-	children: function( elem ) {
-		return siblings( elem.firstChild );
-	},
-	contents: function( elem ) {
-		return elem.contentDocument || jQuery.merge( [], elem.childNodes );
-	}
-}, function( name, fn ) {
-	jQuery.fn[ name ] = function( until, selector ) {
-		var matched = jQuery.map( this, fn, until );
-
-		if ( name.slice( -5 ) !== "Until" ) {
-			selector = until;
-		}
-
-		if ( selector && typeof selector === "string" ) {
-			matched = jQuery.filter( selector, matched );
-		}
-
-		if ( this.length > 1 ) {
-
-			// Remove duplicates
-			if ( !guaranteedUnique[ name ] ) {
-				jQuery.uniqueSort( matched );
-			}
-
-			// Reverse order for parents* and prev-derivatives
-			if ( rparentsprev.test( name ) ) {
-				matched.reverse();
-			}
-		}
-
-		return this.pushStack( matched );
-	};
-} );
-var rnotwhite = ( /\S+/g );
-
-
-
-// Convert String-formatted options into Object-formatted ones
-function createOptions( options ) {
-	var object = {};
-	jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
-		object[ flag ] = true;
-	} );
-	return object;
-}
-
-/*
- * Create a callback list using the following parameters:
- *
- *	options: an optional list of space-separated options that will change how
- *			the callback list behaves or a more traditional option object
- *
- * By default a callback list will act like an event callback list and can be
- * "fired" multiple times.
- *
- * Possible options:
- *
- *	once:			will ensure the callback list can only be fired once (like a Deferred)
- *
- *	memory:			will keep track of previous values and will call any callback added
- *					after the list has been fired right away with the latest "memorized"
- *					values (like a Deferred)
- *
- *	unique:			will ensure a callback can only be added once (no duplicate in the list)
- *
- *	stopOnFalse:	interrupt callings when a callback returns false
- *
- */
-jQuery.Callbacks = function( options ) {
-
-	// Convert options from String-formatted to Object-formatted if needed
-	// (we check in cache first)
-	options = typeof options === "string" ?
-		createOptions( options ) :
-		jQuery.extend( {}, options );
-
-	var // Flag to know if list is currently firing
-		firing,
-
-		// Last fire value for non-forgettable lists
-		memory,
-
-		// Flag to know if list was already fired
-		fired,
-
-		// Flag to prevent firing
-		locked,
-
-		// Actual callback list
-		list = [],
-
-		// Queue of execution data for repeatable lists
-		queue = [],
-
-		// Index of currently firing callback (modified by add/remove as needed)
-		firingIndex = -1,
-
-		// Fire callbacks
-		fire = function() {
-
-			// Enforce single-firing
-			locked = options.once;
-
-			// Execute callbacks for all pending executions,
-			// respecting firingIndex overrides and runtime changes
-			fired = firing = true;
-			for ( ; queue.length; firingIndex = -1 ) {
-				memory = queue.shift();
-				while ( ++firingIndex < list.length ) {
-
-					// Run callback and check for early termination
-					if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
-						options.stopOnFalse ) {
-
-						// Jump to end and forget the data so .add doesn't re-fire
-						firingIndex = list.length;
-						memory = false;
-					}
-				}
-			}
-
-			// Forget the data if we're done with it
-			if ( !options.memory ) {
-				memory = false;
-			}
-
-			firing = false;
-
-			// Clean up if we're done firing for good
-			if ( locked ) {
-
-				// Keep an empty list if we have data for future add calls
-				if ( memory ) {
-					list = [];
-
-				// Otherwise, this object is spent
-				} else {
-					list = "";
-				}
-			}
-		},
-
-		// Actual Callbacks object
-		self = {
-
-			// Add a callback or a collection of callbacks to the list
-			add: function() {
-				if ( list ) {
-
-					// If we have memory from a past run, we should fire after adding
-					if ( memory && !firing ) {
-						firingIndex = list.length - 1;
-						queue.push( memory );
-					}
-
-					( function add( args ) {
-						jQuery.each( args, function( _, arg ) {
-							if ( jQuery.isFunction( arg ) ) {
-								if ( !options.unique || !self.has( arg ) ) {
-									list.push( arg );
-								}
-							} else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
-
-								// Inspect recursively
-								add( arg );
-							}
-						} );
-					} )( arguments );
-
-					if ( memory && !firing ) {
-						fire();
-					}
-				}
-				return this;
-			},
-
-			// Remove a callback from the list
-			remove: function() {
-				jQuery.each( arguments, function( _, arg ) {
-					var index;
-					while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
-						list.splice( index, 1 );
-
-						// Handle firing indexes
-						if ( index <= firingIndex ) {
-							firingIndex--;
-						}
-					}
-				} );
-				return this;
-			},
-
-			// Check if a given callback is in the list.
-			// If no argument is given, return whether or not list has callbacks attached.
-			has: function( fn ) {
-				return fn ?
-					jQuery.inArray( fn, list ) > -1 :
-					list.length > 0;
-			},
-
-			// Remove all callbacks from the list
-			empty: function() {
-				if ( list ) {
-					list = [];
-				}
-				return this;
-			},
-
-			// Disable .fire and .add
-			// Abort any current/pending executions
-			// Clear all callbacks and values
-			disable: function() {
-				locked = queue = [];
-				list = memory = "";
-				return this;
-			},
-			disabled: function() {
-				return !list;
-			},
-
-			// Disable .fire
-			// Also disable .add unless we have memory (since it would have no effect)
-			// Abort any pending executions
-			lock: function() {
-				locked = queue = [];
-				if ( !memory ) {
-					list = memory = "";
-				}
-				return this;
-			},
-			locked: function() {
-				return !!locked;
-			},
-
-			// Call all callbacks with the given context and arguments
-			fireWith: function( context, args ) {
-				if ( !locked ) {
-					args = args || [];
-					args = [ context, args.slice ? args.slice() : args ];
-					queue.push( args );
-					if ( !firing ) {
-						fire();
-					}
-				}
-				return this;
-			},
-
-			// Call all the callbacks with the given arguments
-			fire: function() {
-				self.fireWith( this, arguments );
-				return this;
-			},
-
-			// To know if the callbacks have already been called at least once
-			fired: function() {
-				return !!fired;
-			}
-		};
-
-	return self;
-};
-
-
-jQuery.extend( {
-
-	Deferred: function( func ) {
-		var tuples = [
-
-				// action, add listener, listener list, final state
-				[ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ],
-				[ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ],
-				[ "notify", "progress", jQuery.Callbacks( "memory" ) ]
-			],
-			state = "pending",
-			promise = {
-				state: function() {
-					return state;
-				},
-				always: function() {
-					deferred.done( arguments ).fail( arguments );
-					return this;
-				},
-				then: function( /* fnDone, fnFail, fnProgress */ ) {
-					var fns = arguments;
-					return jQuery.Deferred( function( newDefer ) {
-						jQuery.each( tuples, function( i, tuple ) {
-							var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
-
-							// deferred[ done | fail | progress ] for forwarding actions to newDefer
-							deferred[ tuple[ 1 ] ]( function() {
-								var returned = fn && fn.apply( this, arguments );
-								if ( returned && jQuery.isFunction( returned.promise ) ) {
-									returned.promise()
-										.progress( newDefer.notify )
-										.done( newDefer.resolve )
-										.fail( newDefer.reject );
-								} else {
-									newDefer[ tuple[ 0 ] + "With" ](
-										this === promise ? newDefer.promise() : this,
-										fn ? [ returned ] : arguments
-									);
-								}
-							} );
-						} );
-						fns = null;
-					} ).promise();
-				},
-
-				// Get a promise for this deferred
-				// If obj is provided, the promise aspect is added to the object
-				promise: function( obj ) {
-					return obj != null ? jQuery.extend( obj, promise ) : promise;
-				}
-			},
-			deferred = {};
-
-		// Keep pipe for back-compat
-		promise.pipe = promise.then;
-
-		// Add list-specific methods
-		jQuery.each( tuples, function( i, tuple ) {
-			var list = tuple[ 2 ],
-				stateString = tuple[ 3 ];
-
-			// promise[ done | fail | progress ] = list.add
-			promise[ tuple[ 1 ] ] = list.add;
-
-			// Handle state
-			if ( stateString ) {
-				list.add( function() {
-
-					// state = [ resolved | rejected ]
-					state = stateString;
-
-				// [ reject_list | resolve_list ].disable; progress_list.lock
-				}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
-			}
-
-			// deferred[ resolve | reject | notify ]
-			deferred[ tuple[ 0 ] ] = function() {
-				deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments );
-				return this;
-			};
-			deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
-		} );
-
-		// Make the deferred a promise
-		promise.promise( deferred );
-
-		// Call given func if any
-		if ( func ) {
-			func.call( deferred, deferred );
-		}
-
-		// All done!
-		return deferred;
-	},
-
-	// Deferred helper
-	when: function( subordinate /* , ..., subordinateN */ ) {
-		var i = 0,
-			resolveValues = slice.call( arguments ),
-			length = resolveValues.length,
-
-			// the count of uncompleted subordinates
-			remaining = length !== 1 ||
-				( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
-
-			// the master Deferred.
-			// If resolveValues consist of only a single Deferred, just use that.
-			deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
-
-			// Update function for both resolve and progress values
-			updateFunc = function( i, contexts, values ) {
-				return function( value ) {
-					contexts[ i ] = this;
-					values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
-					if ( values === progressValues ) {
-						deferred.notifyWith( contexts, values );
-					} else if ( !( --remaining ) ) {
-						deferred.resolveWith( contexts, values );
-					}
-				};
-			},
-
-			progressValues, progressContexts, resolveContexts;
-
-		// Add listeners to Deferred subordinates; treat others as resolved
-		if ( length > 1 ) {
-			progressValues = new Array( length );
-			progressContexts = new Array( length );
-			resolveContexts = new Array( length );
-			for ( ; i < length; i++ ) {
-				if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
-					resolveValues[ i ].promise()
-						.progress( updateFunc( i, progressContexts, progressValues ) )
-						.done( updateFunc( i, resolveContexts, resolveValues ) )
-						.fail( deferred.reject );
-				} else {
-					--remaining;
-				}
-			}
-		}
-
-		// If we're not waiting on anything, resolve the master
-		if ( !remaining ) {
-			deferred.resolveWith( resolveContexts, resolveValues );
-		}
-
-		return deferred.promise();
-	}
-} );
-
-
-// The deferred used on DOM ready
-var readyList;
-
-jQuery.fn.ready = function( fn ) {
-
-	// Add the callback
-	jQuery.ready.promise().done( fn );
-
-	return this;
-};
-
-jQuery.extend( {
-
-	// Is the DOM ready to be used? Set to true once it occurs.
-	isReady: false,
-
-	// A counter to track how many items to wait for before
-	// the ready event fires. See #6781
-	readyWait: 1,
-
-	// Hold (or release) the ready event
-	holdReady: function( hold ) {
-		if ( hold ) {
-			jQuery.readyWait++;
-		} else {
-			jQuery.ready( true );
-		}
-	},
-
-	// Handle when the DOM is ready
-	ready: function( wait ) {
-
-		// Abort if there are pending holds or we're already ready
-		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
-			return;
-		}
-
-		// Remember that the DOM is ready
-		jQuery.isReady = true;
-
-		// If a normal DOM Ready event fired, decrement, and wait if need be
-		if ( wait !== true && --jQuery.readyWait > 0 ) {
-			return;
-		}
-
-		// If there are functions bound, to execute
-		readyList.resolveWith( document, [ jQuery ] );
-
-		// Trigger any bound ready events
-		if ( jQuery.fn.triggerHandler ) {
-			jQuery( document ).triggerHandler( "ready" );
-			jQuery( document ).off( "ready" );
-		}
-	}
-} );
-
-/**
- * The ready event handler and self cleanup method
- */
-function completed() {
-	document.removeEventListener( "DOMContentLoaded", completed );
-	window.removeEventListener( "load", completed );
-	jQuery.ready();
-}
-
-jQuery.ready.promise = function( obj ) {
-	if ( !readyList ) {
-
-		readyList = jQuery.Deferred();
-
-		// Catch cases where $(document).ready() is called
-		// after the browser event has already occurred.
-		// Support: IE9-10 only
-		// Older IE sometimes signals "interactive" too soon
-		if ( document.readyState === "complete" ||
-			( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
-
-			// Handle it asynchronously to allow scripts the opportunity to delay ready
-			window.setTimeout( jQuery.ready );
-
-		} else {
-
-			// Use the handy event callback
-			document.addEventListener( "DOMContentLoaded", completed );
-
-			// A fallback to window.onload, that will always work
-			window.addEventListener( "load", completed );
-		}
-	}
-	return readyList.promise( obj );
-};
-
-// Kick off the DOM ready check even if the user does not
-jQuery.ready.promise();
-
-
-
-
-// Multifunctional method to get and set values of a collection
-// The value/s can optionally be executed if it's a function
-var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
-	var i = 0,
-		len = elems.length,
-		bulk = key == null;
-
-	// Sets many values
-	if ( jQuery.type( key ) === "object" ) {
-		chainable = true;
-		for ( i in key ) {
-			access( elems, fn, i, key[ i ], true, emptyGet, raw );
-		}
-
-	// Sets one value
-	} else if ( value !== undefined ) {
-		chainable = true;
-
-		if ( !jQuery.isFunction( value ) ) {
-			raw = true;
-		}
-
-		if ( bulk ) {
-
-			// Bulk operations run against the entire set
-			if ( raw ) {
-				fn.call( elems, value );
-				fn = null;
-
-			// ...except when executing function values
-			} else {
-				bulk = fn;
-				fn = function( elem, key, value ) {
-					return bulk.call( jQuery( elem ), value );
-				};
-			}
-		}
-
-		if ( fn ) {
-			for ( ; i < len; i++ ) {
-				fn(
-					elems[ i ], key, raw ?
-					value :
-					value.call( elems[ i ], i, fn( elems[ i ], key ) )
-				);
-			}
-		}
-	}
-
-	return chainable ?
-		elems :
-
-		// Gets
-		bulk ?
-			fn.call( elems ) :
-			len ? fn( elems[ 0 ], key ) : emptyGet;
-};
-var acceptData = function( owner ) {
-
-	// Accepts only:
-	//  - Node
-	//    - Node.ELEMENT_NODE
-	//    - Node.DOCUMENT_NODE
-	//  - Object
-	//    - Any
-	/* jshint -W018 */
-	return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
-};
-
-
-
-
-function Data() {
-	this.expando = jQuery.expando + Data.uid++;
-}
-
-Data.uid = 1;
-
-Data.prototype = {
-
-	register: function( owner, initial ) {
-		var value = initial || {};
-
-		// If it is a node unlikely to be stringify-ed or looped over
-		// use plain assignment
-		if ( owner.nodeType ) {
-			owner[ this.expando ] = value;
-
-		// Otherwise secure it in a non-enumerable, non-writable property
-		// configurability must be true to allow the property to be
-		// deleted with the delete operator
-		} else {
-			Object.defineProperty( owner, this.expando, {
-				value: value,
-				writable: true,
-				configurable: true
-			} );
-		}
-		return owner[ this.expando ];
-	},
-	cache: function( owner ) {
-
-		// We can accept data for non-element nodes in modern browsers,
-		// but we should not, see #8335.
-		// Always return an empty object.
-		if ( !acceptData( owner ) ) {
-			return {};
-		}
-
-		// Check if the owner object already has a cache
-		var value = owner[ this.expando ];
-
-		// If not, create one
-		if ( !value ) {
-			value = {};
-
-			// We can accept data for non-element nodes in modern browsers,
-			// but we should not, see #8335.
-			// Always return an empty object.
-			if ( acceptData( owner ) ) {
-
-				// If it is a node unlikely to be stringify-ed or looped over
-				// use plain assignment
-				if ( owner.nodeType ) {
-					owner[ this.expando ] = value;
-
-				// Otherwise secure it in a non-enumerable property
-				// configurable must be true to allow the property to be
-				// deleted when data is removed
-				} else {
-					Object.defineProperty( owner, this.expando, {
-						value: value,
-						configurable: true
-					} );
-				}
-			}
-		}
-
-		return value;
-	},
-	set: function( owner, data, value ) {
-		var prop,
-			cache = this.cache( owner );
-
-		// Handle: [ owner, key, value ] args
-		if ( typeof data === "string" ) {
-			cache[ data ] = value;
-
-		// Handle: [ owner, { properties } ] args
-		} else {
-
-			// Copy the properties one-by-one to the cache object
-			for ( prop in data ) {
-				cache[ prop ] = data[ prop ];
-			}
-		}
-		return cache;
-	},
-	get: function( owner, key ) {
-		return key === undefined ?
-			this.cache( owner ) :
-			owner[ this.expando ] && owner[ this.expando ][ key ];
-	},
-	access: function( owner, key, value ) {
-		var stored;
-
-		// In cases where either:
-		//
-		//   1. No key was specified
-		//   2. A string key was specified, but no value provided
-		//
-		// Take the "read" path and allow the get method to determine
-		// which value to return, respectively either:
-		//
-		//   1. The entire cache object
-		//   2. The data stored at the key
-		//
-		if ( key === undefined ||
-				( ( key && typeof key === "string" ) && value === undefined ) ) {
-
-			stored = this.get( owner, key );
-
-			return stored !== undefined ?
-				stored : this.get( owner, jQuery.camelCase( key ) );
-		}
-
-		// When the key is not a string, or both a key and value
-		// are specified, set or extend (existing objects) with either:
-		//
-		//   1. An object of properties
-		//   2. A key and value
-		//
-		this.set( owner, key, value );
-
-		// Since the "set" path can have two possible entry points
-		// return the expected data based on which path was taken[*]
-		return value !== undefined ? value : key;
-	},
-	remove: function( owner, key ) {
-		var i, name, camel,
-			cache = owner[ this.expando ];
-
-		if ( cache === undefined ) {
-			return;
-		}
-
-		if ( key === undefined ) {
-			this.register( owner );
-
-		} else {
-
-			// Support array or space separated string of keys
-			if ( jQuery.isArray( key ) ) {
-
-				// If "name" is an array of keys...
-				// When data is initially created, via ("key", "val") signature,
-				// keys will be converted to camelCase.
-				// Since there is no way to tell _how_ a key was added, remove
-				// both plain key and camelCase key. #12786
-				// This will only penalize the array argument path.
-				name = key.concat( key.map( jQuery.camelCase ) );
-			} else {
-				camel = jQuery.camelCase( key );
-
-				// Try the string as a key before any manipulation
-				if ( key in cache ) {
-					name = [ key, camel ];
-				} else {
-
-					// If a key with the spaces exists, use it.
-					// Otherwise, create an array by matching non-whitespace
-					name = camel;
-					name = name in cache ?
-						[ name ] : ( name.match( rnotwhite ) || [] );
-				}
-			}
-
-			i = name.length;
-
-			while ( i-- ) {
-				delete cache[ name[ i ] ];
-			}
-		}
-
-		// Remove the expando if there's no more data
-		if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
-
-			// Support: Chrome <= 35-45+
-			// Webkit & Blink performance suffers when deleting properties
-			// from DOM nodes, so set to undefined instead
-			// https://code.google.com/p/chromium/issues/detail?id=378607
-			if ( owner.nodeType ) {
-				owner[ this.expando ] = undefined;
-			} else {
-				delete owner[ this.expando ];
-			}
-		}
-	},
-	hasData: function( owner ) {
-		var cache = owner[ this.expando ];
-		return cache !== undefined && !jQuery.isEmptyObject( cache );
-	}
-};
-var dataPriv = new Data();
-
-var dataUser = new Data();
-
-
-
-//	Implementation Summary
-//
-//	1. Enforce API surface and semantic compatibility with 1.9.x branch
-//	2. Improve the module's maintainability by reducing the storage
-//		paths to a single mechanism.
-//	3. Use the same single mechanism to support "private" and "user" data.
-//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
-//	5. Avoid exposing implementation details on user objects (eg. expando properties)
-//	6. Provide a clear path for implementation upgrade to WeakMap in 2014
-
-var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
-	rmultiDash = /[A-Z]/g;
-
-function dataAttr( elem, key, data ) {
-	var name;
-
-	// If nothing was found internally, try to fetch any
-	// data from the HTML5 data-* attribute
-	if ( data === undefined && elem.nodeType === 1 ) {
-		name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
-		data = elem.getAttribute( name );
-
-		if ( typeof data === "string" ) {
-			try {
-				data = data === "true" ? true :
-					data === "false" ? false :
-					data === "null" ? null :
-
-					// Only convert to a number if it doesn't change the string
-					+data + "" === data ? +data :
-					rbrace.test( data ) ? jQuery.parseJSON( data ) :
-					data;
-			} catch ( e ) {}
-
-			// Make sure we set the data so it isn't changed later
-			dataUser.set( elem, key, data );
-		} else {
-			data = undefined;
-		}
-	}
-	return data;
-}
-
-jQuery.extend( {
-	hasData: function( elem ) {
-		return dataUser.hasData( elem ) || dataPriv.hasData( elem );
-	},
-
-	data: function( elem, name, data ) {
-		return dataUser.access( elem, name, data );
-	},
-
-	removeData: function( elem, name ) {
-		dataUser.remove( elem, name );
-	},
-
-	// TODO: Now that all calls to _data and _removeData have been replaced
-	// with direct calls to dataPriv methods, these can be deprecated.
-	_data: function( elem, name, data ) {
-		return dataPriv.access( elem, name, data );
-	},
-
-	_removeData: function( elem, name ) {
-		dataPriv.remove( elem, name );
-	}
-} );
-
-jQuery.fn.extend( {
-	data: function( key, value ) {
-		var i, name, data,
-			elem = this[ 0 ],
-			attrs = elem && elem.attributes;
-
-		// Gets all values
-		if ( key === undefined ) {
-			if ( this.length ) {
-				data = dataUser.get( elem );
-
-				if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
-					i = attrs.length;
-					while ( i-- ) {
-
-						// Support: IE11+
-						// The attrs elements can be null (#14894)
-						if ( attrs[ i ] ) {
-							name = attrs[ i ].name;
-							if ( name.indexOf( "data-" ) === 0 ) {
-								name = jQuery.camelCase( name.slice( 5 ) );
-								dataAttr( elem, name, data[ name ] );
-							}
-						}
-					}
-					dataPriv.set( elem, "hasDataAttrs", true );
-				}
-			}
-
-			return data;
-		}
-
-		// Sets multiple values
-		if ( typeof key === "object" ) {
-			return this.each( function() {
-				dataUser.set( this, key );
-			} );
-		}
-
-		return access( this, function( value ) {
-			var data, camelKey;
-
-			// The calling jQuery object (element matches) is not empty
-			// (and therefore has an element appears at this[ 0 ]) and the
-			// `value` parameter was not undefined. An empty jQuery object
-			// will result in `undefined` for elem = this[ 0 ] which will
-			// throw an exception if an attempt to read a data cache is made.
-			if ( elem && value === undefined ) {
-
-				// Attempt to get data from the cache
-				// with the key as-is
-				data = dataUser.get( elem, key ) ||
-
-					// Try to find dashed key if it exists (gh-2779)
-					// This is for 2.2.x only
-					dataUser.get( elem, key.replace( rmultiDash, "-$&" ).toLowerCase() );
-
-				if ( data !== undefined ) {
-					return data;
-				}
-
-				camelKey = jQuery.camelCase( key );
-
-				// Attempt to get data from the cache
-				// with the key camelized
-				data = dataUser.get( elem, camelKey );
-				if ( data !== undefined ) {
-					return data;
-				}
-
-				// Attempt to "discover" the data in
-				// HTML5 custom data-* attrs
-				data = dataAttr( elem, camelKey, undefined );
-				if ( data !== undefined ) {
-					return data;
-				}
-
-				// We tried really hard, but the data doesn't exist.
-				return;
-			}
-
-			// Set the data...
-			camelKey = jQuery.camelCase( key );
-			this.each( function() {
-
-				// First, attempt to store a copy or reference of any
-				// data that might've been store with a camelCased key.
-				var data = dataUser.get( this, camelKey );
-
-				// For HTML5 data-* attribute interop, we have to
-				// store property names with dashes in a camelCase form.
-				// This might not apply to all properties...*
-				dataUser.set( this, camelKey, value );
-
-				// *... In the case of properties that might _actually_
-				// have dashes, we need to also store a copy of that
-				// unchanged property.
-				if ( key.indexOf( "-" ) > -1 && data !== undefined ) {
-					dataUser.set( this, key, value );
-				}
-			} );
-		}, null, value, arguments.length > 1, null, true );
-	},
-
-	removeData: function( key ) {
-		return this.each( function() {
-			dataUser.remove( this, key );
-		} );
-	}
-} );
-
-
-jQuery.extend( {
-	queue: function( elem, type, data ) {
-		var queue;
-
-		if ( elem ) {
-			type = ( type || "fx" ) + "queue";
-			queue = dataPriv.get( elem, type );
-
-			// Speed up dequeue by getting out quickly if this is just a lookup
-			if ( data ) {
-				if ( !queue || jQuery.isArray( data ) ) {
-					queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
-				} else {
-					queue.push( data );
-				}
-			}
-			return queue || [];
-		}
-	},
-
-	dequeue: function( elem, type ) {
-		type = type || "fx";
-
-		var queue = jQuery.queue( elem, type ),
-			startLength = queue.length,
-			fn = queue.shift(),
-			hooks = jQuery._queueHooks( elem, type ),
-			next = function() {
-				jQuery.dequeue( elem, type );
-			};
-
-		// If the fx queue is dequeued, always remove the progress sentinel
-		if ( fn === "inprogress" ) {
-			fn = queue.shift();
-			startLength--;
-		}
-
-		if ( fn ) {
-
-			// Add a progress sentinel to prevent the fx queue from being
-			// automatically dequeued
-			if ( type === "fx" ) {
-				queue.unshift( "inprogress" );
-			}
-
-			// Clear up the last queue stop function
-			delete hooks.stop;
-			fn.call( elem, next, hooks );
-		}
-
-		if ( !startLength && hooks ) {
-			hooks.empty.fire();
-		}
-	},
-
-	// Not public - generate a queueHooks object, or return the current one
-	_queueHooks: function( elem, type ) {
-		var key = type + "queueHooks";
-		return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
-			empty: jQuery.Callbacks( "once memory" ).add( function() {
-				dataPriv.remove( elem, [ type + "queue", key ] );
-			} )
-		} );
-	}
-} );
-
-jQuery.fn.extend( {
-	queue: function( type, data ) {
-		var setter = 2;
-
-		if ( typeof type !== "string" ) {
-			data = type;
-			type = "fx";
-			setter--;
-		}
-
-		if ( arguments.length < setter ) {
-			return jQuery.queue( this[ 0 ], type );
-		}
-
-		return data === undefined ?
-			this :
-			this.each( function() {
-				var queue = jQuery.queue( this, type, data );
-
-				// Ensure a hooks for this queue
-				jQuery._queueHooks( this, type );
-
-				if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
-					jQuery.dequeue( this, type );
-				}
-			} );
-	},
-	dequeue: function( type ) {
-		return this.each( function() {
-			jQuery.dequeue( this, type );
-		} );
-	},
-	clearQueue: function( type ) {
-		return this.queue( type || "fx", [] );
-	},
-
-	// Get a promise resolved when queues of a certain type
-	// are emptied (fx is the type by default)
-	promise: function( type, obj ) {
-		var tmp,
-			count = 1,
-			defer = jQuery.Deferred(),
-			elements = this,
-			i = this.length,
-			resolve = function() {
-				if ( !( --count ) ) {
-					defer.resolveWith( elements, [ elements ] );
-				}
-			};
-
-		if ( typeof type !== "string" ) {
-			obj = type;
-			type = undefined;
-		}
-		type = type || "fx";
-
-		while ( i-- ) {
-			tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
-			if ( tmp && tmp.empty ) {
-				count++;
-				tmp.empty.add( resolve );
-			}
-		}
-		resolve();
-		return defer.promise( obj );
-	}
-} );
-var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
-
-var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
-
-
-var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
-
-var isHidden = function( elem, el ) {
-
-		// isHidden might be called from jQuery#filter function;
-		// in that case, element will be second argument
-		elem = el || elem;
-		return jQuery.css( elem, "display" ) === "none" ||
-			!jQuery.contains( elem.ownerDocument, elem );
-	};
-
-
-
-function adjustCSS( elem, prop, valueParts, tween ) {
-	var adjusted,
-		scale = 1,
-		maxIterations = 20,
-		currentValue = tween ?
-			function() { return tween.cur(); } :
-			function() { return jQuery.css( elem, prop, "" ); },
-		initial = currentValue(),
-		unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
-
-		// Starting value computation is required for potential unit mismatches
-		initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
-			rcssNum.exec( jQuery.css( elem, prop ) );
-
-	if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
-
-		// Trust units reported by jQuery.css
-		unit = unit || initialInUnit[ 3 ];
-
-		// Make sure we update the tween properties later on
-		valueParts = valueParts || [];
-
-		// Iteratively approximate from a nonzero starting point
-		initialInUnit = +initial || 1;
-
-		do {
-
-			// If previous iteration zeroed out, double until we get *something*.
-			// Use string for doubling so we don't accidentally see scale as unchanged below
-			scale = scale || ".5";
-
-			// Adjust and apply
-			initialInUnit = initialInUnit / scale;
-			jQuery.style( elem, prop, initialInUnit + unit );
-
-		// Update scale, tolerating zero or NaN from tween.cur()
-		// Break the loop if scale is unchanged or perfect, or if we've just had enough.
-		} while (
-			scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations
-		);
-	}
-
-	if ( valueParts ) {
-		initialInUnit = +initialInUnit || +initial || 0;
-
-		// Apply relative offset (+=/-=) if specified
-		adjusted = valueParts[ 1 ] ?
-			initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
-			+valueParts[ 2 ];
-		if ( tween ) {
-			tween.unit = unit;
-			tween.start = initialInUnit;
-			tween.end = adjusted;
-		}
-	}
-	return adjusted;
-}
-var rcheckableType = ( /^(?:checkbox|radio)$/i );
-
-var rtagName = ( /<([\w:-]+)/ );
-
-var rscriptType = ( /^$|\/(?:java|ecma)script/i );
-
-
-
-// We have to close these tags to support XHTML (#13200)
-var wrapMap = {
-
-	// Support: IE9
-	option: [ 1, "<select multiple='multiple'>", "</select>" ],
-
-	// XHTML parsers do not magically insert elements in the
-	// same way that tag soup parsers do. So we cannot shorten
-	// this by omitting <tbody> or other required elements.
-	thead: [ 1, "<table>", "</table>" ],
-	col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
-	tr: [ 2, "<table><tbody>", "</tbody></table>" ],
-	td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
-
-	_default: [ 0, "", "" ]
-};
-
-// Support: IE9
-wrapMap.optgroup = wrapMap.option;
-
-wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
-wrapMap.th = wrapMap.td;
-
-
-function getAll( context, tag ) {
-
-	// Support: IE9-11+
-	// Use typeof to avoid zero-argument method invocation on host objects (#15151)
-	var ret = typeof context.getElementsByTagName !== "undefined" ?
-			context.getElementsByTagName( tag || "*" ) :
-			typeof context.querySelectorAll !== "undefined" ?
-				context.querySelectorAll( tag || "*" ) :
-			[];
-
-	return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
-		jQuery.merge( [ context ], ret ) :
-		ret;
-}
-
-
-// Mark scripts as having already been evaluated
-function setGlobalEval( elems, refElements ) {
-	var i = 0,
-		l = elems.length;
-
-	for ( ; i < l; i++ ) {
-		dataPriv.set(
-			elems[ i ],
-			"globalEval",
-			!refElements || dataPriv.get( refElements[ i ], "globalEval" )
-		);
-	}
-}
-
-
-var rhtml = /<|&#?\w+;/;
-
-function buildFragment( elems, context, scripts, selection, ignored ) {
-	var elem, tmp, tag, wrap, contains, j,
-		fragment = context.createDocumentFragment(),
-		nodes = [],
-		i = 0,
-		l = elems.length;
-
-	for ( ; i < l; i++ ) {
-		elem = elems[ i ];
-
-		if ( elem || elem === 0 ) {
-
-			// Add nodes directly
-			if ( jQuery.type( elem ) === "object" ) {
-
-				// Support: Android<4.1, PhantomJS<2
-				// push.apply(_, arraylike) throws on ancient WebKit
-				jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
-
-			// Convert non-html into a text node
-			} else if ( !rhtml.test( elem ) ) {
-				nodes.push( context.createTextNode( elem ) );
-
-			// Convert html into DOM nodes
-			} else {
-				tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
-
-				// Deserialize a standard representation
-				tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
-				wrap = wrapMap[ tag ] || wrapMap._default;
-				tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
-
-				// Descend through wrappers to the right content
-				j = wrap[ 0 ];
-				while ( j-- ) {
-					tmp = tmp.lastChild;
-				}
-
-				// Support: Android<4.1, PhantomJS<2
-				// push.apply(_, arraylike) throws on ancient WebKit
-				jQuery.merge( nodes, tmp.childNodes );
-
-				// Remember the top-level container
-				tmp = fragment.firstChild;
-
-				// Ensure the created nodes are orphaned (#12392)
-				tmp.textContent = "";
-			}
-		}
-	}
-
-	// Remove wrapper from fragment
-	fragment.textContent = "";
-
-	i = 0;
-	while ( ( elem = nodes[ i++ ] ) ) {
-
-		// Skip elements already in the context collection (trac-4087)
-		if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
-			if ( ignored ) {
-				ignored.push( elem );
-			}
-			continue;
-		}
-
-		contains = jQuery.contains( elem.ownerDocument, elem );
-
-		// Append to fragment
-		tmp = getAll( fragment.appendChild( elem ), "script" );
-
-		// Preserve script evaluation history
-		if ( contains ) {
-			setGlobalEval( tmp );
-		}
-
-		// Capture executables
-		if ( scripts ) {
-			j = 0;
-			while ( ( elem = tmp[ j++ ] ) ) {
-				if ( rscriptType.test( elem.type || "" ) ) {
-					scripts.push( elem );
-				}
-			}
-		}
-	}
-
-	return fragment;
-}
-
-
-( function() {
-	var fragment = document.createDocumentFragment(),
-		div = fragment.appendChild( document.createElement( "div" ) ),
-		input = document.createElement( "input" );
-
-	// Support: Android 4.0-4.3, Safari<=5.1
-	// Check state lost if the name is set (#11217)
-	// Support: Windows Web Apps (WWA)
-	// `name` and `type` must use .setAttribute for WWA (#14901)
-	input.setAttribute( "type", "radio" );
-	input.setAttribute( "checked", "checked" );
-	input.setAttribute( "name", "t" );
-
-	div.appendChild( input );
-
-	// Support: Safari<=5.1, Android<4.2
-	// Older WebKit doesn't clone checked state correctly in fragments
-	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
-
-	// Support: IE<=11+
-	// Make sure textarea (and checkbox) defaultValue is properly cloned
-	div.innerHTML = "<textarea>x</textarea>";
-	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
-} )();
-
-
-var
-	rkeyEvent = /^key/,
-	rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
-	rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
-
-function returnTrue() {
-	return true;
-}
-
-function returnFalse() {
-	return false;
-}
-
-// Support: IE9
-// See #13393 for more info
-function safeActiveElement() {
-	try {
-		return document.activeElement;
-	} catch ( err ) { }
-}
-
-function on( elem, types, selector, data, fn, one ) {
-	var origFn, type;
-
-	// Types can be a map of types/handlers
-	if ( typeof types === "object" ) {
-
-		// ( types-Object, selector, data )
-		if ( typeof selector !== "string" ) {
-
-			// ( types-Object, data )
-			data = data || selector;
-			selector = undefined;
-		}
-		for ( type in types ) {
-			on( elem, type, selector, data, types[ type ], one );
-		}
-		return elem;
-	}
-
-	if ( data == null && fn == null ) {
-
-		// ( types, fn )
-		fn = selector;
-		data = selector = undefined;
-	} else if ( fn == null ) {
-		if ( typeof selector === "string" ) {
-
-			// ( types, selector, fn )
-			fn = data;
-			data = undefined;
-		} else {
-
-			// ( types, data, fn )
-			fn = data;
-			data = selector;
-			selector = undefined;
-		}
-	}
-	if ( fn === false ) {
-		fn = returnFalse;
-	} else if ( !fn ) {
-		return elem;
-	}
-
-	if ( one === 1 ) {
-		origFn = fn;
-		fn = function( event ) {
-
-			// Can use an empty set, since event contains the info
-			jQuery().off( event );
-			return origFn.apply( this, arguments );
-		};
-
-		// Use same guid so caller can remove using origFn
-		fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
-	}
-	return elem.each( function() {
-		jQuery.event.add( this, types, fn, data, selector );
-	} );
-}
-
-/*
- * Helper functions for managing events -- not part of the public interface.
- * Props to Dean Edwards' addEvent library for many of the ideas.
- */
-jQuery.event = {
-
-	global: {},
-
-	add: function( elem, types, handler, data, selector ) {
-
-		var handleObjIn, eventHandle, tmp,
-			events, t, handleObj,
-			special, handlers, type, namespaces, origType,
-			elemData = dataPriv.get( elem );
-
-		// Don't attach events to noData or text/comment nodes (but allow plain objects)
-		if ( !elemData ) {
-			return;
-		}
-
-		// Caller can pass in an object of custom data in lieu of the handler
-		if ( handler.handler ) {
-			handleObjIn = handler;
-			handler = handleObjIn.handler;
-			selector = handleObjIn.selector;
-		}
-
-		// Make sure that the handler has a unique ID, used to find/remove it later
-		if ( !handler.guid ) {
-			handler.guid = jQuery.guid++;
-		}
-
-		// Init the element's event structure and main handler, if this is the first
-		if ( !( events = elemData.events ) ) {
-			events = elemData.events = {};
-		}
-		if ( !( eventHandle = elemData.handle ) ) {
-			eventHandle = elemData.handle = function( e ) {
-
-				// Discard the second event of a jQuery.event.trigger() and
-				// when an event is called after a page has unloaded
-				return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
-					jQuery.event.dispatch.apply( elem, arguments ) : undefined;
-			};
-		}
-
-		// Handle multiple events separated by a space
-		types = ( types || "" ).match( rnotwhite ) || [ "" ];
-		t = types.length;
-		while ( t-- ) {
-			tmp = rtypenamespace.exec( types[ t ] ) || [];
-			type = origType = tmp[ 1 ];
-			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
-
-			// There *must* be a type, no attaching namespace-only handlers
-			if ( !type ) {
-				continue;
-			}
-
-			// If event changes its type, use the special event handlers for the changed type
-			special = jQuery.event.special[ type ] || {};
-
-			// If selector defined, determine special event api type, otherwise given type
-			type = ( selector ? special.delegateType : special.bindType ) || type;
-
-			// Update special based on newly reset type
-			special = jQuery.event.special[ type ] || {};
-
-			// handleObj is passed to all event handlers
-			handleObj = jQuery.extend( {
-				type: type,
-				origType: origType,
-				data: data,
-				handler: handler,
-				guid: handler.guid,
-				selector: selector,
-				needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
-				namespace: namespaces.join( "." )
-			}, handleObjIn );
-
-			// Init the event handler queue if we're the first
-			if ( !( handlers = events[ type ] ) ) {
-				handlers = events[ type ] = [];
-				handlers.delegateCount = 0;
-
-				// Only use addEventListener if the special events handler returns false
-				if ( !special.setup ||
-					special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
-
-					if ( elem.addEventListener ) {
-						elem.addEventListener( type, eventHandle );
-					}
-				}
-			}
-
-			if ( special.add ) {
-				special.add.call( elem, handleObj );
-
-				if ( !handleObj.handler.guid ) {
-					handleObj.handler.guid = handler.guid;
-				}
-			}
-
-			// Add to the element's handler list, delegates in front
-			if ( selector ) {
-				handlers.splice( handlers.delegateCount++, 0, handleObj );
-			} else {
-				handlers.push( handleObj );
-			}
-
-			// Keep track of which events have ever been used, for event optimization
-			jQuery.event.global[ type ] = true;
-		}
-
-	},
-
-	// Detach an event or set of events from an element
-	remove: function( elem, types, handler, selector, mappedTypes ) {
-
-		var j, origCount, tmp,
-			events, t, handleObj,
-			special, handlers, type, namespaces, origType,
-			elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
-
-		if ( !elemData || !( events = elemData.events ) ) {
-			return;
-		}
-
-		// Once for each type.namespace in types; type may be omitted
-		types = ( types || "" ).match( rnotwhite ) || [ "" ];
-		t = types.length;
-		while ( t-- ) {
-			tmp = rtypenamespace.exec( types[ t ] ) || [];
-			type = origType = tmp[ 1 ];
-			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
-
-			// Unbind all events (on this namespace, if provided) for the element
-			if ( !type ) {
-				for ( type in events ) {
-					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
-				}
-				continue;
-			}
-
-			special = jQuery.event.special[ type ] || {};
-			type = ( selector ? special.delegateType : special.bindType ) || type;
-			handlers = events[ type ] || [];
-			tmp = tmp[ 2 ] &&
-				new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
-
-			// Remove matching events
-			origCount = j = handlers.length;
-			while ( j-- ) {
-				handleObj = handlers[ j ];
-
-				if ( ( mappedTypes || origType === handleObj.origType ) &&
-					( !handler || handler.guid === handleObj.guid ) &&
-					( !tmp || tmp.test( handleObj.namespace ) ) &&
-					( !selector || selector === handleObj.selector ||
-						selector === "**" && handleObj.selector ) ) {
-					handlers.splice( j, 1 );
-
-					if ( handleObj.selector ) {
-						handlers.delegateCount--;
-					}
-					if ( special.remove ) {
-						special.remove.call( elem, handleObj );
-					}
-				}
-			}
-
-			// Remove generic event handler if we removed something and no more handlers exist
-			// (avoids potential for endless recursion during removal of special event handlers)
-			if ( origCount && !handlers.length ) {
-				if ( !special.teardown ||
-					special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
-
-					jQuery.removeEvent( elem, type, elemData.handle );
-				}
-
-				delete events[ type ];
-			}
-		}
-
-		// Remove data and the expando if it's no longer used
-		if ( jQuery.isEmptyObject( events ) ) {
-			dataPriv.remove( elem, "handle events" );
-		}
-	},
-
-	dispatch: function( event ) {
-
-		// Make a writable jQuery.Event from the native event object
-		event = jQuery.event.fix( event );
-
-		var i, j, ret, matched, handleObj,
-			handlerQueue = [],
-			args = slice.call( arguments ),
-			handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
-			special = jQuery.event.special[ event.type ] || {};
-
-		// Use the fix-ed jQuery.Event rather than the (read-only) native event
-		args[ 0 ] = event;
-		event.delegateTarget = this;
-
-		// Call the preDispatch hook for the mapped type, and let it bail if desired
-		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
-			return;
-		}
-
-		// Determine handlers
-		handlerQueue = jQuery.event.handlers.call( this, event, handlers );
-
-		// Run delegates first; they may want to stop propagation beneath us
-		i = 0;
-		while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
-			event.currentTarget = matched.elem;
-
-			j = 0;
-			while ( ( handleObj = matched.handlers[ j++ ] ) &&
-				!event.isImmediatePropagationStopped() ) {
-
-				// Triggered event must either 1) have no namespace, or 2) have namespace(s)
-				// a subset or equal to those in the bound event (both can have no namespace).
-				if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
-
-					event.handleObj = handleObj;
-					event.data = handleObj.data;
-
-					ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
-						handleObj.handler ).apply( matched.elem, args );
-
-					if ( ret !== undefined ) {
-						if ( ( event.result = ret ) === false ) {
-							event.preventDefault();
-							event.stopPropagation();
-						}
-					}
-				}
-			}
-		}
-
-		// Call the postDispatch hook for the mapped type
-		if ( special.postDispatch ) {
-			special.postDispatch.call( this, event );
-		}
-
-		return event.result;
-	},
-
-	handlers: function( event, handlers ) {
-		var i, matches, sel, handleObj,
-			handlerQueue = [],
-			delegateCount = handlers.delegateCount,
-			cur = event.target;
-
-		// Support (at least): Chrome, IE9
-		// Find delegate handlers
-		// Black-hole SVG <use> instance trees (#13180)
-		//
-		// Support: Firefox<=42+
-		// Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)
-		if ( delegateCount && cur.nodeType &&
-			( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) {
-
-			for ( ; cur !== this; cur = cur.parentNode || this ) {
-
-				// Don't check non-elements (#13208)
-				// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
-				if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) {
-					matches = [];
-					for ( i = 0; i < delegateCount; i++ ) {
-						handleObj = handlers[ i ];
-
-						// Don't conflict with Object.prototype properties (#13203)
-						sel = handleObj.selector + " ";
-
-						if ( matches[ sel ] === undefined ) {
-							matches[ sel ] = handleObj.needsContext ?
-								jQuery( sel, this ).index( cur ) > -1 :
-								jQuery.find( sel, this, null, [ cur ] ).length;
-						}
-						if ( matches[ sel ] ) {
-							matches.push( handleObj );
-						}
-					}
-					if ( matches.length ) {
-						handlerQueue.push( { elem: cur, handlers: matches } );
-					}
-				}
-			}
-		}
-
-		// Add the remaining (directly-bound) handlers
-		if ( delegateCount < handlers.length ) {
-			handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );
-		}
-
-		return handlerQueue;
-	},
-
-	// Includes some event props shared by KeyEvent and MouseEvent
-	props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " +
-		"metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ),
-
-	fixHooks: {},
-
-	keyHooks: {
-		props: "char charCode key keyCode".split( " " ),
-		filter: function( event, original ) {
-
-			// Add which for key events
-			if ( event.which == null ) {
-				event.which = original.charCode != null ? original.charCode : original.keyCode;
-			}
-
-			return event;
-		}
-	},
-
-	mouseHooks: {
-		props: ( "button buttons clientX clientY offsetX offsetY pageX pageY " +
-			"screenX screenY toElement" ).split( " " ),
-		filter: function( event, original ) {
-			var eventDoc, doc, body,
-				button = original.button;
-
-			// Calculate pageX/Y if missing and clientX/Y available
-			if ( event.pageX == null && original.clientX != null ) {
-				eventDoc = event.target.ownerDocument || document;
-				doc = eventDoc.documentElement;
-				body = eventDoc.body;
-
-				event.pageX = original.clientX +
-					( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) -
-					( doc && doc.clientLeft || body && body.clientLeft || 0 );
-				event.pageY = original.clientY +
-					( doc && doc.scrollTop  || body && body.scrollTop  || 0 ) -
-					( doc && doc.clientTop  || body && body.clientTop  || 0 );
-			}
-
-			// Add which for click: 1 === left; 2 === middle; 3 === right
-			// Note: button is not normalized, so don't use it
-			if ( !event.which && button !== undefined ) {
-				event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
-			}
-
-			return event;
-		}
-	},
-
-	fix: function( event ) {
-		if ( event[ jQuery.expando ] ) {
-			return event;
-		}
-
-		// Create a writable copy of the event object and normalize some properties
-		var i, prop, copy,
-			type = event.type,
-			originalEvent = event,
-			fixHook = this.fixHooks[ type ];
-
-		if ( !fixHook ) {
-			this.fixHooks[ type ] = fixHook =
-				rmouseEvent.test( type ) ? this.mouseHooks :
-				rkeyEvent.test( type ) ? this.keyHooks :
-				{};
-		}
-		copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
-
-		event = new jQuery.Event( originalEvent );
-
-		i = copy.length;
-		while ( i-- ) {
-			prop = copy[ i ];
-			event[ prop ] = originalEvent[ prop ];
-		}
-
-		// Support: Cordova 2.5 (WebKit) (#13255)
-		// All events should have a target; Cordova deviceready doesn't
-		if ( !event.target ) {
-			event.target = document;
-		}
-
-		// Support: Safari 6.0+, Chrome<28
-		// Target should not be a text node (#504, #13143)
-		if ( event.target.nodeType === 3 ) {
-			event.target = event.target.parentNode;
-		}
-
-		return fixHook.filter ? fixHook.filter( event, originalEvent ) : event;
-	},
-
-	special: {
-		load: {
-
-			// Prevent triggered image.load events from bubbling to window.load
-			noBubble: true
-		},
-		focus: {
-
-			// Fire native event if possible so blur/focus sequence is correct
-			trigger: function() {
-				if ( this !== safeActiveElement() && this.focus ) {
-					this.focus();
-					return false;
-				}
-			},
-			delegateType: "focusin"
-		},
-		blur: {
-			trigger: function() {
-				if ( this === safeActiveElement() && this.blur ) {
-					this.blur();
-					return false;
-				}
-			},
-			delegateType: "focusout"
-		},
-		click: {
-
-			// For checkbox, fire native event so checked state will be right
-			trigger: function() {
-				if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {
-					this.click();
-					return false;
-				}
-			},
-
-			// For cross-browser consistency, don't fire native .click() on links
-			_default: function( event ) {
-				return jQuery.nodeName( event.target, "a" );
-			}
-		},
-
-		beforeunload: {
-			postDispatch: function( event ) {
-
-				// Support: Firefox 20+
-				// Firefox doesn't alert if the returnValue field is not set.
-				if ( event.result !== undefined && event.originalEvent ) {
-					event.originalEvent.returnValue = event.result;
-				}
-			}
-		}
-	}
-};
-
-jQuery.removeEvent = function( elem, type, handle ) {
-
-	// This "if" is needed for plain objects
-	if ( elem.removeEventListener ) {
-		elem.removeEventListener( type, handle );
-	}
-};
-
-jQuery.Event = function( src, props ) {
-
-	// Allow instantiation without the 'new' keyword
-	if ( !( this instanceof jQuery.Event ) ) {
-		return new jQuery.Event( src, props );
-	}
-
-	// Event object
-	if ( src && src.type ) {
-		this.originalEvent = src;
-		this.type = src.type;
-
-		// Events bubbling up the document may have been marked as prevented
-		// by a handler lower down the tree; reflect the correct value.
-		this.isDefaultPrevented = src.defaultPrevented ||
-				src.defaultPrevented === undefined &&
-
-				// Support: Android<4.0
-				src.returnValue === false ?
-			returnTrue :
-			returnFalse;
-
-	// Event type
-	} else {
-		this.type = src;
-	}
-
-	// Put explicitly provided properties onto the event object
-	if ( props ) {
-		jQuery.extend( this, props );
-	}
-
-	// Create a timestamp if incoming event doesn't have one
-	this.timeStamp = src && src.timeStamp || jQuery.now();
-
-	// Mark it as fixed
-	this[ jQuery.expando ] = true;
-};
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
-	constructor: jQuery.Event,
-	isDefaultPrevented: returnFalse,
-	isPropagationStopped: returnFalse,
-	isImmediatePropagationStopped: returnFalse,
-
-	preventDefault: function() {
-		var e = this.originalEvent;
-
-		this.isDefaultPrevented = returnTrue;
-
-		if ( e ) {
-			e.preventDefault();
-		}
-	},
-	stopPropagation: function() {
-		var e = this.originalEvent;
-
-		this.isPropagationStopped = returnTrue;
-
-		if ( e ) {
-			e.stopPropagation();
-		}
-	},
-	stopImmediatePropagation: function() {
-		var e = this.originalEvent;
-
-		this.isImmediatePropagationStopped = returnTrue;
-
-		if ( e ) {
-			e.stopImmediatePropagation();
-		}
-
-		this.stopPropagation();
-	}
-};
-
-// Create mouseenter/leave events using mouseover/out and event-time checks
-// so that event delegation works in jQuery.
-// Do the same for pointerenter/pointerleave and pointerover/pointerout
-//
-// Support: Safari 7 only
-// Safari sends mouseenter too often; see:
-// https://code.google.com/p/chromium/issues/detail?id=470258
-// for the description of the bug (it existed in older Chrome versions as well).
-jQuery.each( {
-	mouseenter: "mouseover",
-	mouseleave: "mouseout",
-	pointerenter: "pointerover",
-	pointerleave: "pointerout"
-}, function( orig, fix ) {
-	jQuery.event.special[ orig ] = {
-		delegateType: fix,
-		bindType: fix,
-
-		handle: function( event ) {
-			var ret,
-				target = this,
-				related = event.relatedTarget,
-				handleObj = event.handleObj;
-
-			// For mouseenter/leave call the handler if related is outside the target.
-			// NB: No relatedTarget if the mouse left/entered the browser window
-			if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
-				event.type = handleObj.origType;
-				ret = handleObj.handler.apply( this, arguments );
-				event.type = fix;
-			}
-			return ret;
-		}
-	};
-} );
-
-jQuery.fn.extend( {
-	on: function( types, selector, data, fn ) {
-		return on( this, types, selector, data, fn );
-	},
-	one: function( types, selector, data, fn ) {
-		return on( this, types, selector, data, fn, 1 );
-	},
-	off: function( types, selector, fn ) {
-		var handleObj, type;
-		if ( types && types.preventDefault && types.handleObj ) {
-
-			// ( event )  dispatched jQuery.Event
-			handleObj = types.handleObj;
-			jQuery( types.delegateTarget ).off(
-				handleObj.namespace ?
-					handleObj.origType + "." + handleObj.namespace :
-					handleObj.origType,
-				handleObj.selector,
-				handleObj.handler
-			);
-			return this;
-		}
-		if ( typeof types === "object" ) {
-
-			// ( types-object [, selector] )
-			for ( type in types ) {
-				this.off( type, selector, types[ type ] );
-			}
-			return this;
-		}
-		if ( selector === false || typeof selector === "function" ) {
-
-			// ( types [, fn] )
-			fn = selector;
-			selector = undefined;
-		}
-		if ( fn === false ) {
-			fn = returnFalse;
-		}
-		return this.each( function() {
-			jQuery.event.remove( this, types, fn, selector );
-		} );
-	}
-} );
-
-
-var
-	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
-
-	// Support: IE 10-11, Edge 10240+
-	// In IE/Edge using regex groups here causes severe slowdowns.
-	// See https://connect.microsoft.com/IE/feedback/details/1736512/
-	rnoInnerhtml = /<script|<style|<link/i,
-
-	// checked="checked" or checked
-	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
-	rscriptTypeMasked = /^true\/(.*)/,
-	rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
-
-// Manipulating tables requires a tbody
-function manipulationTarget( elem, content ) {
-	return jQuery.nodeName( elem, "table" ) &&
-		jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ?
-
-		elem.getElementsByTagName( "tbody" )[ 0 ] ||
-			elem.appendChild( elem.ownerDocument.createElement( "tbody" ) ) :
-		elem;
-}
-
-// Replace/restore the type attribute of script elements for safe DOM manipulation
-function disableScript( elem ) {
-	elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
-	return elem;
-}
-function restoreScript( elem ) {
-	var match = rscriptTypeMasked.exec( elem.type );
-
-	if ( match ) {
-		elem.type = match[ 1 ];
-	} else {
-		elem.removeAttribute( "type" );
-	}
-
-	return elem;
-}
-
-function cloneCopyEvent( src, dest ) {
-	var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
-
-	if ( dest.nodeType !== 1 ) {
-		return;
-	}
-
-	// 1. Copy private data: events, handlers, etc.
-	if ( dataPriv.hasData( src ) ) {
-		pdataOld = dataPriv.access( src );
-		pdataCur = dataPriv.set( dest, pdataOld );
-		events = pdataOld.events;
-
-		if ( events ) {
-			delete pdataCur.handle;
-			pdataCur.events = {};
-
-			for ( type in events ) {
-				for ( i = 0, l = events[ type ].length; i < l; i++ ) {
-					jQuery.event.add( dest, type, events[ type ][ i ] );
-				}
-			}
-		}
-	}
-
-	// 2. Copy user data
-	if ( dataUser.hasData( src ) ) {
-		udataOld = dataUser.access( src );
-		udataCur = jQuery.extend( {}, udataOld );
-
-		dataUser.set( dest, udataCur );
-	}
-}
-
-// Fix IE bugs, see support tests
-function fixInput( src, dest ) {
-	var nodeName = dest.nodeName.toLowerCase();
-
-	// Fails to persist the checked state of a cloned checkbox or radio button.
-	if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
-		dest.checked = src.checked;
-
-	// Fails to return the selected option to the default selected state when cloning options
-	} else if ( nodeName === "input" || nodeName === "textarea" ) {
-		dest.defaultValue = src.defaultValue;
-	}
-}
-
-function domManip( collection, args, callback, ignored ) {
-
-	// Flatten any nested arrays
-	args = concat.apply( [], args );
-
-	var fragment, first, scripts, hasScripts, node, doc,
-		i = 0,
-		l = collection.length,
-		iNoClone = l - 1,
-		value = args[ 0 ],
-		isFunction = jQuery.isFunction( value );
-
-	// We can't cloneNode fragments that contain checked, in WebKit
-	if ( isFunction ||
-			( l > 1 && typeof value === "string" &&
-				!support.checkClone && rchecked.test( value ) ) ) {
-		return collection.each( function( index ) {
-			var self = collection.eq( index );
-			if ( isFunction ) {
-				args[ 0 ] = value.call( this, index, self.html() );
-			}
-			domManip( self, args, callback, ignored );
-		} );
-	}
-
-	if ( l ) {
-		fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
-		first = fragment.firstChild;
-
-		if ( fragment.childNodes.length === 1 ) {
-			fragment = first;
-		}
-
-		// Require either new content or an interest in ignored elements to invoke the callback
-		if ( first || ignored ) {
-			scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
-			hasScripts = scripts.length;
-
-			// Use the original fragment for the last item
-			// instead of the first because it can end up
-			// being emptied incorrectly in certain situations (#8070).
-			for ( ; i < l; i++ ) {
-				node = fragment;
-
-				if ( i !== iNoClone ) {
-					node = jQuery.clone( node, true, true );
-
-					// Keep references to cloned scripts for later restoration
-					if ( hasScripts ) {
-
-						// Support: Android<4.1, PhantomJS<2
-						// push.apply(_, arraylike) throws on ancient WebKit
-						jQuery.merge( scripts, getAll( node, "script" ) );
-					}
-				}
-
-				callback.call( collection[ i ], node, i );
-			}
-
-			if ( hasScripts ) {
-				doc = scripts[ scripts.length - 1 ].ownerDocument;
-
-				// Reenable scripts
-				jQuery.map( scripts, restoreScript );
-
-				// Evaluate executable scripts on first document insertion
-				for ( i = 0; i < hasScripts; i++ ) {
-					node = scripts[ i ];
-					if ( rscriptType.test( node.type || "" ) &&
-						!dataPriv.access( node, "globalEval" ) &&
-						jQuery.contains( doc, node ) ) {
-
-						if ( node.src ) {
-
-							// Optional AJAX dependency, but won't run scripts if not present
-							if ( jQuery._evalUrl ) {
-								jQuery._evalUrl( node.src );
-							}
-						} else {
-							jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) );
-						}
-					}
-				}
-			}
-		}
-	}
-
-	return collection;
-}
-
-function remove( elem, selector, keepData ) {
-	var node,
-		nodes = selector ? jQuery.filter( selector, elem ) : elem,
-		i = 0;
-
-	for ( ; ( node = nodes[ i ] ) != null; i++ ) {
-		if ( !keepData && node.nodeType === 1 ) {
-			jQuery.cleanData( getAll( node ) );
-		}
-
-		if ( node.parentNode ) {
-			if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
-				setGlobalEval( getAll( node, "script" ) );
-			}
-			node.parentNode.removeChild( node );
-		}
-	}
-
-	return elem;
-}
-
-jQuery.extend( {
-	htmlPrefilter: function( html ) {
-		return html.replace( rxhtmlTag, "<$1></$2>" );
-	},
-
-	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
-		var i, l, srcElements, destElements,
-			clone = elem.cloneNode( true ),
-			inPage = jQuery.contains( elem.ownerDocument, elem );
-
-		// Fix IE cloning issues
-		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
-				!jQuery.isXMLDoc( elem ) ) {
-
-			// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
-			destElements = getAll( clone );
-			srcElements = getAll( elem );
-
-			for ( i = 0, l = srcElements.length; i < l; i++ ) {
-				fixInput( srcElements[ i ], destElements[ i ] );
-			}
-		}
-
-		// Copy the events from the original to the clone
-		if ( dataAndEvents ) {
-			if ( deepDataAndEvents ) {
-				srcElements = srcElements || getAll( elem );
-				destElements = destElements || getAll( clone );
-
-				for ( i = 0, l = srcElements.length; i < l; i++ ) {
-					cloneCopyEvent( srcElements[ i ], destElements[ i ] );
-				}
-			} else {
-				cloneCopyEvent( elem, clone );
-			}
-		}
-
-		// Preserve script evaluation history
-		destElements = getAll( clone, "script" );
-		if ( destElements.length > 0 ) {
-			setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
-		}
-
-		// Return the cloned set
-		return clone;
-	},
-
-	cleanData: function( elems ) {
-		var data, elem, type,
-			special = jQuery.event.special,
-			i = 0;
-
-		for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
-			if ( acceptData( elem ) ) {
-				if ( ( data = elem[ dataPriv.expando ] ) ) {
-					if ( data.events ) {
-						for ( type in data.events ) {
-							if ( special[ type ] ) {
-								jQuery.event.remove( elem, type );
-
-							// This is a shortcut to avoid jQuery.event.remove's overhead
-							} else {
-								jQuery.removeEvent( elem, type, data.handle );
-							}
-						}
-					}
-
-					// Support: Chrome <= 35-45+
-					// Assign undefined instead of using delete, see Data#remove
-					elem[ dataPriv.expando ] = undefined;
-				}
-				if ( elem[ dataUser.expando ] ) {
-
-					// Support: Chrome <= 35-45+
-					// Assign undefined instead of using delete, see Data#remove
-					elem[ dataUser.expando ] = undefined;
-				}
-			}
-		}
-	}
-} );
-
-jQuery.fn.extend( {
-
-	// Keep domManip exposed until 3.0 (gh-2225)
-	domManip: domManip,
-
-	detach: function( selector ) {
-		return remove( this, selector, true );
-	},
-
-	remove: function( selector ) {
-		return remove( this, selector );
-	},
-
-	text: function( value ) {
-		return access( this, function( value ) {
-			return value === undefined ?
-				jQuery.text( this ) :
-				this.empty().each( function() {
-					if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
-						this.textContent = value;
-					}
-				} );
-		}, null, value, arguments.length );
-	},
-
-	append: function() {
-		return domManip( this, arguments, function( elem ) {
-			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
-				var target = manipulationTarget( this, elem );
-				target.appendChild( elem );
-			}
-		} );
-	},
-
-	prepend: function() {
-		return domManip( this, arguments, function( elem ) {
-			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
-				var target = manipulationTarget( this, elem );
-				target.insertBefore( elem, target.firstChild );
-			}
-		} );
-	},
-
-	before: function() {
-		return domManip( this, arguments, function( elem ) {
-			if ( this.parentNode ) {
-				this.parentNode.insertBefore( elem, this );
-			}
-		} );
-	},
-
-	after: function() {
-		return domManip( this, arguments, function( elem ) {
-			if ( this.parentNode ) {
-				this.parentNode.insertBefore( elem, this.nextSibling );
-			}
-		} );
-	},
-
-	empty: function() {
-		var elem,
-			i = 0;
-
-		for ( ; ( elem = this[ i ] ) != null; i++ ) {
-			if ( elem.nodeType === 1 ) {
-
-				// Prevent memory leaks
-				jQuery.cleanData( getAll( elem, false ) );
-
-				// Remove any remaining nodes
-				elem.textContent = "";
-			}
-		}
-
-		return this;
-	},
-
-	clone: function( dataAndEvents, deepDataAndEvents ) {
-		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
-		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
-
-		return this.map( function() {
-			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
-		} );
-	},
-
-	html: function( value ) {
-		return access( this, function( value ) {
-			var elem = this[ 0 ] || {},
-				i = 0,
-				l = this.length;
-
-			if ( value === undefined && elem.nodeType === 1 ) {
-				return elem.innerHTML;
-			}
-
-			// See if we can take a shortcut and just use innerHTML
-			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
-				!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
-
-				value = jQuery.htmlPrefilter( value );
-
-				try {
-					for ( ; i < l; i++ ) {
-						elem = this[ i ] || {};
-
-						// Remove element nodes and prevent memory leaks
-						if ( elem.nodeType === 1 ) {
-							jQuery.cleanData( getAll( elem, false ) );
-							elem.innerHTML = value;
-						}
-					}
-
-					elem = 0;
-
-				// If using innerHTML throws an exception, use the fallback method
-				} catch ( e ) {}
-			}
-
-			if ( elem ) {
-				this.empty().append( value );
-			}
-		}, null, value, arguments.length );
-	},
-
-	replaceWith: function() {
-		var ignored = [];
-
-		// Make the changes, replacing each non-ignored context element with the new content
-		return domManip( this, arguments, function( elem ) {
-			var parent = this.parentNode;
-
-			if ( jQuery.inArray( this, ignored ) < 0 ) {
-				jQuery.cleanData( getAll( this ) );
-				if ( parent ) {
-					parent.replaceChild( elem, this );
-				}
-			}
-
-		// Force callback invocation
-		}, ignored );
-	}
-} );
-
-jQuery.each( {
-	appendTo: "append",
-	prependTo: "prepend",
-	insertBefore: "before",
-	insertAfter: "after",
-	replaceAll: "replaceWith"
-}, function( name, original ) {
-	jQuery.fn[ name ] = function( selector ) {
-		var elems,
-			ret = [],
-			insert = jQuery( selector ),
-			last = insert.length - 1,
-			i = 0;
-
-		for ( ; i <= last; i++ ) {
-			elems = i === last ? this : this.clone( true );
-			jQuery( insert[ i ] )[ original ]( elems );
-
-			// Support: QtWebKit
-			// .get() because push.apply(_, arraylike) throws
-			push.apply( ret, elems.get() );
-		}
-
-		return this.pushStack( ret );
-	};
-} );
-
-
-var iframe,
-	elemdisplay = {
-
-		// Support: Firefox
-		// We have to pre-define these values for FF (#10227)
-		HTML: "block",
-		BODY: "block"
-	};
-
-/**
- * Retrieve the actual display of a element
- * @param {String} name nodeName of the element
- * @param {Object} doc Document object
- */
-
-// Called only from within defaultDisplay
-function actualDisplay( name, doc ) {
-	var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
-
-		display = jQuery.css( elem[ 0 ], "display" );
-
-	// We don't have any data stored on the element,
-	// so use "detach" method as fast way to get rid of the element
-	elem.detach();
-
-	return display;
-}
-
-/**
- * Try to determine the default display value of an element
- * @param {String} nodeName
- */
-function defaultDisplay( nodeName ) {
-	var doc = document,
-		display = elemdisplay[ nodeName ];
-
-	if ( !display ) {
-		display = actualDisplay( nodeName, doc );
-
-		// If the simple way fails, read from inside an iframe
-		if ( display === "none" || !display ) {
-
-			// Use the already-created iframe if possible
-			iframe = ( iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" ) )
-				.appendTo( doc.documentElement );
-
-			// Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse
-			doc = iframe[ 0 ].contentDocument;
-
-			// Support: IE
-			doc.write();
-			doc.close();
-
-			display = actualDisplay( nodeName, doc );
-			iframe.detach();
-		}
-
-		// Store the correct default display
-		elemdisplay[ nodeName ] = display;
-	}
-
-	return display;
-}
-var rmargin = ( /^margin/ );
-
-var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
-
-var getStyles = function( elem ) {
-
-		// Support: IE<=11+, Firefox<=30+ (#15098, #14150)
-		// IE throws on elements created in popups
-		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
-		var view = elem.ownerDocument.defaultView;
-
-		if ( !view || !view.opener ) {
-			view = window;
-		}
-
-		return view.getComputedStyle( elem );
-	};
-
-var swap = function( elem, options, callback, args ) {
-	var ret, name,
-		old = {};
-
-	// Remember the old values, and insert the new ones
-	for ( name in options ) {
-		old[ name ] = elem.style[ name ];
-		elem.style[ name ] = options[ name ];
-	}
-
-	ret = callback.apply( elem, args || [] );
-
-	// Revert the old values
-	for ( name in options ) {
-		elem.style[ name ] = old[ name ];
-	}
-
-	return ret;
-};
-
-
-var documentElement = document.documentElement;
-
-
-
-( function() {
-	var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,
-		container = document.createElement( "div" ),
-		div = document.createElement( "div" );
-
-	// Finish early in limited (non-browser) environments
-	if ( !div.style ) {
-		return;
-	}
-
-	// Support: IE9-11+
-	// Style of cloned element affects source element cloned (#8908)
-	div.style.backgroundClip = "content-box";
-	div.cloneNode( true ).style.backgroundClip = "";
-	support.clearCloneStyle = div.style.backgroundClip === "content-box";
-
-	container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" +
-		"padding:0;margin-top:1px;position:absolute";
-	container.appendChild( div );
-
-	// Executing both pixelPosition & boxSizingReliable tests require only one layout
-	// so they're executed at the same time to save the second computation.
-	function computeStyleTests() {
-		div.style.cssText =
-
-			// Support: Firefox<29, Android 2.3
-			// Vendor-prefix box-sizing
-			"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;" +
-			"position:relative;display:block;" +
-			"margin:auto;border:1px;padding:1px;" +
-			"top:1%;width:50%";
-		div.innerHTML = "";
-		documentElement.appendChild( container );
-
-		var divStyle = window.getComputedStyle( div );
-		pixelPositionVal = divStyle.top !== "1%";
-		reliableMarginLeftVal = divStyle.marginLeft === "2px";
-		boxSizingReliableVal = divStyle.width === "4px";
-
-		// Support: Android 4.0 - 4.3 only
-		// Some styles come back with percentage values, even though they shouldn't
-		div.style.marginRight = "50%";
-		pixelMarginRightVal = divStyle.marginRight === "4px";
-
-		documentElement.removeChild( container );
-	}
-
-	jQuery.extend( support, {
-		pixelPosition: function() {
-
-			// This test is executed only once but we still do memoizing
-			// since we can use the boxSizingReliable pre-computing.
-			// No need to check if the test was already performed, though.
-			computeStyleTests();
-			return pixelPositionVal;
-		},
-		boxSizingReliable: function() {
-			if ( boxSizingReliableVal == null ) {
-				computeStyleTests();
-			}
-			return boxSizingReliableVal;
-		},
-		pixelMarginRight: function() {
-
-			// Support: Android 4.0-4.3
-			// We're checking for boxSizingReliableVal here instead of pixelMarginRightVal
-			// since that compresses better and they're computed together anyway.
-			if ( boxSizingReliableVal == null ) {
-				computeStyleTests();
-			}
-			return pixelMarginRightVal;
-		},
-		reliableMarginLeft: function() {
-
-			// Support: IE <=8 only, Android 4.0 - 4.3 only, Firefox <=3 - 37
-			if ( boxSizingReliableVal == null ) {
-				computeStyleTests();
-			}
-			return reliableMarginLeftVal;
-		},
-		reliableMarginRight: function() {
-
-			// Support: Android 2.3
-			// Check if div with explicit width and no margin-right incorrectly
-			// gets computed margin-right based on width of container. (#3333)
-			// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
-			// This support function is only executed once so no memoizing is needed.
-			var ret,
-				marginDiv = div.appendChild( document.createElement( "div" ) );
-
-			// Reset CSS: box-sizing; display; margin; border; padding
-			marginDiv.style.cssText = div.style.cssText =
-
-				// Support: Android 2.3
-				// Vendor-prefix box-sizing
-				"-webkit-box-sizing:content-box;box-sizing:content-box;" +
-				"display:block;margin:0;border:0;padding:0";
-			marginDiv.style.marginRight = marginDiv.style.width = "0";
-			div.style.width = "1px";
-			documentElement.appendChild( container );
-
-			ret = !parseFloat( window.getComputedStyle( marginDiv ).marginRight );
-
-			documentElement.removeChild( container );
-			div.removeChild( marginDiv );
-
-			return ret;
-		}
-	} );
-} )();
-
-
-function curCSS( elem, name, computed ) {
-	var width, minWidth, maxWidth, ret,
-		style = elem.style;
-
-	computed = computed || getStyles( elem );
-	ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined;
-
-	// Support: Opera 12.1x only
-	// Fall back to style even without computed
-	// computed is undefined for elems on document fragments
-	if ( ( ret === "" || ret === undefined ) && !jQuery.contains( elem.ownerDocument, elem ) ) {
-		ret = jQuery.style( elem, name );
-	}
-
-	// Support: IE9
-	// getPropertyValue is only needed for .css('filter') (#12537)
-	if ( computed ) {
-
-		// A tribute to the "awesome hack by Dean Edwards"
-		// Android Browser returns percentage for some values,
-		// but width seems to be reliably pixels.
-		// This is against the CSSOM draft spec:
-		// http://dev.w3.org/csswg/cssom/#resolved-values
-		if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
-
-			// Remember the original values
-			width = style.width;
-			minWidth = style.minWidth;
-			maxWidth = style.maxWidth;
-
-			// Put in the new values to get a computed value out
-			style.minWidth = style.maxWidth = style.width = ret;
-			ret = computed.width;
-
-			// Revert the changed values
-			style.width = width;
-			style.minWidth = minWidth;
-			style.maxWidth = maxWidth;
-		}
-	}
-
-	return ret !== undefined ?
-
-		// Support: IE9-11+
-		// IE returns zIndex value as an integer.
-		ret + "" :
-		ret;
-}
-
-
-function addGetHookIf( conditionFn, hookFn ) {
-
-	// Define the hook, we'll check on the first run if it's really needed.
-	return {
-		get: function() {
-			if ( conditionFn() ) {
-
-				// Hook not needed (or it's not possible to use it due
-				// to missing dependency), remove it.
-				delete this.get;
-				return;
-			}
-
-			// Hook needed; redefine it so that the support test is not executed again.
-			return ( this.get = hookFn ).apply( this, arguments );
-		}
-	};
-}
-
-
-var
-
-	// Swappable if display is none or starts with table
-	// except "table", "table-cell", or "table-caption"
-	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
-	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
-
-	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
-	cssNormalTransform = {
-		letterSpacing: "0",
-		fontWeight: "400"
-	},
-
-	cssPrefixes = [ "Webkit", "O", "Moz", "ms" ],
-	emptyStyle = document.createElement( "div" ).style;
-
-// Return a css property mapped to a potentially vendor prefixed property
-function vendorPropName( name ) {
-
-	// Shortcut for names that are not vendor prefixed
-	if ( name in emptyStyle ) {
-		return name;
-	}
-
-	// Check for vendor prefixed names
-	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
-		i = cssPrefixes.length;
-
-	while ( i-- ) {
-		name = cssPrefixes[ i ] + capName;
-		if ( name in emptyStyle ) {
-			return name;
-		}
-	}
-}
-
-function setPositiveNumber( elem, value, subtract ) {
-
-	// Any relative (+/-) values have already been
-	// normalized at this point
-	var matches = rcssNum.exec( value );
-	return matches ?
-
-		// Guard against undefined "subtract", e.g., when used as in cssHooks
-		Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
-		value;
-}
-
-function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
-	var i = extra === ( isBorderBox ? "border" : "content" ) ?
-
-		// If we already have the right measurement, avoid augmentation
-		4 :
-
-		// Otherwise initialize for horizontal or vertical properties
-		name === "width" ? 1 : 0,
-
-		val = 0;
-
-	for ( ; i < 4; i += 2 ) {
-
-		// Both box models exclude margin, so add it if we want it
-		if ( extra === "margin" ) {
-			val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
-		}
-
-		if ( isBorderBox ) {
-
-			// border-box includes padding, so remove it if we want content
-			if ( extra === "content" ) {
-				val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
-			}
-
-			// At this point, extra isn't border nor margin, so remove border
-			if ( extra !== "margin" ) {
-				val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
-			}
-		} else {
-
-			// At this point, extra isn't content, so add padding
-			val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
-
-			// At this point, extra isn't content nor padding, so add border
-			if ( extra !== "padding" ) {
-				val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
-			}
-		}
-	}
-
-	return val;
-}
-
-function getWidthOrHeight( elem, name, extra ) {
-
-	// Start with offset property, which is equivalent to the border-box value
-	var valueIsBorderBox = true,
-		val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
-		styles = getStyles( elem ),
-		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
-
-	// Support: IE11 only
-	// In IE 11 fullscreen elements inside of an iframe have
-	// 100x too small dimensions (gh-1764).
-	if ( document.msFullscreenElement && window.top !== window ) {
-
-		// Support: IE11 only
-		// Running getBoundingClientRect on a disconnected node
-		// in IE throws an error.
-		if ( elem.getClientRects().length ) {
-			val = Math.round( elem.getBoundingClientRect()[ name ] * 100 );
-		}
-	}
-
-	// Some non-html elements return undefined for offsetWidth, so check for null/undefined
-	// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
-	// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
-	if ( val <= 0 || val == null ) {
-
-		// Fall back to computed then uncomputed css if necessary
-		val = curCSS( elem, name, styles );
-		if ( val < 0 || val == null ) {
-			val = elem.style[ name ];
-		}
-
-		// Computed unit is not pixels. Stop here and return.
-		if ( rnumnonpx.test( val ) ) {
-			return val;
-		}
-
-		// Check for style in case a browser which returns unreliable values
-		// for getComputedStyle silently falls back to the reliable elem.style
-		valueIsBorderBox = isBorderBox &&
-			( support.boxSizingReliable() || val === elem.style[ name ] );
-
-		// Normalize "", auto, and prepare for extra
-		val = parseFloat( val ) || 0;
-	}
-
-	// Use the active box-sizing model to add/subtract irrelevant styles
-	return ( val +
-		augmentWidthOrHeight(
-			elem,
-			name,
-			extra || ( isBorderBox ? "border" : "content" ),
-			valueIsBorderBox,
-			styles
-		)
-	) + "px";
-}
-
-function showHide( elements, show ) {
-	var display, elem, hidden,
-		values = [],
-		index = 0,
-		length = elements.length;
-
-	for ( ; index < length; index++ ) {
-		elem = elements[ index ];
-		if ( !elem.style ) {
-			continue;
-		}
-
-		values[ index ] = dataPriv.get( elem, "olddisplay" );
-		display = elem.style.display;
-		if ( show ) {
-
-			// Reset the inline display of this element to learn if it is
-			// being hidden by cascaded rules or not
-			if ( !values[ index ] && display === "none" ) {
-				elem.style.display = "";
-			}
-
-			// Set elements which have been overridden with display: none
-			// in a stylesheet to whatever the default browser style is
-			// for such an element
-			if ( elem.style.display === "" && isHidden( elem ) ) {
-				values[ index ] = dataPriv.access(
-					elem,
-					"olddisplay",
-					defaultDisplay( elem.nodeName )
-				);
-			}
-		} else {
-			hidden = isHidden( elem );
-
-			if ( display !== "none" || !hidden ) {
-				dataPriv.set(
-					elem,
-					"olddisplay",
-					hidden ? display : jQuery.css( elem, "display" )
-				);
-			}
-		}
-	}
-
-	// Set the display of most of the elements in a second loop
-	// to avoid the constant reflow
-	for ( index = 0; index < length; index++ ) {
-		elem = elements[ index ];
-		if ( !elem.style ) {
-			continue;
-		}
-		if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
-			elem.style.display = show ? values[ index ] || "" : "none";
-		}
-	}
-
-	return elements;
-}
-
-jQuery.extend( {
-
-	// Add in style property hooks for overriding the default
-	// behavior of getting and setting a style property
-	cssHooks: {
-		opacity: {
-			get: function( elem, computed ) {
-				if ( computed ) {
-
-					// We should always get a number back from opacity
-					var ret = curCSS( elem, "opacity" );
-					return ret === "" ? "1" : ret;
-				}
-			}
-		}
-	},
-
-	// Don't automatically add "px" to these possibly-unitless properties
-	cssNumber: {
-		"animationIterationCount": true,
-		"columnCount": true,
-		"fillOpacity": true,
-		"flexGrow": true,
-		"flexShrink": true,
-		"fontWeight": true,
-		"lineHeight": true,
-		"opacity": true,
-		"order": true,
-		"orphans": true,
-		"widows": true,
-		"zIndex": true,
-		"zoom": true
-	},
-
-	// Add in properties whose names you wish to fix before
-	// setting or getting the value
-	cssProps: {
-		"float": "cssFloat"
-	},
-
-	// Get and set the style property on a DOM Node
-	style: function( elem, name, value, extra ) {
-
-		// Don't set styles on text and comment nodes
-		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
-			return;
-		}
-
-		// Make sure that we're working with the right name
-		var ret, type, hooks,
-			origName = jQuery.camelCase( name ),
-			style = elem.style;
-
-		name = jQuery.cssProps[ origName ] ||
-			( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
-
-		// Gets hook for the prefixed version, then unprefixed version
-		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
-
-		// Check if we're setting a value
-		if ( value !== undefined ) {
-			type = typeof value;
-
-			// Convert "+=" or "-=" to relative numbers (#7345)
-			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
-				value = adjustCSS( elem, name, ret );
-
-				// Fixes bug #9237
-				type = "number";
-			}
-
-			// Make sure that null and NaN values aren't set (#7116)
-			if ( value == null || value !== value ) {
-				return;
-			}
-
-			// If a number was passed in, add the unit (except for certain CSS properties)
-			if ( type === "number" ) {
-				value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
-			}
-
-			// Support: IE9-11+
-			// background-* props affect original clone's values
-			if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
-				style[ name ] = "inherit";
-			}
-
-			// If a hook was provided, use that value, otherwise just set the specified value
-			if ( !hooks || !( "set" in hooks ) ||
-				( value = hooks.set( elem, value, extra ) ) !== undefined ) {
-
-				style[ name ] = value;
-			}
-
-		} else {
-
-			// If a hook was provided get the non-computed value from there
-			if ( hooks && "get" in hooks &&
-				( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
-
-				return ret;
-			}
-
-			// Otherwise just get the value from the style object
-			return style[ name ];
-		}
-	},
-
-	css: function( elem, name, extra, styles ) {
-		var val, num, hooks,
-			origName = jQuery.camelCase( name );
-
-		// Make sure that we're working with the right name
-		name = jQuery.cssProps[ origName ] ||
-			( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
-
-		// Try prefixed name followed by the unprefixed name
-		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
-
-		// If a hook was provided get the computed value from there
-		if ( hooks && "get" in hooks ) {
-			val = hooks.get( elem, true, extra );
-		}
-
-		// Otherwise, if a way to get the computed value exists, use that
-		if ( val === undefined ) {
-			val = curCSS( elem, name, styles );
-		}
-
-		// Convert "normal" to computed value
-		if ( val === "normal" && name in cssNormalTransform ) {
-			val = cssNormalTransform[ name ];
-		}
-
-		// Make numeric if forced or a qualifier was provided and val looks numeric
-		if ( extra === "" || extra ) {
-			num = parseFloat( val );
-			return extra === true || isFinite( num ) ? num || 0 : val;
-		}
-		return val;
-	}
-} );
-
-jQuery.each( [ "height", "width" ], function( i, name ) {
-	jQuery.cssHooks[ name ] = {
-		get: function( elem, computed, extra ) {
-			if ( computed ) {
-
-				// Certain elements can have dimension info if we invisibly show them
-				// but it must have a current display style that would benefit
-				return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
-					elem.offsetWidth === 0 ?
-						swap( elem, cssShow, function() {
-							return getWidthOrHeight( elem, name, extra );
-						} ) :
-						getWidthOrHeight( elem, name, extra );
-			}
-		},
-
-		set: function( elem, value, extra ) {
-			var matches,
-				styles = extra && getStyles( elem ),
-				subtract = extra && augmentWidthOrHeight(
-					elem,
-					name,
-					extra,
-					jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
-					styles
-				);
-
-			// Convert to pixels if value adjustment is needed
-			if ( subtract && ( matches = rcssNum.exec( value ) ) &&
-				( matches[ 3 ] || "px" ) !== "px" ) {
-
-				elem.style[ name ] = value;
-				value = jQuery.css( elem, name );
-			}
-
-			return setPositiveNumber( elem, value, subtract );
-		}
-	};
-} );
-
-jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
-	function( elem, computed ) {
-		if ( computed ) {
-			return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
-				elem.getBoundingClientRect().left -
-					swap( elem, { marginLeft: 0 }, function() {
-						return elem.getBoundingClientRect().left;
-					} )
-				) + "px";
-		}
-	}
-);
-
-// Support: Android 2.3
-jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,
-	function( elem, computed ) {
-		if ( computed ) {
-			return swap( elem, { "display": "inline-block" },
-				curCSS, [ elem, "marginRight" ] );
-		}
-	}
-);
-
-// These hooks are used by animate to expand properties
-jQuery.each( {
-	margin: "",
-	padding: "",
-	border: "Width"
-}, function( prefix, suffix ) {
-	jQuery.cssHooks[ prefix + suffix ] = {
-		expand: function( value ) {
-			var i = 0,
-				expanded = {},
-
-				// Assumes a single number if not a string
-				parts = typeof value === "string" ? value.split( " " ) : [ value ];
-
-			for ( ; i < 4; i++ ) {
-				expanded[ prefix + cssExpand[ i ] + suffix ] =
-					parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
-			}
-
-			return expanded;
-		}
-	};
-
-	if ( !rmargin.test( prefix ) ) {
-		jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
-	}
-} );
-
-jQuery.fn.extend( {
-	css: function( name, value ) {
-		return access( this, function( elem, name, value ) {
-			var styles, len,
-				map = {},
-				i = 0;
-
-			if ( jQuery.isArray( name ) ) {
-				styles = getStyles( elem );
-				len = name.length;
-
-				for ( ; i < len; i++ ) {
-					map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
-				}
-
-				return map;
-			}
-
-			return value !== undefined ?
-				jQuery.style( elem, name, value ) :
-				jQuery.css( elem, name );
-		}, name, value, arguments.length > 1 );
-	},
-	show: function() {
-		return showHide( this, true );
-	},
-	hide: function() {
-		return showHide( this );
-	},
-	toggle: function( state ) {
-		if ( typeof state === "boolean" ) {
-			return state ? this.show() : this.hide();
-		}
-
-		return this.each( function() {
-			if ( isHidden( this ) ) {
-				jQuery( this ).show();
-			} else {
-				jQuery( this ).hide();
-			}
-		} );
-	}
-} );
-
-
-function Tween( elem, options, prop, end, easing ) {
-	return new Tween.prototype.init( elem, options, prop, end, easing );
-}
-jQuery.Tween = Tween;
-
-Tween.prototype = {
-	constructor: Tween,
-	init: function( elem, options, prop, end, easing, unit ) {
-		this.elem = elem;
-		this.prop = prop;
-		this.easing = easing || jQuery.easing._default;
-		this.options = options;
-		this.start = this.now = this.cur();
-		this.end = end;
-		this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
-	},
-	cur: function() {
-		var hooks = Tween.propHooks[ this.prop ];
-
-		return hooks && hooks.get ?
-			hooks.get( this ) :
-			Tween.propHooks._default.get( this );
-	},
-	run: function( percent ) {
-		var eased,
-			hooks = Tween.propHooks[ this.prop ];
-
-		if ( this.options.duration ) {
-			this.pos = eased = jQuery.easing[ this.easing ](
-				percent, this.options.duration * percent, 0, 1, this.options.duration
-			);
-		} else {
-			this.pos = eased = percent;
-		}
-		this.now = ( this.end - this.start ) * eased + this.start;
-
-		if ( this.options.step ) {
-			this.options.step.call( this.elem, this.now, this );
-		}
-
-		if ( hooks && hooks.set ) {
-			hooks.set( this );
-		} else {
-			Tween.propHooks._default.set( this );
-		}
-		return this;
-	}
-};
-
-Tween.prototype.init.prototype = Tween.prototype;
-
-Tween.propHooks = {
-	_default: {
-		get: function( tween ) {
-			var result;
-
-			// Use a property on the element directly when it is not a DOM element,
-			// or when there is no matching style property that exists.
-			if ( tween.elem.nodeType !== 1 ||
-				tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
-				return tween.elem[ tween.prop ];
-			}
-
-			// Passing an empty string as a 3rd parameter to .css will automatically
-			// attempt a parseFloat and fallback to a string if the parse fails.
-			// Simple values such as "10px" are parsed to Float;
-			// complex values such as "rotate(1rad)" are returned as-is.
-			result = jQuery.css( tween.elem, tween.prop, "" );
-
-			// Empty strings, null, undefined and "auto" are converted to 0.
-			return !result || result === "auto" ? 0 : result;
-		},
-		set: function( tween ) {
-
-			// Use step hook for back compat.
-			// Use cssHook if its there.
-			// Use .style if available and use plain properties where available.
-			if ( jQuery.fx.step[ tween.prop ] ) {
-				jQuery.fx.step[ tween.prop ]( tween );
-			} else if ( tween.elem.nodeType === 1 &&
-				( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
-					jQuery.cssHooks[ tween.prop ] ) ) {
-				jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
-			} else {
-				tween.elem[ tween.prop ] = tween.now;
-			}
-		}
-	}
-};
-
-// Support: IE9
-// Panic based approach to setting things on disconnected nodes
-Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
-	set: function( tween ) {
-		if ( tween.elem.nodeType && tween.elem.parentNode ) {
-			tween.elem[ tween.prop ] = tween.now;
-		}
-	}
-};
-
-jQuery.easing = {
-	linear: function( p ) {
-		return p;
-	},
-	swing: function( p ) {
-		return 0.5 - Math.cos( p * Math.PI ) / 2;
-	},
-	_default: "swing"
-};
-
-jQuery.fx = Tween.prototype.init;
-
-// Back Compat <1.8 extension point
-jQuery.fx.step = {};
-
-
-
-
-var
-	fxNow, timerId,
-	rfxtypes = /^(?:toggle|show|hide)$/,
-	rrun = /queueHooks$/;
-
-// Animations created synchronously will run synchronously
-function createFxNow() {
-	window.setTimeout( function() {
-		fxNow = undefined;
-	} );
-	return ( fxNow = jQuery.now() );
-}
-
-// Generate parameters to create a standard animation
-function genFx( type, includeWidth ) {
-	var which,
-		i = 0,
-		attrs = { height: type };
-
-	// If we include width, step value is 1 to do all cssExpand values,
-	// otherwise step value is 2 to skip over Left and Right
-	includeWidth = includeWidth ? 1 : 0;
-	for ( ; i < 4 ; i += 2 - includeWidth ) {
-		which = cssExpand[ i ];
-		attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
-	}
-
-	if ( includeWidth ) {
-		attrs.opacity = attrs.width = type;
-	}
-
-	return attrs;
-}
-
-function createTween( value, prop, animation ) {
-	var tween,
-		collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
-		index = 0,
-		length = collection.length;
-	for ( ; index < length; index++ ) {
-		if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
-
-			// We're done with this property
-			return tween;
-		}
-	}
-}
-
-function defaultPrefilter( elem, props, opts ) {
-	/* jshint validthis: true */
-	var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,
-		anim = this,
-		orig = {},
-		style = elem.style,
-		hidden = elem.nodeType && isHidden( elem ),
-		dataShow = dataPriv.get( elem, "fxshow" );
-
-	// Handle queue: false promises
-	if ( !opts.queue ) {
-		hooks = jQuery._queueHooks( elem, "fx" );
-		if ( hooks.unqueued == null ) {
-			hooks.unqueued = 0;
-			oldfire = hooks.empty.fire;
-			hooks.empty.fire = function() {
-				if ( !hooks.unqueued ) {
-					oldfire();
-				}
-			};
-		}
-		hooks.unqueued++;
-
-		anim.always( function() {
-
-			// Ensure the complete handler is called before this completes
-			anim.always( function() {
-				hooks.unqueued--;
-				if ( !jQuery.queue( elem, "fx" ).length ) {
-					hooks.empty.fire();
-				}
-			} );
-		} );
-	}
-
-	// Height/width overflow pass
-	if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) {
-
-		// Make sure that nothing sneaks out
-		// Record all 3 overflow attributes because IE9-10 do not
-		// change the overflow attribute when overflowX and
-		// overflowY are set to the same value
-		opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
-
-		// Set display property to inline-block for height/width
-		// animations on inline elements that are having width/height animated
-		display = jQuery.css( elem, "display" );
-
-		// Test default display if display is currently "none"
-		checkDisplay = display === "none" ?
-			dataPriv.get( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display;
-
-		if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) {
-			style.display = "inline-block";
-		}
-	}
-
-	if ( opts.overflow ) {
-		style.overflow = "hidden";
-		anim.always( function() {
-			style.overflow = opts.overflow[ 0 ];
-			style.overflowX = opts.overflow[ 1 ];
-			style.overflowY = opts.overflow[ 2 ];
-		} );
-	}
-
-	// show/hide pass
-	for ( prop in props ) {
-		value = props[ prop ];
-		if ( rfxtypes.exec( value ) ) {
-			delete props[ prop ];
-			toggle = toggle || value === "toggle";
-			if ( value === ( hidden ? "hide" : "show" ) ) {
-
-				// If there is dataShow left over from a stopped hide or show
-				// and we are going to proceed with show, we should pretend to be hidden
-				if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
-					hidden = true;
-				} else {
-					continue;
-				}
-			}
-			orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
-
-		// Any non-fx value stops us from restoring the original display value
-		} else {
-			display = undefined;
-		}
-	}
-
-	if ( !jQuery.isEmptyObject( orig ) ) {
-		if ( dataShow ) {
-			if ( "hidden" in dataShow ) {
-				hidden = dataShow.hidden;
-			}
-		} else {
-			dataShow = dataPriv.access( elem, "fxshow", {} );
-		}
-
-		// Store state if its toggle - enables .stop().toggle() to "reverse"
-		if ( toggle ) {
-			dataShow.hidden = !hidden;
-		}
-		if ( hidden ) {
-			jQuery( elem ).show();
-		} else {
-			anim.done( function() {
-				jQuery( elem ).hide();
-			} );
-		}
-		anim.done( function() {
-			var prop;
-
-			dataPriv.remove( elem, "fxshow" );
-			for ( prop in orig ) {
-				jQuery.style( elem, prop, orig[ prop ] );
-			}
-		} );
-		for ( prop in orig ) {
-			tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
-
-			if ( !( prop in dataShow ) ) {
-				dataShow[ prop ] = tween.start;
-				if ( hidden ) {
-					tween.end = tween.start;
-					tween.start = prop === "width" || prop === "height" ? 1 : 0;
-				}
-			}
-		}
-
-	// If this is a noop like .hide().hide(), restore an overwritten display value
-	} else if ( ( display === "none" ? defaultDisplay( elem.nodeName ) : display ) === "inline" ) {
-		style.display = display;
-	}
-}
-
-function propFilter( props, specialEasing ) {
-	var index, name, easing, value, hooks;
-
-	// camelCase, specialEasing and expand cssHook pass
-	for ( index in props ) {
-		name = jQuery.camelCase( index );
-		easing = specialEasing[ name ];
-		value = props[ index ];
-		if ( jQuery.isArray( value ) ) {
-			easing = value[ 1 ];
-			value = props[ index ] = value[ 0 ];
-		}
-
-		if ( index !== name ) {
-			props[ name ] = value;
-			delete props[ index ];
-		}
-
-		hooks = jQuery.cssHooks[ name ];
-		if ( hooks && "expand" in hooks ) {
-			value = hooks.expand( value );
-			delete props[ name ];
-
-			// Not quite $.extend, this won't overwrite existing keys.
-			// Reusing 'index' because we have the correct "name"
-			for ( index in value ) {
-				if ( !( index in props ) ) {
-					props[ index ] = value[ index ];
-					specialEasing[ index ] = easing;
-				}
-			}
-		} else {
-			specialEasing[ name ] = easing;
-		}
-	}
-}
-
-function Animation( elem, properties, options ) {
-	var result,
-		stopped,
-		index = 0,
-		length = Animation.prefilters.length,
-		deferred = jQuery.Deferred().always( function() {
-
-			// Don't match elem in the :animated selector
-			delete tick.elem;
-		} ),
-		tick = function() {
-			if ( stopped ) {
-				return false;
-			}
-			var currentTime = fxNow || createFxNow(),
-				remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
-
-				// Support: Android 2.3
-				// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
-				temp = remaining / animation.duration || 0,
-				percent = 1 - temp,
-				index = 0,
-				length = animation.tweens.length;
-
-			for ( ; index < length ; index++ ) {
-				animation.tweens[ index ].run( percent );
-			}
-
-			deferred.notifyWith( elem, [ animation, percent, remaining ] );
-
-			if ( percent < 1 && length ) {
-				return remaining;
-			} else {
-				deferred.resolveWith( elem, [ animation ] );
-				return false;
-			}
-		},
-		animation = deferred.promise( {
-			elem: elem,
-			props: jQuery.extend( {}, properties ),
-			opts: jQuery.extend( true, {
-				specialEasing: {},
-				easing: jQuery.easing._default
-			}, options ),
-			originalProperties: properties,
-			originalOptions: options,
-			startTime: fxNow || createFxNow(),
-			duration: options.duration,
-			tweens: [],
-			createTween: function( prop, end ) {
-				var tween = jQuery.Tween( elem, animation.opts, prop, end,
-						animation.opts.specialEasing[ prop ] || animation.opts.easing );
-				animation.tweens.push( tween );
-				return tween;
-			},
-			stop: function( gotoEnd ) {
-				var index = 0,
-
-					// If we are going to the end, we want to run all the tweens
-					// otherwise we skip this part
-					length = gotoEnd ? animation.tweens.length : 0;
-				if ( stopped ) {
-					return this;
-				}
-				stopped = true;
-				for ( ; index < length ; index++ ) {
-					animation.tweens[ index ].run( 1 );
-				}
-
-				// Resolve when we played the last frame; otherwise, reject
-				if ( gotoEnd ) {
-					deferred.notifyWith( elem, [ animation, 1, 0 ] );
-					deferred.resolveWith( elem, [ animation, gotoEnd ] );
-				} else {
-					deferred.rejectWith( elem, [ animation, gotoEnd ] );
-				}
-				return this;
-			}
-		} ),
-		props = animation.props;
-
-	propFilter( props, animation.opts.specialEasing );
-
-	for ( ; index < length ; index++ ) {
-		result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
-		if ( result ) {
-			if ( jQuery.isFunction( result.stop ) ) {
-				jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
-					jQuery.proxy( result.stop, result );
-			}
-			return result;
-		}
-	}
-
-	jQuery.map( props, createTween, animation );
-
-	if ( jQuery.isFunction( animation.opts.start ) ) {
-		animation.opts.start.call( elem, animation );
-	}
-
-	jQuery.fx.timer(
-		jQuery.extend( tick, {
-			elem: elem,
-			anim: animation,
-			queue: animation.opts.queue
-		} )
-	);
-
-	// attach callbacks from options
-	return animation.progress( animation.opts.progress )
-		.done( animation.opts.done, animation.opts.complete )
-		.fail( animation.opts.fail )
-		.always( animation.opts.always );
-}
-
-jQuery.Animation = jQuery.extend( Animation, {
-	tweeners: {
-		"*": [ function( prop, value ) {
-			var tween = this.createTween( prop, value );
-			adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
-			return tween;
-		} ]
-	},
-
-	tweener: function( props, callback ) {
-		if ( jQuery.isFunction( props ) ) {
-			callback = props;
-			props = [ "*" ];
-		} else {
-			props = props.match( rnotwhite );
-		}
-
-		var prop,
-			index = 0,
-			length = props.length;
-
-		for ( ; index < length ; index++ ) {
-			prop = props[ index ];
-			Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
-			Animation.tweeners[ prop ].unshift( callback );
-		}
-	},
-
-	prefilters: [ defaultPrefilter ],
-
-	prefilter: function( callback, prepend ) {
-		if ( prepend ) {
-			Animation.prefilters.unshift( callback );
-		} else {
-			Animation.prefilters.push( callback );
-		}
-	}
-} );
-
-jQuery.speed = function( speed, easing, fn ) {
-	var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
-		complete: fn || !fn && easing ||
-			jQuery.isFunction( speed ) && speed,
-		duration: speed,
-		easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
-	};
-
-	opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ?
-		opt.duration : opt.duration in jQuery.fx.speeds ?
-			jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
-
-	// Normalize opt.queue - true/undefined/null -> "fx"
-	if ( opt.queue == null || opt.queue === true ) {
-		opt.queue = "fx";
-	}
-
-	// Queueing
-	opt.old = opt.complete;
-
-	opt.complete = function() {
-		if ( jQuery.isFunction( opt.old ) ) {
-			opt.old.call( this );
-		}
-
-		if ( opt.queue ) {
-			jQuery.dequeue( this, opt.queue );
-		}
-	};
-
-	return opt;
-};
-
-jQuery.fn.extend( {
-	fadeTo: function( speed, to, easing, callback ) {
-
-		// Show any hidden elements after setting opacity to 0
-		return this.filter( isHidden ).css( "opacity", 0 ).show()
-
-			// Animate to the value specified
-			.end().animate( { opacity: to }, speed, easing, callback );
-	},
-	animate: function( prop, speed, easing, callback ) {
-		var empty = jQuery.isEmptyObject( prop ),
-			optall = jQuery.speed( speed, easing, callback ),
-			doAnimation = function() {
-
-				// Operate on a copy of prop so per-property easing won't be lost
-				var anim = Animation( this, jQuery.extend( {}, prop ), optall );
-
-				// Empty animations, or finishing resolves immediately
-				if ( empty || dataPriv.get( this, "finish" ) ) {
-					anim.stop( true );
-				}
-			};
-			doAnimation.finish = doAnimation;
-
-		return empty || optall.queue === false ?
-			this.each( doAnimation ) :
-			this.queue( optall.queue, doAnimation );
-	},
-	stop: function( type, clearQueue, gotoEnd ) {
-		var stopQueue = function( hooks ) {
-			var stop = hooks.stop;
-			delete hooks.stop;
-			stop( gotoEnd );
-		};
-
-		if ( typeof type !== "string" ) {
-			gotoEnd = clearQueue;
-			clearQueue = type;
-			type = undefined;
-		}
-		if ( clearQueue && type !== false ) {
-			this.queue( type || "fx", [] );
-		}
-
-		return this.each( function() {
-			var dequeue = true,
-				index = type != null && type + "queueHooks",
-				timers = jQuery.timers,
-				data = dataPriv.get( this );
-
-			if ( index ) {
-				if ( data[ index ] && data[ index ].stop ) {
-					stopQueue( data[ index ] );
-				}
-			} else {
-				for ( index in data ) {
-					if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
-						stopQueue( data[ index ] );
-					}
-				}
-			}
-
-			for ( index = timers.length; index--; ) {
-				if ( timers[ index ].elem === this &&
-					( type == null || timers[ index ].queue === type ) ) {
-
-					timers[ index ].anim.stop( gotoEnd );
-					dequeue = false;
-					timers.splice( index, 1 );
-				}
-			}
-
-			// Start the next in the queue if the last step wasn't forced.
-			// Timers currently will call their complete callbacks, which
-			// will dequeue but only if they were gotoEnd.
-			if ( dequeue || !gotoEnd ) {
-				jQuery.dequeue( this, type );
-			}
-		} );
-	},
-	finish: function( type ) {
-		if ( type !== false ) {
-			type = type || "fx";
-		}
-		return this.each( function() {
-			var index,
-				data = dataPriv.get( this ),
-				queue = data[ type + "queue" ],
-				hooks = data[ type + "queueHooks" ],
-				timers = jQuery.timers,
-				length = queue ? queue.length : 0;
-
-			// Enable finishing flag on private data
-			data.finish = true;
-
-			// Empty the queue first
-			jQuery.queue( this, type, [] );
-
-			if ( hooks && hooks.stop ) {
-				hooks.stop.call( this, true );
-			}
-
-			// Look for any active animations, and finish them
-			for ( index = timers.length; index--; ) {
-				if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
-					timers[ index ].anim.stop( true );
-					timers.splice( index, 1 );
-				}
-			}
-
-			// Look for any animations in the old queue and finish them
-			for ( index = 0; index < length; index++ ) {
-				if ( queue[ index ] && queue[ index ].finish ) {
-					queue[ index ].finish.call( this );
-				}
-			}
-
-			// Turn off finishing flag
-			delete data.finish;
-		} );
-	}
-} );
-
-jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
-	var cssFn = jQuery.fn[ name ];
-	jQuery.fn[ name ] = function( speed, easing, callback ) {
-		return speed == null || typeof speed === "boolean" ?
-			cssFn.apply( this, arguments ) :
-			this.animate( genFx( name, true ), speed, easing, callback );
-	};
-} );
-
-// Generate shortcuts for custom animations
-jQuery.each( {
-	slideDown: genFx( "show" ),
-	slideUp: genFx( "hide" ),
-	slideToggle: genFx( "toggle" ),
-	fadeIn: { opacity: "show" },
-	fadeOut: { opacity: "hide" },
-	fadeToggle: { opacity: "toggle" }
-}, function( name, props ) {
-	jQuery.fn[ name ] = function( speed, easing, callback ) {
-		return this.animate( props, speed, easing, callback );
-	};
-} );
-
-jQuery.timers = [];
-jQuery.fx.tick = function() {
-	var timer,
-		i = 0,
-		timers = jQuery.timers;
-
-	fxNow = jQuery.now();
-
-	for ( ; i < timers.length; i++ ) {
-		timer = timers[ i ];
-
-		// Checks the timer has not already been removed
-		if ( !timer() && timers[ i ] === timer ) {
-			timers.splice( i--, 1 );
-		}
-	}
-
-	if ( !timers.length ) {
-		jQuery.fx.stop();
-	}
-	fxNow = undefined;
-};
-
-jQuery.fx.timer = function( timer ) {
-	jQuery.timers.push( timer );
-	if ( timer() ) {
-		jQuery.fx.start();
-	} else {
-		jQuery.timers.pop();
-	}
-};
-
-jQuery.fx.interval = 13;
-jQuery.fx.start = function() {
-	if ( !timerId ) {
-		timerId = window.setInterval( jQuery.fx.tick, jQuery.fx.interval );
-	}
-};
-
-jQuery.fx.stop = function() {
-	window.clearInterval( timerId );
-
-	timerId = null;
-};
-
-jQuery.fx.speeds = {
-	slow: 600,
-	fast: 200,
-
-	// Default speed
-	_default: 400
-};
-
-
-// Based off of the plugin by Clint Helfers, with permission.
-// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
-jQuery.fn.delay = function( time, type ) {
-	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
-	type = type || "fx";
-
-	return this.queue( type, function( next, hooks ) {
-		var timeout = window.setTimeout( next, time );
-		hooks.stop = function() {
-			window.clearTimeout( timeout );
-		};
-	} );
-};
-
-
-( function() {
-	var input = document.createElement( "input" ),
-		select = document.createElement( "select" ),
-		opt = select.appendChild( document.createElement( "option" ) );
-
-	input.type = "checkbox";
-
-	// Support: iOS<=5.1, Android<=4.2+
-	// Default value for a checkbox should be "on"
-	support.checkOn = input.value !== "";
-
-	// Support: IE<=11+
-	// Must access selectedIndex to make default options select
-	support.optSelected = opt.selected;
-
-	// Support: Android<=2.3
-	// Options inside disabled selects are incorrectly marked as disabled
-	select.disabled = true;
-	support.optDisabled = !opt.disabled;
-
-	// Support: IE<=11+
-	// An input loses its value after becoming a radio
-	input = document.createElement( "input" );
-	input.value = "t";
-	input.type = "radio";
-	support.radioValue = input.value === "t";
-} )();
-
-
-var boolHook,
-	attrHandle = jQuery.expr.attrHandle;
-
-jQuery.fn.extend( {
-	attr: function( name, value ) {
-		return access( this, jQuery.attr, name, value, arguments.length > 1 );
-	},
-
-	removeAttr: function( name ) {
-		return this.each( function() {
-			jQuery.removeAttr( this, name );
-		} );
-	}
-} );
-
-jQuery.extend( {
-	attr: function( elem, name, value ) {
-		var ret, hooks,
-			nType = elem.nodeType;
-
-		// Don't get/set attributes on text, comment and attribute nodes
-		if ( nType === 3 || nType === 8 || nType === 2 ) {
-			return;
-		}
-
-		// Fallback to prop when attributes are not supported
-		if ( typeof elem.getAttribute === "undefined" ) {
-			return jQuery.prop( elem, name, value );
-		}
-
-		// All attributes are lowercase
-		// Grab necessary hook if one is defined
-		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
-			name = name.toLowerCase();
-			hooks = jQuery.attrHooks[ name ] ||
-				( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
-		}
-
-		if ( value !== undefined ) {
-			if ( value === null ) {
-				jQuery.removeAttr( elem, name );
-				return;
-			}
-
-			if ( hooks && "set" in hooks &&
-				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
-				return ret;
-			}
-
-			elem.setAttribute( name, value + "" );
-			return value;
-		}
-
-		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
-			return ret;
-		}
-
-		ret = jQuery.find.attr( elem, name );
-
-		// Non-existent attributes return null, we normalize to undefined
-		return ret == null ? undefined : ret;
-	},
-
-	attrHooks: {
-		type: {
-			set: function( elem, value ) {
-				if ( !support.radioValue && value === "radio" &&
-					jQuery.nodeName( elem, "input" ) ) {
-					var val = elem.value;
-					elem.setAttribute( "type", value );
-					if ( val ) {
-						elem.value = val;
-					}
-					return value;
-				}
-			}
-		}
-	},
-
-	removeAttr: function( elem, value ) {
-		var name, propName,
-			i = 0,
-			attrNames = value && value.match( rnotwhite );
-
-		if ( attrNames && elem.nodeType === 1 ) {
-			while ( ( name = attrNames[ i++ ] ) ) {
-				propName = jQuery.propFix[ name ] || name;
-
-				// Boolean attributes get special treatment (#10870)
-				if ( jQuery.expr.match.bool.test( name ) ) {
-
-					// Set corresponding property to false
-					elem[ propName ] = false;
-				}
-
-				elem.removeAttribute( name );
-			}
-		}
-	}
-} );
-
-// Hooks for boolean attributes
-boolHook = {
-	set: function( elem, value, name ) {
-		if ( value === false ) {
-
-			// Remove boolean attributes when set to false
-			jQuery.removeAttr( elem, name );
-		} else {
-			elem.setAttribute( name, name );
-		}
-		return name;
-	}
-};
-jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
-	var getter = attrHandle[ name ] || jQuery.find.attr;
-
-	attrHandle[ name ] = function( elem, name, isXML ) {
-		var ret, handle;
-		if ( !isXML ) {
-
-			// Avoid an infinite loop by temporarily removing this function from the getter
-			handle = attrHandle[ name ];
-			attrHandle[ name ] = ret;
-			ret = getter( elem, name, isXML ) != null ?
-				name.toLowerCase() :
-				null;
-			attrHandle[ name ] = handle;
-		}
-		return ret;
-	};
-} );
-
-
-
-
-var rfocusable = /^(?:input|select|textarea|button)$/i,
-	rclickable = /^(?:a|area)$/i;
-
-jQuery.fn.extend( {
-	prop: function( name, value ) {
-		return access( this, jQuery.prop, name, value, arguments.length > 1 );
-	},
-
-	removeProp: function( name ) {
-		return this.each( function() {
-			delete this[ jQuery.propFix[ name ] || name ];
-		} );
-	}
-} );
-
-jQuery.extend( {
-	prop: function( elem, name, value ) {
-		var ret, hooks,
-			nType = elem.nodeType;
-
-		// Don't get/set properties on text, comment and attribute nodes
-		if ( nType === 3 || nType === 8 || nType === 2 ) {
-			return;
-		}
-
-		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
-
-			// Fix name and attach hooks
-			name = jQuery.propFix[ name ] || name;
-			hooks = jQuery.propHooks[ name ];
-		}
-
-		if ( value !== undefined ) {
-			if ( hooks && "set" in hooks &&
-				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
-				return ret;
-			}
-
-			return ( elem[ name ] = value );
-		}
-
-		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
-			return ret;
-		}
-
-		return elem[ name ];
-	},
-
-	propHooks: {
-		tabIndex: {
-			get: function( elem ) {
-
-				// elem.tabIndex doesn't always return the
-				// correct value when it hasn't been explicitly set
-				// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
-				// Use proper attribute retrieval(#12072)
-				var tabindex = jQuery.find.attr( elem, "tabindex" );
-
-				return tabindex ?
-					parseInt( tabindex, 10 ) :
-					rfocusable.test( elem.nodeName ) ||
-						rclickable.test( elem.nodeName ) && elem.href ?
-							0 :
-							-1;
-			}
-		}
-	},
-
-	propFix: {
-		"for": "htmlFor",
-		"class": "className"
-	}
-} );
-
-// Support: IE <=11 only
-// Accessing the selectedIndex property
-// forces the browser to respect setting selected
-// on the option
-// The getter ensures a default option is selected
-// when in an optgroup
-if ( !support.optSelected ) {
-	jQuery.propHooks.selected = {
-		get: function( elem ) {
-			var parent = elem.parentNode;
-			if ( parent && parent.parentNode ) {
-				parent.parentNode.selectedIndex;
-			}
-			return null;
-		},
-		set: function( elem ) {
-			var parent = elem.parentNode;
-			if ( parent ) {
-				parent.selectedIndex;
-
-				if ( parent.parentNode ) {
-					parent.parentNode.selectedIndex;
-				}
-			}
-		}
-	};
-}
-
-jQuery.each( [
-	"tabIndex",
-	"readOnly",
-	"maxLength",
-	"cellSpacing",
-	"cellPadding",
-	"rowSpan",
-	"colSpan",
-	"useMap",
-	"frameBorder",
-	"contentEditable"
-], function() {
-	jQuery.propFix[ this.toLowerCase() ] = this;
-} );
-
-
-
-
-var rclass = /[\t\r\n\f]/g;
-
-function getClass( elem ) {
-	return elem.getAttribute && elem.getAttribute( "class" ) || "";
-}
-
-jQuery.fn.extend( {
-	addClass: function( value ) {
-		var classes, elem, cur, curValue, clazz, j, finalValue,
-			i = 0;
-
-		if ( jQuery.isFunction( value ) ) {
-			return this.each( function( j ) {
-				jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
-			} );
-		}
-
-		if ( typeof value === "string" && value ) {
-			classes = value.match( rnotwhite ) || [];
-
-			while ( ( elem = this[ i++ ] ) ) {
-				curValue = getClass( elem );
-				cur = elem.nodeType === 1 &&
-					( " " + curValue + " " ).replace( rclass, " " );
-
-				if ( cur ) {
-					j = 0;
-					while ( ( clazz = classes[ j++ ] ) ) {
-						if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
-							cur += clazz + " ";
-						}
-					}
-
-					// Only assign if different to avoid unneeded rendering.
-					finalValue = jQuery.trim( cur );
-					if ( curValue !== finalValue ) {
-						elem.setAttribute( "class", finalValue );
-					}
-				}
-			}
-		}
-
-		return this;
-	},
-
-	removeClass: function( value ) {
-		var classes, elem, cur, curValue, clazz, j, finalValue,
-			i = 0;
-
-		if ( jQuery.isFunction( value ) ) {
-			return this.each( function( j ) {
-				jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
-			} );
-		}
-
-		if ( !arguments.length ) {
-			return this.attr( "class", "" );
-		}
-
-		if ( typeof value === "string" && value ) {
-			classes = value.match( rnotwhite ) || [];
-
-			while ( ( elem = this[ i++ ] ) ) {
-				curValue = getClass( elem );
-
-				// This expression is here for better compressibility (see addClass)
-				cur = elem.nodeType === 1 &&
-					( " " + curValue + " " ).replace( rclass, " " );
-
-				if ( cur ) {
-					j = 0;
-					while ( ( clazz = classes[ j++ ] ) ) {
-
-						// Remove *all* instances
-						while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
-							cur = cur.replace( " " + clazz + " ", " " );
-						}
-					}
-
-					// Only assign if different to avoid unneeded rendering.
-					finalValue = jQuery.trim( cur );
-					if ( curValue !== finalValue ) {
-						elem.setAttribute( "class", finalValue );
-					}
-				}
-			}
-		}
-
-		return this;
-	},
-
-	toggleClass: function( value, stateVal ) {
-		var type = typeof value;
-
-		if ( typeof stateVal === "boolean" && type === "string" ) {
-			return stateVal ? this.addClass( value ) : this.removeClass( value );
-		}
-
-		if ( jQuery.isFunction( value ) ) {
-			return this.each( function( i ) {
-				jQuery( this ).toggleClass(
-					value.call( this, i, getClass( this ), stateVal ),
-					stateVal
-				);
-			} );
-		}
-
-		return this.each( function() {
-			var className, i, self, classNames;
-
-			if ( type === "string" ) {
-
-				// Toggle individual class names
-				i = 0;
-				self = jQuery( this );
-				classNames = value.match( rnotwhite ) || [];
-
-				while ( ( className = classNames[ i++ ] ) ) {
-
-					// Check each className given, space separated list
-					if ( self.hasClass( className ) ) {
-						self.removeClass( className );
-					} else {
-						self.addClass( className );
-					}
-				}
-
-			// Toggle whole class name
-			} else if ( value === undefined || type === "boolean" ) {
-				className = getClass( this );
-				if ( className ) {
-
-					// Store className if set
-					dataPriv.set( this, "__className__", className );
-				}
-
-				// If the element has a class name or if we're passed `false`,
-				// then remove the whole classname (if there was one, the above saved it).
-				// Otherwise bring back whatever was previously saved (if anything),
-				// falling back to the empty string if nothing was stored.
-				if ( this.setAttribute ) {
-					this.setAttribute( "class",
-						className || value === false ?
-						"" :
-						dataPriv.get( this, "__className__" ) || ""
-					);
-				}
-			}
-		} );
-	},
-
-	hasClass: function( selector ) {
-		var className, elem,
-			i = 0;
-
-		className = " " + selector + " ";
-		while ( ( elem = this[ i++ ] ) ) {
-			if ( elem.nodeType === 1 &&
-				( " " + getClass( elem ) + " " ).replace( rclass, " " )
-					.indexOf( className ) > -1
-			) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-} );
-
-
-
-
-var rreturn = /\r/g,
-	rspaces = /[\x20\t\r\n\f]+/g;
-
-jQuery.fn.extend( {
-	val: function( value ) {
-		var hooks, ret, isFunction,
-			elem = this[ 0 ];
-
-		if ( !arguments.length ) {
-			if ( elem ) {
-				hooks = jQuery.valHooks[ elem.type ] ||
-					jQuery.valHooks[ elem.nodeName.toLowerCase() ];
-
-				if ( hooks &&
-					"get" in hooks &&
-					( ret = hooks.get( elem, "value" ) ) !== undefined
-				) {
-					return ret;
-				}
-
-				ret = elem.value;
-
-				return typeof ret === "string" ?
-
-					// Handle most common string cases
-					ret.replace( rreturn, "" ) :
-
-					// Handle cases where value is null/undef or number
-					ret == null ? "" : ret;
-			}
-
-			return;
-		}
-
-		isFunction = jQuery.isFunction( value );
-
-		return this.each( function( i ) {
-			var val;
-
-			if ( this.nodeType !== 1 ) {
-				return;
-			}
-
-			if ( isFunction ) {
-				val = value.call( this, i, jQuery( this ).val() );
-			} else {
-				val = value;
-			}
-
-			// Treat null/undefined as ""; convert numbers to string
-			if ( val == null ) {
-				val = "";
-
-			} else if ( typeof val === "number" ) {
-				val += "";
-
-			} else if ( jQuery.isArray( val ) ) {
-				val = jQuery.map( val, function( value ) {
-					return value == null ? "" : value + "";
-				} );
-			}
-
-			hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
-
-			// If set returns undefined, fall back to normal setting
-			if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
-				this.value = val;
-			}
-		} );
-	}
-} );
-
-jQuery.extend( {
-	valHooks: {
-		option: {
-			get: function( elem ) {
-
-				var val = jQuery.find.attr( elem, "value" );
-				return val != null ?
-					val :
-
-					// Support: IE10-11+
-					// option.text throws exceptions (#14686, #14858)
-					// Strip and collapse whitespace
-					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
-					jQuery.trim( jQuery.text( elem ) ).replace( rspaces, " " );
-			}
-		},
-		select: {
-			get: function( elem ) {
-				var value, option,
-					options = elem.options,
-					index = elem.selectedIndex,
-					one = elem.type === "select-one" || index < 0,
-					values = one ? null : [],
-					max = one ? index + 1 : options.length,
-					i = index < 0 ?
-						max :
-						one ? index : 0;
-
-				// Loop through all the selected options
-				for ( ; i < max; i++ ) {
-					option = options[ i ];
-
-					// IE8-9 doesn't update selected after form reset (#2551)
-					if ( ( option.selected || i === index ) &&
-
-							// Don't return options that are disabled or in a disabled optgroup
-							( support.optDisabled ?
-								!option.disabled : option.getAttribute( "disabled" ) === null ) &&
-							( !option.parentNode.disabled ||
-								!jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
-
-						// Get the specific value for the option
-						value = jQuery( option ).val();
-
-						// We don't need an array for one selects
-						if ( one ) {
-							return value;
-						}
-
-						// Multi-Selects return an array
-						values.push( value );
-					}
-				}
-
-				return values;
-			},
-
-			set: function( elem, value ) {
-				var optionSet, option,
-					options = elem.options,
-					values = jQuery.makeArray( value ),
-					i = options.length;
-
-				while ( i-- ) {
-					option = options[ i ];
-					if ( option.selected =
-						jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
-					) {
-						optionSet = true;
-					}
-				}
-
-				// Force browsers to behave consistently when non-matching value is set
-				if ( !optionSet ) {
-					elem.selectedIndex = -1;
-				}
-				return values;
-			}
-		}
-	}
-} );
-
-// Radios and checkboxes getter/setter
-jQuery.each( [ "radio", "checkbox" ], function() {
-	jQuery.valHooks[ this ] = {
-		set: function( elem, value ) {
-			if ( jQuery.isArray( value ) ) {
-				return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
-			}
-		}
-	};
-	if ( !support.checkOn ) {
-		jQuery.valHooks[ this ].get = function( elem ) {
-			return elem.getAttribute( "value" ) === null ? "on" : elem.value;
-		};
-	}
-} );
-
-
-
-
-// Return jQuery for attributes-only inclusion
-
-
-var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;
-
-jQuery.extend( jQuery.event, {
-
-	trigger: function( event, data, elem, onlyHandlers ) {
-
-		var i, cur, tmp, bubbleType, ontype, handle, special,
-			eventPath = [ elem || document ],
-			type = hasOwn.call( event, "type" ) ? event.type : event,
-			namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
-
-		cur = tmp = elem = elem || document;
-
-		// Don't do events on text and comment nodes
-		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
-			return;
-		}
-
-		// focus/blur morphs to focusin/out; ensure we're not firing them right now
-		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
-			return;
-		}
-
-		if ( type.indexOf( "." ) > -1 ) {
-
-			// Namespaced trigger; create a regexp to match event type in handle()
-			namespaces = type.split( "." );
-			type = namespaces.shift();
-			namespaces.sort();
-		}
-		ontype = type.indexOf( ":" ) < 0 && "on" + type;
-
-		// Caller can pass in a jQuery.Event object, Object, or just an event type string
-		event = event[ jQuery.expando ] ?
-			event :
-			new jQuery.Event( type, typeof event === "object" && event );
-
-		// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
-		event.isTrigger = onlyHandlers ? 2 : 3;
-		event.namespace = namespaces.join( "." );
-		event.rnamespace = event.namespace ?
-			new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
-			null;
-
-		// Clean up the event in case it is being reused
-		event.result = undefined;
-		if ( !event.target ) {
-			event.target = elem;
-		}
-
-		// Clone any incoming data and prepend the event, creating the handler arg list
-		data = data == null ?
-			[ event ] :
-			jQuery.makeArray( data, [ event ] );
-
-		// Allow special events to draw outside the lines
-		special = jQuery.event.special[ type ] || {};
-		if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
-			return;
-		}
-
-		// Determine event propagation path in advance, per W3C events spec (#9951)
-		// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
-		if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
-
-			bubbleType = special.delegateType || type;
-			if ( !rfocusMorph.test( bubbleType + type ) ) {
-				cur = cur.parentNode;
-			}
-			for ( ; cur; cur = cur.parentNode ) {
-				eventPath.push( cur );
-				tmp = cur;
-			}
-
-			// Only add window if we got to document (e.g., not plain obj or detached DOM)
-			if ( tmp === ( elem.ownerDocument || document ) ) {
-				eventPath.push( tmp.defaultView || tmp.parentWindow || window );
-			}
-		}
-
-		// Fire handlers on the event path
-		i = 0;
-		while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
-
-			event.type = i > 1 ?
-				bubbleType :
-				special.bindType || type;
-
-			// jQuery handler
-			handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
-				dataPriv.get( cur, "handle" );
-			if ( handle ) {
-				handle.apply( cur, data );
-			}
-
-			// Native handler
-			handle = ontype && cur[ ontype ];
-			if ( handle && handle.apply && acceptData( cur ) ) {
-				event.result = handle.apply( cur, data );
-				if ( event.result === false ) {
-					event.preventDefault();
-				}
-			}
-		}
-		event.type = type;
-
-		// If nobody prevented the default action, do it now
-		if ( !onlyHandlers && !event.isDefaultPrevented() ) {
-
-			if ( ( !special._default ||
-				special._default.apply( eventPath.pop(), data ) === false ) &&
-				acceptData( elem ) ) {
-
-				// Call a native DOM method on the target with the same name name as the event.
-				// Don't do default actions on window, that's where global variables be (#6170)
-				if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
-
-					// Don't re-trigger an onFOO event when we call its FOO() method
-					tmp = elem[ ontype ];
-
-					if ( tmp ) {
-						elem[ ontype ] = null;
-					}
-
-					// Prevent re-triggering of the same event, since we already bubbled it above
-					jQuery.event.triggered = type;
-					elem[ type ]();
-					jQuery.event.triggered = undefined;
-
-					if ( tmp ) {
-						elem[ ontype ] = tmp;
-					}
-				}
-			}
-		}
-
-		return event.result;
-	},
-
-	// Piggyback on a donor event to simulate a different one
-	simulate: function( type, elem, event ) {
-		var e = jQuery.extend(
-			new jQuery.Event(),
-			event,
-			{
-				type: type,
-				isSimulated: true
-
-				// Previously, `originalEvent: {}` was set here, so stopPropagation call
-				// would not be triggered on donor event, since in our own
-				// jQuery.event.stopPropagation function we had a check for existence of
-				// originalEvent.stopPropagation method, so, consequently it would be a noop.
-				//
-				// But now, this "simulate" function is used only for events
-				// for which stopPropagation() is noop, so there is no need for that anymore.
-				//
-				// For the 1.x branch though, guard for "click" and "submit"
-				// events is still used, but was moved to jQuery.event.stopPropagation function
-				// because `originalEvent` should point to the original event for the constancy
-				// with other events and for more focused logic
-			}
-		);
-
-		jQuery.event.trigger( e, null, elem );
-
-		if ( e.isDefaultPrevented() ) {
-			event.preventDefault();
-		}
-	}
-
-} );
-
-jQuery.fn.extend( {
-
-	trigger: function( type, data ) {
-		return this.each( function() {
-			jQuery.event.trigger( type, data, this );
-		} );
-	},
-	triggerHandler: function( type, data ) {
-		var elem = this[ 0 ];
-		if ( elem ) {
-			return jQuery.event.trigger( type, data, elem, true );
-		}
-	}
-} );
-
-
-jQuery.each( ( "blur focus focusin focusout load resize scroll unload click dblclick " +
-	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
-	"change select submit keydown keypress keyup error contextmenu" ).split( " " ),
-	function( i, name ) {
-
-	// Handle event binding
-	jQuery.fn[ name ] = function( data, fn ) {
-		return arguments.length > 0 ?
-			this.on( name, null, data, fn ) :
-			this.trigger( name );
-	};
-} );
-
-jQuery.fn.extend( {
-	hover: function( fnOver, fnOut ) {
-		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
-	}
-} );
-
-
-
-
-support.focusin = "onfocusin" in window;
-
-
-// Support: Firefox
-// Firefox doesn't have focus(in | out) events
-// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
-//
-// Support: Chrome, Safari
-// focus(in | out) events fire after focus & blur events,
-// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
-// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857
-if ( !support.focusin ) {
-	jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
-
-		// Attach a single capturing handler on the document while someone wants focusin/focusout
-		var handler = function( event ) {
-			jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
-		};
-
-		jQuery.event.special[ fix ] = {
-			setup: function() {
-				var doc = this.ownerDocument || this,
-					attaches = dataPriv.access( doc, fix );
-
-				if ( !attaches ) {
-					doc.addEventListener( orig, handler, true );
-				}
-				dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
-			},
-			teardown: function() {
-				var doc = this.ownerDocument || this,
-					attaches = dataPriv.access( doc, fix ) - 1;
-
-				if ( !attaches ) {
-					doc.removeEventListener( orig, handler, true );
-					dataPriv.remove( doc, fix );
-
-				} else {
-					dataPriv.access( doc, fix, attaches );
-				}
-			}
-		};
-	} );
-}
-var location = window.location;
-
-var nonce = jQuery.now();
-
-var rquery = ( /\?/ );
-
-
-
-// Support: Android 2.3
-// Workaround failure to string-cast null input
-jQuery.parseJSON = function( data ) {
-	return JSON.parse( data + "" );
-};
-
-
-// Cross-browser xml parsing
-jQuery.parseXML = function( data ) {
-	var xml;
-	if ( !data || typeof data !== "string" ) {
-		return null;
-	}
-
-	// Support: IE9
-	try {
-		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
-	} catch ( e ) {
-		xml = undefined;
-	}
-
-	if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
-		jQuery.error( "Invalid XML: " + data );
-	}
-	return xml;
-};
-
-
-var
-	rhash = /#.*$/,
-	rts = /([?&])_=[^&]*/,
-	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
-
-	// #7653, #8125, #8152: local protocol detection
-	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
-	rnoContent = /^(?:GET|HEAD)$/,
-	rprotocol = /^\/\//,
-
-	/* Prefilters
-	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
-	 * 2) These are called:
-	 *    - BEFORE asking for a transport
-	 *    - AFTER param serialization (s.data is a string if s.processData is true)
-	 * 3) key is the dataType
-	 * 4) the catchall symbol "*" can be used
-	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
-	 */
-	prefilters = {},
-
-	/* Transports bindings
-	 * 1) key is the dataType
-	 * 2) the catchall symbol "*" can be used
-	 * 3) selection will start with transport dataType and THEN go to "*" if needed
-	 */
-	transports = {},
-
-	// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
-	allTypes = "*/".concat( "*" ),
-
-	// Anchor tag for parsing the document origin
-	originAnchor = document.createElement( "a" );
-	originAnchor.href = location.href;
-
-// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
-function addToPrefiltersOrTransports( structure ) {
-
-	// dataTypeExpression is optional and defaults to "*"
-	return function( dataTypeExpression, func ) {
-
-		if ( typeof dataTypeExpression !== "string" ) {
-			func = dataTypeExpression;
-			dataTypeExpression = "*";
-		}
-
-		var dataType,
-			i = 0,
-			dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];
-
-		if ( jQuery.isFunction( func ) ) {
-
-			// For each dataType in the dataTypeExpression
-			while ( ( dataType = dataTypes[ i++ ] ) ) {
-
-				// Prepend if requested
-				if ( dataType[ 0 ] === "+" ) {
-					dataType = dataType.slice( 1 ) || "*";
-					( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
-
-				// Otherwise append
-				} else {
-					( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
-				}
-			}
-		}
-	};
-}
-
-// Base inspection function for prefilters and transports
-function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
-
-	var inspected = {},
-		seekingTransport = ( structure === transports );
-
-	function inspect( dataType ) {
-		var selected;
-		inspected[ dataType ] = true;
-		jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
-			var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
-			if ( typeof dataTypeOrTransport === "string" &&
-				!seekingTransport && !inspected[ dataTypeOrTransport ] ) {
-
-				options.dataTypes.unshift( dataTypeOrTransport );
-				inspect( dataTypeOrTransport );
-				return false;
-			} else if ( seekingTransport ) {
-				return !( selected = dataTypeOrTransport );
-			}
-		} );
-		return selected;
-	}
-
-	return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
-}
-
-// A special extend for ajax options
-// that takes "flat" options (not to be deep extended)
-// Fixes #9887
-function ajaxExtend( target, src ) {
-	var key, deep,
-		flatOptions = jQuery.ajaxSettings.flatOptions || {};
-
-	for ( key in src ) {
-		if ( src[ key ] !== undefined ) {
-			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
-		}
-	}
-	if ( deep ) {
-		jQuery.extend( true, target, deep );
-	}
-
-	return target;
-}
-
-/* Handles responses to an ajax request:
- * - finds the right dataType (mediates between content-type and expected dataType)
- * - returns the corresponding response
- */
-function ajaxHandleResponses( s, jqXHR, responses ) {
-
-	var ct, type, finalDataType, firstDataType,
-		contents = s.contents,
-		dataTypes = s.dataTypes;
-
-	// Remove auto dataType and get content-type in the process
-	while ( dataTypes[ 0 ] === "*" ) {
-		dataTypes.shift();
-		if ( ct === undefined ) {
-			ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
-		}
-	}
-
-	// Check if we're dealing with a known content-type
-	if ( ct ) {
-		for ( type in contents ) {
-			if ( contents[ type ] && contents[ type ].test( ct ) ) {
-				dataTypes.unshift( type );
-				break;
-			}
-		}
-	}
-
-	// Check to see if we have a response for the expected dataType
-	if ( dataTypes[ 0 ] in responses ) {
-		finalDataType = dataTypes[ 0 ];
-	} else {
-
-		// Try convertible dataTypes
-		for ( type in responses ) {
-			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
-				finalDataType = type;
-				break;
-			}
-			if ( !firstDataType ) {
-				firstDataType = type;
-			}
-		}
-
-		// Or just use first one
-		finalDataType = finalDataType || firstDataType;
-	}
-
-	// If we found a dataType
-	// We add the dataType to the list if needed
-	// and return the corresponding response
-	if ( finalDataType ) {
-		if ( finalDataType !== dataTypes[ 0 ] ) {
-			dataTypes.unshift( finalDataType );
-		}
-		return responses[ finalDataType ];
-	}
-}
-
-/* Chain conversions given the request and the original response
- * Also sets the responseXXX fields on the jqXHR instance
- */
-function ajaxConvert( s, response, jqXHR, isSuccess ) {
-	var conv2, current, conv, tmp, prev,
-		converters = {},
-
-		// Work with a copy of dataTypes in case we need to modify it for conversion
-		dataTypes = s.dataTypes.slice();
-
-	// Create converters map with lowercased keys
-	if ( dataTypes[ 1 ] ) {
-		for ( conv in s.converters ) {
-			converters[ conv.toLowerCase() ] = s.converters[ conv ];
-		}
-	}
-
-	current = dataTypes.shift();
-
-	// Convert to each sequential dataType
-	while ( current ) {
-
-		if ( s.responseFields[ current ] ) {
-			jqXHR[ s.responseFields[ current ] ] = response;
-		}
-
-		// Apply the dataFilter if provided
-		if ( !prev && isSuccess && s.dataFilter ) {
-			response = s.dataFilter( response, s.dataType );
-		}
-
-		prev = current;
-		current = dataTypes.shift();
-
-		if ( current ) {
-
-		// There's only work to do if current dataType is non-auto
-			if ( current === "*" ) {
-
-				current = prev;
-
-			// Convert response if prev dataType is non-auto and differs from current
-			} else if ( prev !== "*" && prev !== current ) {
-
-				// Seek a direct converter
-				conv = converters[ prev + " " + current ] || converters[ "* " + current ];
-
-				// If none found, seek a pair
-				if ( !conv ) {
-					for ( conv2 in converters ) {
-
-						// If conv2 outputs current
-						tmp = conv2.split( " " );
-						if ( tmp[ 1 ] === current ) {
-
-							// If prev can be converted to accepted input
-							conv = converters[ prev + " " + tmp[ 0 ] ] ||
-								converters[ "* " + tmp[ 0 ] ];
-							if ( conv ) {
-
-								// Condense equivalence converters
-								if ( conv === true ) {
-									conv = converters[ conv2 ];
-
-								// Otherwise, insert the intermediate dataType
-								} else if ( converters[ conv2 ] !== true ) {
-									current = tmp[ 0 ];
-									dataTypes.unshift( tmp[ 1 ] );
-								}
-								break;
-							}
-						}
-					}
-				}
-
-				// Apply converter (if not an equivalence)
-				if ( conv !== true ) {
-
-					// Unless errors are allowed to bubble, catch and return them
-					if ( conv && s.throws ) {
-						response = conv( response );
-					} else {
-						try {
-							response = conv( response );
-						} catch ( e ) {
-							return {
-								state: "parsererror",
-								error: conv ? e : "No conversion from " + prev + " to " + current
-							};
-						}
-					}
-				}
-			}
-		}
-	}
-
-	return { state: "success", data: response };
-}
-
-jQuery.extend( {
-
-	// Counter for holding the number of active queries
-	active: 0,
-
-	// Last-Modified header cache for next request
-	lastModified: {},
-	etag: {},
-
-	ajaxSettings: {
-		url: location.href,
-		type: "GET",
-		isLocal: rlocalProtocol.test( location.protocol ),
-		global: true,
-		processData: true,
-		async: true,
-		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
-		/*
-		timeout: 0,
-		data: null,
-		dataType: null,
-		username: null,
-		password: null,
-		cache: null,
-		throws: false,
-		traditional: false,
-		headers: {},
-		*/
-
-		accepts: {
-			"*": allTypes,
-			text: "text/plain",
-			html: "text/html",
-			xml: "application/xml, text/xml",
-			json: "application/json, text/javascript"
-		},
-
-		contents: {
-			xml: /\bxml\b/,
-			html: /\bhtml/,
-			json: /\bjson\b/
-		},
-
-		responseFields: {
-			xml: "responseXML",
-			text: "responseText",
-			json: "responseJSON"
-		},
-
-		// Data converters
-		// Keys separate source (or catchall "*") and destination types with a single space
-		converters: {
-
-			// Convert anything to text
-			"* text": String,
-
-			// Text to html (true = no transformation)
-			"text html": true,
-
-			// Evaluate text as a json expression
-			"text json": jQuery.parseJSON,
-
-			// Parse text as xml
-			"text xml": jQuery.parseXML
-		},
-
-		// For options that shouldn't be deep extended:
-		// you can add your own custom options here if
-		// and when you create one that shouldn't be
-		// deep extended (see ajaxExtend)
-		flatOptions: {
-			url: true,
-			context: true
-		}
-	},
-
-	// Creates a full fledged settings object into target
-	// with both ajaxSettings and settings fields.
-	// If target is omitted, writes into ajaxSettings.
-	ajaxSetup: function( target, settings ) {
-		return settings ?
-
-			// Building a settings object
-			ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
-
-			// Extending ajaxSettings
-			ajaxExtend( jQuery.ajaxSettings, target );
-	},
-
-	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
-	ajaxTransport: addToPrefiltersOrTransports( transports ),
-
-	// Main method
-	ajax: function( url, options ) {
-
-		// If url is an object, simulate pre-1.5 signature
-		if ( typeof url === "object" ) {
-			options = url;
-			url = undefined;
-		}
-
-		// Force options to be an object
-		options = options || {};
-
-		var transport,
-
-			// URL without anti-cache param
-			cacheURL,
-
-			// Response headers
-			responseHeadersString,
-			responseHeaders,
-
-			// timeout handle
-			timeoutTimer,
-
-			// Url cleanup var
-			urlAnchor,
-
-			// To know if global events are to be dispatched
-			fireGlobals,
-
-			// Loop variable
-			i,
-
-			// Create the final options object
-			s = jQuery.ajaxSetup( {}, options ),
-
-			// Callbacks context
-			callbackContext = s.context || s,
-
-			// Context for global events is callbackContext if it is a DOM node or jQuery collection
-			globalEventContext = s.context &&
-				( callbackContext.nodeType || callbackContext.jquery ) ?
-					jQuery( callbackContext ) :
-					jQuery.event,
-
-			// Deferreds
-			deferred = jQuery.Deferred(),
-			completeDeferred = jQuery.Callbacks( "once memory" ),
-
-			// Status-dependent callbacks
-			statusCode = s.statusCode || {},
-
-			// Headers (they are sent all at once)
-			requestHeaders = {},
-			requestHeadersNames = {},
-
-			// The jqXHR state
-			state = 0,
-
-			// Default abort message
-			strAbort = "canceled",
-
-			// Fake xhr
-			jqXHR = {
-				readyState: 0,
-
-				// Builds headers hashtable if needed
-				getResponseHeader: function( key ) {
-					var match;
-					if ( state === 2 ) {
-						if ( !responseHeaders ) {
-							responseHeaders = {};
-							while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
-								responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
-							}
-						}
-						match = responseHeaders[ key.toLowerCase() ];
-					}
-					return match == null ? null : match;
-				},
-
-				// Raw string
-				getAllResponseHeaders: function() {
-					return state === 2 ? responseHeadersString : null;
-				},
-
-				// Caches the header
-				setRequestHeader: function( name, value ) {
-					var lname = name.toLowerCase();
-					if ( !state ) {
-						name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
-						requestHeaders[ name ] = value;
-					}
-					return this;
-				},
-
-				// Overrides response content-type header
-				overrideMimeType: function( type ) {
-					if ( !state ) {
-						s.mimeType = type;
-					}
-					return this;
-				},
-
-				// Status-dependent callbacks
-				statusCode: function( map ) {
-					var code;
-					if ( map ) {
-						if ( state < 2 ) {
-							for ( code in map ) {
-
-								// Lazy-add the new callback in a way that preserves old ones
-								statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
-							}
-						} else {
-
-							// Execute the appropriate callbacks
-							jqXHR.always( map[ jqXHR.status ] );
-						}
-					}
-					return this;
-				},
-
-				// Cancel the request
-				abort: function( statusText ) {
-					var finalText = statusText || strAbort;
-					if ( transport ) {
-						transport.abort( finalText );
-					}
-					done( 0, finalText );
-					return this;
-				}
-			};
-
-		// Attach deferreds
-		deferred.promise( jqXHR ).complete = completeDeferred.add;
-		jqXHR.success = jqXHR.done;
-		jqXHR.error = jqXHR.fail;
-
-		// Remove hash character (#7531: and string promotion)
-		// Add protocol if not provided (prefilters might expect it)
-		// Handle falsy url in the settings object (#10093: consistency with old signature)
-		// We also use the url parameter if available
-		s.url = ( ( url || s.url || location.href ) + "" ).replace( rhash, "" )
-			.replace( rprotocol, location.protocol + "//" );
-
-		// Alias method option to type as per ticket #12004
-		s.type = options.method || options.type || s.method || s.type;
-
-		// Extract dataTypes list
-		s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ];
-
-		// A cross-domain request is in order when the origin doesn't match the current origin.
-		if ( s.crossDomain == null ) {
-			urlAnchor = document.createElement( "a" );
-
-			// Support: IE8-11+
-			// IE throws exception if url is malformed, e.g. http://example.com:80x/
-			try {
-				urlAnchor.href = s.url;
-
-				// Support: IE8-11+
-				// Anchor's host property isn't correctly set when s.url is relative
-				urlAnchor.href = urlAnchor.href;
-				s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
-					urlAnchor.protocol + "//" + urlAnchor.host;
-			} catch ( e ) {
-
-				// If there is an error parsing the URL, assume it is crossDomain,
-				// it can be rejected by the transport if it is invalid
-				s.crossDomain = true;
-			}
-		}
-
-		// Convert data if not already a string
-		if ( s.data && s.processData && typeof s.data !== "string" ) {
-			s.data = jQuery.param( s.data, s.traditional );
-		}
-
-		// Apply prefilters
-		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
-
-		// If request was aborted inside a prefilter, stop there
-		if ( state === 2 ) {
-			return jqXHR;
-		}
-
-		// We can fire global events as of now if asked to
-		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
-		fireGlobals = jQuery.event && s.global;
-
-		// Watch for a new set of requests
-		if ( fireGlobals && jQuery.active++ === 0 ) {
-			jQuery.event.trigger( "ajaxStart" );
-		}
-
-		// Uppercase the type
-		s.type = s.type.toUpperCase();
-
-		// Determine if request has content
-		s.hasContent = !rnoContent.test( s.type );
-
-		// Save the URL in case we're toying with the If-Modified-Since
-		// and/or If-None-Match header later on
-		cacheURL = s.url;
-
-		// More options handling for requests with no content
-		if ( !s.hasContent ) {
-
-			// If data is available, append data to url
-			if ( s.data ) {
-				cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data );
-
-				// #9682: remove data so that it's not used in an eventual retry
-				delete s.data;
-			}
-
-			// Add anti-cache in url if needed
-			if ( s.cache === false ) {
-				s.url = rts.test( cacheURL ) ?
-
-					// If there is already a '_' parameter, set its value
-					cacheURL.replace( rts, "$1_=" + nonce++ ) :
-
-					// Otherwise add one to the end
-					cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++;
-			}
-		}
-
-		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
-		if ( s.ifModified ) {
-			if ( jQuery.lastModified[ cacheURL ] ) {
-				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
-			}
-			if ( jQuery.etag[ cacheURL ] ) {
-				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
-			}
-		}
-
-		// Set the correct header, if data is being sent
-		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
-			jqXHR.setRequestHeader( "Content-Type", s.contentType );
-		}
-
-		// Set the Accepts header for the server, depending on the dataType
-		jqXHR.setRequestHeader(
-			"Accept",
-			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
-				s.accepts[ s.dataTypes[ 0 ] ] +
-					( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
-				s.accepts[ "*" ]
-		);
-
-		// Check for headers option
-		for ( i in s.headers ) {
-			jqXHR.setRequestHeader( i, s.headers[ i ] );
-		}
-
-		// Allow custom headers/mimetypes and early abort
-		if ( s.beforeSend &&
-			( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
-
-			// Abort if not done already and return
-			return jqXHR.abort();
-		}
-
-		// Aborting is no longer a cancellation
-		strAbort = "abort";
-
-		// Install callbacks on deferreds
-		for ( i in { success: 1, error: 1, complete: 1 } ) {
-			jqXHR[ i ]( s[ i ] );
-		}
-
-		// Get transport
-		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
-
-		// If no transport, we auto-abort
-		if ( !transport ) {
-			done( -1, "No Transport" );
-		} else {
-			jqXHR.readyState = 1;
-
-			// Send global event
-			if ( fireGlobals ) {
-				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
-			}
-
-			// If request was aborted inside ajaxSend, stop there
-			if ( state === 2 ) {
-				return jqXHR;
-			}
-
-			// Timeout
-			if ( s.async && s.timeout > 0 ) {
-				timeoutTimer = window.setTimeout( function() {
-					jqXHR.abort( "timeout" );
-				}, s.timeout );
-			}
-
-			try {
-				state = 1;
-				transport.send( requestHeaders, done );
-			} catch ( e ) {
-
-				// Propagate exception as error if not done
-				if ( state < 2 ) {
-					done( -1, e );
-
-				// Simply rethrow otherwise
-				} else {
-					throw e;
-				}
-			}
-		}
-
-		// Callback for when everything is done
-		function done( status, nativeStatusText, responses, headers ) {
-			var isSuccess, success, error, response, modified,
-				statusText = nativeStatusText;
-
-			// Called once
-			if ( state === 2 ) {
-				return;
-			}
-
-			// State is "done" now
-			state = 2;
-
-			// Clear timeout if it exists
-			if ( timeoutTimer ) {
-				window.clearTimeout( timeoutTimer );
-			}
-
-			// Dereference transport for early garbage collection
-			// (no matter how long the jqXHR object will be used)
-			transport = undefined;
-
-			// Cache response headers
-			responseHeadersString = headers || "";
-
-			// Set readyState
-			jqXHR.readyState = status > 0 ? 4 : 0;
-
-			// Determine if successful
-			isSuccess = status >= 200 && status < 300 || status === 304;
-
-			// Get response data
-			if ( responses ) {
-				response = ajaxHandleResponses( s, jqXHR, responses );
-			}
-
-			// Convert no matter what (that way responseXXX fields are always set)
-			response = ajaxConvert( s, response, jqXHR, isSuccess );
-
-			// If successful, handle type chaining
-			if ( isSuccess ) {
-
-				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
-				if ( s.ifModified ) {
-					modified = jqXHR.getResponseHeader( "Last-Modified" );
-					if ( modified ) {
-						jQuery.lastModified[ cacheURL ] = modified;
-					}
-					modified = jqXHR.getResponseHeader( "etag" );
-					if ( modified ) {
-						jQuery.etag[ cacheURL ] = modified;
-					}
-				}
-
-				// if no content
-				if ( status === 204 || s.type === "HEAD" ) {
-					statusText = "nocontent";
-
-				// if not modified
-				} else if ( status === 304 ) {
-					statusText = "notmodified";
-
-				// If we have data, let's convert it
-				} else {
-					statusText = response.state;
-					success = response.data;
-					error = response.error;
-					isSuccess = !error;
-				}
-			} else {
-
-				// Extract error from statusText and normalize for non-aborts
-				error = statusText;
-				if ( status || !statusText ) {
-					statusText = "error";
-					if ( status < 0 ) {
-						status = 0;
-					}
-				}
-			}
-
-			// Set data for the fake xhr object
-			jqXHR.status = status;
-			jqXHR.statusText = ( nativeStatusText || statusText ) + "";
-
-			// Success/Error
-			if ( isSuccess ) {
-				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
-			} else {
-				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
-			}
-
-			// Status-dependent callbacks
-			jqXHR.statusCode( statusCode );
-			statusCode = undefined;
-
-			if ( fireGlobals ) {
-				globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
-					[ jqXHR, s, isSuccess ? success : error ] );
-			}
-
-			// Complete
-			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
-
-			if ( fireGlobals ) {
-				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
-
-				// Handle the global AJAX counter
-				if ( !( --jQuery.active ) ) {
-					jQuery.event.trigger( "ajaxStop" );
-				}
-			}
-		}
-
-		return jqXHR;
-	},
-
-	getJSON: function( url, data, callback ) {
-		return jQuery.get( url, data, callback, "json" );
-	},
-
-	getScript: function( url, callback ) {
-		return jQuery.get( url, undefined, callback, "script" );
-	}
-} );
-
-jQuery.each( [ "get", "post" ], function( i, method ) {
-	jQuery[ method ] = function( url, data, callback, type ) {
-
-		// Shift arguments if data argument was omitted
-		if ( jQuery.isFunction( data ) ) {
-			type = type || callback;
-			callback = data;
-			data = undefined;
-		}
-
-		// The url can be an options object (which then must have .url)
-		return jQuery.ajax( jQuery.extend( {
-			url: url,
-			type: method,
-			dataType: type,
-			data: data,
-			success: callback
-		}, jQuery.isPlainObject( url ) && url ) );
-	};
-} );
-
-
-jQuery._evalUrl = function( url ) {
-	return jQuery.ajax( {
-		url: url,
-
-		// Make this explicit, since user can override this through ajaxSetup (#11264)
-		type: "GET",
-		dataType: "script",
-		async: false,
-		global: false,
-		"throws": true
-	} );
-};
-
-
-jQuery.fn.extend( {
-	wrapAll: function( html ) {
-		var wrap;
-
-		if ( jQuery.isFunction( html ) ) {
-			return this.each( function( i ) {
-				jQuery( this ).wrapAll( html.call( this, i ) );
-			} );
-		}
-
-		if ( this[ 0 ] ) {
-
-			// The elements to wrap the target around
-			wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
-
-			if ( this[ 0 ].parentNode ) {
-				wrap.insertBefore( this[ 0 ] );
-			}
-
-			wrap.map( function() {
-				var elem = this;
-
-				while ( elem.firstElementChild ) {
-					elem = elem.firstElementChild;
-				}
-
-				return elem;
-			} ).append( this );
-		}
-
-		return this;
-	},
-
-	wrapInner: function( html ) {
-		if ( jQuery.isFunction( html ) ) {
-			return this.each( function( i ) {
-				jQuery( this ).wrapInner( html.call( this, i ) );
-			} );
-		}
-
-		return this.each( function() {
-			var self = jQuery( this ),
-				contents = self.contents();
-
-			if ( contents.length ) {
-				contents.wrapAll( html );
-
-			} else {
-				self.append( html );
-			}
-		} );
-	},
-
-	wrap: function( html ) {
-		var isFunction = jQuery.isFunction( html );
-
-		return this.each( function( i ) {
-			jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );
-		} );
-	},
-
-	unwrap: function() {
-		return this.parent().each( function() {
-			if ( !jQuery.nodeName( this, "body" ) ) {
-				jQuery( this ).replaceWith( this.childNodes );
-			}
-		} ).end();
-	}
-} );
-
-
-jQuery.expr.filters.hidden = function( elem ) {
-	return !jQuery.expr.filters.visible( elem );
-};
-jQuery.expr.filters.visible = function( elem ) {
-
-	// Support: Opera <= 12.12
-	// Opera reports offsetWidths and offsetHeights less than zero on some elements
-	// Use OR instead of AND as the element is not visible if either is true
-	// See tickets #10406 and #13132
-	return elem.offsetWidth > 0 || elem.offsetHeight > 0 || elem.getClientRects().length > 0;
-};
-
-
-
-
-var r20 = /%20/g,
-	rbracket = /\[\]$/,
-	rCRLF = /\r?\n/g,
-	rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
-	rsubmittable = /^(?:input|select|textarea|keygen)/i;
-
-function buildParams( prefix, obj, traditional, add ) {
-	var name;
-
-	if ( jQuery.isArray( obj ) ) {
-
-		// Serialize array item.
-		jQuery.each( obj, function( i, v ) {
-			if ( traditional || rbracket.test( prefix ) ) {
-
-				// Treat each array item as a scalar.
-				add( prefix, v );
-
-			} else {
-
-				// Item is non-scalar (array or object), encode its numeric index.
-				buildParams(
-					prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
-					v,
-					traditional,
-					add
-				);
-			}
-		} );
-
-	} else if ( !traditional && jQuery.type( obj ) === "object" ) {
-
-		// Serialize object item.
-		for ( name in obj ) {
-			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
-		}
-
-	} else {
-
-		// Serialize scalar item.
-		add( prefix, obj );
-	}
-}
-
-// Serialize an array of form elements or a set of
-// key/values into a query string
-jQuery.param = function( a, traditional ) {
-	var prefix,
-		s = [],
-		add = function( key, value ) {
-
-			// If value is a function, invoke it and return its value
-			value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value );
-			s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
-		};
-
-	// Set traditional to true for jQuery <= 1.3.2 behavior.
-	if ( traditional === undefined ) {
-		traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;
-	}
-
-	// If an array was passed in, assume that it is an array of form elements.
-	if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
-
-		// Serialize the form elements
-		jQuery.each( a, function() {
-			add( this.name, this.value );
-		} );
-
-	} else {
-
-		// If traditional, encode the "old" way (the way 1.3.2 or older
-		// did it), otherwise encode params recursively.
-		for ( prefix in a ) {
-			buildParams( prefix, a[ prefix ], traditional, add );
-		}
-	}
-
-	// Return the resulting serialization
-	return s.join( "&" ).replace( r20, "+" );
-};
-
-jQuery.fn.extend( {
-	serialize: function() {
-		return jQuery.param( this.serializeArray() );
-	},
-	serializeArray: function() {
-		return this.map( function() {
-
-			// Can add propHook for "elements" to filter or add form elements
-			var elements = jQuery.prop( this, "elements" );
-			return elements ? jQuery.makeArray( elements ) : this;
-		} )
-		.filter( function() {
-			var type = this.type;
-
-			// Use .is( ":disabled" ) so that fieldset[disabled] works
-			return this.name && !jQuery( this ).is( ":disabled" ) &&
-				rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
-				( this.checked || !rcheckableType.test( type ) );
-		} )
-		.map( function( i, elem ) {
-			var val = jQuery( this ).val();
-
-			return val == null ?
-				null :
-				jQuery.isArray( val ) ?
-					jQuery.map( val, function( val ) {
-						return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
-					} ) :
-					{ name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
-		} ).get();
-	}
-} );
-
-
-jQuery.ajaxSettings.xhr = function() {
-	try {
-		return new window.XMLHttpRequest();
-	} catch ( e ) {}
-};
-
-var xhrSuccessStatus = {
-
-		// File protocol always yields status code 0, assume 200
-		0: 200,
-
-		// Support: IE9
-		// #1450: sometimes IE returns 1223 when it should be 204
-		1223: 204
-	},
-	xhrSupported = jQuery.ajaxSettings.xhr();
-
-support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
-support.ajax = xhrSupported = !!xhrSupported;
-
-jQuery.ajaxTransport( function( options ) {
-	var callback, errorCallback;
-
-	// Cross domain only allowed if supported through XMLHttpRequest
-	if ( support.cors || xhrSupported && !options.crossDomain ) {
-		return {
-			send: function( headers, complete ) {
-				var i,
-					xhr = options.xhr();
-
-				xhr.open(
-					options.type,
-					options.url,
-					options.async,
-					options.username,
-					options.password
-				);
-
-				// Apply custom fields if provided
-				if ( options.xhrFields ) {
-					for ( i in options.xhrFields ) {
-						xhr[ i ] = options.xhrFields[ i ];
-					}
-				}
-
-				// Override mime type if needed
-				if ( options.mimeType && xhr.overrideMimeType ) {
-					xhr.overrideMimeType( options.mimeType );
-				}
-
-				// X-Requested-With header
-				// For cross-domain requests, seeing as conditions for a preflight are
-				// akin to a jigsaw puzzle, we simply never set it to be sure.
-				// (it can always be set on a per-request basis or even using ajaxSetup)
-				// For same-domain requests, won't change header if already provided.
-				if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
-					headers[ "X-Requested-With" ] = "XMLHttpRequest";
-				}
-
-				// Set headers
-				for ( i in headers ) {
-					xhr.setRequestHeader( i, headers[ i ] );
-				}
-
-				// Callback
-				callback = function( type ) {
-					return function() {
-						if ( callback ) {
-							callback = errorCallback = xhr.onload =
-								xhr.onerror = xhr.onabort = xhr.onreadystatechange = null;
-
-							if ( type === "abort" ) {
-								xhr.abort();
-							} else if ( type === "error" ) {
-
-								// Support: IE9
-								// On a manual native abort, IE9 throws
-								// errors on any property access that is not readyState
-								if ( typeof xhr.status !== "number" ) {
-									complete( 0, "error" );
-								} else {
-									complete(
-
-										// File: protocol always yields status 0; see #8605, #14207
-										xhr.status,
-										xhr.statusText
-									);
-								}
-							} else {
-								complete(
-									xhrSuccessStatus[ xhr.status ] || xhr.status,
-									xhr.statusText,
-
-									// Support: IE9 only
-									// IE9 has no XHR2 but throws on binary (trac-11426)
-									// For XHR2 non-text, let the caller handle it (gh-2498)
-									( xhr.responseType || "text" ) !== "text"  ||
-									typeof xhr.responseText !== "string" ?
-										{ binary: xhr.response } :
-										{ text: xhr.responseText },
-									xhr.getAllResponseHeaders()
-								);
-							}
-						}
-					};
-				};
-
-				// Listen to events
-				xhr.onload = callback();
-				errorCallback = xhr.onerror = callback( "error" );
-
-				// Support: IE9
-				// Use onreadystatechange to replace onabort
-				// to handle uncaught aborts
-				if ( xhr.onabort !== undefined ) {
-					xhr.onabort = errorCallback;
-				} else {
-					xhr.onreadystatechange = function() {
-
-						// Check readyState before timeout as it changes
-						if ( xhr.readyState === 4 ) {
-
-							// Allow onerror to be called first,
-							// but that will not handle a native abort
-							// Also, save errorCallback to a variable
-							// as xhr.onerror cannot be accessed
-							window.setTimeout( function() {
-								if ( callback ) {
-									errorCallback();
-								}
-							} );
-						}
-					};
-				}
-
-				// Create the abort callback
-				callback = callback( "abort" );
-
-				try {
-
-					// Do send the request (this may raise an exception)
-					xhr.send( options.hasContent && options.data || null );
-				} catch ( e ) {
-
-					// #14683: Only rethrow if this hasn't been notified as an error yet
-					if ( callback ) {
-						throw e;
-					}
-				}
-			},
-
-			abort: function() {
-				if ( callback ) {
-					callback();
-				}
-			}
-		};
-	}
-} );
-
-
-
-
-// Install script dataType
-jQuery.ajaxSetup( {
-	accepts: {
-		script: "text/javascript, application/javascript, " +
-			"application/ecmascript, application/x-ecmascript"
-	},
-	contents: {
-		script: /\b(?:java|ecma)script\b/
-	},
-	converters: {
-		"text script": function( text ) {
-			jQuery.globalEval( text );
-			return text;
-		}
-	}
-} );
-
-// Handle cache's special case and crossDomain
-jQuery.ajaxPrefilter( "script", function( s ) {
-	if ( s.cache === undefined ) {
-		s.cache = false;
-	}
-	if ( s.crossDomain ) {
-		s.type = "GET";
-	}
-} );
-
-// Bind script tag hack transport
-jQuery.ajaxTransport( "script", function( s ) {
-
-	// This transport only deals with cross domain requests
-	if ( s.crossDomain ) {
-		var script, callback;
-		return {
-			send: function( _, complete ) {
-				script = jQuery( "<script>" ).prop( {
-					charset: s.scriptCharset,
-					src: s.url
-				} ).on(
-					"load error",
-					callback = function( evt ) {
-						script.remove();
-						callback = null;
-						if ( evt ) {
-							complete( evt.type === "error" ? 404 : 200, evt.type );
-						}
-					}
-				);
-
-				// Use native DOM manipulation to avoid our domManip AJAX trickery
-				document.head.appendChild( script[ 0 ] );
-			},
-			abort: function() {
-				if ( callback ) {
-					callback();
-				}
-			}
-		};
-	}
-} );
-
-
-
-
-var oldCallbacks = [],
-	rjsonp = /(=)\?(?=&|$)|\?\?/;
-
-// Default jsonp settings
-jQuery.ajaxSetup( {
-	jsonp: "callback",
-	jsonpCallback: function() {
-		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
-		this[ callback ] = true;
-		return callback;
-	}
-} );
-
-// Detect, normalize options and install callbacks for jsonp requests
-jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
-
-	var callbackName, overwritten, responseContainer,
-		jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
-			"url" :
-			typeof s.data === "string" &&
-				( s.contentType || "" )
-					.indexOf( "application/x-www-form-urlencoded" ) === 0 &&
-				rjsonp.test( s.data ) && "data"
-		);
-
-	// Handle iff the expected data type is "jsonp" or we have a parameter to set
-	if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
-
-		// Get callback name, remembering preexisting value associated with it
-		callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
-			s.jsonpCallback() :
-			s.jsonpCallback;
-
-		// Insert callback into url or form data
-		if ( jsonProp ) {
-			s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
-		} else if ( s.jsonp !== false ) {
-			s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
-		}
-
-		// Use data converter to retrieve json after script execution
-		s.converters[ "script json" ] = function() {
-			if ( !responseContainer ) {
-				jQuery.error( callbackName + " was not called" );
-			}
-			return responseContainer[ 0 ];
-		};
-
-		// Force json dataType
-		s.dataTypes[ 0 ] = "json";
-
-		// Install callback
-		overwritten = window[ callbackName ];
-		window[ callbackName ] = function() {
-			responseContainer = arguments;
-		};
-
-		// Clean-up function (fires after converters)
-		jqXHR.always( function() {
-
-			// If previous value didn't exist - remove it
-			if ( overwritten === undefined ) {
-				jQuery( window ).removeProp( callbackName );
-
-			// Otherwise restore preexisting value
-			} else {
-				window[ callbackName ] = overwritten;
-			}
-
-			// Save back as free
-			if ( s[ callbackName ] ) {
-
-				// Make sure that re-using the options doesn't screw things around
-				s.jsonpCallback = originalSettings.jsonpCallback;
-
-				// Save the callback name for future use
-				oldCallbacks.push( callbackName );
-			}
-
-			// Call if it was a function and we have a response
-			if ( responseContainer && jQuery.isFunction( overwritten ) ) {
-				overwritten( responseContainer[ 0 ] );
-			}
-
-			responseContainer = overwritten = undefined;
-		} );
-
-		// Delegate to script
-		return "script";
-	}
-} );
-
-
-
-
-// Argument "data" should be string of html
-// context (optional): If specified, the fragment will be created in this context,
-// defaults to document
-// keepScripts (optional): If true, will include scripts passed in the html string
-jQuery.parseHTML = function( data, context, keepScripts ) {
-	if ( !data || typeof data !== "string" ) {
-		return null;
-	}
-	if ( typeof context === "boolean" ) {
-		keepScripts = context;
-		context = false;
-	}
-	context = context || document;
-
-	var parsed = rsingleTag.exec( data ),
-		scripts = !keepScripts && [];
-
-	// Single tag
-	if ( parsed ) {
-		return [ context.createElement( parsed[ 1 ] ) ];
-	}
-
-	parsed = buildFragment( [ data ], context, scripts );
-
-	if ( scripts && scripts.length ) {
-		jQuery( scripts ).remove();
-	}
-
-	return jQuery.merge( [], parsed.childNodes );
-};
-
-
-// Keep a copy of the old load method
-var _load = jQuery.fn.load;
-
-/**
- * Load a url into a page
- */
-jQuery.fn.load = function( url, params, callback ) {
-	if ( typeof url !== "string" && _load ) {
-		return _load.apply( this, arguments );
-	}
-
-	var selector, type, response,
-		self = this,
-		off = url.indexOf( " " );
-
-	if ( off > -1 ) {
-		selector = jQuery.trim( url.slice( off ) );
-		url = url.slice( 0, off );
-	}
-
-	// If it's a function
-	if ( jQuery.isFunction( params ) ) {
-
-		// We assume that it's the callback
-		callback = params;
-		params = undefined;
-
-	// Otherwise, build a param string
-	} else if ( params && typeof params === "object" ) {
-		type = "POST";
-	}
-
-	// If we have elements to modify, make the request
-	if ( self.length > 0 ) {
-		jQuery.ajax( {
-			url: url,
-
-			// If "type" variable is undefined, then "GET" method will be used.
-			// Make value of this field explicit since
-			// user can override it through ajaxSetup method
-			type: type || "GET",
-			dataType: "html",
-			data: params
-		} ).done( function( responseText ) {
-
-			// Save response for use in complete callback
-			response = arguments;
-
-			self.html( selector ?
-
-				// If a selector was specified, locate the right elements in a dummy div
-				// Exclude scripts to avoid IE 'Permission Denied' errors
-				jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
-
-				// Otherwise use the full result
-				responseText );
-
-		// If the request succeeds, this function gets "data", "status", "jqXHR"
-		// but they are ignored because response was set above.
-		// If it fails, this function gets "jqXHR", "status", "error"
-		} ).always( callback && function( jqXHR, status ) {
-			self.each( function() {
-				callback.apply( self, response || [ jqXHR.responseText, status, jqXHR ] );
-			} );
-		} );
-	}
-
-	return this;
-};
-
-
-
-
-// Attach a bunch of functions for handling common AJAX events
-jQuery.each( [
-	"ajaxStart",
-	"ajaxStop",
-	"ajaxComplete",
-	"ajaxError",
-	"ajaxSuccess",
-	"ajaxSend"
-], function( i, type ) {
-	jQuery.fn[ type ] = function( fn ) {
-		return this.on( type, fn );
-	};
-} );
-
-
-
-
-jQuery.expr.filters.animated = function( elem ) {
-	return jQuery.grep( jQuery.timers, function( fn ) {
-		return elem === fn.elem;
-	} ).length;
-};
-
-
-
-
-/**
- * Gets a window from an element
- */
-function getWindow( elem ) {
-	return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;
-}
-
-jQuery.offset = {
-	setOffset: function( elem, options, i ) {
-		var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
-			position = jQuery.css( elem, "position" ),
-			curElem = jQuery( elem ),
-			props = {};
-
-		// Set position first, in-case top/left are set even on static elem
-		if ( position === "static" ) {
-			elem.style.position = "relative";
-		}
-
-		curOffset = curElem.offset();
-		curCSSTop = jQuery.css( elem, "top" );
-		curCSSLeft = jQuery.css( elem, "left" );
-		calculatePosition = ( position === "absolute" || position === "fixed" ) &&
-			( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
-
-		// Need to be able to calculate position if either
-		// top or left is auto and position is either absolute or fixed
-		if ( calculatePosition ) {
-			curPosition = curElem.position();
-			curTop = curPosition.top;
-			curLeft = curPosition.left;
-
-		} else {
-			curTop = parseFloat( curCSSTop ) || 0;
-			curLeft = parseFloat( curCSSLeft ) || 0;
-		}
-
-		if ( jQuery.isFunction( options ) ) {
-
-			// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
-			options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
-		}
-
-		if ( options.top != null ) {
-			props.top = ( options.top - curOffset.top ) + curTop;
-		}
-		if ( options.left != null ) {
-			props.left = ( options.left - curOffset.left ) + curLeft;
-		}
-
-		if ( "using" in options ) {
-			options.using.call( elem, props );
-
-		} else {
-			curElem.css( props );
-		}
-	}
-};
-
-jQuery.fn.extend( {
-	offset: function( options ) {
-		if ( arguments.length ) {
-			return options === undefined ?
-				this :
-				this.each( function( i ) {
-					jQuery.offset.setOffset( this, options, i );
-				} );
-		}
-
-		var docElem, win,
-			elem = this[ 0 ],
-			box = { top: 0, left: 0 },
-			doc = elem && elem.ownerDocument;
-
-		if ( !doc ) {
-			return;
-		}
-
-		docElem = doc.documentElement;
-
-		// Make sure it's not a disconnected DOM node
-		if ( !jQuery.contains( docElem, elem ) ) {
-			return box;
-		}
-
-		box = elem.getBoundingClientRect();
-		win = getWindow( doc );
-		return {
-			top: box.top + win.pageYOffset - docElem.clientTop,
-			left: box.left + win.pageXOffset - docElem.clientLeft
-		};
-	},
-
-	position: function() {
-		if ( !this[ 0 ] ) {
-			return;
-		}
-
-		var offsetParent, offset,
-			elem = this[ 0 ],
-			parentOffset = { top: 0, left: 0 };
-
-		// Fixed elements are offset from window (parentOffset = {top:0, left: 0},
-		// because it is its only offset parent
-		if ( jQuery.css( elem, "position" ) === "fixed" ) {
-
-			// Assume getBoundingClientRect is there when computed position is fixed
-			offset = elem.getBoundingClientRect();
-
-		} else {
-
-			// Get *real* offsetParent
-			offsetParent = this.offsetParent();
-
-			// Get correct offsets
-			offset = this.offset();
-			if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) {
-				parentOffset = offsetParent.offset();
-			}
-
-			// Add offsetParent borders
-			parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true );
-			parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true );
-		}
-
-		// Subtract parent offsets and element margins
-		return {
-			top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
-			left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
-		};
-	},
-
-	// This method will return documentElement in the following cases:
-	// 1) For the element inside the iframe without offsetParent, this method will return
-	//    documentElement of the parent window
-	// 2) For the hidden or detached element
-	// 3) For body or html element, i.e. in case of the html node - it will return itself
-	//
-	// but those exceptions were never presented as a real life use-cases
-	// and might be considered as more preferable results.
-	//
-	// This logic, however, is not guaranteed and can change at any point in the future
-	offsetParent: function() {
-		return this.map( function() {
-			var offsetParent = this.offsetParent;
-
-			while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
-				offsetParent = offsetParent.offsetParent;
-			}
-
-			return offsetParent || documentElement;
-		} );
-	}
-} );
-
-// Create scrollLeft and scrollTop methods
-jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
-	var top = "pageYOffset" === prop;
-
-	jQuery.fn[ method ] = function( val ) {
-		return access( this, function( elem, method, val ) {
-			var win = getWindow( elem );
-
-			if ( val === undefined ) {
-				return win ? win[ prop ] : elem[ method ];
-			}
-
-			if ( win ) {
-				win.scrollTo(
-					!top ? val : win.pageXOffset,
-					top ? val : win.pageYOffset
-				);
-
-			} else {
-				elem[ method ] = val;
-			}
-		}, method, val, arguments.length );
-	};
-} );
-
-// Support: Safari<7-8+, Chrome<37-44+
-// Add the top/left cssHooks using jQuery.fn.position
-// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
-// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280
-// getComputedStyle returns percent when specified for top/left/bottom/right;
-// rather than make the css module depend on the offset module, just check for it here
-jQuery.each( [ "top", "left" ], function( i, prop ) {
-	jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
-		function( elem, computed ) {
-			if ( computed ) {
-				computed = curCSS( elem, prop );
-
-				// If curCSS returns percentage, fallback to offset
-				return rnumnonpx.test( computed ) ?
-					jQuery( elem ).position()[ prop ] + "px" :
-					computed;
-			}
-		}
-	);
-} );
-
-
-// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
-jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
-	jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
-		function( defaultExtra, funcName ) {
-
-		// Margin is only for outerHeight, outerWidth
-		jQuery.fn[ funcName ] = function( margin, value ) {
-			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
-				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
-
-			return access( this, function( elem, type, value ) {
-				var doc;
-
-				if ( jQuery.isWindow( elem ) ) {
-
-					// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there
-					// isn't a whole lot we can do. See pull request at this URL for discussion:
-					// https://github.com/jquery/jquery/pull/764
-					return elem.document.documentElement[ "client" + name ];
-				}
-
-				// Get document width or height
-				if ( elem.nodeType === 9 ) {
-					doc = elem.documentElement;
-
-					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
-					// whichever is greatest
-					return Math.max(
-						elem.body[ "scroll" + name ], doc[ "scroll" + name ],
-						elem.body[ "offset" + name ], doc[ "offset" + name ],
-						doc[ "client" + name ]
-					);
-				}
-
-				return value === undefined ?
-
-					// Get width or height on the element, requesting but not forcing parseFloat
-					jQuery.css( elem, type, extra ) :
-
-					// Set width or height on the element
-					jQuery.style( elem, type, value, extra );
-			}, type, chainable ? margin : undefined, chainable, null );
-		};
-	} );
-} );
-
-
-jQuery.fn.extend( {
-
-	bind: function( types, data, fn ) {
-		return this.on( types, null, data, fn );
-	},
-	unbind: function( types, fn ) {
-		return this.off( types, null, fn );
-	},
-
-	delegate: function( selector, types, data, fn ) {
-		return this.on( types, selector, data, fn );
-	},
-	undelegate: function( selector, types, fn ) {
-
-		// ( namespace ) or ( selector, types [, fn] )
-		return arguments.length === 1 ?
-			this.off( selector, "**" ) :
-			this.off( types, selector || "**", fn );
-	},
-	size: function() {
-		return this.length;
-	}
-} );
-
-jQuery.fn.andSelf = jQuery.fn.addBack;
-
-
-
-
-// Register as a named AMD module, since jQuery can be concatenated with other
-// files that may use define, but not via a proper concatenation script that
-// understands anonymous AMD modules. A named AMD is safest and most robust
-// way to register. Lowercase jquery is used because AMD module names are
-// derived from file names, and jQuery is normally delivered in a lowercase
-// file name. Do this after creating the global so that if an AMD module wants
-// to call noConflict to hide this version of jQuery, it will work.
-
-// Note that for maximum portability, libraries that are not jQuery should
-// declare themselves as anonymous modules, and avoid setting a global if an
-// AMD loader is present. jQuery is a special case. For more information, see
-// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
-
-if ( typeof define === "function" && define.amd ) {
-	define( "jquery", [], function() {
-		return jQuery;
-	} );
-}
-
-
-
-var
-
-	// Map over jQuery in case of overwrite
-	_jQuery = window.jQuery,
-
-	// Map over the $ in case of overwrite
-	_$ = window.$;
-
-jQuery.noConflict = function( deep ) {
-	if ( window.$ === jQuery ) {
-		window.$ = _$;
-	}
-
-	if ( deep && window.jQuery === jQuery ) {
-		window.jQuery = _jQuery;
-	}
-
-	return jQuery;
-};
-
-// Expose jQuery and $ identifiers, even in AMD
-// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
-// and CommonJS for browser emulators (#13566)
-if ( !noGlobal ) {
-	window.jQuery = window.$ = jQuery;
-}
-
-return jQuery;
-}));
diff --git a/libraries/foundation-6/js/vendor/what-input.js b/libraries/foundation-6/js/vendor/what-input.js
deleted file mode 100644
index 5d236710..00000000
--- a/libraries/foundation-6/js/vendor/what-input.js
+++ /dev/null
@@ -1,295 +0,0 @@
-window.whatInput = (function() {
-
-  'use strict';
-
-  /*
-    ---------------
-    variables
-    ---------------
-  */
-
-  // array of actively pressed keys
-  var activeKeys = [];
-
-  // cache document.body
-  var body;
-
-  // boolean: true if touch buffer timer is running
-  var buffer = false;
-
-  // the last used input type
-  var currentInput = null;
-
-  // `input` types that don't accept text
-  var nonTypingInputs = [
-    'button',
-    'checkbox',
-    'file',
-    'image',
-    'radio',
-    'reset',
-    'submit'
-  ];
-
-  // detect version of mouse wheel event to use
-  // via https://developer.mozilla.org/en-US/docs/Web/Events/wheel
-  var mouseWheel = detectWheel();
-
-  // list of modifier keys commonly used with the mouse and
-  // can be safely ignored to prevent false keyboard detection
-  var ignoreMap = [
-    16, // shift
-    17, // control
-    18, // alt
-    91, // Windows key / left Apple cmd
-    93  // Windows menu / right Apple cmd
-  ];
-
-  // mapping of events to input types
-  var inputMap = {
-    'keydown': 'keyboard',
-    'keyup': 'keyboard',
-    'mousedown': 'mouse',
-    'mousemove': 'mouse',
-    'MSPointerDown': 'pointer',
-    'MSPointerMove': 'pointer',
-    'pointerdown': 'pointer',
-    'pointermove': 'pointer',
-    'touchstart': 'touch'
-  };
-
-  // add correct mouse wheel event mapping to `inputMap`
-  inputMap[detectWheel()] = 'mouse';
-
-  // array of all used input types
-  var inputTypes = [];
-
-  // mapping of key codes to a common name
-  var keyMap = {
-    9: 'tab',
-    13: 'enter',
-    16: 'shift',
-    27: 'esc',
-    32: 'space',
-    37: 'left',
-    38: 'up',
-    39: 'right',
-    40: 'down'
-  };
-
-  // map of IE 10 pointer events
-  var pointerMap = {
-    2: 'touch',
-    3: 'touch', // treat pen like touch
-    4: 'mouse'
-  };
-
-  // touch buffer timer
-  var timer;
-
-
-  /*
-    ---------------
-    functions
-    ---------------
-  */
-
-  // allows events that are also triggered to be filtered out for `touchstart`
-  function eventBuffer() {
-    clearTimer();
-    setInput(event);
-
-    buffer = true;
-    timer = window.setTimeout(function() {
-      buffer = false;
-    }, 650);
-  }
-
-  function bufferedEvent(event) {
-    if (!buffer) setInput(event);
-  }
-
-  function unBufferedEvent(event) {
-    clearTimer();
-    setInput(event);
-  }
-
-  function clearTimer() {
-    window.clearTimeout(timer);
-  }
-
-  function setInput(event) {
-    var eventKey = key(event);
-    var value = inputMap[event.type];
-    if (value === 'pointer') value = pointerType(event);
-
-    // don't do anything if the value matches the input type already set
-    if (currentInput !== value) {
-      var eventTarget = target(event);
-      var eventTargetNode = eventTarget.nodeName.toLowerCase();
-      var eventTargetType = (eventTargetNode === 'input') ? eventTarget.getAttribute('type') : null;
-
-      if (
-        (// only if the user flag to allow typing in form fields isn't set
-        !body.hasAttribute('data-whatinput-formtyping') &&
-
-        // only if currentInput has a value
-        currentInput &&
-
-        // only if the input is `keyboard`
-        value === 'keyboard' &&
-
-        // not if the key is `TAB`
-        keyMap[eventKey] !== 'tab' &&
-
-        // only if the target is a form input that accepts text
-        (
-           eventTargetNode === 'textarea' ||
-           eventTargetNode === 'select' ||
-           (eventTargetNode === 'input' && nonTypingInputs.indexOf(eventTargetType) < 0)
-        )) || (
-          // ignore modifier keys
-          ignoreMap.indexOf(eventKey) > -1
-        )
-      ) {
-        // ignore keyboard typing
-      } else {
-        switchInput(value);
-      }
-    }
-
-    if (value === 'keyboard') logKeys(eventKey);
-  }
-
-  function switchInput(string) {
-    currentInput = string;
-    body.setAttribute('data-whatinput', currentInput);
-
-    if (inputTypes.indexOf(currentInput) === -1) inputTypes.push(currentInput);
-  }
-
-  function key(event) {
-    return (event.keyCode) ? event.keyCode : event.which;
-  }
-
-  function target(event) {
-    return event.target || event.srcElement;
-  }
-
-  function pointerType(event) {
-    if (typeof event.pointerType === 'number') {
-      return pointerMap[event.pointerType];
-    } else {
-      return (event.pointerType === 'pen') ? 'touch' : event.pointerType; // treat pen like touch
-    }
-  }
-
-  // keyboard logging
-  function logKeys(eventKey) {
-    if (activeKeys.indexOf(keyMap[eventKey]) === -1 && keyMap[eventKey]) activeKeys.push(keyMap[eventKey]);
-  }
-
-  function unLogKeys(event) {
-    var eventKey = key(event);
-    var arrayPos = activeKeys.indexOf(keyMap[eventKey]);
-
-    if (arrayPos !== -1) activeKeys.splice(arrayPos, 1);
-  }
-
-  function bindEvents() {
-    body = document.body;
-
-    // pointer events (mouse, pen, touch)
-    if (window.PointerEvent) {
-      body.addEventListener('pointerdown', bufferedEvent);
-      body.addEventListener('pointermove', bufferedEvent);
-    } else if (window.MSPointerEvent) {
-      body.addEventListener('MSPointerDown', bufferedEvent);
-      body.addEventListener('MSPointerMove', bufferedEvent);
-    } else {
-
-      // mouse events
-      body.addEventListener('mousedown', bufferedEvent);
-      body.addEventListener('mousemove', bufferedEvent);
-
-      // touch events
-      if ('ontouchstart' in window) {
-        body.addEventListener('touchstart', eventBuffer);
-      }
-    }
-
-    // mouse wheel
-    body.addEventListener(mouseWheel, bufferedEvent);
-
-    // keyboard events
-    body.addEventListener('keydown', unBufferedEvent);
-    body.addEventListener('keyup', unBufferedEvent);
-    document.addEventListener('keyup', unLogKeys);
-  }
-
-
-  /*
-    ---------------
-    utilities
-    ---------------
-  */
-
-  // detect version of mouse wheel event to use
-  // via https://developer.mozilla.org/en-US/docs/Web/Events/wheel
-  function detectWheel() {
-    return mouseWheel = 'onwheel' in document.createElement('div') ?
-      'wheel' : // Modern browsers support "wheel"
-
-      document.onmousewheel !== undefined ?
-        'mousewheel' : // Webkit and IE support at least "mousewheel"
-        'DOMMouseScroll'; // let's assume that remaining browsers are older Firefox
-  }
-
-
-  /*
-    ---------------
-    init
-
-    don't start script unless browser cuts the mustard,
-    also passes if polyfills are used
-    ---------------
-  */
-
-  if (
-    'addEventListener' in window &&
-    Array.prototype.indexOf
-  ) {
-
-    // if the dom is already ready already (script was placed at bottom of <body>)
-    if (document.body) {
-      bindEvents();
-
-    // otherwise wait for the dom to load (script was placed in the <head>)
-    } else {
-      document.addEventListener('DOMContentLoaded', bindEvents);
-    }
-  }
-
-
-  /*
-    ---------------
-    api
-    ---------------
-  */
-
-  return {
-
-    // returns string: the current input type
-    ask: function() { return currentInput; },
-
-    // returns array: currently pressed keys
-    keys: function() { return activeKeys; },
-
-    // returns array: all the detected input types
-    types: function() { return inputTypes; },
-
-    // accepts string: manually set the input type
-    set: switchInput
-  };
-
-}());
diff --git a/libraries/foundation-6/js/what-input.js b/libraries/foundation-6/js/what-input.js
deleted file mode 100644
index 5d236710..00000000
--- a/libraries/foundation-6/js/what-input.js
+++ /dev/null
@@ -1,295 +0,0 @@
-window.whatInput = (function() {
-
-  'use strict';
-
-  /*
-    ---------------
-    variables
-    ---------------
-  */
-
-  // array of actively pressed keys
-  var activeKeys = [];
-
-  // cache document.body
-  var body;
-
-  // boolean: true if touch buffer timer is running
-  var buffer = false;
-
-  // the last used input type
-  var currentInput = null;
-
-  // `input` types that don't accept text
-  var nonTypingInputs = [
-    'button',
-    'checkbox',
-    'file',
-    'image',
-    'radio',
-    'reset',
-    'submit'
-  ];
-
-  // detect version of mouse wheel event to use
-  // via https://developer.mozilla.org/en-US/docs/Web/Events/wheel
-  var mouseWheel = detectWheel();
-
-  // list of modifier keys commonly used with the mouse and
-  // can be safely ignored to prevent false keyboard detection
-  var ignoreMap = [
-    16, // shift
-    17, // control
-    18, // alt
-    91, // Windows key / left Apple cmd
-    93  // Windows menu / right Apple cmd
-  ];
-
-  // mapping of events to input types
-  var inputMap = {
-    'keydown': 'keyboard',
-    'keyup': 'keyboard',
-    'mousedown': 'mouse',
-    'mousemove': 'mouse',
-    'MSPointerDown': 'pointer',
-    'MSPointerMove': 'pointer',
-    'pointerdown': 'pointer',
-    'pointermove': 'pointer',
-    'touchstart': 'touch'
-  };
-
-  // add correct mouse wheel event mapping to `inputMap`
-  inputMap[detectWheel()] = 'mouse';
-
-  // array of all used input types
-  var inputTypes = [];
-
-  // mapping of key codes to a common name
-  var keyMap = {
-    9: 'tab',
-    13: 'enter',
-    16: 'shift',
-    27: 'esc',
-    32: 'space',
-    37: 'left',
-    38: 'up',
-    39: 'right',
-    40: 'down'
-  };
-
-  // map of IE 10 pointer events
-  var pointerMap = {
-    2: 'touch',
-    3: 'touch', // treat pen like touch
-    4: 'mouse'
-  };
-
-  // touch buffer timer
-  var timer;
-
-
-  /*
-    ---------------
-    functions
-    ---------------
-  */
-
-  // allows events that are also triggered to be filtered out for `touchstart`
-  function eventBuffer() {
-    clearTimer();
-    setInput(event);
-
-    buffer = true;
-    timer = window.setTimeout(function() {
-      buffer = false;
-    }, 650);
-  }
-
-  function bufferedEvent(event) {
-    if (!buffer) setInput(event);
-  }
-
-  function unBufferedEvent(event) {
-    clearTimer();
-    setInput(event);
-  }
-
-  function clearTimer() {
-    window.clearTimeout(timer);
-  }
-
-  function setInput(event) {
-    var eventKey = key(event);
-    var value = inputMap[event.type];
-    if (value === 'pointer') value = pointerType(event);
-
-    // don't do anything if the value matches the input type already set
-    if (currentInput !== value) {
-      var eventTarget = target(event);
-      var eventTargetNode = eventTarget.nodeName.toLowerCase();
-      var eventTargetType = (eventTargetNode === 'input') ? eventTarget.getAttribute('type') : null;
-
-      if (
-        (// only if the user flag to allow typing in form fields isn't set
-        !body.hasAttribute('data-whatinput-formtyping') &&
-
-        // only if currentInput has a value
-        currentInput &&
-
-        // only if the input is `keyboard`
-        value === 'keyboard' &&
-
-        // not if the key is `TAB`
-        keyMap[eventKey] !== 'tab' &&
-
-        // only if the target is a form input that accepts text
-        (
-           eventTargetNode === 'textarea' ||
-           eventTargetNode === 'select' ||
-           (eventTargetNode === 'input' && nonTypingInputs.indexOf(eventTargetType) < 0)
-        )) || (
-          // ignore modifier keys
-          ignoreMap.indexOf(eventKey) > -1
-        )
-      ) {
-        // ignore keyboard typing
-      } else {
-        switchInput(value);
-      }
-    }
-
-    if (value === 'keyboard') logKeys(eventKey);
-  }
-
-  function switchInput(string) {
-    currentInput = string;
-    body.setAttribute('data-whatinput', currentInput);
-
-    if (inputTypes.indexOf(currentInput) === -1) inputTypes.push(currentInput);
-  }
-
-  function key(event) {
-    return (event.keyCode) ? event.keyCode : event.which;
-  }
-
-  function target(event) {
-    return event.target || event.srcElement;
-  }
-
-  function pointerType(event) {
-    if (typeof event.pointerType === 'number') {
-      return pointerMap[event.pointerType];
-    } else {
-      return (event.pointerType === 'pen') ? 'touch' : event.pointerType; // treat pen like touch
-    }
-  }
-
-  // keyboard logging
-  function logKeys(eventKey) {
-    if (activeKeys.indexOf(keyMap[eventKey]) === -1 && keyMap[eventKey]) activeKeys.push(keyMap[eventKey]);
-  }
-
-  function unLogKeys(event) {
-    var eventKey = key(event);
-    var arrayPos = activeKeys.indexOf(keyMap[eventKey]);
-
-    if (arrayPos !== -1) activeKeys.splice(arrayPos, 1);
-  }
-
-  function bindEvents() {
-    body = document.body;
-
-    // pointer events (mouse, pen, touch)
-    if (window.PointerEvent) {
-      body.addEventListener('pointerdown', bufferedEvent);
-      body.addEventListener('pointermove', bufferedEvent);
-    } else if (window.MSPointerEvent) {
-      body.addEventListener('MSPointerDown', bufferedEvent);
-      body.addEventListener('MSPointerMove', bufferedEvent);
-    } else {
-
-      // mouse events
-      body.addEventListener('mousedown', bufferedEvent);
-      body.addEventListener('mousemove', bufferedEvent);
-
-      // touch events
-      if ('ontouchstart' in window) {
-        body.addEventListener('touchstart', eventBuffer);
-      }
-    }
-
-    // mouse wheel
-    body.addEventListener(mouseWheel, bufferedEvent);
-
-    // keyboard events
-    body.addEventListener('keydown', unBufferedEvent);
-    body.addEventListener('keyup', unBufferedEvent);
-    document.addEventListener('keyup', unLogKeys);
-  }
-
-
-  /*
-    ---------------
-    utilities
-    ---------------
-  */
-
-  // detect version of mouse wheel event to use
-  // via https://developer.mozilla.org/en-US/docs/Web/Events/wheel
-  function detectWheel() {
-    return mouseWheel = 'onwheel' in document.createElement('div') ?
-      'wheel' : // Modern browsers support "wheel"
-
-      document.onmousewheel !== undefined ?
-        'mousewheel' : // Webkit and IE support at least "mousewheel"
-        'DOMMouseScroll'; // let's assume that remaining browsers are older Firefox
-  }
-
-
-  /*
-    ---------------
-    init
-
-    don't start script unless browser cuts the mustard,
-    also passes if polyfills are used
-    ---------------
-  */
-
-  if (
-    'addEventListener' in window &&
-    Array.prototype.indexOf
-  ) {
-
-    // if the dom is already ready already (script was placed at bottom of <body>)
-    if (document.body) {
-      bindEvents();
-
-    // otherwise wait for the dom to load (script was placed in the <head>)
-    } else {
-      document.addEventListener('DOMContentLoaded', bindEvents);
-    }
-  }
-
-
-  /*
-    ---------------
-    api
-    ---------------
-  */
-
-  return {
-
-    // returns string: the current input type
-    ask: function() { return currentInput; },
-
-    // returns array: currently pressed keys
-    keys: function() { return activeKeys; },
-
-    // returns array: all the detected input types
-    types: function() { return inputTypes; },
-
-    // accepts string: manually set the input type
-    set: switchInput
-  };
-
-}());
diff --git a/libraries/foundation-6/meteor-README.md b/libraries/foundation-6/meteor-README.md
new file mode 100755
index 00000000..199bd5d4
--- /dev/null
+++ b/libraries/foundation-6/meteor-README.md
@@ -0,0 +1,150 @@
+# [Foundation for Sites](http://foundation.zurb.com) (v6.2.1)
+
+Foundation is the most advanced responsive front-end framework in the world. Quickly go from prototype to production, building sites or apps that work on any kind of device with Foundation. Includes layout constructs, like a fully customizable, responsive grid, commonly used JavaScript plugins, and full A11Y support.
+
+## Usage in Meteor
+
+- [Scss guide](meteor-README.md/#scss-guide)
+- [JavaScript guide](meteor-README.md/#javascript-guide)
+
+
+## Scss Guide
+
+### 1. Add the package
+
+```
+meteor add zurb:foundation-sites
+```
+
+### 2. In your main .scss file (in your app):
+
+Import foundation:
+
+```
+@import '{zurb:foundation-sites}/scss/foundation';
+```
+
+Each component has an export mixin which prints out the CSS for that component. If you're cool with having everything, you just need one line of code:
+
+```
+@include foundation-everything;
+```
+
+Or you can comment out the components you don't need:
+
+```
+@include foundation-global-styles;
+@include foundation-grid;
+@include foundation-typography;
+@include foundation-button;
+@include foundation-forms;
+@include foundation-visibility-classes;
+@include foundation-float-classes;
+@include foundation-accordion;
+@include foundation-accordion-menu;
+@include foundation-badge;
+@include foundation-breadcrumbs;
+@include foundation-button-group;
+@include foundation-callout;
+@include foundation-close-button;
+@include foundation-drilldown-menu;
+@include foundation-dropdown;
+@include foundation-dropdown-menu;
+@include foundation-flex-video;
+@include foundation-label;
+@include foundation-media-object;
+@include foundation-menu;
+@include foundation-off-canvas;
+@include foundation-orbit;
+@include foundation-pagination;
+@include foundation-progress-bar;
+@include foundation-slider;
+@include foundation-sticky;
+@include foundation-reveal;
+@include foundation-switch;
+@include foundation-table;
+@include foundation-tabs;
+@include foundation-thumbnail;
+@include foundation-title-bar;
+@include foundation-tooltip;
+@include foundation-top-bar;
+```
+
+Note: For now there is a Motion-UI library added in the package (css, js files). It is needed for some Foundation plugins. Maybe in the future it will be separated package. 
+
+### 3. Overwrite Foundation settings
+
+If you want you can copy `_settings.scss` file into your project. You can change settings and import it in your main .scss file (in your app):
+
+```
+@import 'settings'; // example when the _settings.scss file is in the same folder as your main .scss file
+@import '{zurb:foundation-sites}/scss/foundation';
+
+@include foundation-everything; // or individual ones
+
+```
+
+**Important:** In the _settings.scss (the copied one in your app) you need to replace `@import 'util/util'` with `@import '{zurb:foundation-sites}/scss/util/util'`
+
+## JavaScript Guide
+
+You can use `$(document).foundation()` when you want to initialize some plugins in one Meteor Template. You could do something like:
+
+```
+Template.main.onRendered(function () {
+  $(document).foundation();
+});
+```
+
+**But in Meteor it is better to have more control over it. So, you could use Foundation plugins API.**
+
+Let's take a look at the example with the Reveal plugin.
+
+
+#### HTML part
+
+```html
+<body>
+  {{> myReveal}}
+</body>
+```
+
+```html
+<template name="myReveal">
+  <p><a data-open="myReveal">Click me for a modal</a></p>
+
+  <div class="reveal" id="myReveal">
+    <h1>Awesome. I Have It.</h1>
+    <p class="lead">Your couch. It is mine.</p>
+    <p>I'm a cool paragraph that lives inside of an even cooler modal. Wins!</p>
+    <button class="close-button" data-close aria-label="Close reveal" type="button">
+      <span aria-hidden="true">&times;</span>
+    </button>
+  </div>
+</template>
+```
+
+#### JavaScript part
+
+```javascript
+Template.myReveal.onRendered(function () {
+  this.myRevealInstance = new Foundation.Reveal($('#myReveal'));
+});
+
+Template.myReveal.onDestroyed(function () {
+  let reveal = this.myRevealInstance;
+  if (reveal) {
+    reveal.destroy();
+  }
+});
+```
+
+As you can see it is better to create small templates for plugins and initiate the plugins separately in the `onRendered` lifecycle hook. You should also remember to destroy the plugin using `onDestroyed`lifecycle hook on its template.
+
+You will find more info about particular plugins on its docs page here: [http://foundation.zurb.com/sites/docs/](http://foundation.zurb.com/sites/docs/)
+
+#### Known problems
+
+1. **Conflicts with Meteor events**. 
+Solution: Try to always wrap Foundation's DOM nodes into another ones in your Meteor templates. This applies only to nodes on which are initialized Foundation's JS plugins and which are the first nodes in the Meteor templates with attached custom Meteor events. For more details read the last comments here: [#7248](https://github.com/zurb/foundation-sites/issues/7248)
+
diff --git a/libraries/foundation-6/package.js b/libraries/foundation-6/package.js
new file mode 100755
index 00000000..6ee6a889
--- /dev/null
+++ b/libraries/foundation-6/package.js
@@ -0,0 +1,93 @@
+Package.describe({
+  name: 'zurb:foundation-sites',
+  summary: 'Foundation 6 - The most advanced responsive front-end framework in the world.',
+  version: '6.2.3',
+  git: 'https://github.com/zurb/foundation-sites.git',
+  documentation: 'meteor-README.md'
+});
+
+Package.onUse(function(api) {
+  api.versionsFrom('1.2.1');
+  api.imply('fourseven:scss@3.4.1');
+  api.use(['ecmascript', 'jquery', 'fourseven:scss@3.4.1'], 'client');
+  api.addFiles('dist/foundation.js', 'client');
+  api.addFiles([
+
+    'scss/foundation.scss',
+    'scss/_global.scss',
+    'scss/settings/_settings.scss',
+
+    'scss/components/_accordion-menu.scss',
+    'scss/components/_accordion.scss',
+    'scss/components/_badge.scss',
+    'scss/components/_breadcrumbs.scss',
+    'scss/components/_button-group.scss',
+    'scss/components/_button.scss',
+    'scss/components/_callout.scss',
+    'scss/components/_close-button.scss',
+    'scss/components/_drilldown.scss',
+    'scss/components/_dropdown-menu.scss',
+    'scss/components/_dropdown.scss',
+    'scss/components/_flex-video.scss',
+    'scss/components/_flex.scss',
+    'scss/components/_float.scss',
+    'scss/components/_label.scss',
+    'scss/components/_media-object.scss',
+    'scss/components/_menu-icon.scss',
+    'scss/components/_menu.scss',
+    'scss/components/_off-canvas.scss',
+    'scss/components/_orbit.scss',
+    'scss/components/_pagination.scss',
+    'scss/components/_progress-bar.scss',
+    'scss/components/_reveal.scss',
+    'scss/components/_slider.scss',
+    'scss/components/_sticky.scss',
+    'scss/components/_switch.scss',
+    'scss/components/_table.scss',
+    'scss/components/_tabs.scss',
+    'scss/components/_thumbnail.scss',
+    'scss/components/_title-bar.scss',
+    'scss/components/_tooltip.scss',
+    'scss/components/_top-bar.scss',
+    'scss/components/_visibility.scss',
+
+    'scss/forms/_checkbox.scss',
+    'scss/forms/_error.scss',
+    'scss/forms/_fieldset.scss',
+    'scss/forms/_forms.scss',
+    'scss/forms/_help-text.scss',
+    'scss/forms/_input-group.scss',
+    'scss/forms/_label.scss',
+    'scss/forms/_meter.scss',
+    'scss/forms/_progress.scss',
+    'scss/forms/_range.scss',
+    'scss/forms/_select.scss',
+    'scss/forms/_text.scss',
+
+    'scss/grid/_classes.scss',
+    'scss/grid/_column.scss',
+    'scss/grid/_flex-grid.scss',
+    'scss/grid/_grid.scss',
+    'scss/grid/_gutter.scss',
+    'scss/grid/_layout.scss',
+    'scss/grid/_position.scss',
+    'scss/grid/_row.scss',
+    'scss/grid/_size.scss',
+
+    'scss/typography/_alignment.scss',
+    'scss/typography/_base.scss',
+    'scss/typography/_helpers.scss',
+    'scss/typography/_print.scss',
+    'scss/typography/_typography.scss',
+
+    'scss/util/_breakpoint.scss',
+    'scss/util/_color.scss',
+    'scss/util/_flex.scss',
+    'scss/util/_mixins.scss',
+    'scss/util/_selector.scss',
+    'scss/util/_unit.scss',
+    'scss/util/_util.scss',
+    'scss/util/_value.scss'
+
+  ], 'client', {isImport: true});
+});
diff --git a/libraries/foundation-6/package.json b/libraries/foundation-6/package.json
new file mode 100755
index 00000000..2c91ea4f
--- /dev/null
+++ b/libraries/foundation-6/package.json
@@ -0,0 +1,116 @@
+{
+  "name": "foundation-sites",
+  "version": "6.2.3",
+  "main": "dist/foundation.js",
+  "description": "The most advanced responsive front-end framework in the world.",
+  "author": "ZURB <foundation@zurb.com> (http://foundation.zurb.com)",
+  "homepage": "http://foundation.zurb.com/sites",
+  "scripts": {
+    "start": "gulp",
+    "test": "npm run test:sass && npm run test:javascript",
+    "test:sass": "mocha test/sass/test_sass.js",
+    "test:javascript": "gulp sass:foundation && gulp test:transpile-js && mocha-phantomjs test/javascript/index.html",
+    "test:visual": "gulp test",
+    "deploy": "gulp deploy",
+    "deploy:prep": "gulp deploy:prep",
+    "deploy:docs": "gulp deploy:docs"
+  },
+  "dependencies": {
+    "jquery": "^2.2.0",
+    "what-input": "^2.0.0"
+  },
+  "license": "MIT",
+  "devDependencies": {
+    "array-uniq": "^1.0.2",
+    "babel-core": "^6.3.26",
+    "babel-eslint": "^5.0.0",
+    "babel-plugin-transform-es2015-arrow-functions": "^6.3.13",
+    "babel-plugin-transform-es2015-block-scoped-functions": "^6.3.13",
+    "babel-plugin-transform-es2015-block-scoping": "^6.4.0",
+    "babel-plugin-transform-es2015-classes": "^6.3.15",
+    "babel-plugin-transform-es2015-destructuring": "^6.3.15",
+    "babel-plugin-transform-es2015-parameters": "^6.3.26",
+    "babel-plugin-transform-es2015-shorthand-properties": "^6.5.0",
+    "babel-plugin-transform-es2015-spread": "^6.4.0",
+    "babel-plugin-transform-es2015-template-literals": "^6.3.13",
+    "browser-sync": "^2.8.2",
+    "chai-jquery": "^2.0.0",
+    "chalk": "^1.1.1",
+    "clipboard": "^1.5.5",
+    "corejs-typeahead": "corejavascript/typeahead.js",
+    "foundation-docs": "zurb/foundation-docs",
+    "gulp": "^3.8.10",
+    "gulp-add-src": "^0.2.0",
+    "gulp-autoprefixer": "^2.3.1",
+    "gulp-babel": "^6.1.1",
+    "gulp-cache-bust": "^1.0.2",
+    "gulp-concat": "^2.4.3",
+    "gulp-cssnano": "^2.1.0",
+    "gulp-eslint": "^2.0.0",
+    "gulp-filter": "^3.0.1",
+    "gulp-if": "^2.0.0",
+    "gulp-load-plugins": "^1.2.0",
+    "gulp-mocha": "^2.2.0",
+    "gulp-newer": "^1.1.0",
+    "gulp-plumber": "^1.0.1",
+    "gulp-prompt": "^0.1.2",
+    "gulp-rename": "^1.2.2",
+    "gulp-replace": "^0.5.4",
+    "gulp-rsync": "0.0.5",
+    "gulp-ruby-sass": "^2.0.6",
+    "gulp-sass": "^2.1.0",
+    "gulp-scss-lint": "^0.3.9",
+    "gulp-sourcemaps": "^1.6.0",
+    "gulp-uglify": "^1.1.0",
+    "gulp-zip": "^3.2.0",
+    "inquirer": "^0.11.4",
+    "is-empty-object": "^1.1.1",
+    "js-yaml": "^3.5.4",
+    "mocha": "^2.3.3",
+    "mocha-phantomjs": "^4.0.2",
+    "motion-ui": "^1.1.0",
+    "multiline": "^1.0.2",
+    "octophant": "^1.0.0",
+    "opener": "^1.4.1",
+    "panini": "^1.3.0",
+    "parker": "0.0.9",
+    "prettyjson": "^1.1.3",
+    "require-dir": "^0.3.0",
+    "rimraf": "^2.3.2",
+    "run-sequence": "^1.1.4",
+    "sass-true": "^2.0.3",
+    "sinon": "^1.17.3",
+    "supercollider": "^1.4.0",
+    "touch": "^1.0.0",
+    "vinyl": "^1.1.1",
+    "vinyl-source-stream": "^1.1.0",
+    "yargs": "^4.2.0"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/zurb/foundation-sites"
+  },
+  "bugs": {
+    "url": "https://github.com/zurb/foundation-sites/issues",
+    "email": "foundation@zurb.com"
+  },
+  "keywords": [
+    "handlebars-helper-rel",
+    "handlebars-helper-slugify"
+  ],
+  "eyeglass": {
+    "name": "foundation",
+    "sassDir": "scss",
+    "needs": "^0.8.0"
+  },
+  "jspm": {
+    "format": "global",
+    "shim": {
+      "dist/foundation": {
+        "deps": [
+          "jquery"
+        ]
+      }
+    }
+  }
+}
diff --git a/libraries/foundation-6/sache.json b/libraries/foundation-6/sache.json
new file mode 100755
index 00000000..77899f89
--- /dev/null
+++ b/libraries/foundation-6/sache.json
@@ -0,0 +1,5 @@
+{
+  "name": "foundation",
+  "description": "The most advanced responsive front-end framework in the world. Includes grids, buttons, ui elements, javascript plugins and more. Foundation 6 makes going from Prototype to Production faster than ever.",
+  "tags": ["grid", "typography", "buttons", "ui", "responsive-web-design"]
+}
diff --git a/libraries/foundation-6/scss/_global.scss b/libraries/foundation-6/scss/_global.scss
new file mode 100755
index 00000000..86c83d8d
--- /dev/null
+++ b/libraries/foundation-6/scss/_global.scss
@@ -0,0 +1,638 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+// scss-lint:disable ColorVariable, QualifyingElement, VendorPrefix
+
+////
+/// @group global
+////
+
+/// Font size attribute applied to `<html>` and `<body>`. We use 100% by default so the value is inherited from the user's browser settings.
+/// @type Number
+$global-font-size: 100% !default;
+
+/// Global width of your site. Used by the grid to determine row width.
+/// @type Number
+$global-width: rem-calc(1200) !default;
+
+/// Default line height for all type. `$global-lineheight` is 24px while `$global-font-size` is 16px
+/// @type Number
+$global-lineheight: 1.5 !default;
+
+/// Colors used for buttons, callouts, links, etc. There must always be a color called `primary`.
+/// @type Map
+$foundation-palette: (
+  primary: #2199e8,
+  secondary: #777,
+  success: #3adb76,
+  warning: #ffae00,
+  alert: #ec5840,
+) !default;
+
+/// Color used for light gray UI items.
+/// @type Color
+$light-gray: #e6e6e6 !default;
+
+/// Color used for medium gray UI items.
+/// @type Color
+$medium-gray: #cacaca !default;
+
+/// Color used for dark gray UI items.
+/// @type Color
+$dark-gray: #8a8a8a !default;
+
+/// Color used for black ui items.
+/// @type Color
+$black: #0a0a0a !default;
+
+/// Color used for white ui items.
+/// @type Color
+$white: #fefefe !default;
+
+/// Background color of the body.
+/// @type Color
+$body-background: $white !default;
+
+/// Text color of the body.
+/// @type Color
+$body-font-color: $black !default;
+
+/// Font stack of the body.
+/// @type List
+$body-font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif !default;
+
+/// Set to `true` to enable antialiased type, using the `-webkit-font-smoothing` and `-moz-osx-font-smoothing` CSS properties.
+/// @type Boolean
+$body-antialiased: true !default;
+
+/// Global value used for margin on components.
+/// @type Number
+$global-margin: 1rem !default;
+
+/// Global value used for padding on components.
+/// @type Number
+$global-padding: 1rem !default;
+
+/// Global font weight used for normal type.
+/// @type Keyword | Number
+$global-weight-normal: normal !default;
+
+/// Global font weight used for bold type.
+/// @type Keyword | Number
+$global-weight-bold: bold !default;
+
+/// Global value used for all elements that have a border radius.
+/// @type Number
+$global-radius: 0 !default;
+
+/// Sets the text direction of the CSS. Can be either `ltr` or `rtl`.
+/// @type Keyword
+$global-text-direction: ltr !default;
+
+/// Enables flexbox for components that support it.
+/// @type Boolean
+$global-flexbox: false !default;
+
+@if not map-has-key($foundation-palette, primary) {
+  @error 'In $foundation-palette, you must have a color named "primary".';
+}
+
+// Internal variables used for text direction
+$global-left: if($global-text-direction == rtl, right, left);
+$global-right: if($global-text-direction == rtl, left, right);
+
+// Internal variables used for colors
+$primary-color: map-get($foundation-palette, primary);
+$secondary-color: map-get($foundation-palette, secondary);
+$success-color: map-get($foundation-palette, success);
+$warning-color: map-get($foundation-palette, warning);
+$alert-color: map-get($foundation-palette, alert);
+
+// Remove this in 6.3
+$-zf-menu-icon-imported: false;
+$-zf-flex-classes-imported: false;
+
+@mixin foundation-global-styles {
+  @include -zf-normalize;
+
+  // These styles are applied to a <meta> tag, which is read by the Foundation JavaScript
+  .foundation-mq {
+    font-family: '#{-zf-bp-serialize($breakpoints)}';
+  }
+
+  html {
+    font-size: $global-font-size;
+    box-sizing: border-box;
+  }
+
+  // Set box-sizing globally to handle padding and border widths
+  *,
+  *::before,
+  *::after {
+    box-sizing: inherit;
+  }
+
+  // Default body styles
+  body {
+    padding: 0;
+    margin: 0;
+    font-family: $body-font-family;
+    font-weight: $global-weight-normal;
+    line-height: $global-lineheight;
+    color: $body-font-color;
+    background: $body-background;
+
+    @if ($body-antialiased) {
+      -webkit-font-smoothing: antialiased;
+      -moz-osx-font-smoothing: grayscale;
+    }
+  }
+
+  img {
+    // Grid defaults to get images and embeds to work properly
+    max-width: 100%;
+    height: auto;
+    -ms-interpolation-mode: bicubic;
+
+    // Get rid of gap under images by making them display: inline-block; by default
+    display: inline-block;
+    vertical-align: middle;
+  }
+
+  // Make sure textarea takes on height automatically
+  textarea {
+    height: auto;
+    min-height: 50px;
+    border-radius: $global-radius;
+  }
+
+  // Make select elements are 100% width by default
+  select {
+    width: 100%;
+    border-radius: $global-radius;
+  }
+
+  // Styles Google Maps and MapQuest embeds properly
+  // scss-lint:disable IdSelector
+  #map_canvas,
+  .map_canvas,
+  .mqa-display {
+    img,
+    embed,
+    object {
+      max-width: none !important;
+    }
+  }
+
+  // Reset <button> styles created by most browsers
+  button {
+    @include disable-mouse-outline;
+    -webkit-appearance: none;
+    -moz-appearance: none;
+    background: transparent;
+    padding: 0;
+    border: 0;
+    border-radius: $global-radius;
+    line-height: 1;
+  }
+
+  // Internal classes to show/hide elements in JavaScript
+  .is-visible {
+    display: block !important;
+  }
+
+  .is-hidden {
+    display: none !important;
+  }
+}
+
+/// Loads normalize.css.
+/// @access private
+@mixin -zf-normalize {
+  /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+
+  /**
+   * 1. Set default font family to sans-serif.
+   * 2. Prevent iOS and IE text size adjust after device orientation change,
+   *    without disabling user zoom.
+   */
+
+  html {
+    font-family: sans-serif; /* 1 */
+    -ms-text-size-adjust: 100%; /* 2 */
+    -webkit-text-size-adjust: 100%; /* 2 */
+  }
+
+  /**
+   * Remove default margin.
+   */
+
+  body {
+    margin: 0;
+  }
+
+  /* HTML5 display definitions
+     ========================================================================== */
+
+  /**
+   * Correct `block` display not defined for any HTML5 element in IE 8/9.
+   * Correct `block` display not defined for `details` or `summary` in IE 10/11
+   * and Firefox.
+   * Correct `block` display not defined for `main` in IE 11.
+   */
+
+  article,
+  aside,
+  details,
+  figcaption,
+  figure,
+  footer,
+  header,
+  hgroup,
+  main,
+  menu,
+  nav,
+  section,
+  summary {
+    display: block;
+  }
+
+  /**
+   * 1. Correct `inline-block` display not defined in IE 8/9.
+   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+   */
+
+  audio,
+  canvas,
+  progress,
+  video {
+    display: inline-block; /* 1 */
+    vertical-align: baseline; /* 2 */
+  }
+
+  /**
+   * Prevent modern browsers from displaying `audio` without controls.
+   * Remove excess height in iOS 5 devices.
+   */
+
+  audio:not([controls]) {
+    display: none;
+    height: 0;
+  }
+
+  /**
+   * Address `[hidden]` styling not present in IE 8/9/10.
+   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
+   */
+
+  [hidden],
+  template {
+    display: none;
+  }
+
+  /* Links
+     ========================================================================== */
+
+  /**
+   * Remove the gray background color from active links in IE 10.
+   */
+
+  a {
+    background-color: transparent;
+  }
+
+  /**
+   * Improve readability of focused elements when they are also in an
+   * active/hover state.
+   */
+
+  a:active,
+  a:hover {
+    outline: 0;
+  }
+
+  /* Text-level semantics
+     ========================================================================== */
+
+  /**
+   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+   */
+
+  abbr[title] {
+    border-bottom: 1px dotted;
+  }
+
+  /**
+   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+   */
+
+  b,
+  strong {
+    font-weight: bold;
+  }
+
+  /**
+   * Address styling not present in Safari and Chrome.
+   */
+
+  dfn {
+    font-style: italic;
+  }
+
+  /**
+   * Address variable `h1` font-size and margin within `section` and `article`
+   * contexts in Firefox 4+, Safari, and Chrome.
+   */
+
+  h1 {
+    font-size: 2em;
+    margin: 0.67em 0;
+  }
+
+  /**
+   * Address styling not present in IE 8/9.
+   */
+
+  mark {
+    background: #ff0;
+    color: #000;
+  }
+
+  /**
+   * Address inconsistent and variable font size in all browsers.
+   */
+
+  small {
+    font-size: 80%;
+  }
+
+  /**
+   * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+   */
+
+  sub,
+  sup {
+    font-size: 75%;
+    line-height: 0;
+    position: relative;
+    vertical-align: baseline;
+  }
+
+  sup {
+    top: -0.5em;
+  }
+
+  sub {
+    bottom: -0.25em;
+  }
+
+  /* Embedded content
+     ========================================================================== */
+
+  /**
+   * Remove border when inside `a` element in IE 8/9/10.
+   */
+
+  img {
+    border: 0;
+  }
+
+  /**
+   * Correct overflow not hidden in IE 9/10/11.
+   */
+
+  svg:not(:root) {
+    overflow: hidden;
+  }
+
+  /* Grouping content
+     ========================================================================== */
+
+  /**
+   * Address margin not present in IE 8/9 and Safari.
+   */
+
+  figure {
+    margin: 1em 40px;
+  }
+
+  /**
+   * Address differences between Firefox and other browsers.
+   */
+
+  hr {
+    box-sizing: content-box;
+    height: 0;
+  }
+
+  /**
+   * Contain overflow in all browsers.
+   */
+
+  pre {
+    overflow: auto;
+  }
+
+  /**
+   * Address odd `em`-unit font size rendering in all browsers.
+   */
+
+  code,
+  kbd,
+  pre,
+  samp {
+    font-family: monospace, monospace;
+    font-size: 1em;
+  }
+
+  /* Forms
+     ========================================================================== */
+
+  /**
+   * Known limitation: by default, Chrome and Safari on OS X allow very limited
+   * styling of `select`, unless a `border` property is set.
+   */
+
+  /**
+   * 1. Correct color not being inherited.
+   *    Known issue: affects color of disabled elements.
+   * 2. Correct font properties not being inherited.
+   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+   */
+
+  button,
+  input,
+  optgroup,
+  select,
+  textarea {
+    color: inherit; /* 1 */
+    font: inherit; /* 2 */
+    margin: 0; /* 3 */
+  }
+
+  /**
+   * Address `overflow` set to `hidden` in IE 8/9/10/11.
+   */
+
+  button {
+    overflow: visible;
+  }
+
+  /**
+   * Address inconsistent `text-transform` inheritance for `button` and `select`.
+   * All other form control elements do not inherit `text-transform` values.
+   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+   * Correct `select` style inheritance in Firefox.
+   */
+
+  button,
+  select {
+    text-transform: none;
+  }
+
+  /**
+   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+   *    and `video` controls.
+   * 2. Correct inability to style clickable `input` types in iOS.
+   * 3. Improve usability and consistency of cursor style between image-type
+   *    `input` and others.
+   */
+
+  button,
+  html input[type="button"], /* 1 */
+  input[type="reset"],
+  input[type="submit"] {
+    -webkit-appearance: button; /* 2 */
+    cursor: pointer; /* 3 */
+  }
+
+  /**
+   * Re-set default cursor for disabled elements.
+   */
+
+  button[disabled],
+  html input[disabled] {
+    cursor: not-allowed;
+  }
+
+  /**
+   * Remove inner padding and border in Firefox 4+.
+   */
+
+  button::-moz-focus-inner,
+  input::-moz-focus-inner {
+    border: 0;
+    padding: 0;
+  }
+
+  /**
+   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+   * the UA stylesheet.
+   */
+
+  input {
+    line-height: normal;
+  }
+
+  /**
+   * It's recommended that you don't attempt to style these elements.
+   * Firefox's implementation doesn't respect box-sizing, padding, or width.
+   *
+   * 1. Address box sizing set to `content-box` in IE 8/9/10.
+   * 2. Remove excess padding in IE 8/9/10.
+   */
+
+  input[type="checkbox"],
+  input[type="radio"] {
+    box-sizing: border-box; /* 1 */
+    padding: 0; /* 2 */
+  }
+
+  /**
+   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+   * `font-size` values of the `input`, it causes the cursor style of the
+   * decrement button to change from `default` to `text`.
+   */
+
+  input[type="number"]::-webkit-inner-spin-button,
+  input[type="number"]::-webkit-outer-spin-button {
+    height: auto;
+  }
+
+  /**
+   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
+   */
+
+  input[type="search"] {
+    -webkit-appearance: textfield; /* 1 */
+    box-sizing: content-box; /* 2 */
+  }
+
+  /**
+   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+   * Safari (but not Chrome) clips the cancel button when the search input has
+   * padding (and `textfield` appearance).
+   */
+
+  input[type="search"]::-webkit-search-cancel-button,
+  input[type="search"]::-webkit-search-decoration {
+    -webkit-appearance: none;
+  }
+
+  /**
+   * Define consistent border, margin, and padding.
+   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
+   */
+
+  /* fieldset {
+    border: 1px solid #c0c0c0;
+    margin: 0 2px;
+    padding: 0.35em 0.625em 0.75em;
+  } */
+
+  /**
+   * 1. Correct `color` not being inherited in IE 8/9/10/11.
+   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+   */
+
+  legend {
+    border: 0; /* 1 */
+    padding: 0; /* 2 */
+  }
+
+  /**
+   * Remove default vertical scrollbar in IE 8/9/10/11.
+   */
+
+  textarea {
+    overflow: auto;
+  }
+
+  /**
+   * Don't inherit the `font-weight` (applied by a rule above).
+   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+   */
+
+  optgroup {
+    font-weight: bold;
+  }
+
+  /* Tables
+     ========================================================================== */
+
+  /**
+   * Remove most spacing between table cells.
+   */
+
+  table {
+    border-collapse: collapse;
+    border-spacing: 0;
+  }
+
+  td,
+  th {
+    padding: 0;
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_accordion-menu.scss b/libraries/foundation-6/scss/components/_accordion-menu.scss
new file mode 100755
index 00000000..0241030c
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_accordion-menu.scss
@@ -0,0 +1,32 @@
+////
+/// @group accordion-menu
+////
+
+/// Sets if accordion menus have the default arrow styles.
+/// @type Boolean
+$accordionmenu-arrows: true !default;
+
+/// Sets accordion menu arrow color if arrow is used.
+/// @type Color
+$accordionmenu-arrow-color: $primary-color !default;
+
+@mixin foundation-accordion-menu {
+  @if $accordionmenu-arrows {
+    .is-accordion-submenu-parent > a {
+      position: relative;
+
+      &::after {
+        @include css-triangle(6px, $accordionmenu-arrow-color, down);
+        position: absolute;
+        top: 50%;
+        margin-top: -4px;
+        right: 1rem;
+      }
+    }
+
+    .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
+      transform-origin: 50% 50%;
+      transform: scaleY(-1);
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_accordion.scss b/libraries/foundation-6/scss/components/_accordion.scss
new file mode 100755
index 00000000..fed5c30e
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_accordion.scss
@@ -0,0 +1,129 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group accordion
+////
+
+/// Default background color of an accordion group.
+/// @type Color
+$accordion-background: $white !default;
+
+/// If `true`, adds plus and minus icons to the side of each accordion title.
+/// @type Boolean
+$accordion-plusminus: true !default;
+
+/// Default text color for items in a Menu.
+/// @type Color
+$accordion-item-color: foreground($accordion-background, $primary-color) !default;
+
+/// Default background color on hover for items in a Menu.
+/// @type Color
+$accordion-item-background-hover: $light-gray !default;
+
+/// Default padding of an accordion item.
+/// @type Number | List
+$accordion-item-padding: 1.25rem 1rem !default;
+
+/// Default background color of tab content.
+/// @type Color
+$accordion-content-background: $white !default;
+
+/// Default border color of tab content.
+/// @type Color
+$accordion-content-border: 1px solid $light-gray !default;
+
+/// Default text color of tab content.
+/// @type Color
+$accordion-content-color: foreground($accordion-content-background, $body-font-color) !default;
+
+/// Default padding for tab content.
+/// @type Number | List
+$accordion-content-padding: 1rem !default;
+
+/// Adds styles for an accordion container. Apply this to the same element that gets `data-accordion`.
+@mixin accordion-container {
+  list-style-type: none;
+  background: $accordion-background;
+  margin-#{$global-left}: 0;
+}
+
+/// Adds styles for the accordion item. Apply this to the list item within an accordion ul.
+@mixin accordion-item {
+  &:first-child > :first-child {
+    border-radius: $global-radius $global-radius 0 0;
+  }
+
+  &:last-child > :last-child {
+    border-radius: 0 0 $global-radius $global-radius;
+  }
+}
+
+/// Adds styles for the title of an accordion item. Apply this to the link within an accordion item.
+@mixin accordion-title {
+  display: block;
+  padding: $accordion-item-padding;
+  line-height: 1;
+  font-size: rem-calc(12);
+  color: $accordion-item-color;
+  position: relative;
+  border: $accordion-content-border;
+  border-bottom: 0;
+
+  :last-child:not(.is-active) > & {
+    border-radius: 0 0 $global-radius $global-radius;
+    border-bottom: $accordion-content-border;
+  }
+
+  &:hover,
+  &:focus {
+    background-color: $accordion-item-background-hover;
+  }
+
+  @if $accordion-plusminus {
+    &::before {
+      content: '+';
+      position: absolute;
+      #{$global-right}: 1rem;
+      top: 50%;
+      margin-top: -0.5rem;
+    }
+
+    .is-active > &::before {
+      content: '–';
+    }
+  }
+}
+
+/// Adds styles for accordion content. Apply this to the content pane below an accordion item's title.
+@mixin accordion-content {
+  padding: $accordion-content-padding;
+  display: none;
+  border: $accordion-content-border;
+  border-bottom: 0;
+  background-color: $accordion-content-background;
+  color: $accordion-content-color;
+
+  :last-child > &:last-child {
+    border-bottom: $accordion-content-border;
+  }
+}
+
+@mixin foundation-accordion {
+  .accordion {
+    @include accordion-container;
+  }
+
+  .accordion-item {
+    @include accordion-item;
+  }
+
+  .accordion-title {
+    @include accordion-title;
+  }
+
+  .accordion-content {
+    @include accordion-content;
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_badge.scss b/libraries/foundation-6/scss/components/_badge.scss
new file mode 100755
index 00000000..c3c0112d
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_badge.scss
@@ -0,0 +1,55 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group badge
+////
+
+/// Default background color for badges.
+/// @type Color
+$badge-background: $primary-color !default;
+
+/// Default text color for badges.
+/// @type Color
+$badge-color: foreground($badge-background) !default;
+
+/// Default padding inside badges.
+/// @type Number
+$badge-padding: 0.3em !default;
+
+/// Minimum width of a badge.
+/// @type Number
+$badge-minwidth: 2.1em !default;
+
+/// Default font size for badges.
+/// @type Number
+$badge-font-size: 0.6rem !default;
+
+/// Generates the base styles for a badge.
+@mixin badge {
+  display: inline-block;
+  padding: $badge-padding;
+  min-width: $badge-minwidth;
+  font-size: $badge-font-size;
+  text-align: center;
+  border-radius: 50%;
+}
+
+@mixin foundation-badge {
+  .badge {
+    @include badge;
+
+    background: $badge-background;
+    color: $badge-color;
+
+    @each $name, $color in $foundation-palette {
+      @if $name != primary {
+        &.#{$name} {
+          background: $color;
+          color: foreground($color);
+        }
+      }
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_breadcrumbs.scss b/libraries/foundation-6/scss/components/_breadcrumbs.scss
new file mode 100755
index 00000000..a02f7c26
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_breadcrumbs.scss
@@ -0,0 +1,95 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group breadcrumbs
+////
+
+/// Margin around a breadcrumbs container.
+/// @type Number
+$breadcrumbs-margin: 0 0 $global-margin 0 !default;
+
+/// Font size of breadcrumb links.
+/// @type Number
+$breadcrumbs-item-font-size: rem-calc(11) !default;
+
+/// Color of breadcrumb links.
+/// @type Color
+$breadcrumbs-item-color: $primary-color !default;
+
+/// Color of the active breadcrumb link.
+/// @type Color
+$breadcrumbs-item-color-current: $black !default;
+
+/// Opacity of disabled breadcrumb links.
+/// @type Number
+$breadcrumbs-item-color-disabled: $medium-gray !default;
+
+/// Margin between breadcrumb items.
+/// @type Number
+$breadcrumbs-item-margin: 0.75rem !default;
+
+/// If `true`, makes breadcrumb links uppercase.
+/// @type Boolean
+$breadcrumbs-item-uppercase: true !default;
+
+/// If `true`, adds a slash between breadcrumb links.
+/// @type Boolean
+$breadcrumbs-item-slash: true !default;
+
+/// Adds styles for a breadcrumbs container, along with the styles for the `<li>` and `<a>` elements inside of it.
+@mixin breadcrumbs-container {
+  @include clearfix;
+  list-style: none;
+  margin: $breadcrumbs-margin;
+
+  // Item wrapper
+  li {
+    float: #{$global-left};
+    color: $breadcrumbs-item-color-current;
+    font-size: $breadcrumbs-item-font-size;
+    cursor: default;
+
+    @if $breadcrumbs-item-uppercase {
+      text-transform: uppercase;
+    }
+
+    @if $breadcrumbs-item-slash {
+      // Need to escape the backslash
+      $slash: if($global-text-direction == 'ltr', '/', '\\');
+
+      &:not(:last-child)::after {
+        color: $medium-gray;
+        content: $slash;
+        margin: 0 $breadcrumbs-item-margin;
+        position: relative;
+        top: 1px;
+        opacity: 1;
+      }
+    }
+    @else {
+      margin-#{$global-right}: $breadcrumbs-item-margin;
+    }
+  }
+
+  // Page links
+  a {
+    color: $breadcrumbs-item-color;
+
+    &:hover {
+      text-decoration: underline;
+    }
+  }
+}
+
+@mixin foundation-breadcrumbs {
+  .breadcrumbs {
+    @include breadcrumbs-container;
+
+    .disabled {
+      color: $breadcrumbs-item-color-disabled;
+      cursor: not-allowed;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_button-group.scss b/libraries/foundation-6/scss/components/_button-group.scss
new file mode 100755
index 00000000..4fa4047f
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_button-group.scss
@@ -0,0 +1,195 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group button-group
+////
+
+/// Margin for button groups.
+/// @type Number
+$buttongroup-margin: 1rem !default;
+
+/// Margin between buttons in a button group.
+/// @type Border
+$buttongroup-spacing: 1px !default;
+
+/// Selector for the buttons inside a button group.
+/// @type String
+$buttongroup-child-selector: '.button' !default;
+
+/// Maximum number of buttons that can be in an even-width button group.
+/// @type Number
+$buttongroup-expand-max: 6 !default;
+
+/// Add styles for a button group container.
+/// @param {String} $child-selector [$buttongroup-child-selector] - Selector for the buttons inside a button group.
+@mixin button-group(
+  $child-selector: $buttongroup-child-selector
+) {
+  @include clearfix;
+  margin-bottom: $buttongroup-margin;
+
+  @if $global-flexbox {
+    display: flex;
+    flex-wrap: nowrap;
+    align-items: stretch;
+  }
+  @else {
+    font-size: 0;
+  }
+
+  #{$child-selector} {
+    margin: 0;
+    margin-#{$global-right}: $buttongroup-spacing;
+    margin-bottom: $buttongroup-spacing;
+    font-size: map-get($button-sizes, default);
+
+    @if $global-flexbox {
+      flex: 0 0 auto;
+    }
+
+    &:last-child {
+      margin-#{$global-right}: 0;
+    }
+  }
+}
+
+/// Creates a full-width button group, making each button equal width.
+/// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside a button group.
+@mixin button-group-expand(
+  $selector: $buttongroup-child-selector,
+  $count: null
+) {
+  @if not $global-flexbox {
+    margin-#{$global-right}: -$buttongroup-spacing;
+
+    &::before,
+    &::after {
+      display: none;
+    }
+  }
+
+  // scss-lint:disable ZeroUnit
+  #{$selector} {
+    @if $global-flexbox {
+      flex: 1 1 0px;
+    }
+    @else {
+      @for $i from 2 through $buttongroup-expand-max {
+        &:first-child:nth-last-child(#{$i}) {
+          &, &:first-child:nth-last-child(#{$i}) ~ #{$selector} {
+            display: inline-block;
+            width: calc(#{percentage(1 / $i)} - #{$buttongroup-spacing});
+            margin-#{$global-right}: $buttongroup-spacing;
+
+            &:last-child {
+              margin-#{$global-right}: $buttongroup-spacing * -$buttongroup-expand-max;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+/// Stacks the buttons in a button group.
+/// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside the button group.
+@mixin button-group-stack(
+  $selector: $buttongroup-child-selector
+) {
+  @if $global-flexbox {
+    flex-wrap: wrap;
+  }
+
+  #{$selector} {
+    @if $global-flexbox {
+      flex: 0 0 100%;
+    }
+    @else {
+      width: 100%;
+    }
+
+    &:last-child {
+      margin-bottom: 0;
+    }
+  }
+}
+
+/// Un-stacks the buttons in a button group.
+/// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside the button group.
+@mixin button-group-unstack(
+  $selector: $buttongroup-child-selector
+) {
+  // scss-lint:disable ZeroUnit
+  #{$selector} {
+    @if $global-flexbox {
+      flex: 1 1 0px;
+    }
+    @else {
+      width: auto;
+    }
+    margin-bottom: 0;
+  }
+}
+
+@mixin foundation-button-group {
+  .button-group {
+    @include button-group;
+
+    // Sizes
+    @each $size, $value in map-remove($button-sizes, default) {
+      &.#{$size} #{$buttongroup-child-selector} {
+        font-size: $value;
+      }
+    }
+
+    // Even-width Group
+    &.expanded { @include button-group-expand; }
+
+    // Colors
+    @each $name, $color in $foundation-palette {
+      @if $button-fill != hollow {
+        &.#{$name} #{$buttongroup-child-selector} {
+          @include button-style($color, auto, auto);
+        }
+      }
+      @else {
+        &.#{$name} #{$buttongroup-child-selector} {
+          @include button-hollow;
+          @include button-hollow-style($color);
+        }
+      }
+    }
+
+    &.stacked,
+    &.stacked-for-small,
+    &.stacked-for-medium {
+      @include button-group-stack;
+    }
+
+    &.stacked-for-small {
+      @include breakpoint(medium) {
+        @include button-group-unstack;
+      }
+    }
+
+    &.stacked-for-medium {
+      @include breakpoint(large) {
+        @include button-group-unstack;
+      }
+    }
+
+    // scss-lint:disable MergeableSelector
+    &.stacked-for-small.expanded {
+      @include breakpoint(small only) {
+        display: block;
+
+        #{$buttongroup-child-selector} {
+          display: block;
+          margin-#{$global-right}: 0;
+        }
+      }
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_button.scss b/libraries/foundation-6/scss/components/_button.scss
new file mode 100755
index 00000000..9860dd30
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_button.scss
@@ -0,0 +1,265 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group button
+////
+
+/// Padding inside buttons.
+/// @type List
+$button-padding: 0.85em 1em !default;
+
+/// Margin around buttons.
+/// @type List
+$button-margin: 0 0 $global-margin 0 !default;
+
+/// Default fill for buttons. Can either be `solid` or `hollow`.
+/// @type Keyword
+$button-fill: solid !default;
+
+/// Default background color for buttons.
+/// @type Color
+$button-background: $primary-color !default;
+
+/// Background color on hover for buttons.
+/// @type Color
+$button-background-hover: scale-color($button-background, $lightness: -15%) !default;
+
+/// Font color for buttons.
+/// @type List
+$button-color: $white !default;
+
+/// Font color for buttons, if the background is light.
+/// @type List
+$button-color-alt: $black !default;
+
+/// Border radius for buttons, defaulted to global-radius.
+/// @type Number
+$button-radius: $global-radius !default;
+
+/// Sizes for buttons.
+/// @type Map
+$button-sizes: (
+  tiny: 0.6rem,
+  small: 0.75rem,
+  default: 0.9rem,
+  large: 1.25rem,
+) !default;
+
+/// opacity for a disabled button.
+/// @type List
+$button-opacity-disabled: 0.25 !default;
+
+// Internal: flip from margin-right to margin-left for defaults
+@if $global-text-direction == 'rtl' {
+  $button-margin: 0 0 $global-margin $global-margin !default;
+}
+
+// TODO: Document button-base() mixin
+@mixin button-base {
+  @include disable-mouse-outline;
+  display: inline-block;
+  text-align: center;
+  line-height: 1;
+  cursor: pointer;
+  -webkit-appearance: none;
+  transition: background-color 0.25s ease-out, color 0.25s ease-out;
+  vertical-align: middle;
+  border: 1px solid transparent;
+  border-radius: $button-radius;
+  padding: $button-padding;
+  margin: $button-margin;
+  font-size: map-get($button-sizes, default);
+}
+
+/// Expands a button to make it full-width.
+/// @param {Boolean} $expand [true] - Set to `true` to enable the expand behavior. Set to `false` to reverse this behavior.
+@mixin button-expand($expand: true) {
+  @if $expand {
+    display: block;
+    width: 100%;
+    margin-left: 0;
+    margin-right: 0;
+  }
+  @else {
+    display: inline-block;
+    width: auto;
+    margin: $button-margin;
+  }
+}
+
+/// Sets the visual style of a button.
+/// @param {Color} $background [$button-background] - Background color of the button.
+/// @param {Color} $background-hover [$button-background-hover] - Background color of the button on hover. Set to `auto` to have the mixin automatically generate a hover color.
+/// @param {Color} $color [$button-color] - Text color of the button. Set to `auto` to automatically generate a color based on the background color.
+@mixin button-style(
+  $background: $button-background,
+  $background-hover: $button-background-hover,
+  $color: $button-color
+) {
+  @if $color == auto {
+    $color: foreground($background, $button-color-alt, $button-color);
+  }
+
+  @if $background-hover == auto {
+    $background-hover: scale-color($background, $lightness: -20%);
+  }
+
+  background-color: $background;
+  color: $color;
+
+  &:hover, &:focus {
+    background-color: $background-hover;
+    color: $color;
+  }
+}
+
+/// Removes background fill on hover and focus for hollow buttons.
+@mixin button-hollow {
+  &,
+  &:hover, &:focus {
+    background-color: transparent;
+  }
+}
+
+@mixin button-hollow-style($color: $primary-color) {
+  $color-hover: scale-color($color, $lightness: -50%);
+
+  border: 1px solid $color;
+  color: $color;
+
+  &:hover, &:focus {
+    border-color: $color-hover;
+    color: $color-hover;
+  }
+}
+
+/// Adds disabled styles to a button by fading the element, reseting the cursor, and disabling pointer events.
+@mixin button-disabled {
+  opacity: $button-opacity-disabled;
+  cursor: not-allowed;
+
+  &:hover, &:focus {
+    background-color: $button-background;
+    color: $button-color;
+  }
+}
+
+/// Adds a dropdown arrow to a button.
+/// @param {Number} $size [0.4em] - Size of the arrow. We recommend using an `em` value so the triangle scales when used inside different sizes of buttons.
+/// @param {Color} $color [white] - Color of the arrow.
+/// @param {Number} $offset [$button-padding] - Distance between the arrow and the text of the button. Defaults to whatever the right padding of a button is.
+@mixin button-dropdown(
+  $size: 0.4em,
+  $color: $white,
+  $offset: get-side($button-padding, right)
+) {
+  &::after {
+    @include css-triangle($size, $color, down);
+    position: relative;
+    top: 0.4em; // Aligns the arrow with the text of the button
+    float: #{$global-right};
+    margin-#{$global-left}: get-side($button-padding, right);
+    display: inline-block;
+  }
+}
+
+/// Adds all styles for a button. For more granular control over styles, use the individual button mixins.
+/// @param {Boolean} $expand [false] - Set to `true` to make the button full-width.
+/// @param {Color} $background [$button-background] - Background color of the button.
+/// @param {Color} $background-hover [$button-background-hover] - Background color of the button on hover. Set to `auto` to have the mixin automatically generate a hover color.
+/// @param {Color} $color [$button-color] - Text color of the button. Set to `auto` to automatically generate a color based on the background color.
+/// @param {Keyword} $style [solid] - Set to `hollow` to create a hollow button. The color defined in `$background` will be used as the primary color of the button.
+@mixin button(
+  $expand: false,
+  $background: $button-background,
+  $background-hover: $button-background-hover,
+  $color: $button-color,
+  $style: $button-fill
+) {
+  @include button-base;
+
+  @if $style == solid {
+    @include button-style($background, $background-hover, $color);
+  }
+  @else if $style == hollow {
+    @include button-hollow;
+    @include button-hollow-style($background);
+  }
+
+  @if $expand {
+    @include button-expand;
+  }
+}
+
+@mixin foundation-button {
+  .button {
+    @include button;
+
+    // Sizes
+    @each $size, $value in map-remove($button-sizes, default) {
+      &.#{$size} {
+        font-size: $value;
+      }
+    }
+
+    &.expanded { @include button-expand; }
+
+    // Colors
+    @each $name, $color in $foundation-palette {
+      @if $button-fill != hollow {
+        &.#{$name} {
+          @include button-style($color, auto, auto);
+        }
+      }
+      @else {
+        &.#{$name} {
+          @include button-hollow-style($color);
+        }
+
+        &.#{$name}.dropdown::after {
+          border-top-color: $color;
+        }
+      }
+    }
+
+    // Hollow style
+    @if $button-fill != hollow {
+      &.hollow {
+        @include button-hollow;
+        @include button-hollow-style;
+
+        @each $name, $color in $foundation-palette {
+          &.#{$name} {
+            @include button-hollow-style($color);
+          }
+        }
+      }
+    }
+
+    // Disabled style
+    &.disabled,
+    &[disabled] {
+      @include button-disabled;
+    }
+
+    // Dropdown arrow
+    &.dropdown {
+      @include button-dropdown;
+
+      @if $button-fill == hollow {
+        &::after {
+          border-top-color: $button-background;
+        }
+      }
+    }
+
+    // Button with dropdown arrow only
+    &.arrow-only::after {
+      margin-#{$global-left}: 0;
+      float: none;
+      top: -0.1em;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_callout.scss b/libraries/foundation-6/scss/components/_callout.scss
new file mode 100755
index 00000000..cb466511
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_callout.scss
@@ -0,0 +1,105 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group callout
+////
+
+/// Default background color.
+/// @type Color
+$callout-background: $white !default;
+
+/// Default fade value for callout backgrounds.
+/// @type Number
+$callout-background-fade: 85% !default;
+
+/// Default border style for callouts.
+/// @type List
+$callout-border: 1px solid rgba($black, 0.25) !default;
+
+/// Default bottom margin for callouts.
+/// @type Number
+$callout-margin: 0 0 1rem 0 !default;
+
+/// Default inner padding for callouts.
+/// @type Number
+$callout-padding: 1rem !default;
+
+/// Default font color for callouts.
+/// @type Color
+$callout-font-color: $body-font-color !default;
+
+/// Default font color for callouts, if the callout has a dark background.
+/// @type Color
+$callout-font-color-alt: $body-background !default;
+
+/// Default border radius for callouts.
+/// @type Color
+$callout-radius: $global-radius !default;
+
+/// Amount to tint links used within colored panels. Set to `false` to disable this feature.
+/// @type Number | Boolean
+$callout-link-tint: 30% !default;
+
+/// Adds basic styles for a callout, including padding and margin.
+@mixin callout-base() {
+  margin: $callout-margin;
+  padding: $callout-padding;
+  border: $callout-border;
+  border-radius: $callout-radius;
+  position: relative;
+  color: $callout-font-color;
+
+  // Respect the padding, fool.
+  > :first-child {
+    margin-top: 0;
+  }
+
+  > :last-child {
+    margin-bottom: 0;
+  }
+}
+
+/// Generate quick styles for a callout using a single color as a baseline.
+/// @param {Color} $color [$callout-background] - Color to use.
+@mixin callout-style($color: $callout-background) {
+  $background: scale-color($color, $lightness: $callout-background-fade);
+
+  background-color: $background;
+}
+
+@mixin callout-size($padding) {
+  padding-top: $padding;
+  padding-right: $padding;
+  padding-bottom: $padding;
+  padding-left: $padding;
+}
+
+
+/// Adds styles for a callout.
+/// @param {Color} $color [$callout-background] - Color to use.
+@mixin callout($color: $callout-background) {
+  @include callout-base;
+  @include callout-style($color);
+}
+
+@mixin foundation-callout {
+  .callout {
+    @include callout;
+
+    @each $name, $color in $foundation-palette {
+      &.#{$name} {
+        @include callout-style($color);
+      }
+    }
+
+    &.small {
+      @include callout-size(0.5rem);
+    }
+
+    &.large {
+      @include callout-size(3rem);
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_close-button.scss b/libraries/foundation-6/scss/components/_close-button.scss
new file mode 100755
index 00000000..7ea8f237
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_close-button.scss
@@ -0,0 +1,61 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group close-button
+////
+
+/// Default position of the close button. The first value should be `right` or `left`, and the second value should be `top` or `bottom`.
+/// @type List
+$closebutton-position: right top !default;
+
+/// Right (or left) offset for a close button.
+/// @type Number
+$closebutton-offset-horizontal: 1rem !default;
+
+/// Top (or bottom) offset for a close button.
+/// @type Number
+$closebutton-offset-vertical: 0.5rem !default;
+
+/// Default font size of the close button.
+/// @type Number
+$closebutton-size: 2em !default;
+
+/// The line-height of the close button. It affects the spacing of the element.
+/// @type Number
+$closebutton-lineheight: 1 !default;
+
+/// Default color of the close button.
+/// @type Color
+$closebutton-color: $dark-gray !default;
+
+/// Default color of the close button when being hovered on.
+/// @type Color
+$closebutton-color-hover: $black !default;
+
+/// Adds styles for a close button, using the styles in the settings variables.
+@mixin close-button {
+  $x: nth($closebutton-position, 1);
+  $y: nth($closebutton-position, 2);
+
+  @include disable-mouse-outline;
+  position: absolute;
+  color: $closebutton-color;
+  #{$x}: $closebutton-offset-horizontal;
+  #{$y}: $closebutton-offset-vertical;
+  font-size: $closebutton-size;
+  line-height: $closebutton-lineheight;
+  cursor: pointer;
+
+  &:hover,
+  &:focus {
+    color: $closebutton-color-hover;
+  }
+}
+
+@mixin foundation-close-button {
+  .close-button {
+    @include close-button;
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_drilldown.scss b/libraries/foundation-6/scss/components/_drilldown.scss
new file mode 100755
index 00000000..159dbb4e
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_drilldown.scss
@@ -0,0 +1,79 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group drilldown
+////
+
+/// Transition property to use for animating menus.
+/// @type Transition
+$drilldown-transition: transform 0.15s linear !default;
+
+/// Adds arrows to drilldown items with submenus, as well as the back button.
+/// @type Boolean
+$drilldown-arrows: true !default;
+
+/// Sets drilldown arrow color if arrow is used.
+/// @type Color
+$drilldown-arrow-color: $primary-color !default;
+
+/// Background color for drilldown submenus.
+/// @type Color
+$drilldown-background: $white !default;
+
+@mixin foundation-drilldown-menu {
+  // Applied to the Menu container
+  .is-drilldown {
+    position: relative;
+    overflow: hidden;
+
+    li {
+      display: block !important;
+    }
+  }
+
+  // Applied to nested <ul>s
+  .is-drilldown-submenu {
+    position: absolute;
+    top: 0;
+    #{$global-left}: 100%;
+    z-index: -1;
+    height: 100%;
+    width: 100%;
+    background: $drilldown-background;
+    transition: $drilldown-transition;
+
+    &.is-active {
+      z-index: 1;
+      display: block;
+      transform: translateX(if($global-text-direction == ltr, -100%, 100%));
+    }
+
+    &.is-closing {
+      transform: translateX(if($global-text-direction == ltr, 100%, -100%));
+    }
+  }
+
+  @if $drilldown-arrows {
+    .is-drilldown-submenu-parent > a {
+      position: relative;
+
+      &::after {
+        @include css-triangle(6px, $drilldown-arrow-color, $global-right);
+        position: absolute;
+        top: 50%;
+        margin-top: -6px;
+        #{$global-right}: 1rem;
+      }
+    }
+
+    .js-drilldown-back > a::before {
+      @include css-triangle(6px, $drilldown-arrow-color, $global-left);
+      border-#{$global-left}-width: 0;
+      display: inline-block;
+      vertical-align: middle;
+      margin-#{$global-right}: 0.75rem; // Creates space between the arrow and the text
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_dropdown-menu.scss b/libraries/foundation-6/scss/components/_dropdown-menu.scss
new file mode 100755
index 00000000..0ce9c1f5
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_dropdown-menu.scss
@@ -0,0 +1,221 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group dropdown-menu
+////
+
+/// Enables arrows for items with dropdown menus.
+/// @type Boolean
+$dropdownmenu-arrows: true !default;
+
+/// Sets dropdown menu arrow color if arrow is used.
+/// @type Color
+$dropdownmenu-arrow-color: $anchor-color !default;
+
+/// Minimum width of dropdown sub-menus.
+/// @type Length
+$dropdownmenu-min-width: 200px !default;
+
+/// Background color for dropdowns.
+/// @type Color
+$dropdownmenu-background: $white !default;
+
+/// Border for dropdown sub-menus.
+/// @type List
+$dropdownmenu-border: 1px solid $medium-gray !default;
+
+// Border width for dropdown sub-menus.
+// Used to adjust top margin of a sub-menu if a border is used.
+// @type Length
+$dropdownmenu-border-width: nth($dropdownmenu-border, 1);
+
+@mixin left-right-arrows {
+  > a::after {
+    #{$global-right}: 14px;
+    margin-top: -3px;
+  }
+
+  &.opens-left > a::after {
+    @include css-triangle(5px, $dropdownmenu-arrow-color, left);
+  }
+
+  &.opens-right > a::after {
+    @include css-triangle(5px, $dropdownmenu-arrow-color, right);
+  }
+}
+
+@mixin dropdown-menu-direction($dir: horizontal) {
+  @if $dir == horizontal {
+    > li.opens-left {
+      > .is-dropdown-submenu {
+        left: auto;
+        right: 0;
+        top: 100%;
+      }
+    }
+
+    > li.opens-right {
+      > .is-dropdown-submenu {
+        right: auto;
+        left: 0;
+        top: 100%;
+      }
+    }
+
+    @if $dropdownmenu-arrows {
+      > li.is-dropdown-submenu-parent > a {
+        padding-#{$global-right}: 1.5rem;
+        position: relative;
+      }
+
+      > li.is-dropdown-submenu-parent > a::after {
+        @include css-triangle(5px, $dropdownmenu-arrow-color, down);
+        #{$global-right}: 5px;
+        margin-top: -2px;
+      }
+    }
+  }
+  @else if $dir == vertical {
+    > li {
+      .is-dropdown-submenu {
+        top: 0;
+      }
+
+      &.opens-left {
+        > .is-dropdown-submenu {
+          left: auto;
+          right: 100%;
+        }
+      }
+
+      &.opens-right {
+        > .is-dropdown-submenu {
+          right: auto;
+          left: 100%;
+        }
+      }
+
+      @if $dropdownmenu-arrows {
+        @include left-right-arrows;
+      }
+    }
+  }
+  @else {
+    @warn 'The direction used for dropdown-menu-direction() must be horizontal or vertical.';
+  }
+}
+
+@mixin foundation-dropdown-menu {
+  .dropdown.menu {
+    @include dropdown-menu-direction(horizontal);
+
+    a {
+      @include disable-mouse-outline;
+    }
+
+    .no-js & ul {
+      display: none;
+    }
+
+    &.vertical {
+      @include dropdown-menu-direction(vertical);
+    }
+
+    @each $size in $breakpoint-classes {
+      @if $size != $-zf-zero-breakpoint {
+        @include breakpoint($size) {
+          &.#{$size}-horizontal {
+            @include dropdown-menu-direction(horizontal);
+          }
+
+          &.#{$size}-vertical {
+            @include dropdown-menu-direction(vertical);
+          }
+        }
+      }
+    }
+
+    &.align-right {
+      .is-dropdown-submenu.first-sub {
+        top: 100%;
+        left: auto;
+        right: 0;
+      }
+    }
+  }
+
+  .is-dropdown-menu.vertical {
+    width: 100px;
+
+    &.align-right {
+      float: right;
+    }
+  }
+
+  .is-dropdown-submenu-parent {
+    position: relative;
+
+    a::after {
+      position: absolute;
+      top: 50%;
+      #{$global-right}: 5px;
+      margin-top: -2px;
+    }
+
+    &.opens-inner > .is-dropdown-submenu {
+
+      top: 100%;
+      @if $global-text-direction == 'rtl' {
+        right: auto;
+      } @else {
+        left: auto;
+      }
+    }
+
+    &.opens-left > .is-dropdown-submenu {
+      left: auto;
+      right: 100%;
+    }
+
+    &.opens-right > .is-dropdown-submenu {
+      right: auto;
+      left: 100%;
+    }
+  }
+
+  .is-dropdown-submenu {
+    display: none;
+    position: absolute;
+    top: 0;
+    #{$global-left}: 100%;
+    min-width: $dropdownmenu-min-width;
+    z-index: 1;
+    background: $dropdownmenu-background;
+    border: $dropdownmenu-border;
+
+    .is-dropdown-submenu-parent {
+      @if $dropdownmenu-arrows {
+        @include left-right-arrows;
+      }
+    }
+
+    @if (type-of($dropdownmenu-border-width) == 'number') {
+      .is-dropdown-submenu {
+        margin-top: (-$dropdownmenu-border-width);
+      }
+    }
+
+    > li {
+      width: 100%;
+    }
+
+    // [TODO] Cut back specificity
+    // scss-lint:disable SelectorDepth
+    //&:not(.js-dropdown-nohover) > .is-dropdown-submenu-parent:hover > &, // why is this line needed? Opening is handled by JS and this causes some ugly flickering when the sub is re-positioned automatically...
+    &.js-dropdown-active {
+      display: block;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_dropdown.scss b/libraries/foundation-6/scss/components/_dropdown.scss
new file mode 100755
index 00000000..771b5fd3
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_dropdown.scss
@@ -0,0 +1,65 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group dropdown
+////
+
+/// Padding for dropdown panes.
+/// @type List
+$dropdown-padding: 1rem !default;
+
+/// Border for dropdown panes.
+/// @type List
+$dropdown-border: 1px solid $medium-gray !default;
+
+/// Font size for dropdown panes.
+/// @type List
+$dropdown-font-size: 1rem !default;
+
+/// Width for dropdown panes.
+/// @type Number
+$dropdown-width: 300px !default;
+
+/// Border radius dropdown panes.
+/// @type Number
+$dropdown-radius: $global-radius !default;
+
+/// Sizes for dropdown panes. Each size is a CSS class you can apply.
+/// @type Map
+$dropdown-sizes: (
+  tiny: 100px,
+  small: 200px,
+  large: 400px,
+) !default;
+
+/// Applies styles for a basic dropdown.
+@mixin dropdown-container {
+  background-color: $body-background;
+  border: $dropdown-border;
+  border-radius: $dropdown-radius;
+  display: block;
+  font-size: $dropdown-font-size;
+  padding: $dropdown-padding;
+  position: absolute;
+  visibility: hidden;
+  width: $dropdown-width;
+  z-index: 10;
+
+  &.is-open {
+    visibility: visible;
+  }
+}
+
+@mixin foundation-dropdown {
+  .dropdown-pane {
+    @include dropdown-container;
+  }
+
+  @each $name, $size in $dropdown-sizes {
+    .dropdown-pane.#{$name} {
+      width: $size;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_flex-video.scss b/libraries/foundation-6/scss/components/_flex-video.scss
new file mode 100755
index 00000000..71cce125
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_flex-video.scss
@@ -0,0 +1,63 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group flex-video
+////
+
+/// Margin below a flex video container.
+/// @type Number
+$flexvideo-margin-bottom: rem-calc(16) !default;
+
+/// Padding used to create a 4:3 aspect ratio.
+/// @type Number
+$flexvideo-ratio: 4 by 3 !default;
+
+/// Padding used to create a 16:9 aspect ratio.
+/// @type Number
+$flexvideo-ratio-widescreen: 16 by 9 !default;
+
+/// Creates a percentage height that can be used as padding in a flex video container.
+/// @param {List} $ratio - Ratio to use to calculate the height, formatted as `x by y`.
+/// @return {Number} A percentage value that can be used as the `padding-bottom` parameter of a flex video container.
+@function flex-video($ratio) {
+  $w: nth($ratio, 1);
+  $h: nth($ratio, 3);
+  @return $h / $w * 100%;
+}
+
+/// Creates a flex video container.
+/// @param {List} $ratio [$flexvideo-ratio] - Ratio to use for the container, formatted as `x by y`.
+@mixin flex-video($ratio: $flexvideo-ratio) {
+  position: relative;
+  height: 0;
+  padding-bottom: flex-video($ratio);
+  margin-bottom: $flexvideo-margin-bottom;
+  overflow: hidden;
+
+  iframe,
+  object,
+  embed,
+  video {
+    position: absolute;
+    top: 0;
+    #{$global-left}: 0;
+    width: 100%;
+    height: 100%;
+  }
+}
+
+@mixin foundation-flex-video {
+  .flex-video {
+    @include flex-video;
+
+    &.widescreen {
+      padding-bottom: flex-video($flexvideo-ratio-widescreen);
+    }
+
+    &.vimeo {
+      padding-top: 0;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_flex.scss b/libraries/foundation-6/scss/components/_flex.scss
new file mode 100755
index 00000000..07181d78
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_flex.scss
@@ -0,0 +1,28 @@
+@mixin foundation-flex-classes {
+  // Horizontal alignment using justify-content
+  @each $hdir, $prop in map-remove($-zf-flex-justify, left) {
+    .align-#{$hdir} {
+      @include flex-align($x: $hdir);
+    }
+  }
+
+  // Vertical alignment using align-items and align-self
+  @each $vdir, $prop in $-zf-flex-align {
+    .align-#{$vdir} {
+      @include flex-align($y: $vdir);
+    }
+
+    .align-self-#{$vdir} {
+      @include flex-align-self($y: $vdir);
+    }
+  }
+
+  // Source ordering
+  @include -zf-each-breakpoint {
+    @for $i from 1 through 6 {
+      .#{$-zf-size}-order-#{$i} {
+        @include flex-order($i);
+      }
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_float.scss b/libraries/foundation-6/scss/components/_float.scss
new file mode 100755
index 00000000..63629202
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_float.scss
@@ -0,0 +1,27 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group float
+////
+
+@mixin foundation-float-classes {
+  .float-left {
+    float: left !important;
+  }
+
+  .float-right {
+    float: right !important;
+  }
+
+  .float-center {
+    display: block;
+    margin-left: auto;
+    margin-right: auto;
+  }
+
+  .clearfix {
+    @include clearfix;
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_label.scss b/libraries/foundation-6/scss/components/_label.scss
new file mode 100755
index 00000000..6fb1864a
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_label.scss
@@ -0,0 +1,56 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group label
+////
+
+/// Default background color for labels.
+/// @type Color
+$label-background: $primary-color !default;
+
+/// Default text color for labels.
+/// @type Color
+$label-color: foreground($label-background) !default;
+
+/// Default font size for labels.
+/// @type Number
+$label-font-size: 0.8rem !default;
+
+/// Default padding inside labels.
+/// @type Number
+$label-padding: 0.33333rem 0.5rem !default;
+
+/// Default radius of labels.
+/// @type Number
+$label-radius: $global-radius !default;
+
+/// Generates base styles for a label.
+@mixin label {
+  display: inline-block;
+  padding: $label-padding;
+  font-size: $label-font-size;
+  line-height: 1;
+  white-space: nowrap;
+  cursor: default;
+  border-radius: $label-radius;
+}
+
+@mixin foundation-label {
+  .label {
+    @include label;
+
+    background: $label-background;
+    color: $label-color;
+
+    @each $name, $color in $foundation-palette {
+      @if $name != primary {
+        &.#{$name} {
+          background: $color;
+          color: foreground($color);
+        }
+      }
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_media-object.scss b/libraries/foundation-6/scss/components/_media-object.scss
new file mode 100755
index 00000000..a7c74c8e
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_media-object.scss
@@ -0,0 +1,115 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group media-object
+////
+
+/// Bottom margin of a media object.
+/// @type Number
+$mediaobject-margin-bottom: $global-margin !default;
+
+/// Left and right padding on sections within a media object.
+/// @type Number
+$mediaobject-section-padding: $global-padding !default;
+
+/// Width of images within a media object, when the object is stacked vertically. Set to 'auto' to use the image's natural width.
+/// @type Number
+$mediaobject-image-width-stacked: 100% !default;
+
+/// Adds styles for a media object container.
+@mixin media-object-container {
+  margin-bottom: $mediaobject-margin-bottom;
+  display: if($global-flexbox, flex, block);
+
+  @if $global-flexbox {
+    flex-wrap: nowrap;
+  }
+}
+
+/// Adds styles for sections within a media object.
+/// @param {Number} $padding [$mediaobject-section-padding] - Padding between sections.
+@mixin media-object-section($padding: $mediaobject-section-padding) {
+  @if $global-flexbox {
+    flex: 0 1 auto;
+  }
+  @else {
+    display: table-cell;
+    vertical-align: top;
+  }
+
+  &:first-child {
+    padding-#{$global-right}: $padding;
+  }
+
+  &:last-child:not(:nth-child(2)) {
+    padding-#{$global-left}: $padding;
+  }
+
+  > :last-child {
+    margin-bottom: 0;
+  }
+}
+
+/// Adds styles to stack sections of a media object. Apply this to the section elements, not the container.
+@mixin media-object-stack {
+  padding: 0;
+  padding-bottom: $mediaobject-section-padding;
+
+  @if $global-flexbox {
+    flex-basis: 100%;
+    max-width: 100%;
+  }
+  @else {
+    display: block;
+  }
+
+  img {
+    width: $mediaobject-image-width-stacked;
+  }
+}
+
+@mixin foundation-media-object {
+  .media-object {
+    @include media-object-container;
+
+    img {
+      max-width: none;
+    }
+
+    @if $global-flexbox {
+      &.stack-for-#{$-zf-zero-breakpoint} {
+        @include breakpoint($-zf-zero-breakpoint only) {
+          flex-wrap: wrap;
+        }
+      }
+    }
+
+    &.stack-for-#{$-zf-zero-breakpoint} .media-object-section {
+      @include breakpoint($-zf-zero-breakpoint only) {
+        @include media-object-stack;
+      }
+    }
+  }
+
+  .media-object-section {
+    @include media-object-section;
+
+    @if $global-flexbox {
+      // scss-lint:disable ZeroUnit
+      &.main-section {
+        flex: 1 1 0px;
+      }
+    }
+    @else {
+      &.middle {
+        vertical-align: middle;
+      }
+
+      &.bottom {
+        vertical-align: bottom;
+      }
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_menu-icon.scss b/libraries/foundation-6/scss/components/_menu-icon.scss
new file mode 100755
index 00000000..b0df173b
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_menu-icon.scss
@@ -0,0 +1,9 @@
+@mixin foundation-menu-icon {
+  .menu-icon {
+    @include hamburger($color: $titlebar-icon-color, $color-hover: $titlebar-icon-color-hover);
+  }
+
+  .menu-icon.dark {
+    @include hamburger;
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_menu.scss b/libraries/foundation-6/scss/components/_menu.scss
new file mode 100755
index 00000000..566cef12
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_menu.scss
@@ -0,0 +1,314 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group menu
+////
+
+/// Margin of a menu.
+/// @type Number
+$menu-margin: 0 !default;
+
+/// Left-hand margin of a nested menu.
+/// @type Number
+$menu-margin-nested: 1rem !default;
+
+/// Padding for items in a menu.
+/// @type Number
+$menu-item-padding: 0.7rem 1rem !default;
+
+/// Text color of an active menu item.
+/// @type Color
+$menu-item-color-active: $white !default;
+
+/// Background color of an active menu item.
+/// @type Color
+$menu-item-background-active: map-get($foundation-palette, primary) !default;
+
+/// Spacing between an icon and text in a menu item.
+/// @type Number
+$menu-icon-spacing: 0.25rem !default;
+
+/// Creates the base styles for a Menu.
+@mixin menu-base {
+  margin: $menu-margin;
+  list-style-type: none;
+
+  @if $global-flexbox {
+    width: 100%;
+    display: flex;
+    flex-wrap: nowrap;
+    align-items: center;
+  }
+
+  // List items are table cell to allow for vertical alignment
+  > li {
+    @include disable-mouse-outline;
+
+    @if $global-flexbox {
+      flex: 0 0 auto;
+    }
+    @else {
+      display: table-cell;
+      vertical-align: middle;
+    }
+  }
+
+  // Reset line height to make the height of the overall item easier to calculate
+  > li > a {
+    display: block;
+    padding: $menu-item-padding;
+    line-height: 1;
+  }
+
+  // Reset styles of inner elements
+  input,
+  a,
+  button {
+    margin-bottom: 0;
+  }
+}
+
+/// Expands the items of a Menu, so each item is the same width.
+@mixin menu-expand {
+  @if $global-flexbox {
+    // scss-lint:disable ZeroUnit
+    > li {
+      flex: 1 1 0px;
+    }
+  }
+  @else {
+    width: 100%;
+    display: table;
+    table-layout: fixed;
+  }
+}
+
+/// Sets the direction of a Menu.
+/// @param {Keyword} $dir [horizontal] - Direction of the Menu. Can be `horizontal` or `vertical`.
+@mixin menu-direction($dir: horizontal) {
+  @if $dir == horizontal {
+    @if $global-flexbox {
+      flex-wrap: nowrap;
+
+      > li {
+        flex: 0 0 auto;
+      }
+    }
+    @else {
+      > li {
+        display: table-cell;
+      }
+    }
+  }
+  @else if $dir == vertical {
+    @if $global-flexbox {
+      flex-wrap: wrap;
+
+      > li {
+        flex: 0 0 100%;
+        max-width: 100%;
+      }
+
+      > li  > a {
+        align-items: flex-start;
+        justify-content: flex-start;
+      }
+    }
+    @else {
+      > li {
+        display: block;
+      }
+    }
+  }
+  @else {
+    @warn 'The direction used for menu-direction() must be horizontal or vertical.';
+  }
+}
+
+/// Creates a simple Menu, which has no padding or hover state.
+@mixin menu-simple {
+  li {
+    line-height: 1;
+    display: inline-block;
+    margin-#{$global-right}: get-side($menu-item-padding, $global-right);
+  }
+
+  a {
+    padding: 0;
+  }
+}
+
+/// Adds styles for a nested Menu, by adding `margin-left` to the menu.
+/// @param {Keyword|Number} $padding [auto] - Length of the margin.
+@mixin menu-nested($margin: $menu-margin-nested) {
+  margin-#{$global-left}: $margin;
+}
+
+/// Adds support for icons to Menu items.
+/// @param {Keyword} $position [side] - Positioning for icons. Can be `side` (left, or right on RTL) or `top`.
+/// @param {Boolean} $base [true] - Set to `false` to prevent the shared CSS between side- and top-aligned icons from being printed. Set this to `false` if you're calling the mixin multiple times on the same element.
+@mixin menu-icons($position: side, $base: true) {
+  @if $base {
+    @if $global-flexbox {
+      > li > a {
+        display: flex;
+      }
+    }
+    @else {
+      > li > a {
+        img,
+        i,
+        svg {
+          vertical-align: middle;
+
+          + span {
+            vertical-align: middle;
+          }
+        }
+      }
+    }
+  }
+
+  @if $position == side {
+    > li > a {
+      @if $global-flexbox {
+        flex-flow: row nowrap;
+      }
+
+      img,
+      i,
+      svg {
+        margin-#{$global-right}: $menu-icon-spacing;
+
+        @if not $global-flexbox {
+          display: inline-block;
+        }
+      }
+    }
+  }
+  @else if $position == top {
+    > li > a {
+      @if $global-flexbox {
+        flex-flow: column nowrap;
+      }
+      @else {
+        text-align: center;
+      }
+
+      img,
+      i,
+      svg {
+        @if not $global-flexbox {
+          display: block;
+          margin: 0 auto $menu-icon-spacing;
+        }
+        @else {
+          align-self: stretch;
+          text-align: center;
+          margin-bottom: $menu-icon-spacing;
+        }
+      }
+    }
+  }
+}
+
+@mixin menu-text {
+  font-weight: bold;
+  color: inherit;
+  line-height: 1;
+  padding-top: 0;
+  padding-bottom: 0;
+  padding: $menu-item-padding;
+}
+
+@mixin foundation-menu {
+  .menu {
+    @include menu-base;
+    @include menu-icons;
+
+    // Orientation
+    @include menu-direction(horizontal);
+
+    &.vertical {
+      @include menu-direction(vertical);
+    }
+
+    @each $size in $breakpoint-classes {
+      @if $size != $-zf-zero-breakpoint {
+        @include breakpoint($size) {
+          &.#{$size}-horizontal {
+            @include menu-direction(horizontal);
+          }
+
+          &.#{$size}-vertical {
+            @include menu-direction(vertical);
+          }
+        }
+      }
+    }
+
+    // Simple
+    &.simple {
+      @include menu-simple;
+    }
+
+    // Align right
+    &.align-#{$global-right} {
+      @if $global-flexbox {
+        justify-content: flex-end;
+      }
+      @else {
+        @include clearfix;
+
+        > li {
+          float: $global-right;
+        }
+      }
+    }
+
+    // Even-width
+    &.expanded {
+      @include menu-expand;
+
+      > li:first-child:last-child {
+        width: 100%;
+      }
+    }
+
+    // Vertical icons
+    &.icon-top {
+      @include menu-icons(top, $base: false);
+    }
+
+    // Nesting
+    &.nested {
+      @include menu-nested;
+    }
+
+    // Active state
+    .active > a {
+      color: $menu-item-color-active;
+      background: $menu-item-background-active;
+    }
+  }
+
+  .menu-text {
+    @include menu-text;
+  }
+
+  // Align center
+  .menu-centered {
+    text-align: center;
+
+    > .menu {
+      display: inline-block;
+    }
+  }
+
+  // Prevent FOUC when using the Responsive Menu plugin
+  .no-js [data-responsive-menu] ul {
+    display: none;
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_off-canvas.scss b/libraries/foundation-6/scss/components/_off-canvas.scss
new file mode 100755
index 00000000..e7175e97
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_off-canvas.scss
@@ -0,0 +1,177 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group off-canvas
+////
+
+/// Width of an off-canvas menu.
+/// @type Number
+$offcanvas-size: 250px !default;
+
+/// Background color of an off-canvas menu.
+/// @type Color
+$offcanvas-background: $light-gray !default;
+
+/// Z-index of an off-canvas menu.
+/// @type Number
+$offcanvas-zindex: -1 !default;
+
+/// Length of the animation on an off-canvas menu.
+/// @type Number
+$offcanvas-transition-length: 0.5s !default;
+
+/// Timing function of the animation on an off-canvas menu.
+/// @type Keyword
+$offcanvas-transition-timing: ease !default;
+
+/// If `true`, a revealed off-canvas will be fixed-position, and scroll with the screen.
+$offcanvas-fixed-reveal: true !default;
+
+/// Background color for the overlay that appears when an off-canvas menu is open.
+/// @type Color
+$offcanvas-exit-background: rgba($white, 0.25) !default;
+
+/// CSS class used for the main content area. The off-canvas mixins use this to target the page body.
+$maincontent-class: 'off-canvas-content' !default;
+
+/// Box shadow to place under the main content area. This shadow overlaps the off-canvas menus.
+/// @type Shadow
+$maincontent-shadow: 0 0 10px rgba($black, 0.5) !default;
+
+/// Adds baseline styles for off-canvas. This CSS is required to make the other pieces work.
+@mixin off-canvas-basics {
+  // Extra properties needed on <html> and <body> to make off-canvas work
+  html,
+  body {
+    height: 100%;
+  }
+
+  .off-canvas-wrapper {
+    width: 100%;
+    overflow-x: hidden;
+    position: relative;
+    backface-visibility: hidden;
+    -webkit-overflow-scrolling: auto;
+  }
+
+  .off-canvas-wrapper-inner {
+    @include clearfix;
+    position: relative;
+    width: 100%;
+    transition: transform $offcanvas-transition-length $offcanvas-transition-timing;
+  }
+
+  // Container for page content
+  .off-canvas-content,
+  .#{$maincontent-class} {
+    min-height: 100%;
+    background: $body-background;
+    transition: transform $offcanvas-transition-length $offcanvas-transition-timing;
+    backface-visibility: hidden;
+    z-index: 1;
+    padding-bottom: 0.1px; // Prevents margin collapsing, which would reveal the box shadow of the wrapper
+
+    @if has-value($maincontent-shadow) {
+      box-shadow: $maincontent-shadow;
+    }
+  }
+
+  // Click-to-exit overlay (generated by JavaScript)
+  .js-off-canvas-exit {
+    display: none;
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    background: $offcanvas-exit-background;
+    cursor: pointer;
+    transition: background $offcanvas-transition-length $offcanvas-transition-timing;
+  }
+}
+
+/// Adds basic styles for an off-canvas menu.
+@mixin off-canvas-base {
+  @include disable-mouse-outline;
+  position: absolute;
+  background: $offcanvas-background;
+  z-index: $offcanvas-zindex;
+  max-height: 100%;
+  overflow-y: auto;
+  transform: translateX(0);
+}
+
+@mixin off-canvas-position(
+  $position: left,
+  $size: $offcanvas-size,
+  $fixed: false
+) {
+  @if $position == left {
+    left: -$size;
+    top: 0;
+    width: $size;
+  }
+  @else if $position == right {
+    right: -$size;
+    top: 0;
+    width: $size;
+  }
+
+  // Generates an open state class that matches the width of the menu
+  @at-root {
+    .is-open-#{$position} {
+      @if $position == left {
+        transform: translateX($size);
+      }
+      @else if $position == right {
+        transform: translateX(-$size);
+      }
+    }
+  }
+}
+
+/// Adds styles that reveal an off-canvas menu.
+/// @param {Keyword} $position [left] - Position of the off-canvas menu being revealed.
+@mixin off-canvas-reveal(
+  $position: left
+) {
+  #{$position}: 0;
+  z-index: auto;
+
+  @if $offcanvas-fixed-reveal {
+    position: fixed;
+  }
+
+  & ~ .#{$maincontent-class} {
+    margin-#{$position}: $offcanvas-size;
+  }
+}
+
+@mixin foundation-off-canvas {
+  @include off-canvas-basics;
+
+  // Off-canvas container
+  .off-canvas {
+    @include off-canvas-base;
+
+    &.position-left   { @include off-canvas-position(left); }
+    &.position-right  { @include off-canvas-position(right); }
+  }
+
+  // Reveal off-canvas menu on larger screens
+  @each $name, $value in $breakpoint-classes {
+    @if $name != $-zf-zero-breakpoint {
+      @include breakpoint($name) {
+        .position-left.reveal-for-#{$name} {
+          @include off-canvas-reveal(left);
+        }
+
+        .position-right.reveal-for-#{$name} {
+          @include off-canvas-reveal(right);
+        }
+      }
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_orbit.scss b/libraries/foundation-6/scss/components/_orbit.scss
new file mode 100755
index 00000000..357c154c
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_orbit.scss
@@ -0,0 +1,193 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group orbit
+////
+
+/// Default color for Orbit's bullets.
+/// @type Color
+$orbit-bullet-background: $medium-gray !default;
+
+/// Default active color for Orbit's bullets.
+/// @type Color
+$orbit-bullet-background-active: $dark-gray !default;
+
+/// Default diameter for Orbit's bullets.
+/// @type Number
+$orbit-bullet-diameter: 1.2rem !default;
+
+/// Default margin between Orbit's bullets.
+/// @type Number
+$orbit-bullet-margin: 0.1rem !default;
+
+/// Default distance from slide region for Orbit's bullets.
+/// @type Number
+$orbit-bullet-margin-top: 0.8rem !default;
+
+/// Default bottom margin from Orbit's bullets to whatever content may lurk below it.
+/// @type Number
+$orbit-bullet-margin-bottom: 0.8rem !default;
+
+/// Default background color for Orbit's caption.
+/// @type Color
+$orbit-caption-background: rgba($black, 0.5) !default;
+
+/// Default padding for Orbit's caption.
+/// @type Number
+$orbit-caption-padding: 1rem !default;
+
+/// Default background color for Orbit's controls when hovered.
+/// @type Color
+$orbit-control-background-hover: rgba($black, 0.5) !default;
+
+/// Default padding for Orbit's controls.
+/// @type Number
+$orbit-control-padding: 1rem !default;
+
+/// Default z-index for Orbit's controls.
+/// @type Number
+$orbit-control-zindex: 10 !default;
+
+/// Adds styles for the outer Orbit wrapper. These styles are used on the `.orbit` class.
+@mixin orbit-wrapper {
+  position: relative;
+}
+
+/// Adds styles for the inner Orbit slide container. These styles are used on the `.orbit-container` class.
+@mixin orbit-container {
+  position: relative;
+  margin: 0;
+  overflow: hidden;
+  list-style: none;
+}
+
+/// Adds styles for the individual slides of an Orbit slider. These styles are used on the `.orbit-slide` class.
+@mixin orbit-slide {
+  width: 100%;
+  max-height: 100%;
+
+  &.no-motionui {
+    &.is-active {
+      top: 0;
+      left: 0;
+    }
+  }
+}
+
+@mixin orbit-figure {
+  margin: 0;
+}
+
+@mixin orbit-image {
+  margin: 0;
+  width: 100%;
+  max-width: 100%;
+}
+
+/// Adds styles for an orbit slide caption. These styles are used on the `.orbit-caption` class.
+@mixin orbit-caption {
+  position: absolute;
+  bottom: 0;
+  width: 100%;
+  padding: $orbit-caption-padding;
+  margin-bottom: 0;
+  color: foreground($orbit-caption-background);
+  background-color: $orbit-caption-background;
+}
+
+/// Adds base styles for the next/previous buttons in an Orbit slider. These styles are shared between the `.orbit-next` and `.orbit-previous` classes in the default CSS.
+@mixin orbit-control {
+  @include disable-mouse-outline;
+  @include vertical-center;
+  z-index: $orbit-control-zindex;
+  padding: $orbit-control-padding;
+  color: $white;
+
+  &:hover,
+  &:active,
+  &:focus {
+    background-color: $orbit-control-background-hover;
+  }
+}
+
+/// Adds styles for the Orbit previous button. These styles are used on the `.orbit-previous` class.
+@mixin orbit-previous {
+  #{$global-left}: 0;
+}
+
+/// Adds styles for the Orbit next button. These styles are used on the `.orbit-next` class.
+@mixin orbit-next {
+  #{$global-left}: auto;
+  #{$global-right}: 0;
+}
+
+/// Adds styles for a container of Orbit bullets. /// Adds styles for the Orbit previous button. These styles are used on the `.orbit-bullets` class.
+@mixin orbit-bullets {
+  @include disable-mouse-outline;
+  position: relative;
+  margin-top: $orbit-bullet-margin-top;
+  margin-bottom: $orbit-bullet-margin-bottom;
+  text-align: center;
+
+  button {
+    width: $orbit-bullet-diameter;
+    height: $orbit-bullet-diameter;
+    margin: $orbit-bullet-margin;
+    background-color: $orbit-bullet-background;
+    border-radius: 50%;
+
+    &:hover {
+      background-color: $orbit-bullet-background-active;
+    }
+
+    &.is-active {
+      background-color: $orbit-bullet-background-active;
+    }
+  }
+}
+
+@mixin foundation-orbit {
+  .orbit {
+    @include orbit-wrapper;
+  }
+
+  .orbit-container {
+    @include orbit-container;
+  }
+
+  .orbit-slide {
+    @include orbit-slide;
+  }
+
+  .orbit-figure {
+    @include orbit-figure;
+  }
+
+  .orbit-image {
+    @include orbit-image;
+  }
+
+  .orbit-caption {
+    @include orbit-caption;
+  }
+
+  %orbit-control {
+    @include orbit-control;
+  }
+
+  .orbit-previous {
+    @extend %orbit-control;
+    @include orbit-previous;
+  }
+
+  .orbit-next {
+    @extend %orbit-control;
+    @include orbit-next;
+  }
+
+  .orbit-bullets {
+    @include orbit-bullets;
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_pagination.scss b/libraries/foundation-6/scss/components/_pagination.scss
new file mode 100755
index 00000000..6f1f23b1
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_pagination.scss
@@ -0,0 +1,162 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group pagination
+////
+
+/// Font size of pagination items.
+/// @type Number
+$pagination-font-size: rem-calc(14) !default;
+
+/// Default bottom margin of the media object.
+/// @type Number
+$pagination-margin-bottom: $global-margin !default;
+
+/// Text color of pagination items.
+/// @type Color
+$pagination-item-color: $black !default;
+
+/// Padding inside of pagination items.
+/// @type Number
+$pagination-item-padding: rem-calc(3 10) !default;
+
+/// Right margin to separate pagination items.
+/// @type Number
+$pagination-item-spacing: rem-calc(1) !default;
+
+/// Default radius for pagination items.
+/// @type Number
+$pagination-radius: $global-radius !default;
+
+/// Background color of pagination items on hover.
+/// @type Color
+$pagination-item-background-hover: $light-gray !default;
+
+/// Background color of pagination item for the current page.
+/// @type Color
+$pagination-item-background-current: $primary-color !default;
+
+/// Text color of the pagination item for the current page.
+/// @type Color
+$pagination-item-color-current: foreground($pagination-item-background-current) !default;
+
+/// Text color of a disabled pagination item.
+/// @type Color
+$pagination-item-color-disabled: $medium-gray !default;
+
+/// Color of the ellipsis in a pagination menu.
+/// @type Color
+$pagination-ellipsis-color: $black !default;
+
+/// If `false`, don't display page number links on mobile, only next/previous links.
+/// @type Boolean
+$pagination-mobile-items: false !default;
+
+/// If `true`, arrows are added to the next and previous links of pagination.
+/// @type Boolean
+$pagination-arrows: true !default;
+
+/// Adds styles for a pagination container. Apply this to a `<ul>`.
+@mixin pagination-container {
+  @include clearfix;
+  margin-#{$global-left}: 0;
+  margin-bottom: $pagination-margin-bottom;
+
+  // List item
+  li {
+    font-size: $pagination-font-size;
+    margin-#{$global-right}: $pagination-item-spacing;
+    border-radius: $pagination-radius;
+
+    @if $pagination-mobile-items {
+      display: inline-block;
+    }
+    @else {
+      display: none;
+
+      &:last-child,
+      &:first-child {
+        display: inline-block;
+      }
+
+      @include breakpoint(medium) {
+        display: inline-block;
+      }
+    }
+  }
+
+  // Page links
+  a,
+  button {
+    color: $pagination-item-color;
+    display: block;
+    padding: $pagination-item-padding;
+    border-radius: $global-radius;
+
+    &:hover {
+      background: $pagination-item-background-hover;
+    }
+  }
+}
+
+/// Adds styles for the current pagination item. Apply this to an `<a>`.
+@mixin pagination-item-current {
+  padding: $pagination-item-padding;
+  background: $pagination-item-background-current;
+  color: $pagination-item-color-current;
+  cursor: default;
+}
+
+/// Adds styles for a disabled pagination item. Apply this to an `<a>`.
+@mixin pagination-item-disabled {
+  padding: $pagination-item-padding;
+  color: $pagination-item-color-disabled;
+  cursor: not-allowed;
+
+  &:hover {
+    background: transparent;
+  }
+}
+
+/// Adds styles for an ellipsis for use in a pagination list.
+@mixin pagination-ellipsis {
+  content: '\2026';
+  padding: $pagination-item-padding;
+  color: $pagination-ellipsis-color;
+}
+
+@mixin foundation-pagination {
+  .pagination {
+    @include pagination-container;
+
+    .current {
+      @include pagination-item-current;
+    }
+
+    .disabled {
+      @include pagination-item-disabled;
+    }
+
+    .ellipsis::after {
+      @include pagination-ellipsis;
+    }
+  }
+
+  @if $pagination-arrows {
+    .pagination-previous a::before,
+    .pagination-previous.disabled::before {
+      content: '\00ab';
+      display: inline-block;
+      margin-#{$global-right}: 0.5rem;
+    }
+
+    .pagination-next a::after,
+    .pagination-next.disabled::after {
+      content: '\00bb';
+      display: inline-block;
+      margin-#{$global-left}: 0.5rem;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_progress-bar.scss b/libraries/foundation-6/scss/components/_progress-bar.scss
new file mode 100755
index 00000000..e74a0c1f
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_progress-bar.scss
@@ -0,0 +1,64 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+/// Adds styles for a progress bar container.
+@mixin progress-container {
+  background-color: $progress-background;
+  height: $progress-height;
+  margin-bottom: $progress-margin-bottom;
+  border-radius: $progress-radius;
+}
+
+/// Adds styles for the inner meter of a progress bar.
+@mixin progress-meter {
+  position: relative;
+  display: block;
+  width: 0%;
+  height: 100%;
+  background-color: $progress-meter-background;
+
+  @if has-value($progress-radius) {
+    border-radius: $global-radius;
+  }
+}
+
+/// Adds styles for text in the progress meter.
+@mixin progress-meter-text {
+  @include absolute-center;
+  position: absolute;
+  margin: 0;
+  font-size: 0.75rem;
+  font-weight: bold;
+  color: $white;
+  white-space: nowrap;
+
+  @if has-value($progress-radius) {
+    border-radius: $progress-radius;
+  }
+}
+
+@mixin foundation-progress-bar {
+  // Progress bar
+  .progress {
+    @include progress-container;
+
+    @each $name, $color in $foundation-palette {
+      &.#{$name} {
+        .progress-meter {
+          background-color: $color;
+        }
+      }
+    }
+  }
+
+  // Inner meter
+  .progress-meter {
+    @include progress-meter;
+  }
+
+  // Inner meter text
+  .progress-meter-text {
+    @include progress-meter-text;
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_reveal.scss b/libraries/foundation-6/scss/components/_reveal.scss
new file mode 100755
index 00000000..cac8b944
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_reveal.scss
@@ -0,0 +1,172 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group reveal
+////
+
+/// Default background color of a modal.
+/// @type Color
+$reveal-background: $white !default;
+
+/// Default width of a modal, with no class applied.
+/// @type Number
+$reveal-width: 600px !default;
+
+/// Default maximum width of a modal.
+/// @type Number
+$reveal-max-width: $global-width !default;
+
+/// Default padding inside a modal.
+/// @type Number
+$reveal-padding: $global-padding !default;
+
+/// Default border around a modal.
+/// @type Number
+$reveal-border: 1px solid $medium-gray !default;
+
+/// Default radius for modal.
+/// @type Number
+$reveal-radius: $global-radius !default;
+
+/// z-index for modals. The overlay uses this value, while the modal itself uses this value plus one.
+/// @type Number
+$reveal-zindex: 1005 !default;
+
+/// Background color of modal overlays.
+/// @type Color
+$reveal-overlay-background: rgba($black, 0.45) !default;
+
+/// Adds styles for a modal overlay.
+/// @param {Color} $background [$reveal-overlay-background] - Background color of the overlay.
+@mixin reveal-overlay {
+  display: none;
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  z-index: $reveal-zindex;
+  background-color: $reveal-overlay-background;
+  overflow-y: scroll;
+}
+
+/// Adds base styles for a modal.
+@mixin reveal-modal-base {
+  @include disable-mouse-outline;
+  display: none;
+  z-index: $reveal-zindex + 1;
+  padding: $reveal-padding;
+  border: $reveal-border;
+  background-color: $reveal-background;
+  border-radius: $reveal-radius;
+
+  @include breakpoint(medium) {
+    min-height: 0;
+  }
+
+  // Make sure rows don't have a min-width on them
+  .column,
+  .columns {
+    min-width: 0;
+  }
+
+  // Strip margins from the last item in the modal
+  > :last-child {
+    margin-bottom: 0;
+  }
+}
+
+/// Adjusts the width of a modal.
+/// @param {Number} $width - Width of the modal. Generally a percentage.
+/// @param {Number} $max-width [$reveal-max-width] - Maximum width of the modal.
+@mixin reveal-modal-width(
+  $width: $reveal-width,
+  $max-width: $reveal-max-width
+) {
+  @include breakpoint(medium) {
+    @extend %reveal-centered;
+    width: $width;
+    max-width: $reveal-max-width;
+  }
+}
+
+/// Creates a full-screen modal, which stretches the full width and height of the window.
+@mixin reveal-modal-fullscreen {
+  // scss-lint:disable DuplicateProperty
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  height: 100vh;
+  min-height: 100vh;
+  max-width: none;
+  margin-left: 0;
+  border: 0;
+  border-radius: 0;
+}
+
+@mixin foundation-reveal {
+  // [TODO] Is this necessary?
+  // scss-lint:disable QualifyingElement
+  body.is-reveal-open {
+    overflow: hidden;
+  }
+  // html gets this class only in iOS
+  html.is-reveal-open,
+  html.is-reveal-open body {
+    height: 100%;
+    overflow: hidden;
+    user-select: none;
+  }
+
+  // Overlay
+  .reveal-overlay {
+    @include reveal-overlay;
+  }
+
+  // Modal container
+  .reveal {
+    @include reveal-modal-base;
+    @include reveal-modal-width($reveal-width);
+    position: relative;
+    top: 100px;
+    margin-left: auto;
+    margin-right: auto;
+    overflow-y: auto;
+
+    // Placeholder selector for medium-and-up modals
+    // Prevents duplicate CSS when defining multiple Reveal sizes
+    @include breakpoint(medium) {
+      %reveal-centered {
+        left: auto;
+        right: auto;
+        margin: 0 auto;
+      }
+    }
+
+    // Remove padding
+    &.collapse {
+      padding: 0;
+    }
+
+    // Sizing classes
+    &.tiny  { @include reveal-modal-width(30%); }
+    &.small { @include reveal-modal-width(50%); }
+    &.large { @include reveal-modal-width(90%); }
+
+    // Full-screen mode
+    &.full {
+      @include reveal-modal-fullscreen;
+    }
+
+    @include breakpoint($-zf-zero-breakpoint only) {
+      @include reveal-modal-fullscreen;
+    }
+
+    &.without-overlay {
+      position: fixed;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_slider.scss b/libraries/foundation-6/scss/components/_slider.scss
new file mode 100755
index 00000000..7813e97f
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_slider.scss
@@ -0,0 +1,133 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+// [TODO] Check how plugin confirms disabled or vertical status
+// [TODO] Check if transition: all; is necessary
+
+////
+/// @group slider
+////
+
+/// Default slider width of a vertical slider. (Doesn't apply to the native slider.)
+/// @type Number
+$slider-width-vertical: 0.5rem !default;
+
+/// Transition properties to apply to the slider handle and fill. (Doesn't apply to the native slider.)
+/// @type Transition
+$slider-transition: all 0.2s ease-in-out !default;
+
+/// Adds the general styles for sliders.
+@mixin slider-container {
+  position: relative;
+  height: $slider-height;
+  margin-top: 1.25rem;
+  margin-bottom: 2.25rem;
+  background-color: $slider-background;
+  cursor: pointer;
+  user-select: none;
+  touch-action: none;
+}
+
+/// Adds the general styles for active fill for sliders.
+@mixin slider-fill {
+  position: absolute;
+  top: 0;
+  left: 0;
+  display: inline-block;
+  max-width: 100%;
+  height: $slider-height;
+  background-color: $slider-fill-background;
+  transition: $slider-transition;
+
+  &.is-dragging {
+    transition: all 0s linear;
+  }
+}
+
+/// Adds the general styles for the slider handles.
+@mixin slider-handle {
+  @include disable-mouse-outline;
+  @include vertical-center;
+  position: absolute;
+  left: 0;
+  z-index: 1;
+  display: inline-block;
+  width: $slider-handle-width;
+  height: $slider-handle-height;
+  background-color: $slider-handle-background;
+  transition: $slider-transition;
+  touch-action: manipulation;
+  border-radius: $slider-radius;
+
+  &:hover {
+    background-color: scale-color($slider-handle-background, $lightness: -15%);
+  }
+
+  &.is-dragging {
+    transition: all 0s linear;
+  }
+}
+
+@mixin slider-disabled {
+  opacity: $slider-opacity-disabled;
+  cursor: not-allowed;
+}
+
+@mixin slider-vertical {
+  display: inline-block;
+  width: $slider-width-vertical;
+  height: 12.5rem;
+  margin: 0 1.25rem;
+  transform: scale(1, -1);
+
+  .slider-fill {
+    top: 0;
+    width: $slider-width-vertical;
+    max-height: 100%;
+  }
+
+  .slider-handle {
+    position: absolute;
+    top: 0;
+    left: 50%;
+    width: $slider-handle-height;
+    height: $slider-handle-width;
+    transform: translateX(-50%);
+  }
+}
+
+@mixin foundation-slider {
+  // Container
+  .slider {
+    @include slider-container;
+  }
+
+  // Fill area
+  .slider-fill {
+    @include slider-fill;
+  }
+
+  // Draggable handle
+  .slider-handle {
+    @include slider-handle;
+  }
+
+  // Disabled state
+  .slider.disabled,
+  .slider[disabled] {
+    @include slider-disabled;
+  }
+
+  // Vertical slider
+  .slider.vertical {
+    @include slider-vertical;
+  }
+
+  // RTL support
+  @if $global-text-direction == rtl {
+    .slider:not(.vertical) {
+      transform: scale(-1, 1);
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_sticky.scss b/libraries/foundation-6/scss/components/_sticky.scss
new file mode 100755
index 00000000..0273603c
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_sticky.scss
@@ -0,0 +1,38 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+@mixin foundation-sticky {
+  .sticky-container {
+    position: relative;
+  }
+
+  .sticky {
+    position: absolute;
+    z-index: 0;
+    transform: translate3d(0, 0, 0);
+  }
+
+  .sticky.is-stuck {
+    position: fixed;
+    z-index: 5;
+
+    &.is-at-top {
+      top: 0;
+    }
+
+    &.is-at-bottom {
+      bottom: 0;
+    }
+  }
+
+  .sticky.is-anchored {
+    position: absolute;
+    left: auto;
+    right: auto;
+
+    &.is-at-bottom {
+      bottom: 0;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_switch.scss b/libraries/foundation-6/scss/components/_switch.scss
new file mode 100755
index 00000000..e38a4e13
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_switch.scss
@@ -0,0 +1,236 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group switch
+////
+
+/// Background color of a switch.
+/// @type Color
+$switch-background: $medium-gray !default;
+
+/// Background active color of a switch.
+/// @type Color
+$switch-background-active: $primary-color !default;
+
+/// Height of a switch, with no class applied.
+/// @type Number
+$switch-height: 2rem !default;
+
+/// Height of a switch with .tiny class.
+/// @type Number
+$switch-height-tiny: 1.5rem !default;
+
+/// Height of a switch with .small class.
+/// @type Number
+$switch-height-small: 1.75rem !default;
+
+/// Height of a switch with .large class.
+/// @type Number
+$switch-height-large: 2.5rem !default;
+
+/// Border radius of the switch
+/// @type Number
+$switch-radius: $global-radius !default;
+
+/// border around a modal.
+/// @type Number
+$switch-margin: $global-margin !default;
+
+/// Background color for the switch container and paddle.
+/// @type Color
+$switch-paddle-background: $white !default;
+
+/// Spacing between a switch paddle and the edge of the body.
+/// @type Number
+$switch-paddle-offset: 0.25rem !default;
+
+/// border radius of the switch paddle
+/// @type Number
+$switch-paddle-radius: $global-radius !default;
+
+/// switch transition.
+/// @type Number
+$switch-paddle-transition: all 0.25s ease-out !default;
+
+// make them variables
+// ask about accessibility on label
+// change class name for text
+
+/// Adds styles for a switch container. Apply this to a container class.
+@mixin switch-container {
+  margin-bottom: $switch-margin;
+  outline: 0;
+  position: relative;
+  user-select: none;
+
+  // These properties cascade down to the switch text
+  color: $white;
+  font-weight: bold;
+  font-size: rem-calc(14);
+}
+
+/// Adds styles for a switch input. Apply this to an `<input>` within a switch.
+@mixin switch-input {
+  opacity: 0;
+  position: absolute;
+  margin-bottom: 0;
+}
+
+/// Adds styles for the background and paddle of a switch. Apply this to a `<label>` within a switch.
+@mixin switch-paddle {
+  background: $switch-background;
+  cursor: pointer;
+  display: block;
+  position: relative;
+  width: 4rem;
+  height: $switch-height;
+  transition: $switch-paddle-transition;
+  border-radius: $switch-radius;
+
+  // Resetting these <label> presets so type styles cascade down
+  color: inherit;
+  font-weight: inherit;
+
+  // Needed to override specificity
+  input + & {
+    margin: 0;
+  }
+
+  // The paddle itself
+  &::after {
+    background: $switch-paddle-background;
+    content: '';
+    display: block;
+    position: absolute;
+    height: 1.5rem;
+    #{$global-left}: 0.25rem;
+    top: 0.25rem;
+    width: 1.5rem;
+    transition: $switch-paddle-transition;
+    transform: translate3d(0, 0, 0);
+    border-radius: $switch-paddle-radius;
+  }
+
+  // Change the visual style when the switch is active
+  input:checked ~ & {
+    background: $switch-background-active;
+
+    &::after {
+      #{$global-left}: 2.25rem;
+    }
+  }
+
+  input:focus ~ & {
+    @include disable-mouse-outline;
+  }
+}
+
+/// Adds base styles for active/inactive text inside a switch. Apply this to text elements inside the switch `<label>`.
+@mixin switch-text {
+  position: absolute;
+  top: 50%;
+  transform: translateY(-50%);
+}
+
+/// Adds styles for the active state text within a switch.
+@mixin switch-text-active {
+  #{$global-left}: 8%;
+  display: none;
+
+  input:checked + label > & {
+    display: block;
+  }
+}
+
+/// Adds styles for the inactive state text within a switch.
+@mixin switch-text-inactive {
+  #{$global-right}: 15%;
+
+  input:checked + label > & {
+    display: none;
+  }
+}
+
+/// Changes the size of a switch by modifying the size of the body and paddle. Apply this to a switch container.
+/// @param {Number} $font-size [1rem] - Font size of label text within the switch.
+/// @param {Number} $width [4rem] - Width of the switch body.
+/// @param {Number} $height [2rem] - Height of the switch body.
+/// @param {Number} $paddle-width [1.5rem] - Width of the switch paddle.
+/// @param {Number} $paddle-offset [0.25rem] - Spacing between the switch paddle and the edge of the switch body.
+@mixin switch-size(
+  $font-size: 1rem,
+  $width: 4rem,
+  $height: 2rem,
+  $paddle-width: 1.5rem,
+  $paddle-offset: 0.25rem
+) {
+  $paddle-height: $height - ($paddle-offset * 2);
+  $paddle-left-active: $width - $paddle-width - $paddle-offset;
+
+  height: $height;
+  
+  .switch-paddle {
+    width: $width;
+    height: $height;
+    font-size: $font-size;
+  }
+
+  .switch-paddle::after {
+    width: $paddle-width;
+    height: $paddle-height;
+  }
+
+  input:checked ~ .switch-paddle::after {
+    #{$global-left}: $paddle-left-active;
+  }
+}
+
+@mixin foundation-switch {
+  // Container class
+  .switch {
+    height: $switch-height;
+    @include switch-container;
+  }
+
+  // <input> element
+  .switch-input {
+    @include switch-input;
+  }
+
+  // <label> element
+  .switch-paddle {
+    @include switch-paddle;
+  }
+
+  // Base label text styles
+  %switch-text {
+    @include switch-text;
+  }
+
+  // Active label text styles
+  .switch-active {
+    @extend %switch-text;
+    @include switch-text-active;
+  }
+
+  // Inactive label text styles
+  .switch-inactive {
+    @extend %switch-text;
+    @include switch-text-inactive;
+  }
+
+  // Switch sizes
+  .switch.tiny {
+    @include switch-size(rem-calc(10), 3rem, $switch-height-tiny, 1rem, $switch-paddle-offset);
+  }
+
+  .switch.small {
+    @include switch-size(rem-calc(12), 3.5rem, $switch-height-small, 1.25rem, $switch-paddle-offset);
+  }
+
+  .switch.large {
+    @include switch-size(rem-calc(16), 5rem, $switch-height-large, 2rem, $switch-paddle-offset);
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_table.scss b/libraries/foundation-6/scss/components/_table.scss
new file mode 100755
index 00000000..1e25b20a
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_table.scss
@@ -0,0 +1,247 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+// scss-lint:disable MergeableSelector, QualifyingElement
+
+////
+/// @group table
+////
+
+/// Default color for table background.
+/// @type Color
+$table-background: $white  !default;
+
+/// Default scale for darkening the striped table rows and the table border.
+/// @type Number
+$table-color-scale: 5% !default;
+
+/// Default style for table border.
+/// @type List
+$table-border: 1px solid smart-scale($table-background, $table-color-scale) !default;
+
+/// Default padding for table.
+/// @type Number
+$table-padding: rem-calc(8 10 10) !default;
+
+/// Default scale for darkening the table rows on hover.
+/// @type Number
+$table-hover-scale: 2% !default;
+
+/// Default color of standard rows on hover.
+/// @type List
+$table-row-hover: darken($table-background, $table-hover-scale) !default;
+
+/// Default color of striped rows on hover.
+/// @type List
+$table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale) !default;
+
+/// Default background color for striped rows.
+/// @type Color
+$table-striped-background: smart-scale($table-background, $table-color-scale) !default;
+
+/// Default value for showing the stripe on rows of the tables, excluding the header and footer. If even, the even rows will have a background color. If odd, the odd rows will have a background color. If empty, or any other value, the table rows will have no striping.
+/// @type Keyword
+$table-stripe: even !default;
+
+/// Default color for header background.
+/// @type Color
+$table-head-background: smart-scale($table-background, $table-color-scale / 2) !default;
+
+/// Default color for footer background.
+/// @type Color
+$table-foot-background: smart-scale($table-background, $table-color-scale) !default;
+
+/// Default font color for header.
+/// @type Color
+$table-head-font-color: $body-font-color !default;
+
+/// Default font color for footer.
+/// @type Color
+$table-foot-font-color: $body-font-color !default;
+
+/// Default value for showing the header when using stacked tables.
+/// @type Boolean
+$show-header-for-stacked: false !default;
+
+@mixin -zf-table-children-styles($stripe: $table-stripe) {
+  thead,
+  tbody,
+  tfoot {
+    border: $table-border;
+    background-color: $table-background;
+  }
+
+  // Caption
+  caption {
+    font-weight: $global-weight-bold;
+    padding: $table-padding;
+  }
+  
+  // Table head
+  thead {
+    background: $table-head-background;
+    color: $table-head-font-color;
+  }
+
+  // Table foot
+  tfoot {
+    background: $table-foot-background;
+    color: $table-foot-font-color;
+  }
+
+  // Table head and foot
+  thead,
+  tfoot {
+    // Rows within head and foot
+    tr {
+      background: transparent;
+    }
+
+    // Cells within head and foot
+    th,
+    td {
+      padding: $table-padding;
+      font-weight: $global-weight-bold;
+      text-align: #{$global-left};
+    }
+  }
+
+  // Table rows
+  tbody {
+    tr {
+      // If stripe is set to even, darken the even rows.
+      @if $stripe == even {
+        &:nth-child(even) {
+          background-color: $table-striped-background;
+        }
+      }
+
+      // If stripe is set to odd, darken the odd rows.
+      @else if $stripe == odd {
+        &:nth-child(odd) {
+          background-color: $table-striped-background;
+        }
+      }
+    }
+
+    th,
+    td {
+      padding: $table-padding;
+    }
+  }
+}
+
+/// Adds the general styles for tables.
+/// @param {Keyword} $stripe [$table-stripe] - Uses keywords even, odd, or none to darken rows of the table. The default value is even.
+@mixin table(
+  $stripe: $table-stripe,
+  $nest: false
+) {
+  width: 100%;
+  margin-bottom: $global-margin;
+  border-radius: $global-radius;
+
+  @if $nest {
+    @include -zf-table-children-styles($stripe);
+  }
+  @else {
+    @at-root {
+      @include -zf-table-children-styles($stripe);
+    }
+  }
+}
+
+/// Adds the ability to horizontally scroll the table when the content overflows horizontally.
+@mixin table-scroll {
+  display: block;
+  width: 100%;
+  overflow-x: auto;
+}
+
+/// Slightly darkens the table rows on hover.
+@mixin table-hover {
+  tr {
+    //Darkens the non-striped table rows on hover.
+    &:hover {
+      background-color: $table-row-hover;
+    }
+
+    //Darkens the even striped table rows.
+    @if($table-stripe == even) {
+      &:nth-of-type(even):hover {
+        background-color: $table-row-stripe-hover;
+      }
+    }
+
+    //Darkens the odd striped table rows.
+    @elseif($table-stripe == odd) {
+      &:nth-of-type(odd):hover {
+        background-color: $table-row-stripe-hover;
+      }
+    }
+  }
+}
+
+/// Adds styles for a stacked table. Useful for small-screen layouts.
+/// @param {Boolean} $header [$show-header-for-stacked] - Show the first th of header when stacked.
+@mixin table-stack($header: $show-header-for-stacked) {
+  @if $header {
+    thead {
+      th:first-child {
+        display: block;
+      }
+
+      th {
+        display: none;
+      }
+    }
+  }
+  @else {
+    thead {
+      display: none;
+    }
+  }
+
+  tfoot {
+    display: none;
+  }
+
+  tr,
+  th,
+  td {
+    display: block;
+  }
+
+  td {
+    border-top: 0;
+  }
+}
+
+@mixin foundation-table($nest: false) {
+  table {
+    @include table($nest: $nest);
+  }
+
+  table.stack {
+    @include breakpoint(medium down) {
+      @include table-stack;
+    }
+  }
+
+  table.scroll {
+    @include table-scroll;
+  }
+
+  table.hover {
+    @include table-hover;
+  }
+
+  .table-scroll {
+    overflow-x: auto;
+
+    table {
+      width: auto;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_tabs.scss b/libraries/foundation-6/scss/components/_tabs.scss
new file mode 100755
index 00000000..1e545ef5
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_tabs.scss
@@ -0,0 +1,165 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group tabs
+////
+
+/// Default margin of the tab bar.
+/// @type Number
+$tab-margin: 0 !default;
+
+/// Default background color of a tab bar.
+/// @type Color
+$tab-background: $white !default;
+
+/// active background color of a tab bar.
+/// @type Color
+$tab-background-active: $light-gray !default;
+
+/// Font size of tab items.
+/// @type Number
+$tab-item-font-size: rem-calc(12) !default;
+
+/// Default background color on hover for items in a Menu.
+$tab-item-background-hover: $white !default;
+
+/// Default padding of a tab item.
+/// @type Number
+$tab-item-padding: 1.25rem 1.5rem !default;
+
+/// Maximum number of `expand-n` classes to include in the CSS.
+/// @type Number
+$tab-expand-max: 6 !default;
+
+/// Default background color of tab content.
+/// @type Color
+$tab-content-background: $white !default;
+
+/// Default border color of tab content.
+/// @type Color
+$tab-content-border: $light-gray !default;
+
+/// Default text color of tab content.
+/// @type Color
+$tab-content-color: foreground($tab-background, $primary-color) !default;
+
+/// Default padding for tab content.
+/// @type Number | List
+$tab-content-padding: 1rem !default;
+
+/// Adds styles for a tab container. Apply this to a `<ul>`.
+@mixin tabs-container {
+  @include clearfix;
+  margin: $tab-margin;
+  list-style-type: none;
+  background: $tab-background;
+  border: 1px solid $tab-content-border;
+}
+
+/// Augments a tab container to have vertical tabs. Use this in conjunction with `tabs-container()`.
+@mixin tabs-container-vertical {
+  > li {
+    width: auto;
+    float: none;
+    display: block;
+  }
+}
+
+/// Adds styles for the links within a tab container. Apply this to the `<li>` elements inside a tab container.
+@mixin tabs-title {
+  float: #{$global-left};
+
+  > a {
+    display: block;
+    padding: $tab-item-padding;
+    line-height: 1;
+    font-size: $tab-item-font-size;
+
+    &:hover {
+      background: $tab-item-background-hover;
+    }
+
+    &:focus,
+    &[aria-selected='true'] {
+      background: $tab-background-active;
+    }
+  }
+}
+
+/// Adds styles for the wrapper that surrounds a tab group's content panes.
+@mixin tabs-content {
+  background: $tab-content-background;
+  transition: all 0.5s ease;
+  border: 1px solid $tab-content-border;
+  border-top: 0;
+}
+
+/// Augments a tab content container to have a vertical style, by shifting the border around. Use this in conjunction with `tabs-content()`.
+@mixin tabs-content-vertical {
+  border: 1px solid $tab-content-border;
+  border-#{$global-left}: 0;
+}
+
+/// Adds styles for an individual tab content panel within the tab content container.
+@mixin tabs-panel {
+  display: none;
+  padding: $tab-content-padding;
+
+  &.is-active {
+    display: block;
+  }
+}
+
+@mixin foundation-tabs {
+  .tabs {
+    @include tabs-container;
+  }
+
+  // Vertical
+  .tabs.vertical {
+    @include tabs-container-vertical;
+  }
+
+  // Simple
+  .tabs.simple {
+    > li > a {
+      padding: 0;
+
+      &:hover {
+        background: transparent;
+      }
+    }
+  }
+
+  // Primary color
+  .tabs.primary {
+    background: $primary-color;
+
+    > li > a {
+      color: foreground($primary-color);
+
+      &:hover,
+      &:focus {
+        background: smart-scale($primary-color);
+      }
+    }
+  }
+
+  .tabs-title {
+    @include tabs-title;
+  }
+
+  .tabs-content {
+    @include tabs-content;
+  }
+
+  .tabs-content.vertical {
+    @include tabs-content-vertical;
+  }
+
+  .tabs-panel {
+    @include tabs-panel;
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_thumbnail.scss b/libraries/foundation-6/scss/components/_thumbnail.scss
new file mode 100755
index 00000000..d6b12d54
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_thumbnail.scss
@@ -0,0 +1,54 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group thumbnail
+////
+
+/// Border around thumbnail images.
+/// @type Border
+$thumbnail-border: solid 4px $white !default;
+
+/// Bottom margin for thumbnail images.
+/// @type Length
+$thumbnail-margin-bottom: $global-margin !default;
+
+/// Box shadow under thumbnail images.
+/// @type Shadow
+$thumbnail-shadow: 0 0 0 1px rgba($black, 0.2) !default;
+
+/// Box shadow under thumbnail images.
+/// @type Shadow
+$thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5) !default;
+
+/// Transition proprties for thumbnail images.
+/// @type Transition
+$thumbnail-transition: box-shadow 200ms ease-out !default;
+
+/// Default radius for thumbnail images.
+/// @type Number
+$thumbnail-radius: $global-radius !default;
+
+/// Adds thumbnail styles to an element.
+@mixin thumbnail {
+  border: $thumbnail-border;
+  box-shadow: $thumbnail-shadow;
+  display: inline-block;
+  line-height: 0;
+  max-width: 100%;
+  transition: $thumbnail-transition;
+  border-radius: $thumbnail-radius;
+  margin-bottom: $thumbnail-margin-bottom;
+
+  &:hover,
+  &:focus {
+    box-shadow: $thumbnail-shadow-hover;
+  }
+}
+
+@mixin foundation-thumbnail {
+  .thumbnail {
+    @include thumbnail;
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_title-bar.scss b/libraries/foundation-6/scss/components/_title-bar.scss
new file mode 100755
index 00000000..14b5eb06
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_title-bar.scss
@@ -0,0 +1,89 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group title-bar
+////
+
+/// Background color of a title bar.
+/// @type Color
+$titlebar-background: $black !default;
+
+/// Color of text inside a title bar.
+/// @type Color
+$titlebar-color: $white !default;
+
+/// Padding inside a title bar.
+/// @type Length
+$titlebar-padding: 0.5rem !default;
+
+/// Font weight of text inside a title bar.
+/// @type Weight
+$titlebar-text-font-weight: bold !default;
+
+/// Color of menu icons inside a title bar.
+/// @type Color
+$titlebar-icon-color: $white !default;
+
+/// Color of menu icons inside a title bar on hover.
+/// @type Color
+$titlebar-icon-color-hover: $medium-gray !default;
+
+/// Spacing between the menu icon and text inside a title bar.
+/// @type Length
+$titlebar-icon-spacing: 0.25rem !default;
+
+@mixin foundation-title-bar {
+  .title-bar {
+    background: $titlebar-background;
+    color: $titlebar-color;
+    padding: $titlebar-padding;
+
+    @if $global-flexbox {
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+    }
+    @else {
+      @include clearfix;
+    }
+
+    .menu-icon {
+      margin-#{$global-left}: $titlebar-icon-spacing;
+      margin-#{$global-right}: $titlebar-icon-spacing;
+    }
+  }
+
+  @if $global-flexbox {
+    // scss-lint:disable ZeroUnit
+    .title-bar-left,
+    .title-bar-right {
+      flex: 1 1 0px;
+    }
+
+    .title-bar-right {
+      text-align: right;
+    }
+  }
+  @else {
+    .title-bar-left {
+      float: left;
+    }
+
+    .title-bar-right {
+      float: right;
+      text-align: right;
+    }
+  }
+
+  .title-bar-title {
+    font-weight: $titlebar-text-font-weight;
+    vertical-align: middle;
+    display: inline-block;
+  }
+
+  .menu-icon.dark {
+    @include hamburger;
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_tooltip.scss b/libraries/foundation-6/scss/components/_tooltip.scss
new file mode 100755
index 00000000..5afd5ec0
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_tooltip.scss
@@ -0,0 +1,104 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group tooltip
+////
+
+/// Default font weight of the defined term.
+/// @type Keyword | Number
+$has-tip-font-weight: $global-weight-bold !default;
+
+/// Default border bottom of the defined term.
+/// @type List
+$has-tip-border-bottom: dotted 1px $dark-gray !default;
+
+/// Default color of the tooltip background.
+/// @type Color
+$tooltip-background-color: $black !default;
+
+/// Default color of the tooltip font.
+/// @type Color
+$tooltip-color: $white !default;
+
+/// Default padding of the tooltip background.
+/// @type Number
+$tooltip-padding: 0.75rem !default;
+
+/// Default font size of the tooltip text. By default, we recommend a smaller font size than the body copy.
+/// @type Number
+$tooltip-font-size: $small-font-size !default;
+
+/// Default pip width for tooltips.
+/// @type Number
+$tooltip-pip-width: 0.75rem !default;
+
+/// Default pip height for tooltips. This is helpful for calculating the distance of the tooltip from the tooltip word.
+/// @type Number
+$tooltip-pip-height: $tooltip-pip-width * 0.866 !default;
+
+/// Default radius for tooltips.
+/// @type Number
+$tooltip-radius: $global-radius !default;
+
+@mixin has-tip {
+  border-bottom: $has-tip-border-bottom;
+  font-weight: $has-tip-font-weight;
+  position: relative;
+  display: inline-block;
+  cursor: help;
+}
+
+@mixin tooltip {
+  background-color: $tooltip-background-color;
+  color: $tooltip-color;
+  font-size: $tooltip-font-size;
+  padding: $tooltip-padding;
+  position: absolute;
+  z-index: 10;
+  top: calc(100% + #{$tooltip-pip-height});
+  max-width: 10rem !important;
+  border-radius: $tooltip-radius;
+
+  &::before {
+    @include css-triangle($tooltip-pip-width, $tooltip-background-color, up);
+    bottom: 100%;
+    position: absolute;
+    left: 50%;
+    transform: translateX(-50%);
+  }
+
+  &.top::before {
+    @include css-triangle($tooltip-pip-width, $tooltip-background-color, down);
+    top: 100%;
+    bottom: auto;
+  }
+
+  &.left::before {
+    @include css-triangle($tooltip-pip-width, $tooltip-background-color, right);
+    bottom: auto;
+    left: 100%;
+    top: 50%;
+    transform: translateY(-50%);
+  }
+
+  &.right::before {
+    @include css-triangle($tooltip-pip-width, $tooltip-background-color, left);
+    bottom: auto;
+    left: auto;
+    right: 100%;
+    top: 50%;
+    transform: translateY(-50%);
+  }
+}
+
+@mixin foundation-tooltip {
+  .has-tip {
+    @include has-tip;
+  }
+
+  .tooltip {
+    @include tooltip;
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_top-bar.scss b/libraries/foundation-6/scss/components/_top-bar.scss
new file mode 100755
index 00000000..f56d3d04
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_top-bar.scss
@@ -0,0 +1,168 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group top-bar
+////
+
+/// Padding for the top bar.
+/// @type Number
+$topbar-padding: 0.5rem !default;
+
+/// Background color for the top bar. This color also cascades to menus within the top bar.
+/// @type Color
+$topbar-background: $light-gray !default;
+
+/// Background color submenus within the top bar. Usefull if $topbar-background is transparent.
+/// @type Color
+$topbar-submenu-background: $topbar-background !default;
+
+/// Spacing for the top bar title.
+/// @type Number
+$topbar-title-spacing: 1rem !default;
+
+/// Maximum width of `<input>` elements inside the top bar.
+/// @type Number
+$topbar-input-width: 200px !default;
+
+/// Breakpoint at which top bar switches from mobile to desktop view.
+/// @type Breakpoint
+$topbar-unstack-breakpoint: medium !default;
+
+/// Adds styles for a top bar container.
+@mixin top-bar-container {
+  @if $global-flexbox {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    flex-wrap: nowrap;
+  }
+  @else {
+    @include clearfix;
+  }
+
+  padding: $topbar-padding;
+
+  &,
+  ul {
+    background-color: $topbar-background;
+  }
+
+  // Check if $topbar-background is differnt from $topbar-background-submenu
+  @if ($topbar-background != $topbar-submenu-background) {
+    ul ul {
+      background-color: $topbar-submenu-background;
+    }
+  }
+
+  // Restrain width of inputs by default to make them easier to arrange
+  input {
+    max-width: $topbar-input-width;
+    margin-#{$global-right}: 1rem;
+  }
+
+  // The above styles shouldn't apply to input group fields
+  .input-group-field {
+    width: 100%;
+    margin-#{$global-right}: 0;
+  }
+
+  // scss-lint:disable QualifyingElement
+  input.button {
+    width: auto;
+  }
+}
+
+/// Makes sections of a top bar stack on top of each other.
+@mixin top-bar-stacked {
+  @if $global-flexbox {
+    flex-wrap: wrap;
+
+    // Sub-sections
+    .top-bar-left,
+    .top-bar-right {
+      flex: 0 0 100%;
+      max-width: 100%;
+    }
+  }
+  @else {
+    // Sub-sections
+    .top-bar-left,
+    .top-bar-right {
+      width: 100%;
+    }
+  }
+}
+
+/// Undoes the CSS applied by the `top-bar-stacked()` mixin.
+@mixin top-bar-unstack {
+  @if $global-flexbox {
+    flex-wrap: nowrap;
+
+    // scss-lint:disable ZeroUnit
+    .top-bar-left,
+    .top-bar-right {
+      flex: 1 1 0px;
+    }
+  }
+  @else {
+    .top-bar-left,
+    .top-bar-right {
+      width: auto;
+    }
+  }
+}
+
+@mixin foundation-top-bar {
+  // Top bar container
+  .top-bar {
+    @include top-bar-container;
+
+    // Stack on small screens by default
+    @include top-bar-stacked;
+
+    @include breakpoint($topbar-unstack-breakpoint) {
+      @include top-bar-unstack;
+    }
+
+    // Generate classes for stacking on each screen size (defined in $breakpoint-classes)
+    @each $size in $breakpoint-classes {
+      @if $size != $-zf-zero-breakpoint {
+        &.stacked-for-#{$size} {
+          @include breakpoint($size down) {
+            @include top-bar-stacked;
+          }
+        }
+      }
+    }
+  }
+
+  // Sub-sections
+  @if $global-flexbox {
+    .top-bar-title {
+      flex: 0 0 auto;
+      margin-right: $topbar-title-spacing;
+    }
+
+    .top-bar-left,
+    .top-bar-right {
+      flex: 0 0 auto;
+    }
+  }
+  @else {
+    .top-bar-title {
+      float: left;
+      margin-right: $topbar-title-spacing;
+
+    }
+
+    .top-bar-left {
+      float: left;
+    }
+
+    .top-bar-right {
+      float: right;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/components/_visibility.scss b/libraries/foundation-6/scss/components/_visibility.scss
new file mode 100755
index 00000000..8906f597
--- /dev/null
+++ b/libraries/foundation-6/scss/components/_visibility.scss
@@ -0,0 +1,132 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+/// Hide an element by default, only displaying it above a certain screen size.
+/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**
+@mixin show-for($size) {
+  $size: map-get($breakpoints, $size);
+  $size: -zf-bp-to-em($size) - (1 / 16);
+
+  @include breakpoint($size down) {
+    display: none !important;
+  }
+}
+
+/// Hide an element by default, only displaying it within a certain breakpoint.
+/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**
+@mixin show-for-only($size) {
+  $lower-bound-size: map-get($breakpoints, $size);
+  $upper-bound-size: -zf-map-next($breakpoints, $size);
+
+  // more often than not this will be correct, just one time round the loop it won't so set in scope here
+  $lower-bound: -zf-bp-to-em($lower-bound-size) - (1 / 16);
+  // test actual lower-bound-size, if 0 set it to 0em
+  @if strip-unit($lower-bound-size) == 0 {
+    $lower-bound: -zf-bp-to-em($lower-bound-size);
+  }
+
+  @if $upper-bound-size == null {
+    @media screen and (max-width: $lower-bound) {
+      display: none !important;
+    }
+  }
+  @else {
+    $upper-bound: -zf-bp-to-em($upper-bound-size);
+
+    @media screen and (max-width: $lower-bound), screen and (min-width: $upper-bound) {
+      display: none !important;
+    }
+  }
+}
+
+
+/// Show an element by default, and hide it above a certain screen size.
+/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**
+@mixin hide-for($size) {
+  @include breakpoint($size) {
+    display: none !important;
+  }
+}
+
+/// Show an element by default, and hide it above a certain screen size.
+/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**
+@mixin hide-for-only($size) {
+  @include breakpoint($size only) {
+    display: none !important;
+  }
+}
+
+@mixin foundation-visibility-classes {
+  // Basic hiding classes
+  .hide {
+    display: none !important;
+  }
+
+  .invisible {
+    visibility: hidden;
+  }
+
+  // Responsive visibility classes
+  @each $size in $breakpoint-classes {
+    @if $size != $-zf-zero-breakpoint {
+      .hide-for-#{$size} {
+        @include hide-for($size);
+      }
+
+      .show-for-#{$size} {
+        @include show-for($size);
+      }
+    }
+
+    .hide-for-#{$size}-only {
+      @include hide-for-only($size);
+    }
+
+    .show-for-#{$size}-only {
+      @include show-for-only($size);
+    }
+  }
+
+  // Screen reader visibility classes
+  // Need a "hide-for-sr" class? Add aria-hidden='true' to the element
+  .show-for-sr,
+  .show-on-focus {
+    @include element-invisible;
+  }
+
+  // Only display the element when it's focused
+  .show-on-focus {
+    &:active,
+    &:focus {
+      @include element-invisible-off;
+    }
+  }
+
+  // Landscape and portrait visibility
+  .show-for-landscape,
+  .hide-for-portrait {
+    display: block !important;
+
+    @include breakpoint(landscape) {
+      display: block !important;
+    }
+
+    @include breakpoint(portrait) {
+      display: none !important;
+    }
+  }
+
+  .hide-for-landscape,
+  .show-for-portrait {
+    display: none !important;
+
+    @include breakpoint(landscape) {
+      display: none !important;
+    }
+
+    @include breakpoint(portrait) {
+      display: block !important;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/forms/_checkbox.scss b/libraries/foundation-6/scss/forms/_checkbox.scss
new file mode 100755
index 00000000..0c388cd3
--- /dev/null
+++ b/libraries/foundation-6/scss/forms/_checkbox.scss
@@ -0,0 +1,40 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group forms
+////
+
+@mixin foundation-form-checkbox {
+  [type='file'],
+  [type='checkbox'],
+  [type='radio'] {
+    margin: 0 0 $form-spacing;
+  }
+
+  // Styles for input/label siblings
+  [type='checkbox'] + label,
+  [type='radio'] + label {
+    display: inline-block;
+    margin-#{$global-left}: $form-spacing * 0.5;
+    margin-#{$global-right}: $form-spacing;
+    margin-bottom: 0;
+    vertical-align: baseline;
+
+    &[for] {
+      cursor: pointer;
+    }
+  }
+
+  // Styles for inputs inside labels
+  label > [type='checkbox'],
+  label > [type='radio'] {
+    margin-#{$global-right}: $form-spacing * 0.5;
+  }
+
+  // Normalize file input width
+  [type='file'] {
+    width: 100%;
+  }
+}
diff --git a/libraries/foundation-6/scss/forms/_error.scss b/libraries/foundation-6/scss/forms/_error.scss
new file mode 100755
index 00000000..792182d4
--- /dev/null
+++ b/libraries/foundation-6/scss/forms/_error.scss
@@ -0,0 +1,84 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group abide
+////
+
+/// Sets if error styles should be added to inputs.
+/// @type Boolean
+$abide-inputs: true !default;
+
+/// Sets if error styles should be added to labels.
+/// @type Boolean
+$abide-labels: true !default;
+
+/// Background color to use for invalid text inputs.
+/// @type Color
+$input-background-invalid: map-get($foundation-palette, alert) !default;
+
+/// Color to use for labels of invalid inputs.
+/// @type Color
+$form-label-color-invalid: map-get($foundation-palette, alert) !default;
+
+/// Default font color for form error text.
+/// @type Color
+$input-error-color: map-get($foundation-palette, alert) !default;
+
+/// Default font size for form error text.
+/// @type Number
+$input-error-font-size: rem-calc(12) !default;
+
+/// Default font weight for form error text.
+/// @type Keyword
+$input-error-font-weight: $global-weight-bold !default;
+
+/// Styles the background and border of an input field to have an error state.
+///
+/// @param {Color} $background [$alert-color] - Color to use for the background and border.
+/// @param {Number} $background-alpha [0.1] - Transparency level of the background color.
+@mixin form-input-error(
+  $background: $input-background-invalid,
+  $background-alpha: 0.1
+) {
+  &:not(:focus) {
+    background-color: rgba($background, $background-alpha);
+    border-color: $background;
+  }
+}
+
+/// Adds error styles to a form element, using the values in the settings file.
+@mixin form-error {
+  display: none;
+  margin-top: $form-spacing * -0.5;
+  margin-bottom: $form-spacing;
+  font-size: $input-error-font-size;
+  font-weight: $input-error-font-weight;
+  color: $input-error-color;
+}
+
+@mixin foundation-form-error {
+  @if $abide-inputs {
+    // Error class for invalid inputs
+    .is-invalid-input {
+      @include form-input-error;
+    }
+  }
+
+  @if $abide-labels {
+    // Error class for labels of invalid outputs
+    .is-invalid-label {
+      color: $form-label-color-invalid;
+    }
+  }
+
+  // Form error element
+  .form-error {
+    @include form-error;
+
+    &.is-visible {
+      display: block;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/forms/_fieldset.scss b/libraries/foundation-6/scss/forms/_fieldset.scss
new file mode 100755
index 00000000..875706d2
--- /dev/null
+++ b/libraries/foundation-6/scss/forms/_fieldset.scss
@@ -0,0 +1,54 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group forms
+////
+
+/// Default border around custom fieldsets.
+/// @type Border
+$fieldset-border: 1px solid $medium-gray !default;
+
+/// Default padding inside custom fieldsets.
+/// @type Number
+$fieldset-padding: rem-calc(20) !default;
+
+/// Default margin around custom fieldsets.
+/// @type Number
+$fieldset-margin: rem-calc(18 0) !default;
+
+/// Default padding between the legend text and fieldset border.
+/// @type Number
+$legend-padding: rem-calc(0 3) !default;
+
+@mixin fieldset {
+  border: $fieldset-border;
+  padding: $fieldset-padding;
+  margin: $fieldset-margin;
+
+  legend {
+    // Covers up the fieldset's border to create artificial padding
+    background: $body-background;
+    padding: $legend-padding;
+    margin: 0;
+    margin-#{$global-left}: rem-calc(-3);
+  }
+}
+
+@mixin foundation-form-fieldset {
+  fieldset {
+    border: 0;
+    padding: 0;
+    margin: 0;
+  }
+
+  legend {
+    margin-bottom: $form-spacing * 0.5;
+    max-width: 100%;
+  }
+
+  .fieldset {
+    @include fieldset;
+  }
+}
diff --git a/libraries/foundation-6/scss/forms/_forms.scss b/libraries/foundation-6/scss/forms/_forms.scss
new file mode 100755
index 00000000..1507fda3
--- /dev/null
+++ b/libraries/foundation-6/scss/forms/_forms.scss
@@ -0,0 +1,34 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group forms
+////
+
+/// Global spacing for form elements.
+/// @type Number
+$form-spacing: rem-calc(16) !default;
+
+@import 'text';
+@import 'checkbox';
+@import 'label';
+@import 'help-text';
+@import 'input-group';
+@import 'fieldset';
+@import 'select';
+@import 'range';
+@import 'progress';
+@import 'meter';
+@import 'error';
+
+@mixin foundation-forms {
+  @include foundation-form-text;
+  @include foundation-form-checkbox;
+  @include foundation-form-label;
+  @include foundation-form-helptext;
+  @include foundation-form-prepostfix;
+  @include foundation-form-fieldset;
+  @include foundation-form-select;
+  @include foundation-form-error;
+}
diff --git a/libraries/foundation-6/scss/forms/_help-text.scss b/libraries/foundation-6/scss/forms/_help-text.scss
new file mode 100755
index 00000000..04e5237f
--- /dev/null
+++ b/libraries/foundation-6/scss/forms/_help-text.scss
@@ -0,0 +1,30 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group forms
+////
+
+/// Default color for help text.
+/// @type Color
+$helptext-color: $black !default;
+
+/// Default font size for help text.
+/// @type Number
+$helptext-font-size: rem-calc(13) !default;
+
+/// Default font style for help text.
+/// @type Keyword
+$helptext-font-style: italic !default;
+
+@mixin foundation-form-helptext {
+  .help-text {
+    $margin-top: ($form-spacing * 0.5) * -1;
+
+    margin-top: $margin-top;
+    font-size: $helptext-font-size;
+    font-style: $helptext-font-style;
+    color: $helptext-color;
+  }
+}
diff --git a/libraries/foundation-6/scss/forms/_input-group.scss b/libraries/foundation-6/scss/forms/_input-group.scss
new file mode 100755
index 00000000..04a86ae5
--- /dev/null
+++ b/libraries/foundation-6/scss/forms/_input-group.scss
@@ -0,0 +1,128 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group forms
+////
+
+/// Color of labels prefixed to an input.
+/// @type Color
+$input-prefix-color: $black !default;
+
+/// Background color of labels prefixed to an input.
+/// @type Color
+$input-prefix-background: $light-gray !default;
+
+/// Border around labels prefixed to an input.
+/// @type Border
+$input-prefix-border: 1px solid $medium-gray !default;
+
+/// Left/right padding of an pre/postfixed input label
+$input-prefix-padding: 1rem !default;
+
+@mixin foundation-form-prepostfix {
+  $height: ($input-font-size + $form-spacing * 1.5);
+
+  .input-group {
+    display: if($global-flexbox, flex, table);
+    width: 100%;
+    margin-bottom: $form-spacing;
+
+    @if $global-flexbox {
+      align-items: stretch;
+    }
+
+    > :first-child {
+      border-radius: if($global-text-direction == rtl, 0 $global-radius $global-radius 0, $global-radius 0 0 $global-radius);
+    }
+
+    > :last-child {
+      > * {
+        border-radius: if($global-text-direction == rtl, $global-radius 0 0 $global-radius, 0 $global-radius $global-radius 0);
+      }
+    }
+  }
+
+  %input-group-child {
+    margin: 0;
+    white-space: nowrap;
+
+    @if not $global-flexbox {
+      display: table-cell;
+      vertical-align: middle;
+    }
+  }
+
+  .input-group-label {
+    @extend %input-group-child;
+    text-align: center;
+    padding: 0 $input-prefix-padding;
+    background: $input-prefix-background;
+    color: $input-prefix-color;
+    border: $input-prefix-border;
+    white-space: nowrap;
+
+    @if $global-flexbox {
+      flex: 0 0 auto;
+      display: flex;
+      align-items: center;
+    }
+    @else {
+      width: 1%;
+      height: 100%;
+    }
+
+    @if has-value($input-prefix-border) {
+      &:first-child {
+        border-#{$global-right}: 0;
+      }
+
+      &:last-child {
+        border-#{$global-left}: 0;
+      }
+    }
+  }
+
+  .input-group-field {
+    @extend %input-group-child;
+    border-radius: 0;
+
+    // scss-lint:disable ZeroUnit
+    @if $global-flexbox {
+      flex: 1 1 0px;
+      width: auto;
+      height: auto;
+    }
+    @else {
+      height: $height;
+    }
+  }
+
+  .input-group-button {
+    @extend %input-group-child;
+    padding-top: 0;
+    padding-bottom: 0;
+    text-align: center;
+
+    @if $global-flexbox {
+      flex: 0 0 auto;
+    }
+    @else {
+      height: 100%;
+      width: 1%;
+    }
+
+    a,
+    input,
+    button {
+      margin: 0;
+    }
+  }
+
+  // Specificity bump needed to prevent override by buttons
+  // scss-lint:disable QualifyingSelector
+  .input-group .input-group-button {
+    display: table-cell;
+  }
+}
diff --git a/libraries/foundation-6/scss/forms/_label.scss b/libraries/foundation-6/scss/forms/_label.scss
new file mode 100755
index 00000000..ef44a528
--- /dev/null
+++ b/libraries/foundation-6/scss/forms/_label.scss
@@ -0,0 +1,48 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group forms
+////
+
+/// Color for form labels.
+/// @type Color
+$form-label-color: $black !default;
+
+/// Font size for form labels.
+/// @type Number
+$form-label-font-size: rem-calc(14) !default;
+
+/// Font weight for form labels.
+/// @type Keyword
+$form-label-font-weight: $global-weight-normal !default;
+
+/// Line height for form labels. The higher the number, the more space between the label and its input field.
+/// @type Number
+$form-label-line-height: 1.8 !default;
+
+@mixin form-label {
+  display: block;
+  margin: 0;
+  font-size: $form-label-font-size;
+  font-weight: $form-label-font-weight;
+  line-height: $form-label-line-height;
+  color: $form-label-color;
+}
+
+@mixin form-label-middle {
+  $input-border-width: get-border-value($input-border, width);
+  margin: 0 0 $form-spacing;
+  padding: ($form-spacing / 2 + rem-calc($input-border-width)) 0;
+}
+
+@mixin foundation-form-label {
+  label {
+    @include form-label;
+
+    &.middle {
+      @include form-label-middle;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/forms/_meter.scss b/libraries/foundation-6/scss/forms/_meter.scss
new file mode 100755
index 00000000..10cf985f
--- /dev/null
+++ b/libraries/foundation-6/scss/forms/_meter.scss
@@ -0,0 +1,111 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group meter
+////
+
+/// Height of a `<meter>` element.
+/// @type Length
+$meter-height: 1rem !default;
+
+/// Border radius of a `<meter>` element.
+/// @type Length
+$meter-radius: $global-radius !default;
+
+/// Background color of a `<meter>` element.
+/// @type Color
+$meter-background: $medium-gray !default;
+
+/// Meter fill for an optimal value in a `<meter>` element.
+/// @type Color
+$meter-fill-good: $success-color !default;
+
+/// Meter fill for an average value in a `<meter>` element.
+/// @type Color
+$meter-fill-medium: $warning-color !default;
+
+/// Meter fill for a suboptimal value in a `<meter>` element.
+/// @type Color
+$meter-fill-bad: $alert-color !default;
+
+@mixin foundation-meter-element {
+  meter {
+    -webkit-appearance: none;
+    -moz-appearance: none;
+    display: block;
+    width: 100%;
+    height: $meter-height;
+    margin-bottom: 1rem;
+
+    @if has-value($meter-radius) {
+      border-radius: $meter-radius;
+    }
+
+    // For Firefox
+    background: $meter-background;
+    border: 0;
+
+    // Chrome/Safari/Edge
+    &::-webkit-meter-bar {
+      background: $meter-background;
+
+      @if has-value($meter-radius) {
+        border-radius: $meter-radius;
+      }
+      
+      border: 0;
+    }
+
+    &::-webkit-meter-inner-element {
+      @if has-value($meter-radius) {
+        border-radius: $meter-radius;
+      }
+    }
+
+    &::-webkit-meter-optimum-value {
+      background: $meter-fill-good;
+
+      @if has-value($meter-radius) {
+        border-radius: $meter-radius;
+      }
+    }
+
+    &::-webkit-meter-suboptimum-value {
+      background: $meter-fill-medium;
+
+      @if has-value($meter-radius) {
+        border-radius: $meter-radius;
+      }
+    }
+
+    &::-webkit-meter-even-less-good-value {
+      background: $meter-fill-bad;
+
+      @if has-value($meter-radius) {
+        border-radius: $meter-radius;
+      }
+    }
+
+    &::-moz-meter-bar {
+      background: $primary-color;
+
+      @if has-value($meter-radius) {
+        border-radius: $meter-radius;
+      }
+    }
+
+    &:-moz-meter-optimum::-moz-meter-bar {
+      background: $meter-fill-good;
+    }
+
+    &:-moz-meter-sub-optimum::-moz-meter-bar {
+      background: $meter-fill-medium;
+    }
+
+    &:-moz-meter-sub-sub-optimum::-moz-meter-bar {
+      background: $meter-fill-bad;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/forms/_progress.scss b/libraries/foundation-6/scss/forms/_progress.scss
new file mode 100755
index 00000000..d157a33a
--- /dev/null
+++ b/libraries/foundation-6/scss/forms/_progress.scss
@@ -0,0 +1,94 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group progress-bar
+////
+
+/// Height of a progress bar.
+/// @type Number
+$progress-height: 1rem !default;
+
+/// Background color of a progress bar.
+/// @type Color
+$progress-background: $medium-gray !default;
+
+/// Bottom margin of a progress bar.
+/// @type Number
+$progress-margin-bottom: $global-margin !default;
+
+/// Default color of a progress bar's meter.
+/// @type Color
+$progress-meter-background: $primary-color !default;
+
+/// Default radius of a progress bar.
+/// @type Number
+$progress-radius: $global-radius !default;
+
+@mixin foundation-progress-element {
+  progress {
+    -webkit-appearance: none;
+    -moz-appearance: none;
+    display: block;
+    width: 100%;
+    height: $progress-height;
+    margin-bottom: $progress-margin-bottom;
+
+    @if hasvalue($progress-radius) {
+      border-radius: $progress-radius;
+    }
+
+    // For Firefox
+    background: $progress-background;
+    border: 0;
+
+    &::-webkit-progress-bar {
+      background: $progress-background;
+
+      @if hasvalue($progress-radius) {
+        border-radius: $progress-radius;
+      }
+    }
+
+    &::-webkit-progress-value {
+      background: $progress-meter-background;
+
+      @if hasvalue($progress-radius) {
+        border-radius: $progress-radius;
+      }
+    }
+
+    &::-moz-progress-bar {
+      background: $progress-meter-background;
+
+      @if hasvalue($progress-radius) {
+        border-radius: $progress-radius;
+      }
+    }
+
+    @each $name, $color in $foundation-palette {
+      &.#{$name} {
+        // Internet Explorer sets the fill with color
+        color: $color;
+
+        &::-webkit-progress-value {
+          background: $color;
+        }
+
+        &::-moz-progress-bar {
+          background: $color;
+        }
+      }
+    }
+    
+    // For IE and Edge  
+    &::-ms-fill{
+      @if hasvalue($progress-radius) {
+        border-radius: $progress-radius;  
+      }
+
+      border: 0;     
+    } 
+  }
+}
diff --git a/libraries/foundation-6/scss/forms/_range.scss b/libraries/foundation-6/scss/forms/_range.scss
new file mode 100755
index 00000000..9524458b
--- /dev/null
+++ b/libraries/foundation-6/scss/forms/_range.scss
@@ -0,0 +1,144 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group slider
+////
+
+/// Default height of the slider.
+/// @type Number
+$slider-height: 0.5rem !default;
+
+/// Default background color of the slider's track.
+/// @type Color
+$slider-background: $light-gray !default;
+
+/// Default color of the active fill color of the slider.
+/// @type Color
+$slider-fill-background: $medium-gray !default;
+
+/// Default height of the handle of the slider.
+/// @type Number
+$slider-handle-height: 1.4rem !default;
+
+/// Default width of the handle of the slider.
+/// @type Number
+$slider-handle-width: 1.4rem !default;
+
+/// Default color of the handle for the slider.
+/// @type Color
+$slider-handle-background: $primary-color !default;
+
+/// Default fade amount of a disabled slider.
+/// @type Number
+$slider-opacity-disabled: 0.25 !default;
+
+/// Default radius for slider.
+/// @type Number
+$slider-radius: $global-radius !default;
+
+@mixin foundation-range-input {
+  // scss-lint:disable QualifyingElement
+  input[type="range"] {
+    $margin: ($slider-handle-height - $slider-height) / 2;
+
+    -webkit-appearance: none;
+    -moz-appearance: none;
+    display: block;
+    width: 100%;
+    height: auto;
+    cursor: pointer;
+    margin-top: $margin;
+    margin-bottom: $margin;
+    border: 0;
+    line-height: 1;
+
+    @if has-value($slider-radius) {
+      border-radius: $slider-radius;
+    }
+
+    &:focus {
+      outline: 0;
+    }
+
+    &[disabled] {
+      opacity: $slider-opacity-disabled;
+    }
+
+    // Chrome/Safari
+    &::-webkit-slider-runnable-track {
+      height: $slider-height;
+      background: $slider-background;
+    }
+
+    &::-webkit-slider-handle {
+      -webkit-appearance: none;
+      background: $slider-handle-background;
+      width: $slider-handle-width;
+      height: $slider-handle-height;
+      margin-top: -$margin;
+
+      @if has-value($slider-radius) {
+        border-radius: $slider-radius;
+      }
+    }
+
+    // Firefox
+    &::-moz-range-track {
+      -moz-appearance: none;
+      height: $slider-height;
+      background: $slider-background;
+    }
+
+    &::-moz-range-thumb {
+      -moz-appearance: none;
+      background: $slider-handle-background;
+      width: $slider-handle-width;
+      height: $slider-handle-height;
+      margin-top: -$margin;
+
+      @if has-value($slider-radius) {
+        border-radius: $slider-radius;
+      }
+    }
+
+    // Internet Explorer
+    &::-ms-track {
+      height: $slider-height;
+      background: $slider-background;
+      color: transparent;
+      border: 0;
+      overflow: visible;
+      border-top: $margin solid $body-background;
+      border-bottom: $margin solid $body-background;
+    }
+
+    &::-ms-thumb {
+      background: $slider-handle-background;
+      width: $slider-handle-width;
+      height: $slider-handle-height;
+      border: 0;
+
+      @if has-value($slider-radius) {
+        border-radius: $slider-radius;
+      }
+    }
+
+    &::-ms-fill-lower {
+      background: $slider-fill-background;
+    }
+
+    &::-ms-fill-upper {
+      background: $slider-background;
+    }
+
+    @at-root {
+      output {
+        line-height: $slider-handle-height;
+        vertical-align: middle;
+        margin-left: 0.5em;
+      }
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/forms/_select.scss b/libraries/foundation-6/scss/forms/_select.scss
new file mode 100755
index 00000000..71aef3b7
--- /dev/null
+++ b/libraries/foundation-6/scss/forms/_select.scss
@@ -0,0 +1,67 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group forms
+////
+
+/// Background color for select menus.
+/// @type Color
+$select-background: $white !default;
+
+/// Color of the dropdown triangle inside select menus. Set to `transparent` to remove it entirely.
+/// @type Color
+$select-triangle-color: $dark-gray !default;
+
+/// Default radius for select menus.
+/// @type Color
+$select-radius: $global-radius !default;
+
+@mixin form-select {
+  $height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1));
+
+  height: $height;
+  padding: ($form-spacing / 2);
+  border: $input-border;
+  margin: 0 0 $form-spacing;
+  font-size: $input-font-size;
+  font-family: $input-font-family;
+  line-height: normal;
+  color: $input-color;
+  background-color: $select-background;
+  border-radius: $select-radius;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+
+  @if $select-triangle-color != transparent {
+    @include background-triangle($select-triangle-color);
+    background-size: 9px 6px;
+    background-position: $global-right (-$form-spacing) center;
+    background-origin: content-box;
+    background-repeat: no-repeat;
+    padding-#{$global-right}: ($form-spacing * 1.5);
+  }
+
+  // Disabled state
+  &:disabled {
+    background-color: $input-background-disabled;
+    cursor: $input-cursor-disabled;
+  }
+
+  // Hide the dropdown arrow shown in newer IE versions
+  &::-ms-expand {
+    display: none;
+  }
+
+  &[multiple] {
+    height: auto;
+    background-image: none;
+  }
+}
+
+@mixin foundation-form-select {
+  select {
+    @include form-select;
+  }
+}
diff --git a/libraries/foundation-6/scss/forms/_text.scss b/libraries/foundation-6/scss/forms/_text.scss
new file mode 100755
index 00000000..a61db361
--- /dev/null
+++ b/libraries/foundation-6/scss/forms/_text.scss
@@ -0,0 +1,163 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group forms
+////
+
+/// Font color of text inputs.
+/// @type Color
+$input-color: $black !default;
+
+/// Font color of placeholder text within text inputs.
+/// @type Color
+$input-placeholder-color: $medium-gray !default;
+
+/// Font family of text inputs.
+/// @type Font
+$input-font-family: inherit !default;
+
+/// Font size of text inputs.
+/// @type Number
+$input-font-size: rem-calc(16) !default;
+
+/// Background color of text inputs.
+/// @type Color
+$input-background: $white !default;
+
+/// Background color of focused of text inputs.
+/// @type Color
+$input-background-focus: $white !default;
+
+/// Background color of disabled text inputs.
+/// @type Color
+$input-background-disabled: $light-gray !default;
+
+/// Border around text inputs.
+/// @type Border
+$input-border: 1px solid $medium-gray !default;
+
+/// Border around focused text inputs.
+/// @type Color
+$input-border-focus: 1px solid $dark-gray !default;
+
+/// Box shadow inside text inputs when not focused.
+/// @type Shadow
+$input-shadow: inset 0 1px 2px rgba($black, 0.1) !default;
+
+/// Box shadow outside text inputs when focused.
+/// @type Shadow
+$input-shadow-focus: 0 0 5px $medium-gray !default;
+
+/// Cursor to use when hovering over a disabled text input.
+/// @type Cursor
+$input-cursor-disabled: not-allowed !default;
+
+/// Properties to transition on text inputs.
+/// @type Transition
+$input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out !default;
+
+/// Enables the up/down buttons that Chrome and Firefox add to `<input type='number'>` elements.
+/// @type Boolean
+$input-number-spinners: true !default;
+
+/// Radius for text inputs.
+/// @type Border
+$input-radius: $global-radius !default;
+
+@mixin form-element {
+  $height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1));
+
+  display: block;
+  box-sizing: border-box;
+  width: 100%;
+  height: $height;
+  padding: $form-spacing / 2;
+  border: $input-border;
+  margin: 0 0 $form-spacing;
+
+  font-family: $input-font-family;
+  font-size: $input-font-size;
+  color: $input-color;
+  background-color: $input-background;
+  box-shadow: $input-shadow;
+  border-radius: $input-radius;
+
+  @if has-value($input-transition) {
+    transition: $input-transition;
+  }
+
+  // Focus state
+  &:focus {
+    border: $input-border-focus;
+    background-color: $input-background-focus;
+    outline: none;
+    box-shadow: $input-shadow-focus;
+
+    @if has-value($input-transition) {
+      transition: $input-transition;
+    }
+  }
+}
+
+@mixin foundation-form-text {
+  // Text inputs
+  #{text-inputs()},
+  textarea {
+    @include form-element;
+    -webkit-appearance: none;
+    -moz-appearance: none;
+  }
+
+  // Text areas
+  textarea {
+    max-width: 100%;
+
+    &[rows] {
+      height: auto;
+    }
+  }
+
+  input,
+  textarea {
+    // Placeholder text
+    &::placeholder {
+      color: $input-placeholder-color;
+    }
+
+    // Disabled/readonly state
+    &:disabled,
+    &[readonly] {
+      background-color: $input-background-disabled;
+      cursor: $input-cursor-disabled;
+    }
+  }
+
+  // Reset styles on button-like inputs
+  [type='submit'],
+  [type='button'] {
+    border-radius: $button-radius;
+    -webkit-appearance: none;
+    -moz-appearance: none;
+  }
+
+  // Reset Normalize setting content-box to search elements
+  // scss-lint:disable QualifyingElement
+  input[type='search'] {
+    box-sizing: border-box;
+  }
+
+  // Number input styles
+  [type='number'] {
+    @if not $input-number-spinners {
+      -moz-appearance: textfield;
+
+      [type='number']::-webkit-inner-spin-button,
+      [type='number']::-webkit-outer-spin-button {
+        -webkit-appearance: none;
+        margin: 0;
+      }
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/foundation.scss b/libraries/foundation-6/scss/foundation.scss
new file mode 100755
index 00000000..72128c11
--- /dev/null
+++ b/libraries/foundation-6/scss/foundation.scss
@@ -0,0 +1,102 @@
+/**
+ * Foundation for Sites by ZURB
+ * Version 6.2.3
+ * foundation.zurb.com
+ * Licensed under MIT Open Source
+ */
+
+// Sass utilities
+@import 'util/util';
+
+// Global variables and styles
+@import 'global';
+
+// Components
+@import 'grid/grid';
+@import 'typography/typography';
+@import 'forms/forms';
+@import 'components/visibility';
+@import 'components/float';
+@import 'components/button';
+@import 'components/button-group';
+@import 'components/accordion-menu';
+@import 'components/accordion';
+@import 'components/badge';
+@import 'components/breadcrumbs';
+@import 'components/callout';
+@import 'components/close-button';
+@import 'components/drilldown';
+@import 'components/dropdown-menu';
+@import 'components/dropdown';
+@import 'components/flex';
+@import 'components/flex-video';
+@import 'components/label';
+@import 'components/media-object';
+@import 'components/menu';
+@import 'components/menu-icon';
+@import 'components/off-canvas';
+@import 'components/orbit';
+@import 'components/pagination';
+@import 'components/progress-bar';
+@import 'components/reveal';
+@import 'components/slider';
+@import 'components/sticky';
+@import 'components/switch';
+@import 'components/table';
+@import 'components/tabs';
+@import 'components/title-bar';
+@import 'components/top-bar';
+@import 'components/thumbnail';
+@import 'components/tooltip';
+
+@mixin foundation-everything($flex: false) {
+  @if $flex {
+    $global-flexbox: true !global;
+  }
+
+  @include foundation-global-styles;
+  @if not $flex {
+    @include foundation-grid;
+  }
+  @else {
+    @include foundation-flex-grid;
+  }
+  @include foundation-typography;
+  @include foundation-forms;
+  @include foundation-button;
+  @include foundation-accordion;
+  @include foundation-accordion-menu;
+  @include foundation-badge;
+  @include foundation-breadcrumbs;
+  @include foundation-button-group;
+  @include foundation-callout;
+  @include foundation-close-button;
+  @include foundation-menu;
+  @include foundation-menu-icon;
+  @include foundation-drilldown-menu;
+  @include foundation-dropdown;
+  @include foundation-dropdown-menu;
+  @include foundation-flex-video;
+  @include foundation-label;
+  @include foundation-media-object;
+  @include foundation-off-canvas;
+  @include foundation-orbit;
+  @include foundation-pagination;
+  @include foundation-progress-bar;
+  @include foundation-slider;
+  @include foundation-sticky;
+  @include foundation-reveal;
+  @include foundation-switch;
+  @include foundation-table;
+  @include foundation-tabs;
+  @include foundation-thumbnail;
+  @include foundation-title-bar;
+  @include foundation-tooltip;
+  @include foundation-top-bar;
+  @include foundation-visibility-classes;
+  @include foundation-float-classes;
+
+  @if $flex {
+    @include foundation-flex-classes;
+  }
+}
diff --git a/libraries/foundation-6/scss/grid/_classes.scss b/libraries/foundation-6/scss/grid/_classes.scss
new file mode 100755
index 00000000..abbfd4aa
--- /dev/null
+++ b/libraries/foundation-6/scss/grid/_classes.scss
@@ -0,0 +1,151 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group grid
+////
+
+/// Outputs CSS classes for the grid.
+/// @access private
+@mixin foundation-grid(
+  $row: 'row',
+  $column: 'column',
+  $column-row: 'column-row',
+  $push: 'push',
+  $pull: 'pull',
+  $center: 'centered',
+  $uncenter: 'uncentered',
+  $collapse: 'collapse',
+  $uncollapse: 'uncollapse',
+  $offset: 'offset',
+  $end: 'end',
+  $expanded: 'expanded'
+) {
+  // Row
+  .#{$row} {
+    @include grid-row;
+
+    // Collapsing
+    &.#{$collapse} {
+      > .#{$column} {
+        @include grid-col-collapse;
+      }
+    }
+
+    // Nesting
+    & & {
+      @include grid-row-nest($grid-column-gutter);
+
+      &.#{$collapse} {
+        margin-left: 0;
+        margin-right: 0;
+      }
+    }
+
+    // Expanded (full-width) row
+    &.#{$expanded} {
+      max-width: none;
+
+      .#{$row} {
+        margin-left: auto;
+        margin-right: auto;
+      }
+    }
+  }
+
+  // Column
+  .#{$column} {
+    @include grid-col;
+
+    @if $grid-column-align-edge {
+      &.#{$end} {
+        @include grid-col-end;
+      }
+    }
+  }
+
+  // Column row
+  // The double .row class is needed to bump up the specificity
+  .#{$column}.#{$row}.#{$row} {
+    float: none;
+
+    // To properly nest a column row, padding and margin is removed
+    .#{$row} & {
+      padding-left: 0;
+      padding-right: 0;
+      margin-left: 0;
+      margin-right: 0;
+    }
+  }
+
+  @include -zf-each-breakpoint {
+    @for $i from 1 through $grid-column-count {
+      // Column width
+      .#{$-zf-size}-#{$i} {
+        @include grid-col-size($i);
+      }
+
+      // Source ordering
+      @if $i < $grid-column-count {
+        .#{$-zf-size}-#{$push}-#{$i} {
+          @include grid-col-pos($i);
+        }
+
+        .#{$-zf-size}-#{$pull}-#{$i} {
+          @include grid-col-pos(-$i);
+        }
+      }
+
+      // Offsets
+      $o: $i - 1;
+
+      .#{$-zf-size}-#{$offset}-#{$o} {
+        @include grid-col-off($o);
+      }
+    }
+
+    // Block grid
+    @for $i from 1 through $block-grid-max {
+      .#{$-zf-size}-up-#{$i} {
+        @include grid-layout($i, ".#{$column}");
+      }
+    }
+
+    // Responsive collapsing
+    .#{$-zf-size}-#{$collapse} {
+      > .#{$column} { @include grid-col-collapse; }
+
+      .#{$row},
+      .#{$expanded}.#{$row} &.#{$row} {
+        margin-left: 0;
+        margin-right: 0;
+      }
+    }
+
+    .#{$-zf-size}-#{$uncollapse} {
+      $gutter: -zf-get-bp-val($grid-column-gutter, $-zf-size);
+
+      > .#{$column} { @include grid-col-uncollapse($gutter); }
+    }
+
+    // Positioning
+    .#{$-zf-size}-#{$center} {
+      @include grid-col-pos(center);
+    }
+
+    // Gutter adjustment
+    .#{$-zf-size}-#{$uncenter},
+    .#{$-zf-size}-#{$push}-0,
+    .#{$-zf-size}-#{$pull}-0 {
+      @include grid-col-unpos;
+    }
+  }
+
+  @if $column == 'column' {
+    .columns {
+      // scss-lint:disable PlaceholderInExtend
+      @extend .column;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/grid/_column.scss b/libraries/foundation-6/scss/grid/_column.scss
new file mode 100755
index 00000000..a128cd8a
--- /dev/null
+++ b/libraries/foundation-6/scss/grid/_column.scss
@@ -0,0 +1,126 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group grid
+////
+
+/// Calculates the width of a column based on a number of factors.
+///
+/// @param {Number|List} $columns
+///   Width of the column. Accepts multiple values:
+///   - A percentage value will make the column that exact size.
+///   - A single digit will make the column span that number of columns wide, taking into account the column count of the parent row.
+///   - A string of the format "x of y" will make a column that is *x* columns wide, assuming *y* total columns for the parent.
+///
+/// @returns {Number} A calculated percentage value.
+@function grid-column($columns) {
+  $width: 0%;
+
+  // Parsing percents, decimals, and column counts
+  @if type-of($columns) == 'number' {
+    @if unit($columns) == '%' {
+      $width: $columns;
+    }
+    @else if $columns < 1 {
+      $width: percentage($columns);
+    }
+    @else {
+      $width: percentage($columns / $grid-column-count);
+    }
+  }
+
+  // Parsing "n of n" expressions
+  @else if type-of($columns) == 'list' {
+    @if length($columns) != 3 {
+      @error 'Wrong syntax for grid-column(). Use the format "n of n".';
+    }
+    @else {
+      $width: percentage(nth($columns, 1) / nth($columns, 3));
+    }
+  }
+
+  // Anything else is incorrect
+  @else {
+    @error 'Wrong syntax for grid-column(). Use a number, decimal, percentage, or "n of n".';
+  }
+
+  @return $width;
+}
+
+/// Creates a grid column.
+///
+/// @param {Mixed} $columns [$grid-column-count] - Width of the column. Refer to the `grid-column()` function to see possible values.
+/// @param {Number} $gutter [$grid-column-gutter] - Spacing between columns.
+@mixin grid-column(
+  $columns: $grid-column-count,
+  $gutter: $grid-column-gutter
+) {
+  @include grid-column-size($columns);
+  float: $global-left;
+
+  // Gutters
+  @if type-of($gutter) == 'map' {
+    @each $breakpoint, $value in $gutter {
+      $padding: rem-calc($value) / 2;
+
+      @include breakpoint($breakpoint) {
+        padding-left: $padding;
+        padding-right: $padding;
+      }
+    }
+  }
+  @else if type-of($gutter) == 'number' and strip-unit($gutter) > 0 {
+    $padding: rem-calc($gutter) / 2;
+    padding-left: $padding;
+    padding-right: $padding;
+  }
+
+  // Last column alignment
+  @if $grid-column-align-edge {
+    &:last-child:not(:first-child) {
+      float: $global-right;
+    }
+  }
+}
+
+/// Creates a grid column row. This is the equivalent of adding `.row` and `.column` to the same element.
+///
+/// @param {Number} $gutter [$grid-column-gutter] - Width of the gutters on either side of the column row.
+@mixin grid-column-row(
+  $gutter: $grid-column-gutter
+) {
+  @include grid-row;
+  @include grid-column($gutter: $gutter);
+
+  &,
+  &:last-child {
+    float: none;
+  }
+}
+
+/// Shorthand for `grid-column()`.
+/// @alias grid-column
+@function grid-col(
+  $columns: $grid-column-count
+) {
+  @return grid-column($columns);
+}
+
+/// Shorthand for `grid-column()`.
+/// @alias grid-column
+@mixin grid-col(
+  $columns: $grid-column-count,
+  $gutter: $grid-column-gutter
+) {
+  @include grid-column($columns, $gutter);
+}
+
+/// Shorthand for `grid-column-row()`.
+/// @alias grid-column-row
+@mixin grid-col-row(
+  $gutter: $grid-column-gutter
+) {
+  @include grid-column-row($gutter);
+}
diff --git a/libraries/foundation-6/scss/grid/_flex-grid.scss b/libraries/foundation-6/scss/grid/_flex-grid.scss
new file mode 100755
index 00000000..d8f33a64
--- /dev/null
+++ b/libraries/foundation-6/scss/grid/_flex-grid.scss
@@ -0,0 +1,280 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group flex-grid
+////
+
+/// Creates a container for a flex grid row.
+///
+/// @param {Keyword|List} $behavior [null]
+///   Modifications to the default grid styles. `nest` indicates the row will be placed inside another row. `collapse` indicates that the columns inside this row will not have padding. `nest collapse` combines both behaviors.
+/// @param {Number} $width [$grid-row-width] - Maximum width of the row.
+/// @param {Number} $columns [null] - Number of columns to use for this row. If set to `null` (the default), the global column count will be used.
+/// @param {Boolean} $base [true] - Set to `false` to prevent basic styles from being output. Useful if you're calling this mixin on the same element twice, as it prevents duplicate CSS output.
+/// @param {Number} $gutter [$grid-column-gutter] - Gutter to use when inverting margins, in case the row is nested.
+@mixin flex-grid-row(
+  $behavior: null,
+  $width: $grid-row-width,
+  $columns: null,
+  $base: true,
+  $gutter: $grid-column-gutter
+) {
+  $margin: auto;
+
+  @if index($behavior, nest) != null {
+    @include grid-row-nest($gutter);
+
+    @if index($behavior, collapse) != null {
+      margin-left: 0;
+      margin-right: 0;
+    }
+  }
+  @else {
+    max-width: $width;
+    margin-left: auto;
+    margin-right: auto;
+  }
+
+  @if $base {
+    display: flex;
+    flex-flow: row wrap;
+  }
+
+  @if $columns != null {
+    @include grid-context($columns, $base) {
+      @content;
+    }
+  }
+}
+
+/// Calculates the `flex` property for a flex grid column. It accepts all of the same values as the basic `grid-column()` function, along with two extras:
+///   - `null` (the default) will make the column expand to fill space.
+///   - `shrink` will make the column contract, so it only takes up the horizontal space it needs.
+///
+/// @param {Mixed} $columns [null] - Width of the column.
+@function flex-grid-column($columns: null) {
+  // scss-lint:disable ZeroUnit
+  $flex: 1 1 0px;
+
+  @if $columns == shrink {
+    $flex: 0 0 auto;
+  }
+  @else if $columns != null {
+    $flex: 0 0 grid-column($columns);
+  }
+
+  @return $flex;
+}
+
+/// Creates a column for a flex grid. By default, the column will stretch to the full width of its container, but this can be overridden with sizing classes, or by using the `unstack` class on the parent flex row.
+///
+/// @param {Mixed} $columns [null] - Width of the column. Refer to the `flex-grid-column()` function to see possible values.
+/// @param {Number} $gutter [$grid-column-gutter] - Space between columns, added as a left and right padding.
+@mixin flex-grid-column(
+  $columns: null,
+  $gutter: $grid-column-gutter
+) {
+  // Base properties
+  flex: flex-grid-column($columns);
+
+  // Gutters
+  @if type-of($gutter) == 'map' {
+    @each $breakpoint, $value in $gutter {
+      $padding: rem-calc($value) / 2;
+
+      @include breakpoint($breakpoint) {
+        padding-left: $padding;
+        padding-right: $padding;
+      }
+    }
+  }
+  @else if type-of($gutter) == 'number' and strip-unit($gutter) > 0 {
+    $padding: rem-calc($gutter) / 2;
+    padding-left: $padding;
+    padding-right: $padding;
+  }
+
+  // fixes recent Chrome version not limiting child width
+  // https://stackoverflow.com/questions/34934586/white-space-nowrap-and-flexbox-did-not-work-in-chrome
+  @if $columns == null {
+    min-width: initial;
+  }
+  // max-width fixes IE 10/11 not respecting the flex-basis property
+  @if $columns != null and $columns != shrink {
+    max-width: grid-column($columns);
+  }
+}
+
+/// Creates a block grid for a flex grid row.
+///
+/// @param {Number} $n - Number of columns to display on each row.
+/// @param {String} $selector - Selector to use to target columns within the row.
+@mixin flex-grid-layout(
+  $n,
+  $selector: '.column'
+) {
+  flex-wrap: wrap;
+
+  > #{$selector} {
+    $pct: percentage(1/$n);
+
+    flex: 0 0 $pct;
+    max-width: $pct;
+  }
+}
+
+/// Changes the source order of a flex grid column. Columns with lower numbers appear first in the layout.
+/// @param {Number} $order [0] - Order number to apply.
+@mixin flex-grid-order($order: 0) {
+  @warn 'This mixin is being replaced by flex-order(). flex-grid-order() will be removed in Foundation 6.3.';
+  @include flex-order($order);
+}
+
+/// Horizontally or vertically aligns the columns within a flex row. Apply this mixin to a flex row.
+///
+/// @param {Keyword} $x [null] - Horizontal alignment to use. Can be `left`, `right`, `center`, `justify`, or `spaced`. Or, set it to `null` (the default) to not set horizontal alignment.
+/// @param {Keyword} $y [null] - Vertical alignment to use. Can be `top`, `bottom`, `middle`, or `stretch`. Or, set it to `null` (the default) to not set vertical alignment.
+@mixin flex-grid-row-align($x: null, $y: null) {
+  @warn 'This mixin is being replaced by flex-align(). flex-grid-row-align() will be removed in Foundation 6.3.';
+  @include flex-align($x, $y);
+}
+
+/// Vertically align a single column within a flex row. Apply this mixin to a flex column.
+///
+/// @param {Keyword} $y [null] - Vertical alignment to use. Can be `top`, `bottom`, `middle`, or `stretch`. Or, set it to `null` (the default) to not set vertical alignment.
+@mixin flex-grid-column-align($y: null) {
+  @warn 'This mixin is being replaced by flex-align-self(). flex-grid-column-align() will be removed in Foundation 6.3.';
+  @include flex-align-self($y);
+}
+
+@mixin foundation-flex-grid {
+  // Row
+  .row {
+    @include flex-grid-row;
+
+    // Nesting behavior
+    & & {
+      @include flex-grid-row(nest, $base: false);
+    }
+
+    // Expanded row
+    &.expanded {
+      max-width: none;
+    }
+
+    &.collapse {
+      > .column {
+        @include grid-col-collapse;
+        > .row {
+          margin-left: 0;
+          margin-right: 0;
+        }
+      }
+    }
+  }
+
+  // Column
+  .column {
+    @include flex-grid-column;
+  }
+
+  // Column row
+  // The double .row class is needed to bump up the specificity
+  .column.row.row {
+    float: none;
+    display: block;
+
+    // To properly nest a column row, padding and margin is removed
+    .row & {
+      padding-left: 0;
+      padding-right: 0;
+      margin-left: 0;
+      margin-right: 0;
+    }
+  }
+
+  @include -zf-each-breakpoint {
+    @for $i from 1 through $grid-column-count {
+      // Sizing (percentage)
+      .#{$-zf-size}-#{$i} {
+        flex: flex-grid-column($i);
+        max-width: grid-column($i);
+      }
+
+      // Offsets
+      $o: $i - 1;
+
+      .#{$-zf-size}-offset-#{$o} {
+        @include grid-column-offset($o);
+      }
+    }
+
+    // Source ordering
+    @for $i from 1 through 6 {
+      .#{$-zf-size}-order-#{$i} {
+        @include flex-order($i);
+      }
+    }
+
+    // Block grid
+    @for $i from 1 through $block-grid-max {
+      .#{$-zf-size}-up-#{$i} {
+        @include flex-grid-layout($i);
+      }
+    }
+
+    @if $-zf-size != $-zf-zero-breakpoint {
+      // Sizing (expand)
+      @include breakpoint($-zf-size) {
+        .#{$-zf-size}-expand {
+          flex: flex-grid-column();
+        }
+      }
+
+      // Auto-stacking/unstacking
+      @at-root (without: media) {
+        .row.#{$-zf-size}-unstack {
+          > .column {
+            flex: flex-grid-column(100%);
+
+            @include breakpoint($-zf-size) {
+              flex: flex-grid-column();
+            }
+          }
+        }
+      }
+    }
+
+    // Responsive collapsing
+    .#{$-zf-size}-collapse {
+      > .column { @include grid-col-collapse; }
+    }
+
+    .#{$-zf-size}-uncollapse {
+      $gutter: -zf-get-bp-val($grid-column-gutter, $-zf-size);
+
+      > .column { @include grid-col-uncollapse($gutter); }
+    }
+  }
+
+  // Sizing (shrink)
+  .shrink {
+    flex: flex-grid-column(shrink);
+    max-width: 100%;
+  }
+
+  // Vertical alignment using align-items and align-self
+  // Remove these in 6.3
+  @each $vdir, $prop in $-zf-flex-align {
+    .column.align-#{$vdir} {
+      @include flex-align-self($vdir);
+    }
+  }
+
+  .columns {
+    // scss-lint:disable PlaceholderInExtend
+    @extend .column;
+  }
+}
diff --git a/libraries/foundation-6/scss/grid/_grid.scss b/libraries/foundation-6/scss/grid/_grid.scss
new file mode 100755
index 00000000..0a8d879c
--- /dev/null
+++ b/libraries/foundation-6/scss/grid/_grid.scss
@@ -0,0 +1,60 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group grid
+////
+
+/// The maximum width of a row.
+/// @type Number
+$grid-row-width: $global-width !default;
+
+/// The default column count of a grid. Changing this value affects the logic of the grid mixins, and the number of CSS classes output.
+/// @type Number
+$grid-column-count: 12 !default;
+
+/// The amount of space between columns at different screen sizes. To use just one size, set the variable to a number instead of a map.
+/// @type Map | Length
+/// @since 6.1.0
+$grid-column-gutter: (
+  small: 20px,
+  medium: 30px,
+) !default;
+
+/// If `true`, the last column in a row will align to the opposite edge of the row.
+/// @type Boolean
+$grid-column-align-edge: true !default;
+
+/// The highest number of `.x-up` classes available when using the block grid CSS.
+/// @type Number
+$block-grid-max: 8 !default;
+
+// Internal value to store the end column float direction
+$-zf-end-float: if($grid-column-align-edge, $global-right, $global-left);
+
+// The last piece to transition the responsive gutter feature
+// Remove this in 6.3
+$grid-column-responsive-gutter: null !default;
+@if $grid-column-responsive-gutter {
+  // scss-lint:disable DebugStatement
+  @warn 'Rename $grid-column-responsive-gutter to $grid-column-gutter to remove this warning.';
+  $grid-column-gutter: $grid-column-responsive-gutter;
+}
+
+// If a single value is passed as a gutter, convert it to a map so the code knows what to do with it
+@if type-of($grid-column-gutter) == 'number' {
+  $grid-column-gutter: (
+    small: $grid-column-gutter,
+  );
+}
+
+@import 'row';
+@import 'column';
+@import 'size';
+@import 'position';
+@import 'gutter';
+@import 'classes';
+@import 'layout';
+
+@import 'flex-grid';
diff --git a/libraries/foundation-6/scss/grid/_gutter.scss b/libraries/foundation-6/scss/grid/_gutter.scss
new file mode 100755
index 00000000..5897eb55
--- /dev/null
+++ b/libraries/foundation-6/scss/grid/_gutter.scss
@@ -0,0 +1,34 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group grid
+////
+
+/// Collapse the gutters on a column by removing the padding. **Note:** only use this mixin within a breakpoint. To collapse a column's gutters on all screen sizes, use the `$gutter` parameter of the `grid-column()` mixin instead.
+@mixin grid-column-collapse {
+  padding-left: 0;
+  padding-right: 0;
+}
+
+/// Un-collapse the gutters on a column by re-adding the padding.
+///
+/// @param {Number} $gutter [$grid-column-gutter] - Spacing between columns.
+@mixin grid-column-uncollapse($gutter: $grid-column-gutter) {
+  $gutter: rem-calc($gutter) / 2;
+  padding-left: $gutter;
+  padding-right: $gutter;
+}
+
+/// Shorthand for `grid-column-collapse()`.
+/// @alias grid-column-collapse
+@mixin grid-col-collapse {
+  @include grid-column-collapse;
+}
+
+/// Shorthand for `grid-column-uncollapse()`.
+/// @alias grid-column-uncollapse
+@mixin grid-col-uncollapse($gutter: $grid-column-gutter) {
+  @include grid-column-uncollapse($gutter);
+}
diff --git a/libraries/foundation-6/scss/grid/_layout.scss b/libraries/foundation-6/scss/grid/_layout.scss
new file mode 100755
index 00000000..9f5da07c
--- /dev/null
+++ b/libraries/foundation-6/scss/grid/_layout.scss
@@ -0,0 +1,51 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group grid
+////
+
+/// Sizes child elements so that `$n` number of items appear on each row.
+///
+/// @param {Number} $n - Number of elements to display per row.
+/// @param {String} $selector ['.column'] - Selector(s) to use for child elements.
+@mixin grid-layout(
+  $n,
+  $selector: '.column'
+) {
+  & > #{$selector} {
+    width: percentage(1/$n);
+    float: $global-left;
+
+    &:nth-of-type(1n) {
+      clear: none;
+    }
+
+    &:nth-of-type(#{$n}n+1) {
+      clear: both;
+    }
+
+    &:last-child {
+      float: left;
+    }
+  }
+}
+
+/// Adds extra CSS to block grid children so the last items in the row center automatically. Apply this to the columns, not the row.
+///
+/// @param {Number} $n - Number of items that appear in each row.
+@mixin grid-layout-center-last($n) {
+  @for $i from 1 to $n {
+    @if $i == 1 {
+      &:nth-child(#{$n}n+1):last-child {
+        margin-left: (100 - 100/$n * $i) / 2 * 1%;
+      }
+    }
+    @else {
+      &:nth-child(#{$n}n+1):nth-last-child(#{$i}) {
+        margin-left: (100 - 100/$n * $i) / 2 * 1%;
+      }
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/grid/_position.scss b/libraries/foundation-6/scss/grid/_position.scss
new file mode 100755
index 00000000..4d1bea5d
--- /dev/null
+++ b/libraries/foundation-6/scss/grid/_position.scss
@@ -0,0 +1,73 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group grid
+////
+
+/// Reposition a column.
+///
+/// @param {Number|Keyword} $position - Direction and amount to move. The column will move equal to the width of the column count specified. A positive number will push the column to the right, while a negative number will pull it to the left. Set to center to center the column.
+@mixin grid-column-position($position) {
+  @if type-of($position) == 'number' {
+    $offset: percentage($position / $grid-column-count);
+
+    position: relative;
+    #{$global-left}: $offset;
+  }
+  @else if $position == center {
+    float: none;
+    margin-left: auto;
+    margin-right: auto;
+  }
+  @else {
+    @warn 'Wrong syntax for grid-column-position(). Enter a positive or negative number, or center.';
+  }
+}
+
+/// Reset a position definition.
+@mixin grid-column-unposition {
+  position: static;
+  margin-left: 0;
+  margin-right: 0;
+  float: left;
+}
+
+/// Offsets a column to the right by `$n` columns.
+/// @param {Number|List} $n - Width to offset by. You can pass in any value accepted by the `grid-column()` mixin, such as `6`, `50%`, or `1 of 2`.
+@mixin grid-column-offset($n) {
+  margin-#{$global-left}: grid-column($n);
+}
+
+/// Disable the default behavior of the last column in a row aligning to the opposite edge.
+@mixin grid-column-end {
+  // This extra specificity is required for the property to be applied
+  &:last-child:last-child {
+    float: $global-left;
+  }
+}
+
+/// Shorthand for `grid-column-position()`.
+/// @alias grid-column-position
+@mixin grid-col-pos($position) {
+  @include grid-column-position($position);
+}
+
+/// Shorthand for `grid-column-unposition()`.
+/// @alias grid-column-unposition
+@mixin grid-col-unpos {
+  @include grid-column-unposition;
+}
+
+/// Shorthand for `grid-column-offset()`.
+/// @alias grid-column-offset
+@mixin grid-col-off($n) {
+  @include grid-column-offset($n);
+}
+
+/// Shorthand for `grid-column-end()`.
+/// @alias grid-column-end
+@mixin grid-col-end {
+  @include grid-column-end;
+}
diff --git a/libraries/foundation-6/scss/grid/_row.scss b/libraries/foundation-6/scss/grid/_row.scss
new file mode 100755
index 00000000..9cd14883
--- /dev/null
+++ b/libraries/foundation-6/scss/grid/_row.scss
@@ -0,0 +1,95 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group grid
+////
+
+/// Change the behavior of columns defined inside this mixin to use a different column count.
+/// @content
+///
+/// @param {Number} $columns - Number of columns to use.
+/// @param {Boolean} $root [false]
+///   If `false`, selectors inside this mixin will nest inside the parent selector.
+///   If `true`, selectors will not nest.
+@mixin grid-context(
+  $columns,
+  $root: false
+) {
+  // Store the current column count so it can be re-set later
+  $old-grid-column-count: $grid-column-count;
+  $grid-column-count: $columns !global;
+
+  @if $root {
+    @at-root { @content; }
+  }
+  @else {
+    @content;
+  }
+
+  // Restore the old column count
+  $grid-column-count: $old-grid-column-count;
+}
+
+/// Creates a grid row.
+/// @content
+///
+/// @param {Number} $columns [null] - Column count for this row. `null` will use the default column count.
+/// @param {Keywords} $behavior [null]
+///   Modifications to the default grid styles. `nest` indicates the row will be placed inside another row. `collapse` indicates that the columns inside this row will not have padding. `nest collapse` combines both behaviors.
+/// @param {Number} $width [$grid-row-width] - Maximum width of the row.
+/// @param {Boolean} $cf [true] - Whether or not to include a clearfix.
+/// @param {Number} $gutter [$grid-column-gutter] - Gutter to use when inverting margins, in case the row is nested.
+@mixin grid-row(
+  $columns: null,
+  $behavior: null,
+  $width: $grid-row-width,
+  $cf: true,
+  $gutter: $grid-column-gutter
+) {
+  $margin: auto;
+
+  @if index($behavior, nest) != null {
+    @include grid-row-nest($gutter);
+
+    @if index($behavior, collapse) != null {
+      margin-left: 0;
+      margin-right: 0;
+    }
+  }
+  @else {
+    max-width: $width;
+    margin-left: auto;
+    margin-right: auto;
+  }
+
+  @if $cf {
+    @include clearfix;
+  }
+
+  @if $columns != null {
+    @include grid-context($columns) {
+      @content;
+    }
+  }
+}
+
+/// Inverts the margins of a row to nest it inside of a column.
+///
+/// @param {Map|null} $gutter [null] - Gutter value to use when inverting the margins. Set to `null` to refer to the responsive gutter settings.
+@mixin grid-row-nest($gutter: $grid-column-gutter) {
+  @if type-of($gutter) == 'number' {
+    $gutter: ($-zf-zero-breakpoint: $gutter);
+  }
+  max-width: none;
+
+  @each $breakpoint, $value in $gutter {
+    $margin: rem-calc($value) / 2 * -1;
+
+    @include breakpoint($breakpoint) {
+      margin-left: $margin;
+      margin-right: $margin;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/grid/_size.scss b/libraries/foundation-6/scss/grid/_size.scss
new file mode 100755
index 00000000..c01c8cab
--- /dev/null
+++ b/libraries/foundation-6/scss/grid/_size.scss
@@ -0,0 +1,24 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group grid
+////
+
+/// Set the width of a grid column.
+///
+/// @param {Number|List} $width [$grid-column-count] - Width to make the column. You can pass in any value accepted by the `grid-column()` function, such as `6`, `50%`, or `1 of 2`.
+@mixin grid-column-size(
+  $columns: $grid-column-count
+) {
+  width: grid-column($columns);
+}
+
+/// Shorthand for `grid-column-size()`.
+/// @alias grid-column-size
+@mixin grid-col-size(
+  $columns: $grid-column-count
+) {
+  @include grid-column-size($columns);
+}
diff --git a/libraries/foundation-6/scss/settings/_settings.scss b/libraries/foundation-6/scss/settings/_settings.scss
new file mode 100755
index 00000000..af51ab2b
--- /dev/null
+++ b/libraries/foundation-6/scss/settings/_settings.scss
@@ -0,0 +1,568 @@
+//  Foundation for Sites Settings
+//  -----------------------------
+//
+//  Table of Contents:
+//
+//   1. Global
+//   2. Breakpoints
+//   3. The Grid
+//   4. Base Typography
+//   5. Typography Helpers
+//   6. Abide
+//   7. Accordion
+//   8. Accordion Menu
+//   9. Badge
+//  10. Breadcrumbs
+//  11. Button
+//  12. Button Group
+//  13. Callout
+//  14. Close Button
+//  15. Drilldown
+//  16. Dropdown
+//  17. Dropdown Menu
+//  18. Flex Video
+//  19. Forms
+//  20. Label
+//  21. Media Object
+//  22. Menu
+//  23. Meter
+//  24. Off-canvas
+//  25. Orbit
+//  26. Pagination
+//  27. Progress Bar
+//  28. Reveal
+//  29. Slider
+//  30. Switch
+//  31. Table
+//  32. Tabs
+//  33. Thumbnail
+//  34. Title Bar
+//  35. Tooltip
+//  36. Top Bar
+
+@import 'util/util';
+
+// 1. Global
+// ---------
+
+$global-font-size: 100%;
+$global-width: rem-calc(1200);
+$global-lineheight: 1.5;
+$foundation-palette: (
+  primary: #2199e8,
+  secondary: #777,
+  success: #3adb76,
+  warning: #ffae00,
+  alert: #ec5840,
+);
+$light-gray: #e6e6e6;
+$medium-gray: #cacaca;
+$dark-gray: #8a8a8a;
+$black: #0a0a0a;
+$white: #fefefe;
+$body-background: $white;
+$body-font-color: $black;
+$body-font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
+$body-antialiased: true;
+$global-margin: 1rem;
+$global-padding: 1rem;
+$global-weight-normal: normal;
+$global-weight-bold: bold;
+$global-radius: 0;
+$global-text-direction: ltr;
+$global-flexbox: false;
+$print-transparent-backgrounds: true;
+
+@include add-foundation-colors;
+
+// 2. Breakpoints
+// --------------
+
+$breakpoints: (
+  small: 0,
+  medium: 640px,
+  large: 1024px,
+  xlarge: 1200px,
+  xxlarge: 1440px,
+);
+$breakpoint-classes: (small medium large);
+
+// 3. The Grid
+// -----------
+
+$grid-row-width: $global-width;
+$grid-column-count: 12;
+$grid-column-gutter: (
+  small: 20px,
+  medium: 30px,
+);
+$grid-column-align-edge: true;
+$block-grid-max: 8;
+
+// 4. Base Typography
+// ------------------
+
+$header-font-family: $body-font-family;
+$header-font-weight: $global-weight-normal;
+$header-font-style: normal;
+$font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace;
+$header-sizes: (
+  small: (
+    'h1': 24,
+    'h2': 20,
+    'h3': 19,
+    'h4': 18,
+    'h5': 17,
+    'h6': 16,
+  ),
+  medium: (
+    'h1': 48,
+    'h2': 40,
+    'h3': 31,
+    'h4': 25,
+    'h5': 20,
+    'h6': 16,
+  ),
+);
+$header-color: inherit;
+$header-lineheight: 1.4;
+$header-margin-bottom: 0.5rem;
+$header-text-rendering: optimizeLegibility;
+$small-font-size: 80%;
+$header-small-font-color: $medium-gray;
+$paragraph-lineheight: 1.6;
+$paragraph-margin-bottom: 1rem;
+$paragraph-text-rendering: optimizeLegibility;
+$code-color: $black;
+$code-font-family: $font-family-monospace;
+$code-font-weight: $global-weight-normal;
+$code-background: $light-gray;
+$code-border: 1px solid $medium-gray;
+$code-padding: rem-calc(2 5 1);
+$anchor-color: $primary-color;
+$anchor-color-hover: scale-color($anchor-color, $lightness: -14%);
+$anchor-text-decoration: none;
+$anchor-text-decoration-hover: none;
+$hr-width: $global-width;
+$hr-border: 1px solid $medium-gray;
+$hr-margin: rem-calc(20) auto;
+$list-lineheight: $paragraph-lineheight;
+$list-margin-bottom: $paragraph-margin-bottom;
+$list-style-type: disc;
+$list-style-position: outside;
+$list-side-margin: 1.25rem;
+$list-nested-side-margin: 1.25rem;
+$defnlist-margin-bottom: 1rem;
+$defnlist-term-weight: $global-weight-bold;
+$defnlist-term-margin-bottom: 0.3rem;
+$blockquote-color: $dark-gray;
+$blockquote-padding: rem-calc(9 20 0 19);
+$blockquote-border: 1px solid $medium-gray;
+$cite-font-size: rem-calc(13);
+$cite-color: $dark-gray;
+$keystroke-font: $font-family-monospace;
+$keystroke-color: $black;
+$keystroke-background: $light-gray;
+$keystroke-padding: rem-calc(2 4 0);
+$keystroke-radius: $global-radius;
+$abbr-underline: 1px dotted $black;
+
+// 5. Typography Helpers
+// ---------------------
+
+$lead-font-size: $global-font-size * 1.25;
+$lead-lineheight: 1.6;
+$subheader-lineheight: 1.4;
+$subheader-color: $dark-gray;
+$subheader-font-weight: $global-weight-normal;
+$subheader-margin-top: 0.2rem;
+$subheader-margin-bottom: 0.5rem;
+$stat-font-size: 2.5rem;
+
+// 6. Abide
+// --------
+
+$abide-inputs: true;
+$abide-labels: true;
+$input-background-invalid: map-get($foundation-palette, alert);
+$form-label-color-invalid: map-get($foundation-palette, alert);
+$input-error-color: map-get($foundation-palette, alert);
+$input-error-font-size: rem-calc(12);
+$input-error-font-weight: $global-weight-bold;
+
+// 7. Accordion
+// ------------
+
+$accordion-background: $white;
+$accordion-plusminus: true;
+$accordion-item-color: foreground($accordion-background, $primary-color);
+$accordion-item-background-hover: $light-gray;
+$accordion-item-padding: 1.25rem 1rem;
+$accordion-content-background: $white;
+$accordion-content-border: 1px solid $light-gray;
+$accordion-content-color: foreground($accordion-content-background, $body-font-color);
+$accordion-content-padding: 1rem;
+
+// 8. Accordion Menu
+// -----------------
+
+$accordionmenu-arrows: true;
+$accordionmenu-arrow-color: $primary-color;
+
+// 9. Badge
+// --------
+
+$badge-background: $primary-color;
+$badge-color: foreground($badge-background);
+$badge-padding: 0.3em;
+$badge-minwidth: 2.1em;
+$badge-font-size: 0.6rem;
+
+// 10. Breadcrumbs
+// ---------------
+
+$breadcrumbs-margin: 0 0 $global-margin 0;
+$breadcrumbs-item-font-size: rem-calc(11);
+$breadcrumbs-item-color: $primary-color;
+$breadcrumbs-item-color-current: $black;
+$breadcrumbs-item-color-disabled: $medium-gray;
+$breadcrumbs-item-margin: 0.75rem;
+$breadcrumbs-item-uppercase: true;
+$breadcrumbs-item-slash: true;
+
+// 11. Button
+// ----------
+
+$button-padding: 0.85em 1em;
+$button-margin: 0 0 $global-margin 0;
+$button-fill: solid;
+$button-background: $primary-color;
+$button-background-hover: scale-color($button-background, $lightness: -15%);
+$button-color: $white;
+$button-color-alt: $black;
+$button-radius: $global-radius;
+$button-sizes: (
+  tiny: 0.6rem,
+  small: 0.75rem,
+  default: 0.9rem,
+  large: 1.25rem,
+);
+$button-opacity-disabled: 0.25;
+
+// 12. Button Group
+// ----------------
+
+$buttongroup-margin: 1rem;
+$buttongroup-spacing: 1px;
+$buttongroup-child-selector: '.button';
+$buttongroup-expand-max: 6;
+
+// 13. Callout
+// -----------
+
+$callout-background: $white;
+$callout-background-fade: 85%;
+$callout-border: 1px solid rgba($black, 0.25);
+$callout-margin: 0 0 1rem 0;
+$callout-padding: 1rem;
+$callout-font-color: $body-font-color;
+$callout-font-color-alt: $body-background;
+$callout-radius: $global-radius;
+$callout-link-tint: 30%;
+
+// 14. Close Button
+// ----------------
+
+$closebutton-position: right top;
+$closebutton-offset-horizontal: 1rem;
+$closebutton-offset-vertical: 0.5rem;
+$closebutton-size: 2em;
+$closebutton-lineheight: 1;
+$closebutton-color: $dark-gray;
+$closebutton-color-hover: $black;
+
+// 15. Drilldown
+// -------------
+
+$drilldown-transition: transform 0.15s linear;
+$drilldown-arrows: true;
+$drilldown-arrow-color: $primary-color;
+$drilldown-background: $white;
+
+// 16. Dropdown
+// ------------
+
+$dropdown-padding: 1rem;
+$dropdown-border: 1px solid $medium-gray;
+$dropdown-font-size: 1rem;
+$dropdown-width: 300px;
+$dropdown-radius: $global-radius;
+$dropdown-sizes: (
+  tiny: 100px,
+  small: 200px,
+  large: 400px,
+);
+
+// 17. Dropdown Menu
+// -----------------
+
+$dropdownmenu-arrows: true;
+$dropdownmenu-arrow-color: $anchor-color;
+$dropdownmenu-min-width: 200px;
+$dropdownmenu-background: $white;
+$dropdownmenu-border: 1px solid $medium-gray;
+
+// 18. Flex Video
+// --------------
+
+$flexvideo-margin-bottom: rem-calc(16);
+$flexvideo-ratio: 4 by 3;
+$flexvideo-ratio-widescreen: 16 by 9;
+
+// 19. Forms
+// ---------
+
+$fieldset-border: 1px solid $medium-gray;
+$fieldset-padding: rem-calc(20);
+$fieldset-margin: rem-calc(18 0);
+$legend-padding: rem-calc(0 3);
+$form-spacing: rem-calc(16);
+$helptext-color: $black;
+$helptext-font-size: rem-calc(13);
+$helptext-font-style: italic;
+$input-prefix-color: $black;
+$input-prefix-background: $light-gray;
+$input-prefix-border: 1px solid $medium-gray;
+$input-prefix-padding: 1rem;
+$form-label-color: $black;
+$form-label-font-size: rem-calc(14);
+$form-label-font-weight: $global-weight-normal;
+$form-label-line-height: 1.8;
+$select-background: $white;
+$select-triangle-color: $dark-gray;
+$select-radius: $global-radius;
+$input-color: $black;
+$input-placeholder-color: $medium-gray;
+$input-font-family: inherit;
+$input-font-size: rem-calc(16);
+$input-background: $white;
+$input-background-focus: $white;
+$input-background-disabled: $light-gray;
+$input-border: 1px solid $medium-gray;
+$input-border-focus: 1px solid $dark-gray;
+$input-shadow: inset 0 1px 2px rgba($black, 0.1);
+$input-shadow-focus: 0 0 5px $medium-gray;
+$input-cursor-disabled: not-allowed;
+$input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
+$input-number-spinners: true;
+$input-radius: $global-radius;
+
+// 20. Label
+// ---------
+
+$label-background: $primary-color;
+$label-color: foreground($label-background);
+$label-font-size: 0.8rem;
+$label-padding: 0.33333rem 0.5rem;
+$label-radius: $global-radius;
+
+// 21. Media Object
+// ----------------
+
+$mediaobject-margin-bottom: $global-margin;
+$mediaobject-section-padding: $global-padding;
+$mediaobject-image-width-stacked: 100%;
+
+// 22. Menu
+// --------
+
+$menu-margin: 0;
+$menu-margin-nested: 1rem;
+$menu-item-padding: 0.7rem 1rem;
+$menu-item-color-active: $white;
+$menu-item-background-active: map-get($foundation-palette, primary);
+$menu-icon-spacing: 0.25rem;
+
+// 23. Meter
+// ---------
+
+$meter-height: 1rem;
+$meter-radius: $global-radius;
+$meter-background: $medium-gray;
+$meter-fill-good: $success-color;
+$meter-fill-medium: $warning-color;
+$meter-fill-bad: $alert-color;
+
+// 24. Off-canvas
+// --------------
+
+$offcanvas-size: 250px;
+$offcanvas-background: $light-gray;
+$offcanvas-zindex: -1;
+$offcanvas-transition-length: 0.5s;
+$offcanvas-transition-timing: ease;
+$offcanvas-fixed-reveal: true;
+$offcanvas-exit-background: rgba($white, 0.25);
+$maincontent-class: 'off-canvas-content';
+$maincontent-shadow: 0 0 10px rgba($black, 0.5);
+
+// 25. Orbit
+// ---------
+
+$orbit-bullet-background: $medium-gray;
+$orbit-bullet-background-active: $dark-gray;
+$orbit-bullet-diameter: 1.2rem;
+$orbit-bullet-margin: 0.1rem;
+$orbit-bullet-margin-top: 0.8rem;
+$orbit-bullet-margin-bottom: 0.8rem;
+$orbit-caption-background: rgba($black, 0.5);
+$orbit-caption-padding: 1rem;
+$orbit-control-background-hover: rgba($black, 0.5);
+$orbit-control-padding: 1rem;
+$orbit-control-zindex: 10;
+
+// 26. Pagination
+// --------------
+
+$pagination-font-size: rem-calc(14);
+$pagination-margin-bottom: $global-margin;
+$pagination-item-color: $black;
+$pagination-item-padding: rem-calc(3 10);
+$pagination-item-spacing: rem-calc(1);
+$pagination-radius: $global-radius;
+$pagination-item-background-hover: $light-gray;
+$pagination-item-background-current: $primary-color;
+$pagination-item-color-current: foreground($pagination-item-background-current);
+$pagination-item-color-disabled: $medium-gray;
+$pagination-ellipsis-color: $black;
+$pagination-mobile-items: false;
+$pagination-arrows: true;
+
+// 27. Progress Bar
+// ----------------
+
+$progress-height: 1rem;
+$progress-background: $medium-gray;
+$progress-margin-bottom: $global-margin;
+$progress-meter-background: $primary-color;
+$progress-radius: $global-radius;
+
+// 28. Reveal
+// ----------
+
+$reveal-background: $white;
+$reveal-width: 600px;
+$reveal-max-width: $global-width;
+$reveal-padding: $global-padding;
+$reveal-border: 1px solid $medium-gray;
+$reveal-radius: $global-radius;
+$reveal-zindex: 1005;
+$reveal-overlay-background: rgba($black, 0.45);
+
+// 29. Slider
+// ----------
+
+$slider-width-vertical: 0.5rem;
+$slider-transition: all 0.2s ease-in-out;
+$slider-height: 0.5rem;
+$slider-background: $light-gray;
+$slider-fill-background: $medium-gray;
+$slider-handle-height: 1.4rem;
+$slider-handle-width: 1.4rem;
+$slider-handle-background: $primary-color;
+$slider-opacity-disabled: 0.25;
+$slider-radius: $global-radius;
+
+// 30. Switch
+// ----------
+
+$switch-background: $medium-gray;
+$switch-background-active: $primary-color;
+$switch-height: 2rem;
+$switch-height-tiny: 1.5rem;
+$switch-height-small: 1.75rem;
+$switch-height-large: 2.5rem;
+$switch-radius: $global-radius;
+$switch-margin: $global-margin;
+$switch-paddle-background: $white;
+$switch-paddle-offset: 0.25rem;
+$switch-paddle-radius: $global-radius;
+$switch-paddle-transition: all 0.25s ease-out;
+
+// 31. Table
+// ---------
+
+$table-background: $white;
+$table-color-scale: 5%;
+$table-border: 1px solid smart-scale($table-background, $table-color-scale);
+$table-padding: rem-calc(8 10 10);
+$table-hover-scale: 2%;
+$table-row-hover: darken($table-background, $table-hover-scale);
+$table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale);
+$table-striped-background: smart-scale($table-background, $table-color-scale);
+$table-stripe: even;
+$table-head-background: smart-scale($table-background, $table-color-scale / 2);
+$table-foot-background: smart-scale($table-background, $table-color-scale);
+$table-head-font-color: $body-font-color;
+$table-foot-font-color: $body-font-color;
+$show-header-for-stacked: false;
+
+// 32. Tabs
+// --------
+
+$tab-margin: 0;
+$tab-background: $white;
+$tab-background-active: $light-gray;
+$tab-item-font-size: rem-calc(12);
+$tab-item-background-hover: $white;
+$tab-item-padding: 1.25rem 1.5rem;
+$tab-expand-max: 6;
+$tab-content-background: $white;
+$tab-content-border: $light-gray;
+$tab-content-color: foreground($tab-background, $primary-color);
+$tab-content-padding: 1rem;
+
+// 33. Thumbnail
+// -------------
+
+$thumbnail-border: solid 4px $white;
+$thumbnail-margin-bottom: $global-margin;
+$thumbnail-shadow: 0 0 0 1px rgba($black, 0.2);
+$thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5);
+$thumbnail-transition: box-shadow 200ms ease-out;
+$thumbnail-radius: $global-radius;
+
+// 34. Title Bar
+// -------------
+
+$titlebar-background: $black;
+$titlebar-color: $white;
+$titlebar-padding: 0.5rem;
+$titlebar-text-font-weight: bold;
+$titlebar-icon-color: $white;
+$titlebar-icon-color-hover: $medium-gray;
+$titlebar-icon-spacing: 0.25rem;
+
+// 35. Tooltip
+// -----------
+
+$has-tip-font-weight: $global-weight-bold;
+$has-tip-border-bottom: dotted 1px $dark-gray;
+$tooltip-background-color: $black;
+$tooltip-color: $white;
+$tooltip-padding: 0.75rem;
+$tooltip-font-size: $small-font-size;
+$tooltip-pip-width: 0.75rem;
+$tooltip-pip-height: $tooltip-pip-width * 0.866;
+$tooltip-radius: $global-radius;
+
+// 36. Top Bar
+// -----------
+
+$topbar-padding: 0.5rem;
+$topbar-background: $light-gray;
+$topbar-submenu-background: $topbar-background;
+$topbar-title-spacing: 1rem;
+$topbar-input-width: 200px;
+$topbar-unstack-breakpoint: medium;
+
diff --git a/libraries/foundation-6/scss/typography/_alignment.scss b/libraries/foundation-6/scss/typography/_alignment.scss
new file mode 100755
index 00000000..77ffd617
--- /dev/null
+++ b/libraries/foundation-6/scss/typography/_alignment.scss
@@ -0,0 +1,22 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+@mixin foundation-text-alignment {
+  @each $size in $breakpoint-classes {
+    @include breakpoint($size) {
+      @each $align in (left, right, center, justify) {
+        @if $size != $-zf-zero-breakpoint {
+          .#{$size}-text-#{$align} {
+            text-align: $align;
+          }
+        }
+        @else {
+          .text-#{$align} {
+            text-align: $align;
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/typography/_base.scss b/libraries/foundation-6/scss/typography/_base.scss
new file mode 100755
index 00000000..55a9b518
--- /dev/null
+++ b/libraries/foundation-6/scss/typography/_base.scss
@@ -0,0 +1,443 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group typography-base
+////
+
+// Base Typography
+// - - - - - - - - - - - - - - -
+// These are styles applied to basic HTML tags, including:
+//   - Paragraphs <p>
+//   - Bold/italics <b> <strong> <i> <em>
+//   - Small text <small>
+//   - Headings <h1>—<h6>
+//   - Anchors <a>
+//   - Dividers <hr>
+//   - Lists <ul> <ol> <dl>
+//   - Blockquotes <blockquote>
+//   - Code blocks <code>
+//   - Abbreviations <abbr>
+//   - Citations <cite>
+//   - Keystrokes <kbd>
+
+/// Font family for header elements.
+/// @type String | List
+$header-font-family: $body-font-family !default;
+
+/// Font weight of headers.
+/// @type String
+$header-font-weight: $global-weight-normal !default;
+
+/// Font style (e.g. italicized) of headers.
+/// @type String
+$header-font-style: normal !default;
+
+/// Font stack used for elements that use monospaced type, such as code samples
+/// @type String | List
+$font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace !default;
+
+/// Sizes of headings at various screen sizes. Each key is a breakpoint, and each value is a map of heading sizes.
+/// @type Map
+$header-sizes: (
+  small: (
+    'h1': 24,
+    'h2': 20,
+    'h3': 19,
+    'h4': 18,
+    'h5': 17,
+    'h6': 16,
+  ),
+  medium: (
+    'h1': 48,
+    'h2': 40,
+    'h3': 31,
+    'h4': 25,
+    'h5': 20,
+    'h6': 16,
+  ),
+) !default;
+
+/// Color of headers.
+/// @type Color
+$header-color: inherit !default;
+
+/// Line height of headers.
+/// @type Number
+$header-lineheight: 1.4 !default;
+
+/// Bottom margin of headers.
+/// @type Number
+$header-margin-bottom: 0.5rem !default;
+
+/// Text rendering method of headers.
+/// @type String
+$header-text-rendering: optimizeLegibility !default;
+
+/// Font size of `<small>` elements.
+/// @type Number
+$small-font-size: 80% !default;
+
+/// Color of `<small>` elements when placed inside headers.
+/// @type Color
+$header-small-font-color: $medium-gray !default;
+
+/// Line height of text inside `<p>` elements.
+/// @type Number
+$paragraph-lineheight: 1.6 !default;
+
+/// Bottom margin of paragraphs.
+/// @type Number
+$paragraph-margin-bottom: 1rem !default;
+
+/// Text rendering method for paragraph text.
+/// @type String
+$paragraph-text-rendering: optimizeLegibility !default;
+
+/// Text color of code samples.
+/// @type Color
+$code-color: $black !default;
+
+/// Font family of code samples.
+/// @type String | List
+$code-font-family: $font-family-monospace !default;
+
+/// Font weight of text in code samples.
+/// @type String
+$code-font-weight: $global-weight-normal !default;
+
+/// Background color of code samples.
+/// @type Color
+$code-background: $light-gray !default;
+
+/// Border around code samples.
+/// @type List
+$code-border: 1px solid $medium-gray !default;
+
+/// Padding around text of code samples.
+/// @type Number | List
+$code-padding: rem-calc(2 5 1) !default;
+
+/// Default color for links.
+/// @type Color
+$anchor-color: $primary-color !default;
+
+/// Default color for links on hover.
+/// @type Color
+$anchor-color-hover: scale-color($anchor-color, $lightness: -14%) !default;
+
+/// Default text deocration for links.
+/// @type String
+$anchor-text-decoration: none !default;
+
+/// Default text decoration for links on hover.
+/// @type String
+$anchor-text-decoration-hover: none !default;
+
+/// Maximum width of a divider.
+/// @type Number
+$hr-width: $global-width !default;
+
+/// Default border for a divider.
+/// @type List
+$hr-border: 1px solid $medium-gray !default;
+
+/// Default margin for a divider.
+/// @type Number | List
+$hr-margin: rem-calc(20) auto !default;
+
+/// Line height for items in a list.
+/// @type Number
+$list-lineheight: $paragraph-lineheight !default;
+
+/// Bottom margin for items in a list.
+/// @type Number
+$list-margin-bottom: $paragraph-margin-bottom !default;
+
+/// Bullet type to use for unordered lists (e.g., `square`, `circle`, `disc`).
+/// @type String
+$list-style-type: disc !default;
+
+/// Positioning for bullets on unordered list items.
+/// @type String
+$list-style-position: outside !default;
+
+/// Left (or right) margin for lists.
+/// @type Number
+$list-side-margin: 1.25rem !default;
+
+/// Left (or right) margin for a list inside a list.
+/// @type Number
+$list-nested-side-margin: 1.25rem !default;
+
+/// Bottom margin for `<dl>` elements.
+/// @type Number
+$defnlist-margin-bottom: 1rem !default;
+
+/// Font weight for `<dt>` elements.
+/// @type String
+$defnlist-term-weight: $global-weight-bold !default;
+
+/// Spacing between `<dt>` and `<dd>` elements.
+/// @type Number
+$defnlist-term-margin-bottom: 0.3rem !default;
+
+/// Text color of `<blockquote>` elements.
+/// @type Color
+$blockquote-color: $dark-gray !default;
+
+/// Padding inside a `<blockquote>` element.
+/// @type Number | List
+$blockquote-padding: rem-calc(9 20 0 19) !default;
+
+/// Side border for `<blockquote>` elements.
+/// @type List
+$blockquote-border: 1px solid $medium-gray !default;
+
+/// Font size for `<cite>` elements.
+/// @type Number
+$cite-font-size: rem-calc(13) !default;
+
+/// Text color for `<cite>` elements.
+/// @type Color
+$cite-color: $dark-gray !default;
+
+/// Font family for `<kbd>` elements.
+/// @type String | List
+$keystroke-font: $font-family-monospace !default;
+
+/// Text color for `<kbd>` elements.
+/// @type Color
+$keystroke-color: $black !default;
+
+/// Background color for `<kbd>` elements.
+/// @type Color
+$keystroke-background: $light-gray !default;
+
+/// Padding for `<kbd>` elements.
+/// @type Number | List
+$keystroke-padding: rem-calc(2 4 0) !default;
+
+/// Border radius for `<kbd>` elements.
+/// @type Number | List
+$keystroke-radius: $global-radius !default;
+
+/// Bottom border style for `<abbr>` elements.
+/// @type List
+$abbr-underline: 1px dotted $black !default;
+
+@mixin foundation-typography-base {
+  // Typography resets
+  div,
+  dl,
+  dt,
+  dd,
+  ul,
+  ol,
+  li,
+  h1,
+  h2,
+  h3,
+  h4,
+  h5,
+  h6,
+  pre,
+  form,
+  p,
+  blockquote,
+  th,
+  td {
+    margin: 0;
+    padding: 0;
+  }
+
+  // Paragraphs
+  p {
+    font-size: inherit;
+    line-height: $paragraph-lineheight;
+    margin-bottom: $paragraph-margin-bottom;
+    text-rendering: $paragraph-text-rendering;
+  }
+
+  // Emphasized text
+  em,
+  i {
+    font-style: italic;
+    line-height: inherit;
+  }
+
+  // Strong text
+  strong,
+  b {
+    font-weight: $global-weight-bold;
+    line-height: inherit;
+  }
+
+  // Small text
+  small {
+    font-size: $small-font-size;
+    line-height: inherit;
+  }
+
+  // Headings
+  h1,
+  h2,
+  h3,
+  h4,
+  h5,
+  h6 {
+    font-family: $header-font-family;
+    font-weight: $header-font-weight;
+    font-style: $header-font-style;
+    color: $header-color;
+    text-rendering: $header-text-rendering;
+    margin-top: 0;
+    margin-bottom: $header-margin-bottom;
+    line-height: $header-lineheight;
+
+    small {
+      color: $header-small-font-color;
+      line-height: 0;
+    }
+  }
+
+  // Heading sizes
+  @each $size, $headers in $header-sizes {
+    @include breakpoint($size) {
+      @each $header, $font-size in $headers {
+        #{$header} {
+          font-size: rem-calc($font-size);
+        }
+      }
+    }
+  }
+
+  // Links
+  a {
+    color: $anchor-color;
+    text-decoration: $anchor-text-decoration;
+    line-height: inherit;
+    cursor: pointer;
+
+    &:hover,
+    &:focus {
+      color: $anchor-color-hover;
+      @if $anchor-text-decoration-hover != $anchor-text-decoration {
+        text-decoration: $anchor-text-decoration-hover;
+      }
+    }
+
+    img {
+      border: 0;
+    }
+  }
+
+  // Horizontal rule
+  hr {
+    max-width: $hr-width;
+    height: 0;
+    border-right: 0;
+    border-top: 0;
+    border-bottom: $hr-border;
+    border-left: 0;
+    margin: $hr-margin;
+    clear: both;
+  }
+
+  // Lists
+  ul,
+  ol,
+  dl {
+    line-height: $list-lineheight;
+    margin-bottom: $list-margin-bottom;
+    list-style-position: $list-style-position;
+  }
+
+  // List items
+  li {
+    font-size: inherit;
+  }
+
+  // Unordered lists
+  ul {
+    list-style-type: $list-style-type;
+    margin-#{$global-left}: $list-side-margin;
+  }
+
+  // Ordered lists
+  ol {
+    margin-#{$global-left}: $list-side-margin;
+  }
+
+  // Nested unordered/ordered lists
+  ul, ol {
+    & & {
+      margin-#{$global-left}: $list-nested-side-margin;
+      margin-bottom: 0;
+    }
+  }
+
+  // Definition lists
+  dl {
+    margin-bottom: $defnlist-margin-bottom;
+
+    dt {
+      margin-bottom: $defnlist-term-margin-bottom;
+      font-weight: $defnlist-term-weight;
+    }
+  }
+
+  // Blockquotes
+  blockquote {
+    margin: 0 0 $paragraph-margin-bottom;
+    padding: $blockquote-padding;
+    border-#{$global-left}: $blockquote-border;
+
+    &, p {
+      line-height: $paragraph-lineheight;
+      color: $blockquote-color;
+    }
+  }
+
+  // Citations
+  cite {
+    display: block;
+    font-size: $cite-font-size;
+    color: $cite-color;
+
+    &:before {
+      content: '\2014 \0020';
+    }
+  }
+
+  // Abbreviations
+  abbr {
+    color: $body-font-color;
+    cursor: help;
+    border-bottom: $abbr-underline;
+  }
+
+  // Code
+  code {
+    font-family: $code-font-family;
+    font-weight: $code-font-weight;
+    color: $code-color;
+    background-color: $code-background;
+    border: $code-border;
+    padding: $code-padding;
+  }
+
+  // Keystrokes
+  kbd {
+    padding: $keystroke-padding;
+    margin: 0;
+    background-color: $keystroke-background;
+    color: $keystroke-color;
+    font-family: $keystroke-font;
+
+    @if has-value($keystroke-radius) {
+      border-radius: $keystroke-radius;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/typography/_helpers.scss b/libraries/foundation-6/scss/typography/_helpers.scss
new file mode 100755
index 00000000..1e753aeb
--- /dev/null
+++ b/libraries/foundation-6/scss/typography/_helpers.scss
@@ -0,0 +1,77 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group typography-helpers
+////
+
+/// Default font size for lead paragraphs.
+/// @type Number
+$lead-font-size: $global-font-size * 1.25 !default;
+
+/// Default line height for lead paragraphs.
+/// @type String
+$lead-lineheight: 1.6 !default;
+
+/// Default line height for subheaders.
+/// @type Number
+$subheader-lineheight: 1.4 !default;
+
+/// Default font color for subheaders.
+/// @type Color
+$subheader-color: $dark-gray !default;
+
+/// Default font weight for subheaders.
+/// @type String
+$subheader-font-weight: $global-weight-normal !default;
+
+/// Default top margin for subhheaders.
+/// @type Number
+$subheader-margin-top: 0.2rem !default;
+
+/// Default bottom margin for subheaders.
+/// @type Number
+$subheader-margin-bottom: 0.5rem !default;
+
+/// Default font size for statistic numbers.
+/// @type Number
+$stat-font-size: 2.5rem !default;
+
+@mixin foundation-typography-helpers {
+  // Use to create a subheading under a main header
+  // Make sure you pair the two elements in a <header> element, like this:
+  // <header>
+  //   <h1>Heading</h1>
+  //   <h2>Subheading</h2>
+  // </header>
+  .subheader {
+    margin-top: $subheader-margin-top;
+    margin-bottom: $subheader-margin-bottom;
+    font-weight: $subheader-font-weight;
+    line-height: $subheader-lineheight;
+    color: $subheader-color;
+  }
+
+  // Use to style an introductory lead, deck, blurb, etc.
+  .lead {
+    font-size: $lead-font-size;
+    line-height: $lead-lineheight;
+  }
+
+  // Use to style a large number to display a statistic
+  .stat {
+    font-size: $stat-font-size;
+    line-height: 1;
+
+    p + & {
+      margin-top: -1rem;
+    }
+  }
+
+  // Use to remove the bullets from an unordered list
+  .no-bullet {
+    margin-#{$global-left}: 0;
+    list-style: none;
+  }
+}
diff --git a/libraries/foundation-6/scss/typography/_print.scss b/libraries/foundation-6/scss/typography/_print.scss
new file mode 100755
index 00000000..348aad9c
--- /dev/null
+++ b/libraries/foundation-6/scss/typography/_print.scss
@@ -0,0 +1,77 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+/// If `true`, all elements will have transparent backgrounds when printed, to save on ink.
+/// @type Boolean
+/// @group global
+$print-transparent-backgrounds: true !default;
+
+// scss-lint:disable all
+
+@mixin foundation-print-styles {
+  .show-for-print { display: none !important; }
+
+  @media print {
+    * {
+      @if $print-transparent-backgrounds {
+        background: transparent !important;
+      }
+
+      color: black !important; // Black prints faster: h5bp.com/s
+      box-shadow: none !important;
+      text-shadow: none !important;
+    }
+
+    .show-for-print { display: block !important; }
+    .hide-for-print { display: none !important; }
+
+    table.show-for-print { display: table !important; }
+    thead.show-for-print { display: table-header-group !important; }
+    tbody.show-for-print { display: table-row-group !important; }
+    tr.show-for-print { display: table-row !important; }
+    td.show-for-print { display: table-cell !important; }
+    th.show-for-print { display: table-cell !important; }
+
+    // Display the URL of a link after the text
+    a,
+    a:visited { text-decoration: underline;}
+    a[href]:after { content: ' (' attr(href) ')'; }
+
+    // Don't display the URL for images or JavaScript/internal links
+    .ir a:after,
+    a[href^='javascript:']:after,
+    a[href^='#']:after { content: ''; }
+
+    // Display what an abbreviation stands for after the text
+    abbr[title]:after { content: ' (' attr(title) ')'; }
+
+    // Prevent page breaks in the middle of a blockquote or preformatted text block
+    pre,
+    blockquote {
+      border: 1px solid $dark-gray;
+      page-break-inside: avoid;
+    }
+
+    // h5bp.com/t
+    thead { display: table-header-group; }
+
+    tr,
+    img { page-break-inside: avoid; }
+
+    img { max-width: 100% !important; }
+
+    @page { margin: 0.5cm; }
+
+    p,
+    h2,
+    h3 {
+      orphans: 3;
+      widows: 3;
+    }
+
+    // Avoid page breaks after a heading
+    h2,
+    h3 { page-break-after: avoid; }
+  }
+}
diff --git a/libraries/foundation-6/scss/typography/_typography.scss b/libraries/foundation-6/scss/typography/_typography.scss
new file mode 100755
index 00000000..d17c16ab
--- /dev/null
+++ b/libraries/foundation-6/scss/typography/_typography.scss
@@ -0,0 +1,28 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group typography
+////
+
+// scss-lint:disable DeclarationOrder
+
+// Base typography styles (tags only)
+@import 'base';
+
+// Typography helper classes (classes only)
+@import 'helpers';
+
+// Text alignment classes
+@import 'alignment';
+
+// Print styles
+@import 'print';
+
+@mixin foundation-typography {
+  @include foundation-typography-base;
+  @include foundation-typography-helpers;
+  @include foundation-text-alignment;
+  @include foundation-print-styles;
+}
diff --git a/libraries/foundation-6/scss/util/_breakpoint.scss b/libraries/foundation-6/scss/util/_breakpoint.scss
new file mode 100755
index 00000000..15707b99
--- /dev/null
+++ b/libraries/foundation-6/scss/util/_breakpoint.scss
@@ -0,0 +1,275 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group breakpoints
+////
+
+// scss-lint:disable ZeroUnit
+
+/// A list of named breakpoints. You can use these with the `breakpoint()` mixin to quickly create media queries.
+/// @type Map
+$breakpoints: (
+  small: 0,
+  medium: 640px,
+  large: 1024px,
+  xlarge: 1200px,
+  xxlarge: 1440px,
+) !default;
+
+$-zf-zero-breakpoint: small !default;
+
+@if nth(map-values($breakpoints), 1) != 0 {
+  @error 'Your smallest breakpoint (defined in $breakpoints) must be set to "0".';
+}
+@else {
+  $-zf-zero-breakpoint: nth(map-keys($breakpoints), 1);
+}
+
+/// All of the names in this list will be output as classes in your CSS, like `.small-12`, `.medium-6`, and so on. Each value in this list must also be in the `$breakpoints` map.
+/// @type List
+$breakpoint-classes: (small medium large) !default;
+
+/// Generates a media query string matching the input value. Refer to the documentation for the `breakpoint()` mixin to see what the possible inputs are.
+///
+/// @param {Keyword|Number} $val [small] - Breakpoint name, or px, rem, or em value to process.
+@function breakpoint($val: $-zf-zero-breakpoint) {
+  // Size or keyword
+  $bp: nth($val, 1);
+  // Value for max-width media queries
+  $bp-max: 0;
+  // Direction of media query (up, down, or only)
+  $dir: if(length($val) > 1, nth($val, 2), up);
+  // Eventual output
+  $str: '';
+  // Is it a named media query?
+  $named: false;
+
+  // Orientation media queries have a unique syntax
+  @if $bp == 'landscape' or $bp == 'portrait' {
+    @return '(orientation: #{$bp})';
+  }
+  @else if $bp == 'retina' {
+    @return '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)';
+  }
+
+  // Try to pull a named breakpoint out of the $breakpoints map
+  @if type-of($bp) == 'string' {
+    @if map-has-key($breakpoints, $bp) {
+      @if $dir == 'only' or $dir == 'down' {
+        $bp-max: -zf-map-next($breakpoints, $bp);
+      }
+
+      $bp: map-get($breakpoints, $bp);
+      $named: true;
+    }
+    @else {
+      $bp: 0;
+      @warn 'breakpoint(): "#{$val}" is not defined in your $breakpoints setting.';
+    }
+  }
+
+  // Convert any pixel, rem, or unitless value to em
+  $bp: -zf-bp-to-em($bp);
+  @if $bp-max {
+    $bp-max: -zf-bp-to-em($bp-max) - (1/16);
+  }
+
+  // Conditions to skip media query creation
+  // - It's a named breakpoint that resolved to "0 down" or "0 up"
+  // - It's a numeric breakpoint that resolved to "0 " + anything
+  @if $bp > 0em or $dir == 'only' or $dir == 'down' {
+    // `only` ranges use the format `(min-width: n) and (max-width: n)`
+    @if $dir == 'only' {
+      // Only named media queries can have an "only" range
+      @if $named == true {
+        // Only use "min-width" if the floor is greater than 0
+        @if $bp > 0em {
+          $str: $str + '(min-width: #{$bp})';
+
+          // Only add "and" to the media query if there's a ceiling
+          @if $bp-max != null {
+            $str: $str + ' and ';
+          }
+        }
+
+        // Only use "max-width" if there's a ceiling
+        @if $bp-max != null {
+          $str: $str + '(max-width: #{$bp-max})';
+        }
+      }
+      @else {
+        @warn 'breakpoint(): Only named media queries can have an `only` range.';
+      }
+    }
+
+    // `down` ranges use the format `(max-width: n)`
+    @else if $dir == 'down' {
+      $max: if($named, $bp-max, $bp);
+
+      // Skip media query creation if input value is exactly "0 down",
+      // unless the function was called as "small down", in which case it's just "small only"
+      @if $named or $bp > 0em {
+        @if $max != null {
+          $str: $str + '(max-width: #{$max})';
+        }
+      }
+    }
+
+    // `up` ranges use the format `(min-width: n)`
+    @else if $bp > 0em {
+      $str: $str + '(min-width: #{$bp})';
+    }
+  }
+
+  @return $str;
+}
+
+/// Wraps a media query around the content you put inside the mixin. This mixin accepts a number of values:
+///  - If a string is passed, the mixin will look for it in the `$breakpoints` map, and use a media query there.
+///  - If a pixel value is passed, it will be converted to an em value using `$global-font-size` as the base.
+///  - If a rem value is passed, the unit will be changed to em.
+///  - If an em value is passed, the value will be used as-is.
+///
+/// @param {Keyword|Number} $value - Breakpoint name, or px, rem, or em value to process.
+///
+/// @output If the breakpoint is "0px and larger", outputs the content as-is. Otherwise, outputs the content wrapped in a media query.
+@mixin breakpoint($value) {
+  $str: breakpoint($value);
+
+  // If $str is still an empty string, no media query is needed
+  @if $str == '' {
+    @content;
+  }
+
+  // Otherwise, wrap the content in a media query
+  @else {
+    @media screen and #{$str} {
+      @content;
+    }
+  }
+}
+
+/// Convers the breakpoints map to a URL-encoded string, like this: `key1=value1&key2=value2`. The value is then dropped into the CSS for a special `<meta>` tag, which is read by the Foundation JavaScript. This is how we transfer values from Sass to JavaScript, so they can be defined in one place.
+/// @access private
+///
+/// @param {Map} $map - Map to convert.
+///
+/// @returns {String} A string containing the map's contents.
+@function -zf-bp-serialize($map) {
+  $str: '';
+  @each $key, $value in $map {
+    $str: $str + $key + '=' + -zf-bp-to-em($value) + '&';
+  }
+  $str: str-slice($str, 1, -2);
+
+  @return $str;
+}
+
+/// Find the next key in a map.
+/// @access private
+///
+/// @param {Map} $map - Map to traverse.
+/// @param {Mixed} $key - Key to use as a starting point.
+///
+/// @returns {Mixed} The value for the key after `$key`, if `$key` was found. If `$key` was not found, or `$key` was the last value in the map, returns `null`.
+@function -zf-map-next($map, $key) {
+  // Store the values of the map as a list, so we can access them with nth
+  $values: map-values($map);
+
+  // Ghetto for loop
+  $i: 1;
+  $found: false;
+  @each $val in map-keys($map) {
+    @if $found == false {
+      @if ($key == $val) {
+        $found: true;
+      }
+      $i: $i + 1;
+    }
+  }
+
+  // If the key doesn't exist, or it's the last key in the map, return null
+  @if $i > length($map) {
+    @return null;
+  }
+  // Otherwise, return the value
+  @else {
+    @return nth($values, $i);
+  }
+}
+
+/// Get a value for a breakpoint from a responsive config map. If the config map has the key `$value`, the exact breakpoint value is returned. If the config map does *not* have the breakpoint, the value matching the next lowest breakpoint in the config map is returned.
+/// @access private
+///
+/// @param {Map} $map - Input config map.
+/// @param {Keyword} $value - Breakpoint name to use.
+///
+/// @return {Mixed} The corresponding breakpoint value.
+@function -zf-get-bp-val($map, $value) {
+  // Check if the breakpoint name exists globally
+  @if not map-has-key($breakpoints, $value) {
+    @return null;
+  }
+  // Check if the breakpoint name exists in the local config map
+  @else if map-has-key($map, $value) {
+    // If it does, just return the value
+    @return map-get($map, $value);
+  }
+  // Otherwise, find the next lowest breakpoint and return that value
+  @else {
+    $anchor: null;
+    $found: false;
+
+    @each $key, $val in $breakpoints {
+      @if not $found {
+        @if map-has-key($map, $key) {
+          $anchor: $key;
+        }
+        @if $key == $value {
+          $found: true;
+        }
+      }
+    }
+
+    @return map-get($map, $anchor);
+  }
+}
+
+// Legacy breakpoint variables
+// These will be removed in 6.3
+$small-up: null;
+$small-only: null;
+$medium-up: null;
+$medium-only: null;
+$large-up: null;
+$large-only: null;
+$xlarge-up: null;
+$xlarge-only: null;
+$xxlarge-up: null;
+$xxlarge-only: null;
+
+@if map-has-key($breakpoints, small) {
+  $small-up: screen;
+  $small-only: unquote('screen and #{breakpoint(small only)}');
+}
+
+@if map-has-key($breakpoints, medium) {
+  $medium-up: unquote('screen and #{breakpoint(medium)}');
+  $medium-only: unquote('screen and #{breakpoint(medium only)}');
+}
+
+@if map-has-key($breakpoints, large) {
+  $large-up: unquote('screen and #{breakpoint(large)}');
+  $large-only: unquote('screen and #{breakpoint(large only)}');
+}
+
+@if map-has-key($breakpoints, xlarge) {
+  $xlarge-up: unquote('screen and #{breakpoint(xlarge)}');
+  $xlarge-only: unquote('screen and #{breakpoint(xlarge only)}');
+}
+
+@if map-has-key($breakpoints, xxlarge) {
+  $xxlarge-up: unquote('screen and #{breakpoint(xxlarge)}');
+}
diff --git a/libraries/foundation-6/scss/util/_color.scss b/libraries/foundation-6/scss/util/_color.scss
new file mode 100755
index 00000000..a001de2a
--- /dev/null
+++ b/libraries/foundation-6/scss/util/_color.scss
@@ -0,0 +1,60 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group functions
+////
+
+/// Checks the lightness of `$color`, and if it passes the `$threshold` of lightness, it returns the `$yes` color. Otherwise, it returns the `$no` color. Use this function to dynamically output a foreground color based on a given background color.
+///
+/// @param {Color} $color - Color to check the lightness of.
+/// @param {Color} $yes [$black] - Color to return if `$color` is light.
+/// @param {Color} $no [$white] - Color to return if `$color` is dark.
+/// @param {Percentage} $threshold [60%] - Threshold of lightness to check against.
+///
+/// @returns {Color} The $yes color or $no color.
+@function foreground($color, $yes: $black, $no: $white, $threshold: 60%) {
+  @if $color == transparent {
+    $color: $body-background;
+  }
+  @if (lightness($color) > $threshold) {
+    @return $yes;
+  }
+  @else {
+    @return $no;
+  }
+}
+
+/// Scales a color to be lighter if it's light, or darker if it's dark. Use this function to tint a color appropriate to its lightness.
+///
+/// @param {Color} $color - Color to scale.
+/// @param {Percentage} $scale [5%] - Amount to scale up or down.
+/// @param {Percentage} $threshold [40%] - Threshold of lightness to check against.
+///
+/// @returns {Color} A scaled color.
+@function smart-scale($color, $scale: 5%, $threshold: 40%) {
+  @if lightness($color) > $threshold {
+    $scale: -$scale;
+  }
+  @return scale-color($color, $lightness: $scale);
+}
+
+/// Transfers the colors in the `$foundation-palette` variable into the legacy color variables, such as `$primary-color` and `$secondary-color`. Call this mixin below the Global section of your settings file to properly migrate your codebase.
+@mixin add-foundation-colors() {
+  @if map-has-key($foundation-palette, primary) {
+    $primary-color: map-get($foundation-palette, primary) !global;
+  }
+  @if map-has-key($foundation-palette, secondary) {
+    $secondary-color: map-get($foundation-palette, secondary) !global;
+  }
+  @if map-has-key($foundation-palette, success) {
+    $success-color: map-get($foundation-palette, success) !global;
+  }
+  @if map-has-key($foundation-palette, warning) {
+    $warning-color: map-get($foundation-palette, warning) !global;
+  }
+  @if map-has-key($foundation-palette, alert) {
+    $alert-color: map-get($foundation-palette, alert) !global;
+  }
+}
diff --git a/libraries/foundation-6/scss/util/_flex.scss b/libraries/foundation-6/scss/util/_flex.scss
new file mode 100755
index 00000000..cf7d3455
--- /dev/null
+++ b/libraries/foundation-6/scss/util/_flex.scss
@@ -0,0 +1,68 @@
+$-zf-flex-justify: (
+  'left': flex-start,
+  'right': flex-end,
+  'center': center,
+  'justify': space-between,
+  'spaced': space-around,
+);
+
+$-zf-flex-align: (
+  'top': flex-start,
+  'bottom': flex-end,
+  'middle': center,
+  'stretch': stretch,
+);
+
+/// Enables flexbox by adding `display: flex` to the element.
+@mixin flex {
+  display: flex;
+}
+
+/// Horizontally or vertically aligns the items within a flex container.
+///
+/// @param {Keyword} $x [null] - Horizontal alignment to use. Can be `left`, `right`, `center`, `justify`, or `spaced`. Or, set it to `null` (the default) to not set horizontal alignment.
+/// @param {Keyword} $y [null] - Vertical alignment to use. Can be `top`, `bottom`, `middle`, or `stretch`. Or, set it to `null` (the default) to not set vertical alignment.
+@mixin flex-align($x: null, $y: null) {
+  @if $x {
+    @if map-has-key($-zf-flex-justify, $x) {
+      $x: map-get($-zf-flex-justify, $x);
+    }
+    @else {
+      @warn 'flex-grid-row-align(): #{$x} is not a valid value for horizontal alignment. Use left, right, center, justify, or spaced.'
+    }
+  }
+
+  @if $y {
+    @if map-has-key($-zf-flex-align, $y) {
+      $y: map-get($-zf-flex-align, $y);
+    }
+    @else {
+      @warn 'flex-grid-row-align(): #{$y} is not a valid value for vertical alignment. Use top, bottom, middle, or stretch.'
+    }
+  }
+
+  justify-content: $x;
+  align-items: $y;
+}
+
+/// Vertically align a single column within a flex row. Apply this mixin to a flex column.
+///
+/// @param {Keyword} $y [null] - Vertical alignment to use. Can be `top`, `bottom`, `middle`, or `stretch`. Or, set it to `null` (the default) to not set vertical alignment.
+@mixin flex-align-self($y: null) {
+  @if $y {
+    @if map-has-key($-zf-flex-align, $y) {
+      $y: map-get($-zf-flex-align, $y);
+    }
+    @else {
+      @warn 'flex-grid-column-align(): #{$y} is not a valid value for alignment. Use top, bottom, middle, or stretch.'
+    }
+  }
+
+  align-self: $y;
+}
+
+/// Changes the source order of a flex child. Children with lower numbers appear first in the layout.
+/// @param {Number} $order [0] - Order number to apply.
+@mixin flex-order($order: 0) {
+  order: $order;
+}
diff --git a/libraries/foundation-6/scss/util/_mixins.scss b/libraries/foundation-6/scss/util/_mixins.scss
new file mode 100755
index 00000000..129e0db5
--- /dev/null
+++ b/libraries/foundation-6/scss/util/_mixins.scss
@@ -0,0 +1,235 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group functions
+////
+
+/// Creates a CSS triangle, which can be used for dropdown arrows, dropdown pips, and more. Use this mixin inside a `&::before` or `&::after` selector, to attach the triangle to an existing element.
+///
+/// @param {Number} $triangle-size - Width of the triangle.
+/// @param {Color} $triangle-color - Color of the triangle.
+/// @param {Keyword} $triangle-direction - Direction the triangle points. Can be `up`, `right`, `down`, or `left`.
+@mixin css-triangle(
+  $triangle-size,
+  $triangle-color,
+  $triangle-direction
+) {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  border: inset $triangle-size;
+
+  @if ($triangle-direction == down) {
+    border-color: $triangle-color transparent transparent;
+    border-top-style: solid;
+    border-bottom-width: 0;
+  }
+  @if ($triangle-direction == up) {
+    border-color: transparent transparent $triangle-color;
+    border-bottom-style: solid;
+    border-top-width: 0;
+  }
+  @if ($triangle-direction == right) {
+    border-color: transparent transparent transparent $triangle-color;
+    border-left-style: solid;
+    border-right-width: 0;
+  }
+  @if ($triangle-direction == left) {
+    border-color: transparent $triangle-color transparent transparent;
+    border-right-style: solid;
+    border-left-width: 0;
+  }
+}
+
+/// Creates a menu icon with a set width, height, number of bars, and colors. The mixin uses the height of the icon and the weight of the bars to determine spacing. <div class="docs-example-burger"></div>
+///
+/// @param {Color} $color [$black] - Color to use for the icon.
+/// @param {Color} $color-hover [$dark-gray] - Color to use when the icon is hovered over.
+/// @param {Number} $width [20px] - Width of the icon.
+/// @param {Number} $height [16px] - Height of the icon.
+/// @param {Number} $weight [2px] - Height of individual bars in the icon.
+/// @param {Number} $bars [3] - Number of bars in the icon.
+@mixin hamburger(
+  $color: $black,
+  $color-hover: $dark-gray,
+  $width: 20px,
+  $height: 16px,
+  $weight: 2px,
+  $bars: 3
+) {
+  // box-shadow CSS output
+  $shadow: ();
+  $hover-shadow: ();
+
+  // Spacing between bars is calculated based on the total height of the icon and the weight of each bar
+  $spacing: floor(($height - ($weight * $bars)) / ($bars - 1));
+
+  // Icon container
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  cursor: pointer;
+  width: $width;
+  height: $height;
+
+  // Icon bars
+  &::after {
+    content: '';
+    position: absolute;
+    display: block;
+    width: 100%;
+    height: $weight;
+    background: $color;
+    top: 0;
+    left: 0;
+
+    @for $i from 2 through $bars {
+      $offset: ($weight + $spacing) * ($i - 1);
+      $shadow: append($shadow, 0 $offset 0 $color, comma);
+    }
+
+    box-shadow: $shadow;
+  }
+
+  // Hover state
+  @if $color-hover {
+    // Generate CSS
+    @for $i from 2 through $bars {
+      $offset: ($weight + $spacing) * ($i - 1);
+      $hover-shadow: append($hover-shadow, 0 $offset 0 $color-hover, comma);
+    }
+
+    &:hover::after {
+      background: $color-hover;
+      box-shadow: $hover-shadow;
+    }
+  }
+}
+
+/// Adds a downward-facing triangle as a background image to an element. The image is formatted as an SVG, making it easy to change the color. Because Internet Explorer doesn't support encoded SVGs as background images, a PNG fallback is also included.
+/// There are two PNG fallbacks: a black triangle and a white triangle. The one used depends on the lightness of the input color.
+///
+/// @param {Color} $color [$black] - Color to use for the triangle.
+@mixin background-triangle($color: $black) {
+  $rgb: 'rgb%28#{red($color)}, #{green($color)}, #{blue($color)}%29';
+
+  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #{$rgb}'></polygon></svg>");
+
+  @media screen and (min-width:0\0) {
+    @if lightness($color) < 60% {
+      // White triangle
+      background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==');
+    }
+    @else {
+      // Black triangle
+      background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMBJREFUeNrEllsOhCAMRVszC9IlzU7KCmVHTJsoMWYMUtpyv9BgbuXQB5ZSdgBYYY4ycgBivk8KYFsQMfMiTTBP4o3nUzCKzOabLJbLy2/g31evGkAginR4/ZegKH5qX3bJCscA3t0x3kgO5tQFyhhFf50xRqFLbyMUNJQzgyjGS/wgCpvKqkRBpuWrE4V9d+1E4dPUXqIg107SQOE/2DRQxMwTDygIInVDET9T3lCoj/6j/VCmGjZOl2lKpZ8AAwDQP7zIimDGFQAAAABJRU5ErkJggg==');
+    }
+  }
+}
+
+/// Applies the micro clearfix hack popularized by Nicolas Gallagher. Include this mixin on a container if its children are all floated, to give the container a proper height.
+/// The clearfix is augmented with specific styles to prevent borders in flexbox environments
+/// @link http://nicolasgallagher.com/micro-clearfix-hack/ Micro Clearfix Hack
+/// @link http://danisadesigner.com/blog/flexbox-clear-fix-pseudo-elements/ Flexbox fix
+@mixin clearfix {
+  &::before,
+  &::after {
+    content: ' ';
+    display: table;
+    @if $global-flexbox {
+      flex-basis: 0;
+      order: 1;
+    }
+  }
+
+  &::after {
+    clear: both;
+  }
+}
+
+/// Adds CSS for a "quantity query" selector that automatically sizes elements based on how many there are inside a container.
+/// @link http://alistapart.com/article/quantity-queries-for-css Quantity Queries for CSS
+///
+/// @param {Number} $max - Maximum number of items to detect. The higher this number is, the more CSS that's required to cover each number of items.
+/// @param {Keyword} $elem [li] - Tag to use for sibling selectors.
+@mixin auto-width($max, $elem: li) {
+  @for $i from 2 through $max {
+    &:nth-last-child(#{$i}):first-child,
+    &:nth-last-child(#{$i}):first-child ~ #{$elem} {
+      width: percentage(1 / $i);
+    }
+  }
+}
+
+/// Removes the focus ring around an element when a mouse input is detected.
+@mixin disable-mouse-outline {
+  [data-whatinput='mouse'] & {
+    outline: 0;
+  }
+}
+
+/// Makes an element visually hidden, but still accessible to keyboards and assistive devices.
+/// @link http://snook.ca/archives/html_and_css/hiding-content-for-accessibility Hiding Content for Accessibility
+@mixin element-invisible {
+  position: absolute !important;
+  width: 1px;
+  height: 1px;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+}
+
+/// Reverses the CSS output created by the `element-invisible()` mixin.
+@mixin element-invisible-off {
+  position: static !important;
+  height: auto;
+  width: auto;
+  overflow: visible;
+  clip: auto;
+}
+
+/// Vertically centers the element inside of its first non-static parent,
+/// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass
+@mixin vertical-center {
+  position: absolute;
+  top: 50%;
+  transform: translateY(-50%);
+}
+
+/// Horizontally centers the element inside of its first non-static parent,
+/// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass
+@mixin horizontal-center {
+  position: absolute;
+  left: 50%;
+  transform: translateX(-50%);
+}
+
+/// Absolutely centers the element inside of its first non-static parent,
+/// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass
+@mixin absolute-center {
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
+}
+
+/// Iterates through breakpoints defined in `$breakpoint-classes` and prints the CSS inside the mixin at each breakpoint's media query. Use this with the grid, or any other component that has responsive classes.
+///
+/// @param {Boolean} $small [true] - If `false`, the mixin will skip the `small` breakpoint. Use this with components that don't prefix classes with `small-`, only `medium-` and up.
+@mixin -zf-each-breakpoint($small: true) {
+  $map: $breakpoint-classes;
+
+  @if not $small {
+    $map: map-remove($map, $-zf-zero-breakpoint);
+  }
+
+  @each $size in $map {
+    $-zf-size: $size !global;
+
+    @include breakpoint($size) {
+      @content;
+    }
+  }
+}
diff --git a/libraries/foundation-6/scss/util/_selector.scss b/libraries/foundation-6/scss/util/_selector.scss
new file mode 100755
index 00000000..65b00b4f
--- /dev/null
+++ b/libraries/foundation-6/scss/util/_selector.scss
@@ -0,0 +1,40 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group functions
+////
+
+/// Generates a selector with every text input type. You can also filter the list to only output a subset of those selectors.
+///
+/// @param {List|Keyword} $types [()] - A list of text input types to use. Leave blank to use all of them.
+@function text-inputs($types: ()) {
+  $return: ();
+
+  $all-types:
+    text
+    password
+    date
+    datetime
+    datetime-local
+    month
+    week
+    email
+    number
+    search
+    tel
+    time
+    url
+    color;
+
+  @if not has-value($types) {
+    $types: $all-types;
+  }
+
+  @each $type in $types {
+    $return: append($return, unquote('[type=\'#{$type}\']'), comma);
+  }
+
+  @return $return;
+}
diff --git a/libraries/foundation-6/scss/util/_unit.scss b/libraries/foundation-6/scss/util/_unit.scss
new file mode 100755
index 00000000..bb96c98c
--- /dev/null
+++ b/libraries/foundation-6/scss/util/_unit.scss
@@ -0,0 +1,90 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group functions
+////
+
+$global-font-size: 100% !default;
+
+// scss-lint:disable ZeroUnit
+
+/// Removes the unit (e.g. px, em, rem) from a value, returning the number only.
+///
+/// @param {Number} $num - Number to strip unit from.
+///
+/// @returns {Number} The same number, sans unit.
+@function strip-unit($num) {
+  @return $num / ($num * 0 + 1);
+}
+
+/// Converts one or more pixel values into matching rem values.
+///
+/// @param {Number|List} $values - One or more values to convert. Be sure to separate them with spaces and not commas. If you need to convert a comma-separated list, wrap the list in parentheses.
+/// @param {Number} $base [null] - The base value to use when calculating the `rem`. If you're using Foundation out of the box, this is 16px. If this parameter is `null`, the function will reference the `$base-font-size` variable as the base.
+///
+/// @returns {List} A list of converted values.
+@function rem-calc($values, $base: null) {
+  $rem-values: ();
+  $count: length($values);
+
+  // If no base is defined, defer to the global font size
+  @if $base == null {
+    $base: $global-font-size;
+  }
+
+  // If the base font size is a %, then multiply it by 16px
+  // This is because 100% font size = 16px in most all browsers
+  @if unit($base) == '%' {
+    $base: ($base / 100%) * 16px;
+  }
+
+  @if $count == 1 {
+    @return -zf-to-rem($values, $base);
+  }
+
+  @for $i from 1 through $count {
+    $rem-values: append($rem-values, -zf-to-rem(nth($values, $i), $base));
+  }
+
+  @return $rem-values;
+}
+
+// Converts a unitless, pixel, or rem value to em, for use in breakpoints.
+@function -zf-bp-to-em($value) {
+  // Pixel and unitless values are converted to rems
+  @if unit($value) == 'px' or unitless($value) {
+    $value: rem-calc($value, $base: 16px);
+  }
+
+  // Then the value is converted to ems
+  @return strip-unit($value) * 1em;
+}
+
+/// Converts a pixel value to matching rem value. *Any* value passed, regardless of unit, is assumed to be a pixel value. By default, the base pixel value used to calculate the rem value is taken from the `$global-font-size` variable.
+/// @access private
+///
+/// @param {Number} $value - Pixel value to convert.
+/// @param {Number} $base [null] - Base for pixel conversion.
+///
+/// @returns {Number} A number in rems, calculated based on the given value and the base pixel value. rem values are passed through as is.
+@function -zf-to-rem($value, $base: null) {
+  // Check if the value is a number
+  @if type-of($value) != 'number' {
+    @warn inspect($value) + ' was passed to rem-calc(), which is not a number.';
+    @return $value;
+  }
+
+  // Calculate rem if units for $value is not rem
+  @if unit($value) != 'rem' {
+    $value: strip-unit($value) / strip-unit($base) * 1rem;
+  }
+
+  // Turn 0rem into 0
+  @if $value == 0rem {
+    $value: 0;
+  }
+
+  @return $value;
+}
diff --git a/libraries/foundation-6/scss/util/_util.scss b/libraries/foundation-6/scss/util/_util.scss
new file mode 100755
index 00000000..c38b4254
--- /dev/null
+++ b/libraries/foundation-6/scss/util/_util.scss
@@ -0,0 +1,11 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+@import 'unit';
+@import 'value';
+@import 'color';
+@import 'selector';
+@import 'flex';
+@import 'breakpoint';
+@import 'mixins';
diff --git a/libraries/foundation-6/scss/util/_value.scss b/libraries/foundation-6/scss/util/_value.scss
new file mode 100755
index 00000000..54e562b0
--- /dev/null
+++ b/libraries/foundation-6/scss/util/_value.scss
@@ -0,0 +1,107 @@
+// Foundation for Sites by ZURB
+// foundation.zurb.com
+// Licensed under MIT Open Source
+
+////
+/// @group functions
+////
+
+/// Determine if a value is not falsey, in CSS terms. Falsey values are `null`, `none`, `0` with any unit, or an empty list.
+///
+/// @param {Mixed} $val - Value to check.
+///
+/// @returns {Boolean} `true` if `$val` is not falsey.
+@function has-value($val) {
+  @if $val == null or $val == none {
+    @return false;
+  }
+  @if type-of($val) == 'number' and strip-unit($val) == 0 {
+    @return false;
+  }
+  @if type-of($val) == 'list' and length($val) == 0 {
+    @return false;
+  }
+  @return true;
+}
+
+/// Determine a top/right/bottom/right value on a padding, margin, etc. property, no matter how many values were passed in. Use this function if you need to know the specific side of a value, but don't know if the value is using a shorthand format.
+///
+/// @param {List|Number} $val - Value to analyze. Should be a shorthand sizing property, e.g. "1em 2em 1em"
+/// @param {Keyword} $side - Side to return. Should be `top`, `right`, `bottom`, or `left`.
+///
+/// @returns {Number} A single value based on `$val` and `$side`.
+@function get-side($val, $side) {
+  $length: length($val);
+
+  @if $length == 1 {
+    @return $val;
+  }
+  @if $length == 2 {
+    @return map-get((
+      top: nth($val, 1),
+      bottom: nth($val, 1),
+      left: nth($val, 2),
+      right: nth($val, 2),
+    ), $side);
+  }
+  @if $length == 3 {
+    @return map-get((
+      top: nth($val, 1),
+      left: nth($val, 2),
+      right: nth($val, 2),
+      bottom: nth($val, 3),
+    ), $side);
+  }
+  @if $length == 4 {
+    @return map-get((
+      top: nth($val, 1),
+      right: nth($val, 2),
+      bottom: nth($val, 3),
+      left: nth($val, 4),
+    ), $side);
+  }
+}
+
+/// Given border $val, find a specific element of the border, which is $elem. The possible values for $elem are width, style, and color.
+///
+/// @param {List} $val - Border value to find a value in.
+/// @param {Keyword} $elem - Border component to extract.
+///
+/// @returns {Mixed} If the value exists, returns the value. If the value is not in the border definition, the function will return a 0px width, solid style, or black border.
+@function get-border-value($val, $elem) {
+  // Find the width, style, or color and return it
+  @each $v in $val {
+    $type: type-of($v);
+    @if $elem == width and $type == 'number' {
+      @return $v;
+    }
+    @if $elem == style and $type == 'string' {
+      @return $v;
+    }
+    @if $elem == color and $type == 'color' {
+      @return $v;
+    }
+  }
+
+  // Defaults
+  $defaults: (
+    width: 0,
+    style: solid,
+    color: #000,
+  );
+
+  @return map-get($defaults, $elem);
+}
+
+/// Finds a value in a nested map.
+/// @link https://css-tricks.com/snippets/sass/deep-getset-maps/ Deep Get/Set in Maps
+///
+/// @param {Map} $map - Map to pull a value from.
+/// @param {String} $keys... - Keys to use when looking for a value.
+/// @returns {Mixed} The value found in the map.
+@function map-deep-get($map, $keys...) {
+  @each $key in $keys {
+    $map: map-get($map, $key);
+  }
+  @return $map;
+}
diff --git a/libraries/foundation-6/test/javascript/components/abide.js b/libraries/foundation-6/test/javascript/components/abide.js
new file mode 100755
index 00000000..b476bfe9
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/abide.js
@@ -0,0 +1,39 @@
+/* jslint mocha: true */
+/*global describe, it, before, beforeEach, after, afterEach, $, Foundation */
+
+describe('Abide', function() {
+  var plugin;
+  var $html;
+
+  afterEach(function() {
+    plugin.destroy();
+    $html.remove();
+  });
+
+  describe('constructor()', function() {
+    it('stores the element & plugin options', function() {
+      $html = $('<form data-abide novalidate></form>').appendTo('body');
+      plugin = new Foundation.Abide($html, {});
+
+      plugin.$element.should.be.an('object');
+      plugin.options.should.be.an('object');
+    });
+  });
+
+  describe('validateInput()', function() {
+    it('returns true for hidden inputs', function() {
+      $html = $("<form data-abide novalidate><input type='hidden' required></form>").appendTo("body");
+      plugin = new Foundation.Abide($html, {});
+
+      plugin.validateInput($html.find("input")).should.equal(true);
+    });
+
+    it('returns true for inputs with [data-abide-ignore]', function() {
+      $html = $("<form data-abide novalidate><input type='text' required data-abide-ignore></form>").appendTo("body");
+      plugin = new Foundation.Abide($html, {});
+
+      plugin.validateInput($html.find("input")).should.equal(true);
+    });
+  });
+
+});
diff --git a/libraries/foundation-6/test/javascript/components/accordion.js b/libraries/foundation-6/test/javascript/components/accordion.js
new file mode 100755
index 00000000..302031bf
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/accordion.js
@@ -0,0 +1,20 @@
+describe('Accordion', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.Accordion($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/accordionMenu.js b/libraries/foundation-6/test/javascript/components/accordionMenu.js
new file mode 100755
index 00000000..7a3c8df3
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/accordionMenu.js
@@ -0,0 +1,20 @@
+describe('Accordion Menu', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.AccordionMenu($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/drilldown.js b/libraries/foundation-6/test/javascript/components/drilldown.js
new file mode 100755
index 00000000..915dee4b
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/drilldown.js
@@ -0,0 +1,20 @@
+describe('Drilldown Menu', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.Drilldown($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/dropdown.js b/libraries/foundation-6/test/javascript/components/dropdown.js
new file mode 100755
index 00000000..18c62daa
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/dropdown.js
@@ -0,0 +1,20 @@
+describe('Dropdown', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.Dropdown($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/dropdownMenu.js b/libraries/foundation-6/test/javascript/components/dropdownMenu.js
new file mode 100755
index 00000000..b8967f38
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/dropdownMenu.js
@@ -0,0 +1,20 @@
+describe('Dropdown Menu', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.DropdownMenu($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/equalizer.js b/libraries/foundation-6/test/javascript/components/equalizer.js
new file mode 100755
index 00000000..85508a26
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/equalizer.js
@@ -0,0 +1,20 @@
+describe('Equalizer', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.Equalizer($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/interchange.js b/libraries/foundation-6/test/javascript/components/interchange.js
new file mode 100755
index 00000000..945b7465
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/interchange.js
@@ -0,0 +1,20 @@
+describe('Interchange', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.Interchange($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/magellan.js b/libraries/foundation-6/test/javascript/components/magellan.js
new file mode 100755
index 00000000..26678f2c
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/magellan.js
@@ -0,0 +1,20 @@
+describe('Magellan', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.Magellan($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/offcanvas.js b/libraries/foundation-6/test/javascript/components/offcanvas.js
new file mode 100755
index 00000000..3935a140
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/offcanvas.js
@@ -0,0 +1,20 @@
+describe('Off Canvas', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.OffCanvas($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/orbit.js b/libraries/foundation-6/test/javascript/components/orbit.js
new file mode 100755
index 00000000..84d0b403
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/orbit.js
@@ -0,0 +1,20 @@
+describe('Orbit', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.Orbit($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/responsiveMenu.js b/libraries/foundation-6/test/javascript/components/responsiveMenu.js
new file mode 100755
index 00000000..bdfc4875
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/responsiveMenu.js
@@ -0,0 +1,20 @@
+describe('Responsive Menu', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.ResponsiveMenu($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/responsiveToggle.js b/libraries/foundation-6/test/javascript/components/responsiveToggle.js
new file mode 100755
index 00000000..0065c29c
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/responsiveToggle.js
@@ -0,0 +1,20 @@
+describe('Responsive Toggle', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.ResponsiveToggle($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/reveal.js b/libraries/foundation-6/test/javascript/components/reveal.js
new file mode 100755
index 00000000..01a25ea2
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/reveal.js
@@ -0,0 +1,20 @@
+describe('Reveal', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.Reveal($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/slider.js b/libraries/foundation-6/test/javascript/components/slider.js
new file mode 100755
index 00000000..41987331
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/slider.js
@@ -0,0 +1,20 @@
+describe('Slider', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.Slider($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/sticky.js b/libraries/foundation-6/test/javascript/components/sticky.js
new file mode 100755
index 00000000..b332c75a
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/sticky.js
@@ -0,0 +1,20 @@
+describe('Sticky', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.Sticky($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/tabs.js b/libraries/foundation-6/test/javascript/components/tabs.js
new file mode 100755
index 00000000..0dab0cee
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/tabs.js
@@ -0,0 +1,20 @@
+describe('Tabs', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.Tabs($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/components/toggler.js b/libraries/foundation-6/test/javascript/components/toggler.js
new file mode 100755
index 00000000..12538c17
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/toggler.js
@@ -0,0 +1,135 @@
+describe('Toggler', function() {
+  var plugin;
+  var $html;
+
+  afterEach(function() {
+    plugin.destroy();
+    $html.remove();
+  });
+
+  describe('constructor()', function() {
+    it('stores the element and plugin options', function() {
+      $html = $('<div id="toggler" data-toggler="class"></div>').appendTo('body');
+      plugin = new Foundation.Toggler($html, {});
+
+      plugin.$element.should.be.an('object');
+      plugin.options.should.be.an('object');
+    });
+  });
+
+  describe('init()', function() {
+    it('stores the class defined on the data-toggler attribute', function() {
+      $html = $('<div id="toggler" data-toggler="class"></div>').appendTo('body');
+      plugin = new Foundation.Toggler($html, {});
+
+      plugin.className.should.equal('class');
+    });
+
+    it('stores the class defined on the data-toggler attribute (with leading dot)', function() {
+      $html = $('<div id="toggler" data-toggler=".class"></div>').appendTo('body');
+      plugin = new Foundation.Toggler($html, {});
+
+      plugin.className.should.equal('class');
+    });
+
+    it('stores defined animation classes', function() {
+      $html = $('<div id="toggler" data-toggler data-animate="fade-in fade-out"></div>').appendTo('body');
+      plugin = new Foundation.Toggler($html, {});
+
+      plugin.animationIn.should.equal('fade-in');
+      plugin.animationOut.should.equal('fade-out');
+    });
+
+    it('adds Aria attributes to click triggers', function() {
+      $html = $('<div id="toggler" data-toggler="class"></div>').appendTo('body');
+      var $triggers = $(`
+        <a data-open="toggler">Open</a>
+        <a data-close="toggler">Close</a>
+        <a data-toggle="toggler">Toggle</a>
+        `).appendTo('body');
+      plugin = new Foundation.Toggler($html, {});
+
+      $('[data-open]').should.have.attr('aria-controls', 'toggler');
+      $('[data-close]').should.have.attr('aria-controls', 'toggler');
+      $('[data-toggle]').should.have.attr('aria-controls', 'toggler');
+
+      $triggers.remove();
+    });
+
+    it('sets aria-expanded to true if the element is visible', function() {
+      $html = $('<div id="toggler" data-toggler="class"></div>').appendTo('body');
+      plugin = new Foundation.Toggler($html, {});
+
+      $('#toggler').should.have.attr('aria-expanded', 'true');
+    });
+
+    it('sets aria-expanded to false if the element is invisible', function() {
+      var $css = $('<style>#toggler { display: none }</style>').appendTo('body');
+      $html = $('<div id="toggler" data-toggler="class"></div>').appendTo('body');
+      plugin = new Foundation.Toggler($html, {});
+
+      $('#toggler').should.have.attr('aria-expanded', 'false');
+      $css.remove();
+    });
+  });
+
+  describe('toggle()', function() {
+    it('calls Toggler._toggleClass() if the element toggles with a class');
+    it('calls Toggler._toggleAnimate() if the element toggles with animation');
+  });
+
+  describe('toggleClass()', function() {
+    it('toggles a class on the element', function() {
+      $html = $('<div id="toggler" data-toggler="class"></div>').appendTo('body');
+      plugin = new Foundation.Toggler($html, {});
+
+      plugin._toggleClass();
+      $('#toggler').should.have.class('class');
+
+      plugin._toggleClass();
+      $('#toggler').should.not.have.class('class');
+    });
+
+    it('updates aria-expanded after the class is toggled', function() {
+      $html = $('<div id="toggler" data-toggler="class"></div>').appendTo('body');
+      plugin = new Foundation.Toggler($html, {});
+
+      plugin._toggleClass();
+      $('#toggler').should.have.attr('aria-expanded', 'true');
+
+      plugin._toggleClass();
+      $('#toggler').should.have.attr('aria-expanded', 'false');
+    });
+  });
+
+  // [TODO] Re-enable this if you can get it working in PhantomJS
+  xdescribe('toggleAnimate()', function() {
+    it('animates an invisible element in', function(done) {
+      var $css = $('<style>#toggler { display: none; }</style>').appendTo('body');
+      $html = $('<div id="toggler" data-toggler data-animate="fade-in fade-out"></div>').appendTo('body');
+      plugin = new Foundation.Toggler($html, {});
+
+      $html.on('on.zf.toggler', function() {
+        $('#toggler').should.be.visible;
+        $('#toggler').should.have.attr('aria-expanded', 'true');
+        $css.remove();
+        done();
+      });
+
+      plugin._toggleAnimate();
+    });
+
+    it('animates an visible element out', function(done) {
+      $html = $('<div id="toggler" data-toggler data-animate="fade-in fade-out"></div>').appendTo('body');
+      plugin = new Foundation.Toggler($html, {});
+
+      $html.on('off.zf.toggler', function() {
+        $('#toggler').should.be.hidden;
+        $('#toggler').should.have.attr('aria-expanded', 'false');
+        done();
+      });
+
+      plugin._toggleAnimate();
+    });
+  });
+});
diff --git a/libraries/foundation-6/test/javascript/components/tooltip.js b/libraries/foundation-6/test/javascript/components/tooltip.js
new file mode 100755
index 00000000..d680367a
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/components/tooltip.js
@@ -0,0 +1,20 @@
+describe('Tooltip', function() {
+	var plugin;
+	var $html;
+
+	// afterEach(function() {
+	// 	plugin.destroy();
+	// 	$html.remove();
+	// });
+
+	describe('constructor()', function() {
+		// it('', function() {
+		// 	$html = $('').appendTo('body');
+		// 	plugin = new Foundation.Tooltip($html, {});
+
+		// 	plugin.$element.should.be.an('object');
+		// 	plugin.options.should.be.an('object');
+		// });
+	});
+
+});
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/index.html b/libraries/foundation-6/test/javascript/index.html
new file mode 100755
index 00000000..0c6e7fde
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/index.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Mocha</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <link rel="stylesheet" href="lib/mocha.css" />
+    <link rel="stylesheet" href="../../_build/assets/css/foundation.css">
+    <link rel="stylesheet" href="../../node_modules/motion-ui/dist/motion-ui.css">
+  </head>
+  <body>
+    <div id="mocha"></div>
+    <script src="../../node_modules/jquery/dist/jquery.js"></script>
+    <script src="../../_build/assets/js/foundation.js"></script>
+    <script src="lib/mocha.js"></script>
+    <script src="lib/chai.js"></script>
+    <script src="lib/chai-jquery.js"></script>
+    <script src="lib/sinon.js"></script>
+    <script>
+      mocha.setup('bdd');
+      chai.should();
+    </script>
+    <script src="js-tests.js"></script>
+    <script>
+      mocha.run();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/javascript/lib/chai-jquery.js b/libraries/foundation-6/test/javascript/lib/chai-jquery.js
new file mode 100755
index 00000000..819a27d6
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/lib/chai-jquery.js
@@ -0,0 +1,231 @@
+(function (chaiJquery) {
+  // Module systems magic dance.
+  if (typeof require === "function" && typeof exports === "object" && typeof module === "object") {
+    // NodeJS
+    module.exports = chaiJquery;
+  } else if (typeof define === "function" && define.amd) {
+    // AMD
+    define(['jquery'], function ($) {
+      return function (chai, utils) {
+        return chaiJquery(chai, utils, $);
+      };
+    });
+  } else {
+    // Other environment (usually <script> tag): plug in to global chai instance directly.
+    chai.use(function (chai, utils) {
+      return chaiJquery(chai, utils, jQuery);
+    });
+  }
+}(function (chai, utils, $) {
+  var inspect = utils.inspect,
+      flag = utils.flag;
+  $ = $ || jQuery;
+
+  var setPrototypeOf = '__proto__' in Object ?
+    function (object, prototype) {
+      object.__proto__ = prototype;
+    } :
+    function (object, prototype) {
+      var excludeNames = /^(?:length|name|arguments|caller)$/;
+
+      function copyProperties(dst, src) {
+        Object.getOwnPropertyNames(src).forEach(function (name) {
+          if (!excludeNames.test(name)) {
+            Object.defineProperty(dst, name,
+              Object.getOwnPropertyDescriptor(src, name));
+          }
+        });
+      }
+
+      copyProperties(object, prototype);
+      copyProperties(object, Object.getPrototypeOf(prototype));
+    };
+
+  $.fn.inspect = function (depth) {
+    var el = $('<div />').append(this.clone());
+    if (depth !== undefined) {
+      var children = el.children();
+      while (depth-- > 0)
+        children = children.children();
+      children.html('...');
+    }
+    return el.html();
+  };
+
+  var props = {attr: 'attribute', css: 'CSS property', prop: 'property'};
+  for (var prop in props) {
+    (function (prop, description) {
+      chai.Assertion.addMethod(prop, function (name, val) {
+        var actual = flag(this, 'object')[prop](name);
+
+        if (!flag(this, 'negate') || undefined === val) {
+          this.assert(
+              undefined !== actual
+            , 'expected #{this} to have a #{exp} ' + description
+            , 'expected #{this} not to have a #{exp} ' + description
+            , name
+          );
+        }
+
+        if (undefined !== val) {
+          this.assert(
+              val === actual
+            , 'expected #{this} to have a ' + inspect(name) + ' ' + description + ' with the value #{exp}, but the value was #{act}'
+            , 'expected #{this} not to have a ' + inspect(name) + ' ' + description + ' with the value #{act}'
+            , val
+            , actual
+          );
+        }
+
+        flag(this, 'object', actual);
+      });
+    })(prop, props[prop]);
+  }
+
+  chai.Assertion.addMethod('data', function (name, val) {
+    // Work around a chai bug (https://github.com/logicalparadox/chai/issues/16)
+    if (flag(this, 'negate') && undefined !== val && undefined === flag(this, 'object').data(name)) {
+      return;
+    }
+
+    var assertion = new chai.Assertion(flag(this, 'object').data());
+    if (flag(this, 'negate'))
+      assertion = assertion.not;
+    return assertion.property(name, val);
+  });
+
+  chai.Assertion.addMethod('class', function (className) {
+    this.assert(
+        flag(this, 'object').hasClass(className)
+      , 'expected #{this} to have class #{exp}'
+      , 'expected #{this} not to have class #{exp}'
+      , className
+    );
+  });
+
+  chai.Assertion.addMethod('id', function (id) {
+    this.assert(
+        flag(this, 'object').attr('id') === id
+      , 'expected #{this} to have id #{exp}'
+      , 'expected #{this} not to have id #{exp}'
+      , id
+    );
+  });
+
+  chai.Assertion.addMethod('html', function (html) {
+    var actual = flag(this, 'object').html();
+    this.assert(
+        actual === html
+      , 'expected #{this} to have HTML #{exp}, but the HTML was #{act}'
+      , 'expected #{this} not to have HTML #{exp}'
+      , html
+      , actual
+    );
+  });
+
+  chai.Assertion.addMethod('text', function (text) {
+    var actual = flag(this, 'object').text();
+    this.assert(
+        actual === text
+      , 'expected #{this} to have text #{exp}, but the text was #{act}'
+      , 'expected #{this} not to have text #{exp}'
+      , text
+      , actual
+    );
+  });
+
+  chai.Assertion.addMethod('value', function (value) {
+    var actual = flag(this, 'object').val();
+    this.assert(
+        flag(this, 'object').val() === value
+      , 'expected #{this} to have value #{exp}, but the value was #{act}'
+      , 'expected #{this} not to have value #{exp}'
+      , value
+      , actual
+    );
+  });
+
+  chai.Assertion.addMethod('descendants', function (selector) {
+    this.assert(
+        flag(this, 'object').has(selector).length > 0
+      , 'expected #{this} to have #{exp}'
+      , 'expected #{this} not to have #{exp}'
+      , selector
+    );
+  });
+
+  $.each(['visible', 'hidden', 'selected', 'checked', 'enabled', 'disabled'], function (i, attr) {
+    chai.Assertion.addProperty(attr, function () {
+      this.assert(
+          flag(this, 'object').is(':' + attr)
+        , 'expected #{this} to be ' + attr
+        , 'expected #{this} not to be ' + attr);
+    });
+  });
+
+  chai.Assertion.overwriteProperty('exist', function (_super) {
+    return function () {
+      var obj = flag(this, 'object');
+      if (obj instanceof $) {
+        this.assert(
+            obj.length > 0
+          , 'expected ' + inspect(obj.selector) + ' to exist'
+          , 'expected ' + inspect(obj.selector) + ' not to exist');
+      } else {
+        _super.apply(this, arguments);
+      }
+    };
+  });
+
+  chai.Assertion.overwriteProperty('empty', function (_super) {
+    return function () {
+      var obj = flag(this, 'object');
+      if (obj instanceof $) {
+        this.assert(
+          obj.is(':empty')
+          , 'expected #{this} to be empty'
+          , 'expected #{this} not to be empty');
+      } else {
+        _super.apply(this, arguments);
+      }
+    };
+  });
+
+  chai.Assertion.overwriteMethod('match', function (_super) {
+    return function (selector) {
+      var obj = flag(this, 'object');
+      if (obj instanceof $) {
+        this.assert(
+            obj.is(selector)
+          , 'expected #{this} to match #{exp}'
+          , 'expected #{this} not to match #{exp}'
+          , selector
+        );
+      } else {
+        _super.apply(this, arguments);
+      }
+    }
+  });
+
+  chai.Assertion.overwriteChainableMethod('contain',
+    function (_super) {
+      return function (text) {
+        var obj = flag(this, 'object');
+        if (obj instanceof $) {
+          this.assert(
+              obj.is(':contains(\'' + text + '\')')
+            , 'expected #{this} to contain #{exp}'
+            , 'expected #{this} not to contain #{exp}'
+            , text);
+        } else {
+          _super.apply(this, arguments);
+        }
+      }
+    },
+    function(_super) {
+      return function() {
+        _super.call(this);
+      };
+    }
+  );
+}));
diff --git a/libraries/foundation-6/test/javascript/lib/chai.js b/libraries/foundation-6/test/javascript/lib/chai.js
new file mode 100755
index 00000000..7c901714
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/lib/chai.js
@@ -0,0 +1,5332 @@
+
+;(function(){
+
+/**
+ * Require the module at `name`.
+ *
+ * @param {String} name
+ * @return {Object} exports
+ * @api public
+ */
+
+function require(name) {
+  var module = require.modules[name];
+  if (!module) throw new Error('failed to require "' + name + '"');
+
+  if (!('exports' in module) && typeof module.definition === 'function') {
+    module.client = module.component = true;
+    module.definition.call(this, module.exports = {}, module);
+    delete module.definition;
+  }
+
+  return module.exports;
+}
+
+/**
+ * Meta info, accessible in the global scope unless you use AMD option.
+ */
+
+require.loader = 'component';
+
+/**
+ * Internal helper object, contains a sorting function for semantiv versioning
+ */
+require.helper = {};
+require.helper.semVerSort = function(a, b) {
+  var aArray = a.version.split('.');
+  var bArray = b.version.split('.');
+  for (var i=0; i<aArray.length; ++i) {
+    var aInt = parseInt(aArray[i], 10);
+    var bInt = parseInt(bArray[i], 10);
+    if (aInt === bInt) {
+      var aLex = aArray[i].substr((""+aInt).length);
+      var bLex = bArray[i].substr((""+bInt).length);
+      if (aLex === '' && bLex !== '') return 1;
+      if (aLex !== '' && bLex === '') return -1;
+      if (aLex !== '' && bLex !== '') return aLex > bLex ? 1 : -1;
+      continue;
+    } else if (aInt > bInt) {
+      return 1;
+    } else {
+      return -1;
+    }
+  }
+  return 0;
+}
+
+/**
+ * Find and require a module which name starts with the provided name.
+ * If multiple modules exists, the highest semver is used. 
+ * This function can only be used for remote dependencies.
+
+ * @param {String} name - module name: `user~repo`
+ * @param {Boolean} returnPath - returns the canonical require path if true, 
+ *                               otherwise it returns the epxorted module
+ */
+require.latest = function (name, returnPath) {
+  function showError(name) {
+    throw new Error('failed to find latest module of "' + name + '"');
+  }
+  // only remotes with semvers, ignore local files conataining a '/'
+  var versionRegexp = /(.*)~(.*)@v?(\d+\.\d+\.\d+[^\/]*)$/;
+  var remoteRegexp = /(.*)~(.*)/;
+  if (!remoteRegexp.test(name)) showError(name);
+  var moduleNames = Object.keys(require.modules);
+  var semVerCandidates = [];
+  var otherCandidates = []; // for instance: name of the git branch
+  for (var i=0; i<moduleNames.length; i++) {
+    var moduleName = moduleNames[i];
+    if (new RegExp(name + '@').test(moduleName)) {
+        var version = moduleName.substr(name.length+1);
+        var semVerMatch = versionRegexp.exec(moduleName);
+        if (semVerMatch != null) {
+          semVerCandidates.push({version: version, name: moduleName});
+        } else {
+          otherCandidates.push({version: version, name: moduleName});
+        } 
+    }
+  }
+  if (semVerCandidates.concat(otherCandidates).length === 0) {
+    showError(name);
+  }
+  if (semVerCandidates.length > 0) {
+    var module = semVerCandidates.sort(require.helper.semVerSort).pop().name;
+    if (returnPath === true) {
+      return module;
+    }
+    return require(module);
+  }
+  // if the build contains more than one branch of the same module
+  // you should not use this funciton
+  var module = otherCandidates.sort(function(a, b) {return a.name > b.name})[0].name;
+  if (returnPath === true) {
+    return module;
+  }
+  return require(module);
+}
+
+/**
+ * Registered modules.
+ */
+
+require.modules = {};
+
+/**
+ * Register module at `name` with callback `definition`.
+ *
+ * @param {String} name
+ * @param {Function} definition
+ * @api private
+ */
+
+require.register = function (name, definition) {
+  require.modules[name] = {
+    definition: definition
+  };
+};
+
+/**
+ * Define a module's exports immediately with `exports`.
+ *
+ * @param {String} name
+ * @param {Generic} exports
+ * @api private
+ */
+
+require.define = function (name, exports) {
+  require.modules[name] = {
+    exports: exports
+  };
+};
+require.register("chaijs~assertion-error@1.0.0", function (exports, module) {
+/*!
+ * assertion-error
+ * Copyright(c) 2013 Jake Luer <jake@qualiancy.com>
+ * MIT Licensed
+ */
+
+/*!
+ * Return a function that will copy properties from
+ * one object to another excluding any originally
+ * listed. Returned function will create a new `{}`.
+ *
+ * @param {String} excluded properties ...
+ * @return {Function}
+ */
+
+function exclude () {
+  var excludes = [].slice.call(arguments);
+
+  function excludeProps (res, obj) {
+    Object.keys(obj).forEach(function (key) {
+      if (!~excludes.indexOf(key)) res[key] = obj[key];
+    });
+  }
+
+  return function extendExclude () {
+    var args = [].slice.call(arguments)
+      , i = 0
+      , res = {};
+
+    for (; i < args.length; i++) {
+      excludeProps(res, args[i]);
+    }
+
+    return res;
+  };
+};
+
+/*!
+ * Primary Exports
+ */
+
+module.exports = AssertionError;
+
+/**
+ * ### AssertionError
+ *
+ * An extension of the JavaScript `Error` constructor for
+ * assertion and validation scenarios.
+ *
+ * @param {String} message
+ * @param {Object} properties to include (optional)
+ * @param {callee} start stack function (optional)
+ */
+
+function AssertionError (message, _props, ssf) {
+  var extend = exclude('name', 'message', 'stack', 'constructor', 'toJSON')
+    , props = extend(_props || {});
+
+  // default values
+  this.message = message || 'Unspecified AssertionError';
+  this.showDiff = false;
+
+  // copy from properties
+  for (var key in props) {
+    this[key] = props[key];
+  }
+
+  // capture stack trace
+  ssf = ssf || arguments.callee;
+  if (ssf && Error.captureStackTrace) {
+    Error.captureStackTrace(this, ssf);
+  }
+}
+
+/*!
+ * Inherit from Error.prototype
+ */
+
+AssertionError.prototype = Object.create(Error.prototype);
+
+/*!
+ * Statically set name
+ */
+
+AssertionError.prototype.name = 'AssertionError';
+
+/*!
+ * Ensure correct constructor
+ */
+
+AssertionError.prototype.constructor = AssertionError;
+
+/**
+ * Allow errors to be converted to JSON for static transfer.
+ *
+ * @param {Boolean} include stack (default: `true`)
+ * @return {Object} object that can be `JSON.stringify`
+ */
+
+AssertionError.prototype.toJSON = function (stack) {
+  var extend = exclude('constructor', 'toJSON', 'stack')
+    , props = extend({ name: this.name }, this);
+
+  // include stack if exists and not turned off
+  if (false !== stack && this.stack) {
+    props.stack = this.stack;
+  }
+
+  return props;
+};
+
+});
+
+require.register("chaijs~type-detect@0.1.1", function (exports, module) {
+/*!
+ * type-detect
+ * Copyright(c) 2013 jake luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/*!
+ * Primary Exports
+ */
+
+var exports = module.exports = getType;
+
+/*!
+ * Detectable javascript natives
+ */
+
+var natives = {
+    '[object Array]': 'array'
+  , '[object RegExp]': 'regexp'
+  , '[object Function]': 'function'
+  , '[object Arguments]': 'arguments'
+  , '[object Date]': 'date'
+};
+
+/**
+ * ### typeOf (obj)
+ *
+ * Use several different techniques to determine
+ * the type of object being tested.
+ *
+ *
+ * @param {Mixed} object
+ * @return {String} object type
+ * @api public
+ */
+
+function getType (obj) {
+  var str = Object.prototype.toString.call(obj);
+  if (natives[str]) return natives[str];
+  if (obj === null) return 'null';
+  if (obj === undefined) return 'undefined';
+  if (obj === Object(obj)) return 'object';
+  return typeof obj;
+}
+
+exports.Library = Library;
+
+/**
+ * ### Library
+ *
+ * Create a repository for custom type detection.
+ *
+ * ```js
+ * var lib = new type.Library;
+ * ```
+ *
+ */
+
+function Library () {
+  this.tests = {};
+}
+
+/**
+ * #### .of (obj)
+ *
+ * Expose replacement `typeof` detection to the library.
+ *
+ * ```js
+ * if ('string' === lib.of('hello world')) {
+ *   // ...
+ * }
+ * ```
+ *
+ * @param {Mixed} object to test
+ * @return {String} type
+ */
+
+Library.prototype.of = getType;
+
+/**
+ * #### .define (type, test)
+ *
+ * Add a test to for the `.test()` assertion.
+ *
+ * Can be defined as a regular expression:
+ *
+ * ```js
+ * lib.define('int', /^[0-9]+$/);
+ * ```
+ *
+ * ... or as a function:
+ *
+ * ```js
+ * lib.define('bln', function (obj) {
+ *   if ('boolean' === lib.of(obj)) return true;
+ *   var blns = [ 'yes', 'no', 'true', 'false', 1, 0 ];
+ *   if ('string' === lib.of(obj)) obj = obj.toLowerCase();
+ *   return !! ~blns.indexOf(obj);
+ * });
+ * ```
+ *
+ * @param {String} type
+ * @param {RegExp|Function} test
+ * @api public
+ */
+
+Library.prototype.define = function (type, test) {
+  if (arguments.length === 1) return this.tests[type];
+  this.tests[type] = test;
+  return this;
+};
+
+/**
+ * #### .test (obj, test)
+ *
+ * Assert that an object is of type. Will first
+ * check natives, and if that does not pass it will
+ * use the user defined custom tests.
+ *
+ * ```js
+ * assert(lib.test('1', 'int'));
+ * assert(lib.test('yes', 'bln'));
+ * ```
+ *
+ * @param {Mixed} object
+ * @param {String} type
+ * @return {Boolean} result
+ * @api public
+ */
+
+Library.prototype.test = function (obj, type) {
+  if (type === getType(obj)) return true;
+  var test = this.tests[type];
+
+  if (test && 'regexp' === getType(test)) {
+    return test.test(obj);
+  } else if (test && 'function' === getType(test)) {
+    return test(obj);
+  } else {
+    throw new ReferenceError('Type test "' + type + '" not defined or invalid.');
+  }
+};
+
+});
+
+require.register("chaijs~deep-eql@0.1.3", function (exports, module) {
+/*!
+ * deep-eql
+ * Copyright(c) 2013 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/*!
+ * Module dependencies
+ */
+
+var type = require('chaijs~type-detect@0.1.1');
+
+/*!
+ * Buffer.isBuffer browser shim
+ */
+
+var Buffer;
+try { Buffer = require('buffer').Buffer; }
+catch(ex) {
+  Buffer = {};
+  Buffer.isBuffer = function() { return false; }
+}
+
+/*!
+ * Primary Export
+ */
+
+module.exports = deepEqual;
+
+/**
+ * Assert super-strict (egal) equality between
+ * two objects of any type.
+ *
+ * @param {Mixed} a
+ * @param {Mixed} b
+ * @param {Array} memoised (optional)
+ * @return {Boolean} equal match
+ */
+
+function deepEqual(a, b, m) {
+  if (sameValue(a, b)) {
+    return true;
+  } else if ('date' === type(a)) {
+    return dateEqual(a, b);
+  } else if ('regexp' === type(a)) {
+    return regexpEqual(a, b);
+  } else if (Buffer.isBuffer(a)) {
+    return bufferEqual(a, b);
+  } else if ('arguments' === type(a)) {
+    return argumentsEqual(a, b, m);
+  } else if (!typeEqual(a, b)) {
+    return false;
+  } else if (('object' !== type(a) && 'object' !== type(b))
+  && ('array' !== type(a) && 'array' !== type(b))) {
+    return sameValue(a, b);
+  } else {
+    return objectEqual(a, b, m);
+  }
+}
+
+/*!
+ * Strict (egal) equality test. Ensures that NaN always
+ * equals NaN and `-0` does not equal `+0`.
+ *
+ * @param {Mixed} a
+ * @param {Mixed} b
+ * @return {Boolean} equal match
+ */
+
+function sameValue(a, b) {
+  if (a === b) return a !== 0 || 1 / a === 1 / b;
+  return a !== a && b !== b;
+}
+
+/*!
+ * Compare the types of two given objects and
+ * return if they are equal. Note that an Array
+ * has a type of `array` (not `object`) and arguments
+ * have a type of `arguments` (not `array`/`object`).
+ *
+ * @param {Mixed} a
+ * @param {Mixed} b
+ * @return {Boolean} result
+ */
+
+function typeEqual(a, b) {
+  return type(a) === type(b);
+}
+
+/*!
+ * Compare two Date objects by asserting that
+ * the time values are equal using `saveValue`.
+ *
+ * @param {Date} a
+ * @param {Date} b
+ * @return {Boolean} result
+ */
+
+function dateEqual(a, b) {
+  if ('date' !== type(b)) return false;
+  return sameValue(a.getTime(), b.getTime());
+}
+
+/*!
+ * Compare two regular expressions by converting them
+ * to string and checking for `sameValue`.
+ *
+ * @param {RegExp} a
+ * @param {RegExp} b
+ * @return {Boolean} result
+ */
+
+function regexpEqual(a, b) {
+  if ('regexp' !== type(b)) return false;
+  return sameValue(a.toString(), b.toString());
+}
+
+/*!
+ * Assert deep equality of two `arguments` objects.
+ * Unfortunately, these must be sliced to arrays
+ * prior to test to ensure no bad behavior.
+ *
+ * @param {Arguments} a
+ * @param {Arguments} b
+ * @param {Array} memoize (optional)
+ * @return {Boolean} result
+ */
+
+function argumentsEqual(a, b, m) {
+  if ('arguments' !== type(b)) return false;
+  a = [].slice.call(a);
+  b = [].slice.call(b);
+  return deepEqual(a, b, m);
+}
+
+/*!
+ * Get enumerable properties of a given object.
+ *
+ * @param {Object} a
+ * @return {Array} property names
+ */
+
+function enumerable(a) {
+  var res = [];
+  for (var key in a) res.push(key);
+  return res;
+}
+
+/*!
+ * Simple equality for flat iterable objects
+ * such as Arrays or Node.js buffers.
+ *
+ * @param {Iterable} a
+ * @param {Iterable} b
+ * @return {Boolean} result
+ */
+
+function iterableEqual(a, b) {
+  if (a.length !==  b.length) return false;
+
+  var i = 0;
+  var match = true;
+
+  for (; i < a.length; i++) {
+    if (a[i] !== b[i]) {
+      match = false;
+      break;
+    }
+  }
+
+  return match;
+}
+
+/*!
+ * Extension to `iterableEqual` specifically
+ * for Node.js Buffers.
+ *
+ * @param {Buffer} a
+ * @param {Mixed} b
+ * @return {Boolean} result
+ */
+
+function bufferEqual(a, b) {
+  if (!Buffer.isBuffer(b)) return false;
+  return iterableEqual(a, b);
+}
+
+/*!
+ * Block for `objectEqual` ensuring non-existing
+ * values don't get in.
+ *
+ * @param {Mixed} object
+ * @return {Boolean} result
+ */
+
+function isValue(a) {
+  return a !== null && a !== undefined;
+}
+
+/*!
+ * Recursively check the equality of two objects.
+ * Once basic sameness has been established it will
+ * defer to `deepEqual` for each enumerable key
+ * in the object.
+ *
+ * @param {Mixed} a
+ * @param {Mixed} b
+ * @return {Boolean} result
+ */
+
+function objectEqual(a, b, m) {
+  if (!isValue(a) || !isValue(b)) {
+    return false;
+  }
+
+  if (a.prototype !== b.prototype) {
+    return false;
+  }
+
+  var i;
+  if (m) {
+    for (i = 0; i < m.length; i++) {
+      if ((m[i][0] === a && m[i][1] === b)
+      ||  (m[i][0] === b && m[i][1] === a)) {
+        return true;
+      }
+    }
+  } else {
+    m = [];
+  }
+
+  try {
+    var ka = enumerable(a);
+    var kb = enumerable(b);
+  } catch (ex) {
+    return false;
+  }
+
+  ka.sort();
+  kb.sort();
+
+  if (!iterableEqual(ka, kb)) {
+    return false;
+  }
+
+  m.push([ a, b ]);
+
+  var key;
+  for (i = ka.length - 1; i >= 0; i--) {
+    key = ka[i];
+    if (!deepEqual(a[key], b[key], m)) {
+      return false;
+    }
+  }
+
+  return true;
+}
+
+});
+
+require.register("chai", function (exports, module) {
+module.exports = require('chai/lib/chai.js');
+
+});
+
+require.register("chai/lib/chai.js", function (exports, module) {
+/*!
+ * chai
+ * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+var used = []
+  , exports = module.exports = {};
+
+/*!
+ * Chai version
+ */
+
+exports.version = '2.1.0';
+
+/*!
+ * Assertion Error
+ */
+
+exports.AssertionError = require('chaijs~assertion-error@1.0.0');
+
+/*!
+ * Utils for plugins (not exported)
+ */
+
+var util = require('chai/lib/chai/utils/index.js');
+
+/**
+ * # .use(function)
+ *
+ * Provides a way to extend the internals of Chai
+ *
+ * @param {Function}
+ * @returns {this} for chaining
+ * @api public
+ */
+
+exports.use = function (fn) {
+  if (!~used.indexOf(fn)) {
+    fn(this, util);
+    used.push(fn);
+  }
+
+  return this;
+};
+
+/*!
+ * Utility Functions
+ */
+
+exports.util = util;
+
+/*!
+ * Configuration
+ */
+
+var config = require('chai/lib/chai/config.js');
+exports.config = config;
+
+/*!
+ * Primary `Assertion` prototype
+ */
+
+var assertion = require('chai/lib/chai/assertion.js');
+exports.use(assertion);
+
+/*!
+ * Core Assertions
+ */
+
+var core = require('chai/lib/chai/core/assertions.js');
+exports.use(core);
+
+/*!
+ * Expect interface
+ */
+
+var expect = require('chai/lib/chai/interface/expect.js');
+exports.use(expect);
+
+/*!
+ * Should interface
+ */
+
+var should = require('chai/lib/chai/interface/should.js');
+exports.use(should);
+
+/*!
+ * Assert interface
+ */
+
+var assert = require('chai/lib/chai/interface/assert.js');
+exports.use(assert);
+
+});
+
+require.register("chai/lib/chai/assertion.js", function (exports, module) {
+/*!
+ * chai
+ * http://chaijs.com
+ * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+var config = require('chai/lib/chai/config.js');
+
+module.exports = function (_chai, util) {
+  /*!
+   * Module dependencies.
+   */
+
+  var AssertionError = _chai.AssertionError
+    , flag = util.flag;
+
+  /*!
+   * Module export.
+   */
+
+  _chai.Assertion = Assertion;
+
+  /*!
+   * Assertion Constructor
+   *
+   * Creates object for chaining.
+   *
+   * @api private
+   */
+
+  function Assertion (obj, msg, stack) {
+    flag(this, 'ssfi', stack || arguments.callee);
+    flag(this, 'object', obj);
+    flag(this, 'message', msg);
+  }
+
+  Object.defineProperty(Assertion, 'includeStack', {
+    get: function() {
+      console.warn('Assertion.includeStack is deprecated, use chai.config.includeStack instead.');
+      return config.includeStack;
+    },
+    set: function(value) {
+      console.warn('Assertion.includeStack is deprecated, use chai.config.includeStack instead.');
+      config.includeStack = value;
+    }
+  });
+
+  Object.defineProperty(Assertion, 'showDiff', {
+    get: function() {
+      console.warn('Assertion.showDiff is deprecated, use chai.config.showDiff instead.');
+      return config.showDiff;
+    },
+    set: function(value) {
+      console.warn('Assertion.showDiff is deprecated, use chai.config.showDiff instead.');
+      config.showDiff = value;
+    }
+  });
+
+  Assertion.addProperty = function (name, fn) {
+    util.addProperty(this.prototype, name, fn);
+  };
+
+  Assertion.addMethod = function (name, fn) {
+    util.addMethod(this.prototype, name, fn);
+  };
+
+  Assertion.addChainableMethod = function (name, fn, chainingBehavior) {
+    util.addChainableMethod(this.prototype, name, fn, chainingBehavior);
+  };
+
+  Assertion.overwriteProperty = function (name, fn) {
+    util.overwriteProperty(this.prototype, name, fn);
+  };
+
+  Assertion.overwriteMethod = function (name, fn) {
+    util.overwriteMethod(this.prototype, name, fn);
+  };
+
+  Assertion.overwriteChainableMethod = function (name, fn, chainingBehavior) {
+    util.overwriteChainableMethod(this.prototype, name, fn, chainingBehavior);
+  };
+
+  /*!
+   * ### .assert(expression, message, negateMessage, expected, actual)
+   *
+   * Executes an expression and check expectations. Throws AssertionError for reporting if test doesn't pass.
+   *
+   * @name assert
+   * @param {Philosophical} expression to be tested
+   * @param {String or Function} message or function that returns message to display if fails
+   * @param {String or Function} negatedMessage or function that returns negatedMessage to display if negated expression fails
+   * @param {Mixed} expected value (remember to check for negation)
+   * @param {Mixed} actual (optional) will default to `this.obj`
+   * @api private
+   */
+
+  Assertion.prototype.assert = function (expr, msg, negateMsg, expected, _actual, showDiff) {
+    var ok = util.test(this, arguments);
+    if (true !== showDiff) showDiff = false;
+    if (true !== config.showDiff) showDiff = false;
+
+    if (!ok) {
+      var msg = util.getMessage(this, arguments)
+        , actual = util.getActual(this, arguments);
+      throw new AssertionError(msg, {
+          actual: actual
+        , expected: expected
+        , showDiff: showDiff
+      }, (config.includeStack) ? this.assert : flag(this, 'ssfi'));
+    }
+  };
+
+  /*!
+   * ### ._obj
+   *
+   * Quick reference to stored `actual` value for plugin developers.
+   *
+   * @api private
+   */
+
+  Object.defineProperty(Assertion.prototype, '_obj',
+    { get: function () {
+        return flag(this, 'object');
+      }
+    , set: function (val) {
+        flag(this, 'object', val);
+      }
+  });
+};
+
+});
+
+require.register("chai/lib/chai/config.js", function (exports, module) {
+module.exports = {
+
+  /**
+   * ### config.includeStack
+   *
+   * User configurable property, influences whether stack trace
+   * is included in Assertion error message. Default of false
+   * suppresses stack trace in the error message.
+   *
+   *     chai.config.includeStack = true;  // enable stack on error
+   *
+   * @param {Boolean}
+   * @api public
+   */
+
+   includeStack: false,
+
+  /**
+   * ### config.showDiff
+   *
+   * User configurable property, influences whether or not
+   * the `showDiff` flag should be included in the thrown
+   * AssertionErrors. `false` will always be `false`; `true`
+   * will be true when the assertion has requested a diff
+   * be shown.
+   *
+   * @param {Boolean}
+   * @api public
+   */
+
+  showDiff: true,
+
+  /**
+   * ### config.truncateThreshold
+   *
+   * User configurable property, sets length threshold for actual and
+   * expected values in assertion errors. If this threshold is exceeded,
+   * the value is truncated.
+   *
+   * Set it to zero if you want to disable truncating altogether.
+   *
+   *     chai.config.truncateThreshold = 0;  // disable truncating
+   *
+   * @param {Number}
+   * @api public
+   */
+
+  truncateThreshold: 40
+
+};
+
+});
+
+require.register("chai/lib/chai/core/assertions.js", function (exports, module) {
+/*!
+ * chai
+ * http://chaijs.com
+ * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+module.exports = function (chai, _) {
+  var Assertion = chai.Assertion
+    , toString = Object.prototype.toString
+    , flag = _.flag;
+
+  /**
+   * ### Language Chains
+   *
+   * The following are provided as chainable getters to
+   * improve the readability of your assertions. They
+   * do not provide testing capabilities unless they
+   * have been overwritten by a plugin.
+   *
+   * **Chains**
+   *
+   * - to
+   * - be
+   * - been
+   * - is
+   * - that
+   * - which
+   * - and
+   * - has
+   * - have
+   * - with
+   * - at
+   * - of
+   * - same
+   *
+   * @name language chains
+   * @api public
+   */
+
+  [ 'to', 'be', 'been'
+  , 'is', 'and', 'has', 'have'
+  , 'with', 'that', 'which', 'at'
+  , 'of', 'same' ].forEach(function (chain) {
+    Assertion.addProperty(chain, function () {
+      return this;
+    });
+  });
+
+  /**
+   * ### .not
+   *
+   * Negates any of assertions following in the chain.
+   *
+   *     expect(foo).to.not.equal('bar');
+   *     expect(goodFn).to.not.throw(Error);
+   *     expect({ foo: 'baz' }).to.have.property('foo')
+   *       .and.not.equal('bar');
+   *
+   * @name not
+   * @api public
+   */
+
+  Assertion.addProperty('not', function () {
+    flag(this, 'negate', true);
+  });
+
+  /**
+   * ### .deep
+   *
+   * Sets the `deep` flag, later used by the `equal` and
+   * `property` assertions.
+   *
+   *     expect(foo).to.deep.equal({ bar: 'baz' });
+   *     expect({ foo: { bar: { baz: 'quux' } } })
+   *       .to.have.deep.property('foo.bar.baz', 'quux');
+   *
+   * @name deep
+   * @api public
+   */
+
+  Assertion.addProperty('deep', function () {
+    flag(this, 'deep', true);
+  });
+
+  /**
+   * ### .any
+   *
+   * Sets the `any` flag, (opposite of the `all` flag)
+   * later used in the `keys` assertion. 
+   *
+   *     expect(foo).to.have.any.keys('bar', 'baz');
+   *
+   * @name any
+   * @api public
+   */
+
+  Assertion.addProperty('any', function () {
+    flag(this, 'any', true);
+    flag(this, 'all', false)
+  });
+
+
+  /**
+   * ### .all
+   *
+   * Sets the `all` flag (opposite of the `any` flag) 
+   * later used by the `keys` assertion.
+   *
+   *     expect(foo).to.have.all.keys('bar', 'baz');
+   *
+   * @name all
+   * @api public
+   */
+
+  Assertion.addProperty('all', function () {
+    flag(this, 'all', true);
+    flag(this, 'any', false);
+  });
+
+  /**
+   * ### .a(type)
+   *
+   * The `a` and `an` assertions are aliases that can be
+   * used either as language chains or to assert a value's
+   * type.
+   *
+   *     // typeof
+   *     expect('test').to.be.a('string');
+   *     expect({ foo: 'bar' }).to.be.an('object');
+   *     expect(null).to.be.a('null');
+   *     expect(undefined).to.be.an('undefined');
+   *
+   *     // language chain
+   *     expect(foo).to.be.an.instanceof(Foo);
+   *
+   * @name a
+   * @alias an
+   * @param {String} type
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  function an (type, msg) {
+    if (msg) flag(this, 'message', msg);
+    type = type.toLowerCase();
+    var obj = flag(this, 'object')
+      , article = ~[ 'a', 'e', 'i', 'o', 'u' ].indexOf(type.charAt(0)) ? 'an ' : 'a ';
+
+    this.assert(
+        type === _.type(obj)
+      , 'expected #{this} to be ' + article + type
+      , 'expected #{this} not to be ' + article + type
+    );
+  }
+
+  Assertion.addChainableMethod('an', an);
+  Assertion.addChainableMethod('a', an);
+
+  /**
+   * ### .include(value)
+   *
+   * The `include` and `contain` assertions can be used as either property
+   * based language chains or as methods to assert the inclusion of an object
+   * in an array or a substring in a string. When used as language chains,
+   * they toggle the `contains` flag for the `keys` assertion.
+   *
+   *     expect([1,2,3]).to.include(2);
+   *     expect('foobar').to.contain('foo');
+   *     expect({ foo: 'bar', hello: 'universe' }).to.include.keys('foo');
+   *
+   * @name include
+   * @alias contain
+   * @alias includes
+   * @alias contains
+   * @param {Object|String|Number} obj
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  function includeChainingBehavior () {
+    flag(this, 'contains', true);
+  }
+
+  function include (val, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+    var expected = false;
+    if (_.type(obj) === 'array' && _.type(val) === 'object') {
+      for (var i in obj) {
+        if (_.eql(obj[i], val)) {
+          expected = true;
+          break;
+        }
+      }
+    } else if (_.type(val) === 'object') {
+      if (!flag(this, 'negate')) {
+        for (var k in val) new Assertion(obj).property(k, val[k]);
+        return;
+      }
+      var subset = {};
+      for (var k in val) subset[k] = obj[k];
+      expected = _.eql(subset, val);
+    } else {
+      expected = obj && ~obj.indexOf(val);
+    }
+    this.assert(
+        expected
+      , 'expected #{this} to include ' + _.inspect(val)
+      , 'expected #{this} to not include ' + _.inspect(val));
+  }
+
+  Assertion.addChainableMethod('include', include, includeChainingBehavior);
+  Assertion.addChainableMethod('contain', include, includeChainingBehavior);
+  Assertion.addChainableMethod('contains', include, includeChainingBehavior);
+  Assertion.addChainableMethod('includes', include, includeChainingBehavior);
+
+  /**
+   * ### .ok
+   *
+   * Asserts that the target is truthy.
+   *
+   *     expect('everthing').to.be.ok;
+   *     expect(1).to.be.ok;
+   *     expect(false).to.not.be.ok;
+   *     expect(undefined).to.not.be.ok;
+   *     expect(null).to.not.be.ok;
+   *
+   * @name ok
+   * @api public
+   */
+
+  Assertion.addProperty('ok', function () {
+    this.assert(
+        flag(this, 'object')
+      , 'expected #{this} to be truthy'
+      , 'expected #{this} to be falsy');
+  });
+
+  /**
+   * ### .true
+   *
+   * Asserts that the target is `true`.
+   *
+   *     expect(true).to.be.true;
+   *     expect(1).to.not.be.true;
+   *
+   * @name true
+   * @api public
+   */
+
+  Assertion.addProperty('true', function () {
+    this.assert(
+        true === flag(this, 'object')
+      , 'expected #{this} to be true'
+      , 'expected #{this} to be false'
+      , this.negate ? false : true
+    );
+  });
+
+  /**
+   * ### .false
+   *
+   * Asserts that the target is `false`.
+   *
+   *     expect(false).to.be.false;
+   *     expect(0).to.not.be.false;
+   *
+   * @name false
+   * @api public
+   */
+
+  Assertion.addProperty('false', function () {
+    this.assert(
+        false === flag(this, 'object')
+      , 'expected #{this} to be false'
+      , 'expected #{this} to be true'
+      , this.negate ? true : false
+    );
+  });
+
+  /**
+   * ### .null
+   *
+   * Asserts that the target is `null`.
+   *
+   *     expect(null).to.be.null;
+   *     expect(undefined).not.to.be.null;
+   *
+   * @name null
+   * @api public
+   */
+
+  Assertion.addProperty('null', function () {
+    this.assert(
+        null === flag(this, 'object')
+      , 'expected #{this} to be null'
+      , 'expected #{this} not to be null'
+    );
+  });
+
+  /**
+   * ### .undefined
+   *
+   * Asserts that the target is `undefined`.
+   *
+   *     expect(undefined).to.be.undefined;
+   *     expect(null).to.not.be.undefined;
+   *
+   * @name undefined
+   * @api public
+   */
+
+  Assertion.addProperty('undefined', function () {
+    this.assert(
+        undefined === flag(this, 'object')
+      , 'expected #{this} to be undefined'
+      , 'expected #{this} not to be undefined'
+    );
+  });
+
+  /**
+   * ### .exist
+   *
+   * Asserts that the target is neither `null` nor `undefined`.
+   *
+   *     var foo = 'hi'
+   *       , bar = null
+   *       , baz;
+   *
+   *     expect(foo).to.exist;
+   *     expect(bar).to.not.exist;
+   *     expect(baz).to.not.exist;
+   *
+   * @name exist
+   * @api public
+   */
+
+  Assertion.addProperty('exist', function () {
+    this.assert(
+        null != flag(this, 'object')
+      , 'expected #{this} to exist'
+      , 'expected #{this} to not exist'
+    );
+  });
+
+
+  /**
+   * ### .empty
+   *
+   * Asserts that the target's length is `0`. For arrays, it checks
+   * the `length` property. For objects, it gets the count of
+   * enumerable keys.
+   *
+   *     expect([]).to.be.empty;
+   *     expect('').to.be.empty;
+   *     expect({}).to.be.empty;
+   *
+   * @name empty
+   * @api public
+   */
+
+  Assertion.addProperty('empty', function () {
+    var obj = flag(this, 'object')
+      , expected = obj;
+
+    if (Array.isArray(obj) || 'string' === typeof object) {
+      expected = obj.length;
+    } else if (typeof obj === 'object') {
+      expected = Object.keys(obj).length;
+    }
+
+    this.assert(
+        !expected
+      , 'expected #{this} to be empty'
+      , 'expected #{this} not to be empty'
+    );
+  });
+
+  /**
+   * ### .arguments
+   *
+   * Asserts that the target is an arguments object.
+   *
+   *     function test () {
+   *       expect(arguments).to.be.arguments;
+   *     }
+   *
+   * @name arguments
+   * @alias Arguments
+   * @api public
+   */
+
+  function checkArguments () {
+    var obj = flag(this, 'object')
+      , type = Object.prototype.toString.call(obj);
+    this.assert(
+        '[object Arguments]' === type
+      , 'expected #{this} to be arguments but got ' + type
+      , 'expected #{this} to not be arguments'
+    );
+  }
+
+  Assertion.addProperty('arguments', checkArguments);
+  Assertion.addProperty('Arguments', checkArguments);
+
+  /**
+   * ### .equal(value)
+   *
+   * Asserts that the target is strictly equal (`===`) to `value`.
+   * Alternately, if the `deep` flag is set, asserts that
+   * the target is deeply equal to `value`.
+   *
+   *     expect('hello').to.equal('hello');
+   *     expect(42).to.equal(42);
+   *     expect(1).to.not.equal(true);
+   *     expect({ foo: 'bar' }).to.not.equal({ foo: 'bar' });
+   *     expect({ foo: 'bar' }).to.deep.equal({ foo: 'bar' });
+   *
+   * @name equal
+   * @alias equals
+   * @alias eq
+   * @alias deep.equal
+   * @param {Mixed} value
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  function assertEqual (val, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+    if (flag(this, 'deep')) {
+      return this.eql(val);
+    } else {
+      this.assert(
+          val === obj
+        , 'expected #{this} to equal #{exp}'
+        , 'expected #{this} to not equal #{exp}'
+        , val
+        , this._obj
+        , true
+      );
+    }
+  }
+
+  Assertion.addMethod('equal', assertEqual);
+  Assertion.addMethod('equals', assertEqual);
+  Assertion.addMethod('eq', assertEqual);
+
+  /**
+   * ### .eql(value)
+   *
+   * Asserts that the target is deeply equal to `value`.
+   *
+   *     expect({ foo: 'bar' }).to.eql({ foo: 'bar' });
+   *     expect([ 1, 2, 3 ]).to.eql([ 1, 2, 3 ]);
+   *
+   * @name eql
+   * @alias eqls
+   * @param {Mixed} value
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  function assertEql(obj, msg) {
+    if (msg) flag(this, 'message', msg);
+    this.assert(
+        _.eql(obj, flag(this, 'object'))
+      , 'expected #{this} to deeply equal #{exp}'
+      , 'expected #{this} to not deeply equal #{exp}'
+      , obj
+      , this._obj
+      , true
+    );
+  }
+
+  Assertion.addMethod('eql', assertEql);
+  Assertion.addMethod('eqls', assertEql);
+
+  /**
+   * ### .above(value)
+   *
+   * Asserts that the target is greater than `value`.
+   *
+   *     expect(10).to.be.above(5);
+   *
+   * Can also be used in conjunction with `length` to
+   * assert a minimum length. The benefit being a
+   * more informative error message than if the length
+   * was supplied directly.
+   *
+   *     expect('foo').to.have.length.above(2);
+   *     expect([ 1, 2, 3 ]).to.have.length.above(2);
+   *
+   * @name above
+   * @alias gt
+   * @alias greaterThan
+   * @param {Number} value
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  function assertAbove (n, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+    if (flag(this, 'doLength')) {
+      new Assertion(obj, msg).to.have.property('length');
+      var len = obj.length;
+      this.assert(
+          len > n
+        , 'expected #{this} to have a length above #{exp} but got #{act}'
+        , 'expected #{this} to not have a length above #{exp}'
+        , n
+        , len
+      );
+    } else {
+      this.assert(
+          obj > n
+        , 'expected #{this} to be above ' + n
+        , 'expected #{this} to be at most ' + n
+      );
+    }
+  }
+
+  Assertion.addMethod('above', assertAbove);
+  Assertion.addMethod('gt', assertAbove);
+  Assertion.addMethod('greaterThan', assertAbove);
+
+  /**
+   * ### .least(value)
+   *
+   * Asserts that the target is greater than or equal to `value`.
+   *
+   *     expect(10).to.be.at.least(10);
+   *
+   * Can also be used in conjunction with `length` to
+   * assert a minimum length. The benefit being a
+   * more informative error message than if the length
+   * was supplied directly.
+   *
+   *     expect('foo').to.have.length.of.at.least(2);
+   *     expect([ 1, 2, 3 ]).to.have.length.of.at.least(3);
+   *
+   * @name least
+   * @alias gte
+   * @param {Number} value
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  function assertLeast (n, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+    if (flag(this, 'doLength')) {
+      new Assertion(obj, msg).to.have.property('length');
+      var len = obj.length;
+      this.assert(
+          len >= n
+        , 'expected #{this} to have a length at least #{exp} but got #{act}'
+        , 'expected #{this} to have a length below #{exp}'
+        , n
+        , len
+      );
+    } else {
+      this.assert(
+          obj >= n
+        , 'expected #{this} to be at least ' + n
+        , 'expected #{this} to be below ' + n
+      );
+    }
+  }
+
+  Assertion.addMethod('least', assertLeast);
+  Assertion.addMethod('gte', assertLeast);
+
+  /**
+   * ### .below(value)
+   *
+   * Asserts that the target is less than `value`.
+   *
+   *     expect(5).to.be.below(10);
+   *
+   * Can also be used in conjunction with `length` to
+   * assert a maximum length. The benefit being a
+   * more informative error message than if the length
+   * was supplied directly.
+   *
+   *     expect('foo').to.have.length.below(4);
+   *     expect([ 1, 2, 3 ]).to.have.length.below(4);
+   *
+   * @name below
+   * @alias lt
+   * @alias lessThan
+   * @param {Number} value
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  function assertBelow (n, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+    if (flag(this, 'doLength')) {
+      new Assertion(obj, msg).to.have.property('length');
+      var len = obj.length;
+      this.assert(
+          len < n
+        , 'expected #{this} to have a length below #{exp} but got #{act}'
+        , 'expected #{this} to not have a length below #{exp}'
+        , n
+        , len
+      );
+    } else {
+      this.assert(
+          obj < n
+        , 'expected #{this} to be below ' + n
+        , 'expected #{this} to be at least ' + n
+      );
+    }
+  }
+
+  Assertion.addMethod('below', assertBelow);
+  Assertion.addMethod('lt', assertBelow);
+  Assertion.addMethod('lessThan', assertBelow);
+
+  /**
+   * ### .most(value)
+   *
+   * Asserts that the target is less than or equal to `value`.
+   *
+   *     expect(5).to.be.at.most(5);
+   *
+   * Can also be used in conjunction with `length` to
+   * assert a maximum length. The benefit being a
+   * more informative error message than if the length
+   * was supplied directly.
+   *
+   *     expect('foo').to.have.length.of.at.most(4);
+   *     expect([ 1, 2, 3 ]).to.have.length.of.at.most(3);
+   *
+   * @name most
+   * @alias lte
+   * @param {Number} value
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  function assertMost (n, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+    if (flag(this, 'doLength')) {
+      new Assertion(obj, msg).to.have.property('length');
+      var len = obj.length;
+      this.assert(
+          len <= n
+        , 'expected #{this} to have a length at most #{exp} but got #{act}'
+        , 'expected #{this} to have a length above #{exp}'
+        , n
+        , len
+      );
+    } else {
+      this.assert(
+          obj <= n
+        , 'expected #{this} to be at most ' + n
+        , 'expected #{this} to be above ' + n
+      );
+    }
+  }
+
+  Assertion.addMethod('most', assertMost);
+  Assertion.addMethod('lte', assertMost);
+
+  /**
+   * ### .within(start, finish)
+   *
+   * Asserts that the target is within a range.
+   *
+   *     expect(7).to.be.within(5,10);
+   *
+   * Can also be used in conjunction with `length` to
+   * assert a length range. The benefit being a
+   * more informative error message than if the length
+   * was supplied directly.
+   *
+   *     expect('foo').to.have.length.within(2,4);
+   *     expect([ 1, 2, 3 ]).to.have.length.within(2,4);
+   *
+   * @name within
+   * @param {Number} start lowerbound inclusive
+   * @param {Number} finish upperbound inclusive
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  Assertion.addMethod('within', function (start, finish, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object')
+      , range = start + '..' + finish;
+    if (flag(this, 'doLength')) {
+      new Assertion(obj, msg).to.have.property('length');
+      var len = obj.length;
+      this.assert(
+          len >= start && len <= finish
+        , 'expected #{this} to have a length within ' + range
+        , 'expected #{this} to not have a length within ' + range
+      );
+    } else {
+      this.assert(
+          obj >= start && obj <= finish
+        , 'expected #{this} to be within ' + range
+        , 'expected #{this} to not be within ' + range
+      );
+    }
+  });
+
+  /**
+   * ### .instanceof(constructor)
+   *
+   * Asserts that the target is an instance of `constructor`.
+   *
+   *     var Tea = function (name) { this.name = name; }
+   *       , Chai = new Tea('chai');
+   *
+   *     expect(Chai).to.be.an.instanceof(Tea);
+   *     expect([ 1, 2, 3 ]).to.be.instanceof(Array);
+   *
+   * @name instanceof
+   * @param {Constructor} constructor
+   * @param {String} message _optional_
+   * @alias instanceOf
+   * @api public
+   */
+
+  function assertInstanceOf (constructor, msg) {
+    if (msg) flag(this, 'message', msg);
+    var name = _.getName(constructor);
+    this.assert(
+        flag(this, 'object') instanceof constructor
+      , 'expected #{this} to be an instance of ' + name
+      , 'expected #{this} to not be an instance of ' + name
+    );
+  };
+
+  Assertion.addMethod('instanceof', assertInstanceOf);
+  Assertion.addMethod('instanceOf', assertInstanceOf);
+
+  /**
+   * ### .property(name, [value])
+   *
+   * Asserts that the target has a property `name`, optionally asserting that
+   * the value of that property is strictly equal to  `value`.
+   * If the `deep` flag is set, you can use dot- and bracket-notation for deep
+   * references into objects and arrays.
+   *
+   *     // simple referencing
+   *     var obj = { foo: 'bar' };
+   *     expect(obj).to.have.property('foo');
+   *     expect(obj).to.have.property('foo', 'bar');
+   *
+   *     // deep referencing
+   *     var deepObj = {
+   *         green: { tea: 'matcha' }
+   *       , teas: [ 'chai', 'matcha', { tea: 'konacha' } ]
+   *     };
+
+   *     expect(deepObj).to.have.deep.property('green.tea', 'matcha');
+   *     expect(deepObj).to.have.deep.property('teas[1]', 'matcha');
+   *     expect(deepObj).to.have.deep.property('teas[2].tea', 'konacha');
+   *
+   * You can also use an array as the starting point of a `deep.property`
+   * assertion, or traverse nested arrays.
+   *
+   *     var arr = [
+   *         [ 'chai', 'matcha', 'konacha' ]
+   *       , [ { tea: 'chai' }
+   *         , { tea: 'matcha' }
+   *         , { tea: 'konacha' } ]
+   *     ];
+   *
+   *     expect(arr).to.have.deep.property('[0][1]', 'matcha');
+   *     expect(arr).to.have.deep.property('[1][2].tea', 'konacha');
+   *
+   * Furthermore, `property` changes the subject of the assertion
+   * to be the value of that property from the original object. This
+   * permits for further chainable assertions on that property.
+   *
+   *     expect(obj).to.have.property('foo')
+   *       .that.is.a('string');
+   *     expect(deepObj).to.have.property('green')
+   *       .that.is.an('object')
+   *       .that.deep.equals({ tea: 'matcha' });
+   *     expect(deepObj).to.have.property('teas')
+   *       .that.is.an('array')
+   *       .with.deep.property('[2]')
+   *         .that.deep.equals({ tea: 'konacha' });
+   *
+   * @name property
+   * @alias deep.property
+   * @param {String} name
+   * @param {Mixed} value (optional)
+   * @param {String} message _optional_
+   * @returns value of property for chaining
+   * @api public
+   */
+
+  Assertion.addMethod('property', function (name, val, msg) {
+    if (msg) flag(this, 'message', msg);
+
+    var isDeep = !!flag(this, 'deep')
+      , descriptor = isDeep ? 'deep property ' : 'property '
+      , negate = flag(this, 'negate')
+      , obj = flag(this, 'object')
+      , pathInfo = isDeep ? _.getPathInfo(name, obj) : null
+      , hasProperty = isDeep
+        ? pathInfo.exists
+        : _.hasProperty(name, obj)
+      , value = isDeep
+        ? pathInfo.value
+        : obj[name];
+
+    if (negate && undefined !== val) {
+      if (undefined === value) {
+        msg = (msg != null) ? msg + ': ' : '';
+        throw new Error(msg + _.inspect(obj) + ' has no ' + descriptor + _.inspect(name));
+      }
+    } else {
+      this.assert(
+          hasProperty
+        , 'expected #{this} to have a ' + descriptor + _.inspect(name)
+        , 'expected #{this} to not have ' + descriptor + _.inspect(name));
+    }
+
+    if (undefined !== val) {
+      this.assert(
+          val === value
+        , 'expected #{this} to have a ' + descriptor + _.inspect(name) + ' of #{exp}, but got #{act}'
+        , 'expected #{this} to not have a ' + descriptor + _.inspect(name) + ' of #{act}'
+        , val
+        , value
+      );
+    }
+
+    flag(this, 'object', value);
+  });
+
+
+  /**
+   * ### .ownProperty(name)
+   *
+   * Asserts that the target has an own property `name`.
+   *
+   *     expect('test').to.have.ownProperty('length');
+   *
+   * @name ownProperty
+   * @alias haveOwnProperty
+   * @param {String} name
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  function assertOwnProperty (name, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+    this.assert(
+        obj.hasOwnProperty(name)
+      , 'expected #{this} to have own property ' + _.inspect(name)
+      , 'expected #{this} to not have own property ' + _.inspect(name)
+    );
+  }
+
+  Assertion.addMethod('ownProperty', assertOwnProperty);
+  Assertion.addMethod('haveOwnProperty', assertOwnProperty);
+
+  /**
+   * ### .length(value)
+   *
+   * Asserts that the target's `length` property has
+   * the expected value.
+   *
+   *     expect([ 1, 2, 3]).to.have.length(3);
+   *     expect('foobar').to.have.length(6);
+   *
+   * Can also be used as a chain precursor to a value
+   * comparison for the length property.
+   *
+   *     expect('foo').to.have.length.above(2);
+   *     expect([ 1, 2, 3 ]).to.have.length.above(2);
+   *     expect('foo').to.have.length.below(4);
+   *     expect([ 1, 2, 3 ]).to.have.length.below(4);
+   *     expect('foo').to.have.length.within(2,4);
+   *     expect([ 1, 2, 3 ]).to.have.length.within(2,4);
+   *
+   * @name length
+   * @alias lengthOf
+   * @param {Number} length
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  function assertLengthChain () {
+    flag(this, 'doLength', true);
+  }
+
+  function assertLength (n, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+    new Assertion(obj, msg).to.have.property('length');
+    var len = obj.length;
+
+    this.assert(
+        len == n
+      , 'expected #{this} to have a length of #{exp} but got #{act}'
+      , 'expected #{this} to not have a length of #{act}'
+      , n
+      , len
+    );
+  }
+
+  Assertion.addChainableMethod('length', assertLength, assertLengthChain);
+  Assertion.addMethod('lengthOf', assertLength);
+
+  /**
+   * ### .match(regexp)
+   *
+   * Asserts that the target matches a regular expression.
+   *
+   *     expect('foobar').to.match(/^foo/);
+   *
+   * @name match
+   * @param {RegExp} RegularExpression
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  Assertion.addMethod('match', function (re, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+    this.assert(
+        re.exec(obj)
+      , 'expected #{this} to match ' + re
+      , 'expected #{this} not to match ' + re
+    );
+  });
+
+  /**
+   * ### .string(string)
+   *
+   * Asserts that the string target contains another string.
+   *
+   *     expect('foobar').to.have.string('bar');
+   *
+   * @name string
+   * @param {String} string
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  Assertion.addMethod('string', function (str, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+    new Assertion(obj, msg).is.a('string');
+
+    this.assert(
+        ~obj.indexOf(str)
+      , 'expected #{this} to contain ' + _.inspect(str)
+      , 'expected #{this} to not contain ' + _.inspect(str)
+    );
+  });
+
+
+  /**
+   * ### .keys(key1, [key2], [...])
+   *
+   * Asserts that the target contains any or all of the passed-in keys.
+   * Use in combination with `any`, `all`, `contains`, or `have` will affect 
+   * what will pass.
+   * 
+   * When used in conjunction with `any`, at least one key that is passed 
+   * in must exist in the target object. This is regardless whether or not 
+   * the `have` or `contain` qualifiers are used. Note, either `any` or `all`
+   * should be used in the assertion. If neither are used, the assertion is
+   * defaulted to `all`.
+   * 
+   * When both `all` and `contain` are used, the target object must have at 
+   * least all of the passed-in keys but may have more keys not listed.
+   * 
+   * When both `all` and `have` are used, the target object must both contain
+   * all of the passed-in keys AND the number of keys in the target object must
+   * match the number of keys passed in (in other words, a target object must 
+   * have all and only all of the passed-in keys).
+   * 
+   *     expect({ foo: 1, bar: 2 }).to.have.any.keys('foo', 'baz');
+   *     expect({ foo: 1, bar: 2 }).to.have.any.keys('foo');
+   *     expect({ foo: 1, bar: 2 }).to.contain.any.keys('bar', 'baz');
+   *     expect({ foo: 1, bar: 2 }).to.contain.any.keys(['foo']);
+   *     expect({ foo: 1, bar: 2 }).to.contain.any.keys({'foo': 6});
+   *     expect({ foo: 1, bar: 2 }).to.have.all.keys(['bar', 'foo']);
+   *     expect({ foo: 1, bar: 2 }).to.have.all.keys({'bar': 6, 'foo', 7});
+   *     expect({ foo: 1, bar: 2, baz: 3 }).to.contain.all.keys(['bar', 'foo']);
+   *     expect({ foo: 1, bar: 2, baz: 3 }).to.contain.all.keys([{'bar': 6}}]);
+   *
+   *
+   * @name keys
+   * @alias key
+   * @param {String...|Array|Object} keys
+   * @api public
+   */
+
+  function assertKeys (keys) {
+    var obj = flag(this, 'object')
+      , str
+      , ok = true
+      , mixedArgsMsg = 'keys must be given single argument of Array|Object|String, or multiple String arguments';
+
+    switch (_.type(keys)) {
+      case "array":
+        if (arguments.length > 1) throw (new Error(mixedArgsMsg));
+        break;
+      case "object":
+        if (arguments.length > 1) throw (new Error(mixedArgsMsg));
+        keys = Object.keys(keys);
+        break;
+      default:
+        keys = Array.prototype.slice.call(arguments);
+    }
+
+    if (!keys.length) throw new Error('keys required');
+
+    var actual = Object.keys(obj)
+      , expected = keys
+      , len = keys.length
+      , any = flag(this, 'any')
+      , all = flag(this, 'all');
+
+    if (!any && !all) {
+      all = true;
+    }
+
+    // Has any
+    if (any) {
+      var intersection = expected.filter(function(key) {
+        return ~actual.indexOf(key);
+      });
+      ok = intersection.length > 0;
+    }
+
+    // Has all
+    if (all) {
+      ok = keys.every(function(key){
+        return ~actual.indexOf(key);
+      });
+      if (!flag(this, 'negate') && !flag(this, 'contains')) {
+        ok = ok && keys.length == actual.length;
+      }
+    }
+
+    // Key string
+    if (len > 1) {
+      keys = keys.map(function(key){
+        return _.inspect(key);
+      });
+      var last = keys.pop();
+      if (all) {
+        str = keys.join(', ') + ', and ' + last;
+      }
+      if (any) {
+        str = keys.join(', ') + ', or ' + last;
+      }
+    } else {
+      str = _.inspect(keys[0]);
+    }
+
+    // Form
+    str = (len > 1 ? 'keys ' : 'key ') + str;
+
+    // Have / include
+    str = (flag(this, 'contains') ? 'contain ' : 'have ') + str;
+
+    // Assertion
+    this.assert(
+        ok
+      , 'expected #{this} to ' + str
+      , 'expected #{this} to not ' + str
+      , expected.slice(0).sort()
+      , actual.sort()
+      , true
+    );
+  }
+
+  Assertion.addMethod('keys', assertKeys);
+  Assertion.addMethod('key', assertKeys);
+
+  /**
+   * ### .throw(constructor)
+   *
+   * Asserts that the function target will throw a specific error, or specific type of error
+   * (as determined using `instanceof`), optionally with a RegExp or string inclusion test
+   * for the error's message.
+   *
+   *     var err = new ReferenceError('This is a bad function.');
+   *     var fn = function () { throw err; }
+   *     expect(fn).to.throw(ReferenceError);
+   *     expect(fn).to.throw(Error);
+   *     expect(fn).to.throw(/bad function/);
+   *     expect(fn).to.not.throw('good function');
+   *     expect(fn).to.throw(ReferenceError, /bad function/);
+   *     expect(fn).to.throw(err);
+   *     expect(fn).to.not.throw(new RangeError('Out of range.'));
+   *
+   * Please note that when a throw expectation is negated, it will check each
+   * parameter independently, starting with error constructor type. The appropriate way
+   * to check for the existence of a type of error but for a message that does not match
+   * is to use `and`.
+   *
+   *     expect(fn).to.throw(ReferenceError)
+   *        .and.not.throw(/good function/);
+   *
+   * @name throw
+   * @alias throws
+   * @alias Throw
+   * @param {ErrorConstructor} constructor
+   * @param {String|RegExp} expected error message
+   * @param {String} message _optional_
+   * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
+   * @returns error for chaining (null if no error)
+   * @api public
+   */
+
+  function assertThrows (constructor, errMsg, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+    new Assertion(obj, msg).is.a('function');
+
+    var thrown = false
+      , desiredError = null
+      , name = null
+      , thrownError = null;
+
+    if (arguments.length === 0) {
+      errMsg = null;
+      constructor = null;
+    } else if (constructor && (constructor instanceof RegExp || 'string' === typeof constructor)) {
+      errMsg = constructor;
+      constructor = null;
+    } else if (constructor && constructor instanceof Error) {
+      desiredError = constructor;
+      constructor = null;
+      errMsg = null;
+    } else if (typeof constructor === 'function') {
+      name = constructor.prototype.name || constructor.name;
+      if (name === 'Error' && constructor !== Error) {
+        name = (new constructor()).name;
+      }
+    } else {
+      constructor = null;
+    }
+
+    try {
+      obj();
+    } catch (err) {
+      // first, check desired error
+      if (desiredError) {
+        this.assert(
+            err === desiredError
+          , 'expected #{this} to throw #{exp} but #{act} was thrown'
+          , 'expected #{this} to not throw #{exp}'
+          , (desiredError instanceof Error ? desiredError.toString() : desiredError)
+          , (err instanceof Error ? err.toString() : err)
+        );
+
+        flag(this, 'object', err);
+        return this;
+      }
+
+      // next, check constructor
+      if (constructor) {
+        this.assert(
+            err instanceof constructor
+          , 'expected #{this} to throw #{exp} but #{act} was thrown'
+          , 'expected #{this} to not throw #{exp} but #{act} was thrown'
+          , name
+          , (err instanceof Error ? err.toString() : err)
+        );
+
+        if (!errMsg) {
+          flag(this, 'object', err);
+          return this;
+        }
+      }
+
+      // next, check message
+      var message = 'object' === _.type(err) && "message" in err
+        ? err.message
+        : '' + err;
+
+      if ((message != null) && errMsg && errMsg instanceof RegExp) {
+        this.assert(
+            errMsg.exec(message)
+          , 'expected #{this} to throw error matching #{exp} but got #{act}'
+          , 'expected #{this} to throw error not matching #{exp}'
+          , errMsg
+          , message
+        );
+
+        flag(this, 'object', err);
+        return this;
+      } else if ((message != null) && errMsg && 'string' === typeof errMsg) {
+        this.assert(
+            ~message.indexOf(errMsg)
+          , 'expected #{this} to throw error including #{exp} but got #{act}'
+          , 'expected #{this} to throw error not including #{act}'
+          , errMsg
+          , message
+        );
+
+        flag(this, 'object', err);
+        return this;
+      } else {
+        thrown = true;
+        thrownError = err;
+      }
+    }
+
+    var actuallyGot = ''
+      , expectedThrown = name !== null
+        ? name
+        : desiredError
+          ? '#{exp}' //_.inspect(desiredError)
+          : 'an error';
+
+    if (thrown) {
+      actuallyGot = ' but #{act} was thrown'
+    }
+
+    this.assert(
+        thrown === true
+      , 'expected #{this} to throw ' + expectedThrown + actuallyGot
+      , 'expected #{this} to not throw ' + expectedThrown + actuallyGot
+      , (desiredError instanceof Error ? desiredError.toString() : desiredError)
+      , (thrownError instanceof Error ? thrownError.toString() : thrownError)
+    );
+
+    flag(this, 'object', thrownError);
+  };
+
+  Assertion.addMethod('throw', assertThrows);
+  Assertion.addMethod('throws', assertThrows);
+  Assertion.addMethod('Throw', assertThrows);
+
+  /**
+   * ### .respondTo(method)
+   *
+   * Asserts that the object or class target will respond to a method.
+   *
+   *     Klass.prototype.bar = function(){};
+   *     expect(Klass).to.respondTo('bar');
+   *     expect(obj).to.respondTo('bar');
+   *
+   * To check if a constructor will respond to a static function,
+   * set the `itself` flag.
+   *
+   *     Klass.baz = function(){};
+   *     expect(Klass).itself.to.respondTo('baz');
+   *
+   * @name respondTo
+   * @param {String} method
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  Assertion.addMethod('respondTo', function (method, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object')
+      , itself = flag(this, 'itself')
+      , context = ('function' === _.type(obj) && !itself)
+        ? obj.prototype[method]
+        : obj[method];
+
+    this.assert(
+        'function' === typeof context
+      , 'expected #{this} to respond to ' + _.inspect(method)
+      , 'expected #{this} to not respond to ' + _.inspect(method)
+    );
+  });
+
+  /**
+   * ### .itself
+   *
+   * Sets the `itself` flag, later used by the `respondTo` assertion.
+   *
+   *     function Foo() {}
+   *     Foo.bar = function() {}
+   *     Foo.prototype.baz = function() {}
+   *
+   *     expect(Foo).itself.to.respondTo('bar');
+   *     expect(Foo).itself.not.to.respondTo('baz');
+   *
+   * @name itself
+   * @api public
+   */
+
+  Assertion.addProperty('itself', function () {
+    flag(this, 'itself', true);
+  });
+
+  /**
+   * ### .satisfy(method)
+   *
+   * Asserts that the target passes a given truth test.
+   *
+   *     expect(1).to.satisfy(function(num) { return num > 0; });
+   *
+   * @name satisfy
+   * @param {Function} matcher
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  Assertion.addMethod('satisfy', function (matcher, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+    var result = matcher(obj);
+    this.assert(
+        result
+      , 'expected #{this} to satisfy ' + _.objDisplay(matcher)
+      , 'expected #{this} to not satisfy' + _.objDisplay(matcher)
+      , this.negate ? false : true
+      , result
+    );
+  });
+
+  /**
+   * ### .closeTo(expected, delta)
+   *
+   * Asserts that the target is equal `expected`, to within a +/- `delta` range.
+   *
+   *     expect(1.5).to.be.closeTo(1, 0.5);
+   *
+   * @name closeTo
+   * @param {Number} expected
+   * @param {Number} delta
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  Assertion.addMethod('closeTo', function (expected, delta, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+
+    new Assertion(obj, msg).is.a('number');
+    if (_.type(expected) !== 'number' || _.type(delta) !== 'number') {
+      throw new Error('the arguments to closeTo must be numbers');
+    }
+
+    this.assert(
+        Math.abs(obj - expected) <= delta
+      , 'expected #{this} to be close to ' + expected + ' +/- ' + delta
+      , 'expected #{this} not to be close to ' + expected + ' +/- ' + delta
+    );
+  });
+
+  function isSubsetOf(subset, superset, cmp) {
+    return subset.every(function(elem) {
+      if (!cmp) return superset.indexOf(elem) !== -1;
+
+      return superset.some(function(elem2) {
+        return cmp(elem, elem2);
+      });
+    })
+  }
+
+  /**
+   * ### .members(set)
+   *
+   * Asserts that the target is a superset of `set`,
+   * or that the target and `set` have the same strictly-equal (===) members.
+   * Alternately, if the `deep` flag is set, set members are compared for deep
+   * equality.
+   *
+   *     expect([1, 2, 3]).to.include.members([3, 2]);
+   *     expect([1, 2, 3]).to.not.include.members([3, 2, 8]);
+   *
+   *     expect([4, 2]).to.have.members([2, 4]);
+   *     expect([5, 2]).to.not.have.members([5, 2, 1]);
+   *
+   *     expect([{ id: 1 }]).to.deep.include.members([{ id: 1 }]);
+   *
+   * @name members
+   * @param {Array} set
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  Assertion.addMethod('members', function (subset, msg) {
+    if (msg) flag(this, 'message', msg);
+    var obj = flag(this, 'object');
+
+    new Assertion(obj).to.be.an('array');
+    new Assertion(subset).to.be.an('array');
+
+    var cmp = flag(this, 'deep') ? _.eql : undefined;
+
+    if (flag(this, 'contains')) {
+      return this.assert(
+          isSubsetOf(subset, obj, cmp)
+        , 'expected #{this} to be a superset of #{act}'
+        , 'expected #{this} to not be a superset of #{act}'
+        , obj
+        , subset
+      );
+    }
+
+    this.assert(
+        isSubsetOf(obj, subset, cmp) && isSubsetOf(subset, obj, cmp)
+        , 'expected #{this} to have the same members as #{act}'
+        , 'expected #{this} to not have the same members as #{act}'
+        , obj
+        , subset
+    );
+  });
+
+  /**
+   * ### .change(function)
+   *
+   * Asserts that a function changes an object property
+   *
+   *     var obj = { val: 10 };
+   *     var fn = function() { obj.val += 3 };
+   *     var noChangeFn = function() { return 'foo' + 'bar'; }
+   *     expect(fn).to.change(obj, 'val');
+   *     expect(noChangFn).to.not.change(obj, 'val')
+   *
+   * @name change
+   * @alias changes
+   * @alias Change
+   * @param {String} object
+   * @param {String} property name
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  function assertChanges (object, prop, msg) {
+    if (msg) flag(this, 'message', msg);
+    var fn = flag(this, 'object');
+    new Assertion(object, msg).to.have.property(prop);
+    new Assertion(fn).is.a('function');
+
+    var initial = object[prop];
+    fn();
+
+    this.assert(
+      initial !== object[prop]
+      , 'expected .' + prop + ' to change'
+      , 'expected .' + prop + ' to not change'
+    );
+  }
+
+  Assertion.addChainableMethod('change', assertChanges);
+  Assertion.addChainableMethod('changes', assertChanges);
+
+  /**
+   * ### .increase(function)
+   *
+   * Asserts that a function increases an object property
+   *
+   *     var obj = { val: 10 };
+   *     var fn = function() { obj.val = 15 };
+   *     expect(fn).to.increase(obj, 'val');
+   *
+   * @name increase
+   * @alias increases
+   * @alias Increase
+   * @param {String} object
+   * @param {String} property name
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  function assertIncreases (object, prop, msg) {
+    if (msg) flag(this, 'message', msg);
+    var fn = flag(this, 'object');
+    new Assertion(object, msg).to.have.property(prop);
+    new Assertion(fn).is.a('function');
+
+    var initial = object[prop];
+    fn();
+
+    this.assert(
+      object[prop] - initial > 0
+      , 'expected .' + prop + ' to increase'
+      , 'expected .' + prop + ' to not increase'
+    );
+  }
+
+  Assertion.addChainableMethod('increase', assertIncreases);
+  Assertion.addChainableMethod('increases', assertIncreases);
+
+  /**
+   * ### .decrease(function)
+   *
+   * Asserts that a function decreases an object property
+   *
+   *     var obj = { val: 10 };
+   *     var fn = function() { obj.val = 5 };
+   *     expect(fn).to.decrease(obj, 'val');
+   *
+   * @name decrease
+   * @alias decreases
+   * @alias Decrease
+   * @param {String} object
+   * @param {String} property name
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  function assertDecreases (object, prop, msg) {
+    if (msg) flag(this, 'message', msg);
+    var fn = flag(this, 'object');
+    new Assertion(object, msg).to.have.property(prop);
+    new Assertion(fn).is.a('function');
+
+    var initial = object[prop];
+    fn();
+
+    this.assert(
+      object[prop] - initial < 0
+      , 'expected .' + prop + ' to decrease'
+      , 'expected .' + prop + ' to not decrease'
+    );
+  }
+
+  Assertion.addChainableMethod('decrease', assertDecreases);
+  Assertion.addChainableMethod('decreases', assertDecreases);
+
+};
+
+});
+
+require.register("chai/lib/chai/interface/assert.js", function (exports, module) {
+/*!
+ * chai
+ * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+
+module.exports = function (chai, util) {
+
+  /*!
+   * Chai dependencies.
+   */
+
+  var Assertion = chai.Assertion
+    , flag = util.flag;
+
+  /*!
+   * Module export.
+   */
+
+  /**
+   * ### assert(expression, message)
+   *
+   * Write your own test expressions.
+   *
+   *     assert('foo' !== 'bar', 'foo is not bar');
+   *     assert(Array.isArray([]), 'empty arrays are arrays');
+   *
+   * @param {Mixed} expression to test for truthiness
+   * @param {String} message to display on error
+   * @name assert
+   * @api public
+   */
+
+  var assert = chai.assert = function (express, errmsg) {
+    var test = new Assertion(null, null, chai.assert);
+    test.assert(
+        express
+      , errmsg
+      , '[ negation message unavailable ]'
+    );
+  };
+
+  /**
+   * ### .fail(actual, expected, [message], [operator])
+   *
+   * Throw a failure. Node.js `assert` module-compatible.
+   *
+   * @name fail
+   * @param {Mixed} actual
+   * @param {Mixed} expected
+   * @param {String} message
+   * @param {String} operator
+   * @api public
+   */
+
+  assert.fail = function (actual, expected, message, operator) {
+    message = message || 'assert.fail()';
+    throw new chai.AssertionError(message, {
+        actual: actual
+      , expected: expected
+      , operator: operator
+    }, assert.fail);
+  };
+
+  /**
+   * ### .ok(object, [message])
+   *
+   * Asserts that `object` is truthy.
+   *
+   *     assert.ok('everything', 'everything is ok');
+   *     assert.ok(false, 'this will fail');
+   *
+   * @name ok
+   * @param {Mixed} object to test
+   * @param {String} message
+   * @api public
+   */
+
+  assert.ok = function (val, msg) {
+    new Assertion(val, msg).is.ok;
+  };
+
+  /**
+   * ### .notOk(object, [message])
+   *
+   * Asserts that `object` is falsy.
+   *
+   *     assert.notOk('everything', 'this will fail');
+   *     assert.notOk(false, 'this will pass');
+   *
+   * @name notOk
+   * @param {Mixed} object to test
+   * @param {String} message
+   * @api public
+   */
+
+  assert.notOk = function (val, msg) {
+    new Assertion(val, msg).is.not.ok;
+  };
+
+  /**
+   * ### .equal(actual, expected, [message])
+   *
+   * Asserts non-strict equality (`==`) of `actual` and `expected`.
+   *
+   *     assert.equal(3, '3', '== coerces values to strings');
+   *
+   * @name equal
+   * @param {Mixed} actual
+   * @param {Mixed} expected
+   * @param {String} message
+   * @api public
+   */
+
+  assert.equal = function (act, exp, msg) {
+    var test = new Assertion(act, msg, assert.equal);
+
+    test.assert(
+        exp == flag(test, 'object')
+      , 'expected #{this} to equal #{exp}'
+      , 'expected #{this} to not equal #{act}'
+      , exp
+      , act
+    );
+  };
+
+  /**
+   * ### .notEqual(actual, expected, [message])
+   *
+   * Asserts non-strict inequality (`!=`) of `actual` and `expected`.
+   *
+   *     assert.notEqual(3, 4, 'these numbers are not equal');
+   *
+   * @name notEqual
+   * @param {Mixed} actual
+   * @param {Mixed} expected
+   * @param {String} message
+   * @api public
+   */
+
+  assert.notEqual = function (act, exp, msg) {
+    var test = new Assertion(act, msg, assert.notEqual);
+
+    test.assert(
+        exp != flag(test, 'object')
+      , 'expected #{this} to not equal #{exp}'
+      , 'expected #{this} to equal #{act}'
+      , exp
+      , act
+    );
+  };
+
+  /**
+   * ### .strictEqual(actual, expected, [message])
+   *
+   * Asserts strict equality (`===`) of `actual` and `expected`.
+   *
+   *     assert.strictEqual(true, true, 'these booleans are strictly equal');
+   *
+   * @name strictEqual
+   * @param {Mixed} actual
+   * @param {Mixed} expected
+   * @param {String} message
+   * @api public
+   */
+
+  assert.strictEqual = function (act, exp, msg) {
+    new Assertion(act, msg).to.equal(exp);
+  };
+
+  /**
+   * ### .notStrictEqual(actual, expected, [message])
+   *
+   * Asserts strict inequality (`!==`) of `actual` and `expected`.
+   *
+   *     assert.notStrictEqual(3, '3', 'no coercion for strict equality');
+   *
+   * @name notStrictEqual
+   * @param {Mixed} actual
+   * @param {Mixed} expected
+   * @param {String} message
+   * @api public
+   */
+
+  assert.notStrictEqual = function (act, exp, msg) {
+    new Assertion(act, msg).to.not.equal(exp);
+  };
+
+  /**
+   * ### .deepEqual(actual, expected, [message])
+   *
+   * Asserts that `actual` is deeply equal to `expected`.
+   *
+   *     assert.deepEqual({ tea: 'green' }, { tea: 'green' });
+   *
+   * @name deepEqual
+   * @param {Mixed} actual
+   * @param {Mixed} expected
+   * @param {String} message
+   * @api public
+   */
+
+  assert.deepEqual = function (act, exp, msg) {
+    new Assertion(act, msg).to.eql(exp);
+  };
+
+  /**
+   * ### .notDeepEqual(actual, expected, [message])
+   *
+   * Assert that `actual` is not deeply equal to `expected`.
+   *
+   *     assert.notDeepEqual({ tea: 'green' }, { tea: 'jasmine' });
+   *
+   * @name notDeepEqual
+   * @param {Mixed} actual
+   * @param {Mixed} expected
+   * @param {String} message
+   * @api public
+   */
+
+  assert.notDeepEqual = function (act, exp, msg) {
+    new Assertion(act, msg).to.not.eql(exp);
+  };
+
+  /**
+   * ### .isTrue(value, [message])
+   *
+   * Asserts that `value` is true.
+   *
+   *     var teaServed = true;
+   *     assert.isTrue(teaServed, 'the tea has been served');
+   *
+   * @name isTrue
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isAbove = function (val, abv, msg) {
+    new Assertion(val, msg).to.be.above(abv);
+  };
+
+   /**
+   * ### .isAbove(valueToCheck, valueToBeAbove, [message])
+   *
+   * Asserts `valueToCheck` is strictly greater than (>) `valueToBeAbove`
+   *
+   *     assert.isAbove(5, 2, '5 is strictly greater than 2');
+   *
+   * @name isAbove
+   * @param {Mixed} valueToCheck
+   * @param {Mixed} valueToBeAbove
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isBelow = function (val, blw, msg) {
+    new Assertion(val, msg).to.be.below(blw);
+  };
+
+   /**
+   * ### .isBelow(valueToCheck, valueToBeBelow, [message])
+   *
+   * Asserts `valueToCheck` is strictly less than (<) `valueToBeBelow`
+   *
+   *     assert.isBelow(3, 6, '3 is strictly less than 6');
+   *
+   * @name isBelow
+   * @param {Mixed} valueToCheck
+   * @param {Mixed} valueToBeBelow
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isTrue = function (val, msg) {
+    new Assertion(val, msg).is['true'];
+  };
+
+  /**
+   * ### .isFalse(value, [message])
+   *
+   * Asserts that `value` is false.
+   *
+   *     var teaServed = false;
+   *     assert.isFalse(teaServed, 'no tea yet? hmm...');
+   *
+   * @name isFalse
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isFalse = function (val, msg) {
+    new Assertion(val, msg).is['false'];
+  };
+
+  /**
+   * ### .isNull(value, [message])
+   *
+   * Asserts that `value` is null.
+   *
+   *     assert.isNull(err, 'there was no error');
+   *
+   * @name isNull
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isNull = function (val, msg) {
+    new Assertion(val, msg).to.equal(null);
+  };
+
+  /**
+   * ### .isNotNull(value, [message])
+   *
+   * Asserts that `value` is not null.
+   *
+   *     var tea = 'tasty chai';
+   *     assert.isNotNull(tea, 'great, time for tea!');
+   *
+   * @name isNotNull
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isNotNull = function (val, msg) {
+    new Assertion(val, msg).to.not.equal(null);
+  };
+
+  /**
+   * ### .isUndefined(value, [message])
+   *
+   * Asserts that `value` is `undefined`.
+   *
+   *     var tea;
+   *     assert.isUndefined(tea, 'no tea defined');
+   *
+   * @name isUndefined
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isUndefined = function (val, msg) {
+    new Assertion(val, msg).to.equal(undefined);
+  };
+
+  /**
+   * ### .isDefined(value, [message])
+   *
+   * Asserts that `value` is not `undefined`.
+   *
+   *     var tea = 'cup of chai';
+   *     assert.isDefined(tea, 'tea has been defined');
+   *
+   * @name isDefined
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isDefined = function (val, msg) {
+    new Assertion(val, msg).to.not.equal(undefined);
+  };
+
+  /**
+   * ### .isFunction(value, [message])
+   *
+   * Asserts that `value` is a function.
+   *
+   *     function serveTea() { return 'cup of tea'; };
+   *     assert.isFunction(serveTea, 'great, we can have tea now');
+   *
+   * @name isFunction
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isFunction = function (val, msg) {
+    new Assertion(val, msg).to.be.a('function');
+  };
+
+  /**
+   * ### .isNotFunction(value, [message])
+   *
+   * Asserts that `value` is _not_ a function.
+   *
+   *     var serveTea = [ 'heat', 'pour', 'sip' ];
+   *     assert.isNotFunction(serveTea, 'great, we have listed the steps');
+   *
+   * @name isNotFunction
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isNotFunction = function (val, msg) {
+    new Assertion(val, msg).to.not.be.a('function');
+  };
+
+  /**
+   * ### .isObject(value, [message])
+   *
+   * Asserts that `value` is an object (as revealed by
+   * `Object.prototype.toString`).
+   *
+   *     var selection = { name: 'Chai', serve: 'with spices' };
+   *     assert.isObject(selection, 'tea selection is an object');
+   *
+   * @name isObject
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isObject = function (val, msg) {
+    new Assertion(val, msg).to.be.a('object');
+  };
+
+  /**
+   * ### .isNotObject(value, [message])
+   *
+   * Asserts that `value` is _not_ an object.
+   *
+   *     var selection = 'chai'
+   *     assert.isNotObject(selection, 'tea selection is not an object');
+   *     assert.isNotObject(null, 'null is not an object');
+   *
+   * @name isNotObject
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isNotObject = function (val, msg) {
+    new Assertion(val, msg).to.not.be.a('object');
+  };
+
+  /**
+   * ### .isArray(value, [message])
+   *
+   * Asserts that `value` is an array.
+   *
+   *     var menu = [ 'green', 'chai', 'oolong' ];
+   *     assert.isArray(menu, 'what kind of tea do we want?');
+   *
+   * @name isArray
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isArray = function (val, msg) {
+    new Assertion(val, msg).to.be.an('array');
+  };
+
+  /**
+   * ### .isNotArray(value, [message])
+   *
+   * Asserts that `value` is _not_ an array.
+   *
+   *     var menu = 'green|chai|oolong';
+   *     assert.isNotArray(menu, 'what kind of tea do we want?');
+   *
+   * @name isNotArray
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isNotArray = function (val, msg) {
+    new Assertion(val, msg).to.not.be.an('array');
+  };
+
+  /**
+   * ### .isString(value, [message])
+   *
+   * Asserts that `value` is a string.
+   *
+   *     var teaOrder = 'chai';
+   *     assert.isString(teaOrder, 'order placed');
+   *
+   * @name isString
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isString = function (val, msg) {
+    new Assertion(val, msg).to.be.a('string');
+  };
+
+  /**
+   * ### .isNotString(value, [message])
+   *
+   * Asserts that `value` is _not_ a string.
+   *
+   *     var teaOrder = 4;
+   *     assert.isNotString(teaOrder, 'order placed');
+   *
+   * @name isNotString
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isNotString = function (val, msg) {
+    new Assertion(val, msg).to.not.be.a('string');
+  };
+
+  /**
+   * ### .isNumber(value, [message])
+   *
+   * Asserts that `value` is a number.
+   *
+   *     var cups = 2;
+   *     assert.isNumber(cups, 'how many cups');
+   *
+   * @name isNumber
+   * @param {Number} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isNumber = function (val, msg) {
+    new Assertion(val, msg).to.be.a('number');
+  };
+
+  /**
+   * ### .isNotNumber(value, [message])
+   *
+   * Asserts that `value` is _not_ a number.
+   *
+   *     var cups = '2 cups please';
+   *     assert.isNotNumber(cups, 'how many cups');
+   *
+   * @name isNotNumber
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isNotNumber = function (val, msg) {
+    new Assertion(val, msg).to.not.be.a('number');
+  };
+
+  /**
+   * ### .isBoolean(value, [message])
+   *
+   * Asserts that `value` is a boolean.
+   *
+   *     var teaReady = true
+   *       , teaServed = false;
+   *
+   *     assert.isBoolean(teaReady, 'is the tea ready');
+   *     assert.isBoolean(teaServed, 'has tea been served');
+   *
+   * @name isBoolean
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isBoolean = function (val, msg) {
+    new Assertion(val, msg).to.be.a('boolean');
+  };
+
+  /**
+   * ### .isNotBoolean(value, [message])
+   *
+   * Asserts that `value` is _not_ a boolean.
+   *
+   *     var teaReady = 'yep'
+   *       , teaServed = 'nope';
+   *
+   *     assert.isNotBoolean(teaReady, 'is the tea ready');
+   *     assert.isNotBoolean(teaServed, 'has tea been served');
+   *
+   * @name isNotBoolean
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.isNotBoolean = function (val, msg) {
+    new Assertion(val, msg).to.not.be.a('boolean');
+  };
+
+  /**
+   * ### .typeOf(value, name, [message])
+   *
+   * Asserts that `value`'s type is `name`, as determined by
+   * `Object.prototype.toString`.
+   *
+   *     assert.typeOf({ tea: 'chai' }, 'object', 'we have an object');
+   *     assert.typeOf(['chai', 'jasmine'], 'array', 'we have an array');
+   *     assert.typeOf('tea', 'string', 'we have a string');
+   *     assert.typeOf(/tea/, 'regexp', 'we have a regular expression');
+   *     assert.typeOf(null, 'null', 'we have a null');
+   *     assert.typeOf(undefined, 'undefined', 'we have an undefined');
+   *
+   * @name typeOf
+   * @param {Mixed} value
+   * @param {String} name
+   * @param {String} message
+   * @api public
+   */
+
+  assert.typeOf = function (val, type, msg) {
+    new Assertion(val, msg).to.be.a(type);
+  };
+
+  /**
+   * ### .notTypeOf(value, name, [message])
+   *
+   * Asserts that `value`'s type is _not_ `name`, as determined by
+   * `Object.prototype.toString`.
+   *
+   *     assert.notTypeOf('tea', 'number', 'strings are not numbers');
+   *
+   * @name notTypeOf
+   * @param {Mixed} value
+   * @param {String} typeof name
+   * @param {String} message
+   * @api public
+   */
+
+  assert.notTypeOf = function (val, type, msg) {
+    new Assertion(val, msg).to.not.be.a(type);
+  };
+
+  /**
+   * ### .instanceOf(object, constructor, [message])
+   *
+   * Asserts that `value` is an instance of `constructor`.
+   *
+   *     var Tea = function (name) { this.name = name; }
+   *       , chai = new Tea('chai');
+   *
+   *     assert.instanceOf(chai, Tea, 'chai is an instance of tea');
+   *
+   * @name instanceOf
+   * @param {Object} object
+   * @param {Constructor} constructor
+   * @param {String} message
+   * @api public
+   */
+
+  assert.instanceOf = function (val, type, msg) {
+    new Assertion(val, msg).to.be.instanceOf(type);
+  };
+
+  /**
+   * ### .notInstanceOf(object, constructor, [message])
+   *
+   * Asserts `value` is not an instance of `constructor`.
+   *
+   *     var Tea = function (name) { this.name = name; }
+   *       , chai = new String('chai');
+   *
+   *     assert.notInstanceOf(chai, Tea, 'chai is not an instance of tea');
+   *
+   * @name notInstanceOf
+   * @param {Object} object
+   * @param {Constructor} constructor
+   * @param {String} message
+   * @api public
+   */
+
+  assert.notInstanceOf = function (val, type, msg) {
+    new Assertion(val, msg).to.not.be.instanceOf(type);
+  };
+
+  /**
+   * ### .include(haystack, needle, [message])
+   *
+   * Asserts that `haystack` includes `needle`. Works
+   * for strings and arrays.
+   *
+   *     assert.include('foobar', 'bar', 'foobar contains string "bar"');
+   *     assert.include([ 1, 2, 3 ], 3, 'array contains value');
+   *
+   * @name include
+   * @param {Array|String} haystack
+   * @param {Mixed} needle
+   * @param {String} message
+   * @api public
+   */
+
+  assert.include = function (exp, inc, msg) {
+    new Assertion(exp, msg, assert.include).include(inc);
+  };
+
+  /**
+   * ### .notInclude(haystack, needle, [message])
+   *
+   * Asserts that `haystack` does not include `needle`. Works
+   * for strings and arrays.
+   *i
+   *     assert.notInclude('foobar', 'baz', 'string not include substring');
+   *     assert.notInclude([ 1, 2, 3 ], 4, 'array not include contain value');
+   *
+   * @name notInclude
+   * @param {Array|String} haystack
+   * @param {Mixed} needle
+   * @param {String} message
+   * @api public
+   */
+
+  assert.notInclude = function (exp, inc, msg) {
+    new Assertion(exp, msg, assert.notInclude).not.include(inc);
+  };
+
+  /**
+   * ### .match(value, regexp, [message])
+   *
+   * Asserts that `value` matches the regular expression `regexp`.
+   *
+   *     assert.match('foobar', /^foo/, 'regexp matches');
+   *
+   * @name match
+   * @param {Mixed} value
+   * @param {RegExp} regexp
+   * @param {String} message
+   * @api public
+   */
+
+  assert.match = function (exp, re, msg) {
+    new Assertion(exp, msg).to.match(re);
+  };
+
+  /**
+   * ### .notMatch(value, regexp, [message])
+   *
+   * Asserts that `value` does not match the regular expression `regexp`.
+   *
+   *     assert.notMatch('foobar', /^foo/, 'regexp does not match');
+   *
+   * @name notMatch
+   * @param {Mixed} value
+   * @param {RegExp} regexp
+   * @param {String} message
+   * @api public
+   */
+
+  assert.notMatch = function (exp, re, msg) {
+    new Assertion(exp, msg).to.not.match(re);
+  };
+
+  /**
+   * ### .property(object, property, [message])
+   *
+   * Asserts that `object` has a property named by `property`.
+   *
+   *     assert.property({ tea: { green: 'matcha' }}, 'tea');
+   *
+   * @name property
+   * @param {Object} object
+   * @param {String} property
+   * @param {String} message
+   * @api public
+   */
+
+  assert.property = function (obj, prop, msg) {
+    new Assertion(obj, msg).to.have.property(prop);
+  };
+
+  /**
+   * ### .notProperty(object, property, [message])
+   *
+   * Asserts that `object` does _not_ have a property named by `property`.
+   *
+   *     assert.notProperty({ tea: { green: 'matcha' }}, 'coffee');
+   *
+   * @name notProperty
+   * @param {Object} object
+   * @param {String} property
+   * @param {String} message
+   * @api public
+   */
+
+  assert.notProperty = function (obj, prop, msg) {
+    new Assertion(obj, msg).to.not.have.property(prop);
+  };
+
+  /**
+   * ### .deepProperty(object, property, [message])
+   *
+   * Asserts that `object` has a property named by `property`, which can be a
+   * string using dot- and bracket-notation for deep reference.
+   *
+   *     assert.deepProperty({ tea: { green: 'matcha' }}, 'tea.green');
+   *
+   * @name deepProperty
+   * @param {Object} object
+   * @param {String} property
+   * @param {String} message
+   * @api public
+   */
+
+  assert.deepProperty = function (obj, prop, msg) {
+    new Assertion(obj, msg).to.have.deep.property(prop);
+  };
+
+  /**
+   * ### .notDeepProperty(object, property, [message])
+   *
+   * Asserts that `object` does _not_ have a property named by `property`, which
+   * can be a string using dot- and bracket-notation for deep reference.
+   *
+   *     assert.notDeepProperty({ tea: { green: 'matcha' }}, 'tea.oolong');
+   *
+   * @name notDeepProperty
+   * @param {Object} object
+   * @param {String} property
+   * @param {String} message
+   * @api public
+   */
+
+  assert.notDeepProperty = function (obj, prop, msg) {
+    new Assertion(obj, msg).to.not.have.deep.property(prop);
+  };
+
+  /**
+   * ### .propertyVal(object, property, value, [message])
+   *
+   * Asserts that `object` has a property named by `property` with value given
+   * by `value`.
+   *
+   *     assert.propertyVal({ tea: 'is good' }, 'tea', 'is good');
+   *
+   * @name propertyVal
+   * @param {Object} object
+   * @param {String} property
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.propertyVal = function (obj, prop, val, msg) {
+    new Assertion(obj, msg).to.have.property(prop, val);
+  };
+
+  /**
+   * ### .propertyNotVal(object, property, value, [message])
+   *
+   * Asserts that `object` has a property named by `property`, but with a value
+   * different from that given by `value`.
+   *
+   *     assert.propertyNotVal({ tea: 'is good' }, 'tea', 'is bad');
+   *
+   * @name propertyNotVal
+   * @param {Object} object
+   * @param {String} property
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.propertyNotVal = function (obj, prop, val, msg) {
+    new Assertion(obj, msg).to.not.have.property(prop, val);
+  };
+
+  /**
+   * ### .deepPropertyVal(object, property, value, [message])
+   *
+   * Asserts that `object` has a property named by `property` with value given
+   * by `value`. `property` can use dot- and bracket-notation for deep
+   * reference.
+   *
+   *     assert.deepPropertyVal({ tea: { green: 'matcha' }}, 'tea.green', 'matcha');
+   *
+   * @name deepPropertyVal
+   * @param {Object} object
+   * @param {String} property
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.deepPropertyVal = function (obj, prop, val, msg) {
+    new Assertion(obj, msg).to.have.deep.property(prop, val);
+  };
+
+  /**
+   * ### .deepPropertyNotVal(object, property, value, [message])
+   *
+   * Asserts that `object` has a property named by `property`, but with a value
+   * different from that given by `value`. `property` can use dot- and
+   * bracket-notation for deep reference.
+   *
+   *     assert.deepPropertyNotVal({ tea: { green: 'matcha' }}, 'tea.green', 'konacha');
+   *
+   * @name deepPropertyNotVal
+   * @param {Object} object
+   * @param {String} property
+   * @param {Mixed} value
+   * @param {String} message
+   * @api public
+   */
+
+  assert.deepPropertyNotVal = function (obj, prop, val, msg) {
+    new Assertion(obj, msg).to.not.have.deep.property(prop, val);
+  };
+
+  /**
+   * ### .lengthOf(object, length, [message])
+   *
+   * Asserts that `object` has a `length` property with the expected value.
+   *
+   *     assert.lengthOf([1,2,3], 3, 'array has length of 3');
+   *     assert.lengthOf('foobar', 5, 'string has length of 6');
+   *
+   * @name lengthOf
+   * @param {Mixed} object
+   * @param {Number} length
+   * @param {String} message
+   * @api public
+   */
+
+  assert.lengthOf = function (exp, len, msg) {
+    new Assertion(exp, msg).to.have.length(len);
+  };
+
+  /**
+   * ### .throws(function, [constructor/string/regexp], [string/regexp], [message])
+   *
+   * Asserts that `function` will throw an error that is an instance of
+   * `constructor`, or alternately that it will throw an error with message
+   * matching `regexp`.
+   *
+   *     assert.throw(fn, 'function throws a reference error');
+   *     assert.throw(fn, /function throws a reference error/);
+   *     assert.throw(fn, ReferenceError);
+   *     assert.throw(fn, ReferenceError, 'function throws a reference error');
+   *     assert.throw(fn, ReferenceError, /function throws a reference error/);
+   *
+   * @name throws
+   * @alias throw
+   * @alias Throw
+   * @param {Function} function
+   * @param {ErrorConstructor} constructor
+   * @param {RegExp} regexp
+   * @param {String} message
+   * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
+   * @api public
+   */
+
+  assert.Throw = function (fn, errt, errs, msg) {
+    if ('string' === typeof errt || errt instanceof RegExp) {
+      errs = errt;
+      errt = null;
+    }
+
+    var assertErr = new Assertion(fn, msg).to.Throw(errt, errs);
+    return flag(assertErr, 'object');
+  };
+
+  /**
+   * ### .doesNotThrow(function, [constructor/regexp], [message])
+   *
+   * Asserts that `function` will _not_ throw an error that is an instance of
+   * `constructor`, or alternately that it will not throw an error with message
+   * matching `regexp`.
+   *
+   *     assert.doesNotThrow(fn, Error, 'function does not throw');
+   *
+   * @name doesNotThrow
+   * @param {Function} function
+   * @param {ErrorConstructor} constructor
+   * @param {RegExp} regexp
+   * @param {String} message
+   * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
+   * @api public
+   */
+
+  assert.doesNotThrow = function (fn, type, msg) {
+    if ('string' === typeof type) {
+      msg = type;
+      type = null;
+    }
+
+    new Assertion(fn, msg).to.not.Throw(type);
+  };
+
+  /**
+   * ### .operator(val1, operator, val2, [message])
+   *
+   * Compares two values using `operator`.
+   *
+   *     assert.operator(1, '<', 2, 'everything is ok');
+   *     assert.operator(1, '>', 2, 'this will fail');
+   *
+   * @name operator
+   * @param {Mixed} val1
+   * @param {String} operator
+   * @param {Mixed} val2
+   * @param {String} message
+   * @api public
+   */
+
+  assert.operator = function (val, operator, val2, msg) {
+    if (!~['==', '===', '>', '>=', '<', '<=', '!=', '!=='].indexOf(operator)) {
+      throw new Error('Invalid operator "' + operator + '"');
+    }
+    var test = new Assertion(eval(val + operator + val2), msg);
+    test.assert(
+        true === flag(test, 'object')
+      , 'expected ' + util.inspect(val) + ' to be ' + operator + ' ' + util.inspect(val2)
+      , 'expected ' + util.inspect(val) + ' to not be ' + operator + ' ' + util.inspect(val2) );
+  };
+
+  /**
+   * ### .closeTo(actual, expected, delta, [message])
+   *
+   * Asserts that the target is equal `expected`, to within a +/- `delta` range.
+   *
+   *     assert.closeTo(1.5, 1, 0.5, 'numbers are close');
+   *
+   * @name closeTo
+   * @param {Number} actual
+   * @param {Number} expected
+   * @param {Number} delta
+   * @param {String} message
+   * @api public
+   */
+
+  assert.closeTo = function (act, exp, delta, msg) {
+    new Assertion(act, msg).to.be.closeTo(exp, delta);
+  };
+
+  /**
+   * ### .sameMembers(set1, set2, [message])
+   *
+   * Asserts that `set1` and `set2` have the same members.
+   * Order is not taken into account.
+   *
+   *     assert.sameMembers([ 1, 2, 3 ], [ 2, 1, 3 ], 'same members');
+   *
+   * @name sameMembers
+   * @param {Array} set1
+   * @param {Array} set2
+   * @param {String} message
+   * @api public
+   */
+
+  assert.sameMembers = function (set1, set2, msg) {
+    new Assertion(set1, msg).to.have.same.members(set2);
+  }
+
+  /**
+   * ### .sameDeepMembers(set1, set2, [message])
+   *
+   * Asserts that `set1` and `set2` have the same members - using a deep equality checking.
+   * Order is not taken into account.
+   *
+   *     assert.sameDeepMembers([ {b: 3}, {a: 2}, {c: 5} ], [ {c: 5}, {b: 3}, {a: 2} ], 'same deep members');
+   *
+   * @name sameDeepMembers
+   * @param {Array} set1
+   * @param {Array} set2
+   * @param {String} message
+   * @api public
+   */
+
+  assert.sameDeepMembers = function (set1, set2, msg) {
+    new Assertion(set1, msg).to.have.same.deep.members(set2);
+  }
+
+  /**
+   * ### .includeMembers(superset, subset, [message])
+   *
+   * Asserts that `subset` is included in `superset`.
+   * Order is not taken into account.
+   *
+   *     assert.includeMembers([ 1, 2, 3 ], [ 2, 1 ], 'include members');
+   *
+   * @name includeMembers
+   * @param {Array} superset
+   * @param {Array} subset
+   * @param {String} message
+   * @api public
+   */
+
+  assert.includeMembers = function (superset, subset, msg) {
+    new Assertion(superset, msg).to.include.members(subset);
+  }
+
+   /**
+   * ### .changes(function, object, property)
+   *
+   * Asserts that a function changes the value of a property
+   *
+   *     var obj = { val: 10 };
+   *     var fn = function() { obj.val = 22 };
+   *     assert.changes(fn, obj, 'val');
+   *
+   * @name changes
+   * @param {Function} modifier function
+   * @param {Object} object
+   * @param {String} property name
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  assert.changes = function (fn, obj, prop) {
+    new Assertion(fn).to.change(obj, prop);
+  }
+
+   /**
+   * ### .doesNotChange(function, object, property)
+   *
+   * Asserts that a function does not changes the value of a property
+   *
+   *     var obj = { val: 10 };
+   *     var fn = function() { console.log('foo'); };
+   *     assert.doesNotChange(fn, obj, 'val');
+   *
+   * @name doesNotChange
+   * @param {Function} modifier function
+   * @param {Object} object
+   * @param {String} property name
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  assert.doesNotChange = function (fn, obj, prop) {
+    new Assertion(fn).to.not.change(obj, prop);
+  }
+
+   /**
+   * ### .increases(function, object, property)
+   *
+   * Asserts that a function increases an object property
+   *
+   *     var obj = { val: 10 };
+   *     var fn = function() { obj.val = 13 };
+   *     assert.increases(fn, obj, 'val');
+   *
+   * @name increases
+   * @param {Function} modifier function
+   * @param {Object} object
+   * @param {String} property name
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  assert.increases = function (fn, obj, prop) {
+    new Assertion(fn).to.increase(obj, prop);
+  }
+
+   /**
+   * ### .doesNotIncrease(function, object, property)
+   *
+   * Asserts that a function does not increase object property
+   *
+   *     var obj = { val: 10 };
+   *     var fn = function() { obj.val = 8 };
+   *     assert.doesNotIncrease(fn, obj, 'val');
+   *
+   * @name doesNotIncrease
+   * @param {Function} modifier function
+   * @param {Object} object
+   * @param {String} property name
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  assert.doesNotIncrease = function (fn, obj, prop) {
+    new Assertion(fn).to.not.increase(obj, prop);
+  }
+
+   /**
+   * ### .decreases(function, object, property)
+   *
+   * Asserts that a function decreases an object property
+   *
+   *     var obj = { val: 10 };
+   *     var fn = function() { obj.val = 5 };
+   *     assert.decreases(fn, obj, 'val');
+   *
+   * @name decreases
+   * @param {Function} modifier function
+   * @param {Object} object
+   * @param {String} property name
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  assert.decreases = function (fn, obj, prop) {
+    new Assertion(fn).to.decrease(obj, prop);
+  }
+
+   /**
+   * ### .doesNotDecrease(function, object, property)
+   *
+   * Asserts that a function does not decreases an object property
+   *
+   *     var obj = { val: 10 };
+   *     var fn = function() { obj.val = 15 };
+   *     assert.doesNotDecrease(fn, obj, 'val');
+   *
+   * @name doesNotDecrease
+   * @param {Function} modifier function
+   * @param {Object} object
+   * @param {String} property name
+   * @param {String} message _optional_
+   * @api public
+   */
+
+  assert.doesNotDecrease = function (fn, obj, prop) {
+    new Assertion(fn).to.not.decrease(obj, prop);
+  }
+
+  /*!
+   * Undocumented / untested
+   */
+
+  assert.ifError = function (val, msg) {
+    new Assertion(val, msg).to.not.be.ok;
+  };
+
+  /*!
+   * Aliases.
+   */
+
+  (function alias(name, as){
+    assert[as] = assert[name];
+    return alias;
+  })
+  ('Throw', 'throw')
+  ('Throw', 'throws');
+};
+
+});
+
+require.register("chai/lib/chai/interface/expect.js", function (exports, module) {
+/*!
+ * chai
+ * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+module.exports = function (chai, util) {
+  chai.expect = function (val, message) {
+    return new chai.Assertion(val, message);
+  };
+
+  /**
+   * ### .fail(actual, expected, [message], [operator])
+   *
+   * Throw a failure.
+   *
+   * @name fail
+   * @param {Mixed} actual
+   * @param {Mixed} expected
+   * @param {String} message
+   * @param {String} operator
+   * @api public
+   */
+
+  chai.expect.fail = function (actual, expected, message, operator) {
+    message = message || 'expect.fail()';
+    throw new chai.AssertionError(message, {
+        actual: actual
+      , expected: expected
+      , operator: operator
+    }, chai.expect.fail);
+  };
+};
+
+});
+
+require.register("chai/lib/chai/interface/should.js", function (exports, module) {
+/*!
+ * chai
+ * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+module.exports = function (chai, util) {
+  var Assertion = chai.Assertion;
+
+  function loadShould () {
+    // explicitly define this method as function as to have it's name to include as `ssfi`
+    function shouldGetter() {
+      if (this instanceof String || this instanceof Number) {
+        return new Assertion(this.constructor(this), null, shouldGetter);
+      } else if (this instanceof Boolean) {
+        return new Assertion(this == true, null, shouldGetter);
+      }
+      return new Assertion(this, null, shouldGetter);
+    }
+    function shouldSetter(value) {
+      // See https://github.com/chaijs/chai/issues/86: this makes
+      // `whatever.should = someValue` actually set `someValue`, which is
+      // especially useful for `global.should = require('chai').should()`.
+      //
+      // Note that we have to use [[DefineProperty]] instead of [[Put]]
+      // since otherwise we would trigger this very setter!
+      Object.defineProperty(this, 'should', {
+        value: value,
+        enumerable: true,
+        configurable: true,
+        writable: true
+      });
+    }
+    // modify Object.prototype to have `should`
+    Object.defineProperty(Object.prototype, 'should', {
+      set: shouldSetter
+      , get: shouldGetter
+      , configurable: true
+    });
+
+    var should = {};
+
+    /**
+     * ### .fail(actual, expected, [message], [operator])
+     *
+     * Throw a failure.
+     *
+     * @name fail
+     * @param {Mixed} actual
+     * @param {Mixed} expected
+     * @param {String} message
+     * @param {String} operator
+     * @api public
+     */
+
+    should.fail = function (actual, expected, message, operator) {
+      message = message || 'should.fail()';
+      throw new chai.AssertionError(message, {
+          actual: actual
+        , expected: expected
+        , operator: operator
+      }, should.fail);
+    };
+
+    should.equal = function (val1, val2, msg) {
+      new Assertion(val1, msg).to.equal(val2);
+    };
+
+    should.Throw = function (fn, errt, errs, msg) {
+      new Assertion(fn, msg).to.Throw(errt, errs);
+    };
+
+    should.exist = function (val, msg) {
+      new Assertion(val, msg).to.exist;
+    }
+
+    // negation
+    should.not = {}
+
+    should.not.equal = function (val1, val2, msg) {
+      new Assertion(val1, msg).to.not.equal(val2);
+    };
+
+    should.not.Throw = function (fn, errt, errs, msg) {
+      new Assertion(fn, msg).to.not.Throw(errt, errs);
+    };
+
+    should.not.exist = function (val, msg) {
+      new Assertion(val, msg).to.not.exist;
+    }
+
+    should['throw'] = should['Throw'];
+    should.not['throw'] = should.not['Throw'];
+
+    return should;
+  };
+
+  chai.should = loadShould;
+  chai.Should = loadShould;
+};
+
+});
+
+require.register("chai/lib/chai/utils/addChainableMethod.js", function (exports, module) {
+/*!
+ * Chai - addChainingMethod utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/*!
+ * Module dependencies
+ */
+
+var transferFlags = require('chai/lib/chai/utils/transferFlags.js');
+var flag = require('chai/lib/chai/utils/flag.js');
+var config = require('chai/lib/chai/config.js');
+
+/*!
+ * Module variables
+ */
+
+// Check whether `__proto__` is supported
+var hasProtoSupport = '__proto__' in Object;
+
+// Without `__proto__` support, this module will need to add properties to a function.
+// However, some Function.prototype methods cannot be overwritten,
+// and there seems no easy cross-platform way to detect them (@see chaijs/chai/issues/69).
+var excludeNames = /^(?:length|name|arguments|caller)$/;
+
+// Cache `Function` properties
+var call  = Function.prototype.call,
+    apply = Function.prototype.apply;
+
+/**
+ * ### addChainableMethod (ctx, name, method, chainingBehavior)
+ *
+ * Adds a method to an object, such that the method can also be chained.
+ *
+ *     utils.addChainableMethod(chai.Assertion.prototype, 'foo', function (str) {
+ *       var obj = utils.flag(this, 'object');
+ *       new chai.Assertion(obj).to.be.equal(str);
+ *     });
+ *
+ * Can also be accessed directly from `chai.Assertion`.
+ *
+ *     chai.Assertion.addChainableMethod('foo', fn, chainingBehavior);
+ *
+ * The result can then be used as both a method assertion, executing both `method` and
+ * `chainingBehavior`, or as a language chain, which only executes `chainingBehavior`.
+ *
+ *     expect(fooStr).to.be.foo('bar');
+ *     expect(fooStr).to.be.foo.equal('foo');
+ *
+ * @param {Object} ctx object to which the method is added
+ * @param {String} name of method to add
+ * @param {Function} method function to be used for `name`, when called
+ * @param {Function} chainingBehavior function to be called every time the property is accessed
+ * @name addChainableMethod
+ * @api public
+ */
+
+module.exports = function (ctx, name, method, chainingBehavior) {
+  if (typeof chainingBehavior !== 'function') {
+    chainingBehavior = function () { };
+  }
+
+  var chainableBehavior = {
+      method: method
+    , chainingBehavior: chainingBehavior
+  };
+
+  // save the methods so we can overwrite them later, if we need to.
+  if (!ctx.__methods) {
+    ctx.__methods = {};
+  }
+  ctx.__methods[name] = chainableBehavior;
+
+  Object.defineProperty(ctx, name,
+    { get: function () {
+        chainableBehavior.chainingBehavior.call(this);
+
+        var assert = function assert() {
+          var old_ssfi = flag(this, 'ssfi');
+          if (old_ssfi && config.includeStack === false)
+            flag(this, 'ssfi', assert);
+          var result = chainableBehavior.method.apply(this, arguments);
+          return result === undefined ? this : result;
+        };
+
+        // Use `__proto__` if available
+        if (hasProtoSupport) {
+          // Inherit all properties from the object by replacing the `Function` prototype
+          var prototype = assert.__proto__ = Object.create(this);
+          // Restore the `call` and `apply` methods from `Function`
+          prototype.call = call;
+          prototype.apply = apply;
+        }
+        // Otherwise, redefine all properties (slow!)
+        else {
+          var asserterNames = Object.getOwnPropertyNames(ctx);
+          asserterNames.forEach(function (asserterName) {
+            if (!excludeNames.test(asserterName)) {
+              var pd = Object.getOwnPropertyDescriptor(ctx, asserterName);
+              Object.defineProperty(assert, asserterName, pd);
+            }
+          });
+        }
+
+        transferFlags(this, assert);
+        return assert;
+      }
+    , configurable: true
+  });
+};
+
+});
+
+require.register("chai/lib/chai/utils/addMethod.js", function (exports, module) {
+/*!
+ * Chai - addMethod utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+var config = require('chai/lib/chai/config.js');
+
+/**
+ * ### .addMethod (ctx, name, method)
+ *
+ * Adds a method to the prototype of an object.
+ *
+ *     utils.addMethod(chai.Assertion.prototype, 'foo', function (str) {
+ *       var obj = utils.flag(this, 'object');
+ *       new chai.Assertion(obj).to.be.equal(str);
+ *     });
+ *
+ * Can also be accessed directly from `chai.Assertion`.
+ *
+ *     chai.Assertion.addMethod('foo', fn);
+ *
+ * Then can be used as any other assertion.
+ *
+ *     expect(fooStr).to.be.foo('bar');
+ *
+ * @param {Object} ctx object to which the method is added
+ * @param {String} name of method to add
+ * @param {Function} method function to be used for name
+ * @name addMethod
+ * @api public
+ */
+var flag = require('chai/lib/chai/utils/flag.js');
+
+module.exports = function (ctx, name, method) {
+  ctx[name] = function () {
+    var old_ssfi = flag(this, 'ssfi');
+    if (old_ssfi && config.includeStack === false)
+      flag(this, 'ssfi', ctx[name]);
+    var result = method.apply(this, arguments);
+    return result === undefined ? this : result;
+  };
+};
+
+});
+
+require.register("chai/lib/chai/utils/addProperty.js", function (exports, module) {
+/*!
+ * Chai - addProperty utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/**
+ * ### addProperty (ctx, name, getter)
+ *
+ * Adds a property to the prototype of an object.
+ *
+ *     utils.addProperty(chai.Assertion.prototype, 'foo', function () {
+ *       var obj = utils.flag(this, 'object');
+ *       new chai.Assertion(obj).to.be.instanceof(Foo);
+ *     });
+ *
+ * Can also be accessed directly from `chai.Assertion`.
+ *
+ *     chai.Assertion.addProperty('foo', fn);
+ *
+ * Then can be used as any other assertion.
+ *
+ *     expect(myFoo).to.be.foo;
+ *
+ * @param {Object} ctx object to which the property is added
+ * @param {String} name of property to add
+ * @param {Function} getter function to be used for name
+ * @name addProperty
+ * @api public
+ */
+
+module.exports = function (ctx, name, getter) {
+  Object.defineProperty(ctx, name,
+    { get: function () {
+        var result = getter.call(this);
+        return result === undefined ? this : result;
+      }
+    , configurable: true
+  });
+};
+
+});
+
+require.register("chai/lib/chai/utils/flag.js", function (exports, module) {
+/*!
+ * Chai - flag utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/**
+ * ### flag(object, key, [value])
+ *
+ * Get or set a flag value on an object. If a
+ * value is provided it will be set, else it will
+ * return the currently set value or `undefined` if
+ * the value is not set.
+ *
+ *     utils.flag(this, 'foo', 'bar'); // setter
+ *     utils.flag(this, 'foo'); // getter, returns `bar`
+ *
+ * @param {Object} object constructed Assertion
+ * @param {String} key
+ * @param {Mixed} value (optional)
+ * @name flag
+ * @api private
+ */
+
+module.exports = function (obj, key, value) {
+  var flags = obj.__flags || (obj.__flags = Object.create(null));
+  if (arguments.length === 3) {
+    flags[key] = value;
+  } else {
+    return flags[key];
+  }
+};
+
+});
+
+require.register("chai/lib/chai/utils/getActual.js", function (exports, module) {
+/*!
+ * Chai - getActual utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/**
+ * # getActual(object, [actual])
+ *
+ * Returns the `actual` value for an Assertion
+ *
+ * @param {Object} object (constructed Assertion)
+ * @param {Arguments} chai.Assertion.prototype.assert arguments
+ */
+
+module.exports = function (obj, args) {
+  return args.length > 4 ? args[4] : obj._obj;
+};
+
+});
+
+require.register("chai/lib/chai/utils/getEnumerableProperties.js", function (exports, module) {
+/*!
+ * Chai - getEnumerableProperties utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/**
+ * ### .getEnumerableProperties(object)
+ *
+ * This allows the retrieval of enumerable property names of an object,
+ * inherited or not.
+ *
+ * @param {Object} object
+ * @returns {Array}
+ * @name getEnumerableProperties
+ * @api public
+ */
+
+module.exports = function getEnumerableProperties(object) {
+  var result = [];
+  for (var name in object) {
+    result.push(name);
+  }
+  return result;
+};
+
+});
+
+require.register("chai/lib/chai/utils/getMessage.js", function (exports, module) {
+/*!
+ * Chai - message composition utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/*!
+ * Module dependancies
+ */
+
+var flag = require('chai/lib/chai/utils/flag.js')
+  , getActual = require('chai/lib/chai/utils/getActual.js')
+  , inspect = require('chai/lib/chai/utils/inspect.js')
+  , objDisplay = require('chai/lib/chai/utils/objDisplay.js');
+
+/**
+ * ### .getMessage(object, message, negateMessage)
+ *
+ * Construct the error message based on flags
+ * and template tags. Template tags will return
+ * a stringified inspection of the object referenced.
+ *
+ * Message template tags:
+ * - `#{this}` current asserted object
+ * - `#{act}` actual value
+ * - `#{exp}` expected value
+ *
+ * @param {Object} object (constructed Assertion)
+ * @param {Arguments} chai.Assertion.prototype.assert arguments
+ * @name getMessage
+ * @api public
+ */
+
+module.exports = function (obj, args) {
+  var negate = flag(obj, 'negate')
+    , val = flag(obj, 'object')
+    , expected = args[3]
+    , actual = getActual(obj, args)
+    , msg = negate ? args[2] : args[1]
+    , flagMsg = flag(obj, 'message');
+
+  if(typeof msg === "function") msg = msg();
+  msg = msg || '';
+  msg = msg
+    .replace(/#{this}/g, objDisplay(val))
+    .replace(/#{act}/g, objDisplay(actual))
+    .replace(/#{exp}/g, objDisplay(expected));
+
+  return flagMsg ? flagMsg + ': ' + msg : msg;
+};
+
+});
+
+require.register("chai/lib/chai/utils/getName.js", function (exports, module) {
+/*!
+ * Chai - getName utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/**
+ * # getName(func)
+ *
+ * Gets the name of a function, in a cross-browser way.
+ *
+ * @param {Function} a function (usually a constructor)
+ */
+
+module.exports = function (func) {
+  if (func.name) return func.name;
+
+  var match = /^\s?function ([^(]*)\(/.exec(func);
+  return match && match[1] ? match[1] : "";
+};
+
+});
+
+require.register("chai/lib/chai/utils/getPathValue.js", function (exports, module) {
+/*!
+ * Chai - getPathValue utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * @see https://github.com/logicalparadox/filtr
+ * MIT Licensed
+ */
+
+var getPathInfo = require('chai/lib/chai/utils/getPathInfo.js');
+
+/**
+ * ### .getPathValue(path, object)
+ *
+ * This allows the retrieval of values in an
+ * object given a string path.
+ *
+ *     var obj = {
+ *         prop1: {
+ *             arr: ['a', 'b', 'c']
+ *           , str: 'Hello'
+ *         }
+ *       , prop2: {
+ *             arr: [ { nested: 'Universe' } ]
+ *           , str: 'Hello again!'
+ *         }
+ *     }
+ *
+ * The following would be the results.
+ *
+ *     getPathValue('prop1.str', obj); // Hello
+ *     getPathValue('prop1.att[2]', obj); // b
+ *     getPathValue('prop2.arr[0].nested', obj); // Universe
+ *
+ * @param {String} path
+ * @param {Object} object
+ * @returns {Object} value or `undefined`
+ * @name getPathValue
+ * @api public
+ */
+module.exports = function(path, obj) {
+  var info = getPathInfo(path, obj);
+  return info.value;
+}; 
+
+});
+
+require.register("chai/lib/chai/utils/getPathInfo.js", function (exports, module) {
+/*!
+ * Chai - getPathInfo utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+var hasProperty = require('chai/lib/chai/utils/hasProperty.js');
+
+/**
+ * ### .getPathInfo(path, object)
+ *
+ * This allows the retrieval of property info in an
+ * object given a string path.
+ *
+ * The path info consists of an object with the
+ * following properties:
+ *
+ * * parent - The parent object of the property referenced by `path`
+ * * name - The name of the final property, a number if it was an array indexer
+ * * value - The value of the property, if it exists, otherwise `undefined`
+ * * exists - Whether the property exists or not
+ *
+ * @param {String} path
+ * @param {Object} object
+ * @returns {Object} info
+ * @name getPathInfo
+ * @api public
+ */
+
+module.exports = function getPathInfo(path, obj) {
+  var parsed = parsePath(path),
+      last = parsed[parsed.length - 1];
+
+  var info = {
+    parent: _getPathValue(parsed, obj, parsed.length - 1),
+    name: last.p || last.i,
+    value: _getPathValue(parsed, obj),
+  };
+  info.exists = hasProperty(info.name, info.parent);
+
+  return info;
+};
+
+
+/*!
+ * ## parsePath(path)
+ *
+ * Helper function used to parse string object
+ * paths. Use in conjunction with `_getPathValue`.
+ *
+ *      var parsed = parsePath('myobject.property.subprop');
+ *
+ * ### Paths:
+ *
+ * * Can be as near infinitely deep and nested
+ * * Arrays are also valid using the formal `myobject.document[3].property`.
+ *
+ * @param {String} path
+ * @returns {Object} parsed
+ * @api private
+ */
+
+function parsePath (path) {
+  var str = path.replace(/\[/g, '.[')
+    , parts = str.match(/(\\\.|[^.]+?)+/g);
+  return parts.map(function (value) {
+    var re = /\[(\d+)\]$/
+      , mArr = re.exec(value);
+    if (mArr) return { i: parseFloat(mArr[1]) };
+    else return { p: value };
+  });
+}
+
+
+/*!
+ * ## _getPathValue(parsed, obj)
+ *
+ * Helper companion function for `.parsePath` that returns
+ * the value located at the parsed address.
+ *
+ *      var value = getPathValue(parsed, obj);
+ *
+ * @param {Object} parsed definition from `parsePath`.
+ * @param {Object} object to search against
+ * @param {Number} object to search against
+ * @returns {Object|Undefined} value
+ * @api private
+ */
+
+function _getPathValue (parsed, obj, index) {
+  var tmp = obj
+    , res;
+
+  index = (index === undefined ? parsed.length : index);
+
+  for (var i = 0, l = index; i < l; i++) {
+    var part = parsed[i];
+    if (tmp) {
+      if ('undefined' !== typeof part.p)
+        tmp = tmp[part.p];
+      else if ('undefined' !== typeof part.i)
+        tmp = tmp[part.i];
+      if (i == (l - 1)) res = tmp;
+    } else {
+      res = undefined;
+    }
+  }
+  return res;
+}
+
+});
+
+require.register("chai/lib/chai/utils/hasProperty.js", function (exports, module) {
+/*!
+ * Chai - hasProperty utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+var type = require('chai/lib/chai/utils/type.js');
+
+/**
+ * ### .hasProperty(object, name)
+ *
+ * This allows checking whether an object has
+ * named property or numeric array index.
+ *
+ * Basically does the same thing as the `in`
+ * operator but works properly with natives
+ * and null/undefined values.
+ *
+ *     var obj = {
+ *         arr: ['a', 'b', 'c']
+ *       , str: 'Hello'
+ *     }
+ *
+ * The following would be the results.
+ *
+ *     hasProperty('str', obj);  // true
+ *     hasProperty('constructor', obj);  // true
+ *     hasProperty('bar', obj);  // false
+ *     
+ *     hasProperty('length', obj.str); // true
+ *     hasProperty(1, obj.str);  // true
+ *     hasProperty(5, obj.str);  // false
+ *
+ *     hasProperty('length', obj.arr);  // true
+ *     hasProperty(2, obj.arr);  // true
+ *     hasProperty(3, obj.arr);  // false
+ *
+ * @param {Objuect} object
+ * @param {String|Number} name
+ * @returns {Boolean} whether it exists
+ * @name getPathInfo
+ * @api public
+ */
+
+var literals = {
+    'number': Number
+  , 'string': String
+};
+
+module.exports = function hasProperty(name, obj) {
+  var ot = type(obj);
+
+  // Bad Object, obviously no props at all
+  if(ot === 'null' || ot === 'undefined')
+    return false;
+
+  // The `in` operator does not work with certain literals
+  // box these before the check
+  if(literals[ot] && typeof obj !== 'object')
+    obj = new literals[ot](obj);
+
+  return name in obj;
+};
+
+});
+
+require.register("chai/lib/chai/utils/getProperties.js", function (exports, module) {
+/*!
+ * Chai - getProperties utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/**
+ * ### .getProperties(object)
+ *
+ * This allows the retrieval of property names of an object, enumerable or not,
+ * inherited or not.
+ *
+ * @param {Object} object
+ * @returns {Array}
+ * @name getProperties
+ * @api public
+ */
+
+module.exports = function getProperties(object) {
+  var result = Object.getOwnPropertyNames(subject);
+
+  function addProperty(property) {
+    if (result.indexOf(property) === -1) {
+      result.push(property);
+    }
+  }
+
+  var proto = Object.getPrototypeOf(subject);
+  while (proto !== null) {
+    Object.getOwnPropertyNames(proto).forEach(addProperty);
+    proto = Object.getPrototypeOf(proto);
+  }
+
+  return result;
+};
+
+});
+
+require.register("chai/lib/chai/utils/index.js", function (exports, module) {
+/*!
+ * chai
+ * Copyright(c) 2011 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/*!
+ * Main exports
+ */
+
+var exports = module.exports = {};
+
+/*!
+ * test utility
+ */
+
+exports.test = require('chai/lib/chai/utils/test.js');
+
+/*!
+ * type utility
+ */
+
+exports.type = require('chai/lib/chai/utils/type.js');
+
+/*!
+ * message utility
+ */
+
+exports.getMessage = require('chai/lib/chai/utils/getMessage.js');
+
+/*!
+ * actual utility
+ */
+
+exports.getActual = require('chai/lib/chai/utils/getActual.js');
+
+/*!
+ * Inspect util
+ */
+
+exports.inspect = require('chai/lib/chai/utils/inspect.js');
+
+/*!
+ * Object Display util
+ */
+
+exports.objDisplay = require('chai/lib/chai/utils/objDisplay.js');
+
+/*!
+ * Flag utility
+ */
+
+exports.flag = require('chai/lib/chai/utils/flag.js');
+
+/*!
+ * Flag transferring utility
+ */
+
+exports.transferFlags = require('chai/lib/chai/utils/transferFlags.js');
+
+/*!
+ * Deep equal utility
+ */
+
+exports.eql = require('chaijs~deep-eql@0.1.3');
+
+/*!
+ * Deep path value
+ */
+
+exports.getPathValue = require('chai/lib/chai/utils/getPathValue.js');
+
+/*!
+ * Deep path info
+ */
+
+exports.getPathInfo = require('chai/lib/chai/utils/getPathInfo.js');
+
+/*!
+ * Check if a property exists
+ */
+
+exports.hasProperty = require('chai/lib/chai/utils/hasProperty.js');
+
+/*!
+ * Function name
+ */
+
+exports.getName = require('chai/lib/chai/utils/getName.js');
+
+/*!
+ * add Property
+ */
+
+exports.addProperty = require('chai/lib/chai/utils/addProperty.js');
+
+/*!
+ * add Method
+ */
+
+exports.addMethod = require('chai/lib/chai/utils/addMethod.js');
+
+/*!
+ * overwrite Property
+ */
+
+exports.overwriteProperty = require('chai/lib/chai/utils/overwriteProperty.js');
+
+/*!
+ * overwrite Method
+ */
+
+exports.overwriteMethod = require('chai/lib/chai/utils/overwriteMethod.js');
+
+/*!
+ * Add a chainable method
+ */
+
+exports.addChainableMethod = require('chai/lib/chai/utils/addChainableMethod.js');
+
+/*!
+ * Overwrite chainable method
+ */
+
+exports.overwriteChainableMethod = require('chai/lib/chai/utils/overwriteChainableMethod.js');
+
+
+});
+
+require.register("chai/lib/chai/utils/inspect.js", function (exports, module) {
+// This is (almost) directly from Node.js utils
+// https://github.com/joyent/node/blob/f8c335d0caf47f16d31413f89aa28eda3878e3aa/lib/util.js
+
+var getName = require('chai/lib/chai/utils/getName.js');
+var getProperties = require('chai/lib/chai/utils/getProperties.js');
+var getEnumerableProperties = require('chai/lib/chai/utils/getEnumerableProperties.js');
+
+module.exports = inspect;
+
+/**
+ * Echos the value of a value. Trys to print the value out
+ * in the best way possible given the different types.
+ *
+ * @param {Object} obj The object to print out.
+ * @param {Boolean} showHidden Flag that shows hidden (not enumerable)
+ *    properties of objects.
+ * @param {Number} depth Depth in which to descend in object. Default is 2.
+ * @param {Boolean} colors Flag to turn on ANSI escape codes to color the
+ *    output. Default is false (no coloring).
+ */
+function inspect(obj, showHidden, depth, colors) {
+  var ctx = {
+    showHidden: showHidden,
+    seen: [],
+    stylize: function (str) { return str; }
+  };
+  return formatValue(ctx, obj, (typeof depth === 'undefined' ? 2 : depth));
+}
+
+// Returns true if object is a DOM element.
+var isDOMElement = function (object) {
+  if (typeof HTMLElement === 'object') {
+    return object instanceof HTMLElement;
+  } else {
+    return object &&
+      typeof object === 'object' &&
+      object.nodeType === 1 &&
+      typeof object.nodeName === 'string';
+  }
+};
+
+function formatValue(ctx, value, recurseTimes) {
+  // Provide a hook for user-specified inspect functions.
+  // Check that value is an object with an inspect function on it
+  if (value && typeof value.inspect === 'function' &&
+      // Filter out the util module, it's inspect function is special
+      value.inspect !== exports.inspect &&
+      // Also filter out any prototype objects using the circular check.
+      !(value.constructor && value.constructor.prototype === value)) {
+    var ret = value.inspect(recurseTimes);
+    if (typeof ret !== 'string') {
+      ret = formatValue(ctx, ret, recurseTimes);
+    }
+    return ret;
+  }
+
+  // Primitive types cannot have properties
+  var primitive = formatPrimitive(ctx, value);
+  if (primitive) {
+    return primitive;
+  }
+
+  // If this is a DOM element, try to get the outer HTML.
+  if (isDOMElement(value)) {
+    if ('outerHTML' in value) {
+      return value.outerHTML;
+      // This value does not have an outerHTML attribute,
+      //   it could still be an XML element
+    } else {
+      // Attempt to serialize it
+      try {
+        if (document.xmlVersion) {
+          var xmlSerializer = new XMLSerializer();
+          return xmlSerializer.serializeToString(value);
+        } else {
+          // Firefox 11- do not support outerHTML
+          //   It does, however, support innerHTML
+          //   Use the following to render the element
+          var ns = "http://www.w3.org/1999/xhtml";
+          var container = document.createElementNS(ns, '_');
+
+          container.appendChild(value.cloneNode(false));
+          html = container.innerHTML
+            .replace('><', '>' + value.innerHTML + '<');
+          container.innerHTML = '';
+          return html;
+        }
+      } catch (err) {
+        // This could be a non-native DOM implementation,
+        //   continue with the normal flow:
+        //   printing the element as if it is an object.
+      }
+    }
+  }
+
+  // Look up the keys of the object.
+  var visibleKeys = getEnumerableProperties(value);
+  var keys = ctx.showHidden ? getProperties(value) : visibleKeys;
+
+  // Some type of object without properties can be shortcutted.
+  // In IE, errors have a single `stack` property, or if they are vanilla `Error`,
+  // a `stack` plus `description` property; ignore those for consistency.
+  if (keys.length === 0 || (isError(value) && (
+      (keys.length === 1 && keys[0] === 'stack') ||
+      (keys.length === 2 && keys[0] === 'description' && keys[1] === 'stack')
+     ))) {
+    if (typeof value === 'function') {
+      var name = getName(value);
+      var nameSuffix = name ? ': ' + name : '';
+      return ctx.stylize('[Function' + nameSuffix + ']', 'special');
+    }
+    if (isRegExp(value)) {
+      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
+    }
+    if (isDate(value)) {
+      return ctx.stylize(Date.prototype.toUTCString.call(value), 'date');
+    }
+    if (isError(value)) {
+      return formatError(value);
+    }
+  }
+
+  var base = '', array = false, braces = ['{', '}'];
+
+  // Make Array say that they are Array
+  if (isArray(value)) {
+    array = true;
+    braces = ['[', ']'];
+  }
+
+  // Make functions say that they are functions
+  if (typeof value === 'function') {
+    var name = getName(value);
+    var nameSuffix = name ? ': ' + name : '';
+    base = ' [Function' + nameSuffix + ']';
+  }
+
+  // Make RegExps say that they are RegExps
+  if (isRegExp(value)) {
+    base = ' ' + RegExp.prototype.toString.call(value);
+  }
+
+  // Make dates with properties first say the date
+  if (isDate(value)) {
+    base = ' ' + Date.prototype.toUTCString.call(value);
+  }
+
+  // Make error with message first say the error
+  if (isError(value)) {
+    return formatError(value);
+  }
+
+  if (keys.length === 0 && (!array || value.length == 0)) {
+    return braces[0] + base + braces[1];
+  }
+
+  if (recurseTimes < 0) {
+    if (isRegExp(value)) {
+      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
+    } else {
+      return ctx.stylize('[Object]', 'special');
+    }
+  }
+
+  ctx.seen.push(value);
+
+  var output;
+  if (array) {
+    output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
+  } else {
+    output = keys.map(function(key) {
+      return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
+    });
+  }
+
+  ctx.seen.pop();
+
+  return reduceToSingleString(output, base, braces);
+}
+
+
+function formatPrimitive(ctx, value) {
+  switch (typeof value) {
+    case 'undefined':
+      return ctx.stylize('undefined', 'undefined');
+
+    case 'string':
+      var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
+                                               .replace(/'/g, "\\'")
+                                               .replace(/\\"/g, '"') + '\'';
+      return ctx.stylize(simple, 'string');
+
+    case 'number':
+      if (value === 0 && (1/value) === -Infinity) {
+        return ctx.stylize('-0', 'number');
+      }
+      return ctx.stylize('' + value, 'number');
+
+    case 'boolean':
+      return ctx.stylize('' + value, 'boolean');
+  }
+  // For some reason typeof null is "object", so special case here.
+  if (value === null) {
+    return ctx.stylize('null', 'null');
+  }
+}
+
+
+function formatError(value) {
+  return '[' + Error.prototype.toString.call(value) + ']';
+}
+
+
+function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
+  var output = [];
+  for (var i = 0, l = value.length; i < l; ++i) {
+    if (Object.prototype.hasOwnProperty.call(value, String(i))) {
+      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
+          String(i), true));
+    } else {
+      output.push('');
+    }
+  }
+  keys.forEach(function(key) {
+    if (!key.match(/^\d+$/)) {
+      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
+          key, true));
+    }
+  });
+  return output;
+}
+
+
+function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
+  var name, str;
+  if (value.__lookupGetter__) {
+    if (value.__lookupGetter__(key)) {
+      if (value.__lookupSetter__(key)) {
+        str = ctx.stylize('[Getter/Setter]', 'special');
+      } else {
+        str = ctx.stylize('[Getter]', 'special');
+      }
+    } else {
+      if (value.__lookupSetter__(key)) {
+        str = ctx.stylize('[Setter]', 'special');
+      }
+    }
+  }
+  if (visibleKeys.indexOf(key) < 0) {
+    name = '[' + key + ']';
+  }
+  if (!str) {
+    if (ctx.seen.indexOf(value[key]) < 0) {
+      if (recurseTimes === null) {
+        str = formatValue(ctx, value[key], null);
+      } else {
+        str = formatValue(ctx, value[key], recurseTimes - 1);
+      }
+      if (str.indexOf('\n') > -1) {
+        if (array) {
+          str = str.split('\n').map(function(line) {
+            return '  ' + line;
+          }).join('\n').substr(2);
+        } else {
+          str = '\n' + str.split('\n').map(function(line) {
+            return '   ' + line;
+          }).join('\n');
+        }
+      }
+    } else {
+      str = ctx.stylize('[Circular]', 'special');
+    }
+  }
+  if (typeof name === 'undefined') {
+    if (array && key.match(/^\d+$/)) {
+      return str;
+    }
+    name = JSON.stringify('' + key);
+    if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
+      name = name.substr(1, name.length - 2);
+      name = ctx.stylize(name, 'name');
+    } else {
+      name = name.replace(/'/g, "\\'")
+                 .replace(/\\"/g, '"')
+                 .replace(/(^"|"$)/g, "'");
+      name = ctx.stylize(name, 'string');
+    }
+  }
+
+  return name + ': ' + str;
+}
+
+
+function reduceToSingleString(output, base, braces) {
+  var numLinesEst = 0;
+  var length = output.reduce(function(prev, cur) {
+    numLinesEst++;
+    if (cur.indexOf('\n') >= 0) numLinesEst++;
+    return prev + cur.length + 1;
+  }, 0);
+
+  if (length > 60) {
+    return braces[0] +
+           (base === '' ? '' : base + '\n ') +
+           ' ' +
+           output.join(',\n  ') +
+           ' ' +
+           braces[1];
+  }
+
+  return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
+}
+
+function isArray(ar) {
+  return Array.isArray(ar) ||
+         (typeof ar === 'object' && objectToString(ar) === '[object Array]');
+}
+
+function isRegExp(re) {
+  return typeof re === 'object' && objectToString(re) === '[object RegExp]';
+}
+
+function isDate(d) {
+  return typeof d === 'object' && objectToString(d) === '[object Date]';
+}
+
+function isError(e) {
+  return typeof e === 'object' && objectToString(e) === '[object Error]';
+}
+
+function objectToString(o) {
+  return Object.prototype.toString.call(o);
+}
+
+});
+
+require.register("chai/lib/chai/utils/objDisplay.js", function (exports, module) {
+/*!
+ * Chai - flag utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/*!
+ * Module dependancies
+ */
+
+var inspect = require('chai/lib/chai/utils/inspect.js');
+var config = require('chai/lib/chai/config.js');
+
+/**
+ * ### .objDisplay (object)
+ *
+ * Determines if an object or an array matches
+ * criteria to be inspected in-line for error
+ * messages or should be truncated.
+ *
+ * @param {Mixed} javascript object to inspect
+ * @name objDisplay
+ * @api public
+ */
+
+module.exports = function (obj) {
+  var str = inspect(obj)
+    , type = Object.prototype.toString.call(obj);
+
+  if (config.truncateThreshold && str.length >= config.truncateThreshold) {
+    if (type === '[object Function]') {
+      return !obj.name || obj.name === ''
+        ? '[Function]'
+        : '[Function: ' + obj.name + ']';
+    } else if (type === '[object Array]') {
+      return '[ Array(' + obj.length + ') ]';
+    } else if (type === '[object Object]') {
+      var keys = Object.keys(obj)
+        , kstr = keys.length > 2
+          ? keys.splice(0, 2).join(', ') + ', ...'
+          : keys.join(', ');
+      return '{ Object (' + kstr + ') }';
+    } else {
+      return str;
+    }
+  } else {
+    return str;
+  }
+};
+
+});
+
+require.register("chai/lib/chai/utils/overwriteMethod.js", function (exports, module) {
+/*!
+ * Chai - overwriteMethod utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/**
+ * ### overwriteMethod (ctx, name, fn)
+ *
+ * Overwites an already existing method and provides
+ * access to previous function. Must return function
+ * to be used for name.
+ *
+ *     utils.overwriteMethod(chai.Assertion.prototype, 'equal', function (_super) {
+ *       return function (str) {
+ *         var obj = utils.flag(this, 'object');
+ *         if (obj instanceof Foo) {
+ *           new chai.Assertion(obj.value).to.equal(str);
+ *         } else {
+ *           _super.apply(this, arguments);
+ *         }
+ *       }
+ *     });
+ *
+ * Can also be accessed directly from `chai.Assertion`.
+ *
+ *     chai.Assertion.overwriteMethod('foo', fn);
+ *
+ * Then can be used as any other assertion.
+ *
+ *     expect(myFoo).to.equal('bar');
+ *
+ * @param {Object} ctx object whose method is to be overwritten
+ * @param {String} name of method to overwrite
+ * @param {Function} method function that returns a function to be used for name
+ * @name overwriteMethod
+ * @api public
+ */
+
+module.exports = function (ctx, name, method) {
+  var _method = ctx[name]
+    , _super = function () { return this; };
+
+  if (_method && 'function' === typeof _method)
+    _super = _method;
+
+  ctx[name] = function () {
+    var result = method(_super).apply(this, arguments);
+    return result === undefined ? this : result;
+  }
+};
+
+});
+
+require.register("chai/lib/chai/utils/overwriteProperty.js", function (exports, module) {
+/*!
+ * Chai - overwriteProperty utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/**
+ * ### overwriteProperty (ctx, name, fn)
+ *
+ * Overwites an already existing property getter and provides
+ * access to previous value. Must return function to use as getter.
+ *
+ *     utils.overwriteProperty(chai.Assertion.prototype, 'ok', function (_super) {
+ *       return function () {
+ *         var obj = utils.flag(this, 'object');
+ *         if (obj instanceof Foo) {
+ *           new chai.Assertion(obj.name).to.equal('bar');
+ *         } else {
+ *           _super.call(this);
+ *         }
+ *       }
+ *     });
+ *
+ *
+ * Can also be accessed directly from `chai.Assertion`.
+ *
+ *     chai.Assertion.overwriteProperty('foo', fn);
+ *
+ * Then can be used as any other assertion.
+ *
+ *     expect(myFoo).to.be.ok;
+ *
+ * @param {Object} ctx object whose property is to be overwritten
+ * @param {String} name of property to overwrite
+ * @param {Function} getter function that returns a getter function to be used for name
+ * @name overwriteProperty
+ * @api public
+ */
+
+module.exports = function (ctx, name, getter) {
+  var _get = Object.getOwnPropertyDescriptor(ctx, name)
+    , _super = function () {};
+
+  if (_get && 'function' === typeof _get.get)
+    _super = _get.get
+
+  Object.defineProperty(ctx, name,
+    { get: function () {
+        var result = getter(_super).call(this);
+        return result === undefined ? this : result;
+      }
+    , configurable: true
+  });
+};
+
+});
+
+require.register("chai/lib/chai/utils/overwriteChainableMethod.js", function (exports, module) {
+/*!
+ * Chai - overwriteChainableMethod utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/**
+ * ### overwriteChainableMethod (ctx, name, method, chainingBehavior)
+ *
+ * Overwites an already existing chainable method
+ * and provides access to the previous function or
+ * property.  Must return functions to be used for
+ * name.
+ *
+ *     utils.overwriteChainableMethod(chai.Assertion.prototype, 'length',
+ *       function (_super) {
+ *       }
+ *     , function (_super) {
+ *       }
+ *     );
+ *
+ * Can also be accessed directly from `chai.Assertion`.
+ *
+ *     chai.Assertion.overwriteChainableMethod('foo', fn, fn);
+ *
+ * Then can be used as any other assertion.
+ *
+ *     expect(myFoo).to.have.length(3);
+ *     expect(myFoo).to.have.length.above(3);
+ *
+ * @param {Object} ctx object whose method / property is to be overwritten
+ * @param {String} name of method / property to overwrite
+ * @param {Function} method function that returns a function to be used for name
+ * @param {Function} chainingBehavior function that returns a function to be used for property
+ * @name overwriteChainableMethod
+ * @api public
+ */
+
+module.exports = function (ctx, name, method, chainingBehavior) {
+  var chainableBehavior = ctx.__methods[name];
+
+  var _chainingBehavior = chainableBehavior.chainingBehavior;
+  chainableBehavior.chainingBehavior = function () {
+    var result = chainingBehavior(_chainingBehavior).call(this);
+    return result === undefined ? this : result;
+  };
+
+  var _method = chainableBehavior.method;
+  chainableBehavior.method = function () {
+    var result = method(_method).apply(this, arguments);
+    return result === undefined ? this : result;
+  };
+};
+
+});
+
+require.register("chai/lib/chai/utils/test.js", function (exports, module) {
+/*!
+ * Chai - test utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/*!
+ * Module dependancies
+ */
+
+var flag = require('chai/lib/chai/utils/flag.js');
+
+/**
+ * # test(object, expression)
+ *
+ * Test and object for expression.
+ *
+ * @param {Object} object (constructed Assertion)
+ * @param {Arguments} chai.Assertion.prototype.assert arguments
+ */
+
+module.exports = function (obj, args) {
+  var negate = flag(obj, 'negate')
+    , expr = args[0];
+  return negate ? !expr : expr;
+};
+
+});
+
+require.register("chai/lib/chai/utils/transferFlags.js", function (exports, module) {
+/*!
+ * Chai - transferFlags utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/**
+ * ### transferFlags(assertion, object, includeAll = true)
+ *
+ * Transfer all the flags for `assertion` to `object`. If
+ * `includeAll` is set to `false`, then the base Chai
+ * assertion flags (namely `object`, `ssfi`, and `message`)
+ * will not be transferred.
+ *
+ *
+ *     var newAssertion = new Assertion();
+ *     utils.transferFlags(assertion, newAssertion);
+ *
+ *     var anotherAsseriton = new Assertion(myObj);
+ *     utils.transferFlags(assertion, anotherAssertion, false);
+ *
+ * @param {Assertion} assertion the assertion to transfer the flags from
+ * @param {Object} object the object to transfer the flags to; usually a new assertion
+ * @param {Boolean} includeAll
+ * @name transferFlags
+ * @api private
+ */
+
+module.exports = function (assertion, object, includeAll) {
+  var flags = assertion.__flags || (assertion.__flags = Object.create(null));
+
+  if (!object.__flags) {
+    object.__flags = Object.create(null);
+  }
+
+  includeAll = arguments.length === 3 ? includeAll : true;
+
+  for (var flag in flags) {
+    if (includeAll ||
+        (flag !== 'object' && flag !== 'ssfi' && flag != 'message')) {
+      object.__flags[flag] = flags[flag];
+    }
+  }
+};
+
+});
+
+require.register("chai/lib/chai/utils/type.js", function (exports, module) {
+/*!
+ * Chai - type utility
+ * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
+ * MIT Licensed
+ */
+
+/*!
+ * Detectable javascript natives
+ */
+
+var natives = {
+    '[object Arguments]': 'arguments'
+  , '[object Array]': 'array'
+  , '[object Date]': 'date'
+  , '[object Function]': 'function'
+  , '[object Number]': 'number'
+  , '[object RegExp]': 'regexp'
+  , '[object String]': 'string'
+};
+
+/**
+ * ### type(object)
+ *
+ * Better implementation of `typeof` detection that can
+ * be used cross-browser. Handles the inconsistencies of
+ * Array, `null`, and `undefined` detection.
+ *
+ *     utils.type({}) // 'object'
+ *     utils.type(null) // `null'
+ *     utils.type(undefined) // `undefined`
+ *     utils.type([]) // `array`
+ *
+ * @param {Mixed} object to detect type of
+ * @name type
+ * @api private
+ */
+
+module.exports = function (obj) {
+  var str = Object.prototype.toString.call(obj);
+  if (natives[str]) return natives[str];
+  if (obj === null) return 'null';
+  if (obj === undefined) return 'undefined';
+  if (obj === Object(obj)) return 'object';
+  return typeof obj;
+};
+
+});
+
+if (typeof exports == "object") {
+  module.exports = require("chai");
+} else if (typeof define == "function" && define.amd) {
+  define("chai", [], function(){ return require("chai"); });
+} else {
+  (this || window)["chai"] = require("chai");
+}
+})()
\ No newline at end of file
diff --git a/libraries/foundation-6/test/javascript/lib/mocha.css b/libraries/foundation-6/test/javascript/lib/mocha.css
new file mode 100755
index 00000000..3b82ae91
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/lib/mocha.css
@@ -0,0 +1,305 @@
+@charset "utf-8";
+
+body {
+  margin:0;
+}
+
+#mocha {
+  font: 20px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
+  margin: 60px 50px;
+}
+
+#mocha ul,
+#mocha li {
+  margin: 0;
+  padding: 0;
+}
+
+#mocha ul {
+  list-style: none;
+}
+
+#mocha h1,
+#mocha h2 {
+  margin: 0;
+}
+
+#mocha h1 {
+  margin-top: 15px;
+  font-size: 1em;
+  font-weight: 200;
+}
+
+#mocha h1 a {
+  text-decoration: none;
+  color: inherit;
+}
+
+#mocha h1 a:hover {
+  text-decoration: underline;
+}
+
+#mocha .suite .suite h1 {
+  margin-top: 0;
+  font-size: .8em;
+}
+
+#mocha .hidden {
+  display: none;
+}
+
+#mocha h2 {
+  font-size: 12px;
+  font-weight: normal;
+  cursor: pointer;
+}
+
+#mocha .suite {
+  margin-left: 15px;
+}
+
+#mocha .test {
+  margin-left: 15px;
+  overflow: hidden;
+}
+
+#mocha .test.pending:hover h2::after {
+  content: '(pending)';
+  font-family: arial, sans-serif;
+}
+
+#mocha .test.pass.medium .duration {
+  background: #c09853;
+}
+
+#mocha .test.pass.slow .duration {
+  background: #b94a48;
+}
+
+#mocha .test.pass::before {
+  content: '✓';
+  font-size: 12px;
+  display: block;
+  float: left;
+  margin-right: 5px;
+  color: #00d6b2;
+}
+
+#mocha .test.pass .duration {
+  font-size: 9px;
+  margin-left: 5px;
+  padding: 2px 5px;
+  color: #fff;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
+  -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
+  box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
+  -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
+  -ms-border-radius: 5px;
+  -o-border-radius: 5px;
+  border-radius: 5px;
+}
+
+#mocha .test.pass.fast .duration {
+  display: none;
+}
+
+#mocha .test.pending {
+  color: #0b97c4;
+}
+
+#mocha .test.pending::before {
+  content: 'â—¦';
+  color: #0b97c4;
+}
+
+#mocha .test.fail {
+  color: #c00;
+}
+
+#mocha .test.fail pre {
+  color: black;
+}
+
+#mocha .test.fail::before {
+  content: '✖';
+  font-size: 12px;
+  display: block;
+  float: left;
+  margin-right: 5px;
+  color: #c00;
+}
+
+#mocha .test pre.error {
+  color: #c00;
+  max-height: 300px;
+  overflow: auto;
+}
+
+#mocha .test .html-error {
+  overflow: auto;
+  color: black;
+  line-height: 1.5;
+  display: block;
+  float: left;
+  clear: left;
+  font: 12px/1.5 monaco, monospace;
+  margin: 5px;
+  padding: 15px;
+  border: 1px solid #eee;
+  max-width: 85%; /*(1)*/
+  max-width: calc(100% - 42px); /*(2)*/
+  max-height: 300px;
+  word-wrap: break-word;
+  border-bottom-color: #ddd;
+  -webkit-border-radius: 3px;
+  -webkit-box-shadow: 0 1px 3px #eee;
+  -moz-border-radius: 3px;
+  -moz-box-shadow: 0 1px 3px #eee;
+  border-radius: 3px;
+}
+
+#mocha .test .html-error pre.error {
+  border: none;
+  -webkit-border-radius: none;
+  -webkit-box-shadow: none;
+  -moz-border-radius: none;
+  -moz-box-shadow: none;
+  padding: 0;
+  margin: 0;
+  margin-top: 18px;
+  max-height: none;
+}
+
+/**
+ * (1): approximate for browsers not supporting calc
+ * (2): 42 = 2*15 + 2*10 + 2*1 (padding + margin + border)
+ *      ^^ seriously
+ */
+#mocha .test pre {
+  display: block;
+  float: left;
+  clear: left;
+  font: 12px/1.5 monaco, monospace;
+  margin: 5px;
+  padding: 15px;
+  border: 1px solid #eee;
+  max-width: 85%; /*(1)*/
+  max-width: calc(100% - 42px); /*(2)*/
+  word-wrap: break-word;
+  border-bottom-color: #ddd;
+  -webkit-border-radius: 3px;
+  -webkit-box-shadow: 0 1px 3px #eee;
+  -moz-border-radius: 3px;
+  -moz-box-shadow: 0 1px 3px #eee;
+  border-radius: 3px;
+}
+
+#mocha .test h2 {
+  position: relative;
+}
+
+#mocha .test a.replay {
+  position: absolute;
+  top: 3px;
+  right: 0;
+  text-decoration: none;
+  vertical-align: middle;
+  display: block;
+  width: 15px;
+  height: 15px;
+  line-height: 15px;
+  text-align: center;
+  background: #eee;
+  font-size: 15px;
+  -moz-border-radius: 15px;
+  border-radius: 15px;
+  -webkit-transition: opacity 200ms;
+  -moz-transition: opacity 200ms;
+  transition: opacity 200ms;
+  opacity: 0.3;
+  color: #888;
+}
+
+#mocha .test:hover a.replay {
+  opacity: 1;
+}
+
+#mocha-report.pass .test.fail {
+  display: none;
+}
+
+#mocha-report.fail .test.pass {
+  display: none;
+}
+
+#mocha-report.pending .test.pass,
+#mocha-report.pending .test.fail {
+  display: none;
+}
+#mocha-report.pending .test.pass.pending {
+  display: block;
+}
+
+#mocha-error {
+  color: #c00;
+  font-size: 1.5em;
+  font-weight: 100;
+  letter-spacing: 1px;
+}
+
+#mocha-stats {
+  position: fixed;
+  top: 15px;
+  right: 10px;
+  font-size: 12px;
+  margin: 0;
+  color: #888;
+  z-index: 1;
+}
+
+#mocha-stats .progress {
+  float: right;
+  padding-top: 0;
+}
+
+#mocha-stats em {
+  color: black;
+}
+
+#mocha-stats a {
+  text-decoration: none;
+  color: inherit;
+}
+
+#mocha-stats a:hover {
+  border-bottom: 1px solid #eee;
+}
+
+#mocha-stats li {
+  display: inline-block;
+  margin: 0 5px;
+  list-style: none;
+  padding-top: 11px;
+}
+
+#mocha-stats canvas {
+  width: 40px;
+  height: 40px;
+}
+
+#mocha code .comment { color: #ddd; }
+#mocha code .init { color: #2f6fad; }
+#mocha code .string { color: #5890ad; }
+#mocha code .keyword { color: #8a6343; }
+#mocha code .number { color: #2f6fad; }
+
+@media screen and (max-device-width: 480px) {
+  #mocha {
+    margin: 60px 0px;
+  }
+
+  #mocha #stats {
+    position: absolute;
+  }
+}
diff --git a/libraries/foundation-6/test/javascript/lib/mocha.js b/libraries/foundation-6/test/javascript/lib/mocha.js
new file mode 100755
index 00000000..84c384bd
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/lib/mocha.js
@@ -0,0 +1,12417 @@
+(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
+(function (process){
+module.exports = process.env.COV
+  ? require('./lib-cov/mocha')
+  : require('./lib/mocha');
+
+}).call(this,require('_process'))
+},{"./lib-cov/mocha":undefined,"./lib/mocha":14,"_process":51}],2:[function(require,module,exports){
+/* eslint-disable no-unused-vars */
+module.exports = function(type) {
+  return function() {};
+};
+
+},{}],3:[function(require,module,exports){
+/**
+ * Module exports.
+ */
+
+exports.EventEmitter = EventEmitter;
+
+/**
+ * Object#hasOwnProperty reference.
+ */
+var objToString = Object.prototype.toString;
+
+/**
+ * Check if a value is an array.
+ *
+ * @api private
+ * @param {*} val The value to test.
+ * @return {boolean} true if the value is a boolean, otherwise false.
+ */
+function isArray(val) {
+  return objToString.call(val) === '[object Array]';
+}
+
+/**
+ * Event emitter constructor.
+ *
+ * @api public
+ */
+function EventEmitter() {}
+
+/**
+ * Add a listener.
+ *
+ * @api public
+ * @param {string} name Event name.
+ * @param {Function} fn Event handler.
+ * @return {EventEmitter} Emitter instance.
+ */
+EventEmitter.prototype.on = function(name, fn) {
+  if (!this.$events) {
+    this.$events = {};
+  }
+
+  if (!this.$events[name]) {
+    this.$events[name] = fn;
+  } else if (isArray(this.$events[name])) {
+    this.$events[name].push(fn);
+  } else {
+    this.$events[name] = [this.$events[name], fn];
+  }
+
+  return this;
+};
+
+EventEmitter.prototype.addListener = EventEmitter.prototype.on;
+
+/**
+ * Adds a volatile listener.
+ *
+ * @api public
+ * @param {string} name Event name.
+ * @param {Function} fn Event handler.
+ * @return {EventEmitter} Emitter instance.
+ */
+EventEmitter.prototype.once = function(name, fn) {
+  var self = this;
+
+  function on() {
+    self.removeListener(name, on);
+    fn.apply(this, arguments);
+  }
+
+  on.listener = fn;
+  this.on(name, on);
+
+  return this;
+};
+
+/**
+ * Remove a listener.
+ *
+ * @api public
+ * @param {string} name Event name.
+ * @param {Function} fn Event handler.
+ * @return {EventEmitter} Emitter instance.
+ */
+EventEmitter.prototype.removeListener = function(name, fn) {
+  if (this.$events && this.$events[name]) {
+    var list = this.$events[name];
+
+    if (isArray(list)) {
+      var pos = -1;
+
+      for (var i = 0, l = list.length; i < l; i++) {
+        if (list[i] === fn || (list[i].listener && list[i].listener === fn)) {
+          pos = i;
+          break;
+        }
+      }
+
+      if (pos < 0) {
+        return this;
+      }
+
+      list.splice(pos, 1);
+
+      if (!list.length) {
+        delete this.$events[name];
+      }
+    } else if (list === fn || (list.listener && list.listener === fn)) {
+      delete this.$events[name];
+    }
+  }
+
+  return this;
+};
+
+/**
+ * Remove all listeners for an event.
+ *
+ * @api public
+ * @param {string} name Event name.
+ * @return {EventEmitter} Emitter instance.
+ */
+EventEmitter.prototype.removeAllListeners = function(name) {
+  if (name === undefined) {
+    this.$events = {};
+    return this;
+  }
+
+  if (this.$events && this.$events[name]) {
+    this.$events[name] = null;
+  }
+
+  return this;
+};
+
+/**
+ * Get all listeners for a given event.
+ *
+ * @api public
+ * @param {string} name Event name.
+ * @return {EventEmitter} Emitter instance.
+ */
+EventEmitter.prototype.listeners = function(name) {
+  if (!this.$events) {
+    this.$events = {};
+  }
+
+  if (!this.$events[name]) {
+    this.$events[name] = [];
+  }
+
+  if (!isArray(this.$events[name])) {
+    this.$events[name] = [this.$events[name]];
+  }
+
+  return this.$events[name];
+};
+
+/**
+ * Emit an event.
+ *
+ * @api public
+ * @param {string} name Event name.
+ * @return {boolean} true if at least one handler was invoked, else false.
+ */
+EventEmitter.prototype.emit = function(name) {
+  if (!this.$events) {
+    return false;
+  }
+
+  var handler = this.$events[name];
+
+  if (!handler) {
+    return false;
+  }
+
+  var args = Array.prototype.slice.call(arguments, 1);
+
+  if (typeof handler === 'function') {
+    handler.apply(this, args);
+  } else if (isArray(handler)) {
+    var listeners = handler.slice();
+
+    for (var i = 0, l = listeners.length; i < l; i++) {
+      listeners[i].apply(this, args);
+    }
+  } else {
+    return false;
+  }
+
+  return true;
+};
+
+},{}],4:[function(require,module,exports){
+/**
+ * Expose `Progress`.
+ */
+
+module.exports = Progress;
+
+/**
+ * Initialize a new `Progress` indicator.
+ */
+function Progress() {
+  this.percent = 0;
+  this.size(0);
+  this.fontSize(11);
+  this.font('helvetica, arial, sans-serif');
+}
+
+/**
+ * Set progress size to `size`.
+ *
+ * @api public
+ * @param {number} size
+ * @return {Progress} Progress instance.
+ */
+Progress.prototype.size = function(size) {
+  this._size = size;
+  return this;
+};
+
+/**
+ * Set text to `text`.
+ *
+ * @api public
+ * @param {string} text
+ * @return {Progress} Progress instance.
+ */
+Progress.prototype.text = function(text) {
+  this._text = text;
+  return this;
+};
+
+/**
+ * Set font size to `size`.
+ *
+ * @api public
+ * @param {number} size
+ * @return {Progress} Progress instance.
+ */
+Progress.prototype.fontSize = function(size) {
+  this._fontSize = size;
+  return this;
+};
+
+/**
+ * Set font to `family`.
+ *
+ * @param {string} family
+ * @return {Progress} Progress instance.
+ */
+Progress.prototype.font = function(family) {
+  this._font = family;
+  return this;
+};
+
+/**
+ * Update percentage to `n`.
+ *
+ * @param {number} n
+ * @return {Progress} Progress instance.
+ */
+Progress.prototype.update = function(n) {
+  this.percent = n;
+  return this;
+};
+
+/**
+ * Draw on `ctx`.
+ *
+ * @param {CanvasRenderingContext2d} ctx
+ * @return {Progress} Progress instance.
+ */
+Progress.prototype.draw = function(ctx) {
+  try {
+    var percent = Math.min(this.percent, 100);
+    var size = this._size;
+    var half = size / 2;
+    var x = half;
+    var y = half;
+    var rad = half - 1;
+    var fontSize = this._fontSize;
+
+    ctx.font = fontSize + 'px ' + this._font;
+
+    var angle = Math.PI * 2 * (percent / 100);
+    ctx.clearRect(0, 0, size, size);
+
+    // outer circle
+    ctx.strokeStyle = '#9f9f9f';
+    ctx.beginPath();
+    ctx.arc(x, y, rad, 0, angle, false);
+    ctx.stroke();
+
+    // inner circle
+    ctx.strokeStyle = '#eee';
+    ctx.beginPath();
+    ctx.arc(x, y, rad - 1, 0, angle, true);
+    ctx.stroke();
+
+    // text
+    var text = this._text || (percent | 0) + '%';
+    var w = ctx.measureText(text).width;
+
+    ctx.fillText(text, x - w / 2 + 1, y + fontSize / 2 - 1);
+  } catch (err) {
+    // don't fail if we can't render progress
+  }
+  return this;
+};
+
+},{}],5:[function(require,module,exports){
+(function (global){
+exports.isatty = function isatty() {
+  return true;
+};
+
+exports.getWindowSize = function getWindowSize() {
+  if ('innerHeight' in global) {
+    return [global.innerHeight, global.innerWidth];
+  }
+  // In a Web Worker, the DOM Window is not available.
+  return [640, 480];
+};
+
+}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{}],6:[function(require,module,exports){
+/**
+ * Expose `Context`.
+ */
+
+module.exports = Context;
+
+/**
+ * Initialize a new `Context`.
+ *
+ * @api private
+ */
+function Context() {}
+
+/**
+ * Set or get the context `Runnable` to `runnable`.
+ *
+ * @api private
+ * @param {Runnable} runnable
+ * @return {Context}
+ */
+Context.prototype.runnable = function(runnable) {
+  if (!arguments.length) {
+    return this._runnable;
+  }
+  this.test = this._runnable = runnable;
+  return this;
+};
+
+/**
+ * Set test timeout `ms`.
+ *
+ * @api private
+ * @param {number} ms
+ * @return {Context} self
+ */
+Context.prototype.timeout = function(ms) {
+  if (!arguments.length) {
+    return this.runnable().timeout();
+  }
+  this.runnable().timeout(ms);
+  return this;
+};
+
+/**
+ * Set test timeout `enabled`.
+ *
+ * @api private
+ * @param {boolean} enabled
+ * @return {Context} self
+ */
+Context.prototype.enableTimeouts = function(enabled) {
+  this.runnable().enableTimeouts(enabled);
+  return this;
+};
+
+/**
+ * Set test slowness threshold `ms`.
+ *
+ * @api private
+ * @param {number} ms
+ * @return {Context} self
+ */
+Context.prototype.slow = function(ms) {
+  this.runnable().slow(ms);
+  return this;
+};
+
+/**
+ * Mark a test as skipped.
+ *
+ * @api private
+ * @return {Context} self
+ */
+Context.prototype.skip = function() {
+  this.runnable().skip();
+  return this;
+};
+
+/**
+ * Inspect the context void of `._runnable`.
+ *
+ * @api private
+ * @return {string}
+ */
+Context.prototype.inspect = function() {
+  return JSON.stringify(this, function(key, val) {
+    return key === 'runnable' || key === 'test' ? undefined : val;
+  }, 2);
+};
+
+},{}],7:[function(require,module,exports){
+/**
+ * Module dependencies.
+ */
+
+var Runnable = require('./runnable');
+var inherits = require('./utils').inherits;
+
+/**
+ * Expose `Hook`.
+ */
+
+module.exports = Hook;
+
+/**
+ * Initialize a new `Hook` with the given `title` and callback `fn`.
+ *
+ * @param {String} title
+ * @param {Function} fn
+ * @api private
+ */
+function Hook(title, fn) {
+  Runnable.call(this, title, fn);
+  this.type = 'hook';
+}
+
+/**
+ * Inherit from `Runnable.prototype`.
+ */
+inherits(Hook, Runnable);
+
+/**
+ * Get or set the test `err`.
+ *
+ * @param {Error} err
+ * @return {Error}
+ * @api public
+ */
+Hook.prototype.error = function(err) {
+  if (!arguments.length) {
+    err = this._error;
+    this._error = null;
+    return err;
+  }
+
+  this._error = err;
+};
+
+},{"./runnable":35,"./utils":39}],8:[function(require,module,exports){
+/**
+ * Module dependencies.
+ */
+
+var Suite = require('../suite');
+var Test = require('../test');
+var escapeRe = require('escape-string-regexp');
+
+/**
+ * BDD-style interface:
+ *
+ *      describe('Array', function() {
+ *        describe('#indexOf()', function() {
+ *          it('should return -1 when not present', function() {
+ *            // ...
+ *          });
+ *
+ *          it('should return the index when present', function() {
+ *            // ...
+ *          });
+ *        });
+ *      });
+ *
+ * @param {Suite} suite Root suite.
+ */
+module.exports = function(suite) {
+  var suites = [suite];
+
+  suite.on('pre-require', function(context, file, mocha) {
+    var common = require('./common')(suites, context);
+
+    context.before = common.before;
+    context.after = common.after;
+    context.beforeEach = common.beforeEach;
+    context.afterEach = common.afterEach;
+    context.run = mocha.options.delay && common.runWithSuite(suite);
+    /**
+     * Describe a "suite" with the given `title`
+     * and callback `fn` containing nested suites
+     * and/or tests.
+     */
+
+    context.describe = context.context = function(title, fn) {
+      var suite = Suite.create(suites[0], title);
+      suite.file = file;
+      suites.unshift(suite);
+      fn.call(suite);
+      suites.shift();
+      return suite;
+    };
+
+    /**
+     * Pending describe.
+     */
+
+    context.xdescribe = context.xcontext = context.describe.skip = function(title, fn) {
+      var suite = Suite.create(suites[0], title);
+      suite.pending = true;
+      suites.unshift(suite);
+      fn.call(suite);
+      suites.shift();
+    };
+
+    /**
+     * Exclusive suite.
+     */
+
+    context.describe.only = function(title, fn) {
+      var suite = context.describe(title, fn);
+      mocha.grep(suite.fullTitle());
+      return suite;
+    };
+
+    /**
+     * Describe a specification or test-case
+     * with the given `title` and callback `fn`
+     * acting as a thunk.
+     */
+
+    context.it = context.specify = function(title, fn) {
+      var suite = suites[0];
+      if (suite.pending) {
+        fn = null;
+      }
+      var test = new Test(title, fn);
+      test.file = file;
+      suite.addTest(test);
+      return test;
+    };
+
+    /**
+     * Exclusive test-case.
+     */
+
+    context.it.only = function(title, fn) {
+      var test = context.it(title, fn);
+      var reString = '^' + escapeRe(test.fullTitle()) + '$';
+      mocha.grep(new RegExp(reString));
+      return test;
+    };
+
+    /**
+     * Pending test case.
+     */
+
+    context.xit = context.xspecify = context.it.skip = function(title) {
+      context.it(title);
+    };
+  });
+};
+
+},{"../suite":37,"../test":38,"./common":9,"escape-string-regexp":68}],9:[function(require,module,exports){
+'use strict';
+
+/**
+ * Functions common to more than one interface.
+ *
+ * @param {Suite[]} suites
+ * @param {Context} context
+ * @return {Object} An object containing common functions.
+ */
+module.exports = function(suites, context) {
+  return {
+    /**
+     * This is only present if flag --delay is passed into Mocha. It triggers
+     * root suite execution.
+     *
+     * @param {Suite} suite The root wuite.
+     * @return {Function} A function which runs the root suite
+     */
+    runWithSuite: function runWithSuite(suite) {
+      return function run() {
+        suite.run();
+      };
+    },
+
+    /**
+     * Execute before running tests.
+     *
+     * @param {string} name
+     * @param {Function} fn
+     */
+    before: function(name, fn) {
+      suites[0].beforeAll(name, fn);
+    },
+
+    /**
+     * Execute after running tests.
+     *
+     * @param {string} name
+     * @param {Function} fn
+     */
+    after: function(name, fn) {
+      suites[0].afterAll(name, fn);
+    },
+
+    /**
+     * Execute before each test case.
+     *
+     * @param {string} name
+     * @param {Function} fn
+     */
+    beforeEach: function(name, fn) {
+      suites[0].beforeEach(name, fn);
+    },
+
+    /**
+     * Execute after each test case.
+     *
+     * @param {string} name
+     * @param {Function} fn
+     */
+    afterEach: function(name, fn) {
+      suites[0].afterEach(name, fn);
+    },
+
+    test: {
+      /**
+       * Pending test case.
+       *
+       * @param {string} title
+       */
+      skip: function(title) {
+        context.test(title);
+      }
+    }
+  };
+};
+
+},{}],10:[function(require,module,exports){
+/**
+ * Module dependencies.
+ */
+
+var Suite = require('../suite');
+var Test = require('../test');
+
+/**
+ * TDD-style interface:
+ *
+ *     exports.Array = {
+ *       '#indexOf()': {
+ *         'should return -1 when the value is not present': function() {
+ *
+ *         },
+ *
+ *         'should return the correct index when the value is present': function() {
+ *
+ *         }
+ *       }
+ *     };
+ *
+ * @param {Suite} suite Root suite.
+ */
+module.exports = function(suite) {
+  var suites = [suite];
+
+  suite.on('require', visit);
+
+  function visit(obj, file) {
+    var suite;
+    for (var key in obj) {
+      if (typeof obj[key] === 'function') {
+        var fn = obj[key];
+        switch (key) {
+          case 'before':
+            suites[0].beforeAll(fn);
+            break;
+          case 'after':
+            suites[0].afterAll(fn);
+            break;
+          case 'beforeEach':
+            suites[0].beforeEach(fn);
+            break;
+          case 'afterEach':
+            suites[0].afterEach(fn);
+            break;
+          default:
+            var test = new Test(key, fn);
+            test.file = file;
+            suites[0].addTest(test);
+        }
+      } else {
+        suite = Suite.create(suites[0], key);
+        suites.unshift(suite);
+        visit(obj[key]);
+        suites.shift();
+      }
+    }
+  }
+};
+
+},{"../suite":37,"../test":38}],11:[function(require,module,exports){
+exports.bdd = require('./bdd');
+exports.tdd = require('./tdd');
+exports.qunit = require('./qunit');
+exports.exports = require('./exports');
+
+},{"./bdd":8,"./exports":10,"./qunit":12,"./tdd":13}],12:[function(require,module,exports){
+/**
+ * Module dependencies.
+ */
+
+var Suite = require('../suite');
+var Test = require('../test');
+var escapeRe = require('escape-string-regexp');
+
+/**
+ * QUnit-style interface:
+ *
+ *     suite('Array');
+ *
+ *     test('#length', function() {
+ *       var arr = [1,2,3];
+ *       ok(arr.length == 3);
+ *     });
+ *
+ *     test('#indexOf()', function() {
+ *       var arr = [1,2,3];
+ *       ok(arr.indexOf(1) == 0);
+ *       ok(arr.indexOf(2) == 1);
+ *       ok(arr.indexOf(3) == 2);
+ *     });
+ *
+ *     suite('String');
+ *
+ *     test('#length', function() {
+ *       ok('foo'.length == 3);
+ *     });
+ *
+ * @param {Suite} suite Root suite.
+ */
+module.exports = function(suite) {
+  var suites = [suite];
+
+  suite.on('pre-require', function(context, file, mocha) {
+    var common = require('./common')(suites, context);
+
+    context.before = common.before;
+    context.after = common.after;
+    context.beforeEach = common.beforeEach;
+    context.afterEach = common.afterEach;
+    context.run = mocha.options.delay && common.runWithSuite(suite);
+    /**
+     * Describe a "suite" with the given `title`.
+     */
+
+    context.suite = function(title) {
+      if (suites.length > 1) {
+        suites.shift();
+      }
+      var suite = Suite.create(suites[0], title);
+      suite.file = file;
+      suites.unshift(suite);
+      return suite;
+    };
+
+    /**
+     * Exclusive test-case.
+     */
+
+    context.suite.only = function(title, fn) {
+      var suite = context.suite(title, fn);
+      mocha.grep(suite.fullTitle());
+    };
+
+    /**
+     * Describe a specification or test-case
+     * with the given `title` and callback `fn`
+     * acting as a thunk.
+     */
+
+    context.test = function(title, fn) {
+      var test = new Test(title, fn);
+      test.file = file;
+      suites[0].addTest(test);
+      return test;
+    };
+
+    /**
+     * Exclusive test-case.
+     */
+
+    context.test.only = function(title, fn) {
+      var test = context.test(title, fn);
+      var reString = '^' + escapeRe(test.fullTitle()) + '$';
+      mocha.grep(new RegExp(reString));
+    };
+
+    context.test.skip = common.test.skip;
+  });
+};
+
+},{"../suite":37,"../test":38,"./common":9,"escape-string-regexp":68}],13:[function(require,module,exports){
+/**
+ * Module dependencies.
+ */
+
+var Suite = require('../suite');
+var Test = require('../test');
+var escapeRe = require('escape-string-regexp');
+
+/**
+ * TDD-style interface:
+ *
+ *      suite('Array', function() {
+ *        suite('#indexOf()', function() {
+ *          suiteSetup(function() {
+ *
+ *          });
+ *
+ *          test('should return -1 when not present', function() {
+ *
+ *          });
+ *
+ *          test('should return the index when present', function() {
+ *
+ *          });
+ *
+ *          suiteTeardown(function() {
+ *
+ *          });
+ *        });
+ *      });
+ *
+ * @param {Suite} suite Root suite.
+ */
+module.exports = function(suite) {
+  var suites = [suite];
+
+  suite.on('pre-require', function(context, file, mocha) {
+    var common = require('./common')(suites, context);
+
+    context.setup = common.beforeEach;
+    context.teardown = common.afterEach;
+    context.suiteSetup = common.before;
+    context.suiteTeardown = common.after;
+    context.run = mocha.options.delay && common.runWithSuite(suite);
+
+    /**
+     * Describe a "suite" with the given `title` and callback `fn` containing
+     * nested suites and/or tests.
+     */
+    context.suite = function(title, fn) {
+      var suite = Suite.create(suites[0], title);
+      suite.file = file;
+      suites.unshift(suite);
+      fn.call(suite);
+      suites.shift();
+      return suite;
+    };
+
+    /**
+     * Pending suite.
+     */
+    context.suite.skip = function(title, fn) {
+      var suite = Suite.create(suites[0], title);
+      suite.pending = true;
+      suites.unshift(suite);
+      fn.call(suite);
+      suites.shift();
+    };
+
+    /**
+     * Exclusive test-case.
+     */
+    context.suite.only = function(title, fn) {
+      var suite = context.suite(title, fn);
+      mocha.grep(suite.fullTitle());
+    };
+
+    /**
+     * Describe a specification or test-case with the given `title` and
+     * callback `fn` acting as a thunk.
+     */
+    context.test = function(title, fn) {
+      var suite = suites[0];
+      if (suite.pending) {
+        fn = null;
+      }
+      var test = new Test(title, fn);
+      test.file = file;
+      suite.addTest(test);
+      return test;
+    };
+
+    /**
+     * Exclusive test-case.
+     */
+
+    context.test.only = function(title, fn) {
+      var test = context.test(title, fn);
+      var reString = '^' + escapeRe(test.fullTitle()) + '$';
+      mocha.grep(new RegExp(reString));
+    };
+
+    context.test.skip = common.test.skip;
+  });
+};
+
+},{"../suite":37,"../test":38,"./common":9,"escape-string-regexp":68}],14:[function(require,module,exports){
+(function (process,global,__dirname){
+/*!
+ * mocha
+ * Copyright(c) 2011 TJ Holowaychuk <tj@vision-media.ca>
+ * MIT Licensed
+ */
+
+/**
+ * Module dependencies.
+ */
+
+var escapeRe = require('escape-string-regexp');
+var path = require('path');
+var reporters = require('./reporters');
+var utils = require('./utils');
+
+/**
+ * Expose `Mocha`.
+ */
+
+exports = module.exports = Mocha;
+
+/**
+ * To require local UIs and reporters when running in node.
+ */
+
+if (!process.browser) {
+  var cwd = process.cwd();
+  module.paths.push(cwd, path.join(cwd, 'node_modules'));
+}
+
+/**
+ * Expose internals.
+ */
+
+exports.utils = utils;
+exports.interfaces = require('./interfaces');
+exports.reporters = reporters;
+exports.Runnable = require('./runnable');
+exports.Context = require('./context');
+exports.Runner = require('./runner');
+exports.Suite = require('./suite');
+exports.Hook = require('./hook');
+exports.Test = require('./test');
+
+/**
+ * Return image `name` path.
+ *
+ * @api private
+ * @param {string} name
+ * @return {string}
+ */
+function image(name) {
+  return path.join(__dirname, '../images', name + '.png');
+}
+
+/**
+ * Set up mocha with `options`.
+ *
+ * Options:
+ *
+ *   - `ui` name "bdd", "tdd", "exports" etc
+ *   - `reporter` reporter instance, defaults to `mocha.reporters.spec`
+ *   - `globals` array of accepted globals
+ *   - `timeout` timeout in milliseconds
+ *   - `bail` bail on the first test failure
+ *   - `slow` milliseconds to wait before considering a test slow
+ *   - `ignoreLeaks` ignore global leaks
+ *   - `fullTrace` display the full stack-trace on failing
+ *   - `grep` string or regexp to filter tests with
+ *
+ * @param {Object} options
+ * @api public
+ */
+function Mocha(options) {
+  options = options || {};
+  this.files = [];
+  this.options = options;
+  if (options.grep) {
+    this.grep(new RegExp(options.grep));
+  }
+  if (options.fgrep) {
+    this.grep(options.fgrep);
+  }
+  this.suite = new exports.Suite('', new exports.Context());
+  this.ui(options.ui);
+  this.bail(options.bail);
+  this.reporter(options.reporter, options.reporterOptions);
+  if (typeof options.timeout !== 'undefined' && options.timeout !== null) {
+    this.timeout(options.timeout);
+  }
+  this.useColors(options.useColors);
+  if (options.enableTimeouts !== null) {
+    this.enableTimeouts(options.enableTimeouts);
+  }
+  if (options.slow) {
+    this.slow(options.slow);
+  }
+
+  this.suite.on('pre-require', function(context) {
+    exports.afterEach = context.afterEach || context.teardown;
+    exports.after = context.after || context.suiteTeardown;
+    exports.beforeEach = context.beforeEach || context.setup;
+    exports.before = context.before || context.suiteSetup;
+    exports.describe = context.describe || context.suite;
+    exports.it = context.it || context.test;
+    exports.setup = context.setup || context.beforeEach;
+    exports.suiteSetup = context.suiteSetup || context.before;
+    exports.suiteTeardown = context.suiteTeardown || context.after;
+    exports.suite = context.suite || context.describe;
+    exports.teardown = context.teardown || context.afterEach;
+    exports.test = context.test || context.it;
+    exports.run = context.run;
+  });
+}
+
+/**
+ * Enable or disable bailing on the first failure.
+ *
+ * @api public
+ * @param {boolean} [bail]
+ */
+Mocha.prototype.bail = function(bail) {
+  if (!arguments.length) {
+    bail = true;
+  }
+  this.suite.bail(bail);
+  return this;
+};
+
+/**
+ * Add test `file`.
+ *
+ * @api public
+ * @param {string} file
+ */
+Mocha.prototype.addFile = function(file) {
+  this.files.push(file);
+  return this;
+};
+
+/**
+ * Set reporter to `reporter`, defaults to "spec".
+ *
+ * @param {String|Function} reporter name or constructor
+ * @param {Object} reporterOptions optional options
+ * @api public
+ * @param {string|Function} reporter name or constructor
+ * @param {Object} reporterOptions optional options
+ */
+Mocha.prototype.reporter = function(reporter, reporterOptions) {
+  if (typeof reporter === 'function') {
+    this._reporter = reporter;
+  } else {
+    reporter = reporter || 'spec';
+    var _reporter;
+    // Try to load a built-in reporter.
+    if (reporters[reporter]) {
+      _reporter = reporters[reporter];
+    }
+    // Try to load reporters from process.cwd() and node_modules
+    if (!_reporter) {
+      try {
+        _reporter = require(reporter);
+      } catch (err) {
+        err.message.indexOf('Cannot find module') !== -1
+          ? console.warn('"' + reporter + '" reporter not found')
+          : console.warn('"' + reporter + '" reporter blew up with error:\n' + err.stack);
+      }
+    }
+    if (!_reporter && reporter === 'teamcity') {
+      console.warn('The Teamcity reporter was moved to a package named '
+        + 'mocha-teamcity-reporter '
+        + '(https://npmjs.org/package/mocha-teamcity-reporter).');
+    }
+    if (!_reporter) {
+      throw new Error('invalid reporter "' + reporter + '"');
+    }
+    this._reporter = _reporter;
+  }
+  this.options.reporterOptions = reporterOptions;
+  return this;
+};
+
+/**
+ * Set test UI `name`, defaults to "bdd".
+ *
+ * @api public
+ * @param {string} bdd
+ */
+Mocha.prototype.ui = function(name) {
+  name = name || 'bdd';
+  this._ui = exports.interfaces[name];
+  if (!this._ui) {
+    try {
+      this._ui = require(name);
+    } catch (err) {
+      throw new Error('invalid interface "' + name + '"');
+    }
+  }
+  this._ui = this._ui(this.suite);
+  return this;
+};
+
+/**
+ * Load registered files.
+ *
+ * @api private
+ */
+Mocha.prototype.loadFiles = function(fn) {
+  var self = this;
+  var suite = this.suite;
+  var pending = this.files.length;
+  this.files.forEach(function(file) {
+    file = path.resolve(file);
+    suite.emit('pre-require', global, file, self);
+    suite.emit('require', require(file), file, self);
+    suite.emit('post-require', global, file, self);
+    --pending || (fn && fn());
+  });
+};
+
+/**
+ * Enable growl support.
+ *
+ * @api private
+ */
+Mocha.prototype._growl = function(runner, reporter) {
+  var notify = require('growl');
+
+  runner.on('end', function() {
+    var stats = reporter.stats;
+    if (stats.failures) {
+      var msg = stats.failures + ' of ' + runner.total + ' tests failed';
+      notify(msg, { name: 'mocha', title: 'Failed', image: image('error') });
+    } else {
+      notify(stats.passes + ' tests passed in ' + stats.duration + 'ms', {
+        name: 'mocha',
+        title: 'Passed',
+        image: image('ok')
+      });
+    }
+  });
+};
+
+/**
+ * Add regexp to grep, if `re` is a string it is escaped.
+ *
+ * @param {RegExp|String} re
+ * @return {Mocha}
+ * @api public
+ * @param {RegExp|string} re
+ * @return {Mocha}
+ */
+Mocha.prototype.grep = function(re) {
+  this.options.grep = typeof re === 'string' ? new RegExp(escapeRe(re)) : re;
+  return this;
+};
+
+/**
+ * Invert `.grep()` matches.
+ *
+ * @return {Mocha}
+ * @api public
+ */
+Mocha.prototype.invert = function() {
+  this.options.invert = true;
+  return this;
+};
+
+/**
+ * Ignore global leaks.
+ *
+ * @param {Boolean} ignore
+ * @return {Mocha}
+ * @api public
+ * @param {boolean} ignore
+ * @return {Mocha}
+ */
+Mocha.prototype.ignoreLeaks = function(ignore) {
+  this.options.ignoreLeaks = Boolean(ignore);
+  return this;
+};
+
+/**
+ * Enable global leak checking.
+ *
+ * @return {Mocha}
+ * @api public
+ */
+Mocha.prototype.checkLeaks = function() {
+  this.options.ignoreLeaks = false;
+  return this;
+};
+
+/**
+ * Display long stack-trace on failing
+ *
+ * @return {Mocha}
+ * @api public
+ */
+Mocha.prototype.fullTrace = function() {
+  this.options.fullStackTrace = true;
+  return this;
+};
+
+/**
+ * Enable growl support.
+ *
+ * @return {Mocha}
+ * @api public
+ */
+Mocha.prototype.growl = function() {
+  this.options.growl = true;
+  return this;
+};
+
+/**
+ * Ignore `globals` array or string.
+ *
+ * @param {Array|String} globals
+ * @return {Mocha}
+ * @api public
+ * @param {Array|string} globals
+ * @return {Mocha}
+ */
+Mocha.prototype.globals = function(globals) {
+  this.options.globals = (this.options.globals || []).concat(globals);
+  return this;
+};
+
+/**
+ * Emit color output.
+ *
+ * @param {Boolean} colors
+ * @return {Mocha}
+ * @api public
+ * @param {boolean} colors
+ * @return {Mocha}
+ */
+Mocha.prototype.useColors = function(colors) {
+  if (colors !== undefined) {
+    this.options.useColors = colors;
+  }
+  return this;
+};
+
+/**
+ * Use inline diffs rather than +/-.
+ *
+ * @param {Boolean} inlineDiffs
+ * @return {Mocha}
+ * @api public
+ * @param {boolean} inlineDiffs
+ * @return {Mocha}
+ */
+Mocha.prototype.useInlineDiffs = function(inlineDiffs) {
+  this.options.useInlineDiffs = inlineDiffs !== undefined && inlineDiffs;
+  return this;
+};
+
+/**
+ * Set the timeout in milliseconds.
+ *
+ * @param {Number} timeout
+ * @return {Mocha}
+ * @api public
+ * @param {number} timeout
+ * @return {Mocha}
+ */
+Mocha.prototype.timeout = function(timeout) {
+  this.suite.timeout(timeout);
+  return this;
+};
+
+/**
+ * Set slowness threshold in milliseconds.
+ *
+ * @param {Number} slow
+ * @return {Mocha}
+ * @api public
+ * @param {number} slow
+ * @return {Mocha}
+ */
+Mocha.prototype.slow = function(slow) {
+  this.suite.slow(slow);
+  return this;
+};
+
+/**
+ * Enable timeouts.
+ *
+ * @param {Boolean} enabled
+ * @return {Mocha}
+ * @api public
+ * @param {boolean} enabled
+ * @return {Mocha}
+ */
+Mocha.prototype.enableTimeouts = function(enabled) {
+  this.suite.enableTimeouts(arguments.length && enabled !== undefined ? enabled : true);
+  return this;
+};
+
+/**
+ * Makes all tests async (accepting a callback)
+ *
+ * @return {Mocha}
+ * @api public
+ */
+Mocha.prototype.asyncOnly = function() {
+  this.options.asyncOnly = true;
+  return this;
+};
+
+/**
+ * Disable syntax highlighting (in browser).
+ *
+ * @api public
+ */
+Mocha.prototype.noHighlighting = function() {
+  this.options.noHighlighting = true;
+  return this;
+};
+
+/**
+ * Enable uncaught errors to propagate (in browser).
+ *
+ * @return {Mocha}
+ * @api public
+ */
+Mocha.prototype.allowUncaught = function() {
+  this.options.allowUncaught = true;
+  return this;
+};
+
+/**
+ * Delay root suite execution.
+ * @returns {Mocha}
+ */
+Mocha.prototype.delay = function delay() {
+  this.options.delay = true;
+  return this;
+};
+
+/**
+ * Run tests and invoke `fn()` when complete.
+ *
+ * @api public
+ * @param {Function} fn
+ * @return {Runner}
+ */
+Mocha.prototype.run = function(fn) {
+  if (this.files.length) {
+    this.loadFiles();
+  }
+  var suite = this.suite;
+  var options = this.options;
+  options.files = this.files;
+  var runner = new exports.Runner(suite, options.delay);
+  var reporter = new this._reporter(runner, options);
+  runner.ignoreLeaks = options.ignoreLeaks !== false;
+  runner.fullStackTrace = options.fullStackTrace;
+  runner.asyncOnly = options.asyncOnly;
+  runner.allowUncaught = options.allowUncaught;
+  if (options.grep) {
+    runner.grep(options.grep, options.invert);
+  }
+  if (options.globals) {
+    runner.globals(options.globals);
+  }
+  if (options.growl) {
+    this._growl(runner, reporter);
+  }
+  if (options.useColors !== undefined) {
+    exports.reporters.Base.useColors = options.useColors;
+  }
+  exports.reporters.Base.inlineDiffs = options.useInlineDiffs;
+
+  function done(failures) {
+    if (reporter.done) {
+      reporter.done(failures, fn);
+    } else {
+      fn && fn(failures);
+    }
+  }
+
+  return runner.run(done);
+};
+
+}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},"/lib")
+},{"./context":6,"./hook":7,"./interfaces":11,"./reporters":22,"./runnable":35,"./runner":36,"./suite":37,"./test":38,"./utils":39,"_process":51,"escape-string-regexp":68,"growl":69,"path":41}],15:[function(require,module,exports){
+/**
+ * Helpers.
+ */
+
+var s = 1000;
+var m = s * 60;
+var h = m * 60;
+var d = h * 24;
+var y = d * 365.25;
+
+/**
+ * Parse or format the given `val`.
+ *
+ * Options:
+ *
+ *  - `long` verbose formatting [false]
+ *
+ * @api public
+ * @param {string|number} val
+ * @param {Object} options
+ * @return {string|number}
+ */
+module.exports = function(val, options) {
+  options = options || {};
+  if (typeof val === 'string') {
+    return parse(val);
+  }
+  // https://github.com/mochajs/mocha/pull/1035
+  return options['long'] ? longFormat(val) : shortFormat(val);
+};
+
+/**
+ * Parse the given `str` and return milliseconds.
+ *
+ * @api private
+ * @param {string} str
+ * @return {number}
+ */
+function parse(str) {
+  var match = (/^((?:\d+)?\.?\d+) *(ms|seconds?|s|minutes?|m|hours?|h|days?|d|years?|y)?$/i).exec(str);
+  if (!match) {
+    return;
+  }
+  var n = parseFloat(match[1]);
+  var type = (match[2] || 'ms').toLowerCase();
+  switch (type) {
+    case 'years':
+    case 'year':
+    case 'y':
+      return n * y;
+    case 'days':
+    case 'day':
+    case 'd':
+      return n * d;
+    case 'hours':
+    case 'hour':
+    case 'h':
+      return n * h;
+    case 'minutes':
+    case 'minute':
+    case 'm':
+      return n * m;
+    case 'seconds':
+    case 'second':
+    case 's':
+      return n * s;
+    case 'ms':
+      return n;
+    default:
+      // No default case
+  }
+}
+
+/**
+ * Short format for `ms`.
+ *
+ * @api private
+ * @param {number} ms
+ * @return {string}
+ */
+function shortFormat(ms) {
+  if (ms >= d) {
+    return Math.round(ms / d) + 'd';
+  }
+  if (ms >= h) {
+    return Math.round(ms / h) + 'h';
+  }
+  if (ms >= m) {
+    return Math.round(ms / m) + 'm';
+  }
+  if (ms >= s) {
+    return Math.round(ms / s) + 's';
+  }
+  return ms + 'ms';
+}
+
+/**
+ * Long format for `ms`.
+ *
+ * @api private
+ * @param {number} ms
+ * @return {string}
+ */
+function longFormat(ms) {
+  return plural(ms, d, 'day')
+    || plural(ms, h, 'hour')
+    || plural(ms, m, 'minute')
+    || plural(ms, s, 'second')
+    || ms + ' ms';
+}
+
+/**
+ * Pluralization helper.
+ *
+ * @api private
+ * @param {number} ms
+ * @param {number} n
+ * @param {string} name
+ */
+function plural(ms, n, name) {
+  if (ms < n) {
+    return;
+  }
+  if (ms < n * 1.5) {
+    return Math.floor(ms / n) + ' ' + name;
+  }
+  return Math.ceil(ms / n) + ' ' + name + 's';
+}
+
+},{}],16:[function(require,module,exports){
+
+/**
+ * Expose `Pending`.
+ */
+
+module.exports = Pending;
+
+/**
+ * Initialize a new `Pending` error with the given message.
+ *
+ * @param {string} message
+ */
+function Pending(message) {
+  this.message = message;
+}
+
+},{}],17:[function(require,module,exports){
+(function (process,global){
+/**
+ * Module dependencies.
+ */
+
+var tty = require('tty');
+var diff = require('diff');
+var ms = require('../ms');
+var utils = require('../utils');
+var supportsColor = process.browser ? null : require('supports-color');
+
+/**
+ * Expose `Base`.
+ */
+
+exports = module.exports = Base;
+
+/**
+ * Save timer references to avoid Sinon interfering.
+ * See: https://github.com/mochajs/mocha/issues/237
+ */
+
+/* eslint-disable no-unused-vars, no-native-reassign */
+var Date = global.Date;
+var setTimeout = global.setTimeout;
+var setInterval = global.setInterval;
+var clearTimeout = global.clearTimeout;
+var clearInterval = global.clearInterval;
+/* eslint-enable no-unused-vars, no-native-reassign */
+
+/**
+ * Check if both stdio streams are associated with a tty.
+ */
+
+var isatty = tty.isatty(1) && tty.isatty(2);
+
+/**
+ * Enable coloring by default, except in the browser interface.
+ */
+
+exports.useColors = !process.browser && (supportsColor || (process.env.MOCHA_COLORS !== undefined));
+
+/**
+ * Inline diffs instead of +/-
+ */
+
+exports.inlineDiffs = false;
+
+/**
+ * Default color map.
+ */
+
+exports.colors = {
+  pass: 90,
+  fail: 31,
+  'bright pass': 92,
+  'bright fail': 91,
+  'bright yellow': 93,
+  pending: 36,
+  suite: 0,
+  'error title': 0,
+  'error message': 31,
+  'error stack': 90,
+  checkmark: 32,
+  fast: 90,
+  medium: 33,
+  slow: 31,
+  green: 32,
+  light: 90,
+  'diff gutter': 90,
+  'diff added': 32,
+  'diff removed': 31
+};
+
+/**
+ * Default symbol map.
+ */
+
+exports.symbols = {
+  ok: '✓',
+  err: '✖',
+  dot: '․'
+};
+
+// With node.js on Windows: use symbols available in terminal default fonts
+if (process.platform === 'win32') {
+  exports.symbols.ok = '\u221A';
+  exports.symbols.err = '\u00D7';
+  exports.symbols.dot = '.';
+}
+
+/**
+ * Color `str` with the given `type`,
+ * allowing colors to be disabled,
+ * as well as user-defined color
+ * schemes.
+ *
+ * @param {string} type
+ * @param {string} str
+ * @return {string}
+ * @api private
+ */
+var color = exports.color = function(type, str) {
+  if (!exports.useColors) {
+    return String(str);
+  }
+  return '\u001b[' + exports.colors[type] + 'm' + str + '\u001b[0m';
+};
+
+/**
+ * Expose term window size, with some defaults for when stderr is not a tty.
+ */
+
+exports.window = {
+  width: 75
+};
+
+if (isatty) {
+  exports.window.width = process.stdout.getWindowSize
+      ? process.stdout.getWindowSize(1)[0]
+      : tty.getWindowSize()[1];
+}
+
+/**
+ * Expose some basic cursor interactions that are common among reporters.
+ */
+
+exports.cursor = {
+  hide: function() {
+    isatty && process.stdout.write('\u001b[?25l');
+  },
+
+  show: function() {
+    isatty && process.stdout.write('\u001b[?25h');
+  },
+
+  deleteLine: function() {
+    isatty && process.stdout.write('\u001b[2K');
+  },
+
+  beginningOfLine: function() {
+    isatty && process.stdout.write('\u001b[0G');
+  },
+
+  CR: function() {
+    if (isatty) {
+      exports.cursor.deleteLine();
+      exports.cursor.beginningOfLine();
+    } else {
+      process.stdout.write('\r');
+    }
+  }
+};
+
+/**
+ * Outut the given `failures` as a list.
+ *
+ * @param {Array} failures
+ * @api public
+ */
+
+exports.list = function(failures) {
+  console.log();
+  failures.forEach(function(test, i) {
+    // format
+    var fmt = color('error title', '  %s) %s:\n')
+      + color('error message', '     %s')
+      + color('error stack', '\n%s\n');
+
+    // msg
+    var msg;
+    var err = test.err;
+    var message;
+    if (err.message) {
+      message = err.message;
+    } else if (typeof err.inspect === 'function') {
+      message = err.inspect() + '';
+    } else {
+      message = '';
+    }
+    var stack = err.stack || message;
+    var index = stack.indexOf(message);
+    var actual = err.actual;
+    var expected = err.expected;
+    var escape = true;
+
+    if (index === -1) {
+      msg = message;
+    } else {
+      index += message.length;
+      msg = stack.slice(0, index);
+      // remove msg from stack
+      stack = stack.slice(index + 1);
+    }
+
+    // uncaught
+    if (err.uncaught) {
+      msg = 'Uncaught ' + msg;
+    }
+    // explicitly show diff
+    if (err.showDiff !== false && sameType(actual, expected) && expected !== undefined) {
+      escape = false;
+      if (!(utils.isString(actual) && utils.isString(expected))) {
+        err.actual = actual = utils.stringify(actual);
+        err.expected = expected = utils.stringify(expected);
+      }
+
+      fmt = color('error title', '  %s) %s:\n%s') + color('error stack', '\n%s\n');
+      var match = message.match(/^([^:]+): expected/);
+      msg = '\n      ' + color('error message', match ? match[1] : msg);
+
+      if (exports.inlineDiffs) {
+        msg += inlineDiff(err, escape);
+      } else {
+        msg += unifiedDiff(err, escape);
+      }
+    }
+
+    // indent stack trace
+    stack = stack.replace(/^/gm, '  ');
+
+    console.log(fmt, (i + 1), test.fullTitle(), msg, stack);
+  });
+};
+
+/**
+ * Initialize a new `Base` reporter.
+ *
+ * All other reporters generally
+ * inherit from this reporter, providing
+ * stats such as test duration, number
+ * of tests passed / failed etc.
+ *
+ * @param {Runner} runner
+ * @api public
+ */
+
+function Base(runner) {
+  var stats = this.stats = { suites: 0, tests: 0, passes: 0, pending: 0, failures: 0 };
+  var failures = this.failures = [];
+
+  if (!runner) {
+    return;
+  }
+  this.runner = runner;
+
+  runner.stats = stats;
+
+  runner.on('start', function() {
+    stats.start = new Date();
+  });
+
+  runner.on('suite', function(suite) {
+    stats.suites = stats.suites || 0;
+    suite.root || stats.suites++;
+  });
+
+  runner.on('test end', function() {
+    stats.tests = stats.tests || 0;
+    stats.tests++;
+  });
+
+  runner.on('pass', function(test) {
+    stats.passes = stats.passes || 0;
+
+    if (test.duration > test.slow()) {
+      test.speed = 'slow';
+    } else if (test.duration > test.slow() / 2) {
+      test.speed = 'medium';
+    } else {
+      test.speed = 'fast';
+    }
+
+    stats.passes++;
+  });
+
+  runner.on('fail', function(test, err) {
+    stats.failures = stats.failures || 0;
+    stats.failures++;
+    test.err = err;
+    failures.push(test);
+  });
+
+  runner.on('end', function() {
+    stats.end = new Date();
+    stats.duration = new Date() - stats.start;
+  });
+
+  runner.on('pending', function() {
+    stats.pending++;
+  });
+}
+
+/**
+ * Output common epilogue used by many of
+ * the bundled reporters.
+ *
+ * @api public
+ */
+Base.prototype.epilogue = function() {
+  var stats = this.stats;
+  var fmt;
+
+  console.log();
+
+  // passes
+  fmt = color('bright pass', ' ')
+    + color('green', ' %d passing')
+    + color('light', ' (%s)');
+
+  console.log(fmt,
+    stats.passes || 0,
+    ms(stats.duration));
+
+  // pending
+  if (stats.pending) {
+    fmt = color('pending', ' ')
+      + color('pending', ' %d pending');
+
+    console.log(fmt, stats.pending);
+  }
+
+  // failures
+  if (stats.failures) {
+    fmt = color('fail', '  %d failing');
+
+    console.log(fmt, stats.failures);
+
+    Base.list(this.failures);
+    console.log();
+  }
+
+  console.log();
+};
+
+/**
+ * Pad the given `str` to `len`.
+ *
+ * @api private
+ * @param {string} str
+ * @param {string} len
+ * @return {string}
+ */
+function pad(str, len) {
+  str = String(str);
+  return Array(len - str.length + 1).join(' ') + str;
+}
+
+/**
+ * Returns an inline diff between 2 strings with coloured ANSI output
+ *
+ * @api private
+ * @param {Error} err with actual/expected
+ * @param {boolean} escape
+ * @return {string} Diff
+ */
+function inlineDiff(err, escape) {
+  var msg = errorDiff(err, 'WordsWithSpace', escape);
+
+  // linenos
+  var lines = msg.split('\n');
+  if (lines.length > 4) {
+    var width = String(lines.length).length;
+    msg = lines.map(function(str, i) {
+      return pad(++i, width) + ' |' + ' ' + str;
+    }).join('\n');
+  }
+
+  // legend
+  msg = '\n'
+    + color('diff removed', 'actual')
+    + ' '
+    + color('diff added', 'expected')
+    + '\n\n'
+    + msg
+    + '\n';
+
+  // indent
+  msg = msg.replace(/^/gm, '      ');
+  return msg;
+}
+
+/**
+ * Returns a unified diff between two strings.
+ *
+ * @api private
+ * @param {Error} err with actual/expected
+ * @param {boolean} escape
+ * @return {string} The diff.
+ */
+function unifiedDiff(err, escape) {
+  var indent = '      ';
+  function cleanUp(line) {
+    if (escape) {
+      line = escapeInvisibles(line);
+    }
+    if (line[0] === '+') {
+      return indent + colorLines('diff added', line);
+    }
+    if (line[0] === '-') {
+      return indent + colorLines('diff removed', line);
+    }
+    if (line.match(/\@\@/)) {
+      return null;
+    }
+    if (line.match(/\\ No newline/)) {
+      return null;
+    }
+    return indent + line;
+  }
+  function notBlank(line) {
+    return typeof line !== 'undefined' && line !== null;
+  }
+  var msg = diff.createPatch('string', err.actual, err.expected);
+  var lines = msg.split('\n').splice(4);
+  return '\n      '
+    + colorLines('diff added', '+ expected') + ' '
+    + colorLines('diff removed', '- actual')
+    + '\n\n'
+    + lines.map(cleanUp).filter(notBlank).join('\n');
+}
+
+/**
+ * Return a character diff for `err`.
+ *
+ * @api private
+ * @param {Error} err
+ * @param {string} type
+ * @param {boolean} escape
+ * @return {string}
+ */
+function errorDiff(err, type, escape) {
+  var actual = escape ? escapeInvisibles(err.actual) : err.actual;
+  var expected = escape ? escapeInvisibles(err.expected) : err.expected;
+  return diff['diff' + type](actual, expected).map(function(str) {
+    if (str.added) {
+      return colorLines('diff added', str.value);
+    }
+    if (str.removed) {
+      return colorLines('diff removed', str.value);
+    }
+    return str.value;
+  }).join('');
+}
+
+/**
+ * Returns a string with all invisible characters in plain text
+ *
+ * @api private
+ * @param {string} line
+ * @return {string}
+ */
+function escapeInvisibles(line) {
+  return line.replace(/\t/g, '<tab>')
+    .replace(/\r/g, '<CR>')
+    .replace(/\n/g, '<LF>\n');
+}
+
+/**
+ * Color lines for `str`, using the color `name`.
+ *
+ * @api private
+ * @param {string} name
+ * @param {string} str
+ * @return {string}
+ */
+function colorLines(name, str) {
+  return str.split('\n').map(function(str) {
+    return color(name, str);
+  }).join('\n');
+}
+
+/**
+ * Object#toString reference.
+ */
+var objToString = Object.prototype.toString;
+
+/**
+ * Check that a / b have the same type.
+ *
+ * @api private
+ * @param {Object} a
+ * @param {Object} b
+ * @return {boolean}
+ */
+function sameType(a, b) {
+  return objToString.call(a) === objToString.call(b);
+}
+
+}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{"../ms":15,"../utils":39,"_process":51,"diff":67,"supports-color":41,"tty":5}],18:[function(require,module,exports){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+var utils = require('../utils');
+
+/**
+ * Expose `Doc`.
+ */
+
+exports = module.exports = Doc;
+
+/**
+ * Initialize a new `Doc` reporter.
+ *
+ * @param {Runner} runner
+ * @api public
+ */
+function Doc(runner) {
+  Base.call(this, runner);
+
+  var indents = 2;
+
+  function indent() {
+    return Array(indents).join('  ');
+  }
+
+  runner.on('suite', function(suite) {
+    if (suite.root) {
+      return;
+    }
+    ++indents;
+    console.log('%s<section class="suite">', indent());
+    ++indents;
+    console.log('%s<h1>%s</h1>', indent(), utils.escape(suite.title));
+    console.log('%s<dl>', indent());
+  });
+
+  runner.on('suite end', function(suite) {
+    if (suite.root) {
+      return;
+    }
+    console.log('%s</dl>', indent());
+    --indents;
+    console.log('%s</section>', indent());
+    --indents;
+  });
+
+  runner.on('pass', function(test) {
+    console.log('%s  <dt>%s</dt>', indent(), utils.escape(test.title));
+    var code = utils.escape(utils.clean(test.fn.toString()));
+    console.log('%s  <dd><pre><code>%s</code></pre></dd>', indent(), code);
+  });
+
+  runner.on('fail', function(test, err) {
+    console.log('%s  <dt class="error">%s</dt>', indent(), utils.escape(test.title));
+    var code = utils.escape(utils.clean(test.fn.toString()));
+    console.log('%s  <dd class="error"><pre><code>%s</code></pre></dd>', indent(), code);
+    console.log('%s  <dd class="error">%s</dd>', indent(), utils.escape(err));
+  });
+}
+
+},{"../utils":39,"./base":17}],19:[function(require,module,exports){
+(function (process){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+var inherits = require('../utils').inherits;
+var color = Base.color;
+
+/**
+ * Expose `Dot`.
+ */
+
+exports = module.exports = Dot;
+
+/**
+ * Initialize a new `Dot` matrix test reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function Dot(runner) {
+  Base.call(this, runner);
+
+  var self = this;
+  var width = Base.window.width * .75 | 0;
+  var n = -1;
+
+  runner.on('start', function() {
+    process.stdout.write('\n');
+  });
+
+  runner.on('pending', function() {
+    if (++n % width === 0) {
+      process.stdout.write('\n  ');
+    }
+    process.stdout.write(color('pending', Base.symbols.dot));
+  });
+
+  runner.on('pass', function(test) {
+    if (++n % width === 0) {
+      process.stdout.write('\n  ');
+    }
+    if (test.speed === 'slow') {
+      process.stdout.write(color('bright yellow', Base.symbols.dot));
+    } else {
+      process.stdout.write(color(test.speed, Base.symbols.dot));
+    }
+  });
+
+  runner.on('fail', function() {
+    if (++n % width === 0) {
+      process.stdout.write('\n  ');
+    }
+    process.stdout.write(color('fail', Base.symbols.dot));
+  });
+
+  runner.on('end', function() {
+    console.log();
+    self.epilogue();
+  });
+}
+
+/**
+ * Inherit from `Base.prototype`.
+ */
+inherits(Dot, Base);
+
+}).call(this,require('_process'))
+},{"../utils":39,"./base":17,"_process":51}],20:[function(require,module,exports){
+(function (process,__dirname){
+/**
+ * Module dependencies.
+ */
+
+var JSONCov = require('./json-cov');
+var readFileSync = require('fs').readFileSync;
+var join = require('path').join;
+
+/**
+ * Expose `HTMLCov`.
+ */
+
+exports = module.exports = HTMLCov;
+
+/**
+ * Initialize a new `JsCoverage` reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function HTMLCov(runner) {
+  var jade = require('jade');
+  var file = join(__dirname, '/templates/coverage.jade');
+  var str = readFileSync(file, 'utf8');
+  var fn = jade.compile(str, { filename: file });
+  var self = this;
+
+  JSONCov.call(this, runner, false);
+
+  runner.on('end', function() {
+    process.stdout.write(fn({
+      cov: self.cov,
+      coverageClass: coverageClass
+    }));
+  });
+}
+
+/**
+ * Return coverage class for a given coverage percentage.
+ *
+ * @api private
+ * @param {number} coveragePctg
+ * @return {string}
+ */
+function coverageClass(coveragePctg) {
+  if (coveragePctg >= 75) {
+    return 'high';
+  }
+  if (coveragePctg >= 50) {
+    return 'medium';
+  }
+  if (coveragePctg >= 25) {
+    return 'low';
+  }
+  return 'terrible';
+}
+
+}).call(this,require('_process'),"/lib/reporters")
+},{"./json-cov":23,"_process":51,"fs":41,"jade":41,"path":41}],21:[function(require,module,exports){
+(function (global){
+/* eslint-env browser */
+
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+var utils = require('../utils');
+var Progress = require('../browser/progress');
+var escapeRe = require('escape-string-regexp');
+var escape = utils.escape;
+
+/**
+ * Save timer references to avoid Sinon interfering (see GH-237).
+ */
+
+/* eslint-disable no-unused-vars, no-native-reassign */
+var Date = global.Date;
+var setTimeout = global.setTimeout;
+var setInterval = global.setInterval;
+var clearTimeout = global.clearTimeout;
+var clearInterval = global.clearInterval;
+/* eslint-enable no-unused-vars, no-native-reassign */
+
+/**
+ * Expose `HTML`.
+ */
+
+exports = module.exports = HTML;
+
+/**
+ * Stats template.
+ */
+
+var statsTemplate = '<ul id="mocha-stats">'
+  + '<li class="progress"><canvas width="40" height="40"></canvas></li>'
+  + '<li class="passes"><a href="javascript:void(0);">passes:</a> <em>0</em></li>'
+  + '<li class="failures"><a href="javascript:void(0);">failures:</a> <em>0</em></li>'
+  + '<li class="duration">duration: <em>0</em>s</li>'
+  + '</ul>';
+
+/**
+ * Initialize a new `HTML` reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function HTML(runner) {
+  Base.call(this, runner);
+
+  var self = this;
+  var stats = this.stats;
+  var stat = fragment(statsTemplate);
+  var items = stat.getElementsByTagName('li');
+  var passes = items[1].getElementsByTagName('em')[0];
+  var passesLink = items[1].getElementsByTagName('a')[0];
+  var failures = items[2].getElementsByTagName('em')[0];
+  var failuresLink = items[2].getElementsByTagName('a')[0];
+  var duration = items[3].getElementsByTagName('em')[0];
+  var canvas = stat.getElementsByTagName('canvas')[0];
+  var report = fragment('<ul id="mocha-report"></ul>');
+  var stack = [report];
+  var progress;
+  var ctx;
+  var root = document.getElementById('mocha');
+
+  if (canvas.getContext) {
+    var ratio = window.devicePixelRatio || 1;
+    canvas.style.width = canvas.width;
+    canvas.style.height = canvas.height;
+    canvas.width *= ratio;
+    canvas.height *= ratio;
+    ctx = canvas.getContext('2d');
+    ctx.scale(ratio, ratio);
+    progress = new Progress();
+  }
+
+  if (!root) {
+    return error('#mocha div missing, add it to your document');
+  }
+
+  // pass toggle
+  on(passesLink, 'click', function() {
+    unhide();
+    var name = (/pass/).test(report.className) ? '' : ' pass';
+    report.className = report.className.replace(/fail|pass/g, '') + name;
+    if (report.className.trim()) {
+      hideSuitesWithout('test pass');
+    }
+  });
+
+  // failure toggle
+  on(failuresLink, 'click', function() {
+    unhide();
+    var name = (/fail/).test(report.className) ? '' : ' fail';
+    report.className = report.className.replace(/fail|pass/g, '') + name;
+    if (report.className.trim()) {
+      hideSuitesWithout('test fail');
+    }
+  });
+
+  root.appendChild(stat);
+  root.appendChild(report);
+
+  if (progress) {
+    progress.size(40);
+  }
+
+  runner.on('suite', function(suite) {
+    if (suite.root) {
+      return;
+    }
+
+    // suite
+    var url = self.suiteURL(suite);
+    var el = fragment('<li class="suite"><h1><a href="%s">%s</a></h1></li>', url, escape(suite.title));
+
+    // container
+    stack[0].appendChild(el);
+    stack.unshift(document.createElement('ul'));
+    el.appendChild(stack[0]);
+  });
+
+  runner.on('suite end', function(suite) {
+    if (suite.root) {
+      return;
+    }
+    stack.shift();
+  });
+
+  runner.on('fail', function(test) {
+    if (test.type === 'hook') {
+      runner.emit('test end', test);
+    }
+  });
+
+  runner.on('test end', function(test) {
+    // TODO: add to stats
+    var percent = stats.tests / this.total * 100 | 0;
+    if (progress) {
+      progress.update(percent).draw(ctx);
+    }
+
+    // update stats
+    var ms = new Date() - stats.start;
+    text(passes, stats.passes);
+    text(failures, stats.failures);
+    text(duration, (ms / 1000).toFixed(2));
+
+    // test
+    var el;
+    if (test.state === 'passed') {
+      var url = self.testURL(test);
+      el = fragment('<li class="test pass %e"><h2>%e<span class="duration">%ems</span> <a href="%s" class="replay">‣</a></h2></li>', test.speed, test.title, test.duration, url);
+    } else if (test.pending) {
+      el = fragment('<li class="test pass pending"><h2>%e</h2></li>', test.title);
+    } else {
+      el = fragment('<li class="test fail"><h2>%e <a href="%e" class="replay">‣</a></h2></li>', test.title, self.testURL(test));
+      var stackString; // Note: Includes leading newline
+      var message = test.err.toString();
+
+      // <=IE7 stringifies to [Object Error]. Since it can be overloaded, we
+      // check for the result of the stringifying.
+      if (message === '[object Error]') {
+        message = test.err.message;
+      }
+
+      if (test.err.stack) {
+        var indexOfMessage = test.err.stack.indexOf(test.err.message);
+        if (indexOfMessage === -1) {
+          stackString = test.err.stack;
+        } else {
+          stackString = test.err.stack.substr(test.err.message.length + indexOfMessage);
+        }
+      } else if (test.err.sourceURL && test.err.line !== undefined) {
+        // Safari doesn't give you a stack. Let's at least provide a source line.
+        stackString = '\n(' + test.err.sourceURL + ':' + test.err.line + ')';
+      }
+
+      stackString = stackString || '';
+
+      if (test.err.htmlMessage && stackString) {
+        el.appendChild(fragment('<div class="html-error">%s\n<pre class="error">%e</pre></div>', test.err.htmlMessage, stackString));
+      } else if (test.err.htmlMessage) {
+        el.appendChild(fragment('<div class="html-error">%s</div>', test.err.htmlMessage));
+      } else {
+        el.appendChild(fragment('<pre class="error">%e%e</pre>', message, stackString));
+      }
+    }
+
+    // toggle code
+    // TODO: defer
+    if (!test.pending) {
+      var h2 = el.getElementsByTagName('h2')[0];
+
+      on(h2, 'click', function() {
+        pre.style.display = pre.style.display === 'none' ? 'block' : 'none';
+      });
+
+      var pre = fragment('<pre><code>%e</code></pre>', utils.clean(test.fn.toString()));
+      el.appendChild(pre);
+      pre.style.display = 'none';
+    }
+
+    // Don't call .appendChild if #mocha-report was already .shift()'ed off the stack.
+    if (stack[0]) {
+      stack[0].appendChild(el);
+    }
+  });
+}
+
+/**
+ * Makes a URL, preserving querystring ("search") parameters.
+ *
+ * @param {string} s
+ * @return {string} A new URL.
+ */
+function makeUrl(s) {
+  var search = window.location.search;
+
+  // Remove previous grep query parameter if present
+  if (search) {
+    search = search.replace(/[?&]grep=[^&\s]*/g, '').replace(/^&/, '?');
+  }
+
+  return window.location.pathname + (search ? search + '&' : '?') + 'grep=' + encodeURIComponent(escapeRe(s));
+}
+
+/**
+ * Provide suite URL.
+ *
+ * @param {Object} [suite]
+ */
+HTML.prototype.suiteURL = function(suite) {
+  return makeUrl(suite.fullTitle());
+};
+
+/**
+ * Provide test URL.
+ *
+ * @param {Object} [test]
+ */
+HTML.prototype.testURL = function(test) {
+  return makeUrl(test.fullTitle());
+};
+
+/**
+ * Display error `msg`.
+ *
+ * @param {string} msg
+ */
+function error(msg) {
+  document.body.appendChild(fragment('<div id="mocha-error">%s</div>', msg));
+}
+
+/**
+ * Return a DOM fragment from `html`.
+ *
+ * @param {string} html
+ */
+function fragment(html) {
+  var args = arguments;
+  var div = document.createElement('div');
+  var i = 1;
+
+  div.innerHTML = html.replace(/%([se])/g, function(_, type) {
+    switch (type) {
+      case 's': return String(args[i++]);
+      case 'e': return escape(args[i++]);
+      // no default
+    }
+  });
+
+  return div.firstChild;
+}
+
+/**
+ * Check for suites that do not have elements
+ * with `classname`, and hide them.
+ *
+ * @param {text} classname
+ */
+function hideSuitesWithout(classname) {
+  var suites = document.getElementsByClassName('suite');
+  for (var i = 0; i < suites.length; i++) {
+    var els = suites[i].getElementsByClassName(classname);
+    if (!els.length) {
+      suites[i].className += ' hidden';
+    }
+  }
+}
+
+/**
+ * Unhide .hidden suites.
+ */
+function unhide() {
+  var els = document.getElementsByClassName('suite hidden');
+  for (var i = 0; i < els.length; ++i) {
+    els[i].className = els[i].className.replace('suite hidden', 'suite');
+  }
+}
+
+/**
+ * Set an element's text contents.
+ *
+ * @param {HTMLElement} el
+ * @param {string} contents
+ */
+function text(el, contents) {
+  if (el.textContent) {
+    el.textContent = contents;
+  } else {
+    el.innerText = contents;
+  }
+}
+
+/**
+ * Listen on `event` with callback `fn`.
+ */
+function on(el, event, fn) {
+  if (el.addEventListener) {
+    el.addEventListener(event, fn, false);
+  } else {
+    el.attachEvent('on' + event, fn);
+  }
+}
+
+}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{"../browser/progress":4,"../utils":39,"./base":17,"escape-string-regexp":68}],22:[function(require,module,exports){
+// Alias exports to a their normalized format Mocha#reporter to prevent a need
+// for dynamic (try/catch) requires, which Browserify doesn't handle.
+exports.Base = exports.base = require('./base');
+exports.Dot = exports.dot = require('./dot');
+exports.Doc = exports.doc = require('./doc');
+exports.TAP = exports.tap = require('./tap');
+exports.JSON = exports.json = require('./json');
+exports.HTML = exports.html = require('./html');
+exports.List = exports.list = require('./list');
+exports.Min = exports.min = require('./min');
+exports.Spec = exports.spec = require('./spec');
+exports.Nyan = exports.nyan = require('./nyan');
+exports.XUnit = exports.xunit = require('./xunit');
+exports.Markdown = exports.markdown = require('./markdown');
+exports.Progress = exports.progress = require('./progress');
+exports.Landing = exports.landing = require('./landing');
+exports.JSONCov = exports['json-cov'] = require('./json-cov');
+exports.HTMLCov = exports['html-cov'] = require('./html-cov');
+exports.JSONStream = exports['json-stream'] = require('./json-stream');
+
+},{"./base":17,"./doc":18,"./dot":19,"./html":21,"./html-cov":20,"./json":25,"./json-cov":23,"./json-stream":24,"./landing":26,"./list":27,"./markdown":28,"./min":29,"./nyan":30,"./progress":31,"./spec":32,"./tap":33,"./xunit":34}],23:[function(require,module,exports){
+(function (process,global){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+
+/**
+ * Expose `JSONCov`.
+ */
+
+exports = module.exports = JSONCov;
+
+/**
+ * Initialize a new `JsCoverage` reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ * @param {boolean} output
+ */
+function JSONCov(runner, output) {
+  Base.call(this, runner);
+
+  output = arguments.length === 1 || output;
+  var self = this;
+  var tests = [];
+  var failures = [];
+  var passes = [];
+
+  runner.on('test end', function(test) {
+    tests.push(test);
+  });
+
+  runner.on('pass', function(test) {
+    passes.push(test);
+  });
+
+  runner.on('fail', function(test) {
+    failures.push(test);
+  });
+
+  runner.on('end', function() {
+    var cov = global._$jscoverage || {};
+    var result = self.cov = map(cov);
+    result.stats = self.stats;
+    result.tests = tests.map(clean);
+    result.failures = failures.map(clean);
+    result.passes = passes.map(clean);
+    if (!output) {
+      return;
+    }
+    process.stdout.write(JSON.stringify(result, null, 2));
+  });
+}
+
+/**
+ * Map jscoverage data to a JSON structure
+ * suitable for reporting.
+ *
+ * @api private
+ * @param {Object} cov
+ * @return {Object}
+ */
+
+function map(cov) {
+  var ret = {
+    instrumentation: 'node-jscoverage',
+    sloc: 0,
+    hits: 0,
+    misses: 0,
+    coverage: 0,
+    files: []
+  };
+
+  for (var filename in cov) {
+    if (Object.prototype.hasOwnProperty.call(cov, filename)) {
+      var data = coverage(filename, cov[filename]);
+      ret.files.push(data);
+      ret.hits += data.hits;
+      ret.misses += data.misses;
+      ret.sloc += data.sloc;
+    }
+  }
+
+  ret.files.sort(function(a, b) {
+    return a.filename.localeCompare(b.filename);
+  });
+
+  if (ret.sloc > 0) {
+    ret.coverage = (ret.hits / ret.sloc) * 100;
+  }
+
+  return ret;
+}
+
+/**
+ * Map jscoverage data for a single source file
+ * to a JSON structure suitable for reporting.
+ *
+ * @api private
+ * @param {string} filename name of the source file
+ * @param {Object} data jscoverage coverage data
+ * @return {Object}
+ */
+function coverage(filename, data) {
+  var ret = {
+    filename: filename,
+    coverage: 0,
+    hits: 0,
+    misses: 0,
+    sloc: 0,
+    source: {}
+  };
+
+  data.source.forEach(function(line, num) {
+    num++;
+
+    if (data[num] === 0) {
+      ret.misses++;
+      ret.sloc++;
+    } else if (data[num] !== undefined) {
+      ret.hits++;
+      ret.sloc++;
+    }
+
+    ret.source[num] = {
+      source: line,
+      coverage: data[num] === undefined ? '' : data[num]
+    };
+  });
+
+  ret.coverage = ret.hits / ret.sloc * 100;
+
+  return ret;
+}
+
+/**
+ * Return a plain-object representation of `test`
+ * free of cyclic properties etc.
+ *
+ * @api private
+ * @param {Object} test
+ * @return {Object}
+ */
+function clean(test) {
+  return {
+    duration: test.duration,
+    fullTitle: test.fullTitle(),
+    title: test.title
+  };
+}
+
+}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{"./base":17,"_process":51}],24:[function(require,module,exports){
+(function (process){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+
+/**
+ * Expose `List`.
+ */
+
+exports = module.exports = List;
+
+/**
+ * Initialize a new `List` test reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function List(runner) {
+  Base.call(this, runner);
+
+  var self = this;
+  var total = runner.total;
+
+  runner.on('start', function() {
+    console.log(JSON.stringify(['start', { total: total }]));
+  });
+
+  runner.on('pass', function(test) {
+    console.log(JSON.stringify(['pass', clean(test)]));
+  });
+
+  runner.on('fail', function(test, err) {
+    test = clean(test);
+    test.err = err.message;
+    test.stack = err.stack || null;
+    console.log(JSON.stringify(['fail', test]));
+  });
+
+  runner.on('end', function() {
+    process.stdout.write(JSON.stringify(['end', self.stats]));
+  });
+}
+
+/**
+ * Return a plain-object representation of `test`
+ * free of cyclic properties etc.
+ *
+ * @api private
+ * @param {Object} test
+ * @return {Object}
+ */
+function clean(test) {
+  return {
+    title: test.title,
+    fullTitle: test.fullTitle(),
+    duration: test.duration
+  };
+}
+
+}).call(this,require('_process'))
+},{"./base":17,"_process":51}],25:[function(require,module,exports){
+(function (process){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+
+/**
+ * Expose `JSON`.
+ */
+
+exports = module.exports = JSONReporter;
+
+/**
+ * Initialize a new `JSON` reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function JSONReporter(runner) {
+  Base.call(this, runner);
+
+  var self = this;
+  var tests = [];
+  var pending = [];
+  var failures = [];
+  var passes = [];
+
+  runner.on('test end', function(test) {
+    tests.push(test);
+  });
+
+  runner.on('pass', function(test) {
+    passes.push(test);
+  });
+
+  runner.on('fail', function(test) {
+    failures.push(test);
+  });
+
+  runner.on('pending', function(test) {
+    pending.push(test);
+  });
+
+  runner.on('end', function() {
+    var obj = {
+      stats: self.stats,
+      tests: tests.map(clean),
+      pending: pending.map(clean),
+      failures: failures.map(clean),
+      passes: passes.map(clean)
+    };
+
+    runner.testResults = obj;
+
+    process.stdout.write(JSON.stringify(obj, null, 2));
+  });
+}
+
+/**
+ * Return a plain-object representation of `test`
+ * free of cyclic properties etc.
+ *
+ * @api private
+ * @param {Object} test
+ * @return {Object}
+ */
+function clean(test) {
+  return {
+    title: test.title,
+    fullTitle: test.fullTitle(),
+    duration: test.duration,
+    err: errorJSON(test.err || {})
+  };
+}
+
+/**
+ * Transform `error` into a JSON object.
+ *
+ * @api private
+ * @param {Error} err
+ * @return {Object}
+ */
+function errorJSON(err) {
+  var res = {};
+  Object.getOwnPropertyNames(err).forEach(function(key) {
+    res[key] = err[key];
+  }, err);
+  return res;
+}
+
+}).call(this,require('_process'))
+},{"./base":17,"_process":51}],26:[function(require,module,exports){
+(function (process){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+var inherits = require('../utils').inherits;
+var cursor = Base.cursor;
+var color = Base.color;
+
+/**
+ * Expose `Landing`.
+ */
+
+exports = module.exports = Landing;
+
+/**
+ * Airplane color.
+ */
+
+Base.colors.plane = 0;
+
+/**
+ * Airplane crash color.
+ */
+
+Base.colors['plane crash'] = 31;
+
+/**
+ * Runway color.
+ */
+
+Base.colors.runway = 90;
+
+/**
+ * Initialize a new `Landing` reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function Landing(runner) {
+  Base.call(this, runner);
+
+  var self = this;
+  var width = Base.window.width * .75 | 0;
+  var total = runner.total;
+  var stream = process.stdout;
+  var plane = color('plane', '✈');
+  var crashed = -1;
+  var n = 0;
+
+  function runway() {
+    var buf = Array(width).join('-');
+    return '  ' + color('runway', buf);
+  }
+
+  runner.on('start', function() {
+    stream.write('\n\n\n  ');
+    cursor.hide();
+  });
+
+  runner.on('test end', function(test) {
+    // check if the plane crashed
+    var col = crashed === -1 ? width * ++n / total | 0 : crashed;
+
+    // show the crash
+    if (test.state === 'failed') {
+      plane = color('plane crash', '✈');
+      crashed = col;
+    }
+
+    // render landing strip
+    stream.write('\u001b[' + (width + 1) + 'D\u001b[2A');
+    stream.write(runway());
+    stream.write('\n  ');
+    stream.write(color('runway', Array(col).join('â‹…')));
+    stream.write(plane);
+    stream.write(color('runway', Array(width - col).join('â‹…') + '\n'));
+    stream.write(runway());
+    stream.write('\u001b[0m');
+  });
+
+  runner.on('end', function() {
+    cursor.show();
+    console.log();
+    self.epilogue();
+  });
+}
+
+/**
+ * Inherit from `Base.prototype`.
+ */
+inherits(Landing, Base);
+
+}).call(this,require('_process'))
+},{"../utils":39,"./base":17,"_process":51}],27:[function(require,module,exports){
+(function (process){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+var inherits = require('../utils').inherits;
+var color = Base.color;
+var cursor = Base.cursor;
+
+/**
+ * Expose `List`.
+ */
+
+exports = module.exports = List;
+
+/**
+ * Initialize a new `List` test reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function List(runner) {
+  Base.call(this, runner);
+
+  var self = this;
+  var n = 0;
+
+  runner.on('start', function() {
+    console.log();
+  });
+
+  runner.on('test', function(test) {
+    process.stdout.write(color('pass', '    ' + test.fullTitle() + ': '));
+  });
+
+  runner.on('pending', function(test) {
+    var fmt = color('checkmark', '  -')
+      + color('pending', ' %s');
+    console.log(fmt, test.fullTitle());
+  });
+
+  runner.on('pass', function(test) {
+    var fmt = color('checkmark', '  ' + Base.symbols.dot)
+      + color('pass', ' %s: ')
+      + color(test.speed, '%dms');
+    cursor.CR();
+    console.log(fmt, test.fullTitle(), test.duration);
+  });
+
+  runner.on('fail', function(test) {
+    cursor.CR();
+    console.log(color('fail', '  %d) %s'), ++n, test.fullTitle());
+  });
+
+  runner.on('end', self.epilogue.bind(self));
+}
+
+/**
+ * Inherit from `Base.prototype`.
+ */
+inherits(List, Base);
+
+}).call(this,require('_process'))
+},{"../utils":39,"./base":17,"_process":51}],28:[function(require,module,exports){
+(function (process){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+var utils = require('../utils');
+
+/**
+ * Constants
+ */
+
+var SUITE_PREFIX = '$';
+
+/**
+ * Expose `Markdown`.
+ */
+
+exports = module.exports = Markdown;
+
+/**
+ * Initialize a new `Markdown` reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function Markdown(runner) {
+  Base.call(this, runner);
+
+  var level = 0;
+  var buf = '';
+
+  function title(str) {
+    return Array(level).join('#') + ' ' + str;
+  }
+
+  function mapTOC(suite, obj) {
+    var ret = obj;
+    var key = SUITE_PREFIX + suite.title;
+
+    obj = obj[key] = obj[key] || { suite: suite };
+    suite.suites.forEach(function(suite) {
+      mapTOC(suite, obj);
+    });
+
+    return ret;
+  }
+
+  function stringifyTOC(obj, level) {
+    ++level;
+    var buf = '';
+    var link;
+    for (var key in obj) {
+      if (key === 'suite') {
+        continue;
+      }
+      if (key !== SUITE_PREFIX) {
+        link = ' - [' + key.substring(1) + ']';
+        link += '(#' + utils.slug(obj[key].suite.fullTitle()) + ')\n';
+        buf += Array(level).join('  ') + link;
+      }
+      buf += stringifyTOC(obj[key], level);
+    }
+    return buf;
+  }
+
+  function generateTOC(suite) {
+    var obj = mapTOC(suite, {});
+    return stringifyTOC(obj, 0);
+  }
+
+  generateTOC(runner.suite);
+
+  runner.on('suite', function(suite) {
+    ++level;
+    var slug = utils.slug(suite.fullTitle());
+    buf += '<a name="' + slug + '"></a>' + '\n';
+    buf += title(suite.title) + '\n';
+  });
+
+  runner.on('suite end', function() {
+    --level;
+  });
+
+  runner.on('pass', function(test) {
+    var code = utils.clean(test.fn.toString());
+    buf += test.title + '.\n';
+    buf += '\n```js\n';
+    buf += code + '\n';
+    buf += '```\n\n';
+  });
+
+  runner.on('end', function() {
+    process.stdout.write('# TOC\n');
+    process.stdout.write(generateTOC(runner.suite));
+    process.stdout.write(buf);
+  });
+}
+
+}).call(this,require('_process'))
+},{"../utils":39,"./base":17,"_process":51}],29:[function(require,module,exports){
+(function (process){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+var inherits = require('../utils').inherits;
+
+/**
+ * Expose `Min`.
+ */
+
+exports = module.exports = Min;
+
+/**
+ * Initialize a new `Min` minimal test reporter (best used with --watch).
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function Min(runner) {
+  Base.call(this, runner);
+
+  runner.on('start', function() {
+    // clear screen
+    process.stdout.write('\u001b[2J');
+    // set cursor position
+    process.stdout.write('\u001b[1;3H');
+  });
+
+  runner.on('end', this.epilogue.bind(this));
+}
+
+/**
+ * Inherit from `Base.prototype`.
+ */
+inherits(Min, Base);
+
+}).call(this,require('_process'))
+},{"../utils":39,"./base":17,"_process":51}],30:[function(require,module,exports){
+(function (process){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+var inherits = require('../utils').inherits;
+
+/**
+ * Expose `Dot`.
+ */
+
+exports = module.exports = NyanCat;
+
+/**
+ * Initialize a new `Dot` matrix test reporter.
+ *
+ * @param {Runner} runner
+ * @api public
+ */
+
+function NyanCat(runner) {
+  Base.call(this, runner);
+
+  var self = this;
+  var width = Base.window.width * .75 | 0;
+  var nyanCatWidth = this.nyanCatWidth = 11;
+
+  this.colorIndex = 0;
+  this.numberOfLines = 4;
+  this.rainbowColors = self.generateColors();
+  this.scoreboardWidth = 5;
+  this.tick = 0;
+  this.trajectories = [[], [], [], []];
+  this.trajectoryWidthMax = (width - nyanCatWidth);
+
+  runner.on('start', function() {
+    Base.cursor.hide();
+    self.draw();
+  });
+
+  runner.on('pending', function() {
+    self.draw();
+  });
+
+  runner.on('pass', function() {
+    self.draw();
+  });
+
+  runner.on('fail', function() {
+    self.draw();
+  });
+
+  runner.on('end', function() {
+    Base.cursor.show();
+    for (var i = 0; i < self.numberOfLines; i++) {
+      write('\n');
+    }
+    self.epilogue();
+  });
+}
+
+/**
+ * Inherit from `Base.prototype`.
+ */
+inherits(NyanCat, Base);
+
+/**
+ * Draw the nyan cat
+ *
+ * @api private
+ */
+
+NyanCat.prototype.draw = function() {
+  this.appendRainbow();
+  this.drawScoreboard();
+  this.drawRainbow();
+  this.drawNyanCat();
+  this.tick = !this.tick;
+};
+
+/**
+ * Draw the "scoreboard" showing the number
+ * of passes, failures and pending tests.
+ *
+ * @api private
+ */
+
+NyanCat.prototype.drawScoreboard = function() {
+  var stats = this.stats;
+
+  function draw(type, n) {
+    write(' ');
+    write(Base.color(type, n));
+    write('\n');
+  }
+
+  draw('green', stats.passes);
+  draw('fail', stats.failures);
+  draw('pending', stats.pending);
+  write('\n');
+
+  this.cursorUp(this.numberOfLines);
+};
+
+/**
+ * Append the rainbow.
+ *
+ * @api private
+ */
+
+NyanCat.prototype.appendRainbow = function() {
+  var segment = this.tick ? '_' : '-';
+  var rainbowified = this.rainbowify(segment);
+
+  for (var index = 0; index < this.numberOfLines; index++) {
+    var trajectory = this.trajectories[index];
+    if (trajectory.length >= this.trajectoryWidthMax) {
+      trajectory.shift();
+    }
+    trajectory.push(rainbowified);
+  }
+};
+
+/**
+ * Draw the rainbow.
+ *
+ * @api private
+ */
+
+NyanCat.prototype.drawRainbow = function() {
+  var self = this;
+
+  this.trajectories.forEach(function(line) {
+    write('\u001b[' + self.scoreboardWidth + 'C');
+    write(line.join(''));
+    write('\n');
+  });
+
+  this.cursorUp(this.numberOfLines);
+};
+
+/**
+ * Draw the nyan cat
+ *
+ * @api private
+ */
+NyanCat.prototype.drawNyanCat = function() {
+  var self = this;
+  var startWidth = this.scoreboardWidth + this.trajectories[0].length;
+  var dist = '\u001b[' + startWidth + 'C';
+  var padding = '';
+
+  write(dist);
+  write('_,------,');
+  write('\n');
+
+  write(dist);
+  padding = self.tick ? '  ' : '   ';
+  write('_|' + padding + '/\\_/\\ ');
+  write('\n');
+
+  write(dist);
+  padding = self.tick ? '_' : '__';
+  var tail = self.tick ? '~' : '^';
+  write(tail + '|' + padding + this.face() + ' ');
+  write('\n');
+
+  write(dist);
+  padding = self.tick ? ' ' : '  ';
+  write(padding + '""  "" ');
+  write('\n');
+
+  this.cursorUp(this.numberOfLines);
+};
+
+/**
+ * Draw nyan cat face.
+ *
+ * @api private
+ * @return {string}
+ */
+
+NyanCat.prototype.face = function() {
+  var stats = this.stats;
+  if (stats.failures) {
+    return '( x .x)';
+  } else if (stats.pending) {
+    return '( o .o)';
+  } else if (stats.passes) {
+    return '( ^ .^)';
+  }
+  return '( - .-)';
+};
+
+/**
+ * Move cursor up `n`.
+ *
+ * @api private
+ * @param {number} n
+ */
+
+NyanCat.prototype.cursorUp = function(n) {
+  write('\u001b[' + n + 'A');
+};
+
+/**
+ * Move cursor down `n`.
+ *
+ * @api private
+ * @param {number} n
+ */
+
+NyanCat.prototype.cursorDown = function(n) {
+  write('\u001b[' + n + 'B');
+};
+
+/**
+ * Generate rainbow colors.
+ *
+ * @api private
+ * @return {Array}
+ */
+NyanCat.prototype.generateColors = function() {
+  var colors = [];
+
+  for (var i = 0; i < (6 * 7); i++) {
+    var pi3 = Math.floor(Math.PI / 3);
+    var n = (i * (1.0 / 6));
+    var r = Math.floor(3 * Math.sin(n) + 3);
+    var g = Math.floor(3 * Math.sin(n + 2 * pi3) + 3);
+    var b = Math.floor(3 * Math.sin(n + 4 * pi3) + 3);
+    colors.push(36 * r + 6 * g + b + 16);
+  }
+
+  return colors;
+};
+
+/**
+ * Apply rainbow to the given `str`.
+ *
+ * @api private
+ * @param {string} str
+ * @return {string}
+ */
+NyanCat.prototype.rainbowify = function(str) {
+  if (!Base.useColors) {
+    return str;
+  }
+  var color = this.rainbowColors[this.colorIndex % this.rainbowColors.length];
+  this.colorIndex += 1;
+  return '\u001b[38;5;' + color + 'm' + str + '\u001b[0m';
+};
+
+/**
+ * Stdout helper.
+ *
+ * @param {string} string A message to write to stdout.
+ */
+function write(string) {
+  process.stdout.write(string);
+}
+
+}).call(this,require('_process'))
+},{"../utils":39,"./base":17,"_process":51}],31:[function(require,module,exports){
+(function (process){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+var inherits = require('../utils').inherits;
+var color = Base.color;
+var cursor = Base.cursor;
+
+/**
+ * Expose `Progress`.
+ */
+
+exports = module.exports = Progress;
+
+/**
+ * General progress bar color.
+ */
+
+Base.colors.progress = 90;
+
+/**
+ * Initialize a new `Progress` bar test reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ * @param {Object} options
+ */
+function Progress(runner, options) {
+  Base.call(this, runner);
+
+  var self = this;
+  var width = Base.window.width * .50 | 0;
+  var total = runner.total;
+  var complete = 0;
+  var lastN = -1;
+
+  // default chars
+  options = options || {};
+  options.open = options.open || '[';
+  options.complete = options.complete || 'â–¬';
+  options.incomplete = options.incomplete || Base.symbols.dot;
+  options.close = options.close || ']';
+  options.verbose = false;
+
+  // tests started
+  runner.on('start', function() {
+    console.log();
+    cursor.hide();
+  });
+
+  // tests complete
+  runner.on('test end', function() {
+    complete++;
+
+    var percent = complete / total;
+    var n = width * percent | 0;
+    var i = width - n;
+
+    if (n === lastN && !options.verbose) {
+      // Don't re-render the line if it hasn't changed
+      return;
+    }
+    lastN = n;
+
+    cursor.CR();
+    process.stdout.write('\u001b[J');
+    process.stdout.write(color('progress', '  ' + options.open));
+    process.stdout.write(Array(n).join(options.complete));
+    process.stdout.write(Array(i).join(options.incomplete));
+    process.stdout.write(color('progress', options.close));
+    if (options.verbose) {
+      process.stdout.write(color('progress', ' ' + complete + ' of ' + total));
+    }
+  });
+
+  // tests are complete, output some stats
+  // and the failures if any
+  runner.on('end', function() {
+    cursor.show();
+    console.log();
+    self.epilogue();
+  });
+}
+
+/**
+ * Inherit from `Base.prototype`.
+ */
+inherits(Progress, Base);
+
+}).call(this,require('_process'))
+},{"../utils":39,"./base":17,"_process":51}],32:[function(require,module,exports){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+var inherits = require('../utils').inherits;
+var color = Base.color;
+var cursor = Base.cursor;
+
+/**
+ * Expose `Spec`.
+ */
+
+exports = module.exports = Spec;
+
+/**
+ * Initialize a new `Spec` test reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function Spec(runner) {
+  Base.call(this, runner);
+
+  var self = this;
+  var indents = 0;
+  var n = 0;
+
+  function indent() {
+    return Array(indents).join('  ');
+  }
+
+  runner.on('start', function() {
+    console.log();
+  });
+
+  runner.on('suite', function(suite) {
+    ++indents;
+    console.log(color('suite', '%s%s'), indent(), suite.title);
+  });
+
+  runner.on('suite end', function() {
+    --indents;
+    if (indents === 1) {
+      console.log();
+    }
+  });
+
+  runner.on('pending', function(test) {
+    var fmt = indent() + color('pending', '  - %s');
+    console.log(fmt, test.title);
+  });
+
+  runner.on('pass', function(test) {
+    var fmt;
+    if (test.speed === 'fast') {
+      fmt = indent()
+        + color('checkmark', '  ' + Base.symbols.ok)
+        + color('pass', ' %s');
+      cursor.CR();
+      console.log(fmt, test.title);
+    } else {
+      fmt = indent()
+        + color('checkmark', '  ' + Base.symbols.ok)
+        + color('pass', ' %s')
+        + color(test.speed, ' (%dms)');
+      cursor.CR();
+      console.log(fmt, test.title, test.duration);
+    }
+  });
+
+  runner.on('fail', function(test) {
+    cursor.CR();
+    console.log(indent() + color('fail', '  %d) %s'), ++n, test.title);
+  });
+
+  runner.on('end', self.epilogue.bind(self));
+}
+
+/**
+ * Inherit from `Base.prototype`.
+ */
+inherits(Spec, Base);
+
+},{"../utils":39,"./base":17}],33:[function(require,module,exports){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+
+/**
+ * Expose `TAP`.
+ */
+
+exports = module.exports = TAP;
+
+/**
+ * Initialize a new `TAP` reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function TAP(runner) {
+  Base.call(this, runner);
+
+  var n = 1;
+  var passes = 0;
+  var failures = 0;
+
+  runner.on('start', function() {
+    var total = runner.grepTotal(runner.suite);
+    console.log('%d..%d', 1, total);
+  });
+
+  runner.on('test end', function() {
+    ++n;
+  });
+
+  runner.on('pending', function(test) {
+    console.log('ok %d %s # SKIP -', n, title(test));
+  });
+
+  runner.on('pass', function(test) {
+    passes++;
+    console.log('ok %d %s', n, title(test));
+  });
+
+  runner.on('fail', function(test, err) {
+    failures++;
+    console.log('not ok %d %s', n, title(test));
+    if (err.stack) {
+      console.log(err.stack.replace(/^/gm, '  '));
+    }
+  });
+
+  runner.on('end', function() {
+    console.log('# tests ' + (passes + failures));
+    console.log('# pass ' + passes);
+    console.log('# fail ' + failures);
+  });
+}
+
+/**
+ * Return a TAP-safe title of `test`
+ *
+ * @api private
+ * @param {Object} test
+ * @return {String}
+ */
+function title(test) {
+  return test.fullTitle().replace(/#/g, '');
+}
+
+},{"./base":17}],34:[function(require,module,exports){
+(function (global){
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+var utils = require('../utils');
+var inherits = utils.inherits;
+var fs = require('fs');
+var escape = utils.escape;
+
+/**
+ * Save timer references to avoid Sinon interfering (see GH-237).
+ */
+
+/* eslint-disable no-unused-vars, no-native-reassign */
+var Date = global.Date;
+var setTimeout = global.setTimeout;
+var setInterval = global.setInterval;
+var clearTimeout = global.clearTimeout;
+var clearInterval = global.clearInterval;
+/* eslint-enable no-unused-vars, no-native-reassign */
+
+/**
+ * Expose `XUnit`.
+ */
+
+exports = module.exports = XUnit;
+
+/**
+ * Initialize a new `XUnit` reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function XUnit(runner, options) {
+  Base.call(this, runner);
+
+  var stats = this.stats;
+  var tests = [];
+  var self = this;
+
+  if (options.reporterOptions && options.reporterOptions.output) {
+    if (!fs.createWriteStream) {
+      throw new Error('file output not supported in browser');
+    }
+    self.fileStream = fs.createWriteStream(options.reporterOptions.output);
+  }
+
+  runner.on('pending', function(test) {
+    tests.push(test);
+  });
+
+  runner.on('pass', function(test) {
+    tests.push(test);
+  });
+
+  runner.on('fail', function(test) {
+    tests.push(test);
+  });
+
+  runner.on('end', function() {
+    self.write(tag('testsuite', {
+      name: 'Mocha Tests',
+      tests: stats.tests,
+      failures: stats.failures,
+      errors: stats.failures,
+      skipped: stats.tests - stats.failures - stats.passes,
+      timestamp: (new Date()).toUTCString(),
+      time: (stats.duration / 1000) || 0
+    }, false));
+
+    tests.forEach(function(t) {
+      self.test(t);
+    });
+
+    self.write('</testsuite>');
+  });
+}
+
+/**
+ * Inherit from `Base.prototype`.
+ */
+inherits(XUnit, Base);
+
+/**
+ * Override done to close the stream (if it's a file).
+ *
+ * @param failures
+ * @param {Function} fn
+ */
+XUnit.prototype.done = function(failures, fn) {
+  if (this.fileStream) {
+    this.fileStream.end(function() {
+      fn(failures);
+    });
+  } else {
+    fn(failures);
+  }
+};
+
+/**
+ * Write out the given line.
+ *
+ * @param {string} line
+ */
+XUnit.prototype.write = function(line) {
+  if (this.fileStream) {
+    this.fileStream.write(line + '\n');
+  } else {
+    console.log(line);
+  }
+};
+
+/**
+ * Output tag for the given `test.`
+ *
+ * @param {Test} test
+ */
+XUnit.prototype.test = function(test) {
+  var attrs = {
+    classname: test.parent.fullTitle(),
+    name: test.title,
+    time: (test.duration / 1000) || 0
+  };
+
+  if (test.state === 'failed') {
+    var err = test.err;
+    this.write(tag('testcase', attrs, false, tag('failure', {}, false, cdata(escape(err.message) + '\n' + err.stack))));
+  } else if (test.pending) {
+    this.write(tag('testcase', attrs, false, tag('skipped', {}, true)));
+  } else {
+    this.write(tag('testcase', attrs, true));
+  }
+};
+
+/**
+ * HTML tag helper.
+ *
+ * @param name
+ * @param attrs
+ * @param close
+ * @param content
+ * @return {string}
+ */
+function tag(name, attrs, close, content) {
+  var end = close ? '/>' : '>';
+  var pairs = [];
+  var tag;
+
+  for (var key in attrs) {
+    if (Object.prototype.hasOwnProperty.call(attrs, key)) {
+      pairs.push(key + '="' + escape(attrs[key]) + '"');
+    }
+  }
+
+  tag = '<' + name + (pairs.length ? ' ' + pairs.join(' ') : '') + end;
+  if (content) {
+    tag += content + '</' + name + end;
+  }
+  return tag;
+}
+
+/**
+ * Return cdata escaped CDATA `str`.
+ */
+
+function cdata(str) {
+  return '<![CDATA[' + escape(str) + ']]>';
+}
+
+}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{"../utils":39,"./base":17,"fs":41}],35:[function(require,module,exports){
+(function (global){
+/**
+ * Module dependencies.
+ */
+
+var EventEmitter = require('events').EventEmitter;
+var Pending = require('./pending');
+var debug = require('debug')('mocha:runnable');
+var milliseconds = require('./ms');
+var utils = require('./utils');
+var inherits = utils.inherits;
+
+/**
+ * Save timer references to avoid Sinon interfering (see GH-237).
+ */
+
+/* eslint-disable no-unused-vars, no-native-reassign */
+var Date = global.Date;
+var setTimeout = global.setTimeout;
+var setInterval = global.setInterval;
+var clearTimeout = global.clearTimeout;
+var clearInterval = global.clearInterval;
+/* eslint-enable no-unused-vars, no-native-reassign */
+
+/**
+ * Object#toString().
+ */
+
+var toString = Object.prototype.toString;
+
+/**
+ * Expose `Runnable`.
+ */
+
+module.exports = Runnable;
+
+/**
+ * Initialize a new `Runnable` with the given `title` and callback `fn`.
+ *
+ * @param {String} title
+ * @param {Function} fn
+ * @api private
+ * @param {string} title
+ * @param {Function} fn
+ */
+function Runnable(title, fn) {
+  this.title = title;
+  this.fn = fn;
+  this.async = fn && fn.length;
+  this.sync = !this.async;
+  this._timeout = 2000;
+  this._slow = 75;
+  this._enableTimeouts = true;
+  this.timedOut = false;
+  this._trace = new Error('done() called multiple times');
+}
+
+/**
+ * Inherit from `EventEmitter.prototype`.
+ */
+inherits(Runnable, EventEmitter);
+
+/**
+ * Set & get timeout `ms`.
+ *
+ * @api private
+ * @param {number|string} ms
+ * @return {Runnable|number} ms or Runnable instance.
+ */
+Runnable.prototype.timeout = function(ms) {
+  if (!arguments.length) {
+    return this._timeout;
+  }
+  if (ms === 0) {
+    this._enableTimeouts = false;
+  }
+  if (typeof ms === 'string') {
+    ms = milliseconds(ms);
+  }
+  debug('timeout %d', ms);
+  this._timeout = ms;
+  if (this.timer) {
+    this.resetTimeout();
+  }
+  return this;
+};
+
+/**
+ * Set & get slow `ms`.
+ *
+ * @api private
+ * @param {number|string} ms
+ * @return {Runnable|number} ms or Runnable instance.
+ */
+Runnable.prototype.slow = function(ms) {
+  if (!arguments.length) {
+    return this._slow;
+  }
+  if (typeof ms === 'string') {
+    ms = milliseconds(ms);
+  }
+  debug('timeout %d', ms);
+  this._slow = ms;
+  return this;
+};
+
+/**
+ * Set and get whether timeout is `enabled`.
+ *
+ * @api private
+ * @param {boolean} enabled
+ * @return {Runnable|boolean} enabled or Runnable instance.
+ */
+Runnable.prototype.enableTimeouts = function(enabled) {
+  if (!arguments.length) {
+    return this._enableTimeouts;
+  }
+  debug('enableTimeouts %s', enabled);
+  this._enableTimeouts = enabled;
+  return this;
+};
+
+/**
+ * Halt and mark as pending.
+ *
+ * @api private
+ */
+Runnable.prototype.skip = function() {
+  throw new Pending();
+};
+
+/**
+ * Return the full title generated by recursively concatenating the parent's
+ * full title.
+ *
+ * @api public
+ * @return {string}
+ */
+Runnable.prototype.fullTitle = function() {
+  return this.parent.fullTitle() + ' ' + this.title;
+};
+
+/**
+ * Clear the timeout.
+ *
+ * @api private
+ */
+Runnable.prototype.clearTimeout = function() {
+  clearTimeout(this.timer);
+};
+
+/**
+ * Inspect the runnable void of private properties.
+ *
+ * @api private
+ * @return {string}
+ */
+Runnable.prototype.inspect = function() {
+  return JSON.stringify(this, function(key, val) {
+    if (key[0] === '_') {
+      return;
+    }
+    if (key === 'parent') {
+      return '#<Suite>';
+    }
+    if (key === 'ctx') {
+      return '#<Context>';
+    }
+    return val;
+  }, 2);
+};
+
+/**
+ * Reset the timeout.
+ *
+ * @api private
+ */
+Runnable.prototype.resetTimeout = function() {
+  var self = this;
+  var ms = this.timeout() || 1e9;
+
+  if (!this._enableTimeouts) {
+    return;
+  }
+  this.clearTimeout();
+  this.timer = setTimeout(function() {
+    if (!self._enableTimeouts) {
+      return;
+    }
+    self.callback(new Error('timeout of ' + ms + 'ms exceeded. Ensure the done() callback is being called in this test.'));
+    self.timedOut = true;
+  }, ms);
+};
+
+/**
+ * Whitelist a list of globals for this test run.
+ *
+ * @api private
+ * @param {string[]} globals
+ */
+Runnable.prototype.globals = function(globals) {
+  this._allowedGlobals = globals;
+};
+
+/**
+ * Run the test and invoke `fn(err)`.
+ *
+ * @param {Function} fn
+ * @api private
+ */
+Runnable.prototype.run = function(fn) {
+  var self = this;
+  var start = new Date();
+  var ctx = this.ctx;
+  var finished;
+  var emitted;
+
+  // Sometimes the ctx exists, but it is not runnable
+  if (ctx && ctx.runnable) {
+    ctx.runnable(this);
+  }
+
+  // called multiple times
+  function multiple(err) {
+    if (emitted) {
+      return;
+    }
+    emitted = true;
+    self.emit('error', err || new Error('done() called multiple times; stacktrace may be inaccurate'));
+  }
+
+  // finished
+  function done(err) {
+    var ms = self.timeout();
+    if (self.timedOut) {
+      return;
+    }
+    if (finished) {
+      return multiple(err || self._trace);
+    }
+
+    self.clearTimeout();
+    self.duration = new Date() - start;
+    finished = true;
+    if (!err && self.duration > ms && self._enableTimeouts) {
+      err = new Error('timeout of ' + ms + 'ms exceeded. Ensure the done() callback is being called in this test.');
+    }
+    fn(err);
+  }
+
+  // for .resetTimeout()
+  this.callback = done;
+
+  // explicit async with `done` argument
+  if (this.async) {
+    this.resetTimeout();
+
+    if (this.allowUncaught) {
+      return callFnAsync(this.fn);
+    }
+    try {
+      callFnAsync(this.fn);
+    } catch (err) {
+      done(utils.getError(err));
+    }
+    return;
+  }
+
+  if (this.allowUncaught) {
+    callFn(this.fn);
+    done();
+    return;
+  }
+
+  // sync or promise-returning
+  try {
+    if (this.pending) {
+      done();
+    } else {
+      callFn(this.fn);
+    }
+  } catch (err) {
+    done(utils.getError(err));
+  }
+
+  function callFn(fn) {
+    var result = fn.call(ctx);
+    if (result && typeof result.then === 'function') {
+      self.resetTimeout();
+      result
+        .then(function() {
+          done();
+        },
+        function(reason) {
+          done(reason || new Error('Promise rejected with no or falsy reason'));
+        });
+    } else {
+      if (self.asyncOnly) {
+        return done(new Error('--async-only option in use without declaring `done()` or returning a promise'));
+      }
+
+      done();
+    }
+  }
+
+  function callFnAsync(fn) {
+    fn.call(ctx, function(err) {
+      if (err instanceof Error || toString.call(err) === '[object Error]') {
+        return done(err);
+      }
+      if (err) {
+        if (Object.prototype.toString.call(err) === '[object Object]') {
+          return done(new Error('done() invoked with non-Error: '
+            + JSON.stringify(err)));
+        }
+        return done(new Error('done() invoked with non-Error: ' + err));
+      }
+      done();
+    });
+  }
+};
+
+}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{"./ms":15,"./pending":16,"./utils":39,"debug":2,"events":3}],36:[function(require,module,exports){
+(function (process,global){
+/**
+ * Module dependencies.
+ */
+
+var EventEmitter = require('events').EventEmitter;
+var Pending = require('./pending');
+var utils = require('./utils');
+var inherits = utils.inherits;
+var debug = require('debug')('mocha:runner');
+var Runnable = require('./runnable');
+var filter = utils.filter;
+var indexOf = utils.indexOf;
+var keys = utils.keys;
+var stackFilter = utils.stackTraceFilter();
+var stringify = utils.stringify;
+var type = utils.type;
+var undefinedError = utils.undefinedError;
+
+/**
+ * Non-enumerable globals.
+ */
+
+var globals = [
+  'setTimeout',
+  'clearTimeout',
+  'setInterval',
+  'clearInterval',
+  'XMLHttpRequest',
+  'Date',
+  'setImmediate',
+  'clearImmediate'
+];
+
+/**
+ * Expose `Runner`.
+ */
+
+module.exports = Runner;
+
+/**
+ * Initialize a `Runner` for the given `suite`.
+ *
+ * Events:
+ *
+ *   - `start`  execution started
+ *   - `end`  execution complete
+ *   - `suite`  (suite) test suite execution started
+ *   - `suite end`  (suite) all tests (and sub-suites) have finished
+ *   - `test`  (test) test execution started
+ *   - `test end`  (test) test completed
+ *   - `hook`  (hook) hook execution started
+ *   - `hook end`  (hook) hook complete
+ *   - `pass`  (test) test passed
+ *   - `fail`  (test, err) test failed
+ *   - `pending`  (test) test pending
+ *
+ * @api public
+ * @param {Suite} suite Root suite
+ * @param {boolean} [delay] Whether or not to delay execution of root suite
+ * until ready.
+ */
+function Runner(suite, delay) {
+  var self = this;
+  this._globals = [];
+  this._abort = false;
+  this._delay = delay;
+  this.suite = suite;
+  this.started = false;
+  this.total = suite.total();
+  this.failures = 0;
+  this.on('test end', function(test) {
+    self.checkGlobals(test);
+  });
+  this.on('hook end', function(hook) {
+    self.checkGlobals(hook);
+  });
+  this._defaultGrep = /.*/;
+  this.grep(this._defaultGrep);
+  this.globals(this.globalProps().concat(extraGlobals()));
+}
+
+/**
+ * Wrapper for setImmediate, process.nextTick, or browser polyfill.
+ *
+ * @param {Function} fn
+ * @api private
+ */
+Runner.immediately = global.setImmediate || process.nextTick;
+
+/**
+ * Inherit from `EventEmitter.prototype`.
+ */
+inherits(Runner, EventEmitter);
+
+/**
+ * Run tests with full titles matching `re`. Updates runner.total
+ * with number of tests matched.
+ *
+ * @param {RegExp} re
+ * @param {Boolean} invert
+ * @return {Runner} for chaining
+ * @api public
+ * @param {RegExp} re
+ * @param {boolean} invert
+ * @return {Runner} Runner instance.
+ */
+Runner.prototype.grep = function(re, invert) {
+  debug('grep %s', re);
+  this._grep = re;
+  this._invert = invert;
+  this.total = this.grepTotal(this.suite);
+  return this;
+};
+
+/**
+ * Returns the number of tests matching the grep search for the
+ * given suite.
+ *
+ * @param {Suite} suite
+ * @return {Number}
+ * @api public
+ * @param {Suite} suite
+ * @return {number}
+ */
+Runner.prototype.grepTotal = function(suite) {
+  var self = this;
+  var total = 0;
+
+  suite.eachTest(function(test) {
+    var match = self._grep.test(test.fullTitle());
+    if (self._invert) {
+      match = !match;
+    }
+    if (match) {
+      total++;
+    }
+  });
+
+  return total;
+};
+
+/**
+ * Return a list of global properties.
+ *
+ * @return {Array}
+ * @api private
+ */
+Runner.prototype.globalProps = function() {
+  var props = keys(global);
+
+  // non-enumerables
+  for (var i = 0; i < globals.length; ++i) {
+    if (~indexOf(props, globals[i])) {
+      continue;
+    }
+    props.push(globals[i]);
+  }
+
+  return props;
+};
+
+/**
+ * Allow the given `arr` of globals.
+ *
+ * @param {Array} arr
+ * @return {Runner} for chaining
+ * @api public
+ * @param {Array} arr
+ * @return {Runner} Runner instance.
+ */
+Runner.prototype.globals = function(arr) {
+  if (!arguments.length) {
+    return this._globals;
+  }
+  debug('globals %j', arr);
+  this._globals = this._globals.concat(arr);
+  return this;
+};
+
+/**
+ * Check for global variable leaks.
+ *
+ * @api private
+ */
+Runner.prototype.checkGlobals = function(test) {
+  if (this.ignoreLeaks) {
+    return;
+  }
+  var ok = this._globals;
+
+  var globals = this.globalProps();
+  var leaks;
+
+  if (test) {
+    ok = ok.concat(test._allowedGlobals || []);
+  }
+
+  if (this.prevGlobalsLength === globals.length) {
+    return;
+  }
+  this.prevGlobalsLength = globals.length;
+
+  leaks = filterLeaks(ok, globals);
+  this._globals = this._globals.concat(leaks);
+
+  if (leaks.length > 1) {
+    this.fail(test, new Error('global leaks detected: ' + leaks.join(', ') + ''));
+  } else if (leaks.length) {
+    this.fail(test, new Error('global leak detected: ' + leaks[0]));
+  }
+};
+
+/**
+ * Fail the given `test`.
+ *
+ * @api private
+ * @param {Test} test
+ * @param {Error} err
+ */
+Runner.prototype.fail = function(test, err) {
+  ++this.failures;
+  test.state = 'failed';
+
+  if (!(err instanceof Error || err && typeof err.message === 'string')) {
+    err = new Error('the ' + type(err) + ' ' + stringify(err) + ' was thrown, throw an Error :)');
+  }
+
+  err.stack = (this.fullStackTrace || !err.stack)
+    ? err.stack
+    : stackFilter(err.stack);
+
+  this.emit('fail', test, err);
+};
+
+/**
+ * Fail the given `hook` with `err`.
+ *
+ * Hook failures work in the following pattern:
+ * - If bail, then exit
+ * - Failed `before` hook skips all tests in a suite and subsuites,
+ *   but jumps to corresponding `after` hook
+ * - Failed `before each` hook skips remaining tests in a
+ *   suite and jumps to corresponding `after each` hook,
+ *   which is run only once
+ * - Failed `after` hook does not alter
+ *   execution order
+ * - Failed `after each` hook skips remaining tests in a
+ *   suite and subsuites, but executes other `after each`
+ *   hooks
+ *
+ * @api private
+ * @param {Hook} hook
+ * @param {Error} err
+ */
+Runner.prototype.failHook = function(hook, err) {
+  if (hook.ctx && hook.ctx.currentTest) {
+    hook.originalTitle = hook.originalTitle || hook.title;
+    hook.title = hook.originalTitle + ' for "' + hook.ctx.currentTest.title + '"';
+  }
+
+  this.fail(hook, err);
+  if (this.suite.bail()) {
+    this.emit('end');
+  }
+};
+
+/**
+ * Run hook `name` callbacks and then invoke `fn()`.
+ *
+ * @api private
+ * @param {string} name
+ * @param {Function} fn
+ */
+
+Runner.prototype.hook = function(name, fn) {
+  var suite = this.suite;
+  var hooks = suite['_' + name];
+  var self = this;
+
+  function next(i) {
+    var hook = hooks[i];
+    if (!hook) {
+      return fn();
+    }
+    self.currentRunnable = hook;
+
+    hook.ctx.currentTest = self.test;
+
+    self.emit('hook', hook);
+
+    if (!hook.listeners('error').length) {
+      hook.on('error', function(err) {
+        self.failHook(hook, err);
+      });
+    }
+
+    hook.run(function(err) {
+      var testError = hook.error();
+      if (testError) {
+        self.fail(self.test, testError);
+      }
+      if (err) {
+        if (err instanceof Pending) {
+          suite.pending = true;
+        } else {
+          self.failHook(hook, err);
+
+          // stop executing hooks, notify callee of hook err
+          return fn(err);
+        }
+      }
+      self.emit('hook end', hook);
+      delete hook.ctx.currentTest;
+      next(++i);
+    });
+  }
+
+  Runner.immediately(function() {
+    next(0);
+  });
+};
+
+/**
+ * Run hook `name` for the given array of `suites`
+ * in order, and callback `fn(err, errSuite)`.
+ *
+ * @api private
+ * @param {string} name
+ * @param {Array} suites
+ * @param {Function} fn
+ */
+Runner.prototype.hooks = function(name, suites, fn) {
+  var self = this;
+  var orig = this.suite;
+
+  function next(suite) {
+    self.suite = suite;
+
+    if (!suite) {
+      self.suite = orig;
+      return fn();
+    }
+
+    self.hook(name, function(err) {
+      if (err) {
+        var errSuite = self.suite;
+        self.suite = orig;
+        return fn(err, errSuite);
+      }
+
+      next(suites.pop());
+    });
+  }
+
+  next(suites.pop());
+};
+
+/**
+ * Run hooks from the top level down.
+ *
+ * @param {String} name
+ * @param {Function} fn
+ * @api private
+ */
+Runner.prototype.hookUp = function(name, fn) {
+  var suites = [this.suite].concat(this.parents()).reverse();
+  this.hooks(name, suites, fn);
+};
+
+/**
+ * Run hooks from the bottom up.
+ *
+ * @param {String} name
+ * @param {Function} fn
+ * @api private
+ */
+Runner.prototype.hookDown = function(name, fn) {
+  var suites = [this.suite].concat(this.parents());
+  this.hooks(name, suites, fn);
+};
+
+/**
+ * Return an array of parent Suites from
+ * closest to furthest.
+ *
+ * @return {Array}
+ * @api private
+ */
+Runner.prototype.parents = function() {
+  var suite = this.suite;
+  var suites = [];
+  while (suite.parent) {
+    suite = suite.parent;
+    suites.push(suite);
+  }
+  return suites;
+};
+
+/**
+ * Run the current test and callback `fn(err)`.
+ *
+ * @param {Function} fn
+ * @api private
+ */
+Runner.prototype.runTest = function(fn) {
+  var self = this;
+  var test = this.test;
+
+  if (this.asyncOnly) {
+    test.asyncOnly = true;
+  }
+
+  if (this.allowUncaught) {
+    test.allowUncaught = true;
+    return test.run(fn);
+  }
+  try {
+    test.on('error', function(err) {
+      self.fail(test, err);
+    });
+    test.run(fn);
+  } catch (err) {
+    fn(err);
+  }
+};
+
+/**
+ * Run tests in the given `suite` and invoke the callback `fn()` when complete.
+ *
+ * @api private
+ * @param {Suite} suite
+ * @param {Function} fn
+ */
+Runner.prototype.runTests = function(suite, fn) {
+  var self = this;
+  var tests = suite.tests.slice();
+  var test;
+
+  function hookErr(_, errSuite, after) {
+    // before/after Each hook for errSuite failed:
+    var orig = self.suite;
+
+    // for failed 'after each' hook start from errSuite parent,
+    // otherwise start from errSuite itself
+    self.suite = after ? errSuite.parent : errSuite;
+
+    if (self.suite) {
+      // call hookUp afterEach
+      self.hookUp('afterEach', function(err2, errSuite2) {
+        self.suite = orig;
+        // some hooks may fail even now
+        if (err2) {
+          return hookErr(err2, errSuite2, true);
+        }
+        // report error suite
+        fn(errSuite);
+      });
+    } else {
+      // there is no need calling other 'after each' hooks
+      self.suite = orig;
+      fn(errSuite);
+    }
+  }
+
+  function next(err, errSuite) {
+    // if we bail after first err
+    if (self.failures && suite._bail) {
+      return fn();
+    }
+
+    if (self._abort) {
+      return fn();
+    }
+
+    if (err) {
+      return hookErr(err, errSuite, true);
+    }
+
+    // next test
+    test = tests.shift();
+
+    // all done
+    if (!test) {
+      return fn();
+    }
+
+    // grep
+    var match = self._grep.test(test.fullTitle());
+    if (self._invert) {
+      match = !match;
+    }
+    if (!match) {
+      // Run immediately only if we have defined a grep. When we
+      // define a grep — It can cause maximum callstack error if
+      // the grep is doing a large recursive loop by neglecting
+      // all tests. The run immediately function also comes with
+      // a performance cost. So we don't want to run immediately
+      // if we run the whole test suite, because running the whole
+      // test suite don't do any immediate recursive loops. Thus,
+      // allowing a JS runtime to breathe.
+      if (self._grep !== self._defaultGrep) {
+        Runner.immediately(next);
+      } else {
+        next();
+      }
+      return;
+    }
+
+    // pending
+    if (test.pending) {
+      self.emit('pending', test);
+      self.emit('test end', test);
+      return next();
+    }
+
+    // execute test and hook(s)
+    self.emit('test', self.test = test);
+    self.hookDown('beforeEach', function(err, errSuite) {
+      if (suite.pending) {
+        self.emit('pending', test);
+        self.emit('test end', test);
+        return next();
+      }
+      if (err) {
+        return hookErr(err, errSuite, false);
+      }
+      self.currentRunnable = self.test;
+      self.runTest(function(err) {
+        test = self.test;
+
+        if (err) {
+          if (err instanceof Pending) {
+            self.emit('pending', test);
+          } else {
+            self.fail(test, err);
+          }
+          self.emit('test end', test);
+
+          if (err instanceof Pending) {
+            return next();
+          }
+
+          return self.hookUp('afterEach', next);
+        }
+
+        test.state = 'passed';
+        self.emit('pass', test);
+        self.emit('test end', test);
+        self.hookUp('afterEach', next);
+      });
+    });
+  }
+
+  this.next = next;
+  this.hookErr = hookErr;
+  next();
+};
+
+/**
+ * Run the given `suite` and invoke the callback `fn()` when complete.
+ *
+ * @api private
+ * @param {Suite} suite
+ * @param {Function} fn
+ */
+Runner.prototype.runSuite = function(suite, fn) {
+  var i = 0;
+  var self = this;
+  var total = this.grepTotal(suite);
+  var afterAllHookCalled = false;
+
+  debug('run suite %s', suite.fullTitle());
+
+  if (!total || (self.failures && suite._bail)) {
+    return fn();
+  }
+
+  this.emit('suite', this.suite = suite);
+
+  function next(errSuite) {
+    if (errSuite) {
+      // current suite failed on a hook from errSuite
+      if (errSuite === suite) {
+        // if errSuite is current suite
+        // continue to the next sibling suite
+        return done();
+      }
+      // errSuite is among the parents of current suite
+      // stop execution of errSuite and all sub-suites
+      return done(errSuite);
+    }
+
+    if (self._abort) {
+      return done();
+    }
+
+    var curr = suite.suites[i++];
+    if (!curr) {
+      return done();
+    }
+
+    // Avoid grep neglecting large number of tests causing a
+    // huge recursive loop and thus a maximum call stack error.
+    // See comment in `this.runTests()` for more information.
+    if (self._grep !== self._defaultGrep) {
+      Runner.immediately(function() {
+        self.runSuite(curr, next);
+      });
+    } else {
+      self.runSuite(curr, next);
+    }
+  }
+
+  function done(errSuite) {
+    self.suite = suite;
+    self.nextSuite = next;
+
+    if (afterAllHookCalled) {
+      fn(errSuite);
+    } else {
+      // mark that the afterAll block has been called once
+      // and so can be skipped if there is an error in it.
+      afterAllHookCalled = true;
+      self.hook('afterAll', function() {
+        self.emit('suite end', suite);
+        fn(errSuite);
+      });
+    }
+  }
+
+  this.nextSuite = next;
+
+  this.hook('beforeAll', function(err) {
+    if (err) {
+      return done();
+    }
+    self.runTests(suite, next);
+  });
+};
+
+/**
+ * Handle uncaught exceptions.
+ *
+ * @param {Error} err
+ * @api private
+ */
+Runner.prototype.uncaught = function(err) {
+  if (err) {
+    debug('uncaught exception %s', err !== function() {
+      return this;
+    }.call(err) ? err : (err.message || err));
+  } else {
+    debug('uncaught undefined exception');
+    err = undefinedError();
+  }
+  err.uncaught = true;
+
+  var runnable = this.currentRunnable;
+
+  if (!runnable) {
+    runnable = new Runnable('Uncaught error outside test suite');
+    runnable.parent = this.suite;
+
+    if (this.started) {
+      this.fail(runnable, err);
+    } else {
+      // Can't recover from this failure
+      this.emit('start');
+      this.fail(runnable, err);
+      this.emit('end');
+    }
+
+    return;
+  }
+
+  runnable.clearTimeout();
+
+  // Ignore errors if complete
+  if (runnable.state) {
+    return;
+  }
+  this.fail(runnable, err);
+
+  // recover from test
+  if (runnable.type === 'test') {
+    this.emit('test end', runnable);
+    this.hookUp('afterEach', this.next);
+    return;
+  }
+
+ // recover from hooks
+  if (runnable.type === 'hook') {
+    var errSuite = this.suite;
+    // if hook failure is in afterEach block
+    if (runnable.fullTitle().indexOf('after each') > -1) {
+      return this.hookErr(err, errSuite, true);
+    }
+    // if hook failure is in beforeEach block
+    if (runnable.fullTitle().indexOf('before each') > -1) {
+      return this.hookErr(err, errSuite, false);
+    }
+    // if hook failure is in after or before blocks
+    return this.nextSuite(errSuite);
+  }
+
+  // bail
+  this.emit('end');
+};
+
+/**
+ * Run the root suite and invoke `fn(failures)`
+ * on completion.
+ *
+ * @param {Function} fn
+ * @return {Runner} for chaining
+ * @api public
+ * @param {Function} fn
+ * @return {Runner} Runner instance.
+ */
+Runner.prototype.run = function(fn) {
+  var self = this;
+  var rootSuite = this.suite;
+
+  fn = fn || function() {};
+
+  function uncaught(err) {
+    self.uncaught(err);
+  }
+
+  function start() {
+    self.started = true;
+    self.emit('start');
+    self.runSuite(rootSuite, function() {
+      debug('finished running');
+      self.emit('end');
+    });
+  }
+
+  debug('start');
+
+  // callback
+  this.on('end', function() {
+    debug('end');
+    process.removeListener('uncaughtException', uncaught);
+    fn(self.failures);
+  });
+
+  // uncaught exception
+  process.on('uncaughtException', uncaught);
+
+  if (this._delay) {
+    // for reporters, I guess.
+    // might be nice to debounce some dots while we wait.
+    this.emit('waiting', rootSuite);
+    rootSuite.once('run', start);
+  } else {
+    start();
+  }
+
+  return this;
+};
+
+/**
+ * Cleanly abort execution.
+ *
+ * @api public
+ * @return {Runner} Runner instance.
+ */
+Runner.prototype.abort = function() {
+  debug('aborting');
+  this._abort = true;
+
+  return this;
+};
+
+/**
+ * Filter leaks with the given globals flagged as `ok`.
+ *
+ * @api private
+ * @param {Array} ok
+ * @param {Array} globals
+ * @return {Array}
+ */
+function filterLeaks(ok, globals) {
+  return filter(globals, function(key) {
+    // Firefox and Chrome exposes iframes as index inside the window object
+    if (/^d+/.test(key)) {
+      return false;
+    }
+
+    // in firefox
+    // if runner runs in an iframe, this iframe's window.getInterface method not init at first
+    // it is assigned in some seconds
+    if (global.navigator && (/^getInterface/).test(key)) {
+      return false;
+    }
+
+    // an iframe could be approached by window[iframeIndex]
+    // in ie6,7,8 and opera, iframeIndex is enumerable, this could cause leak
+    if (global.navigator && (/^\d+/).test(key)) {
+      return false;
+    }
+
+    // Opera and IE expose global variables for HTML element IDs (issue #243)
+    if (/^mocha-/.test(key)) {
+      return false;
+    }
+
+    var matched = filter(ok, function(ok) {
+      if (~ok.indexOf('*')) {
+        return key.indexOf(ok.split('*')[0]) === 0;
+      }
+      return key === ok;
+    });
+    return !matched.length && (!global.navigator || key !== 'onerror');
+  });
+}
+
+/**
+ * Array of globals dependent on the environment.
+ *
+ * @return {Array}
+ * @api private
+ */
+function extraGlobals() {
+  if (typeof process === 'object' && typeof process.version === 'string') {
+    var parts = process.version.split('.');
+    var nodeVersion = utils.reduce(parts, function(a, v) {
+      return a << 8 | v;
+    });
+
+    // 'errno' was renamed to process._errno in v0.9.11.
+
+    if (nodeVersion < 0x00090B) {
+      return ['errno'];
+    }
+  }
+
+  return [];
+}
+
+}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{"./pending":16,"./runnable":35,"./utils":39,"_process":51,"debug":2,"events":3}],37:[function(require,module,exports){
+/**
+ * Module dependencies.
+ */
+
+var EventEmitter = require('events').EventEmitter;
+var Hook = require('./hook');
+var utils = require('./utils');
+var inherits = utils.inherits;
+var debug = require('debug')('mocha:suite');
+var milliseconds = require('./ms');
+
+/**
+ * Expose `Suite`.
+ */
+
+exports = module.exports = Suite;
+
+/**
+ * Create a new `Suite` with the given `title` and parent `Suite`. When a suite
+ * with the same title is already present, that suite is returned to provide
+ * nicer reporter and more flexible meta-testing.
+ *
+ * @api public
+ * @param {Suite} parent
+ * @param {string} title
+ * @return {Suite}
+ */
+exports.create = function(parent, title) {
+  var suite = new Suite(title, parent.ctx);
+  suite.parent = parent;
+  if (parent.pending) {
+    suite.pending = true;
+  }
+  title = suite.fullTitle();
+  parent.addSuite(suite);
+  return suite;
+};
+
+/**
+ * Initialize a new `Suite` with the given `title` and `ctx`.
+ *
+ * @api private
+ * @param {string} title
+ * @param {Context} parentContext
+ */
+function Suite(title, parentContext) {
+  this.title = title;
+  function Context() {}
+  Context.prototype = parentContext;
+  this.ctx = new Context();
+  this.suites = [];
+  this.tests = [];
+  this.pending = false;
+  this._beforeEach = [];
+  this._beforeAll = [];
+  this._afterEach = [];
+  this._afterAll = [];
+  this.root = !title;
+  this._timeout = 2000;
+  this._enableTimeouts = true;
+  this._slow = 75;
+  this._bail = false;
+  this.delayed = false;
+}
+
+/**
+ * Inherit from `EventEmitter.prototype`.
+ */
+inherits(Suite, EventEmitter);
+
+/**
+ * Return a clone of this `Suite`.
+ *
+ * @api private
+ * @return {Suite}
+ */
+Suite.prototype.clone = function() {
+  var suite = new Suite(this.title);
+  debug('clone');
+  suite.ctx = this.ctx;
+  suite.timeout(this.timeout());
+  suite.enableTimeouts(this.enableTimeouts());
+  suite.slow(this.slow());
+  suite.bail(this.bail());
+  return suite;
+};
+
+/**
+ * Set timeout `ms` or short-hand such as "2s".
+ *
+ * @api private
+ * @param {number|string} ms
+ * @return {Suite|number} for chaining
+ */
+Suite.prototype.timeout = function(ms) {
+  if (!arguments.length) {
+    return this._timeout;
+  }
+  if (ms.toString() === '0') {
+    this._enableTimeouts = false;
+  }
+  if (typeof ms === 'string') {
+    ms = milliseconds(ms);
+  }
+  debug('timeout %d', ms);
+  this._timeout = parseInt(ms, 10);
+  return this;
+};
+
+/**
+  * Set timeout to `enabled`.
+  *
+  * @api private
+  * @param {boolean} enabled
+  * @return {Suite|boolean} self or enabled
+  */
+Suite.prototype.enableTimeouts = function(enabled) {
+  if (!arguments.length) {
+    return this._enableTimeouts;
+  }
+  debug('enableTimeouts %s', enabled);
+  this._enableTimeouts = enabled;
+  return this;
+};
+
+/**
+ * Set slow `ms` or short-hand such as "2s".
+ *
+ * @api private
+ * @param {number|string} ms
+ * @return {Suite|number} for chaining
+ */
+Suite.prototype.slow = function(ms) {
+  if (!arguments.length) {
+    return this._slow;
+  }
+  if (typeof ms === 'string') {
+    ms = milliseconds(ms);
+  }
+  debug('slow %d', ms);
+  this._slow = ms;
+  return this;
+};
+
+/**
+ * Sets whether to bail after first error.
+ *
+ * @api private
+ * @param {boolean} bail
+ * @return {Suite|number} for chaining
+ */
+Suite.prototype.bail = function(bail) {
+  if (!arguments.length) {
+    return this._bail;
+  }
+  debug('bail %s', bail);
+  this._bail = bail;
+  return this;
+};
+
+/**
+ * Run `fn(test[, done])` before running tests.
+ *
+ * @api private
+ * @param {string} title
+ * @param {Function} fn
+ * @return {Suite} for chaining
+ */
+Suite.prototype.beforeAll = function(title, fn) {
+  if (this.pending) {
+    return this;
+  }
+  if (typeof title === 'function') {
+    fn = title;
+    title = fn.name;
+  }
+  title = '"before all" hook' + (title ? ': ' + title : '');
+
+  var hook = new Hook(title, fn);
+  hook.parent = this;
+  hook.timeout(this.timeout());
+  hook.enableTimeouts(this.enableTimeouts());
+  hook.slow(this.slow());
+  hook.ctx = this.ctx;
+  this._beforeAll.push(hook);
+  this.emit('beforeAll', hook);
+  return this;
+};
+
+/**
+ * Run `fn(test[, done])` after running tests.
+ *
+ * @api private
+ * @param {string} title
+ * @param {Function} fn
+ * @return {Suite} for chaining
+ */
+Suite.prototype.afterAll = function(title, fn) {
+  if (this.pending) {
+    return this;
+  }
+  if (typeof title === 'function') {
+    fn = title;
+    title = fn.name;
+  }
+  title = '"after all" hook' + (title ? ': ' + title : '');
+
+  var hook = new Hook(title, fn);
+  hook.parent = this;
+  hook.timeout(this.timeout());
+  hook.enableTimeouts(this.enableTimeouts());
+  hook.slow(this.slow());
+  hook.ctx = this.ctx;
+  this._afterAll.push(hook);
+  this.emit('afterAll', hook);
+  return this;
+};
+
+/**
+ * Run `fn(test[, done])` before each test case.
+ *
+ * @api private
+ * @param {string} title
+ * @param {Function} fn
+ * @return {Suite} for chaining
+ */
+Suite.prototype.beforeEach = function(title, fn) {
+  if (this.pending) {
+    return this;
+  }
+  if (typeof title === 'function') {
+    fn = title;
+    title = fn.name;
+  }
+  title = '"before each" hook' + (title ? ': ' + title : '');
+
+  var hook = new Hook(title, fn);
+  hook.parent = this;
+  hook.timeout(this.timeout());
+  hook.enableTimeouts(this.enableTimeouts());
+  hook.slow(this.slow());
+  hook.ctx = this.ctx;
+  this._beforeEach.push(hook);
+  this.emit('beforeEach', hook);
+  return this;
+};
+
+/**
+ * Run `fn(test[, done])` after each test case.
+ *
+ * @api private
+ * @param {string} title
+ * @param {Function} fn
+ * @return {Suite} for chaining
+ */
+Suite.prototype.afterEach = function(title, fn) {
+  if (this.pending) {
+    return this;
+  }
+  if (typeof title === 'function') {
+    fn = title;
+    title = fn.name;
+  }
+  title = '"after each" hook' + (title ? ': ' + title : '');
+
+  var hook = new Hook(title, fn);
+  hook.parent = this;
+  hook.timeout(this.timeout());
+  hook.enableTimeouts(this.enableTimeouts());
+  hook.slow(this.slow());
+  hook.ctx = this.ctx;
+  this._afterEach.push(hook);
+  this.emit('afterEach', hook);
+  return this;
+};
+
+/**
+ * Add a test `suite`.
+ *
+ * @api private
+ * @param {Suite} suite
+ * @return {Suite} for chaining
+ */
+Suite.prototype.addSuite = function(suite) {
+  suite.parent = this;
+  suite.timeout(this.timeout());
+  suite.enableTimeouts(this.enableTimeouts());
+  suite.slow(this.slow());
+  suite.bail(this.bail());
+  this.suites.push(suite);
+  this.emit('suite', suite);
+  return this;
+};
+
+/**
+ * Add a `test` to this suite.
+ *
+ * @api private
+ * @param {Test} test
+ * @return {Suite} for chaining
+ */
+Suite.prototype.addTest = function(test) {
+  test.parent = this;
+  test.timeout(this.timeout());
+  test.enableTimeouts(this.enableTimeouts());
+  test.slow(this.slow());
+  test.ctx = this.ctx;
+  this.tests.push(test);
+  this.emit('test', test);
+  return this;
+};
+
+/**
+ * Return the full title generated by recursively concatenating the parent's
+ * full title.
+ *
+ * @api public
+ * @return {string}
+ */
+Suite.prototype.fullTitle = function() {
+  if (this.parent) {
+    var full = this.parent.fullTitle();
+    if (full) {
+      return full + ' ' + this.title;
+    }
+  }
+  return this.title;
+};
+
+/**
+ * Return the total number of tests.
+ *
+ * @api public
+ * @return {number}
+ */
+Suite.prototype.total = function() {
+  return utils.reduce(this.suites, function(sum, suite) {
+    return sum + suite.total();
+  }, 0) + this.tests.length;
+};
+
+/**
+ * Iterates through each suite recursively to find all tests. Applies a
+ * function in the format `fn(test)`.
+ *
+ * @api private
+ * @param {Function} fn
+ * @return {Suite}
+ */
+Suite.prototype.eachTest = function(fn) {
+  utils.forEach(this.tests, fn);
+  utils.forEach(this.suites, function(suite) {
+    suite.eachTest(fn);
+  });
+  return this;
+};
+
+/**
+ * This will run the root suite if we happen to be running in delayed mode.
+ */
+Suite.prototype.run = function run() {
+  if (this.root) {
+    this.emit('run');
+  }
+};
+
+},{"./hook":7,"./ms":15,"./utils":39,"debug":2,"events":3}],38:[function(require,module,exports){
+/**
+ * Module dependencies.
+ */
+
+var Runnable = require('./runnable');
+var inherits = require('./utils').inherits;
+
+/**
+ * Expose `Test`.
+ */
+
+module.exports = Test;
+
+/**
+ * Initialize a new `Test` with the given `title` and callback `fn`.
+ *
+ * @api private
+ * @param {String} title
+ * @param {Function} fn
+ */
+function Test(title, fn) {
+  Runnable.call(this, title, fn);
+  this.pending = !fn;
+  this.type = 'test';
+}
+
+/**
+ * Inherit from `Runnable.prototype`.
+ */
+inherits(Test, Runnable);
+
+},{"./runnable":35,"./utils":39}],39:[function(require,module,exports){
+(function (process,Buffer){
+/* eslint-env browser */
+
+/**
+ * Module dependencies.
+ */
+
+var basename = require('path').basename;
+var debug = require('debug')('mocha:watch');
+var exists = require('fs').existsSync || require('path').existsSync;
+var glob = require('glob');
+var join = require('path').join;
+var readdirSync = require('fs').readdirSync;
+var statSync = require('fs').statSync;
+var watchFile = require('fs').watchFile;
+
+/**
+ * Ignored directories.
+ */
+
+var ignore = ['node_modules', '.git'];
+
+exports.inherits = require('util').inherits;
+
+/**
+ * Escape special characters in the given string of html.
+ *
+ * @api private
+ * @param  {string} html
+ * @return {string}
+ */
+exports.escape = function(html) {
+  return String(html)
+    .replace(/&/g, '&amp;')
+    .replace(/"/g, '&quot;')
+    .replace(/</g, '&lt;')
+    .replace(/>/g, '&gt;');
+};
+
+/**
+ * Array#forEach (<=IE8)
+ *
+ * @api private
+ * @param {Array} arr
+ * @param {Function} fn
+ * @param {Object} scope
+ */
+exports.forEach = function(arr, fn, scope) {
+  for (var i = 0, l = arr.length; i < l; i++) {
+    fn.call(scope, arr[i], i);
+  }
+};
+
+/**
+ * Test if the given obj is type of string.
+ *
+ * @api private
+ * @param {Object} obj
+ * @return {boolean}
+ */
+exports.isString = function(obj) {
+  return typeof obj === 'string';
+};
+
+/**
+ * Array#map (<=IE8)
+ *
+ * @api private
+ * @param {Array} arr
+ * @param {Function} fn
+ * @param {Object} scope
+ * @return {Array}
+ */
+exports.map = function(arr, fn, scope) {
+  var result = [];
+  for (var i = 0, l = arr.length; i < l; i++) {
+    result.push(fn.call(scope, arr[i], i, arr));
+  }
+  return result;
+};
+
+/**
+ * Array#indexOf (<=IE8)
+ *
+ * @api private
+ * @param {Array} arr
+ * @param {Object} obj to find index of
+ * @param {number} start
+ * @return {number}
+ */
+exports.indexOf = function(arr, obj, start) {
+  for (var i = start || 0, l = arr.length; i < l; i++) {
+    if (arr[i] === obj) {
+      return i;
+    }
+  }
+  return -1;
+};
+
+/**
+ * Array#reduce (<=IE8)
+ *
+ * @api private
+ * @param {Array} arr
+ * @param {Function} fn
+ * @param {Object} val Initial value.
+ * @return {*}
+ */
+exports.reduce = function(arr, fn, val) {
+  var rval = val;
+
+  for (var i = 0, l = arr.length; i < l; i++) {
+    rval = fn(rval, arr[i], i, arr);
+  }
+
+  return rval;
+};
+
+/**
+ * Array#filter (<=IE8)
+ *
+ * @api private
+ * @param {Array} arr
+ * @param {Function} fn
+ * @return {Array}
+ */
+exports.filter = function(arr, fn) {
+  var ret = [];
+
+  for (var i = 0, l = arr.length; i < l; i++) {
+    var val = arr[i];
+    if (fn(val, i, arr)) {
+      ret.push(val);
+    }
+  }
+
+  return ret;
+};
+
+/**
+ * Object.keys (<=IE8)
+ *
+ * @api private
+ * @param {Object} obj
+ * @return {Array} keys
+ */
+exports.keys = typeof Object.keys === 'function' ? Object.keys : function(obj) {
+  var keys = [];
+  var has = Object.prototype.hasOwnProperty; // for `window` on <=IE8
+
+  for (var key in obj) {
+    if (has.call(obj, key)) {
+      keys.push(key);
+    }
+  }
+
+  return keys;
+};
+
+/**
+ * Watch the given `files` for changes
+ * and invoke `fn(file)` on modification.
+ *
+ * @api private
+ * @param {Array} files
+ * @param {Function} fn
+ */
+exports.watch = function(files, fn) {
+  var options = { interval: 100 };
+  files.forEach(function(file) {
+    debug('file %s', file);
+    watchFile(file, options, function(curr, prev) {
+      if (prev.mtime < curr.mtime) {
+        fn(file);
+      }
+    });
+  });
+};
+
+/**
+ * Array.isArray (<=IE8)
+ *
+ * @api private
+ * @param {Object} obj
+ * @return {Boolean}
+ */
+var isArray = typeof Array.isArray === 'function' ? Array.isArray : function(obj) {
+  return Object.prototype.toString.call(obj) === '[object Array]';
+};
+
+/**
+ * Buffer.prototype.toJSON polyfill.
+ *
+ * @type {Function}
+ */
+if (typeof Buffer !== 'undefined' && Buffer.prototype) {
+  Buffer.prototype.toJSON = Buffer.prototype.toJSON || function() {
+    return Array.prototype.slice.call(this, 0);
+  };
+}
+
+/**
+ * Ignored files.
+ *
+ * @api private
+ * @param {string} path
+ * @return {boolean}
+ */
+function ignored(path) {
+  return !~ignore.indexOf(path);
+}
+
+/**
+ * Lookup files in the given `dir`.
+ *
+ * @api private
+ * @param {string} dir
+ * @param {string[]} [ext=['.js']]
+ * @param {Array} [ret=[]]
+ * @return {Array}
+ */
+exports.files = function(dir, ext, ret) {
+  ret = ret || [];
+  ext = ext || ['js'];
+
+  var re = new RegExp('\\.(' + ext.join('|') + ')$');
+
+  readdirSync(dir)
+    .filter(ignored)
+    .forEach(function(path) {
+      path = join(dir, path);
+      if (statSync(path).isDirectory()) {
+        exports.files(path, ext, ret);
+      } else if (path.match(re)) {
+        ret.push(path);
+      }
+    });
+
+  return ret;
+};
+
+/**
+ * Compute a slug from the given `str`.
+ *
+ * @api private
+ * @param {string} str
+ * @return {string}
+ */
+exports.slug = function(str) {
+  return str
+    .toLowerCase()
+    .replace(/ +/g, '-')
+    .replace(/[^-\w]/g, '');
+};
+
+/**
+ * Strip the function definition from `str`, and re-indent for pre whitespace.
+ *
+ * @param {string} str
+ * @return {string}
+ */
+exports.clean = function(str) {
+  str = str
+    .replace(/\r\n?|[\n\u2028\u2029]/g, '\n').replace(/^\uFEFF/, '')
+    .replace(/^function *\(.*\)\s*{|\(.*\) *=> *{?/, '')
+    .replace(/\s+\}$/, '');
+
+  var spaces = str.match(/^\n?( *)/)[1].length;
+  var tabs = str.match(/^\n?(\t*)/)[1].length;
+  var re = new RegExp('^\n?' + (tabs ? '\t' : ' ') + '{' + (tabs ? tabs : spaces) + '}', 'gm');
+
+  str = str.replace(re, '');
+
+  return exports.trim(str);
+};
+
+/**
+ * Trim the given `str`.
+ *
+ * @api private
+ * @param {string} str
+ * @return {string}
+ */
+exports.trim = function(str) {
+  return str.replace(/^\s+|\s+$/g, '');
+};
+
+/**
+ * Parse the given `qs`.
+ *
+ * @api private
+ * @param {string} qs
+ * @return {Object}
+ */
+exports.parseQuery = function(qs) {
+  return exports.reduce(qs.replace('?', '').split('&'), function(obj, pair) {
+    var i = pair.indexOf('=');
+    var key = pair.slice(0, i);
+    var val = pair.slice(++i);
+
+    obj[key] = decodeURIComponent(val);
+    return obj;
+  }, {});
+};
+
+/**
+ * Highlight the given string of `js`.
+ *
+ * @api private
+ * @param {string} js
+ * @return {string}
+ */
+function highlight(js) {
+  return js
+    .replace(/</g, '&lt;')
+    .replace(/>/g, '&gt;')
+    .replace(/\/\/(.*)/gm, '<span class="comment">//$1</span>')
+    .replace(/('.*?')/gm, '<span class="string">$1</span>')
+    .replace(/(\d+\.\d+)/gm, '<span class="number">$1</span>')
+    .replace(/(\d+)/gm, '<span class="number">$1</span>')
+    .replace(/\bnew[ \t]+(\w+)/gm, '<span class="keyword">new</span> <span class="init">$1</span>')
+    .replace(/\b(function|new|throw|return|var|if|else)\b/gm, '<span class="keyword">$1</span>');
+}
+
+/**
+ * Highlight the contents of tag `name`.
+ *
+ * @api private
+ * @param {string} name
+ */
+exports.highlightTags = function(name) {
+  var code = document.getElementById('mocha').getElementsByTagName(name);
+  for (var i = 0, len = code.length; i < len; ++i) {
+    code[i].innerHTML = highlight(code[i].innerHTML);
+  }
+};
+
+/**
+ * If a value could have properties, and has none, this function is called,
+ * which returns a string representation of the empty value.
+ *
+ * Functions w/ no properties return `'[Function]'`
+ * Arrays w/ length === 0 return `'[]'`
+ * Objects w/ no properties return `'{}'`
+ * All else: return result of `value.toString()`
+ *
+ * @api private
+ * @param {*} value The value to inspect.
+ * @param {string} [type] The type of the value, if known.
+ * @returns {string}
+ */
+function emptyRepresentation(value, type) {
+  type = type || exports.type(value);
+
+  switch (type) {
+    case 'function':
+      return '[Function]';
+    case 'object':
+      return '{}';
+    case 'array':
+      return '[]';
+    default:
+      return value.toString();
+  }
+}
+
+/**
+ * Takes some variable and asks `Object.prototype.toString()` what it thinks it
+ * is.
+ *
+ * @api private
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString
+ * @param {*} value The value to test.
+ * @returns {string}
+ * @example
+ * type({}) // 'object'
+ * type([]) // 'array'
+ * type(1) // 'number'
+ * type(false) // 'boolean'
+ * type(Infinity) // 'number'
+ * type(null) // 'null'
+ * type(new Date()) // 'date'
+ * type(/foo/) // 'regexp'
+ * type('type') // 'string'
+ * type(global) // 'global'
+ */
+exports.type = function type(value) {
+  if (value === undefined) {
+    return 'undefined';
+  } else if (value === null) {
+    return 'null';
+  } else if (typeof Buffer !== 'undefined' && Buffer.isBuffer(value)) {
+    return 'buffer';
+  }
+  return Object.prototype.toString.call(value)
+    .replace(/^\[.+\s(.+?)\]$/, '$1')
+    .toLowerCase();
+};
+
+/**
+ * Stringify `value`. Different behavior depending on type of value:
+ *
+ * - If `value` is undefined or null, return `'[undefined]'` or `'[null]'`, respectively.
+ * - If `value` is not an object, function or array, return result of `value.toString()` wrapped in double-quotes.
+ * - If `value` is an *empty* object, function, or array, return result of function
+ *   {@link emptyRepresentation}.
+ * - If `value` has properties, call {@link exports.canonicalize} on it, then return result of
+ *   JSON.stringify().
+ *
+ * @api private
+ * @see exports.type
+ * @param {*} value
+ * @return {string}
+ */
+exports.stringify = function(value) {
+  var type = exports.type(value);
+
+  if (!~exports.indexOf(['object', 'array', 'function'], type)) {
+    if (type !== 'buffer') {
+      return jsonStringify(value);
+    }
+    var json = value.toJSON();
+    // Based on the toJSON result
+    return jsonStringify(json.data && json.type ? json.data : json, 2)
+      .replace(/,(\n|$)/g, '$1');
+  }
+
+  for (var prop in value) {
+    if (Object.prototype.hasOwnProperty.call(value, prop)) {
+      return jsonStringify(exports.canonicalize(value), 2).replace(/,(\n|$)/g, '$1');
+    }
+  }
+
+  return emptyRepresentation(value, type);
+};
+
+/**
+ * like JSON.stringify but more sense.
+ *
+ * @api private
+ * @param {Object}  object
+ * @param {number=} spaces
+ * @param {number=} depth
+ * @returns {*}
+ */
+function jsonStringify(object, spaces, depth) {
+  if (typeof spaces === 'undefined') {
+    // primitive types
+    return _stringify(object);
+  }
+
+  depth = depth || 1;
+  var space = spaces * depth;
+  var str = isArray(object) ? '[' : '{';
+  var end = isArray(object) ? ']' : '}';
+  var length = object.length || exports.keys(object).length;
+  // `.repeat()` polyfill
+  function repeat(s, n) {
+    return new Array(n).join(s);
+  }
+
+  function _stringify(val) {
+    switch (exports.type(val)) {
+      case 'null':
+      case 'undefined':
+        val = '[' + val + ']';
+        break;
+      case 'array':
+      case 'object':
+        val = jsonStringify(val, spaces, depth + 1);
+        break;
+      case 'boolean':
+      case 'regexp':
+      case 'number':
+        val = val === 0 && (1 / val) === -Infinity // `-0`
+          ? '-0'
+          : val.toString();
+        break;
+      case 'date':
+        var sDate = isNaN(val.getTime())        // Invalid date
+          ? val.toString()
+          : val.toISOString();
+        val = '[Date: ' + sDate + ']';
+        break;
+      case 'buffer':
+        var json = val.toJSON();
+        // Based on the toJSON result
+        json = json.data && json.type ? json.data : json;
+        val = '[Buffer: ' + jsonStringify(json, 2, depth + 1) + ']';
+        break;
+      default:
+        val = (val === '[Function]' || val === '[Circular]')
+          ? val
+          : JSON.stringify(val); // string
+    }
+    return val;
+  }
+
+  for (var i in object) {
+    if (!object.hasOwnProperty(i)) {
+      continue; // not my business
+    }
+    --length;
+    str += '\n ' + repeat(' ', space)
+      + (isArray(object) ? '' : '"' + i + '": ') // key
+      + _stringify(object[i])                     // value
+      + (length ? ',' : '');                     // comma
+  }
+
+  return str
+    // [], {}
+    + (str.length !== 1 ? '\n' + repeat(' ', --space) + end : end);
+}
+
+/**
+ * Test if a value is a buffer.
+ *
+ * @api private
+ * @param {*} value The value to test.
+ * @return {boolean} True if `value` is a buffer, otherwise false
+ */
+exports.isBuffer = function(value) {
+  return typeof Buffer !== 'undefined' && Buffer.isBuffer(value);
+};
+
+/**
+ * Return a new Thing that has the keys in sorted order. Recursive.
+ *
+ * If the Thing...
+ * - has already been seen, return string `'[Circular]'`
+ * - is `undefined`, return string `'[undefined]'`
+ * - is `null`, return value `null`
+ * - is some other primitive, return the value
+ * - is not a primitive or an `Array`, `Object`, or `Function`, return the value of the Thing's `toString()` method
+ * - is a non-empty `Array`, `Object`, or `Function`, return the result of calling this function again.
+ * - is an empty `Array`, `Object`, or `Function`, return the result of calling `emptyRepresentation()`
+ *
+ * @api private
+ * @see {@link exports.stringify}
+ * @param {*} value Thing to inspect.  May or may not have properties.
+ * @param {Array} [stack=[]] Stack of seen values
+ * @return {(Object|Array|Function|string|undefined)}
+ */
+exports.canonicalize = function(value, stack) {
+  var canonicalizedObj;
+  /* eslint-disable no-unused-vars */
+  var prop;
+  /* eslint-enable no-unused-vars */
+  var type = exports.type(value);
+  function withStack(value, fn) {
+    stack.push(value);
+    fn();
+    stack.pop();
+  }
+
+  stack = stack || [];
+
+  if (exports.indexOf(stack, value) !== -1) {
+    return '[Circular]';
+  }
+
+  switch (type) {
+    case 'undefined':
+    case 'buffer':
+    case 'null':
+      canonicalizedObj = value;
+      break;
+    case 'array':
+      withStack(value, function() {
+        canonicalizedObj = exports.map(value, function(item) {
+          return exports.canonicalize(item, stack);
+        });
+      });
+      break;
+    case 'function':
+      /* eslint-disable guard-for-in */
+      for (prop in value) {
+        canonicalizedObj = {};
+        break;
+      }
+      /* eslint-enable guard-for-in */
+      if (!canonicalizedObj) {
+        canonicalizedObj = emptyRepresentation(value, type);
+        break;
+      }
+    /* falls through */
+    case 'object':
+      canonicalizedObj = canonicalizedObj || {};
+      withStack(value, function() {
+        exports.forEach(exports.keys(value).sort(), function(key) {
+          canonicalizedObj[key] = exports.canonicalize(value[key], stack);
+        });
+      });
+      break;
+    case 'date':
+    case 'number':
+    case 'regexp':
+    case 'boolean':
+      canonicalizedObj = value;
+      break;
+    default:
+      canonicalizedObj = value.toString();
+  }
+
+  return canonicalizedObj;
+};
+
+/**
+ * Lookup file names at the given `path`.
+ *
+ * @api public
+ * @param {string} path Base path to start searching from.
+ * @param {string[]} extensions File extensions to look for.
+ * @param {boolean} recursive Whether or not to recurse into subdirectories.
+ * @return {string[]} An array of paths.
+ */
+exports.lookupFiles = function lookupFiles(path, extensions, recursive) {
+  var files = [];
+  var re = new RegExp('\\.(' + extensions.join('|') + ')$');
+
+  if (!exists(path)) {
+    if (exists(path + '.js')) {
+      path += '.js';
+    } else {
+      files = glob.sync(path);
+      if (!files.length) {
+        throw new Error("cannot resolve path (or pattern) '" + path + "'");
+      }
+      return files;
+    }
+  }
+
+  try {
+    var stat = statSync(path);
+    if (stat.isFile()) {
+      return path;
+    }
+  } catch (err) {
+    // ignore error
+    return;
+  }
+
+  readdirSync(path).forEach(function(file) {
+    file = join(path, file);
+    try {
+      var stat = statSync(file);
+      if (stat.isDirectory()) {
+        if (recursive) {
+          files = files.concat(lookupFiles(file, extensions, recursive));
+        }
+        return;
+      }
+    } catch (err) {
+      // ignore error
+      return;
+    }
+    if (!stat.isFile() || !re.test(file) || basename(file)[0] === '.') {
+      return;
+    }
+    files.push(file);
+  });
+
+  return files;
+};
+
+/**
+ * Generate an undefined error with a message warning the user.
+ *
+ * @return {Error}
+ */
+
+exports.undefinedError = function() {
+  return new Error('Caught undefined error, did you throw without specifying what?');
+};
+
+/**
+ * Generate an undefined error if `err` is not defined.
+ *
+ * @param {Error} err
+ * @return {Error}
+ */
+
+exports.getError = function(err) {
+  return err || exports.undefinedError();
+};
+
+/**
+ * @summary
+ * This Filter based on `mocha-clean` module.(see: `github.com/rstacruz/mocha-clean`)
+ * @description
+ * When invoking this function you get a filter function that get the Error.stack as an input,
+ * and return a prettify output.
+ * (i.e: strip Mocha and internal node functions from stack trace).
+ * @returns {Function}
+ */
+exports.stackTraceFilter = function() {
+  // TODO: Replace with `process.browser`
+  var slash = '/';
+  var is = typeof document === 'undefined' ? { node: true } : { browser: true };
+  var cwd = is.node
+      ? process.cwd() + slash
+      : (typeof location === 'undefined' ? window.location : location).href.replace(/\/[^\/]*$/, '/');
+
+  function isMochaInternal(line) {
+    return (~line.indexOf('node_modules' + slash + 'mocha' + slash))
+      || (~line.indexOf('components' + slash + 'mochajs' + slash))
+      || (~line.indexOf('components' + slash + 'mocha' + slash))
+      || (~line.indexOf(slash + 'mocha.js'));
+  }
+
+  function isNodeInternal(line) {
+    return (~line.indexOf('(timers.js:'))
+      || (~line.indexOf('(events.js:'))
+      || (~line.indexOf('(node.js:'))
+      || (~line.indexOf('(module.js:'))
+      || (~line.indexOf('GeneratorFunctionPrototype.next (native)'))
+      || false;
+  }
+
+  return function(stack) {
+    stack = stack.split('\n');
+
+    stack = exports.reduce(stack, function(list, line) {
+      if (isMochaInternal(line)) {
+        return list;
+      }
+
+      if (is.node && isNodeInternal(line)) {
+        return list;
+      }
+
+      // Clean up cwd(absolute)
+      list.push(line.replace(cwd, ''));
+      return list;
+    }, []);
+
+    return stack.join('\n');
+  };
+};
+
+}).call(this,require('_process'),require("buffer").Buffer)
+},{"_process":51,"buffer":43,"debug":2,"fs":41,"glob":41,"path":41,"util":66}],40:[function(require,module,exports){
+(function (process){
+var WritableStream = require('stream').Writable
+var inherits = require('util').inherits
+
+module.exports = BrowserStdout
+
+
+inherits(BrowserStdout, WritableStream)
+
+function BrowserStdout(opts) {
+  if (!(this instanceof BrowserStdout)) return new BrowserStdout(opts)
+
+  opts = opts || {}
+  WritableStream.call(this, opts)
+  this.label = (opts.label !== undefined) ? opts.label : 'stdout'
+}
+
+BrowserStdout.prototype._write = function(chunks, encoding, cb) {
+  var output = chunks.toString ? chunks.toString() : chunks
+  if (this.label === false) {
+    console.log(output)
+  } else {
+    console.log(this.label+':', output)
+  }
+  process.nextTick(cb)
+}
+
+}).call(this,require('_process'))
+},{"_process":51,"stream":63,"util":66}],41:[function(require,module,exports){
+
+},{}],42:[function(require,module,exports){
+arguments[4][41][0].apply(exports,arguments)
+},{"dup":41}],43:[function(require,module,exports){
+/*!
+ * The buffer module from node.js, for the browser.
+ *
+ * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
+ * @license  MIT
+ */
+
+var base64 = require('base64-js')
+var ieee754 = require('ieee754')
+var isArray = require('is-array')
+
+exports.Buffer = Buffer
+exports.SlowBuffer = SlowBuffer
+exports.INSPECT_MAX_BYTES = 50
+Buffer.poolSize = 8192 // not used by this implementation
+
+var rootParent = {}
+
+/**
+ * If `Buffer.TYPED_ARRAY_SUPPORT`:
+ *   === true    Use Uint8Array implementation (fastest)
+ *   === false   Use Object implementation (most compatible, even IE6)
+ *
+ * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
+ * Opera 11.6+, iOS 4.2+.
+ *
+ * Due to various browser bugs, sometimes the Object implementation will be used even
+ * when the browser supports typed arrays.
+ *
+ * Note:
+ *
+ *   - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
+ *     See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
+ *
+ *   - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property
+ *     on objects.
+ *
+ *   - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
+ *
+ *   - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
+ *     incorrect length in some situations.
+
+ * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
+ * get the Object implementation, which is slower but behaves correctly.
+ */
+Buffer.TYPED_ARRAY_SUPPORT = (function () {
+  function Bar () {}
+  try {
+    var arr = new Uint8Array(1)
+    arr.foo = function () { return 42 }
+    arr.constructor = Bar
+    return arr.foo() === 42 && // typed array instances can be augmented
+        arr.constructor === Bar && // constructor can be set
+        typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
+        arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
+  } catch (e) {
+    return false
+  }
+})()
+
+function kMaxLength () {
+  return Buffer.TYPED_ARRAY_SUPPORT
+    ? 0x7fffffff
+    : 0x3fffffff
+}
+
+/**
+ * Class: Buffer
+ * =============
+ *
+ * The Buffer constructor returns instances of `Uint8Array` that are augmented
+ * with function properties for all the node `Buffer` API functions. We use
+ * `Uint8Array` so that square bracket notation works as expected -- it returns
+ * a single octet.
+ *
+ * By augmenting the instances, we can avoid modifying the `Uint8Array`
+ * prototype.
+ */
+function Buffer (arg) {
+  if (!(this instanceof Buffer)) {
+    // Avoid going through an ArgumentsAdaptorTrampoline in the common case.
+    if (arguments.length > 1) return new Buffer(arg, arguments[1])
+    return new Buffer(arg)
+  }
+
+  this.length = 0
+  this.parent = undefined
+
+  // Common case.
+  if (typeof arg === 'number') {
+    return fromNumber(this, arg)
+  }
+
+  // Slightly less common case.
+  if (typeof arg === 'string') {
+    return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8')
+  }
+
+  // Unusual.
+  return fromObject(this, arg)
+}
+
+function fromNumber (that, length) {
+  that = allocate(that, length < 0 ? 0 : checked(length) | 0)
+  if (!Buffer.TYPED_ARRAY_SUPPORT) {
+    for (var i = 0; i < length; i++) {
+      that[i] = 0
+    }
+  }
+  return that
+}
+
+function fromString (that, string, encoding) {
+  if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8'
+
+  // Assumption: byteLength() return value is always < kMaxLength.
+  var length = byteLength(string, encoding) | 0
+  that = allocate(that, length)
+
+  that.write(string, encoding)
+  return that
+}
+
+function fromObject (that, object) {
+  if (Buffer.isBuffer(object)) return fromBuffer(that, object)
+
+  if (isArray(object)) return fromArray(that, object)
+
+  if (object == null) {
+    throw new TypeError('must start with number, buffer, array or string')
+  }
+
+  if (typeof ArrayBuffer !== 'undefined') {
+    if (object.buffer instanceof ArrayBuffer) {
+      return fromTypedArray(that, object)
+    }
+    if (object instanceof ArrayBuffer) {
+      return fromArrayBuffer(that, object)
+    }
+  }
+
+  if (object.length) return fromArrayLike(that, object)
+
+  return fromJsonObject(that, object)
+}
+
+function fromBuffer (that, buffer) {
+  var length = checked(buffer.length) | 0
+  that = allocate(that, length)
+  buffer.copy(that, 0, 0, length)
+  return that
+}
+
+function fromArray (that, array) {
+  var length = checked(array.length) | 0
+  that = allocate(that, length)
+  for (var i = 0; i < length; i += 1) {
+    that[i] = array[i] & 255
+  }
+  return that
+}
+
+// Duplicate of fromArray() to keep fromArray() monomorphic.
+function fromTypedArray (that, array) {
+  var length = checked(array.length) | 0
+  that = allocate(that, length)
+  // Truncating the elements is probably not what people expect from typed
+  // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior
+  // of the old Buffer constructor.
+  for (var i = 0; i < length; i += 1) {
+    that[i] = array[i] & 255
+  }
+  return that
+}
+
+function fromArrayBuffer (that, array) {
+  if (Buffer.TYPED_ARRAY_SUPPORT) {
+    // Return an augmented `Uint8Array` instance, for best performance
+    array.byteLength
+    that = Buffer._augment(new Uint8Array(array))
+  } else {
+    // Fallback: Return an object instance of the Buffer class
+    that = fromTypedArray(that, new Uint8Array(array))
+  }
+  return that
+}
+
+function fromArrayLike (that, array) {
+  var length = checked(array.length) | 0
+  that = allocate(that, length)
+  for (var i = 0; i < length; i += 1) {
+    that[i] = array[i] & 255
+  }
+  return that
+}
+
+// Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object.
+// Returns a zero-length buffer for inputs that don't conform to the spec.
+function fromJsonObject (that, object) {
+  var array
+  var length = 0
+
+  if (object.type === 'Buffer' && isArray(object.data)) {
+    array = object.data
+    length = checked(array.length) | 0
+  }
+  that = allocate(that, length)
+
+  for (var i = 0; i < length; i += 1) {
+    that[i] = array[i] & 255
+  }
+  return that
+}
+
+function allocate (that, length) {
+  if (Buffer.TYPED_ARRAY_SUPPORT) {
+    // Return an augmented `Uint8Array` instance, for best performance
+    that = Buffer._augment(new Uint8Array(length))
+  } else {
+    // Fallback: Return an object instance of the Buffer class
+    that.length = length
+    that._isBuffer = true
+  }
+
+  var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1
+  if (fromPool) that.parent = rootParent
+
+  return that
+}
+
+function checked (length) {
+  // Note: cannot use `length < kMaxLength` here because that fails when
+  // length is NaN (which is otherwise coerced to zero.)
+  if (length >= kMaxLength()) {
+    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
+                         'size: 0x' + kMaxLength().toString(16) + ' bytes')
+  }
+  return length | 0
+}
+
+function SlowBuffer (subject, encoding) {
+  if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding)
+
+  var buf = new Buffer(subject, encoding)
+  delete buf.parent
+  return buf
+}
+
+Buffer.isBuffer = function isBuffer (b) {
+  return !!(b != null && b._isBuffer)
+}
+
+Buffer.compare = function compare (a, b) {
+  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
+    throw new TypeError('Arguments must be Buffers')
+  }
+
+  if (a === b) return 0
+
+  var x = a.length
+  var y = b.length
+
+  var i = 0
+  var len = Math.min(x, y)
+  while (i < len) {
+    if (a[i] !== b[i]) break
+
+    ++i
+  }
+
+  if (i !== len) {
+    x = a[i]
+    y = b[i]
+  }
+
+  if (x < y) return -1
+  if (y < x) return 1
+  return 0
+}
+
+Buffer.isEncoding = function isEncoding (encoding) {
+  switch (String(encoding).toLowerCase()) {
+    case 'hex':
+    case 'utf8':
+    case 'utf-8':
+    case 'ascii':
+    case 'binary':
+    case 'base64':
+    case 'raw':
+    case 'ucs2':
+    case 'ucs-2':
+    case 'utf16le':
+    case 'utf-16le':
+      return true
+    default:
+      return false
+  }
+}
+
+Buffer.concat = function concat (list, length) {
+  if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.')
+
+  if (list.length === 0) {
+    return new Buffer(0)
+  }
+
+  var i
+  if (length === undefined) {
+    length = 0
+    for (i = 0; i < list.length; i++) {
+      length += list[i].length
+    }
+  }
+
+  var buf = new Buffer(length)
+  var pos = 0
+  for (i = 0; i < list.length; i++) {
+    var item = list[i]
+    item.copy(buf, pos)
+    pos += item.length
+  }
+  return buf
+}
+
+function byteLength (string, encoding) {
+  if (typeof string !== 'string') string = '' + string
+
+  var len = string.length
+  if (len === 0) return 0
+
+  // Use a for loop to avoid recursion
+  var loweredCase = false
+  for (;;) {
+    switch (encoding) {
+      case 'ascii':
+      case 'binary':
+      // Deprecated
+      case 'raw':
+      case 'raws':
+        return len
+      case 'utf8':
+      case 'utf-8':
+        return utf8ToBytes(string).length
+      case 'ucs2':
+      case 'ucs-2':
+      case 'utf16le':
+      case 'utf-16le':
+        return len * 2
+      case 'hex':
+        return len >>> 1
+      case 'base64':
+        return base64ToBytes(string).length
+      default:
+        if (loweredCase) return utf8ToBytes(string).length // assume utf8
+        encoding = ('' + encoding).toLowerCase()
+        loweredCase = true
+    }
+  }
+}
+Buffer.byteLength = byteLength
+
+// pre-set for values that may exist in the future
+Buffer.prototype.length = undefined
+Buffer.prototype.parent = undefined
+
+function slowToString (encoding, start, end) {
+  var loweredCase = false
+
+  start = start | 0
+  end = end === undefined || end === Infinity ? this.length : end | 0
+
+  if (!encoding) encoding = 'utf8'
+  if (start < 0) start = 0
+  if (end > this.length) end = this.length
+  if (end <= start) return ''
+
+  while (true) {
+    switch (encoding) {
+      case 'hex':
+        return hexSlice(this, start, end)
+
+      case 'utf8':
+      case 'utf-8':
+        return utf8Slice(this, start, end)
+
+      case 'ascii':
+        return asciiSlice(this, start, end)
+
+      case 'binary':
+        return binarySlice(this, start, end)
+
+      case 'base64':
+        return base64Slice(this, start, end)
+
+      case 'ucs2':
+      case 'ucs-2':
+      case 'utf16le':
+      case 'utf-16le':
+        return utf16leSlice(this, start, end)
+
+      default:
+        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
+        encoding = (encoding + '').toLowerCase()
+        loweredCase = true
+    }
+  }
+}
+
+Buffer.prototype.toString = function toString () {
+  var length = this.length | 0
+  if (length === 0) return ''
+  if (arguments.length === 0) return utf8Slice(this, 0, length)
+  return slowToString.apply(this, arguments)
+}
+
+Buffer.prototype.equals = function equals (b) {
+  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
+  if (this === b) return true
+  return Buffer.compare(this, b) === 0
+}
+
+Buffer.prototype.inspect = function inspect () {
+  var str = ''
+  var max = exports.INSPECT_MAX_BYTES
+  if (this.length > 0) {
+    str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
+    if (this.length > max) str += ' ... '
+  }
+  return '<Buffer ' + str + '>'
+}
+
+Buffer.prototype.compare = function compare (b) {
+  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
+  if (this === b) return 0
+  return Buffer.compare(this, b)
+}
+
+Buffer.prototype.indexOf = function indexOf (val, byteOffset) {
+  if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff
+  else if (byteOffset < -0x80000000) byteOffset = -0x80000000
+  byteOffset >>= 0
+
+  if (this.length === 0) return -1
+  if (byteOffset >= this.length) return -1
+
+  // Negative offsets start from the end of the buffer
+  if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0)
+
+  if (typeof val === 'string') {
+    if (val.length === 0) return -1 // special case: looking for empty string always fails
+    return String.prototype.indexOf.call(this, val, byteOffset)
+  }
+  if (Buffer.isBuffer(val)) {
+    return arrayIndexOf(this, val, byteOffset)
+  }
+  if (typeof val === 'number') {
+    if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') {
+      return Uint8Array.prototype.indexOf.call(this, val, byteOffset)
+    }
+    return arrayIndexOf(this, [ val ], byteOffset)
+  }
+
+  function arrayIndexOf (arr, val, byteOffset) {
+    var foundIndex = -1
+    for (var i = 0; byteOffset + i < arr.length; i++) {
+      if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) {
+        if (foundIndex === -1) foundIndex = i
+        if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex
+      } else {
+        foundIndex = -1
+      }
+    }
+    return -1
+  }
+
+  throw new TypeError('val must be string, number or Buffer')
+}
+
+// `get` is deprecated
+Buffer.prototype.get = function get (offset) {
+  console.log('.get() is deprecated. Access using array indexes instead.')
+  return this.readUInt8(offset)
+}
+
+// `set` is deprecated
+Buffer.prototype.set = function set (v, offset) {
+  console.log('.set() is deprecated. Access using array indexes instead.')
+  return this.writeUInt8(v, offset)
+}
+
+function hexWrite (buf, string, offset, length) {
+  offset = Number(offset) || 0
+  var remaining = buf.length - offset
+  if (!length) {
+    length = remaining
+  } else {
+    length = Number(length)
+    if (length > remaining) {
+      length = remaining
+    }
+  }
+
+  // must be an even number of digits
+  var strLen = string.length
+  if (strLen % 2 !== 0) throw new Error('Invalid hex string')
+
+  if (length > strLen / 2) {
+    length = strLen / 2
+  }
+  for (var i = 0; i < length; i++) {
+    var parsed = parseInt(string.substr(i * 2, 2), 16)
+    if (isNaN(parsed)) throw new Error('Invalid hex string')
+    buf[offset + i] = parsed
+  }
+  return i
+}
+
+function utf8Write (buf, string, offset, length) {
+  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
+}
+
+function asciiWrite (buf, string, offset, length) {
+  return blitBuffer(asciiToBytes(string), buf, offset, length)
+}
+
+function binaryWrite (buf, string, offset, length) {
+  return asciiWrite(buf, string, offset, length)
+}
+
+function base64Write (buf, string, offset, length) {
+  return blitBuffer(base64ToBytes(string), buf, offset, length)
+}
+
+function ucs2Write (buf, string, offset, length) {
+  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
+}
+
+Buffer.prototype.write = function write (string, offset, length, encoding) {
+  // Buffer#write(string)
+  if (offset === undefined) {
+    encoding = 'utf8'
+    length = this.length
+    offset = 0
+  // Buffer#write(string, encoding)
+  } else if (length === undefined && typeof offset === 'string') {
+    encoding = offset
+    length = this.length
+    offset = 0
+  // Buffer#write(string, offset[, length][, encoding])
+  } else if (isFinite(offset)) {
+    offset = offset | 0
+    if (isFinite(length)) {
+      length = length | 0
+      if (encoding === undefined) encoding = 'utf8'
+    } else {
+      encoding = length
+      length = undefined
+    }
+  // legacy write(string, encoding, offset, length) - remove in v0.13
+  } else {
+    var swap = encoding
+    encoding = offset
+    offset = length | 0
+    length = swap
+  }
+
+  var remaining = this.length - offset
+  if (length === undefined || length > remaining) length = remaining
+
+  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
+    throw new RangeError('attempt to write outside buffer bounds')
+  }
+
+  if (!encoding) encoding = 'utf8'
+
+  var loweredCase = false
+  for (;;) {
+    switch (encoding) {
+      case 'hex':
+        return hexWrite(this, string, offset, length)
+
+      case 'utf8':
+      case 'utf-8':
+        return utf8Write(this, string, offset, length)
+
+      case 'ascii':
+        return asciiWrite(this, string, offset, length)
+
+      case 'binary':
+        return binaryWrite(this, string, offset, length)
+
+      case 'base64':
+        // Warning: maxLength not taken into account in base64Write
+        return base64Write(this, string, offset, length)
+
+      case 'ucs2':
+      case 'ucs-2':
+      case 'utf16le':
+      case 'utf-16le':
+        return ucs2Write(this, string, offset, length)
+
+      default:
+        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
+        encoding = ('' + encoding).toLowerCase()
+        loweredCase = true
+    }
+  }
+}
+
+Buffer.prototype.toJSON = function toJSON () {
+  return {
+    type: 'Buffer',
+    data: Array.prototype.slice.call(this._arr || this, 0)
+  }
+}
+
+function base64Slice (buf, start, end) {
+  if (start === 0 && end === buf.length) {
+    return base64.fromByteArray(buf)
+  } else {
+    return base64.fromByteArray(buf.slice(start, end))
+  }
+}
+
+function utf8Slice (buf, start, end) {
+  end = Math.min(buf.length, end)
+  var res = []
+
+  var i = start
+  while (i < end) {
+    var firstByte = buf[i]
+    var codePoint = null
+    var bytesPerSequence = (firstByte > 0xEF) ? 4
+      : (firstByte > 0xDF) ? 3
+      : (firstByte > 0xBF) ? 2
+      : 1
+
+    if (i + bytesPerSequence <= end) {
+      var secondByte, thirdByte, fourthByte, tempCodePoint
+
+      switch (bytesPerSequence) {
+        case 1:
+          if (firstByte < 0x80) {
+            codePoint = firstByte
+          }
+          break
+        case 2:
+          secondByte = buf[i + 1]
+          if ((secondByte & 0xC0) === 0x80) {
+            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
+            if (tempCodePoint > 0x7F) {
+              codePoint = tempCodePoint
+            }
+          }
+          break
+        case 3:
+          secondByte = buf[i + 1]
+          thirdByte = buf[i + 2]
+          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
+            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
+            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
+              codePoint = tempCodePoint
+            }
+          }
+          break
+        case 4:
+          secondByte = buf[i + 1]
+          thirdByte = buf[i + 2]
+          fourthByte = buf[i + 3]
+          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
+            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
+            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
+              codePoint = tempCodePoint
+            }
+          }
+      }
+    }
+
+    if (codePoint === null) {
+      // we did not generate a valid codePoint so insert a
+      // replacement char (U+FFFD) and advance only 1 byte
+      codePoint = 0xFFFD
+      bytesPerSequence = 1
+    } else if (codePoint > 0xFFFF) {
+      // encode to utf16 (surrogate pair dance)
+      codePoint -= 0x10000
+      res.push(codePoint >>> 10 & 0x3FF | 0xD800)
+      codePoint = 0xDC00 | codePoint & 0x3FF
+    }
+
+    res.push(codePoint)
+    i += bytesPerSequence
+  }
+
+  return decodeCodePointsArray(res)
+}
+
+// Based on http://stackoverflow.com/a/22747272/680742, the browser with
+// the lowest limit is Chrome, with 0x10000 args.
+// We go 1 magnitude less, for safety
+var MAX_ARGUMENTS_LENGTH = 0x1000
+
+function decodeCodePointsArray (codePoints) {
+  var len = codePoints.length
+  if (len <= MAX_ARGUMENTS_LENGTH) {
+    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
+  }
+
+  // Decode in chunks to avoid "call stack size exceeded".
+  var res = ''
+  var i = 0
+  while (i < len) {
+    res += String.fromCharCode.apply(
+      String,
+      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
+    )
+  }
+  return res
+}
+
+function asciiSlice (buf, start, end) {
+  var ret = ''
+  end = Math.min(buf.length, end)
+
+  for (var i = start; i < end; i++) {
+    ret += String.fromCharCode(buf[i] & 0x7F)
+  }
+  return ret
+}
+
+function binarySlice (buf, start, end) {
+  var ret = ''
+  end = Math.min(buf.length, end)
+
+  for (var i = start; i < end; i++) {
+    ret += String.fromCharCode(buf[i])
+  }
+  return ret
+}
+
+function hexSlice (buf, start, end) {
+  var len = buf.length
+
+  if (!start || start < 0) start = 0
+  if (!end || end < 0 || end > len) end = len
+
+  var out = ''
+  for (var i = start; i < end; i++) {
+    out += toHex(buf[i])
+  }
+  return out
+}
+
+function utf16leSlice (buf, start, end) {
+  var bytes = buf.slice(start, end)
+  var res = ''
+  for (var i = 0; i < bytes.length; i += 2) {
+    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
+  }
+  return res
+}
+
+Buffer.prototype.slice = function slice (start, end) {
+  var len = this.length
+  start = ~~start
+  end = end === undefined ? len : ~~end
+
+  if (start < 0) {
+    start += len
+    if (start < 0) start = 0
+  } else if (start > len) {
+    start = len
+  }
+
+  if (end < 0) {
+    end += len
+    if (end < 0) end = 0
+  } else if (end > len) {
+    end = len
+  }
+
+  if (end < start) end = start
+
+  var newBuf
+  if (Buffer.TYPED_ARRAY_SUPPORT) {
+    newBuf = Buffer._augment(this.subarray(start, end))
+  } else {
+    var sliceLen = end - start
+    newBuf = new Buffer(sliceLen, undefined)
+    for (var i = 0; i < sliceLen; i++) {
+      newBuf[i] = this[i + start]
+    }
+  }
+
+  if (newBuf.length) newBuf.parent = this.parent || this
+
+  return newBuf
+}
+
+/*
+ * Need to make sure that buffer isn't trying to write out of bounds.
+ */
+function checkOffset (offset, ext, length) {
+  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
+  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
+}
+
+Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
+  offset = offset | 0
+  byteLength = byteLength | 0
+  if (!noAssert) checkOffset(offset, byteLength, this.length)
+
+  var val = this[offset]
+  var mul = 1
+  var i = 0
+  while (++i < byteLength && (mul *= 0x100)) {
+    val += this[offset + i] * mul
+  }
+
+  return val
+}
+
+Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
+  offset = offset | 0
+  byteLength = byteLength | 0
+  if (!noAssert) {
+    checkOffset(offset, byteLength, this.length)
+  }
+
+  var val = this[offset + --byteLength]
+  var mul = 1
+  while (byteLength > 0 && (mul *= 0x100)) {
+    val += this[offset + --byteLength] * mul
+  }
+
+  return val
+}
+
+Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 1, this.length)
+  return this[offset]
+}
+
+Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 2, this.length)
+  return this[offset] | (this[offset + 1] << 8)
+}
+
+Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 2, this.length)
+  return (this[offset] << 8) | this[offset + 1]
+}
+
+Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 4, this.length)
+
+  return ((this[offset]) |
+      (this[offset + 1] << 8) |
+      (this[offset + 2] << 16)) +
+      (this[offset + 3] * 0x1000000)
+}
+
+Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 4, this.length)
+
+  return (this[offset] * 0x1000000) +
+    ((this[offset + 1] << 16) |
+    (this[offset + 2] << 8) |
+    this[offset + 3])
+}
+
+Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
+  offset = offset | 0
+  byteLength = byteLength | 0
+  if (!noAssert) checkOffset(offset, byteLength, this.length)
+
+  var val = this[offset]
+  var mul = 1
+  var i = 0
+  while (++i < byteLength && (mul *= 0x100)) {
+    val += this[offset + i] * mul
+  }
+  mul *= 0x80
+
+  if (val >= mul) val -= Math.pow(2, 8 * byteLength)
+
+  return val
+}
+
+Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
+  offset = offset | 0
+  byteLength = byteLength | 0
+  if (!noAssert) checkOffset(offset, byteLength, this.length)
+
+  var i = byteLength
+  var mul = 1
+  var val = this[offset + --i]
+  while (i > 0 && (mul *= 0x100)) {
+    val += this[offset + --i] * mul
+  }
+  mul *= 0x80
+
+  if (val >= mul) val -= Math.pow(2, 8 * byteLength)
+
+  return val
+}
+
+Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 1, this.length)
+  if (!(this[offset] & 0x80)) return (this[offset])
+  return ((0xff - this[offset] + 1) * -1)
+}
+
+Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 2, this.length)
+  var val = this[offset] | (this[offset + 1] << 8)
+  return (val & 0x8000) ? val | 0xFFFF0000 : val
+}
+
+Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 2, this.length)
+  var val = this[offset + 1] | (this[offset] << 8)
+  return (val & 0x8000) ? val | 0xFFFF0000 : val
+}
+
+Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 4, this.length)
+
+  return (this[offset]) |
+    (this[offset + 1] << 8) |
+    (this[offset + 2] << 16) |
+    (this[offset + 3] << 24)
+}
+
+Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 4, this.length)
+
+  return (this[offset] << 24) |
+    (this[offset + 1] << 16) |
+    (this[offset + 2] << 8) |
+    (this[offset + 3])
+}
+
+Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 4, this.length)
+  return ieee754.read(this, offset, true, 23, 4)
+}
+
+Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 4, this.length)
+  return ieee754.read(this, offset, false, 23, 4)
+}
+
+Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 8, this.length)
+  return ieee754.read(this, offset, true, 52, 8)
+}
+
+Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
+  if (!noAssert) checkOffset(offset, 8, this.length)
+  return ieee754.read(this, offset, false, 52, 8)
+}
+
+function checkInt (buf, value, offset, ext, max, min) {
+  if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance')
+  if (value > max || value < min) throw new RangeError('value is out of bounds')
+  if (offset + ext > buf.length) throw new RangeError('index out of range')
+}
+
+Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
+  value = +value
+  offset = offset | 0
+  byteLength = byteLength | 0
+  if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
+
+  var mul = 1
+  var i = 0
+  this[offset] = value & 0xFF
+  while (++i < byteLength && (mul *= 0x100)) {
+    this[offset + i] = (value / mul) & 0xFF
+  }
+
+  return offset + byteLength
+}
+
+Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
+  value = +value
+  offset = offset | 0
+  byteLength = byteLength | 0
+  if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
+
+  var i = byteLength - 1
+  var mul = 1
+  this[offset + i] = value & 0xFF
+  while (--i >= 0 && (mul *= 0x100)) {
+    this[offset + i] = (value / mul) & 0xFF
+  }
+
+  return offset + byteLength
+}
+
+Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
+  value = +value
+  offset = offset | 0
+  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
+  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
+  this[offset] = value
+  return offset + 1
+}
+
+function objectWriteUInt16 (buf, value, offset, littleEndian) {
+  if (value < 0) value = 0xffff + value + 1
+  for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) {
+    buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
+      (littleEndian ? i : 1 - i) * 8
+  }
+}
+
+Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
+  value = +value
+  offset = offset | 0
+  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
+  if (Buffer.TYPED_ARRAY_SUPPORT) {
+    this[offset] = value
+    this[offset + 1] = (value >>> 8)
+  } else {
+    objectWriteUInt16(this, value, offset, true)
+  }
+  return offset + 2
+}
+
+Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
+  value = +value
+  offset = offset | 0
+  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
+  if (Buffer.TYPED_ARRAY_SUPPORT) {
+    this[offset] = (value >>> 8)
+    this[offset + 1] = value
+  } else {
+    objectWriteUInt16(this, value, offset, false)
+  }
+  return offset + 2
+}
+
+function objectWriteUInt32 (buf, value, offset, littleEndian) {
+  if (value < 0) value = 0xffffffff + value + 1
+  for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) {
+    buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
+  }
+}
+
+Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
+  value = +value
+  offset = offset | 0
+  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
+  if (Buffer.TYPED_ARRAY_SUPPORT) {
+    this[offset + 3] = (value >>> 24)
+    this[offset + 2] = (value >>> 16)
+    this[offset + 1] = (value >>> 8)
+    this[offset] = value
+  } else {
+    objectWriteUInt32(this, value, offset, true)
+  }
+  return offset + 4
+}
+
+Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
+  value = +value
+  offset = offset | 0
+  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
+  if (Buffer.TYPED_ARRAY_SUPPORT) {
+    this[offset] = (value >>> 24)
+    this[offset + 1] = (value >>> 16)
+    this[offset + 2] = (value >>> 8)
+    this[offset + 3] = value
+  } else {
+    objectWriteUInt32(this, value, offset, false)
+  }
+  return offset + 4
+}
+
+Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
+  value = +value
+  offset = offset | 0
+  if (!noAssert) {
+    var limit = Math.pow(2, 8 * byteLength - 1)
+
+    checkInt(this, value, offset, byteLength, limit - 1, -limit)
+  }
+
+  var i = 0
+  var mul = 1
+  var sub = value < 0 ? 1 : 0
+  this[offset] = value & 0xFF
+  while (++i < byteLength && (mul *= 0x100)) {
+    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
+  }
+
+  return offset + byteLength
+}
+
+Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
+  value = +value
+  offset = offset | 0
+  if (!noAssert) {
+    var limit = Math.pow(2, 8 * byteLength - 1)
+
+    checkInt(this, value, offset, byteLength, limit - 1, -limit)
+  }
+
+  var i = byteLength - 1
+  var mul = 1
+  var sub = value < 0 ? 1 : 0
+  this[offset + i] = value & 0xFF
+  while (--i >= 0 && (mul *= 0x100)) {
+    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
+  }
+
+  return offset + byteLength
+}
+
+Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
+  value = +value
+  offset = offset | 0
+  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
+  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
+  if (value < 0) value = 0xff + value + 1
+  this[offset] = value
+  return offset + 1
+}
+
+Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
+  value = +value
+  offset = offset | 0
+  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
+  if (Buffer.TYPED_ARRAY_SUPPORT) {
+    this[offset] = value
+    this[offset + 1] = (value >>> 8)
+  } else {
+    objectWriteUInt16(this, value, offset, true)
+  }
+  return offset + 2
+}
+
+Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
+  value = +value
+  offset = offset | 0
+  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
+  if (Buffer.TYPED_ARRAY_SUPPORT) {
+    this[offset] = (value >>> 8)
+    this[offset + 1] = value
+  } else {
+    objectWriteUInt16(this, value, offset, false)
+  }
+  return offset + 2
+}
+
+Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
+  value = +value
+  offset = offset | 0
+  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
+  if (Buffer.TYPED_ARRAY_SUPPORT) {
+    this[offset] = value
+    this[offset + 1] = (value >>> 8)
+    this[offset + 2] = (value >>> 16)
+    this[offset + 3] = (value >>> 24)
+  } else {
+    objectWriteUInt32(this, value, offset, true)
+  }
+  return offset + 4
+}
+
+Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
+  value = +value
+  offset = offset | 0
+  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
+  if (value < 0) value = 0xffffffff + value + 1
+  if (Buffer.TYPED_ARRAY_SUPPORT) {
+    this[offset] = (value >>> 24)
+    this[offset + 1] = (value >>> 16)
+    this[offset + 2] = (value >>> 8)
+    this[offset + 3] = value
+  } else {
+    objectWriteUInt32(this, value, offset, false)
+  }
+  return offset + 4
+}
+
+function checkIEEE754 (buf, value, offset, ext, max, min) {
+  if (value > max || value < min) throw new RangeError('value is out of bounds')
+  if (offset + ext > buf.length) throw new RangeError('index out of range')
+  if (offset < 0) throw new RangeError('index out of range')
+}
+
+function writeFloat (buf, value, offset, littleEndian, noAssert) {
+  if (!noAssert) {
+    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
+  }
+  ieee754.write(buf, value, offset, littleEndian, 23, 4)
+  return offset + 4
+}
+
+Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
+  return writeFloat(this, value, offset, true, noAssert)
+}
+
+Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
+  return writeFloat(this, value, offset, false, noAssert)
+}
+
+function writeDouble (buf, value, offset, littleEndian, noAssert) {
+  if (!noAssert) {
+    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
+  }
+  ieee754.write(buf, value, offset, littleEndian, 52, 8)
+  return offset + 8
+}
+
+Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
+  return writeDouble(this, value, offset, true, noAssert)
+}
+
+Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
+  return writeDouble(this, value, offset, false, noAssert)
+}
+
+// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
+Buffer.prototype.copy = function copy (target, targetStart, start, end) {
+  if (!start) start = 0
+  if (!end && end !== 0) end = this.length
+  if (targetStart >= target.length) targetStart = target.length
+  if (!targetStart) targetStart = 0
+  if (end > 0 && end < start) end = start
+
+  // Copy 0 bytes; we're done
+  if (end === start) return 0
+  if (target.length === 0 || this.length === 0) return 0
+
+  // Fatal error conditions
+  if (targetStart < 0) {
+    throw new RangeError('targetStart out of bounds')
+  }
+  if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
+  if (end < 0) throw new RangeError('sourceEnd out of bounds')
+
+  // Are we oob?
+  if (end > this.length) end = this.length
+  if (target.length - targetStart < end - start) {
+    end = target.length - targetStart + start
+  }
+
+  var len = end - start
+  var i
+
+  if (this === target && start < targetStart && targetStart < end) {
+    // descending copy from end
+    for (i = len - 1; i >= 0; i--) {
+      target[i + targetStart] = this[i + start]
+    }
+  } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
+    // ascending copy from start
+    for (i = 0; i < len; i++) {
+      target[i + targetStart] = this[i + start]
+    }
+  } else {
+    target._set(this.subarray(start, start + len), targetStart)
+  }
+
+  return len
+}
+
+// fill(value, start=0, end=buffer.length)
+Buffer.prototype.fill = function fill (value, start, end) {
+  if (!value) value = 0
+  if (!start) start = 0
+  if (!end) end = this.length
+
+  if (end < start) throw new RangeError('end < start')
+
+  // Fill 0 bytes; we're done
+  if (end === start) return
+  if (this.length === 0) return
+
+  if (start < 0 || start >= this.length) throw new RangeError('start out of bounds')
+  if (end < 0 || end > this.length) throw new RangeError('end out of bounds')
+
+  var i
+  if (typeof value === 'number') {
+    for (i = start; i < end; i++) {
+      this[i] = value
+    }
+  } else {
+    var bytes = utf8ToBytes(value.toString())
+    var len = bytes.length
+    for (i = start; i < end; i++) {
+      this[i] = bytes[i % len]
+    }
+  }
+
+  return this
+}
+
+/**
+ * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
+ * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
+ */
+Buffer.prototype.toArrayBuffer = function toArrayBuffer () {
+  if (typeof Uint8Array !== 'undefined') {
+    if (Buffer.TYPED_ARRAY_SUPPORT) {
+      return (new Buffer(this)).buffer
+    } else {
+      var buf = new Uint8Array(this.length)
+      for (var i = 0, len = buf.length; i < len; i += 1) {
+        buf[i] = this[i]
+      }
+      return buf.buffer
+    }
+  } else {
+    throw new TypeError('Buffer.toArrayBuffer not supported in this browser')
+  }
+}
+
+// HELPER FUNCTIONS
+// ================
+
+var BP = Buffer.prototype
+
+/**
+ * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
+ */
+Buffer._augment = function _augment (arr) {
+  arr.constructor = Buffer
+  arr._isBuffer = true
+
+  // save reference to original Uint8Array set method before overwriting
+  arr._set = arr.set
+
+  // deprecated
+  arr.get = BP.get
+  arr.set = BP.set
+
+  arr.write = BP.write
+  arr.toString = BP.toString
+  arr.toLocaleString = BP.toString
+  arr.toJSON = BP.toJSON
+  arr.equals = BP.equals
+  arr.compare = BP.compare
+  arr.indexOf = BP.indexOf
+  arr.copy = BP.copy
+  arr.slice = BP.slice
+  arr.readUIntLE = BP.readUIntLE
+  arr.readUIntBE = BP.readUIntBE
+  arr.readUInt8 = BP.readUInt8
+  arr.readUInt16LE = BP.readUInt16LE
+  arr.readUInt16BE = BP.readUInt16BE
+  arr.readUInt32LE = BP.readUInt32LE
+  arr.readUInt32BE = BP.readUInt32BE
+  arr.readIntLE = BP.readIntLE
+  arr.readIntBE = BP.readIntBE
+  arr.readInt8 = BP.readInt8
+  arr.readInt16LE = BP.readInt16LE
+  arr.readInt16BE = BP.readInt16BE
+  arr.readInt32LE = BP.readInt32LE
+  arr.readInt32BE = BP.readInt32BE
+  arr.readFloatLE = BP.readFloatLE
+  arr.readFloatBE = BP.readFloatBE
+  arr.readDoubleLE = BP.readDoubleLE
+  arr.readDoubleBE = BP.readDoubleBE
+  arr.writeUInt8 = BP.writeUInt8
+  arr.writeUIntLE = BP.writeUIntLE
+  arr.writeUIntBE = BP.writeUIntBE
+  arr.writeUInt16LE = BP.writeUInt16LE
+  arr.writeUInt16BE = BP.writeUInt16BE
+  arr.writeUInt32LE = BP.writeUInt32LE
+  arr.writeUInt32BE = BP.writeUInt32BE
+  arr.writeIntLE = BP.writeIntLE
+  arr.writeIntBE = BP.writeIntBE
+  arr.writeInt8 = BP.writeInt8
+  arr.writeInt16LE = BP.writeInt16LE
+  arr.writeInt16BE = BP.writeInt16BE
+  arr.writeInt32LE = BP.writeInt32LE
+  arr.writeInt32BE = BP.writeInt32BE
+  arr.writeFloatLE = BP.writeFloatLE
+  arr.writeFloatBE = BP.writeFloatBE
+  arr.writeDoubleLE = BP.writeDoubleLE
+  arr.writeDoubleBE = BP.writeDoubleBE
+  arr.fill = BP.fill
+  arr.inspect = BP.inspect
+  arr.toArrayBuffer = BP.toArrayBuffer
+
+  return arr
+}
+
+var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
+
+function base64clean (str) {
+  // Node strips out invalid characters like \n and \t from the string, base64-js does not
+  str = stringtrim(str).replace(INVALID_BASE64_RE, '')
+  // Node converts strings with length < 2 to ''
+  if (str.length < 2) return ''
+  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
+  while (str.length % 4 !== 0) {
+    str = str + '='
+  }
+  return str
+}
+
+function stringtrim (str) {
+  if (str.trim) return str.trim()
+  return str.replace(/^\s+|\s+$/g, '')
+}
+
+function toHex (n) {
+  if (n < 16) return '0' + n.toString(16)
+  return n.toString(16)
+}
+
+function utf8ToBytes (string, units) {
+  units = units || Infinity
+  var codePoint
+  var length = string.length
+  var leadSurrogate = null
+  var bytes = []
+
+  for (var i = 0; i < length; i++) {
+    codePoint = string.charCodeAt(i)
+
+    // is surrogate component
+    if (codePoint > 0xD7FF && codePoint < 0xE000) {
+      // last char was a lead
+      if (!leadSurrogate) {
+        // no lead yet
+        if (codePoint > 0xDBFF) {
+          // unexpected trail
+          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
+          continue
+        } else if (i + 1 === length) {
+          // unpaired lead
+          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
+          continue
+        }
+
+        // valid lead
+        leadSurrogate = codePoint
+
+        continue
+      }
+
+      // 2 leads in a row
+      if (codePoint < 0xDC00) {
+        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
+        leadSurrogate = codePoint
+        continue
+      }
+
+      // valid surrogate pair
+      codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000
+    } else if (leadSurrogate) {
+      // valid bmp char, but last char was a lead
+      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
+    }
+
+    leadSurrogate = null
+
+    // encode utf8
+    if (codePoint < 0x80) {
+      if ((units -= 1) < 0) break
+      bytes.push(codePoint)
+    } else if (codePoint < 0x800) {
+      if ((units -= 2) < 0) break
+      bytes.push(
+        codePoint >> 0x6 | 0xC0,
+        codePoint & 0x3F | 0x80
+      )
+    } else if (codePoint < 0x10000) {
+      if ((units -= 3) < 0) break
+      bytes.push(
+        codePoint >> 0xC | 0xE0,
+        codePoint >> 0x6 & 0x3F | 0x80,
+        codePoint & 0x3F | 0x80
+      )
+    } else if (codePoint < 0x110000) {
+      if ((units -= 4) < 0) break
+      bytes.push(
+        codePoint >> 0x12 | 0xF0,
+        codePoint >> 0xC & 0x3F | 0x80,
+        codePoint >> 0x6 & 0x3F | 0x80,
+        codePoint & 0x3F | 0x80
+      )
+    } else {
+      throw new Error('Invalid code point')
+    }
+  }
+
+  return bytes
+}
+
+function asciiToBytes (str) {
+  var byteArray = []
+  for (var i = 0; i < str.length; i++) {
+    // Node's code seems to be doing this and not & 0x7F..
+    byteArray.push(str.charCodeAt(i) & 0xFF)
+  }
+  return byteArray
+}
+
+function utf16leToBytes (str, units) {
+  var c, hi, lo
+  var byteArray = []
+  for (var i = 0; i < str.length; i++) {
+    if ((units -= 2) < 0) break
+
+    c = str.charCodeAt(i)
+    hi = c >> 8
+    lo = c % 256
+    byteArray.push(lo)
+    byteArray.push(hi)
+  }
+
+  return byteArray
+}
+
+function base64ToBytes (str) {
+  return base64.toByteArray(base64clean(str))
+}
+
+function blitBuffer (src, dst, offset, length) {
+  for (var i = 0; i < length; i++) {
+    if ((i + offset >= dst.length) || (i >= src.length)) break
+    dst[i + offset] = src[i]
+  }
+  return i
+}
+
+},{"base64-js":44,"ieee754":45,"is-array":46}],44:[function(require,module,exports){
+var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+
+;(function (exports) {
+	'use strict';
+
+  var Arr = (typeof Uint8Array !== 'undefined')
+    ? Uint8Array
+    : Array
+
+	var PLUS   = '+'.charCodeAt(0)
+	var SLASH  = '/'.charCodeAt(0)
+	var NUMBER = '0'.charCodeAt(0)
+	var LOWER  = 'a'.charCodeAt(0)
+	var UPPER  = 'A'.charCodeAt(0)
+	var PLUS_URL_SAFE = '-'.charCodeAt(0)
+	var SLASH_URL_SAFE = '_'.charCodeAt(0)
+
+	function decode (elt) {
+		var code = elt.charCodeAt(0)
+		if (code === PLUS ||
+		    code === PLUS_URL_SAFE)
+			return 62 // '+'
+		if (code === SLASH ||
+		    code === SLASH_URL_SAFE)
+			return 63 // '/'
+		if (code < NUMBER)
+			return -1 //no match
+		if (code < NUMBER + 10)
+			return code - NUMBER + 26 + 26
+		if (code < UPPER + 26)
+			return code - UPPER
+		if (code < LOWER + 26)
+			return code - LOWER + 26
+	}
+
+	function b64ToByteArray (b64) {
+		var i, j, l, tmp, placeHolders, arr
+
+		if (b64.length % 4 > 0) {
+			throw new Error('Invalid string. Length must be a multiple of 4')
+		}
+
+		// the number of equal signs (place holders)
+		// if there are two placeholders, than the two characters before it
+		// represent one byte
+		// if there is only one, then the three characters before it represent 2 bytes
+		// this is just a cheap hack to not do indexOf twice
+		var len = b64.length
+		placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
+
+		// base64 is 4/3 + up to two characters of the original data
+		arr = new Arr(b64.length * 3 / 4 - placeHolders)
+
+		// if there are placeholders, only get up to the last complete 4 chars
+		l = placeHolders > 0 ? b64.length - 4 : b64.length
+
+		var L = 0
+
+		function push (v) {
+			arr[L++] = v
+		}
+
+		for (i = 0, j = 0; i < l; i += 4, j += 3) {
+			tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
+			push((tmp & 0xFF0000) >> 16)
+			push((tmp & 0xFF00) >> 8)
+			push(tmp & 0xFF)
+		}
+
+		if (placeHolders === 2) {
+			tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
+			push(tmp & 0xFF)
+		} else if (placeHolders === 1) {
+			tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
+			push((tmp >> 8) & 0xFF)
+			push(tmp & 0xFF)
+		}
+
+		return arr
+	}
+
+	function uint8ToBase64 (uint8) {
+		var i,
+			extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
+			output = "",
+			temp, length
+
+		function encode (num) {
+			return lookup.charAt(num)
+		}
+
+		function tripletToBase64 (num) {
+			return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
+		}
+
+		// go through the array every three bytes, we'll deal with trailing stuff later
+		for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
+			temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
+			output += tripletToBase64(temp)
+		}
+
+		// pad the end with zeros, but make sure to not forget the extra bytes
+		switch (extraBytes) {
+			case 1:
+				temp = uint8[uint8.length - 1]
+				output += encode(temp >> 2)
+				output += encode((temp << 4) & 0x3F)
+				output += '=='
+				break
+			case 2:
+				temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
+				output += encode(temp >> 10)
+				output += encode((temp >> 4) & 0x3F)
+				output += encode((temp << 2) & 0x3F)
+				output += '='
+				break
+		}
+
+		return output
+	}
+
+	exports.toByteArray = b64ToByteArray
+	exports.fromByteArray = uint8ToBase64
+}(typeof exports === 'undefined' ? (this.base64js = {}) : exports))
+
+},{}],45:[function(require,module,exports){
+exports.read = function (buffer, offset, isLE, mLen, nBytes) {
+  var e, m
+  var eLen = nBytes * 8 - mLen - 1
+  var eMax = (1 << eLen) - 1
+  var eBias = eMax >> 1
+  var nBits = -7
+  var i = isLE ? (nBytes - 1) : 0
+  var d = isLE ? -1 : 1
+  var s = buffer[offset + i]
+
+  i += d
+
+  e = s & ((1 << (-nBits)) - 1)
+  s >>= (-nBits)
+  nBits += eLen
+  for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
+
+  m = e & ((1 << (-nBits)) - 1)
+  e >>= (-nBits)
+  nBits += mLen
+  for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
+
+  if (e === 0) {
+    e = 1 - eBias
+  } else if (e === eMax) {
+    return m ? NaN : ((s ? -1 : 1) * Infinity)
+  } else {
+    m = m + Math.pow(2, mLen)
+    e = e - eBias
+  }
+  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
+}
+
+exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
+  var e, m, c
+  var eLen = nBytes * 8 - mLen - 1
+  var eMax = (1 << eLen) - 1
+  var eBias = eMax >> 1
+  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
+  var i = isLE ? 0 : (nBytes - 1)
+  var d = isLE ? 1 : -1
+  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
+
+  value = Math.abs(value)
+
+  if (isNaN(value) || value === Infinity) {
+    m = isNaN(value) ? 1 : 0
+    e = eMax
+  } else {
+    e = Math.floor(Math.log(value) / Math.LN2)
+    if (value * (c = Math.pow(2, -e)) < 1) {
+      e--
+      c *= 2
+    }
+    if (e + eBias >= 1) {
+      value += rt / c
+    } else {
+      value += rt * Math.pow(2, 1 - eBias)
+    }
+    if (value * c >= 2) {
+      e++
+      c /= 2
+    }
+
+    if (e + eBias >= eMax) {
+      m = 0
+      e = eMax
+    } else if (e + eBias >= 1) {
+      m = (value * c - 1) * Math.pow(2, mLen)
+      e = e + eBias
+    } else {
+      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
+      e = 0
+    }
+  }
+
+  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
+
+  e = (e << mLen) | m
+  eLen += mLen
+  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
+
+  buffer[offset + i - d] |= s * 128
+}
+
+},{}],46:[function(require,module,exports){
+
+/**
+ * isArray
+ */
+
+var isArray = Array.isArray;
+
+/**
+ * toString
+ */
+
+var str = Object.prototype.toString;
+
+/**
+ * Whether or not the given `val`
+ * is an array.
+ *
+ * example:
+ *
+ *        isArray([]);
+ *        // > true
+ *        isArray(arguments);
+ *        // > false
+ *        isArray('');
+ *        // > false
+ *
+ * @param {mixed} val
+ * @return {bool}
+ */
+
+module.exports = isArray || function (val) {
+  return !! val && '[object Array]' == str.call(val);
+};
+
+},{}],47:[function(require,module,exports){
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+function EventEmitter() {
+  this._events = this._events || {};
+  this._maxListeners = this._maxListeners || undefined;
+}
+module.exports = EventEmitter;
+
+// Backwards-compat with node 0.10.x
+EventEmitter.EventEmitter = EventEmitter;
+
+EventEmitter.prototype._events = undefined;
+EventEmitter.prototype._maxListeners = undefined;
+
+// By default EventEmitters will print a warning if more than 10 listeners are
+// added to it. This is a useful default which helps finding memory leaks.
+EventEmitter.defaultMaxListeners = 10;
+
+// Obviously not all Emitters should be limited to 10. This function allows
+// that to be increased. Set to zero for unlimited.
+EventEmitter.prototype.setMaxListeners = function(n) {
+  if (!isNumber(n) || n < 0 || isNaN(n))
+    throw TypeError('n must be a positive number');
+  this._maxListeners = n;
+  return this;
+};
+
+EventEmitter.prototype.emit = function(type) {
+  var er, handler, len, args, i, listeners;
+
+  if (!this._events)
+    this._events = {};
+
+  // If there is no 'error' event listener then throw.
+  if (type === 'error') {
+    if (!this._events.error ||
+        (isObject(this._events.error) && !this._events.error.length)) {
+      er = arguments[1];
+      if (er instanceof Error) {
+        throw er; // Unhandled 'error' event
+      }
+      throw TypeError('Uncaught, unspecified "error" event.');
+    }
+  }
+
+  handler = this._events[type];
+
+  if (isUndefined(handler))
+    return false;
+
+  if (isFunction(handler)) {
+    switch (arguments.length) {
+      // fast cases
+      case 1:
+        handler.call(this);
+        break;
+      case 2:
+        handler.call(this, arguments[1]);
+        break;
+      case 3:
+        handler.call(this, arguments[1], arguments[2]);
+        break;
+      // slower
+      default:
+        len = arguments.length;
+        args = new Array(len - 1);
+        for (i = 1; i < len; i++)
+          args[i - 1] = arguments[i];
+        handler.apply(this, args);
+    }
+  } else if (isObject(handler)) {
+    len = arguments.length;
+    args = new Array(len - 1);
+    for (i = 1; i < len; i++)
+      args[i - 1] = arguments[i];
+
+    listeners = handler.slice();
+    len = listeners.length;
+    for (i = 0; i < len; i++)
+      listeners[i].apply(this, args);
+  }
+
+  return true;
+};
+
+EventEmitter.prototype.addListener = function(type, listener) {
+  var m;
+
+  if (!isFunction(listener))
+    throw TypeError('listener must be a function');
+
+  if (!this._events)
+    this._events = {};
+
+  // To avoid recursion in the case that type === "newListener"! Before
+  // adding it to the listeners, first emit "newListener".
+  if (this._events.newListener)
+    this.emit('newListener', type,
+              isFunction(listener.listener) ?
+              listener.listener : listener);
+
+  if (!this._events[type])
+    // Optimize the case of one listener. Don't need the extra array object.
+    this._events[type] = listener;
+  else if (isObject(this._events[type]))
+    // If we've already got an array, just append.
+    this._events[type].push(listener);
+  else
+    // Adding the second element, need to change to array.
+    this._events[type] = [this._events[type], listener];
+
+  // Check for listener leak
+  if (isObject(this._events[type]) && !this._events[type].warned) {
+    var m;
+    if (!isUndefined(this._maxListeners)) {
+      m = this._maxListeners;
+    } else {
+      m = EventEmitter.defaultMaxListeners;
+    }
+
+    if (m && m > 0 && this._events[type].length > m) {
+      this._events[type].warned = true;
+      console.error('(node) warning: possible EventEmitter memory ' +
+                    'leak detected. %d listeners added. ' +
+                    'Use emitter.setMaxListeners() to increase limit.',
+                    this._events[type].length);
+      if (typeof console.trace === 'function') {
+        // not supported in IE 10
+        console.trace();
+      }
+    }
+  }
+
+  return this;
+};
+
+EventEmitter.prototype.on = EventEmitter.prototype.addListener;
+
+EventEmitter.prototype.once = function(type, listener) {
+  if (!isFunction(listener))
+    throw TypeError('listener must be a function');
+
+  var fired = false;
+
+  function g() {
+    this.removeListener(type, g);
+
+    if (!fired) {
+      fired = true;
+      listener.apply(this, arguments);
+    }
+  }
+
+  g.listener = listener;
+  this.on(type, g);
+
+  return this;
+};
+
+// emits a 'removeListener' event iff the listener was removed
+EventEmitter.prototype.removeListener = function(type, listener) {
+  var list, position, length, i;
+
+  if (!isFunction(listener))
+    throw TypeError('listener must be a function');
+
+  if (!this._events || !this._events[type])
+    return this;
+
+  list = this._events[type];
+  length = list.length;
+  position = -1;
+
+  if (list === listener ||
+      (isFunction(list.listener) && list.listener === listener)) {
+    delete this._events[type];
+    if (this._events.removeListener)
+      this.emit('removeListener', type, listener);
+
+  } else if (isObject(list)) {
+    for (i = length; i-- > 0;) {
+      if (list[i] === listener ||
+          (list[i].listener && list[i].listener === listener)) {
+        position = i;
+        break;
+      }
+    }
+
+    if (position < 0)
+      return this;
+
+    if (list.length === 1) {
+      list.length = 0;
+      delete this._events[type];
+    } else {
+      list.splice(position, 1);
+    }
+
+    if (this._events.removeListener)
+      this.emit('removeListener', type, listener);
+  }
+
+  return this;
+};
+
+EventEmitter.prototype.removeAllListeners = function(type) {
+  var key, listeners;
+
+  if (!this._events)
+    return this;
+
+  // not listening for removeListener, no need to emit
+  if (!this._events.removeListener) {
+    if (arguments.length === 0)
+      this._events = {};
+    else if (this._events[type])
+      delete this._events[type];
+    return this;
+  }
+
+  // emit removeListener for all listeners on all events
+  if (arguments.length === 0) {
+    for (key in this._events) {
+      if (key === 'removeListener') continue;
+      this.removeAllListeners(key);
+    }
+    this.removeAllListeners('removeListener');
+    this._events = {};
+    return this;
+  }
+
+  listeners = this._events[type];
+
+  if (isFunction(listeners)) {
+    this.removeListener(type, listeners);
+  } else {
+    // LIFO order
+    while (listeners.length)
+      this.removeListener(type, listeners[listeners.length - 1]);
+  }
+  delete this._events[type];
+
+  return this;
+};
+
+EventEmitter.prototype.listeners = function(type) {
+  var ret;
+  if (!this._events || !this._events[type])
+    ret = [];
+  else if (isFunction(this._events[type]))
+    ret = [this._events[type]];
+  else
+    ret = this._events[type].slice();
+  return ret;
+};
+
+EventEmitter.listenerCount = function(emitter, type) {
+  var ret;
+  if (!emitter._events || !emitter._events[type])
+    ret = 0;
+  else if (isFunction(emitter._events[type]))
+    ret = 1;
+  else
+    ret = emitter._events[type].length;
+  return ret;
+};
+
+function isFunction(arg) {
+  return typeof arg === 'function';
+}
+
+function isNumber(arg) {
+  return typeof arg === 'number';
+}
+
+function isObject(arg) {
+  return typeof arg === 'object' && arg !== null;
+}
+
+function isUndefined(arg) {
+  return arg === void 0;
+}
+
+},{}],48:[function(require,module,exports){
+if (typeof Object.create === 'function') {
+  // implementation from standard node.js 'util' module
+  module.exports = function inherits(ctor, superCtor) {
+    ctor.super_ = superCtor
+    ctor.prototype = Object.create(superCtor.prototype, {
+      constructor: {
+        value: ctor,
+        enumerable: false,
+        writable: true,
+        configurable: true
+      }
+    });
+  };
+} else {
+  // old school shim for old browsers
+  module.exports = function inherits(ctor, superCtor) {
+    ctor.super_ = superCtor
+    var TempCtor = function () {}
+    TempCtor.prototype = superCtor.prototype
+    ctor.prototype = new TempCtor()
+    ctor.prototype.constructor = ctor
+  }
+}
+
+},{}],49:[function(require,module,exports){
+module.exports = Array.isArray || function (arr) {
+  return Object.prototype.toString.call(arr) == '[object Array]';
+};
+
+},{}],50:[function(require,module,exports){
+exports.endianness = function () { return 'LE' };
+
+exports.hostname = function () {
+    if (typeof location !== 'undefined') {
+        return location.hostname
+    }
+    else return '';
+};
+
+exports.loadavg = function () { return [] };
+
+exports.uptime = function () { return 0 };
+
+exports.freemem = function () {
+    return Number.MAX_VALUE;
+};
+
+exports.totalmem = function () {
+    return Number.MAX_VALUE;
+};
+
+exports.cpus = function () { return [] };
+
+exports.type = function () { return 'Browser' };
+
+exports.release = function () {
+    if (typeof navigator !== 'undefined') {
+        return navigator.appVersion;
+    }
+    return '';
+};
+
+exports.networkInterfaces
+= exports.getNetworkInterfaces
+= function () { return {} };
+
+exports.arch = function () { return 'javascript' };
+
+exports.platform = function () { return 'browser' };
+
+exports.tmpdir = exports.tmpDir = function () {
+    return '/tmp';
+};
+
+exports.EOL = '\n';
+
+},{}],51:[function(require,module,exports){
+// shim for using process in browser
+
+var process = module.exports = {};
+var queue = [];
+var draining = false;
+var currentQueue;
+var queueIndex = -1;
+
+function cleanUpNextTick() {
+    draining = false;
+    if (currentQueue.length) {
+        queue = currentQueue.concat(queue);
+    } else {
+        queueIndex = -1;
+    }
+    if (queue.length) {
+        drainQueue();
+    }
+}
+
+function drainQueue() {
+    if (draining) {
+        return;
+    }
+    var timeout = setTimeout(cleanUpNextTick);
+    draining = true;
+
+    var len = queue.length;
+    while(len) {
+        currentQueue = queue;
+        queue = [];
+        while (++queueIndex < len) {
+            if (currentQueue) {
+                currentQueue[queueIndex].run();
+            }
+        }
+        queueIndex = -1;
+        len = queue.length;
+    }
+    currentQueue = null;
+    draining = false;
+    clearTimeout(timeout);
+}
+
+process.nextTick = function (fun) {
+    var args = new Array(arguments.length - 1);
+    if (arguments.length > 1) {
+        for (var i = 1; i < arguments.length; i++) {
+            args[i - 1] = arguments[i];
+        }
+    }
+    queue.push(new Item(fun, args));
+    if (queue.length === 1 && !draining) {
+        setTimeout(drainQueue, 0);
+    }
+};
+
+// v8 likes predictible objects
+function Item(fun, array) {
+    this.fun = fun;
+    this.array = array;
+}
+Item.prototype.run = function () {
+    this.fun.apply(null, this.array);
+};
+process.title = 'browser';
+process.browser = true;
+process.env = {};
+process.argv = [];
+process.version = ''; // empty string to avoid regexp issues
+process.versions = {};
+
+function noop() {}
+
+process.on = noop;
+process.addListener = noop;
+process.once = noop;
+process.off = noop;
+process.removeListener = noop;
+process.removeAllListeners = noop;
+process.emit = noop;
+
+process.binding = function (name) {
+    throw new Error('process.binding is not supported');
+};
+
+process.cwd = function () { return '/' };
+process.chdir = function (dir) {
+    throw new Error('process.chdir is not supported');
+};
+process.umask = function() { return 0; };
+
+},{}],52:[function(require,module,exports){
+module.exports = require("./lib/_stream_duplex.js")
+
+},{"./lib/_stream_duplex.js":53}],53:[function(require,module,exports){
+(function (process){
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+// a duplex stream is just a stream that is both readable and writable.
+// Since JS doesn't have multiple prototypal inheritance, this class
+// prototypally inherits from Readable, and then parasitically from
+// Writable.
+
+module.exports = Duplex;
+
+/*<replacement>*/
+var objectKeys = Object.keys || function (obj) {
+  var keys = [];
+  for (var key in obj) keys.push(key);
+  return keys;
+}
+/*</replacement>*/
+
+
+/*<replacement>*/
+var util = require('core-util-is');
+util.inherits = require('inherits');
+/*</replacement>*/
+
+var Readable = require('./_stream_readable');
+var Writable = require('./_stream_writable');
+
+util.inherits(Duplex, Readable);
+
+forEach(objectKeys(Writable.prototype), function(method) {
+  if (!Duplex.prototype[method])
+    Duplex.prototype[method] = Writable.prototype[method];
+});
+
+function Duplex(options) {
+  if (!(this instanceof Duplex))
+    return new Duplex(options);
+
+  Readable.call(this, options);
+  Writable.call(this, options);
+
+  if (options && options.readable === false)
+    this.readable = false;
+
+  if (options && options.writable === false)
+    this.writable = false;
+
+  this.allowHalfOpen = true;
+  if (options && options.allowHalfOpen === false)
+    this.allowHalfOpen = false;
+
+  this.once('end', onend);
+}
+
+// the no-half-open enforcer
+function onend() {
+  // if we allow half-open state, or if the writable side ended,
+  // then we're ok.
+  if (this.allowHalfOpen || this._writableState.ended)
+    return;
+
+  // no more data can be written.
+  // But allow more writes to happen in this tick.
+  process.nextTick(this.end.bind(this));
+}
+
+function forEach (xs, f) {
+  for (var i = 0, l = xs.length; i < l; i++) {
+    f(xs[i], i);
+  }
+}
+
+}).call(this,require('_process'))
+},{"./_stream_readable":55,"./_stream_writable":57,"_process":51,"core-util-is":58,"inherits":48}],54:[function(require,module,exports){
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+// a passthrough stream.
+// basically just the most minimal sort of Transform stream.
+// Every written chunk gets output as-is.
+
+module.exports = PassThrough;
+
+var Transform = require('./_stream_transform');
+
+/*<replacement>*/
+var util = require('core-util-is');
+util.inherits = require('inherits');
+/*</replacement>*/
+
+util.inherits(PassThrough, Transform);
+
+function PassThrough(options) {
+  if (!(this instanceof PassThrough))
+    return new PassThrough(options);
+
+  Transform.call(this, options);
+}
+
+PassThrough.prototype._transform = function(chunk, encoding, cb) {
+  cb(null, chunk);
+};
+
+},{"./_stream_transform":56,"core-util-is":58,"inherits":48}],55:[function(require,module,exports){
+(function (process){
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+module.exports = Readable;
+
+/*<replacement>*/
+var isArray = require('isarray');
+/*</replacement>*/
+
+
+/*<replacement>*/
+var Buffer = require('buffer').Buffer;
+/*</replacement>*/
+
+Readable.ReadableState = ReadableState;
+
+var EE = require('events').EventEmitter;
+
+/*<replacement>*/
+if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
+  return emitter.listeners(type).length;
+};
+/*</replacement>*/
+
+var Stream = require('stream');
+
+/*<replacement>*/
+var util = require('core-util-is');
+util.inherits = require('inherits');
+/*</replacement>*/
+
+var StringDecoder;
+
+
+/*<replacement>*/
+var debug = require('util');
+if (debug && debug.debuglog) {
+  debug = debug.debuglog('stream');
+} else {
+  debug = function () {};
+}
+/*</replacement>*/
+
+
+util.inherits(Readable, Stream);
+
+function ReadableState(options, stream) {
+  var Duplex = require('./_stream_duplex');
+
+  options = options || {};
+
+  // the point at which it stops calling _read() to fill the buffer
+  // Note: 0 is a valid value, means "don't call _read preemptively ever"
+  var hwm = options.highWaterMark;
+  var defaultHwm = options.objectMode ? 16 : 16 * 1024;
+  this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
+
+  // cast to ints.
+  this.highWaterMark = ~~this.highWaterMark;
+
+  this.buffer = [];
+  this.length = 0;
+  this.pipes = null;
+  this.pipesCount = 0;
+  this.flowing = null;
+  this.ended = false;
+  this.endEmitted = false;
+  this.reading = false;
+
+  // a flag to be able to tell if the onwrite cb is called immediately,
+  // or on a later tick.  We set this to true at first, because any
+  // actions that shouldn't happen until "later" should generally also
+  // not happen before the first write call.
+  this.sync = true;
+
+  // whenever we return null, then we set a flag to say
+  // that we're awaiting a 'readable' event emission.
+  this.needReadable = false;
+  this.emittedReadable = false;
+  this.readableListening = false;
+
+
+  // object stream flag. Used to make read(n) ignore n and to
+  // make all the buffer merging and length checks go away
+  this.objectMode = !!options.objectMode;
+
+  if (stream instanceof Duplex)
+    this.objectMode = this.objectMode || !!options.readableObjectMode;
+
+  // Crypto is kind of old and crusty.  Historically, its default string
+  // encoding is 'binary' so we have to make this configurable.
+  // Everything else in the universe uses 'utf8', though.
+  this.defaultEncoding = options.defaultEncoding || 'utf8';
+
+  // when piping, we only care about 'readable' events that happen
+  // after read()ing all the bytes and not getting any pushback.
+  this.ranOut = false;
+
+  // the number of writers that are awaiting a drain event in .pipe()s
+  this.awaitDrain = 0;
+
+  // if true, a maybeReadMore has been scheduled
+  this.readingMore = false;
+
+  this.decoder = null;
+  this.encoding = null;
+  if (options.encoding) {
+    if (!StringDecoder)
+      StringDecoder = require('string_decoder/').StringDecoder;
+    this.decoder = new StringDecoder(options.encoding);
+    this.encoding = options.encoding;
+  }
+}
+
+function Readable(options) {
+  var Duplex = require('./_stream_duplex');
+
+  if (!(this instanceof Readable))
+    return new Readable(options);
+
+  this._readableState = new ReadableState(options, this);
+
+  // legacy
+  this.readable = true;
+
+  Stream.call(this);
+}
+
+// Manually shove something into the read() buffer.
+// This returns true if the highWaterMark has not been hit yet,
+// similar to how Writable.write() returns true if you should
+// write() some more.
+Readable.prototype.push = function(chunk, encoding) {
+  var state = this._readableState;
+
+  if (util.isString(chunk) && !state.objectMode) {
+    encoding = encoding || state.defaultEncoding;
+    if (encoding !== state.encoding) {
+      chunk = new Buffer(chunk, encoding);
+      encoding = '';
+    }
+  }
+
+  return readableAddChunk(this, state, chunk, encoding, false);
+};
+
+// Unshift should *always* be something directly out of read()
+Readable.prototype.unshift = function(chunk) {
+  var state = this._readableState;
+  return readableAddChunk(this, state, chunk, '', true);
+};
+
+function readableAddChunk(stream, state, chunk, encoding, addToFront) {
+  var er = chunkInvalid(state, chunk);
+  if (er) {
+    stream.emit('error', er);
+  } else if (util.isNullOrUndefined(chunk)) {
+    state.reading = false;
+    if (!state.ended)
+      onEofChunk(stream, state);
+  } else if (state.objectMode || chunk && chunk.length > 0) {
+    if (state.ended && !addToFront) {
+      var e = new Error('stream.push() after EOF');
+      stream.emit('error', e);
+    } else if (state.endEmitted && addToFront) {
+      var e = new Error('stream.unshift() after end event');
+      stream.emit('error', e);
+    } else {
+      if (state.decoder && !addToFront && !encoding)
+        chunk = state.decoder.write(chunk);
+
+      if (!addToFront)
+        state.reading = false;
+
+      // if we want the data now, just emit it.
+      if (state.flowing && state.length === 0 && !state.sync) {
+        stream.emit('data', chunk);
+        stream.read(0);
+      } else {
+        // update the buffer info.
+        state.length += state.objectMode ? 1 : chunk.length;
+        if (addToFront)
+          state.buffer.unshift(chunk);
+        else
+          state.buffer.push(chunk);
+
+        if (state.needReadable)
+          emitReadable(stream);
+      }
+
+      maybeReadMore(stream, state);
+    }
+  } else if (!addToFront) {
+    state.reading = false;
+  }
+
+  return needMoreData(state);
+}
+
+
+
+// if it's past the high water mark, we can push in some more.
+// Also, if we have no data yet, we can stand some
+// more bytes.  This is to work around cases where hwm=0,
+// such as the repl.  Also, if the push() triggered a
+// readable event, and the user called read(largeNumber) such that
+// needReadable was set, then we ought to push more, so that another
+// 'readable' event will be triggered.
+function needMoreData(state) {
+  return !state.ended &&
+         (state.needReadable ||
+          state.length < state.highWaterMark ||
+          state.length === 0);
+}
+
+// backwards compatibility.
+Readable.prototype.setEncoding = function(enc) {
+  if (!StringDecoder)
+    StringDecoder = require('string_decoder/').StringDecoder;
+  this._readableState.decoder = new StringDecoder(enc);
+  this._readableState.encoding = enc;
+  return this;
+};
+
+// Don't raise the hwm > 128MB
+var MAX_HWM = 0x800000;
+function roundUpToNextPowerOf2(n) {
+  if (n >= MAX_HWM) {
+    n = MAX_HWM;
+  } else {
+    // Get the next highest power of 2
+    n--;
+    for (var p = 1; p < 32; p <<= 1) n |= n >> p;
+    n++;
+  }
+  return n;
+}
+
+function howMuchToRead(n, state) {
+  if (state.length === 0 && state.ended)
+    return 0;
+
+  if (state.objectMode)
+    return n === 0 ? 0 : 1;
+
+  if (isNaN(n) || util.isNull(n)) {
+    // only flow one buffer at a time
+    if (state.flowing && state.buffer.length)
+      return state.buffer[0].length;
+    else
+      return state.length;
+  }
+
+  if (n <= 0)
+    return 0;
+
+  // If we're asking for more than the target buffer level,
+  // then raise the water mark.  Bump up to the next highest
+  // power of 2, to prevent increasing it excessively in tiny
+  // amounts.
+  if (n > state.highWaterMark)
+    state.highWaterMark = roundUpToNextPowerOf2(n);
+
+  // don't have that much.  return null, unless we've ended.
+  if (n > state.length) {
+    if (!state.ended) {
+      state.needReadable = true;
+      return 0;
+    } else
+      return state.length;
+  }
+
+  return n;
+}
+
+// you can override either this method, or the async _read(n) below.
+Readable.prototype.read = function(n) {
+  debug('read', n);
+  var state = this._readableState;
+  var nOrig = n;
+
+  if (!util.isNumber(n) || n > 0)
+    state.emittedReadable = false;
+
+  // if we're doing read(0) to trigger a readable event, but we
+  // already have a bunch of data in the buffer, then just trigger
+  // the 'readable' event and move on.
+  if (n === 0 &&
+      state.needReadable &&
+      (state.length >= state.highWaterMark || state.ended)) {
+    debug('read: emitReadable', state.length, state.ended);
+    if (state.length === 0 && state.ended)
+      endReadable(this);
+    else
+      emitReadable(this);
+    return null;
+  }
+
+  n = howMuchToRead(n, state);
+
+  // if we've ended, and we're now clear, then finish it up.
+  if (n === 0 && state.ended) {
+    if (state.length === 0)
+      endReadable(this);
+    return null;
+  }
+
+  // All the actual chunk generation logic needs to be
+  // *below* the call to _read.  The reason is that in certain
+  // synthetic stream cases, such as passthrough streams, _read
+  // may be a completely synchronous operation which may change
+  // the state of the read buffer, providing enough data when
+  // before there was *not* enough.
+  //
+  // So, the steps are:
+  // 1. Figure out what the state of things will be after we do
+  // a read from the buffer.
+  //
+  // 2. If that resulting state will trigger a _read, then call _read.
+  // Note that this may be asynchronous, or synchronous.  Yes, it is
+  // deeply ugly to write APIs this way, but that still doesn't mean
+  // that the Readable class should behave improperly, as streams are
+  // designed to be sync/async agnostic.
+  // Take note if the _read call is sync or async (ie, if the read call
+  // has returned yet), so that we know whether or not it's safe to emit
+  // 'readable' etc.
+  //
+  // 3. Actually pull the requested chunks out of the buffer and return.
+
+  // if we need a readable event, then we need to do some reading.
+  var doRead = state.needReadable;
+  debug('need readable', doRead);
+
+  // if we currently have less than the highWaterMark, then also read some
+  if (state.length === 0 || state.length - n < state.highWaterMark) {
+    doRead = true;
+    debug('length less than watermark', doRead);
+  }
+
+  // however, if we've ended, then there's no point, and if we're already
+  // reading, then it's unnecessary.
+  if (state.ended || state.reading) {
+    doRead = false;
+    debug('reading or ended', doRead);
+  }
+
+  if (doRead) {
+    debug('do read');
+    state.reading = true;
+    state.sync = true;
+    // if the length is currently zero, then we *need* a readable event.
+    if (state.length === 0)
+      state.needReadable = true;
+    // call internal read method
+    this._read(state.highWaterMark);
+    state.sync = false;
+  }
+
+  // If _read pushed data synchronously, then `reading` will be false,
+  // and we need to re-evaluate how much data we can return to the user.
+  if (doRead && !state.reading)
+    n = howMuchToRead(nOrig, state);
+
+  var ret;
+  if (n > 0)
+    ret = fromList(n, state);
+  else
+    ret = null;
+
+  if (util.isNull(ret)) {
+    state.needReadable = true;
+    n = 0;
+  }
+
+  state.length -= n;
+
+  // If we have nothing in the buffer, then we want to know
+  // as soon as we *do* get something into the buffer.
+  if (state.length === 0 && !state.ended)
+    state.needReadable = true;
+
+  // If we tried to read() past the EOF, then emit end on the next tick.
+  if (nOrig !== n && state.ended && state.length === 0)
+    endReadable(this);
+
+  if (!util.isNull(ret))
+    this.emit('data', ret);
+
+  return ret;
+};
+
+function chunkInvalid(state, chunk) {
+  var er = null;
+  if (!util.isBuffer(chunk) &&
+      !util.isString(chunk) &&
+      !util.isNullOrUndefined(chunk) &&
+      !state.objectMode) {
+    er = new TypeError('Invalid non-string/buffer chunk');
+  }
+  return er;
+}
+
+
+function onEofChunk(stream, state) {
+  if (state.decoder && !state.ended) {
+    var chunk = state.decoder.end();
+    if (chunk && chunk.length) {
+      state.buffer.push(chunk);
+      state.length += state.objectMode ? 1 : chunk.length;
+    }
+  }
+  state.ended = true;
+
+  // emit 'readable' now to make sure it gets picked up.
+  emitReadable(stream);
+}
+
+// Don't emit readable right away in sync mode, because this can trigger
+// another read() call => stack overflow.  This way, it might trigger
+// a nextTick recursion warning, but that's not so bad.
+function emitReadable(stream) {
+  var state = stream._readableState;
+  state.needReadable = false;
+  if (!state.emittedReadable) {
+    debug('emitReadable', state.flowing);
+    state.emittedReadable = true;
+    if (state.sync)
+      process.nextTick(function() {
+        emitReadable_(stream);
+      });
+    else
+      emitReadable_(stream);
+  }
+}
+
+function emitReadable_(stream) {
+  debug('emit readable');
+  stream.emit('readable');
+  flow(stream);
+}
+
+
+// at this point, the user has presumably seen the 'readable' event,
+// and called read() to consume some data.  that may have triggered
+// in turn another _read(n) call, in which case reading = true if
+// it's in progress.
+// However, if we're not ended, or reading, and the length < hwm,
+// then go ahead and try to read some more preemptively.
+function maybeReadMore(stream, state) {
+  if (!state.readingMore) {
+    state.readingMore = true;
+    process.nextTick(function() {
+      maybeReadMore_(stream, state);
+    });
+  }
+}
+
+function maybeReadMore_(stream, state) {
+  var len = state.length;
+  while (!state.reading && !state.flowing && !state.ended &&
+         state.length < state.highWaterMark) {
+    debug('maybeReadMore read 0');
+    stream.read(0);
+    if (len === state.length)
+      // didn't get any data, stop spinning.
+      break;
+    else
+      len = state.length;
+  }
+  state.readingMore = false;
+}
+
+// abstract method.  to be overridden in specific implementation classes.
+// call cb(er, data) where data is <= n in length.
+// for virtual (non-string, non-buffer) streams, "length" is somewhat
+// arbitrary, and perhaps not very meaningful.
+Readable.prototype._read = function(n) {
+  this.emit('error', new Error('not implemented'));
+};
+
+Readable.prototype.pipe = function(dest, pipeOpts) {
+  var src = this;
+  var state = this._readableState;
+
+  switch (state.pipesCount) {
+    case 0:
+      state.pipes = dest;
+      break;
+    case 1:
+      state.pipes = [state.pipes, dest];
+      break;
+    default:
+      state.pipes.push(dest);
+      break;
+  }
+  state.pipesCount += 1;
+  debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
+
+  var doEnd = (!pipeOpts || pipeOpts.end !== false) &&
+              dest !== process.stdout &&
+              dest !== process.stderr;
+
+  var endFn = doEnd ? onend : cleanup;
+  if (state.endEmitted)
+    process.nextTick(endFn);
+  else
+    src.once('end', endFn);
+
+  dest.on('unpipe', onunpipe);
+  function onunpipe(readable) {
+    debug('onunpipe');
+    if (readable === src) {
+      cleanup();
+    }
+  }
+
+  function onend() {
+    debug('onend');
+    dest.end();
+  }
+
+  // when the dest drains, it reduces the awaitDrain counter
+  // on the source.  This would be more elegant with a .once()
+  // handler in flow(), but adding and removing repeatedly is
+  // too slow.
+  var ondrain = pipeOnDrain(src);
+  dest.on('drain', ondrain);
+
+  function cleanup() {
+    debug('cleanup');
+    // cleanup event handlers once the pipe is broken
+    dest.removeListener('close', onclose);
+    dest.removeListener('finish', onfinish);
+    dest.removeListener('drain', ondrain);
+    dest.removeListener('error', onerror);
+    dest.removeListener('unpipe', onunpipe);
+    src.removeListener('end', onend);
+    src.removeListener('end', cleanup);
+    src.removeListener('data', ondata);
+
+    // if the reader is waiting for a drain event from this
+    // specific writer, then it would cause it to never start
+    // flowing again.
+    // So, if this is awaiting a drain, then we just call it now.
+    // If we don't know, then assume that we are waiting for one.
+    if (state.awaitDrain &&
+        (!dest._writableState || dest._writableState.needDrain))
+      ondrain();
+  }
+
+  src.on('data', ondata);
+  function ondata(chunk) {
+    debug('ondata');
+    var ret = dest.write(chunk);
+    if (false === ret) {
+      debug('false write response, pause',
+            src._readableState.awaitDrain);
+      src._readableState.awaitDrain++;
+      src.pause();
+    }
+  }
+
+  // if the dest has an error, then stop piping into it.
+  // however, don't suppress the throwing behavior for this.
+  function onerror(er) {
+    debug('onerror', er);
+    unpipe();
+    dest.removeListener('error', onerror);
+    if (EE.listenerCount(dest, 'error') === 0)
+      dest.emit('error', er);
+  }
+  // This is a brutally ugly hack to make sure that our error handler
+  // is attached before any userland ones.  NEVER DO THIS.
+  if (!dest._events || !dest._events.error)
+    dest.on('error', onerror);
+  else if (isArray(dest._events.error))
+    dest._events.error.unshift(onerror);
+  else
+    dest._events.error = [onerror, dest._events.error];
+
+
+
+  // Both close and finish should trigger unpipe, but only once.
+  function onclose() {
+    dest.removeListener('finish', onfinish);
+    unpipe();
+  }
+  dest.once('close', onclose);
+  function onfinish() {
+    debug('onfinish');
+    dest.removeListener('close', onclose);
+    unpipe();
+  }
+  dest.once('finish', onfinish);
+
+  function unpipe() {
+    debug('unpipe');
+    src.unpipe(dest);
+  }
+
+  // tell the dest that it's being piped to
+  dest.emit('pipe', src);
+
+  // start the flow if it hasn't been started already.
+  if (!state.flowing) {
+    debug('pipe resume');
+    src.resume();
+  }
+
+  return dest;
+};
+
+function pipeOnDrain(src) {
+  return function() {
+    var state = src._readableState;
+    debug('pipeOnDrain', state.awaitDrain);
+    if (state.awaitDrain)
+      state.awaitDrain--;
+    if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) {
+      state.flowing = true;
+      flow(src);
+    }
+  };
+}
+
+
+Readable.prototype.unpipe = function(dest) {
+  var state = this._readableState;
+
+  // if we're not piping anywhere, then do nothing.
+  if (state.pipesCount === 0)
+    return this;
+
+  // just one destination.  most common case.
+  if (state.pipesCount === 1) {
+    // passed in one, but it's not the right one.
+    if (dest && dest !== state.pipes)
+      return this;
+
+    if (!dest)
+      dest = state.pipes;
+
+    // got a match.
+    state.pipes = null;
+    state.pipesCount = 0;
+    state.flowing = false;
+    if (dest)
+      dest.emit('unpipe', this);
+    return this;
+  }
+
+  // slow case. multiple pipe destinations.
+
+  if (!dest) {
+    // remove all.
+    var dests = state.pipes;
+    var len = state.pipesCount;
+    state.pipes = null;
+    state.pipesCount = 0;
+    state.flowing = false;
+
+    for (var i = 0; i < len; i++)
+      dests[i].emit('unpipe', this);
+    return this;
+  }
+
+  // try to find the right one.
+  var i = indexOf(state.pipes, dest);
+  if (i === -1)
+    return this;
+
+  state.pipes.splice(i, 1);
+  state.pipesCount -= 1;
+  if (state.pipesCount === 1)
+    state.pipes = state.pipes[0];
+
+  dest.emit('unpipe', this);
+
+  return this;
+};
+
+// set up data events if they are asked for
+// Ensure readable listeners eventually get something
+Readable.prototype.on = function(ev, fn) {
+  var res = Stream.prototype.on.call(this, ev, fn);
+
+  // If listening to data, and it has not explicitly been paused,
+  // then call resume to start the flow of data on the next tick.
+  if (ev === 'data' && false !== this._readableState.flowing) {
+    this.resume();
+  }
+
+  if (ev === 'readable' && this.readable) {
+    var state = this._readableState;
+    if (!state.readableListening) {
+      state.readableListening = true;
+      state.emittedReadable = false;
+      state.needReadable = true;
+      if (!state.reading) {
+        var self = this;
+        process.nextTick(function() {
+          debug('readable nexttick read 0');
+          self.read(0);
+        });
+      } else if (state.length) {
+        emitReadable(this, state);
+      }
+    }
+  }
+
+  return res;
+};
+Readable.prototype.addListener = Readable.prototype.on;
+
+// pause() and resume() are remnants of the legacy readable stream API
+// If the user uses them, then switch into old mode.
+Readable.prototype.resume = function() {
+  var state = this._readableState;
+  if (!state.flowing) {
+    debug('resume');
+    state.flowing = true;
+    if (!state.reading) {
+      debug('resume read 0');
+      this.read(0);
+    }
+    resume(this, state);
+  }
+  return this;
+};
+
+function resume(stream, state) {
+  if (!state.resumeScheduled) {
+    state.resumeScheduled = true;
+    process.nextTick(function() {
+      resume_(stream, state);
+    });
+  }
+}
+
+function resume_(stream, state) {
+  state.resumeScheduled = false;
+  stream.emit('resume');
+  flow(stream);
+  if (state.flowing && !state.reading)
+    stream.read(0);
+}
+
+Readable.prototype.pause = function() {
+  debug('call pause flowing=%j', this._readableState.flowing);
+  if (false !== this._readableState.flowing) {
+    debug('pause');
+    this._readableState.flowing = false;
+    this.emit('pause');
+  }
+  return this;
+};
+
+function flow(stream) {
+  var state = stream._readableState;
+  debug('flow', state.flowing);
+  if (state.flowing) {
+    do {
+      var chunk = stream.read();
+    } while (null !== chunk && state.flowing);
+  }
+}
+
+// wrap an old-style stream as the async data source.
+// This is *not* part of the readable stream interface.
+// It is an ugly unfortunate mess of history.
+Readable.prototype.wrap = function(stream) {
+  var state = this._readableState;
+  var paused = false;
+
+  var self = this;
+  stream.on('end', function() {
+    debug('wrapped end');
+    if (state.decoder && !state.ended) {
+      var chunk = state.decoder.end();
+      if (chunk && chunk.length)
+        self.push(chunk);
+    }
+
+    self.push(null);
+  });
+
+  stream.on('data', function(chunk) {
+    debug('wrapped data');
+    if (state.decoder)
+      chunk = state.decoder.write(chunk);
+    if (!chunk || !state.objectMode && !chunk.length)
+      return;
+
+    var ret = self.push(chunk);
+    if (!ret) {
+      paused = true;
+      stream.pause();
+    }
+  });
+
+  // proxy all the other methods.
+  // important when wrapping filters and duplexes.
+  for (var i in stream) {
+    if (util.isFunction(stream[i]) && util.isUndefined(this[i])) {
+      this[i] = function(method) { return function() {
+        return stream[method].apply(stream, arguments);
+      }}(i);
+    }
+  }
+
+  // proxy certain important events.
+  var events = ['error', 'close', 'destroy', 'pause', 'resume'];
+  forEach(events, function(ev) {
+    stream.on(ev, self.emit.bind(self, ev));
+  });
+
+  // when we try to consume some more bytes, simply unpause the
+  // underlying stream.
+  self._read = function(n) {
+    debug('wrapped _read', n);
+    if (paused) {
+      paused = false;
+      stream.resume();
+    }
+  };
+
+  return self;
+};
+
+
+
+// exposed for testing purposes only.
+Readable._fromList = fromList;
+
+// Pluck off n bytes from an array of buffers.
+// Length is the combined lengths of all the buffers in the list.
+function fromList(n, state) {
+  var list = state.buffer;
+  var length = state.length;
+  var stringMode = !!state.decoder;
+  var objectMode = !!state.objectMode;
+  var ret;
+
+  // nothing in the list, definitely empty.
+  if (list.length === 0)
+    return null;
+
+  if (length === 0)
+    ret = null;
+  else if (objectMode)
+    ret = list.shift();
+  else if (!n || n >= length) {
+    // read it all, truncate the array.
+    if (stringMode)
+      ret = list.join('');
+    else
+      ret = Buffer.concat(list, length);
+    list.length = 0;
+  } else {
+    // read just some of it.
+    if (n < list[0].length) {
+      // just take a part of the first list item.
+      // slice is the same for buffers and strings.
+      var buf = list[0];
+      ret = buf.slice(0, n);
+      list[0] = buf.slice(n);
+    } else if (n === list[0].length) {
+      // first list is a perfect match
+      ret = list.shift();
+    } else {
+      // complex case.
+      // we have enough to cover it, but it spans past the first buffer.
+      if (stringMode)
+        ret = '';
+      else
+        ret = new Buffer(n);
+
+      var c = 0;
+      for (var i = 0, l = list.length; i < l && c < n; i++) {
+        var buf = list[0];
+        var cpy = Math.min(n - c, buf.length);
+
+        if (stringMode)
+          ret += buf.slice(0, cpy);
+        else
+          buf.copy(ret, c, 0, cpy);
+
+        if (cpy < buf.length)
+          list[0] = buf.slice(cpy);
+        else
+          list.shift();
+
+        c += cpy;
+      }
+    }
+  }
+
+  return ret;
+}
+
+function endReadable(stream) {
+  var state = stream._readableState;
+
+  // If we get here before consuming all the bytes, then that is a
+  // bug in node.  Should never happen.
+  if (state.length > 0)
+    throw new Error('endReadable called on non-empty stream');
+
+  if (!state.endEmitted) {
+    state.ended = true;
+    process.nextTick(function() {
+      // Check that we didn't get one last unshift.
+      if (!state.endEmitted && state.length === 0) {
+        state.endEmitted = true;
+        stream.readable = false;
+        stream.emit('end');
+      }
+    });
+  }
+}
+
+function forEach (xs, f) {
+  for (var i = 0, l = xs.length; i < l; i++) {
+    f(xs[i], i);
+  }
+}
+
+function indexOf (xs, x) {
+  for (var i = 0, l = xs.length; i < l; i++) {
+    if (xs[i] === x) return i;
+  }
+  return -1;
+}
+
+}).call(this,require('_process'))
+},{"./_stream_duplex":53,"_process":51,"buffer":43,"core-util-is":58,"events":47,"inherits":48,"isarray":49,"stream":63,"string_decoder/":64,"util":42}],56:[function(require,module,exports){
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+// a transform stream is a readable/writable stream where you do
+// something with the data.  Sometimes it's called a "filter",
+// but that's not a great name for it, since that implies a thing where
+// some bits pass through, and others are simply ignored.  (That would
+// be a valid example of a transform, of course.)
+//
+// While the output is causally related to the input, it's not a
+// necessarily symmetric or synchronous transformation.  For example,
+// a zlib stream might take multiple plain-text writes(), and then
+// emit a single compressed chunk some time in the future.
+//
+// Here's how this works:
+//
+// The Transform stream has all the aspects of the readable and writable
+// stream classes.  When you write(chunk), that calls _write(chunk,cb)
+// internally, and returns false if there's a lot of pending writes
+// buffered up.  When you call read(), that calls _read(n) until
+// there's enough pending readable data buffered up.
+//
+// In a transform stream, the written data is placed in a buffer.  When
+// _read(n) is called, it transforms the queued up data, calling the
+// buffered _write cb's as it consumes chunks.  If consuming a single
+// written chunk would result in multiple output chunks, then the first
+// outputted bit calls the readcb, and subsequent chunks just go into
+// the read buffer, and will cause it to emit 'readable' if necessary.
+//
+// This way, back-pressure is actually determined by the reading side,
+// since _read has to be called to start processing a new chunk.  However,
+// a pathological inflate type of transform can cause excessive buffering
+// here.  For example, imagine a stream where every byte of input is
+// interpreted as an integer from 0-255, and then results in that many
+// bytes of output.  Writing the 4 bytes {ff,ff,ff,ff} would result in
+// 1kb of data being output.  In this case, you could write a very small
+// amount of input, and end up with a very large amount of output.  In
+// such a pathological inflating mechanism, there'd be no way to tell
+// the system to stop doing the transform.  A single 4MB write could
+// cause the system to run out of memory.
+//
+// However, even in such a pathological case, only a single written chunk
+// would be consumed, and then the rest would wait (un-transformed) until
+// the results of the previous transformed chunk were consumed.
+
+module.exports = Transform;
+
+var Duplex = require('./_stream_duplex');
+
+/*<replacement>*/
+var util = require('core-util-is');
+util.inherits = require('inherits');
+/*</replacement>*/
+
+util.inherits(Transform, Duplex);
+
+
+function TransformState(options, stream) {
+  this.afterTransform = function(er, data) {
+    return afterTransform(stream, er, data);
+  };
+
+  this.needTransform = false;
+  this.transforming = false;
+  this.writecb = null;
+  this.writechunk = null;
+}
+
+function afterTransform(stream, er, data) {
+  var ts = stream._transformState;
+  ts.transforming = false;
+
+  var cb = ts.writecb;
+
+  if (!cb)
+    return stream.emit('error', new Error('no writecb in Transform class'));
+
+  ts.writechunk = null;
+  ts.writecb = null;
+
+  if (!util.isNullOrUndefined(data))
+    stream.push(data);
+
+  if (cb)
+    cb(er);
+
+  var rs = stream._readableState;
+  rs.reading = false;
+  if (rs.needReadable || rs.length < rs.highWaterMark) {
+    stream._read(rs.highWaterMark);
+  }
+}
+
+
+function Transform(options) {
+  if (!(this instanceof Transform))
+    return new Transform(options);
+
+  Duplex.call(this, options);
+
+  this._transformState = new TransformState(options, this);
+
+  // when the writable side finishes, then flush out anything remaining.
+  var stream = this;
+
+  // start out asking for a readable event once data is transformed.
+  this._readableState.needReadable = true;
+
+  // we have implemented the _read method, and done the other things
+  // that Readable wants before the first _read call, so unset the
+  // sync guard flag.
+  this._readableState.sync = false;
+
+  this.once('prefinish', function() {
+    if (util.isFunction(this._flush))
+      this._flush(function(er) {
+        done(stream, er);
+      });
+    else
+      done(stream);
+  });
+}
+
+Transform.prototype.push = function(chunk, encoding) {
+  this._transformState.needTransform = false;
+  return Duplex.prototype.push.call(this, chunk, encoding);
+};
+
+// This is the part where you do stuff!
+// override this function in implementation classes.
+// 'chunk' is an input chunk.
+//
+// Call `push(newChunk)` to pass along transformed output
+// to the readable side.  You may call 'push' zero or more times.
+//
+// Call `cb(err)` when you are done with this chunk.  If you pass
+// an error, then that'll put the hurt on the whole operation.  If you
+// never call cb(), then you'll never get another chunk.
+Transform.prototype._transform = function(chunk, encoding, cb) {
+  throw new Error('not implemented');
+};
+
+Transform.prototype._write = function(chunk, encoding, cb) {
+  var ts = this._transformState;
+  ts.writecb = cb;
+  ts.writechunk = chunk;
+  ts.writeencoding = encoding;
+  if (!ts.transforming) {
+    var rs = this._readableState;
+    if (ts.needTransform ||
+        rs.needReadable ||
+        rs.length < rs.highWaterMark)
+      this._read(rs.highWaterMark);
+  }
+};
+
+// Doesn't matter what the args are here.
+// _transform does all the work.
+// That we got here means that the readable side wants more data.
+Transform.prototype._read = function(n) {
+  var ts = this._transformState;
+
+  if (!util.isNull(ts.writechunk) && ts.writecb && !ts.transforming) {
+    ts.transforming = true;
+    this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
+  } else {
+    // mark that we need a transform, so that any data that comes in
+    // will get processed, now that we've asked for it.
+    ts.needTransform = true;
+  }
+};
+
+
+function done(stream, er) {
+  if (er)
+    return stream.emit('error', er);
+
+  // if there's nothing in the write buffer, then that means
+  // that nothing more will ever be provided
+  var ws = stream._writableState;
+  var ts = stream._transformState;
+
+  if (ws.length)
+    throw new Error('calling transform done when ws.length != 0');
+
+  if (ts.transforming)
+    throw new Error('calling transform done when still transforming');
+
+  return stream.push(null);
+}
+
+},{"./_stream_duplex":53,"core-util-is":58,"inherits":48}],57:[function(require,module,exports){
+(function (process){
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+// A bit simpler than readable streams.
+// Implement an async ._write(chunk, cb), and it'll handle all
+// the drain event emission and buffering.
+
+module.exports = Writable;
+
+/*<replacement>*/
+var Buffer = require('buffer').Buffer;
+/*</replacement>*/
+
+Writable.WritableState = WritableState;
+
+
+/*<replacement>*/
+var util = require('core-util-is');
+util.inherits = require('inherits');
+/*</replacement>*/
+
+var Stream = require('stream');
+
+util.inherits(Writable, Stream);
+
+function WriteReq(chunk, encoding, cb) {
+  this.chunk = chunk;
+  this.encoding = encoding;
+  this.callback = cb;
+}
+
+function WritableState(options, stream) {
+  var Duplex = require('./_stream_duplex');
+
+  options = options || {};
+
+  // the point at which write() starts returning false
+  // Note: 0 is a valid value, means that we always return false if
+  // the entire buffer is not flushed immediately on write()
+  var hwm = options.highWaterMark;
+  var defaultHwm = options.objectMode ? 16 : 16 * 1024;
+  this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
+
+  // object stream flag to indicate whether or not this stream
+  // contains buffers or objects.
+  this.objectMode = !!options.objectMode;
+
+  if (stream instanceof Duplex)
+    this.objectMode = this.objectMode || !!options.writableObjectMode;
+
+  // cast to ints.
+  this.highWaterMark = ~~this.highWaterMark;
+
+  this.needDrain = false;
+  // at the start of calling end()
+  this.ending = false;
+  // when end() has been called, and returned
+  this.ended = false;
+  // when 'finish' is emitted
+  this.finished = false;
+
+  // should we decode strings into buffers before passing to _write?
+  // this is here so that some node-core streams can optimize string
+  // handling at a lower level.
+  var noDecode = options.decodeStrings === false;
+  this.decodeStrings = !noDecode;
+
+  // Crypto is kind of old and crusty.  Historically, its default string
+  // encoding is 'binary' so we have to make this configurable.
+  // Everything else in the universe uses 'utf8', though.
+  this.defaultEncoding = options.defaultEncoding || 'utf8';
+
+  // not an actual buffer we keep track of, but a measurement
+  // of how much we're waiting to get pushed to some underlying
+  // socket or file.
+  this.length = 0;
+
+  // a flag to see when we're in the middle of a write.
+  this.writing = false;
+
+  // when true all writes will be buffered until .uncork() call
+  this.corked = 0;
+
+  // a flag to be able to tell if the onwrite cb is called immediately,
+  // or on a later tick.  We set this to true at first, because any
+  // actions that shouldn't happen until "later" should generally also
+  // not happen before the first write call.
+  this.sync = true;
+
+  // a flag to know if we're processing previously buffered items, which
+  // may call the _write() callback in the same tick, so that we don't
+  // end up in an overlapped onwrite situation.
+  this.bufferProcessing = false;
+
+  // the callback that's passed to _write(chunk,cb)
+  this.onwrite = function(er) {
+    onwrite(stream, er);
+  };
+
+  // the callback that the user supplies to write(chunk,encoding,cb)
+  this.writecb = null;
+
+  // the amount that is being written when _write is called.
+  this.writelen = 0;
+
+  this.buffer = [];
+
+  // number of pending user-supplied write callbacks
+  // this must be 0 before 'finish' can be emitted
+  this.pendingcb = 0;
+
+  // emit prefinish if the only thing we're waiting for is _write cbs
+  // This is relevant for synchronous Transform streams
+  this.prefinished = false;
+
+  // True if the error was already emitted and should not be thrown again
+  this.errorEmitted = false;
+}
+
+function Writable(options) {
+  var Duplex = require('./_stream_duplex');
+
+  // Writable ctor is applied to Duplexes, though they're not
+  // instanceof Writable, they're instanceof Readable.
+  if (!(this instanceof Writable) && !(this instanceof Duplex))
+    return new Writable(options);
+
+  this._writableState = new WritableState(options, this);
+
+  // legacy.
+  this.writable = true;
+
+  Stream.call(this);
+}
+
+// Otherwise people can pipe Writable streams, which is just wrong.
+Writable.prototype.pipe = function() {
+  this.emit('error', new Error('Cannot pipe. Not readable.'));
+};
+
+
+function writeAfterEnd(stream, state, cb) {
+  var er = new Error('write after end');
+  // TODO: defer error events consistently everywhere, not just the cb
+  stream.emit('error', er);
+  process.nextTick(function() {
+    cb(er);
+  });
+}
+
+// If we get something that is not a buffer, string, null, or undefined,
+// and we're not in objectMode, then that's an error.
+// Otherwise stream chunks are all considered to be of length=1, and the
+// watermarks determine how many objects to keep in the buffer, rather than
+// how many bytes or characters.
+function validChunk(stream, state, chunk, cb) {
+  var valid = true;
+  if (!util.isBuffer(chunk) &&
+      !util.isString(chunk) &&
+      !util.isNullOrUndefined(chunk) &&
+      !state.objectMode) {
+    var er = new TypeError('Invalid non-string/buffer chunk');
+    stream.emit('error', er);
+    process.nextTick(function() {
+      cb(er);
+    });
+    valid = false;
+  }
+  return valid;
+}
+
+Writable.prototype.write = function(chunk, encoding, cb) {
+  var state = this._writableState;
+  var ret = false;
+
+  if (util.isFunction(encoding)) {
+    cb = encoding;
+    encoding = null;
+  }
+
+  if (util.isBuffer(chunk))
+    encoding = 'buffer';
+  else if (!encoding)
+    encoding = state.defaultEncoding;
+
+  if (!util.isFunction(cb))
+    cb = function() {};
+
+  if (state.ended)
+    writeAfterEnd(this, state, cb);
+  else if (validChunk(this, state, chunk, cb)) {
+    state.pendingcb++;
+    ret = writeOrBuffer(this, state, chunk, encoding, cb);
+  }
+
+  return ret;
+};
+
+Writable.prototype.cork = function() {
+  var state = this._writableState;
+
+  state.corked++;
+};
+
+Writable.prototype.uncork = function() {
+  var state = this._writableState;
+
+  if (state.corked) {
+    state.corked--;
+
+    if (!state.writing &&
+        !state.corked &&
+        !state.finished &&
+        !state.bufferProcessing &&
+        state.buffer.length)
+      clearBuffer(this, state);
+  }
+};
+
+function decodeChunk(state, chunk, encoding) {
+  if (!state.objectMode &&
+      state.decodeStrings !== false &&
+      util.isString(chunk)) {
+    chunk = new Buffer(chunk, encoding);
+  }
+  return chunk;
+}
+
+// if we're already writing something, then just put this
+// in the queue, and wait our turn.  Otherwise, call _write
+// If we return false, then we need a drain event, so set that flag.
+function writeOrBuffer(stream, state, chunk, encoding, cb) {
+  chunk = decodeChunk(state, chunk, encoding);
+  if (util.isBuffer(chunk))
+    encoding = 'buffer';
+  var len = state.objectMode ? 1 : chunk.length;
+
+  state.length += len;
+
+  var ret = state.length < state.highWaterMark;
+  // we must ensure that previous needDrain will not be reset to false.
+  if (!ret)
+    state.needDrain = true;
+
+  if (state.writing || state.corked)
+    state.buffer.push(new WriteReq(chunk, encoding, cb));
+  else
+    doWrite(stream, state, false, len, chunk, encoding, cb);
+
+  return ret;
+}
+
+function doWrite(stream, state, writev, len, chunk, encoding, cb) {
+  state.writelen = len;
+  state.writecb = cb;
+  state.writing = true;
+  state.sync = true;
+  if (writev)
+    stream._writev(chunk, state.onwrite);
+  else
+    stream._write(chunk, encoding, state.onwrite);
+  state.sync = false;
+}
+
+function onwriteError(stream, state, sync, er, cb) {
+  if (sync)
+    process.nextTick(function() {
+      state.pendingcb--;
+      cb(er);
+    });
+  else {
+    state.pendingcb--;
+    cb(er);
+  }
+
+  stream._writableState.errorEmitted = true;
+  stream.emit('error', er);
+}
+
+function onwriteStateUpdate(state) {
+  state.writing = false;
+  state.writecb = null;
+  state.length -= state.writelen;
+  state.writelen = 0;
+}
+
+function onwrite(stream, er) {
+  var state = stream._writableState;
+  var sync = state.sync;
+  var cb = state.writecb;
+
+  onwriteStateUpdate(state);
+
+  if (er)
+    onwriteError(stream, state, sync, er, cb);
+  else {
+    // Check if we're actually ready to finish, but don't emit yet
+    var finished = needFinish(stream, state);
+
+    if (!finished &&
+        !state.corked &&
+        !state.bufferProcessing &&
+        state.buffer.length) {
+      clearBuffer(stream, state);
+    }
+
+    if (sync) {
+      process.nextTick(function() {
+        afterWrite(stream, state, finished, cb);
+      });
+    } else {
+      afterWrite(stream, state, finished, cb);
+    }
+  }
+}
+
+function afterWrite(stream, state, finished, cb) {
+  if (!finished)
+    onwriteDrain(stream, state);
+  state.pendingcb--;
+  cb();
+  finishMaybe(stream, state);
+}
+
+// Must force callback to be called on nextTick, so that we don't
+// emit 'drain' before the write() consumer gets the 'false' return
+// value, and has a chance to attach a 'drain' listener.
+function onwriteDrain(stream, state) {
+  if (state.length === 0 && state.needDrain) {
+    state.needDrain = false;
+    stream.emit('drain');
+  }
+}
+
+
+// if there's something in the buffer waiting, then process it
+function clearBuffer(stream, state) {
+  state.bufferProcessing = true;
+
+  if (stream._writev && state.buffer.length > 1) {
+    // Fast case, write everything using _writev()
+    var cbs = [];
+    for (var c = 0; c < state.buffer.length; c++)
+      cbs.push(state.buffer[c].callback);
+
+    // count the one we are adding, as well.
+    // TODO(isaacs) clean this up
+    state.pendingcb++;
+    doWrite(stream, state, true, state.length, state.buffer, '', function(err) {
+      for (var i = 0; i < cbs.length; i++) {
+        state.pendingcb--;
+        cbs[i](err);
+      }
+    });
+
+    // Clear buffer
+    state.buffer = [];
+  } else {
+    // Slow case, write chunks one-by-one
+    for (var c = 0; c < state.buffer.length; c++) {
+      var entry = state.buffer[c];
+      var chunk = entry.chunk;
+      var encoding = entry.encoding;
+      var cb = entry.callback;
+      var len = state.objectMode ? 1 : chunk.length;
+
+      doWrite(stream, state, false, len, chunk, encoding, cb);
+
+      // if we didn't call the onwrite immediately, then
+      // it means that we need to wait until it does.
+      // also, that means that the chunk and cb are currently
+      // being processed, so move the buffer counter past them.
+      if (state.writing) {
+        c++;
+        break;
+      }
+    }
+
+    if (c < state.buffer.length)
+      state.buffer = state.buffer.slice(c);
+    else
+      state.buffer.length = 0;
+  }
+
+  state.bufferProcessing = false;
+}
+
+Writable.prototype._write = function(chunk, encoding, cb) {
+  cb(new Error('not implemented'));
+
+};
+
+Writable.prototype._writev = null;
+
+Writable.prototype.end = function(chunk, encoding, cb) {
+  var state = this._writableState;
+
+  if (util.isFunction(chunk)) {
+    cb = chunk;
+    chunk = null;
+    encoding = null;
+  } else if (util.isFunction(encoding)) {
+    cb = encoding;
+    encoding = null;
+  }
+
+  if (!util.isNullOrUndefined(chunk))
+    this.write(chunk, encoding);
+
+  // .end() fully uncorks
+  if (state.corked) {
+    state.corked = 1;
+    this.uncork();
+  }
+
+  // ignore unnecessary end() calls.
+  if (!state.ending && !state.finished)
+    endWritable(this, state, cb);
+};
+
+
+function needFinish(stream, state) {
+  return (state.ending &&
+          state.length === 0 &&
+          !state.finished &&
+          !state.writing);
+}
+
+function prefinish(stream, state) {
+  if (!state.prefinished) {
+    state.prefinished = true;
+    stream.emit('prefinish');
+  }
+}
+
+function finishMaybe(stream, state) {
+  var need = needFinish(stream, state);
+  if (need) {
+    if (state.pendingcb === 0) {
+      prefinish(stream, state);
+      state.finished = true;
+      stream.emit('finish');
+    } else
+      prefinish(stream, state);
+  }
+  return need;
+}
+
+function endWritable(stream, state, cb) {
+  state.ending = true;
+  finishMaybe(stream, state);
+  if (cb) {
+    if (state.finished)
+      process.nextTick(cb);
+    else
+      stream.once('finish', cb);
+  }
+  state.ended = true;
+}
+
+}).call(this,require('_process'))
+},{"./_stream_duplex":53,"_process":51,"buffer":43,"core-util-is":58,"inherits":48,"stream":63}],58:[function(require,module,exports){
+(function (Buffer){
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+// NOTE: These type checking functions intentionally don't use `instanceof`
+// because it is fragile and can be easily faked with `Object.create()`.
+function isArray(ar) {
+  return Array.isArray(ar);
+}
+exports.isArray = isArray;
+
+function isBoolean(arg) {
+  return typeof arg === 'boolean';
+}
+exports.isBoolean = isBoolean;
+
+function isNull(arg) {
+  return arg === null;
+}
+exports.isNull = isNull;
+
+function isNullOrUndefined(arg) {
+  return arg == null;
+}
+exports.isNullOrUndefined = isNullOrUndefined;
+
+function isNumber(arg) {
+  return typeof arg === 'number';
+}
+exports.isNumber = isNumber;
+
+function isString(arg) {
+  return typeof arg === 'string';
+}
+exports.isString = isString;
+
+function isSymbol(arg) {
+  return typeof arg === 'symbol';
+}
+exports.isSymbol = isSymbol;
+
+function isUndefined(arg) {
+  return arg === void 0;
+}
+exports.isUndefined = isUndefined;
+
+function isRegExp(re) {
+  return isObject(re) && objectToString(re) === '[object RegExp]';
+}
+exports.isRegExp = isRegExp;
+
+function isObject(arg) {
+  return typeof arg === 'object' && arg !== null;
+}
+exports.isObject = isObject;
+
+function isDate(d) {
+  return isObject(d) && objectToString(d) === '[object Date]';
+}
+exports.isDate = isDate;
+
+function isError(e) {
+  return isObject(e) &&
+      (objectToString(e) === '[object Error]' || e instanceof Error);
+}
+exports.isError = isError;
+
+function isFunction(arg) {
+  return typeof arg === 'function';
+}
+exports.isFunction = isFunction;
+
+function isPrimitive(arg) {
+  return arg === null ||
+         typeof arg === 'boolean' ||
+         typeof arg === 'number' ||
+         typeof arg === 'string' ||
+         typeof arg === 'symbol' ||  // ES6 symbol
+         typeof arg === 'undefined';
+}
+exports.isPrimitive = isPrimitive;
+
+function isBuffer(arg) {
+  return Buffer.isBuffer(arg);
+}
+exports.isBuffer = isBuffer;
+
+function objectToString(o) {
+  return Object.prototype.toString.call(o);
+}
+}).call(this,require("buffer").Buffer)
+},{"buffer":43}],59:[function(require,module,exports){
+module.exports = require("./lib/_stream_passthrough.js")
+
+},{"./lib/_stream_passthrough.js":54}],60:[function(require,module,exports){
+exports = module.exports = require('./lib/_stream_readable.js');
+exports.Stream = require('stream');
+exports.Readable = exports;
+exports.Writable = require('./lib/_stream_writable.js');
+exports.Duplex = require('./lib/_stream_duplex.js');
+exports.Transform = require('./lib/_stream_transform.js');
+exports.PassThrough = require('./lib/_stream_passthrough.js');
+
+},{"./lib/_stream_duplex.js":53,"./lib/_stream_passthrough.js":54,"./lib/_stream_readable.js":55,"./lib/_stream_transform.js":56,"./lib/_stream_writable.js":57,"stream":63}],61:[function(require,module,exports){
+module.exports = require("./lib/_stream_transform.js")
+
+},{"./lib/_stream_transform.js":56}],62:[function(require,module,exports){
+module.exports = require("./lib/_stream_writable.js")
+
+},{"./lib/_stream_writable.js":57}],63:[function(require,module,exports){
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+module.exports = Stream;
+
+var EE = require('events').EventEmitter;
+var inherits = require('inherits');
+
+inherits(Stream, EE);
+Stream.Readable = require('readable-stream/readable.js');
+Stream.Writable = require('readable-stream/writable.js');
+Stream.Duplex = require('readable-stream/duplex.js');
+Stream.Transform = require('readable-stream/transform.js');
+Stream.PassThrough = require('readable-stream/passthrough.js');
+
+// Backwards-compat with node 0.4.x
+Stream.Stream = Stream;
+
+
+
+// old-style streams.  Note that the pipe method (the only relevant
+// part of this class) is overridden in the Readable class.
+
+function Stream() {
+  EE.call(this);
+}
+
+Stream.prototype.pipe = function(dest, options) {
+  var source = this;
+
+  function ondata(chunk) {
+    if (dest.writable) {
+      if (false === dest.write(chunk) && source.pause) {
+        source.pause();
+      }
+    }
+  }
+
+  source.on('data', ondata);
+
+  function ondrain() {
+    if (source.readable && source.resume) {
+      source.resume();
+    }
+  }
+
+  dest.on('drain', ondrain);
+
+  // If the 'end' option is not supplied, dest.end() will be called when
+  // source gets the 'end' or 'close' events.  Only dest.end() once.
+  if (!dest._isStdio && (!options || options.end !== false)) {
+    source.on('end', onend);
+    source.on('close', onclose);
+  }
+
+  var didOnEnd = false;
+  function onend() {
+    if (didOnEnd) return;
+    didOnEnd = true;
+
+    dest.end();
+  }
+
+
+  function onclose() {
+    if (didOnEnd) return;
+    didOnEnd = true;
+
+    if (typeof dest.destroy === 'function') dest.destroy();
+  }
+
+  // don't leave dangling pipes when there are errors.
+  function onerror(er) {
+    cleanup();
+    if (EE.listenerCount(this, 'error') === 0) {
+      throw er; // Unhandled stream error in pipe.
+    }
+  }
+
+  source.on('error', onerror);
+  dest.on('error', onerror);
+
+  // remove all the event listeners that were added.
+  function cleanup() {
+    source.removeListener('data', ondata);
+    dest.removeListener('drain', ondrain);
+
+    source.removeListener('end', onend);
+    source.removeListener('close', onclose);
+
+    source.removeListener('error', onerror);
+    dest.removeListener('error', onerror);
+
+    source.removeListener('end', cleanup);
+    source.removeListener('close', cleanup);
+
+    dest.removeListener('close', cleanup);
+  }
+
+  source.on('end', cleanup);
+  source.on('close', cleanup);
+
+  dest.on('close', cleanup);
+
+  dest.emit('pipe', source);
+
+  // Allow for unix-like usage: A.pipe(B).pipe(C)
+  return dest;
+};
+
+},{"events":47,"inherits":48,"readable-stream/duplex.js":52,"readable-stream/passthrough.js":59,"readable-stream/readable.js":60,"readable-stream/transform.js":61,"readable-stream/writable.js":62}],64:[function(require,module,exports){
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+var Buffer = require('buffer').Buffer;
+
+var isBufferEncoding = Buffer.isEncoding
+  || function(encoding) {
+       switch (encoding && encoding.toLowerCase()) {
+         case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true;
+         default: return false;
+       }
+     }
+
+
+function assertEncoding(encoding) {
+  if (encoding && !isBufferEncoding(encoding)) {
+    throw new Error('Unknown encoding: ' + encoding);
+  }
+}
+
+// StringDecoder provides an interface for efficiently splitting a series of
+// buffers into a series of JS strings without breaking apart multi-byte
+// characters. CESU-8 is handled as part of the UTF-8 encoding.
+//
+// @TODO Handling all encodings inside a single object makes it very difficult
+// to reason about this code, so it should be split up in the future.
+// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
+// points as used by CESU-8.
+var StringDecoder = exports.StringDecoder = function(encoding) {
+  this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
+  assertEncoding(encoding);
+  switch (this.encoding) {
+    case 'utf8':
+      // CESU-8 represents each of Surrogate Pair by 3-bytes
+      this.surrogateSize = 3;
+      break;
+    case 'ucs2':
+    case 'utf16le':
+      // UTF-16 represents each of Surrogate Pair by 2-bytes
+      this.surrogateSize = 2;
+      this.detectIncompleteChar = utf16DetectIncompleteChar;
+      break;
+    case 'base64':
+      // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
+      this.surrogateSize = 3;
+      this.detectIncompleteChar = base64DetectIncompleteChar;
+      break;
+    default:
+      this.write = passThroughWrite;
+      return;
+  }
+
+  // Enough space to store all bytes of a single character. UTF-8 needs 4
+  // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
+  this.charBuffer = new Buffer(6);
+  // Number of bytes received for the current incomplete multi-byte character.
+  this.charReceived = 0;
+  // Number of bytes expected for the current incomplete multi-byte character.
+  this.charLength = 0;
+};
+
+
+// write decodes the given buffer and returns it as JS string that is
+// guaranteed to not contain any partial multi-byte characters. Any partial
+// character found at the end of the buffer is buffered up, and will be
+// returned when calling write again with the remaining bytes.
+//
+// Note: Converting a Buffer containing an orphan surrogate to a String
+// currently works, but converting a String to a Buffer (via `new Buffer`, or
+// Buffer#write) will replace incomplete surrogates with the unicode
+// replacement character. See https://codereview.chromium.org/121173009/ .
+StringDecoder.prototype.write = function(buffer) {
+  var charStr = '';
+  // if our last write ended with an incomplete multibyte character
+  while (this.charLength) {
+    // determine how many remaining bytes this buffer has to offer for this char
+    var available = (buffer.length >= this.charLength - this.charReceived) ?
+        this.charLength - this.charReceived :
+        buffer.length;
+
+    // add the new bytes to the char buffer
+    buffer.copy(this.charBuffer, this.charReceived, 0, available);
+    this.charReceived += available;
+
+    if (this.charReceived < this.charLength) {
+      // still not enough chars in this buffer? wait for more ...
+      return '';
+    }
+
+    // remove bytes belonging to the current character from the buffer
+    buffer = buffer.slice(available, buffer.length);
+
+    // get the character that was split
+    charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
+
+    // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
+    var charCode = charStr.charCodeAt(charStr.length - 1);
+    if (charCode >= 0xD800 && charCode <= 0xDBFF) {
+      this.charLength += this.surrogateSize;
+      charStr = '';
+      continue;
+    }
+    this.charReceived = this.charLength = 0;
+
+    // if there are no more bytes in this buffer, just emit our char
+    if (buffer.length === 0) {
+      return charStr;
+    }
+    break;
+  }
+
+  // determine and set charLength / charReceived
+  this.detectIncompleteChar(buffer);
+
+  var end = buffer.length;
+  if (this.charLength) {
+    // buffer the incomplete character bytes we got
+    buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
+    end -= this.charReceived;
+  }
+
+  charStr += buffer.toString(this.encoding, 0, end);
+
+  var end = charStr.length - 1;
+  var charCode = charStr.charCodeAt(end);
+  // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
+  if (charCode >= 0xD800 && charCode <= 0xDBFF) {
+    var size = this.surrogateSize;
+    this.charLength += size;
+    this.charReceived += size;
+    this.charBuffer.copy(this.charBuffer, size, 0, size);
+    buffer.copy(this.charBuffer, 0, 0, size);
+    return charStr.substring(0, end);
+  }
+
+  // or just emit the charStr
+  return charStr;
+};
+
+// detectIncompleteChar determines if there is an incomplete UTF-8 character at
+// the end of the given buffer. If so, it sets this.charLength to the byte
+// length that character, and sets this.charReceived to the number of bytes
+// that are available for this character.
+StringDecoder.prototype.detectIncompleteChar = function(buffer) {
+  // determine how many bytes we have to check at the end of this buffer
+  var i = (buffer.length >= 3) ? 3 : buffer.length;
+
+  // Figure out if one of the last i bytes of our buffer announces an
+  // incomplete char.
+  for (; i > 0; i--) {
+    var c = buffer[buffer.length - i];
+
+    // See http://en.wikipedia.org/wiki/UTF-8#Description
+
+    // 110XXXXX
+    if (i == 1 && c >> 5 == 0x06) {
+      this.charLength = 2;
+      break;
+    }
+
+    // 1110XXXX
+    if (i <= 2 && c >> 4 == 0x0E) {
+      this.charLength = 3;
+      break;
+    }
+
+    // 11110XXX
+    if (i <= 3 && c >> 3 == 0x1E) {
+      this.charLength = 4;
+      break;
+    }
+  }
+  this.charReceived = i;
+};
+
+StringDecoder.prototype.end = function(buffer) {
+  var res = '';
+  if (buffer && buffer.length)
+    res = this.write(buffer);
+
+  if (this.charReceived) {
+    var cr = this.charReceived;
+    var buf = this.charBuffer;
+    var enc = this.encoding;
+    res += buf.slice(0, cr).toString(enc);
+  }
+
+  return res;
+};
+
+function passThroughWrite(buffer) {
+  return buffer.toString(this.encoding);
+}
+
+function utf16DetectIncompleteChar(buffer) {
+  this.charReceived = buffer.length % 2;
+  this.charLength = this.charReceived ? 2 : 0;
+}
+
+function base64DetectIncompleteChar(buffer) {
+  this.charReceived = buffer.length % 3;
+  this.charLength = this.charReceived ? 3 : 0;
+}
+
+},{"buffer":43}],65:[function(require,module,exports){
+module.exports = function isBuffer(arg) {
+  return arg && typeof arg === 'object'
+    && typeof arg.copy === 'function'
+    && typeof arg.fill === 'function'
+    && typeof arg.readUInt8 === 'function';
+}
+},{}],66:[function(require,module,exports){
+(function (process,global){
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+var formatRegExp = /%[sdj%]/g;
+exports.format = function(f) {
+  if (!isString(f)) {
+    var objects = [];
+    for (var i = 0; i < arguments.length; i++) {
+      objects.push(inspect(arguments[i]));
+    }
+    return objects.join(' ');
+  }
+
+  var i = 1;
+  var args = arguments;
+  var len = args.length;
+  var str = String(f).replace(formatRegExp, function(x) {
+    if (x === '%%') return '%';
+    if (i >= len) return x;
+    switch (x) {
+      case '%s': return String(args[i++]);
+      case '%d': return Number(args[i++]);
+      case '%j':
+        try {
+          return JSON.stringify(args[i++]);
+        } catch (_) {
+          return '[Circular]';
+        }
+      default:
+        return x;
+    }
+  });
+  for (var x = args[i]; i < len; x = args[++i]) {
+    if (isNull(x) || !isObject(x)) {
+      str += ' ' + x;
+    } else {
+      str += ' ' + inspect(x);
+    }
+  }
+  return str;
+};
+
+
+// Mark that a method should not be used.
+// Returns a modified function which warns once by default.
+// If --no-deprecation is set, then it is a no-op.
+exports.deprecate = function(fn, msg) {
+  // Allow for deprecating things in the process of starting up.
+  if (isUndefined(global.process)) {
+    return function() {
+      return exports.deprecate(fn, msg).apply(this, arguments);
+    };
+  }
+
+  if (process.noDeprecation === true) {
+    return fn;
+  }
+
+  var warned = false;
+  function deprecated() {
+    if (!warned) {
+      if (process.throwDeprecation) {
+        throw new Error(msg);
+      } else if (process.traceDeprecation) {
+        console.trace(msg);
+      } else {
+        console.error(msg);
+      }
+      warned = true;
+    }
+    return fn.apply(this, arguments);
+  }
+
+  return deprecated;
+};
+
+
+var debugs = {};
+var debugEnviron;
+exports.debuglog = function(set) {
+  if (isUndefined(debugEnviron))
+    debugEnviron = process.env.NODE_DEBUG || '';
+  set = set.toUpperCase();
+  if (!debugs[set]) {
+    if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
+      var pid = process.pid;
+      debugs[set] = function() {
+        var msg = exports.format.apply(exports, arguments);
+        console.error('%s %d: %s', set, pid, msg);
+      };
+    } else {
+      debugs[set] = function() {};
+    }
+  }
+  return debugs[set];
+};
+
+
+/**
+ * Echos the value of a value. Trys to print the value out
+ * in the best way possible given the different types.
+ *
+ * @param {Object} obj The object to print out.
+ * @param {Object} opts Optional options object that alters the output.
+ */
+/* legacy: obj, showHidden, depth, colors*/
+function inspect(obj, opts) {
+  // default options
+  var ctx = {
+    seen: [],
+    stylize: stylizeNoColor
+  };
+  // legacy...
+  if (arguments.length >= 3) ctx.depth = arguments[2];
+  if (arguments.length >= 4) ctx.colors = arguments[3];
+  if (isBoolean(opts)) {
+    // legacy...
+    ctx.showHidden = opts;
+  } else if (opts) {
+    // got an "options" object
+    exports._extend(ctx, opts);
+  }
+  // set default options
+  if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
+  if (isUndefined(ctx.depth)) ctx.depth = 2;
+  if (isUndefined(ctx.colors)) ctx.colors = false;
+  if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
+  if (ctx.colors) ctx.stylize = stylizeWithColor;
+  return formatValue(ctx, obj, ctx.depth);
+}
+exports.inspect = inspect;
+
+
+// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
+inspect.colors = {
+  'bold' : [1, 22],
+  'italic' : [3, 23],
+  'underline' : [4, 24],
+  'inverse' : [7, 27],
+  'white' : [37, 39],
+  'grey' : [90, 39],
+  'black' : [30, 39],
+  'blue' : [34, 39],
+  'cyan' : [36, 39],
+  'green' : [32, 39],
+  'magenta' : [35, 39],
+  'red' : [31, 39],
+  'yellow' : [33, 39]
+};
+
+// Don't use 'blue' not visible on cmd.exe
+inspect.styles = {
+  'special': 'cyan',
+  'number': 'yellow',
+  'boolean': 'yellow',
+  'undefined': 'grey',
+  'null': 'bold',
+  'string': 'green',
+  'date': 'magenta',
+  // "name": intentionally not styling
+  'regexp': 'red'
+};
+
+
+function stylizeWithColor(str, styleType) {
+  var style = inspect.styles[styleType];
+
+  if (style) {
+    return '\u001b[' + inspect.colors[style][0] + 'm' + str +
+           '\u001b[' + inspect.colors[style][1] + 'm';
+  } else {
+    return str;
+  }
+}
+
+
+function stylizeNoColor(str, styleType) {
+  return str;
+}
+
+
+function arrayToHash(array) {
+  var hash = {};
+
+  array.forEach(function(val, idx) {
+    hash[val] = true;
+  });
+
+  return hash;
+}
+
+
+function formatValue(ctx, value, recurseTimes) {
+  // Provide a hook for user-specified inspect functions.
+  // Check that value is an object with an inspect function on it
+  if (ctx.customInspect &&
+      value &&
+      isFunction(value.inspect) &&
+      // Filter out the util module, it's inspect function is special
+      value.inspect !== exports.inspect &&
+      // Also filter out any prototype objects using the circular check.
+      !(value.constructor && value.constructor.prototype === value)) {
+    var ret = value.inspect(recurseTimes, ctx);
+    if (!isString(ret)) {
+      ret = formatValue(ctx, ret, recurseTimes);
+    }
+    return ret;
+  }
+
+  // Primitive types cannot have properties
+  var primitive = formatPrimitive(ctx, value);
+  if (primitive) {
+    return primitive;
+  }
+
+  // Look up the keys of the object.
+  var keys = Object.keys(value);
+  var visibleKeys = arrayToHash(keys);
+
+  if (ctx.showHidden) {
+    keys = Object.getOwnPropertyNames(value);
+  }
+
+  // IE doesn't make error fields non-enumerable
+  // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
+  if (isError(value)
+      && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
+    return formatError(value);
+  }
+
+  // Some type of object without properties can be shortcutted.
+  if (keys.length === 0) {
+    if (isFunction(value)) {
+      var name = value.name ? ': ' + value.name : '';
+      return ctx.stylize('[Function' + name + ']', 'special');
+    }
+    if (isRegExp(value)) {
+      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
+    }
+    if (isDate(value)) {
+      return ctx.stylize(Date.prototype.toString.call(value), 'date');
+    }
+    if (isError(value)) {
+      return formatError(value);
+    }
+  }
+
+  var base = '', array = false, braces = ['{', '}'];
+
+  // Make Array say that they are Array
+  if (isArray(value)) {
+    array = true;
+    braces = ['[', ']'];
+  }
+
+  // Make functions say that they are functions
+  if (isFunction(value)) {
+    var n = value.name ? ': ' + value.name : '';
+    base = ' [Function' + n + ']';
+  }
+
+  // Make RegExps say that they are RegExps
+  if (isRegExp(value)) {
+    base = ' ' + RegExp.prototype.toString.call(value);
+  }
+
+  // Make dates with properties first say the date
+  if (isDate(value)) {
+    base = ' ' + Date.prototype.toUTCString.call(value);
+  }
+
+  // Make error with message first say the error
+  if (isError(value)) {
+    base = ' ' + formatError(value);
+  }
+
+  if (keys.length === 0 && (!array || value.length == 0)) {
+    return braces[0] + base + braces[1];
+  }
+
+  if (recurseTimes < 0) {
+    if (isRegExp(value)) {
+      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
+    } else {
+      return ctx.stylize('[Object]', 'special');
+    }
+  }
+
+  ctx.seen.push(value);
+
+  var output;
+  if (array) {
+    output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
+  } else {
+    output = keys.map(function(key) {
+      return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
+    });
+  }
+
+  ctx.seen.pop();
+
+  return reduceToSingleString(output, base, braces);
+}
+
+
+function formatPrimitive(ctx, value) {
+  if (isUndefined(value))
+    return ctx.stylize('undefined', 'undefined');
+  if (isString(value)) {
+    var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
+                                             .replace(/'/g, "\\'")
+                                             .replace(/\\"/g, '"') + '\'';
+    return ctx.stylize(simple, 'string');
+  }
+  if (isNumber(value))
+    return ctx.stylize('' + value, 'number');
+  if (isBoolean(value))
+    return ctx.stylize('' + value, 'boolean');
+  // For some reason typeof null is "object", so special case here.
+  if (isNull(value))
+    return ctx.stylize('null', 'null');
+}
+
+
+function formatError(value) {
+  return '[' + Error.prototype.toString.call(value) + ']';
+}
+
+
+function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
+  var output = [];
+  for (var i = 0, l = value.length; i < l; ++i) {
+    if (hasOwnProperty(value, String(i))) {
+      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
+          String(i), true));
+    } else {
+      output.push('');
+    }
+  }
+  keys.forEach(function(key) {
+    if (!key.match(/^\d+$/)) {
+      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
+          key, true));
+    }
+  });
+  return output;
+}
+
+
+function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
+  var name, str, desc;
+  desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
+  if (desc.get) {
+    if (desc.set) {
+      str = ctx.stylize('[Getter/Setter]', 'special');
+    } else {
+      str = ctx.stylize('[Getter]', 'special');
+    }
+  } else {
+    if (desc.set) {
+      str = ctx.stylize('[Setter]', 'special');
+    }
+  }
+  if (!hasOwnProperty(visibleKeys, key)) {
+    name = '[' + key + ']';
+  }
+  if (!str) {
+    if (ctx.seen.indexOf(desc.value) < 0) {
+      if (isNull(recurseTimes)) {
+        str = formatValue(ctx, desc.value, null);
+      } else {
+        str = formatValue(ctx, desc.value, recurseTimes - 1);
+      }
+      if (str.indexOf('\n') > -1) {
+        if (array) {
+          str = str.split('\n').map(function(line) {
+            return '  ' + line;
+          }).join('\n').substr(2);
+        } else {
+          str = '\n' + str.split('\n').map(function(line) {
+            return '   ' + line;
+          }).join('\n');
+        }
+      }
+    } else {
+      str = ctx.stylize('[Circular]', 'special');
+    }
+  }
+  if (isUndefined(name)) {
+    if (array && key.match(/^\d+$/)) {
+      return str;
+    }
+    name = JSON.stringify('' + key);
+    if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
+      name = name.substr(1, name.length - 2);
+      name = ctx.stylize(name, 'name');
+    } else {
+      name = name.replace(/'/g, "\\'")
+                 .replace(/\\"/g, '"')
+                 .replace(/(^"|"$)/g, "'");
+      name = ctx.stylize(name, 'string');
+    }
+  }
+
+  return name + ': ' + str;
+}
+
+
+function reduceToSingleString(output, base, braces) {
+  var numLinesEst = 0;
+  var length = output.reduce(function(prev, cur) {
+    numLinesEst++;
+    if (cur.indexOf('\n') >= 0) numLinesEst++;
+    return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
+  }, 0);
+
+  if (length > 60) {
+    return braces[0] +
+           (base === '' ? '' : base + '\n ') +
+           ' ' +
+           output.join(',\n  ') +
+           ' ' +
+           braces[1];
+  }
+
+  return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
+}
+
+
+// NOTE: These type checking functions intentionally don't use `instanceof`
+// because it is fragile and can be easily faked with `Object.create()`.
+function isArray(ar) {
+  return Array.isArray(ar);
+}
+exports.isArray = isArray;
+
+function isBoolean(arg) {
+  return typeof arg === 'boolean';
+}
+exports.isBoolean = isBoolean;
+
+function isNull(arg) {
+  return arg === null;
+}
+exports.isNull = isNull;
+
+function isNullOrUndefined(arg) {
+  return arg == null;
+}
+exports.isNullOrUndefined = isNullOrUndefined;
+
+function isNumber(arg) {
+  return typeof arg === 'number';
+}
+exports.isNumber = isNumber;
+
+function isString(arg) {
+  return typeof arg === 'string';
+}
+exports.isString = isString;
+
+function isSymbol(arg) {
+  return typeof arg === 'symbol';
+}
+exports.isSymbol = isSymbol;
+
+function isUndefined(arg) {
+  return arg === void 0;
+}
+exports.isUndefined = isUndefined;
+
+function isRegExp(re) {
+  return isObject(re) && objectToString(re) === '[object RegExp]';
+}
+exports.isRegExp = isRegExp;
+
+function isObject(arg) {
+  return typeof arg === 'object' && arg !== null;
+}
+exports.isObject = isObject;
+
+function isDate(d) {
+  return isObject(d) && objectToString(d) === '[object Date]';
+}
+exports.isDate = isDate;
+
+function isError(e) {
+  return isObject(e) &&
+      (objectToString(e) === '[object Error]' || e instanceof Error);
+}
+exports.isError = isError;
+
+function isFunction(arg) {
+  return typeof arg === 'function';
+}
+exports.isFunction = isFunction;
+
+function isPrimitive(arg) {
+  return arg === null ||
+         typeof arg === 'boolean' ||
+         typeof arg === 'number' ||
+         typeof arg === 'string' ||
+         typeof arg === 'symbol' ||  // ES6 symbol
+         typeof arg === 'undefined';
+}
+exports.isPrimitive = isPrimitive;
+
+exports.isBuffer = require('./support/isBuffer');
+
+function objectToString(o) {
+  return Object.prototype.toString.call(o);
+}
+
+
+function pad(n) {
+  return n < 10 ? '0' + n.toString(10) : n.toString(10);
+}
+
+
+var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
+              'Oct', 'Nov', 'Dec'];
+
+// 26 Feb 16:19:34
+function timestamp() {
+  var d = new Date();
+  var time = [pad(d.getHours()),
+              pad(d.getMinutes()),
+              pad(d.getSeconds())].join(':');
+  return [d.getDate(), months[d.getMonth()], time].join(' ');
+}
+
+
+// log is just a thin wrapper to console.log that prepends a timestamp
+exports.log = function() {
+  console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
+};
+
+
+/**
+ * Inherit the prototype methods from one constructor into another.
+ *
+ * The Function.prototype.inherits from lang.js rewritten as a standalone
+ * function (not on Function.prototype). NOTE: If this file is to be loaded
+ * during bootstrapping this function needs to be rewritten using some native
+ * functions as prototype setup using normal JavaScript does not work as
+ * expected during bootstrapping (see mirror.js in r114903).
+ *
+ * @param {function} ctor Constructor function which needs to inherit the
+ *     prototype.
+ * @param {function} superCtor Constructor function to inherit prototype from.
+ */
+exports.inherits = require('inherits');
+
+exports._extend = function(origin, add) {
+  // Don't do anything if add isn't an object
+  if (!add || !isObject(add)) return origin;
+
+  var keys = Object.keys(add);
+  var i = keys.length;
+  while (i--) {
+    origin[keys[i]] = add[keys[i]];
+  }
+  return origin;
+};
+
+function hasOwnProperty(obj, prop) {
+  return Object.prototype.hasOwnProperty.call(obj, prop);
+}
+
+}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{"./support/isBuffer":65,"_process":51,"inherits":48}],67:[function(require,module,exports){
+/* See LICENSE file for terms of use */
+
+/*
+ * Text diff implementation.
+ *
+ * This library supports the following APIS:
+ * JsDiff.diffChars: Character by character diff
+ * JsDiff.diffWords: Word (as defined by \b regex) diff which ignores whitespace
+ * JsDiff.diffLines: Line based diff
+ *
+ * JsDiff.diffCss: Diff targeted at CSS content
+ *
+ * These methods are based on the implementation proposed in
+ * "An O(ND) Difference Algorithm and its Variations" (Myers, 1986).
+ * http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.4.6927
+ */
+(function(global, undefined) {
+  var objectPrototypeToString = Object.prototype.toString;
+
+  /*istanbul ignore next*/
+  function map(arr, mapper, that) {
+    if (Array.prototype.map) {
+      return Array.prototype.map.call(arr, mapper, that);
+    }
+
+    var other = new Array(arr.length);
+
+    for (var i = 0, n = arr.length; i < n; i++) {
+      other[i] = mapper.call(that, arr[i], i, arr);
+    }
+    return other;
+  }
+  function clonePath(path) {
+    return { newPos: path.newPos, components: path.components.slice(0) };
+  }
+  function removeEmpty(array) {
+    var ret = [];
+    for (var i = 0; i < array.length; i++) {
+      if (array[i]) {
+        ret.push(array[i]);
+      }
+    }
+    return ret;
+  }
+  function escapeHTML(s) {
+    var n = s;
+    n = n.replace(/&/g, '&amp;');
+    n = n.replace(/</g, '&lt;');
+    n = n.replace(/>/g, '&gt;');
+    n = n.replace(/"/g, '&quot;');
+
+    return n;
+  }
+
+  // This function handles the presence of circular references by bailing out when encountering an
+  // object that is already on the "stack" of items being processed.
+  function canonicalize(obj, stack, replacementStack) {
+    stack = stack || [];
+    replacementStack = replacementStack || [];
+
+    var i;
+
+    for (i = 0; i < stack.length; i += 1) {
+      if (stack[i] === obj) {
+        return replacementStack[i];
+      }
+    }
+
+    var canonicalizedObj;
+
+    if ('[object Array]' === objectPrototypeToString.call(obj)) {
+      stack.push(obj);
+      canonicalizedObj = new Array(obj.length);
+      replacementStack.push(canonicalizedObj);
+      for (i = 0; i < obj.length; i += 1) {
+        canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack);
+      }
+      stack.pop();
+      replacementStack.pop();
+    } else if (typeof obj === 'object' && obj !== null) {
+      stack.push(obj);
+      canonicalizedObj = {};
+      replacementStack.push(canonicalizedObj);
+      var sortedKeys = [],
+          key;
+      for (key in obj) {
+        sortedKeys.push(key);
+      }
+      sortedKeys.sort();
+      for (i = 0; i < sortedKeys.length; i += 1) {
+        key = sortedKeys[i];
+        canonicalizedObj[key] = canonicalize(obj[key], stack, replacementStack);
+      }
+      stack.pop();
+      replacementStack.pop();
+    } else {
+      canonicalizedObj = obj;
+    }
+    return canonicalizedObj;
+  }
+
+  function buildValues(components, newString, oldString, useLongestToken) {
+    var componentPos = 0,
+        componentLen = components.length,
+        newPos = 0,
+        oldPos = 0;
+
+    for (; componentPos < componentLen; componentPos++) {
+      var component = components[componentPos];
+      if (!component.removed) {
+        if (!component.added && useLongestToken) {
+          var value = newString.slice(newPos, newPos + component.count);
+          value = map(value, function(value, i) {
+            var oldValue = oldString[oldPos + i];
+            return oldValue.length > value.length ? oldValue : value;
+          });
+
+          component.value = value.join('');
+        } else {
+          component.value = newString.slice(newPos, newPos + component.count).join('');
+        }
+        newPos += component.count;
+
+        // Common case
+        if (!component.added) {
+          oldPos += component.count;
+        }
+      } else {
+        component.value = oldString.slice(oldPos, oldPos + component.count).join('');
+        oldPos += component.count;
+
+        // Reverse add and remove so removes are output first to match common convention
+        // The diffing algorithm is tied to add then remove output and this is the simplest
+        // route to get the desired output with minimal overhead.
+        if (componentPos && components[componentPos - 1].added) {
+          var tmp = components[componentPos - 1];
+          components[componentPos - 1] = components[componentPos];
+          components[componentPos] = tmp;
+        }
+      }
+    }
+
+    return components;
+  }
+
+  function Diff(ignoreWhitespace) {
+    this.ignoreWhitespace = ignoreWhitespace;
+  }
+  Diff.prototype = {
+    diff: function(oldString, newString, callback) {
+      var self = this;
+
+      function done(value) {
+        if (callback) {
+          setTimeout(function() { callback(undefined, value); }, 0);
+          return true;
+        } else {
+          return value;
+        }
+      }
+
+      // Handle the identity case (this is due to unrolling editLength == 0
+      if (newString === oldString) {
+        return done([{ value: newString }]);
+      }
+      if (!newString) {
+        return done([{ value: oldString, removed: true }]);
+      }
+      if (!oldString) {
+        return done([{ value: newString, added: true }]);
+      }
+
+      newString = this.tokenize(newString);
+      oldString = this.tokenize(oldString);
+
+      var newLen = newString.length, oldLen = oldString.length;
+      var editLength = 1;
+      var maxEditLength = newLen + oldLen;
+      var bestPath = [{ newPos: -1, components: [] }];
+
+      // Seed editLength = 0, i.e. the content starts with the same values
+      var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0);
+      if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {
+        // Identity per the equality and tokenizer
+        return done([{value: newString.join('')}]);
+      }
+
+      // Main worker method. checks all permutations of a given edit length for acceptance.
+      function execEditLength() {
+        for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {
+          var basePath;
+          var addPath = bestPath[diagonalPath - 1],
+              removePath = bestPath[diagonalPath + 1],
+              oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;
+          if (addPath) {
+            // No one else is going to attempt to use this value, clear it
+            bestPath[diagonalPath - 1] = undefined;
+          }
+
+          var canAdd = addPath && addPath.newPos + 1 < newLen,
+              canRemove = removePath && 0 <= oldPos && oldPos < oldLen;
+          if (!canAdd && !canRemove) {
+            // If this path is a terminal then prune
+            bestPath[diagonalPath] = undefined;
+            continue;
+          }
+
+          // Select the diagonal that we want to branch from. We select the prior
+          // path whose position in the new string is the farthest from the origin
+          // and does not pass the bounds of the diff graph
+          if (!canAdd || (canRemove && addPath.newPos < removePath.newPos)) {
+            basePath = clonePath(removePath);
+            self.pushComponent(basePath.components, undefined, true);
+          } else {
+            basePath = addPath;   // No need to clone, we've pulled it from the list
+            basePath.newPos++;
+            self.pushComponent(basePath.components, true, undefined);
+          }
+
+          oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath);
+
+          // If we have hit the end of both strings, then we are done
+          if (basePath.newPos + 1 >= newLen && oldPos + 1 >= oldLen) {
+            return done(buildValues(basePath.components, newString, oldString, self.useLongestToken));
+          } else {
+            // Otherwise track this path as a potential candidate and continue.
+            bestPath[diagonalPath] = basePath;
+          }
+        }
+
+        editLength++;
+      }
+
+      // Performs the length of edit iteration. Is a bit fugly as this has to support the
+      // sync and async mode which is never fun. Loops over execEditLength until a value
+      // is produced.
+      if (callback) {
+        (function exec() {
+          setTimeout(function() {
+            // This should not happen, but we want to be safe.
+            /*istanbul ignore next */
+            if (editLength > maxEditLength) {
+              return callback();
+            }
+
+            if (!execEditLength()) {
+              exec();
+            }
+          }, 0);
+        }());
+      } else {
+        while (editLength <= maxEditLength) {
+          var ret = execEditLength();
+          if (ret) {
+            return ret;
+          }
+        }
+      }
+    },
+
+    pushComponent: function(components, added, removed) {
+      var last = components[components.length - 1];
+      if (last && last.added === added && last.removed === removed) {
+        // We need to clone here as the component clone operation is just
+        // as shallow array clone
+        components[components.length - 1] = {count: last.count + 1, added: added, removed: removed };
+      } else {
+        components.push({count: 1, added: added, removed: removed });
+      }
+    },
+    extractCommon: function(basePath, newString, oldString, diagonalPath) {
+      var newLen = newString.length,
+          oldLen = oldString.length,
+          newPos = basePath.newPos,
+          oldPos = newPos - diagonalPath,
+
+          commonCount = 0;
+      while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {
+        newPos++;
+        oldPos++;
+        commonCount++;
+      }
+
+      if (commonCount) {
+        basePath.components.push({count: commonCount});
+      }
+
+      basePath.newPos = newPos;
+      return oldPos;
+    },
+
+    equals: function(left, right) {
+      var reWhitespace = /\S/;
+      return left === right || (this.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right));
+    },
+    tokenize: function(value) {
+      return value.split('');
+    }
+  };
+
+  var CharDiff = new Diff();
+
+  var WordDiff = new Diff(true);
+  var WordWithSpaceDiff = new Diff();
+  WordDiff.tokenize = WordWithSpaceDiff.tokenize = function(value) {
+    return removeEmpty(value.split(/(\s+|\b)/));
+  };
+
+  var CssDiff = new Diff(true);
+  CssDiff.tokenize = function(value) {
+    return removeEmpty(value.split(/([{}:;,]|\s+)/));
+  };
+
+  var LineDiff = new Diff();
+
+  var TrimmedLineDiff = new Diff();
+  TrimmedLineDiff.ignoreTrim = true;
+
+  LineDiff.tokenize = TrimmedLineDiff.tokenize = function(value) {
+    var retLines = [],
+        lines = value.split(/^/m);
+    for (var i = 0; i < lines.length; i++) {
+      var line = lines[i],
+          lastLine = lines[i - 1],
+          lastLineLastChar = lastLine && lastLine[lastLine.length - 1];
+
+      // Merge lines that may contain windows new lines
+      if (line === '\n' && lastLineLastChar === '\r') {
+          retLines[retLines.length - 1] = retLines[retLines.length - 1].slice(0, -1) + '\r\n';
+      } else {
+        if (this.ignoreTrim) {
+          line = line.trim();
+          // add a newline unless this is the last line.
+          if (i < lines.length - 1) {
+            line += '\n';
+          }
+        }
+        retLines.push(line);
+      }
+    }
+
+    return retLines;
+  };
+
+  var PatchDiff = new Diff();
+  PatchDiff.tokenize = function(value) {
+    var ret = [],
+        linesAndNewlines = value.split(/(\n|\r\n)/);
+
+    // Ignore the final empty token that occurs if the string ends with a new line
+    if (!linesAndNewlines[linesAndNewlines.length - 1]) {
+      linesAndNewlines.pop();
+    }
+
+    // Merge the content and line separators into single tokens
+    for (var i = 0; i < linesAndNewlines.length; i++) {
+      var line = linesAndNewlines[i];
+
+      if (i % 2) {
+        ret[ret.length - 1] += line;
+      } else {
+        ret.push(line);
+      }
+    }
+    return ret;
+  };
+
+  var SentenceDiff = new Diff();
+  SentenceDiff.tokenize = function(value) {
+    return removeEmpty(value.split(/(\S.+?[.!?])(?=\s+|$)/));
+  };
+
+  var JsonDiff = new Diff();
+  // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a
+  // dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output:
+  JsonDiff.useLongestToken = true;
+  JsonDiff.tokenize = LineDiff.tokenize;
+  JsonDiff.equals = function(left, right) {
+    return LineDiff.equals(left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1'));
+  };
+
+  var JsDiff = {
+    Diff: Diff,
+
+    diffChars: function(oldStr, newStr, callback) { return CharDiff.diff(oldStr, newStr, callback); },
+    diffWords: function(oldStr, newStr, callback) { return WordDiff.diff(oldStr, newStr, callback); },
+    diffWordsWithSpace: function(oldStr, newStr, callback) { return WordWithSpaceDiff.diff(oldStr, newStr, callback); },
+    diffLines: function(oldStr, newStr, callback) { return LineDiff.diff(oldStr, newStr, callback); },
+    diffTrimmedLines: function(oldStr, newStr, callback) { return TrimmedLineDiff.diff(oldStr, newStr, callback); },
+
+    diffSentences: function(oldStr, newStr, callback) { return SentenceDiff.diff(oldStr, newStr, callback); },
+
+    diffCss: function(oldStr, newStr, callback) { return CssDiff.diff(oldStr, newStr, callback); },
+    diffJson: function(oldObj, newObj, callback) {
+      return JsonDiff.diff(
+        typeof oldObj === 'string' ? oldObj : JSON.stringify(canonicalize(oldObj), undefined, '  '),
+        typeof newObj === 'string' ? newObj : JSON.stringify(canonicalize(newObj), undefined, '  '),
+        callback
+      );
+    },
+
+    createTwoFilesPatch: function(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader) {
+      var ret = [];
+
+      if (oldFileName == newFileName) {
+        ret.push('Index: ' + oldFileName);
+      }
+      ret.push('===================================================================');
+      ret.push('--- ' + oldFileName + (typeof oldHeader === 'undefined' ? '' : '\t' + oldHeader));
+      ret.push('+++ ' + newFileName + (typeof newHeader === 'undefined' ? '' : '\t' + newHeader));
+
+      var diff = PatchDiff.diff(oldStr, newStr);
+      diff.push({value: '', lines: []});   // Append an empty value to make cleanup easier
+
+      // Formats a given set of lines for printing as context lines in a patch
+      function contextLines(lines) {
+        return map(lines, function(entry) { return ' ' + entry; });
+      }
+
+      // Outputs the no newline at end of file warning if needed
+      function eofNL(curRange, i, current) {
+        var last = diff[diff.length - 2],
+            isLast = i === diff.length - 2,
+            isLastOfType = i === diff.length - 3 && current.added !== last.added;
+
+        // Figure out if this is the last line for the given file and missing NL
+        if (!(/\n$/.test(current.value)) && (isLast || isLastOfType)) {
+          curRange.push('\\ No newline at end of file');
+        }
+      }
+
+      var oldRangeStart = 0, newRangeStart = 0, curRange = [],
+          oldLine = 1, newLine = 1;
+      for (var i = 0; i < diff.length; i++) {
+        var current = diff[i],
+            lines = current.lines || current.value.replace(/\n$/, '').split('\n');
+        current.lines = lines;
+
+        if (current.added || current.removed) {
+          // If we have previous context, start with that
+          if (!oldRangeStart) {
+            var prev = diff[i - 1];
+            oldRangeStart = oldLine;
+            newRangeStart = newLine;
+
+            if (prev) {
+              curRange = contextLines(prev.lines.slice(-4));
+              oldRangeStart -= curRange.length;
+              newRangeStart -= curRange.length;
+            }
+          }
+
+          // Output our changes
+          curRange.push.apply(curRange, map(lines, function(entry) {
+            return (current.added ? '+' : '-') + entry;
+          }));
+          eofNL(curRange, i, current);
+
+          // Track the updated file position
+          if (current.added) {
+            newLine += lines.length;
+          } else {
+            oldLine += lines.length;
+          }
+        } else {
+          // Identical context lines. Track line changes
+          if (oldRangeStart) {
+            // Close out any changes that have been output (or join overlapping)
+            if (lines.length <= 8 && i < diff.length - 2) {
+              // Overlapping
+              curRange.push.apply(curRange, contextLines(lines));
+            } else {
+              // end the range and output
+              var contextSize = Math.min(lines.length, 4);
+              ret.push(
+                  '@@ -' + oldRangeStart + ',' + (oldLine - oldRangeStart + contextSize)
+                  + ' +' + newRangeStart + ',' + (newLine - newRangeStart + contextSize)
+                  + ' @@');
+              ret.push.apply(ret, curRange);
+              ret.push.apply(ret, contextLines(lines.slice(0, contextSize)));
+              if (lines.length <= 4) {
+                eofNL(ret, i, current);
+              }
+
+              oldRangeStart = 0;
+              newRangeStart = 0;
+              curRange = [];
+            }
+          }
+          oldLine += lines.length;
+          newLine += lines.length;
+        }
+      }
+
+      return ret.join('\n') + '\n';
+    },
+
+    createPatch: function(fileName, oldStr, newStr, oldHeader, newHeader) {
+      return JsDiff.createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader);
+    },
+
+    applyPatch: function(oldStr, uniDiff) {
+      var diffstr = uniDiff.split('\n'),
+          hunks = [],
+          i = 0,
+          remEOFNL = false,
+          addEOFNL = false;
+
+      // Skip to the first change hunk
+      while (i < diffstr.length && !(/^@@/.test(diffstr[i]))) {
+        i++;
+      }
+
+      // Parse the unified diff
+      for (; i < diffstr.length; i++) {
+        if (diffstr[i][0] === '@') {
+          var chnukHeader = diffstr[i].split(/@@ -(\d+),(\d+) \+(\d+),(\d+) @@/);
+          hunks.unshift({
+            start: chnukHeader[3],
+            oldlength: +chnukHeader[2],
+            removed: [],
+            newlength: chnukHeader[4],
+            added: []
+          });
+        } else if (diffstr[i][0] === '+') {
+          hunks[0].added.push(diffstr[i].substr(1));
+        } else if (diffstr[i][0] === '-') {
+          hunks[0].removed.push(diffstr[i].substr(1));
+        } else if (diffstr[i][0] === ' ') {
+          hunks[0].added.push(diffstr[i].substr(1));
+          hunks[0].removed.push(diffstr[i].substr(1));
+        } else if (diffstr[i][0] === '\\') {
+          if (diffstr[i - 1][0] === '+') {
+            remEOFNL = true;
+          } else if (diffstr[i - 1][0] === '-') {
+            addEOFNL = true;
+          }
+        }
+      }
+
+      // Apply the diff to the input
+      var lines = oldStr.split('\n');
+      for (i = hunks.length - 1; i >= 0; i--) {
+        var hunk = hunks[i];
+        // Sanity check the input string. Bail if we don't match.
+        for (var j = 0; j < hunk.oldlength; j++) {
+          if (lines[hunk.start - 1 + j] !== hunk.removed[j]) {
+            return false;
+          }
+        }
+        Array.prototype.splice.apply(lines, [hunk.start - 1, hunk.oldlength].concat(hunk.added));
+      }
+
+      // Handle EOFNL insertion/removal
+      if (remEOFNL) {
+        while (!lines[lines.length - 1]) {
+          lines.pop();
+        }
+      } else if (addEOFNL) {
+        lines.push('');
+      }
+      return lines.join('\n');
+    },
+
+    convertChangesToXML: function(changes) {
+      var ret = [];
+      for (var i = 0; i < changes.length; i++) {
+        var change = changes[i];
+        if (change.added) {
+          ret.push('<ins>');
+        } else if (change.removed) {
+          ret.push('<del>');
+        }
+
+        ret.push(escapeHTML(change.value));
+
+        if (change.added) {
+          ret.push('</ins>');
+        } else if (change.removed) {
+          ret.push('</del>');
+        }
+      }
+      return ret.join('');
+    },
+
+    // See: http://code.google.com/p/google-diff-match-patch/wiki/API
+    convertChangesToDMP: function(changes) {
+      var ret = [],
+          change,
+          operation;
+      for (var i = 0; i < changes.length; i++) {
+        change = changes[i];
+        if (change.added) {
+          operation = 1;
+        } else if (change.removed) {
+          operation = -1;
+        } else {
+          operation = 0;
+        }
+
+        ret.push([operation, change.value]);
+      }
+      return ret;
+    },
+
+    canonicalize: canonicalize
+  };
+
+  /*istanbul ignore next */
+  /*global module */
+  if (typeof module !== 'undefined' && module.exports) {
+    module.exports = JsDiff;
+  } else if (typeof define === 'function' && define.amd) {
+    /*global define */
+    define([], function() { return JsDiff; });
+  } else if (typeof global.JsDiff === 'undefined') {
+    global.JsDiff = JsDiff;
+  }
+}(this));
+
+},{}],68:[function(require,module,exports){
+'use strict';
+
+var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
+
+module.exports = function (str) {
+	if (typeof str !== 'string') {
+		throw new TypeError('Expected a string');
+	}
+
+	return str.replace(matchOperatorsRe,  '\\$&');
+};
+
+},{}],69:[function(require,module,exports){
+(function (process){
+// Growl - Copyright TJ Holowaychuk <tj@vision-media.ca> (MIT Licensed)
+
+/**
+ * Module dependencies.
+ */
+
+var exec = require('child_process').exec
+  , fs = require('fs')
+  , path = require('path')
+  , exists = fs.existsSync || path.existsSync
+  , os = require('os')
+  , quote = JSON.stringify
+  , cmd;
+
+function which(name) {
+  var paths = process.env.PATH.split(':');
+  var loc;
+  
+  for (var i = 0, len = paths.length; i < len; ++i) {
+    loc = path.join(paths[i], name);
+    if (exists(loc)) return loc;
+  }
+}
+
+switch(os.type()) {
+  case 'Darwin':
+    if (which('terminal-notifier')) {
+      cmd = {
+          type: "Darwin-NotificationCenter"
+        , pkg: "terminal-notifier"
+        , msg: '-message'
+        , title: '-title'
+        , subtitle: '-subtitle'
+        , priority: {
+              cmd: '-execute'
+            , range: []
+          }
+      };
+    } else {
+      cmd = {
+          type: "Darwin-Growl"
+        , pkg: "growlnotify"
+        , msg: '-m'
+        , sticky: '--sticky'
+        , priority: {
+              cmd: '--priority'
+            , range: [
+                -2
+              , -1
+              , 0
+              , 1
+              , 2
+              , "Very Low"
+              , "Moderate"
+              , "Normal"
+              , "High"
+              , "Emergency"
+            ]
+          }
+      };
+    }
+    break;
+  case 'Linux':
+    cmd = {
+        type: "Linux"
+      , pkg: "notify-send"
+      , msg: ''
+      , sticky: '-t 0'
+      , icon: '-i'
+      , priority: {
+          cmd: '-u'
+        , range: [
+            "low"
+          , "normal"
+          , "critical"
+        ]
+      }
+    };
+    break;
+  case 'Windows_NT':
+    cmd = {
+        type: "Windows"
+      , pkg: "growlnotify"
+      , msg: ''
+      , sticky: '/s:true'
+      , title: '/t:'
+      , icon: '/i:'
+      , priority: {
+            cmd: '/p:'
+          , range: [
+              -2
+            , -1
+            , 0
+            , 1
+            , 2
+          ]
+        }
+    };
+    break;
+}
+
+/**
+ * Expose `growl`.
+ */
+
+exports = module.exports = growl;
+
+/**
+ * Node-growl version.
+ */
+
+exports.version = '1.4.1'
+
+/**
+ * Send growl notification _msg_ with _options_.
+ *
+ * Options:
+ *
+ *  - title   Notification title
+ *  - sticky  Make the notification stick (defaults to false)
+ *  - priority  Specify an int or named key (default is 0)
+ *  - name    Application name (defaults to growlnotify)
+ *  - image
+ *    - path to an icon sets --iconpath
+ *    - path to an image sets --image
+ *    - capitalized word sets --appIcon
+ *    - filename uses extname as --icon
+ *    - otherwise treated as --icon
+ *
+ * Examples:
+ *
+ *   growl('New email')
+ *   growl('5 new emails', { title: 'Thunderbird' })
+ *   growl('Email sent', function(){
+ *     // ... notification sent
+ *   })
+ *
+ * @param {string} msg
+ * @param {object} options
+ * @param {function} fn
+ * @api public
+ */
+
+function growl(msg, options, fn) {
+  var image
+    , args
+    , options = options || {}
+    , fn = fn || function(){};
+
+  // noop
+  if (!cmd) return fn(new Error('growl not supported on this platform'));
+  args = [cmd.pkg];
+
+  // image
+  if (image = options.image) {
+    switch(cmd.type) {
+      case 'Darwin-Growl':
+        var flag, ext = path.extname(image).substr(1)
+        flag = flag || ext == 'icns' && 'iconpath'
+        flag = flag || /^[A-Z]/.test(image) && 'appIcon'
+        flag = flag || /^png|gif|jpe?g$/.test(ext) && 'image'
+        flag = flag || ext && (image = ext) && 'icon'
+        flag = flag || 'icon'
+        args.push('--' + flag, quote(image))
+        break;
+      case 'Linux':
+        args.push(cmd.icon, quote(image));
+        // libnotify defaults to sticky, set a hint for transient notifications
+        if (!options.sticky) args.push('--hint=int:transient:1');
+        break;
+      case 'Windows':
+        args.push(cmd.icon + quote(image));
+        break;
+    }
+  }
+
+  // sticky
+  if (options.sticky) args.push(cmd.sticky);
+
+  // priority
+  if (options.priority) {
+    var priority = options.priority + '';
+    var checkindexOf = cmd.priority.range.indexOf(priority);
+    if (~cmd.priority.range.indexOf(priority)) {
+      args.push(cmd.priority, options.priority);
+    }
+  }
+
+  // name
+  if (options.name && cmd.type === "Darwin-Growl") {
+    args.push('--name', options.name);
+  }
+
+  switch(cmd.type) {
+    case 'Darwin-Growl':
+      args.push(cmd.msg);
+      args.push(quote(msg));
+      if (options.title) args.push(quote(options.title));
+      break;
+    case 'Darwin-NotificationCenter':
+      args.push(cmd.msg);
+      args.push(quote(msg));
+      if (options.title) {
+        args.push(cmd.title);
+        args.push(quote(options.title));
+      }
+      if (options.subtitle) {
+        args.push(cmd.subtitle);
+        args.push(quote(options.subtitle));
+      }
+      break;
+    case 'Darwin-Growl':
+      args.push(cmd.msg);
+      args.push(quote(msg));
+      if (options.title) args.push(quote(options.title));
+      break;
+    case 'Linux':
+      if (options.title) {
+        args.push(quote(options.title));
+        args.push(cmd.msg);
+        args.push(quote(msg));
+      } else {
+        args.push(quote(msg));
+      }
+      break;
+    case 'Windows':
+      args.push(quote(msg));
+      if (options.title) args.push(cmd.title + quote(options.title));
+      break;
+  }
+
+  // execute
+  exec(args.join(' '), fn);
+};
+
+}).call(this,require('_process'))
+},{"_process":51,"child_process":41,"fs":41,"os":50,"path":41}],70:[function(require,module,exports){
+(function (process,global){
+/**
+ * Shim process.stdout.
+ */
+
+process.stdout = require('browser-stdout')();
+
+var Mocha = require('../');
+
+/**
+ * Create a Mocha instance.
+ *
+ * @return {undefined}
+ */
+
+var mocha = new Mocha({ reporter: 'html' });
+
+/**
+ * Save timer references to avoid Sinon interfering (see GH-237).
+ */
+
+var Date = global.Date;
+var setTimeout = global.setTimeout;
+var setInterval = global.setInterval;
+var clearTimeout = global.clearTimeout;
+var clearInterval = global.clearInterval;
+
+var uncaughtExceptionHandlers = [];
+
+var originalOnerrorHandler = global.onerror;
+
+/**
+ * Remove uncaughtException listener.
+ * Revert to original onerror handler if previously defined.
+ */
+
+process.removeListener = function(e, fn){
+  if ('uncaughtException' == e) {
+    if (originalOnerrorHandler) {
+      global.onerror = originalOnerrorHandler;
+    } else {
+      global.onerror = function() {};
+    }
+    var i = Mocha.utils.indexOf(uncaughtExceptionHandlers, fn);
+    if (i != -1) { uncaughtExceptionHandlers.splice(i, 1); }
+  }
+};
+
+/**
+ * Implements uncaughtException listener.
+ */
+
+process.on = function(e, fn){
+  if ('uncaughtException' == e) {
+    global.onerror = function(err, url, line){
+      fn(new Error(err + ' (' + url + ':' + line + ')'));
+      return !mocha.allowUncaught;
+    };
+    uncaughtExceptionHandlers.push(fn);
+  }
+};
+
+// The BDD UI is registered by default, but no UI will be functional in the
+// browser without an explicit call to the overridden `mocha.ui` (see below).
+// Ensure that this default UI does not expose its methods to the global scope.
+mocha.suite.removeAllListeners('pre-require');
+
+var immediateQueue = []
+  , immediateTimeout;
+
+function timeslice() {
+  var immediateStart = new Date().getTime();
+  while (immediateQueue.length && (new Date().getTime() - immediateStart) < 100) {
+    immediateQueue.shift()();
+  }
+  if (immediateQueue.length) {
+    immediateTimeout = setTimeout(timeslice, 0);
+  } else {
+    immediateTimeout = null;
+  }
+}
+
+/**
+ * High-performance override of Runner.immediately.
+ */
+
+Mocha.Runner.immediately = function(callback) {
+  immediateQueue.push(callback);
+  if (!immediateTimeout) {
+    immediateTimeout = setTimeout(timeslice, 0);
+  }
+};
+
+/**
+ * Function to allow assertion libraries to throw errors directly into mocha.
+ * This is useful when running tests in a browser because window.onerror will
+ * only receive the 'message' attribute of the Error.
+ */
+mocha.throwError = function(err) {
+  Mocha.utils.forEach(uncaughtExceptionHandlers, function (fn) {
+    fn(err);
+  });
+  throw err;
+};
+
+/**
+ * Override ui to ensure that the ui functions are initialized.
+ * Normally this would happen in Mocha.prototype.loadFiles.
+ */
+
+mocha.ui = function(ui){
+  Mocha.prototype.ui.call(this, ui);
+  this.suite.emit('pre-require', global, null, this);
+  return this;
+};
+
+/**
+ * Setup mocha with the given setting options.
+ */
+
+mocha.setup = function(opts){
+  if ('string' == typeof opts) opts = { ui: opts };
+  for (var opt in opts) this[opt](opts[opt]);
+  return this;
+};
+
+/**
+ * Run mocha, returning the Runner.
+ */
+
+mocha.run = function(fn){
+  var options = mocha.options;
+  mocha.globals('location');
+
+  var query = Mocha.utils.parseQuery(global.location.search || '');
+  if (query.grep) mocha.grep(new RegExp(query.grep));
+  if (query.fgrep) mocha.grep(query.fgrep);
+  if (query.invert) mocha.invert();
+
+  return Mocha.prototype.run.call(mocha, function(err){
+    // The DOM Document is not available in Web Workers.
+    var document = global.document;
+    if (document && document.getElementById('mocha') && options.noHighlighting !== true) {
+      Mocha.utils.highlightTags('code');
+    }
+    if (fn) fn(err);
+  });
+};
+
+/**
+ * Expose the process shim.
+ * https://github.com/mochajs/mocha/pull/916
+ */
+
+Mocha.process = process;
+
+/**
+ * Expose mocha.
+ */
+
+window.Mocha = Mocha;
+window.mocha = mocha;
+
+}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{"../":1,"_process":51,"browser-stdout":40}]},{},[70]);
diff --git a/libraries/foundation-6/test/javascript/lib/sinon.js b/libraries/foundation-6/test/javascript/lib/sinon.js
new file mode 100755
index 00000000..dc73fc82
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/lib/sinon.js
@@ -0,0 +1,6437 @@
+/**
+ * Sinon.JS 1.17.3, 2016/01/27
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @author Contributors: https://github.com/cjohansen/Sinon.JS/blob/master/AUTHORS
+ *
+ * (The BSD License)
+ *
+ * Copyright (c) 2010-2014, Christian Johansen, christian@cjohansen.no
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ *     * Redistributions of source code must retain the above copyright notice,
+ *       this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright notice,
+ *       this list of conditions and the following disclaimer in the documentation
+ *       and/or other materials provided with the distribution.
+ *     * Neither the name of Christian Johansen nor the names of his contributors
+ *       may be used to endorse or promote products derived from this software
+ *       without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+(function (root, factory) {
+  'use strict';
+  if (typeof define === 'function' && define.amd) {
+    define('sinon', [], function () {
+      return (root.sinon = factory());
+    });
+  } else if (typeof exports === 'object') {
+    module.exports = factory();
+  } else {
+    root.sinon = factory();
+  }
+}(this, function () {
+  'use strict';
+  var samsam, formatio, lolex;
+  (function () {
+                function define(mod, deps, fn) {
+                  if (mod == "samsam") {
+                    samsam = deps();
+                  } else if (typeof deps === "function" && mod.length === 0) {
+                    lolex = deps();
+                  } else if (typeof fn === "function") {
+                    formatio = fn(samsam);
+                  }
+                }
+    define.amd = {};
+((typeof define === "function" && define.amd && function (m) { define("samsam", m); }) ||
+ (typeof module === "object" &&
+      function (m) { module.exports = m(); }) || // Node
+ function (m) { this.samsam = m(); } // Browser globals
+)(function () {
+    var o = Object.prototype;
+    var div = typeof document !== "undefined" && document.createElement("div");
+
+    function isNaN(value) {
+        // Unlike global isNaN, this avoids type coercion
+        // typeof check avoids IE host object issues, hat tip to
+        // lodash
+        var val = value; // JsLint thinks value !== value is "weird"
+        return typeof value === "number" && value !== val;
+    }
+
+    function getClass(value) {
+        // Returns the internal [[Class]] by calling Object.prototype.toString
+        // with the provided value as this. Return value is a string, naming the
+        // internal class, e.g. "Array"
+        return o.toString.call(value).split(/[ \]]/)[1];
+    }
+
+    /**
+     * @name samsam.isArguments
+     * @param Object object
+     *
+     * Returns ``true`` if ``object`` is an ``arguments`` object,
+     * ``false`` otherwise.
+     */
+    function isArguments(object) {
+        if (getClass(object) === 'Arguments') { return true; }
+        if (typeof object !== "object" || typeof object.length !== "number" ||
+                getClass(object) === "Array") {
+            return false;
+        }
+        if (typeof object.callee == "function") { return true; }
+        try {
+            object[object.length] = 6;
+            delete object[object.length];
+        } catch (e) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * @name samsam.isElement
+     * @param Object object
+     *
+     * Returns ``true`` if ``object`` is a DOM element node. Unlike
+     * Underscore.js/lodash, this function will return ``false`` if ``object``
+     * is an *element-like* object, i.e. a regular object with a ``nodeType``
+     * property that holds the value ``1``.
+     */
+    function isElement(object) {
+        if (!object || object.nodeType !== 1 || !div) { return false; }
+        try {
+            object.appendChild(div);
+            object.removeChild(div);
+        } catch (e) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * @name samsam.keys
+     * @param Object object
+     *
+     * Return an array of own property names.
+     */
+    function keys(object) {
+        var ks = [], prop;
+        for (prop in object) {
+            if (o.hasOwnProperty.call(object, prop)) { ks.push(prop); }
+        }
+        return ks;
+    }
+
+    /**
+     * @name samsam.isDate
+     * @param Object value
+     *
+     * Returns true if the object is a ``Date``, or *date-like*. Duck typing
+     * of date objects work by checking that the object has a ``getTime``
+     * function whose return value equals the return value from the object's
+     * ``valueOf``.
+     */
+    function isDate(value) {
+        return typeof value.getTime == "function" &&
+            value.getTime() == value.valueOf();
+    }
+
+    /**
+     * @name samsam.isNegZero
+     * @param Object value
+     *
+     * Returns ``true`` if ``value`` is ``-0``.
+     */
+    function isNegZero(value) {
+        return value === 0 && 1 / value === -Infinity;
+    }
+
+    /**
+     * @name samsam.equal
+     * @param Object obj1
+     * @param Object obj2
+     *
+     * Returns ``true`` if two objects are strictly equal. Compared to
+     * ``===`` there are two exceptions:
+     *
+     *   - NaN is considered equal to NaN
+     *   - -0 and +0 are not considered equal
+     */
+    function identical(obj1, obj2) {
+        if (obj1 === obj2 || (isNaN(obj1) && isNaN(obj2))) {
+            return obj1 !== 0 || isNegZero(obj1) === isNegZero(obj2);
+        }
+    }
+
+
+    /**
+     * @name samsam.deepEqual
+     * @param Object obj1
+     * @param Object obj2
+     *
+     * Deep equal comparison. Two values are "deep equal" if:
+     *
+     *   - They are equal, according to samsam.identical
+     *   - They are both date objects representing the same time
+     *   - They are both arrays containing elements that are all deepEqual
+     *   - They are objects with the same set of properties, and each property
+     *     in ``obj1`` is deepEqual to the corresponding property in ``obj2``
+     *
+     * Supports cyclic objects.
+     */
+    function deepEqualCyclic(obj1, obj2) {
+
+        // used for cyclic comparison
+        // contain already visited objects
+        var objects1 = [],
+            objects2 = [],
+        // contain pathes (position in the object structure)
+        // of the already visited objects
+        // indexes same as in objects arrays
+            paths1 = [],
+            paths2 = [],
+        // contains combinations of already compared objects
+        // in the manner: { "$1['ref']$2['ref']": true }
+            compared = {};
+
+        /**
+         * used to check, if the value of a property is an object
+         * (cyclic logic is only needed for objects)
+         * only needed for cyclic logic
+         */
+        function isObject(value) {
+
+            if (typeof value === 'object' && value !== null &&
+                    !(value instanceof Boolean) &&
+                    !(value instanceof Date)    &&
+                    !(value instanceof Number)  &&
+                    !(value instanceof RegExp)  &&
+                    !(value instanceof String)) {
+
+                return true;
+            }
+
+            return false;
+        }
+
+        /**
+         * returns the index of the given object in the
+         * given objects array, -1 if not contained
+         * only needed for cyclic logic
+         */
+        function getIndex(objects, obj) {
+
+            var i;
+            for (i = 0; i < objects.length; i++) {
+                if (objects[i] === obj) {
+                    return i;
+                }
+            }
+
+            return -1;
+        }
+
+        // does the recursion for the deep equal check
+        return (function deepEqual(obj1, obj2, path1, path2) {
+            var type1 = typeof obj1;
+            var type2 = typeof obj2;
+
+            // == null also matches undefined
+            if (obj1 === obj2 ||
+                    isNaN(obj1) || isNaN(obj2) ||
+                    obj1 == null || obj2 == null ||
+                    type1 !== "object" || type2 !== "object") {
+
+                return identical(obj1, obj2);
+            }
+
+            // Elements are only equal if identical(expected, actual)
+            if (isElement(obj1) || isElement(obj2)) { return false; }
+
+            var isDate1 = isDate(obj1), isDate2 = isDate(obj2);
+            if (isDate1 || isDate2) {
+                if (!isDate1 || !isDate2 || obj1.getTime() !== obj2.getTime()) {
+                    return false;
+                }
+            }
+
+            if (obj1 instanceof RegExp && obj2 instanceof RegExp) {
+                if (obj1.toString() !== obj2.toString()) { return false; }
+            }
+
+            var class1 = getClass(obj1);
+            var class2 = getClass(obj2);
+            var keys1 = keys(obj1);
+            var keys2 = keys(obj2);
+
+            if (isArguments(obj1) || isArguments(obj2)) {
+                if (obj1.length !== obj2.length) { return false; }
+            } else {
+                if (type1 !== type2 || class1 !== class2 ||
+                        keys1.length !== keys2.length) {
+                    return false;
+                }
+            }
+
+            var key, i, l,
+                // following vars are used for the cyclic logic
+                value1, value2,
+                isObject1, isObject2,
+                index1, index2,
+                newPath1, newPath2;
+
+            for (i = 0, l = keys1.length; i < l; i++) {
+                key = keys1[i];
+                if (!o.hasOwnProperty.call(obj2, key)) {
+                    return false;
+                }
+
+                // Start of the cyclic logic
+
+                value1 = obj1[key];
+                value2 = obj2[key];
+
+                isObject1 = isObject(value1);
+                isObject2 = isObject(value2);
+
+                // determine, if the objects were already visited
+                // (it's faster to check for isObject first, than to
+                // get -1 from getIndex for non objects)
+                index1 = isObject1 ? getIndex(objects1, value1) : -1;
+                index2 = isObject2 ? getIndex(objects2, value2) : -1;
+
+                // determine the new pathes of the objects
+                // - for non cyclic objects the current path will be extended
+                //   by current property name
+                // - for cyclic objects the stored path is taken
+                newPath1 = index1 !== -1
+                    ? paths1[index1]
+                    : path1 + '[' + JSON.stringify(key) + ']';
+                newPath2 = index2 !== -1
+                    ? paths2[index2]
+                    : path2 + '[' + JSON.stringify(key) + ']';
+
+                // stop recursion if current objects are already compared
+                if (compared[newPath1 + newPath2]) {
+                    return true;
+                }
+
+                // remember the current objects and their pathes
+                if (index1 === -1 && isObject1) {
+                    objects1.push(value1);
+                    paths1.push(newPath1);
+                }
+                if (index2 === -1 && isObject2) {
+                    objects2.push(value2);
+                    paths2.push(newPath2);
+                }
+
+                // remember that the current objects are already compared
+                if (isObject1 && isObject2) {
+                    compared[newPath1 + newPath2] = true;
+                }
+
+                // End of cyclic logic
+
+                // neither value1 nor value2 is a cycle
+                // continue with next level
+                if (!deepEqual(value1, value2, newPath1, newPath2)) {
+                    return false;
+                }
+            }
+
+            return true;
+
+        }(obj1, obj2, '$1', '$2'));
+    }
+
+    var match;
+
+    function arrayContains(array, subset) {
+        if (subset.length === 0) { return true; }
+        var i, l, j, k;
+        for (i = 0, l = array.length; i < l; ++i) {
+            if (match(array[i], subset[0])) {
+                for (j = 0, k = subset.length; j < k; ++j) {
+                    if (!match(array[i + j], subset[j])) { return false; }
+                }
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * @name samsam.match
+     * @param Object object
+     * @param Object matcher
+     *
+     * Compare arbitrary value ``object`` with matcher.
+     */
+    match = function match(object, matcher) {
+        if (matcher && typeof matcher.test === "function") {
+            return matcher.test(object);
+        }
+
+        if (typeof matcher === "function") {
+            return matcher(object) === true;
+        }
+
+        if (typeof matcher === "string") {
+            matcher = matcher.toLowerCase();
+            var notNull = typeof object === "string" || !!object;
+            return notNull &&
+                (String(object)).toLowerCase().indexOf(matcher) >= 0;
+        }
+
+        if (typeof matcher === "number") {
+            return matcher === object;
+        }
+
+        if (typeof matcher === "boolean") {
+            return matcher === object;
+        }
+
+        if (typeof(matcher) === "undefined") {
+            return typeof(object) === "undefined";
+        }
+
+        if (matcher === null) {
+            return object === null;
+        }
+
+        if (getClass(object) === "Array" && getClass(matcher) === "Array") {
+            return arrayContains(object, matcher);
+        }
+
+        if (matcher && typeof matcher === "object") {
+            if (matcher === object) {
+                return true;
+            }
+            var prop;
+            for (prop in matcher) {
+                var value = object[prop];
+                if (typeof value === "undefined" &&
+                        typeof object.getAttribute === "function") {
+                    value = object.getAttribute(prop);
+                }
+                if (matcher[prop] === null || typeof matcher[prop] === 'undefined') {
+                    if (value !== matcher[prop]) {
+                        return false;
+                    }
+                } else if (typeof  value === "undefined" || !match(value, matcher[prop])) {
+                    return false;
+                }
+            }
+            return true;
+        }
+
+        throw new Error("Matcher was not a string, a number, a " +
+                        "function, a boolean or an object");
+    };
+
+    return {
+        isArguments: isArguments,
+        isElement: isElement,
+        isDate: isDate,
+        isNegZero: isNegZero,
+        identical: identical,
+        deepEqual: deepEqualCyclic,
+        match: match,
+        keys: keys
+    };
+});
+((typeof define === "function" && define.amd && function (m) {
+    define("formatio", ["samsam"], m);
+}) || (typeof module === "object" && function (m) {
+    module.exports = m(require("samsam"));
+}) || function (m) { this.formatio = m(this.samsam); }
+)(function (samsam) {
+
+    var formatio = {
+        excludeConstructors: ["Object", /^.$/],
+        quoteStrings: true,
+        limitChildrenCount: 0
+    };
+
+    var hasOwn = Object.prototype.hasOwnProperty;
+
+    var specialObjects = [];
+    if (typeof global !== "undefined") {
+        specialObjects.push({ object: global, value: "[object global]" });
+    }
+    if (typeof document !== "undefined") {
+        specialObjects.push({
+            object: document,
+            value: "[object HTMLDocument]"
+        });
+    }
+    if (typeof window !== "undefined") {
+        specialObjects.push({ object: window, value: "[object Window]" });
+    }
+
+    function functionName(func) {
+        if (!func) { return ""; }
+        if (func.displayName) { return func.displayName; }
+        if (func.name) { return func.name; }
+        var matches = func.toString().match(/function\s+([^\(]+)/m);
+        return (matches && matches[1]) || "";
+    }
+
+    function constructorName(f, object) {
+        var name = functionName(object && object.constructor);
+        var excludes = f.excludeConstructors ||
+                formatio.excludeConstructors || [];
+
+        var i, l;
+        for (i = 0, l = excludes.length; i < l; ++i) {
+            if (typeof excludes[i] === "string" && excludes[i] === name) {
+                return "";
+            } else if (excludes[i].test && excludes[i].test(name)) {
+                return "";
+            }
+        }
+
+        return name;
+    }
+
+    function isCircular(object, objects) {
+        if (typeof object !== "object") { return false; }
+        var i, l;
+        for (i = 0, l = objects.length; i < l; ++i) {
+            if (objects[i] === object) { return true; }
+        }
+        return false;
+    }
+
+    function ascii(f, object, processed, indent) {
+        if (typeof object === "string") {
+            var qs = f.quoteStrings;
+            var quote = typeof qs !== "boolean" || qs;
+            return processed || quote ? '"' + object + '"' : object;
+        }
+
+        if (typeof object === "function" && !(object instanceof RegExp)) {
+            return ascii.func(object);
+        }
+
+        processed = processed || [];
+
+        if (isCircular(object, processed)) { return "[Circular]"; }
+
+        if (Object.prototype.toString.call(object) === "[object Array]") {
+            return ascii.array.call(f, object, processed);
+        }
+
+        if (!object) { return String((1/object) === -Infinity ? "-0" : object); }
+        if (samsam.isElement(object)) { return ascii.element(object); }
+
+        if (typeof object.toString === "function" &&
+                object.toString !== Object.prototype.toString) {
+            return object.toString();
+        }
+
+        var i, l;
+        for (i = 0, l = specialObjects.length; i < l; i++) {
+            if (object === specialObjects[i].object) {
+                return specialObjects[i].value;
+            }
+        }
+
+        return ascii.object.call(f, object, processed, indent);
+    }
+
+    ascii.func = function (func) {
+        return "function " + functionName(func) + "() {}";
+    };
+
+    ascii.array = function (array, processed) {
+        processed = processed || [];
+        processed.push(array);
+        var pieces = [];
+        var i, l;
+        l = (this.limitChildrenCount > 0) ?
+            Math.min(this.limitChildrenCount, array.length) : array.length;
+
+        for (i = 0; i < l; ++i) {
+            pieces.push(ascii(this, array[i], processed));
+        }
+
+        if(l < array.length)
+            pieces.push("[... " + (array.length - l) + " more elements]");
+
+        return "[" + pieces.join(", ") + "]";
+    };
+
+    ascii.object = function (object, processed, indent) {
+        processed = processed || [];
+        processed.push(object);
+        indent = indent || 0;
+        var pieces = [], properties = samsam.keys(object).sort();
+        var length = 3;
+        var prop, str, obj, i, k, l;
+        l = (this.limitChildrenCount > 0) ?
+            Math.min(this.limitChildrenCount, properties.length) : properties.length;
+
+        for (i = 0; i < l; ++i) {
+            prop = properties[i];
+            obj = object[prop];
+
+            if (isCircular(obj, processed)) {
+                str = "[Circular]";
+            } else {
+                str = ascii(this, obj, processed, indent + 2);
+            }
+
+            str = (/\s/.test(prop) ? '"' + prop + '"' : prop) + ": " + str;
+            length += str.length;
+            pieces.push(str);
+        }
+
+        var cons = constructorName(this, object);
+        var prefix = cons ? "[" + cons + "] " : "";
+        var is = "";
+        for (i = 0, k = indent; i < k; ++i) { is += " "; }
+
+        if(l < properties.length)
+            pieces.push("[... " + (properties.length - l) + " more elements]");
+
+        if (length + indent > 80) {
+            return prefix + "{\n  " + is + pieces.join(",\n  " + is) + "\n" +
+                is + "}";
+        }
+        return prefix + "{ " + pieces.join(", ") + " }";
+    };
+
+    ascii.element = function (element) {
+        var tagName = element.tagName.toLowerCase();
+        var attrs = element.attributes, attr, pairs = [], attrName, i, l, val;
+
+        for (i = 0, l = attrs.length; i < l; ++i) {
+            attr = attrs.item(i);
+            attrName = attr.nodeName.toLowerCase().replace("html:", "");
+            val = attr.nodeValue;
+            if (attrName !== "contenteditable" || val !== "inherit") {
+                if (!!val) { pairs.push(attrName + "=\"" + val + "\""); }
+            }
+        }
+
+        var formatted = "<" + tagName + (pairs.length > 0 ? " " : "");
+        var content = element.innerHTML;
+
+        if (content.length > 20) {
+            content = content.substr(0, 20) + "[...]";
+        }
+
+        var res = formatted + pairs.join(" ") + ">" + content +
+                "</" + tagName + ">";
+
+        return res.replace(/ contentEditable="inherit"/, "");
+    };
+
+    function Formatio(options) {
+        for (var opt in options) {
+            this[opt] = options[opt];
+        }
+    }
+
+    Formatio.prototype = {
+        functionName: functionName,
+
+        configure: function (options) {
+            return new Formatio(options);
+        },
+
+        constructorName: function (object) {
+            return constructorName(this, object);
+        },
+
+        ascii: function (object, processed, indent) {
+            return ascii(this, object, processed, indent);
+        }
+    };
+
+    return Formatio.prototype;
+});
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.lolex=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
+(function (global){
+/*global global, window*/
+/**
+ * @author Christian Johansen (christian@cjohansen.no) and contributors
+ * @license BSD
+ *
+ * Copyright (c) 2010-2014 Christian Johansen
+ */
+
+(function (global) {
+
+    // Make properties writable in IE, as per
+    // http://www.adequatelygood.com/Replacing-setTimeout-Globally.html
+    // JSLint being anal
+    var glbl = global;
+
+    global.setTimeout = glbl.setTimeout;
+    global.clearTimeout = glbl.clearTimeout;
+    global.setInterval = glbl.setInterval;
+    global.clearInterval = glbl.clearInterval;
+    global.Date = glbl.Date;
+
+    // setImmediate is not a standard function
+    // avoid adding the prop to the window object if not present
+    if('setImmediate' in global) {
+        global.setImmediate = glbl.setImmediate;
+        global.clearImmediate = glbl.clearImmediate;
+    }
+
+    // node expects setTimeout/setInterval to return a fn object w/ .ref()/.unref()
+    // browsers, a number.
+    // see https://github.com/cjohansen/Sinon.JS/pull/436
+
+    var NOOP = function () { return undefined; };
+    var timeoutResult = setTimeout(NOOP, 0);
+    var addTimerReturnsObject = typeof timeoutResult === "object";
+    clearTimeout(timeoutResult);
+
+    var NativeDate = Date;
+    var uniqueTimerId = 1;
+
+    /**
+     * Parse strings like "01:10:00" (meaning 1 hour, 10 minutes, 0 seconds) into
+     * number of milliseconds. This is used to support human-readable strings passed
+     * to clock.tick()
+     */
+    function parseTime(str) {
+        if (!str) {
+            return 0;
+        }
+
+        var strings = str.split(":");
+        var l = strings.length, i = l;
+        var ms = 0, parsed;
+
+        if (l > 3 || !/^(\d\d:){0,2}\d\d?$/.test(str)) {
+            throw new Error("tick only understands numbers, 'm:s' and 'h:m:s'. Each part must be two digits");
+        }
+
+        while (i--) {
+            parsed = parseInt(strings[i], 10);
+
+            if (parsed >= 60) {
+                throw new Error("Invalid time " + str);
+            }
+
+            ms += parsed * Math.pow(60, (l - i - 1));
+        }
+
+        return ms * 1000;
+    }
+
+    /**
+     * Used to grok the `now` parameter to createClock.
+     */
+    function getEpoch(epoch) {
+        if (!epoch) { return 0; }
+        if (typeof epoch.getTime === "function") { return epoch.getTime(); }
+        if (typeof epoch === "number") { return epoch; }
+        throw new TypeError("now should be milliseconds since UNIX epoch");
+    }
+
+    function inRange(from, to, timer) {
+        return timer && timer.callAt >= from && timer.callAt <= to;
+    }
+
+    function mirrorDateProperties(target, source) {
+        var prop;
+        for (prop in source) {
+            if (source.hasOwnProperty(prop)) {
+                target[prop] = source[prop];
+            }
+        }
+
+        // set special now implementation
+        if (source.now) {
+            target.now = function now() {
+                return target.clock.now;
+            };
+        } else {
+            delete target.now;
+        }
+
+        // set special toSource implementation
+        if (source.toSource) {
+            target.toSource = function toSource() {
+                return source.toSource();
+            };
+        } else {
+            delete target.toSource;
+        }
+
+        // set special toString implementation
+        target.toString = function toString() {
+            return source.toString();
+        };
+
+        target.prototype = source.prototype;
+        target.parse = source.parse;
+        target.UTC = source.UTC;
+        target.prototype.toUTCString = source.prototype.toUTCString;
+
+        return target;
+    }
+
+    function createDate() {
+        function ClockDate(year, month, date, hour, minute, second, ms) {
+            // Defensive and verbose to avoid potential harm in passing
+            // explicit undefined when user does not pass argument
+            switch (arguments.length) {
+            case 0:
+                return new NativeDate(ClockDate.clock.now);
+            case 1:
+                return new NativeDate(year);
+            case 2:
+                return new NativeDate(year, month);
+            case 3:
+                return new NativeDate(year, month, date);
+            case 4:
+                return new NativeDate(year, month, date, hour);
+            case 5:
+                return new NativeDate(year, month, date, hour, minute);
+            case 6:
+                return new NativeDate(year, month, date, hour, minute, second);
+            default:
+                return new NativeDate(year, month, date, hour, minute, second, ms);
+            }
+        }
+
+        return mirrorDateProperties(ClockDate, NativeDate);
+    }
+
+    function addTimer(clock, timer) {
+        if (timer.func === undefined) {
+            throw new Error("Callback must be provided to timer calls");
+        }
+
+        if (!clock.timers) {
+            clock.timers = {};
+        }
+
+        timer.id = uniqueTimerId++;
+        timer.createdAt = clock.now;
+        timer.callAt = clock.now + (timer.delay || (clock.duringTick ? 1 : 0));
+
+        clock.timers[timer.id] = timer;
+
+        if (addTimerReturnsObject) {
+            return {
+                id: timer.id,
+                ref: NOOP,
+                unref: NOOP
+            };
+        }
+
+        return timer.id;
+    }
+
+
+    function compareTimers(a, b) {
+        // Sort first by absolute timing
+        if (a.callAt < b.callAt) {
+            return -1;
+        }
+        if (a.callAt > b.callAt) {
+            return 1;
+        }
+
+        // Sort next by immediate, immediate timers take precedence
+        if (a.immediate && !b.immediate) {
+            return -1;
+        }
+        if (!a.immediate && b.immediate) {
+            return 1;
+        }
+
+        // Sort next by creation time, earlier-created timers take precedence
+        if (a.createdAt < b.createdAt) {
+            return -1;
+        }
+        if (a.createdAt > b.createdAt) {
+            return 1;
+        }
+
+        // Sort next by id, lower-id timers take precedence
+        if (a.id < b.id) {
+            return -1;
+        }
+        if (a.id > b.id) {
+            return 1;
+        }
+
+        // As timer ids are unique, no fallback `0` is necessary
+    }
+
+    function firstTimerInRange(clock, from, to) {
+        var timers = clock.timers,
+            timer = null,
+            id,
+            isInRange;
+
+        for (id in timers) {
+            if (timers.hasOwnProperty(id)) {
+                isInRange = inRange(from, to, timers[id]);
+
+                if (isInRange && (!timer || compareTimers(timer, timers[id]) === 1)) {
+                    timer = timers[id];
+                }
+            }
+        }
+
+        return timer;
+    }
+
+    function firstTimer(clock) {
+        var timers = clock.timers,
+            timer = null,
+            id;
+
+        for (id in timers) {
+            if (timers.hasOwnProperty(id)) {
+                if (!timer || compareTimers(timer, timers[id]) === 1) {
+                    timer = timers[id];
+                }
+            }
+        }
+
+        return timer;
+    }
+
+    function callTimer(clock, timer) {
+        var exception;
+
+        if (typeof timer.interval === "number") {
+            clock.timers[timer.id].callAt += timer.interval;
+        } else {
+            delete clock.timers[timer.id];
+        }
+
+        try {
+            if (typeof timer.func === "function") {
+                timer.func.apply(null, timer.args);
+            } else {
+                eval(timer.func);
+            }
+        } catch (e) {
+            exception = e;
+        }
+
+        if (!clock.timers[timer.id]) {
+            if (exception) {
+                throw exception;
+            }
+            return;
+        }
+
+        if (exception) {
+            throw exception;
+        }
+    }
+
+    function timerType(timer) {
+        if (timer.immediate) {
+            return "Immediate";
+        } else if (typeof timer.interval !== "undefined") {
+            return "Interval";
+        } else {
+            return "Timeout";
+        }
+    }
+
+    function clearTimer(clock, timerId, ttype) {
+        if (!timerId) {
+            // null appears to be allowed in most browsers, and appears to be
+            // relied upon by some libraries, like Bootstrap carousel
+            return;
+        }
+
+        if (!clock.timers) {
+            clock.timers = [];
+        }
+
+        // in Node, timerId is an object with .ref()/.unref(), and
+        // its .id field is the actual timer id.
+        if (typeof timerId === "object") {
+            timerId = timerId.id;
+        }
+
+        if (clock.timers.hasOwnProperty(timerId)) {
+            // check that the ID matches a timer of the correct type
+            var timer = clock.timers[timerId];
+            if (timerType(timer) === ttype) {
+                delete clock.timers[timerId];
+            } else {
+				throw new Error("Cannot clear timer: timer created with set" + ttype + "() but cleared with clear" + timerType(timer) + "()");
+			}
+        }
+    }
+
+    function uninstall(clock, target) {
+        var method,
+            i,
+            l;
+
+        for (i = 0, l = clock.methods.length; i < l; i++) {
+            method = clock.methods[i];
+
+            if (target[method].hadOwnProperty) {
+                target[method] = clock["_" + method];
+            } else {
+                try {
+                    delete target[method];
+                } catch (ignore) {}
+            }
+        }
+
+        // Prevent multiple executions which will completely remove these props
+        clock.methods = [];
+    }
+
+    function hijackMethod(target, method, clock) {
+        var prop;
+
+        clock[method].hadOwnProperty = Object.prototype.hasOwnProperty.call(target, method);
+        clock["_" + method] = target[method];
+
+        if (method === "Date") {
+            var date = mirrorDateProperties(clock[method], target[method]);
+            target[method] = date;
+        } else {
+            target[method] = function () {
+                return clock[method].apply(clock, arguments);
+            };
+
+            for (prop in clock[method]) {
+                if (clock[method].hasOwnProperty(prop)) {
+                    target[method][prop] = clock[method][prop];
+                }
+            }
+        }
+
+        target[method].clock = clock;
+    }
+
+    var timers = {
+        setTimeout: setTimeout,
+        clearTimeout: clearTimeout,
+        setImmediate: global.setImmediate,
+        clearImmediate: global.clearImmediate,
+        setInterval: setInterval,
+        clearInterval: clearInterval,
+        Date: Date
+    };
+
+    var keys = Object.keys || function (obj) {
+        var ks = [],
+            key;
+
+        for (key in obj) {
+            if (obj.hasOwnProperty(key)) {
+                ks.push(key);
+            }
+        }
+
+        return ks;
+    };
+
+    exports.timers = timers;
+
+    function createClock(now) {
+        var clock = {
+            now: getEpoch(now),
+            timeouts: {},
+            Date: createDate()
+        };
+
+        clock.Date.clock = clock;
+
+        clock.setTimeout = function setTimeout(func, timeout) {
+            return addTimer(clock, {
+                func: func,
+                args: Array.prototype.slice.call(arguments, 2),
+                delay: timeout
+            });
+        };
+
+        clock.clearTimeout = function clearTimeout(timerId) {
+            return clearTimer(clock, timerId, "Timeout");
+        };
+
+        clock.setInterval = function setInterval(func, timeout) {
+            return addTimer(clock, {
+                func: func,
+                args: Array.prototype.slice.call(arguments, 2),
+                delay: timeout,
+                interval: timeout
+            });
+        };
+
+        clock.clearInterval = function clearInterval(timerId) {
+            return clearTimer(clock, timerId, "Interval");
+        };
+
+        clock.setImmediate = function setImmediate(func) {
+            return addTimer(clock, {
+                func: func,
+                args: Array.prototype.slice.call(arguments, 1),
+                immediate: true
+            });
+        };
+
+        clock.clearImmediate = function clearImmediate(timerId) {
+            return clearTimer(clock, timerId, "Immediate");
+        };
+
+        clock.tick = function tick(ms) {
+            ms = typeof ms === "number" ? ms : parseTime(ms);
+            var tickFrom = clock.now, tickTo = clock.now + ms, previous = clock.now;
+            var timer = firstTimerInRange(clock, tickFrom, tickTo);
+            var oldNow;
+
+            clock.duringTick = true;
+
+            var firstException;
+            while (timer && tickFrom <= tickTo) {
+                if (clock.timers[timer.id]) {
+                    tickFrom = clock.now = timer.callAt;
+                    try {
+                        oldNow = clock.now;
+                        callTimer(clock, timer);
+                        // compensate for any setSystemTime() call during timer callback
+                        if (oldNow !== clock.now) {
+                            tickFrom += clock.now - oldNow;
+                            tickTo += clock.now - oldNow;
+                            previous += clock.now - oldNow;
+                        }
+                    } catch (e) {
+                        firstException = firstException || e;
+                    }
+                }
+
+                timer = firstTimerInRange(clock, previous, tickTo);
+                previous = tickFrom;
+            }
+
+            clock.duringTick = false;
+            clock.now = tickTo;
+
+            if (firstException) {
+                throw firstException;
+            }
+
+            return clock.now;
+        };
+
+        clock.next = function next() {
+            var timer = firstTimer(clock);
+            if (!timer) {
+                return clock.now;
+            }
+
+            clock.duringTick = true;
+            try {
+                clock.now = timer.callAt;
+                callTimer(clock, timer);
+                return clock.now;
+            } finally {
+                clock.duringTick = false;
+            }
+        };
+
+        clock.reset = function reset() {
+            clock.timers = {};
+        };
+
+        clock.setSystemTime = function setSystemTime(now) {
+            // determine time difference
+            var newNow = getEpoch(now);
+            var difference = newNow - clock.now;
+
+            // update 'system clock'
+            clock.now = newNow;
+
+            // update timers and intervals to keep them stable
+            for (var id in clock.timers) {
+                if (clock.timers.hasOwnProperty(id)) {
+                    var timer = clock.timers[id];
+                    timer.createdAt += difference;
+                    timer.callAt += difference;
+                }
+            }
+        };
+
+        return clock;
+    }
+    exports.createClock = createClock;
+
+    exports.install = function install(target, now, toFake) {
+        var i,
+            l;
+
+        if (typeof target === "number") {
+            toFake = now;
+            now = target;
+            target = null;
+        }
+
+        if (!target) {
+            target = global;
+        }
+
+        var clock = createClock(now);
+
+        clock.uninstall = function () {
+            uninstall(clock, target);
+        };
+
+        clock.methods = toFake || [];
+
+        if (clock.methods.length === 0) {
+            clock.methods = keys(timers);
+        }
+
+        for (i = 0, l = clock.methods.length; i < l; i++) {
+            hijackMethod(target, clock.methods[i], clock);
+        }
+
+        return clock;
+    };
+
+}(global || this));
+
+}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{}]},{},[1])(1)
+});
+  })();
+  var define;
+/**
+ * Sinon core utilities. For internal use only.
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+var sinon = (function () {
+"use strict";
+ // eslint-disable-line no-unused-vars
+
+    var sinonModule;
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        sinonModule = module.exports = require("./sinon/util/core");
+        require("./sinon/extend");
+        require("./sinon/walk");
+        require("./sinon/typeOf");
+        require("./sinon/times_in_words");
+        require("./sinon/spy");
+        require("./sinon/call");
+        require("./sinon/behavior");
+        require("./sinon/stub");
+        require("./sinon/mock");
+        require("./sinon/collection");
+        require("./sinon/assert");
+        require("./sinon/sandbox");
+        require("./sinon/test");
+        require("./sinon/test_case");
+        require("./sinon/match");
+        require("./sinon/format");
+        require("./sinon/log_error");
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+    } else if (isNode) {
+        loadDependencies(require, module.exports, module);
+        sinonModule = module.exports;
+    } else {
+        sinonModule = {};
+    }
+
+    return sinonModule;
+}());
+
+/**
+ * @depend ../../sinon.js
+ */
+/**
+ * Sinon core utilities. For internal use only.
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+(function (sinonGlobal) {
+
+    var div = typeof document !== "undefined" && document.createElement("div");
+    var hasOwn = Object.prototype.hasOwnProperty;
+
+    function isDOMNode(obj) {
+        var success = false;
+
+        try {
+            obj.appendChild(div);
+            success = div.parentNode === obj;
+        } catch (e) {
+            return false;
+        } finally {
+            try {
+                obj.removeChild(div);
+            } catch (e) {
+                // Remove failed, not much we can do about that
+            }
+        }
+
+        return success;
+    }
+
+    function isElement(obj) {
+        return div && obj && obj.nodeType === 1 && isDOMNode(obj);
+    }
+
+    function isFunction(obj) {
+        return typeof obj === "function" || !!(obj && obj.constructor && obj.call && obj.apply);
+    }
+
+    function isReallyNaN(val) {
+        return typeof val === "number" && isNaN(val);
+    }
+
+    function mirrorProperties(target, source) {
+        for (var prop in source) {
+            if (!hasOwn.call(target, prop)) {
+                target[prop] = source[prop];
+            }
+        }
+    }
+
+    function isRestorable(obj) {
+        return typeof obj === "function" && typeof obj.restore === "function" && obj.restore.sinon;
+    }
+
+    // Cheap way to detect if we have ES5 support.
+    var hasES5Support = "keys" in Object;
+
+    function makeApi(sinon) {
+        sinon.wrapMethod = function wrapMethod(object, property, method) {
+            if (!object) {
+                throw new TypeError("Should wrap property of object");
+            }
+
+            if (typeof method !== "function" && typeof method !== "object") {
+                throw new TypeError("Method wrapper should be a function or a property descriptor");
+            }
+
+            function checkWrappedMethod(wrappedMethod) {
+                var error;
+
+                if (!isFunction(wrappedMethod)) {
+                    error = new TypeError("Attempted to wrap " + (typeof wrappedMethod) + " property " +
+                                        property + " as function");
+                } else if (wrappedMethod.restore && wrappedMethod.restore.sinon) {
+                    error = new TypeError("Attempted to wrap " + property + " which is already wrapped");
+                } else if (wrappedMethod.calledBefore) {
+                    var verb = wrappedMethod.returns ? "stubbed" : "spied on";
+                    error = new TypeError("Attempted to wrap " + property + " which is already " + verb);
+                }
+
+                if (error) {
+                    if (wrappedMethod && wrappedMethod.stackTrace) {
+                        error.stack += "\n--------------\n" + wrappedMethod.stackTrace;
+                    }
+                    throw error;
+                }
+            }
+
+            var error, wrappedMethod, i;
+
+            // IE 8 does not support hasOwnProperty on the window object and Firefox has a problem
+            // when using hasOwn.call on objects from other frames.
+            var owned = object.hasOwnProperty ? object.hasOwnProperty(property) : hasOwn.call(object, property);
+
+            if (hasES5Support) {
+                var methodDesc = (typeof method === "function") ? {value: method} : method;
+                var wrappedMethodDesc = sinon.getPropertyDescriptor(object, property);
+
+                if (!wrappedMethodDesc) {
+                    error = new TypeError("Attempted to wrap " + (typeof wrappedMethod) + " property " +
+                                        property + " as function");
+                } else if (wrappedMethodDesc.restore && wrappedMethodDesc.restore.sinon) {
+                    error = new TypeError("Attempted to wrap " + property + " which is already wrapped");
+                }
+                if (error) {
+                    if (wrappedMethodDesc && wrappedMethodDesc.stackTrace) {
+                        error.stack += "\n--------------\n" + wrappedMethodDesc.stackTrace;
+                    }
+                    throw error;
+                }
+
+                var types = sinon.objectKeys(methodDesc);
+                for (i = 0; i < types.length; i++) {
+                    wrappedMethod = wrappedMethodDesc[types[i]];
+                    checkWrappedMethod(wrappedMethod);
+                }
+
+                mirrorProperties(methodDesc, wrappedMethodDesc);
+                for (i = 0; i < types.length; i++) {
+                    mirrorProperties(methodDesc[types[i]], wrappedMethodDesc[types[i]]);
+                }
+                Object.defineProperty(object, property, methodDesc);
+            } else {
+                wrappedMethod = object[property];
+                checkWrappedMethod(wrappedMethod);
+                object[property] = method;
+                method.displayName = property;
+            }
+
+            method.displayName = property;
+
+            // Set up a stack trace which can be used later to find what line of
+            // code the original method was created on.
+            method.stackTrace = (new Error("Stack Trace for original")).stack;
+
+            method.restore = function () {
+                // For prototype properties try to reset by delete first.
+                // If this fails (ex: localStorage on mobile safari) then force a reset
+                // via direct assignment.
+                if (!owned) {
+                    // In some cases `delete` may throw an error
+                    try {
+                        delete object[property];
+                    } catch (e) {} // eslint-disable-line no-empty
+                    // For native code functions `delete` fails without throwing an error
+                    // on Chrome < 43, PhantomJS, etc.
+                } else if (hasES5Support) {
+                    Object.defineProperty(object, property, wrappedMethodDesc);
+                }
+
+                // Use strict equality comparison to check failures then force a reset
+                // via direct assignment.
+                if (object[property] === method) {
+                    object[property] = wrappedMethod;
+                }
+            };
+
+            method.restore.sinon = true;
+
+            if (!hasES5Support) {
+                mirrorProperties(method, wrappedMethod);
+            }
+
+            return method;
+        };
+
+        sinon.create = function create(proto) {
+            var F = function () {};
+            F.prototype = proto;
+            return new F();
+        };
+
+        sinon.deepEqual = function deepEqual(a, b) {
+            if (sinon.match && sinon.match.isMatcher(a)) {
+                return a.test(b);
+            }
+
+            if (typeof a !== "object" || typeof b !== "object") {
+                return isReallyNaN(a) && isReallyNaN(b) || a === b;
+            }
+
+            if (isElement(a) || isElement(b)) {
+                return a === b;
+            }
+
+            if (a === b) {
+                return true;
+            }
+
+            if ((a === null && b !== null) || (a !== null && b === null)) {
+                return false;
+            }
+
+            if (a instanceof RegExp && b instanceof RegExp) {
+                return (a.source === b.source) && (a.global === b.global) &&
+                    (a.ignoreCase === b.ignoreCase) && (a.multiline === b.multiline);
+            }
+
+            var aString = Object.prototype.toString.call(a);
+            if (aString !== Object.prototype.toString.call(b)) {
+                return false;
+            }
+
+            if (aString === "[object Date]") {
+                return a.valueOf() === b.valueOf();
+            }
+
+            var prop;
+            var aLength = 0;
+            var bLength = 0;
+
+            if (aString === "[object Array]" && a.length !== b.length) {
+                return false;
+            }
+
+            for (prop in a) {
+                if (a.hasOwnProperty(prop)) {
+                    aLength += 1;
+
+                    if (!(prop in b)) {
+                        return false;
+                    }
+
+                    if (!deepEqual(a[prop], b[prop])) {
+                        return false;
+                    }
+                }
+            }
+
+            for (prop in b) {
+                if (b.hasOwnProperty(prop)) {
+                    bLength += 1;
+                }
+            }
+
+            return aLength === bLength;
+        };
+
+        sinon.functionName = function functionName(func) {
+            var name = func.displayName || func.name;
+
+            // Use function decomposition as a last resort to get function
+            // name. Does not rely on function decomposition to work - if it
+            // doesn't debugging will be slightly less informative
+            // (i.e. toString will say 'spy' rather than 'myFunc').
+            if (!name) {
+                var matches = func.toString().match(/function ([^\s\(]+)/);
+                name = matches && matches[1];
+            }
+
+            return name;
+        };
+
+        sinon.functionToString = function toString() {
+            if (this.getCall && this.callCount) {
+                var thisValue,
+                    prop;
+                var i = this.callCount;
+
+                while (i--) {
+                    thisValue = this.getCall(i).thisValue;
+
+                    for (prop in thisValue) {
+                        if (thisValue[prop] === this) {
+                            return prop;
+                        }
+                    }
+                }
+            }
+
+            return this.displayName || "sinon fake";
+        };
+
+        sinon.objectKeys = function objectKeys(obj) {
+            if (obj !== Object(obj)) {
+                throw new TypeError("sinon.objectKeys called on a non-object");
+            }
+
+            var keys = [];
+            var key;
+            for (key in obj) {
+                if (hasOwn.call(obj, key)) {
+                    keys.push(key);
+                }
+            }
+
+            return keys;
+        };
+
+        sinon.getPropertyDescriptor = function getPropertyDescriptor(object, property) {
+            var proto = object;
+            var descriptor;
+
+            while (proto && !(descriptor = Object.getOwnPropertyDescriptor(proto, property))) {
+                proto = Object.getPrototypeOf(proto);
+            }
+            return descriptor;
+        };
+
+        sinon.getConfig = function (custom) {
+            var config = {};
+            custom = custom || {};
+            var defaults = sinon.defaultConfig;
+
+            for (var prop in defaults) {
+                if (defaults.hasOwnProperty(prop)) {
+                    config[prop] = custom.hasOwnProperty(prop) ? custom[prop] : defaults[prop];
+                }
+            }
+
+            return config;
+        };
+
+        sinon.defaultConfig = {
+            injectIntoThis: true,
+            injectInto: null,
+            properties: ["spy", "stub", "mock", "clock", "server", "requests"],
+            useFakeTimers: true,
+            useFakeServer: true
+        };
+
+        sinon.timesInWords = function timesInWords(count) {
+            return count === 1 && "once" ||
+                count === 2 && "twice" ||
+                count === 3 && "thrice" ||
+                (count || 0) + " times";
+        };
+
+        sinon.calledInOrder = function (spies) {
+            for (var i = 1, l = spies.length; i < l; i++) {
+                if (!spies[i - 1].calledBefore(spies[i]) || !spies[i].called) {
+                    return false;
+                }
+            }
+
+            return true;
+        };
+
+        sinon.orderByFirstCall = function (spies) {
+            return spies.sort(function (a, b) {
+                // uuid, won't ever be equal
+                var aCall = a.getCall(0);
+                var bCall = b.getCall(0);
+                var aId = aCall && aCall.callId || -1;
+                var bId = bCall && bCall.callId || -1;
+
+                return aId < bId ? -1 : 1;
+            });
+        };
+
+        sinon.createStubInstance = function (constructor) {
+            if (typeof constructor !== "function") {
+                throw new TypeError("The constructor should be a function.");
+            }
+            return sinon.stub(sinon.create(constructor.prototype));
+        };
+
+        sinon.restore = function (object) {
+            if (object !== null && typeof object === "object") {
+                for (var prop in object) {
+                    if (isRestorable(object[prop])) {
+                        object[prop].restore();
+                    }
+                }
+            } else if (isRestorable(object)) {
+                object.restore();
+            }
+        };
+
+        return sinon;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports) {
+        makeApi(exports);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * @depend util/core.js
+ */
+(function (sinonGlobal) {
+
+    function makeApi(sinon) {
+
+        // Adapted from https://developer.mozilla.org/en/docs/ECMAScript_DontEnum_attribute#JScript_DontEnum_Bug
+        var hasDontEnumBug = (function () {
+            var obj = {
+                constructor: function () {
+                    return "0";
+                },
+                toString: function () {
+                    return "1";
+                },
+                valueOf: function () {
+                    return "2";
+                },
+                toLocaleString: function () {
+                    return "3";
+                },
+                prototype: function () {
+                    return "4";
+                },
+                isPrototypeOf: function () {
+                    return "5";
+                },
+                propertyIsEnumerable: function () {
+                    return "6";
+                },
+                hasOwnProperty: function () {
+                    return "7";
+                },
+                length: function () {
+                    return "8";
+                },
+                unique: function () {
+                    return "9";
+                }
+            };
+
+            var result = [];
+            for (var prop in obj) {
+                if (obj.hasOwnProperty(prop)) {
+                    result.push(obj[prop]());
+                }
+            }
+            return result.join("") !== "0123456789";
+        })();
+
+        /* Public: Extend target in place with all (own) properties from sources in-order. Thus, last source will
+         *         override properties in previous sources.
+         *
+         * target - The Object to extend
+         * sources - Objects to copy properties from.
+         *
+         * Returns the extended target
+         */
+        function extend(target /*, sources */) {
+            var sources = Array.prototype.slice.call(arguments, 1);
+            var source, i, prop;
+
+            for (i = 0; i < sources.length; i++) {
+                source = sources[i];
+
+                for (prop in source) {
+                    if (source.hasOwnProperty(prop)) {
+                        target[prop] = source[prop];
+                    }
+                }
+
+                // Make sure we copy (own) toString method even when in JScript with DontEnum bug
+                // See https://developer.mozilla.org/en/docs/ECMAScript_DontEnum_attribute#JScript_DontEnum_Bug
+                if (hasDontEnumBug && source.hasOwnProperty("toString") && source.toString !== target.toString) {
+                    target.toString = source.toString;
+                }
+            }
+
+            return target;
+        }
+
+        sinon.extend = extend;
+        return sinon.extend;
+    }
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./util/core");
+        module.exports = makeApi(sinon);
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * @depend util/core.js
+ */
+(function (sinonGlobal) {
+
+    function makeApi(sinon) {
+
+        function timesInWords(count) {
+            switch (count) {
+                case 1:
+                    return "once";
+                case 2:
+                    return "twice";
+                case 3:
+                    return "thrice";
+                default:
+                    return (count || 0) + " times";
+            }
+        }
+
+        sinon.timesInWords = timesInWords;
+        return sinon.timesInWords;
+    }
+
+    function loadDependencies(require, exports, module) {
+        var core = require("./util/core");
+        module.exports = makeApi(core);
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * @depend util/core.js
+ */
+/**
+ * Format functions
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2014 Christian Johansen
+ */
+(function (sinonGlobal) {
+
+    function makeApi(sinon) {
+        function typeOf(value) {
+            if (value === null) {
+                return "null";
+            } else if (value === undefined) {
+                return "undefined";
+            }
+            var string = Object.prototype.toString.call(value);
+            return string.substring(8, string.length - 1).toLowerCase();
+        }
+
+        sinon.typeOf = typeOf;
+        return sinon.typeOf;
+    }
+
+    function loadDependencies(require, exports, module) {
+        var core = require("./util/core");
+        module.exports = makeApi(core);
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * @depend util/core.js
+ * @depend typeOf.js
+ */
+/*jslint eqeqeq: false, onevar: false, plusplus: false*/
+/*global module, require, sinon*/
+/**
+ * Match functions
+ *
+ * @author Maximilian Antoni (mail@maxantoni.de)
+ * @license BSD
+ *
+ * Copyright (c) 2012 Maximilian Antoni
+ */
+(function (sinonGlobal) {
+
+    function makeApi(sinon) {
+        function assertType(value, type, name) {
+            var actual = sinon.typeOf(value);
+            if (actual !== type) {
+                throw new TypeError("Expected type of " + name + " to be " +
+                    type + ", but was " + actual);
+            }
+        }
+
+        var matcher = {
+            toString: function () {
+                return this.message;
+            }
+        };
+
+        function isMatcher(object) {
+            return matcher.isPrototypeOf(object);
+        }
+
+        function matchObject(expectation, actual) {
+            if (actual === null || actual === undefined) {
+                return false;
+            }
+            for (var key in expectation) {
+                if (expectation.hasOwnProperty(key)) {
+                    var exp = expectation[key];
+                    var act = actual[key];
+                    if (isMatcher(exp)) {
+                        if (!exp.test(act)) {
+                            return false;
+                        }
+                    } else if (sinon.typeOf(exp) === "object") {
+                        if (!matchObject(exp, act)) {
+                            return false;
+                        }
+                    } else if (!sinon.deepEqual(exp, act)) {
+                        return false;
+                    }
+                }
+            }
+            return true;
+        }
+
+        function match(expectation, message) {
+            var m = sinon.create(matcher);
+            var type = sinon.typeOf(expectation);
+            switch (type) {
+            case "object":
+                if (typeof expectation.test === "function") {
+                    m.test = function (actual) {
+                        return expectation.test(actual) === true;
+                    };
+                    m.message = "match(" + sinon.functionName(expectation.test) + ")";
+                    return m;
+                }
+                var str = [];
+                for (var key in expectation) {
+                    if (expectation.hasOwnProperty(key)) {
+                        str.push(key + ": " + expectation[key]);
+                    }
+                }
+                m.test = function (actual) {
+                    return matchObject(expectation, actual);
+                };
+                m.message = "match(" + str.join(", ") + ")";
+                break;
+            case "number":
+                m.test = function (actual) {
+                    // we need type coercion here
+                    return expectation == actual; // eslint-disable-line eqeqeq
+                };
+                break;
+            case "string":
+                m.test = function (actual) {
+                    if (typeof actual !== "string") {
+                        return false;
+                    }
+                    return actual.indexOf(expectation) !== -1;
+                };
+                m.message = "match(\"" + expectation + "\")";
+                break;
+            case "regexp":
+                m.test = function (actual) {
+                    if (typeof actual !== "string") {
+                        return false;
+                    }
+                    return expectation.test(actual);
+                };
+                break;
+            case "function":
+                m.test = expectation;
+                if (message) {
+                    m.message = message;
+                } else {
+                    m.message = "match(" + sinon.functionName(expectation) + ")";
+                }
+                break;
+            default:
+                m.test = function (actual) {
+                    return sinon.deepEqual(expectation, actual);
+                };
+            }
+            if (!m.message) {
+                m.message = "match(" + expectation + ")";
+            }
+            return m;
+        }
+
+        matcher.or = function (m2) {
+            if (!arguments.length) {
+                throw new TypeError("Matcher expected");
+            } else if (!isMatcher(m2)) {
+                m2 = match(m2);
+            }
+            var m1 = this;
+            var or = sinon.create(matcher);
+            or.test = function (actual) {
+                return m1.test(actual) || m2.test(actual);
+            };
+            or.message = m1.message + ".or(" + m2.message + ")";
+            return or;
+        };
+
+        matcher.and = function (m2) {
+            if (!arguments.length) {
+                throw new TypeError("Matcher expected");
+            } else if (!isMatcher(m2)) {
+                m2 = match(m2);
+            }
+            var m1 = this;
+            var and = sinon.create(matcher);
+            and.test = function (actual) {
+                return m1.test(actual) && m2.test(actual);
+            };
+            and.message = m1.message + ".and(" + m2.message + ")";
+            return and;
+        };
+
+        match.isMatcher = isMatcher;
+
+        match.any = match(function () {
+            return true;
+        }, "any");
+
+        match.defined = match(function (actual) {
+            return actual !== null && actual !== undefined;
+        }, "defined");
+
+        match.truthy = match(function (actual) {
+            return !!actual;
+        }, "truthy");
+
+        match.falsy = match(function (actual) {
+            return !actual;
+        }, "falsy");
+
+        match.same = function (expectation) {
+            return match(function (actual) {
+                return expectation === actual;
+            }, "same(" + expectation + ")");
+        };
+
+        match.typeOf = function (type) {
+            assertType(type, "string", "type");
+            return match(function (actual) {
+                return sinon.typeOf(actual) === type;
+            }, "typeOf(\"" + type + "\")");
+        };
+
+        match.instanceOf = function (type) {
+            assertType(type, "function", "type");
+            return match(function (actual) {
+                return actual instanceof type;
+            }, "instanceOf(" + sinon.functionName(type) + ")");
+        };
+
+        function createPropertyMatcher(propertyTest, messagePrefix) {
+            return function (property, value) {
+                assertType(property, "string", "property");
+                var onlyProperty = arguments.length === 1;
+                var message = messagePrefix + "(\"" + property + "\"";
+                if (!onlyProperty) {
+                    message += ", " + value;
+                }
+                message += ")";
+                return match(function (actual) {
+                    if (actual === undefined || actual === null ||
+                            !propertyTest(actual, property)) {
+                        return false;
+                    }
+                    return onlyProperty || sinon.deepEqual(value, actual[property]);
+                }, message);
+            };
+        }
+
+        match.has = createPropertyMatcher(function (actual, property) {
+            if (typeof actual === "object") {
+                return property in actual;
+            }
+            return actual[property] !== undefined;
+        }, "has");
+
+        match.hasOwn = createPropertyMatcher(function (actual, property) {
+            return actual.hasOwnProperty(property);
+        }, "hasOwn");
+
+        match.bool = match.typeOf("boolean");
+        match.number = match.typeOf("number");
+        match.string = match.typeOf("string");
+        match.object = match.typeOf("object");
+        match.func = match.typeOf("function");
+        match.array = match.typeOf("array");
+        match.regexp = match.typeOf("regexp");
+        match.date = match.typeOf("date");
+
+        sinon.match = match;
+        return match;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./util/core");
+        require("./typeOf");
+        module.exports = makeApi(sinon);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * @depend util/core.js
+ */
+/**
+ * Format functions
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2014 Christian Johansen
+ */
+(function (sinonGlobal, formatio) {
+
+    function makeApi(sinon) {
+        function valueFormatter(value) {
+            return "" + value;
+        }
+
+        function getFormatioFormatter() {
+            var formatter = formatio.configure({
+                    quoteStrings: false,
+                    limitChildrenCount: 250
+                });
+
+            function format() {
+                return formatter.ascii.apply(formatter, arguments);
+            }
+
+            return format;
+        }
+
+        function getNodeFormatter() {
+            try {
+                var util = require("util");
+            } catch (e) {
+                /* Node, but no util module - would be very old, but better safe than sorry */
+            }
+
+            function format(v) {
+                var isObjectWithNativeToString = typeof v === "object" && v.toString === Object.prototype.toString;
+                return isObjectWithNativeToString ? util.inspect(v) : v;
+            }
+
+            return util ? format : valueFormatter;
+        }
+
+        var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+        var formatter;
+
+        if (isNode) {
+            try {
+                formatio = require("formatio");
+            }
+            catch (e) {} // eslint-disable-line no-empty
+        }
+
+        if (formatio) {
+            formatter = getFormatioFormatter();
+        } else if (isNode) {
+            formatter = getNodeFormatter();
+        } else {
+            formatter = valueFormatter;
+        }
+
+        sinon.format = formatter;
+        return sinon.format;
+    }
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./util/core");
+        module.exports = makeApi(sinon);
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon, // eslint-disable-line no-undef
+    typeof formatio === "object" && formatio // eslint-disable-line no-undef
+));
+
+/**
+  * @depend util/core.js
+  * @depend match.js
+  * @depend format.js
+  */
+/**
+  * Spy calls
+  *
+  * @author Christian Johansen (christian@cjohansen.no)
+  * @author Maximilian Antoni (mail@maxantoni.de)
+  * @license BSD
+  *
+  * Copyright (c) 2010-2013 Christian Johansen
+  * Copyright (c) 2013 Maximilian Antoni
+  */
+(function (sinonGlobal) {
+
+    var slice = Array.prototype.slice;
+
+    function makeApi(sinon) {
+        function throwYieldError(proxy, text, args) {
+            var msg = sinon.functionName(proxy) + text;
+            if (args.length) {
+                msg += " Received [" + slice.call(args).join(", ") + "]";
+            }
+            throw new Error(msg);
+        }
+
+        var callProto = {
+            calledOn: function calledOn(thisValue) {
+                if (sinon.match && sinon.match.isMatcher(thisValue)) {
+                    return thisValue.test(this.thisValue);
+                }
+                return this.thisValue === thisValue;
+            },
+
+            calledWith: function calledWith() {
+                var l = arguments.length;
+                if (l > this.args.length) {
+                    return false;
+                }
+                for (var i = 0; i < l; i += 1) {
+                    if (!sinon.deepEqual(arguments[i], this.args[i])) {
+                        return false;
+                    }
+                }
+
+                return true;
+            },
+
+            calledWithMatch: function calledWithMatch() {
+                var l = arguments.length;
+                if (l > this.args.length) {
+                    return false;
+                }
+                for (var i = 0; i < l; i += 1) {
+                    var actual = this.args[i];
+                    var expectation = arguments[i];
+                    if (!sinon.match || !sinon.match(expectation).test(actual)) {
+                        return false;
+                    }
+                }
+                return true;
+            },
+
+            calledWithExactly: function calledWithExactly() {
+                return arguments.length === this.args.length &&
+                    this.calledWith.apply(this, arguments);
+            },
+
+            notCalledWith: function notCalledWith() {
+                return !this.calledWith.apply(this, arguments);
+            },
+
+            notCalledWithMatch: function notCalledWithMatch() {
+                return !this.calledWithMatch.apply(this, arguments);
+            },
+
+            returned: function returned(value) {
+                return sinon.deepEqual(value, this.returnValue);
+            },
+
+            threw: function threw(error) {
+                if (typeof error === "undefined" || !this.exception) {
+                    return !!this.exception;
+                }
+
+                return this.exception === error || this.exception.name === error;
+            },
+
+            calledWithNew: function calledWithNew() {
+                return this.proxy.prototype && this.thisValue instanceof this.proxy;
+            },
+
+            calledBefore: function (other) {
+                return this.callId < other.callId;
+            },
+
+            calledAfter: function (other) {
+                return this.callId > other.callId;
+            },
+
+            callArg: function (pos) {
+                this.args[pos]();
+            },
+
+            callArgOn: function (pos, thisValue) {
+                this.args[pos].apply(thisValue);
+            },
+
+            callArgWith: function (pos) {
+                this.callArgOnWith.apply(this, [pos, null].concat(slice.call(arguments, 1)));
+            },
+
+            callArgOnWith: function (pos, thisValue) {
+                var args = slice.call(arguments, 2);
+                this.args[pos].apply(thisValue, args);
+            },
+
+            "yield": function () {
+                this.yieldOn.apply(this, [null].concat(slice.call(arguments, 0)));
+            },
+
+            yieldOn: function (thisValue) {
+                var args = this.args;
+                for (var i = 0, l = args.length; i < l; ++i) {
+                    if (typeof args[i] === "function") {
+                        args[i].apply(thisValue, slice.call(arguments, 1));
+                        return;
+                    }
+                }
+                throwYieldError(this.proxy, " cannot yield since no callback was passed.", args);
+            },
+
+            yieldTo: function (prop) {
+                this.yieldToOn.apply(this, [prop, null].concat(slice.call(arguments, 1)));
+            },
+
+            yieldToOn: function (prop, thisValue) {
+                var args = this.args;
+                for (var i = 0, l = args.length; i < l; ++i) {
+                    if (args[i] && typeof args[i][prop] === "function") {
+                        args[i][prop].apply(thisValue, slice.call(arguments, 2));
+                        return;
+                    }
+                }
+                throwYieldError(this.proxy, " cannot yield to '" + prop +
+                    "' since no callback was passed.", args);
+            },
+
+            getStackFrames: function () {
+                // Omit the error message and the two top stack frames in sinon itself:
+                return this.stack && this.stack.split("\n").slice(3);
+            },
+
+            toString: function () {
+                var callStr = this.proxy ? this.proxy.toString() + "(" : "";
+                var args = [];
+
+                if (!this.args) {
+                    return ":(";
+                }
+
+                for (var i = 0, l = this.args.length; i < l; ++i) {
+                    args.push(sinon.format(this.args[i]));
+                }
+
+                callStr = callStr + args.join(", ") + ")";
+
+                if (typeof this.returnValue !== "undefined") {
+                    callStr += " => " + sinon.format(this.returnValue);
+                }
+
+                if (this.exception) {
+                    callStr += " !" + this.exception.name;
+
+                    if (this.exception.message) {
+                        callStr += "(" + this.exception.message + ")";
+                    }
+                }
+                if (this.stack) {
+                    callStr += this.getStackFrames()[0].replace(/^\s*(?:at\s+|@)?/, " at ");
+
+                }
+
+                return callStr;
+            }
+        };
+
+        callProto.invokeCallback = callProto.yield;
+
+        function createSpyCall(spy, thisValue, args, returnValue, exception, id, stack) {
+            if (typeof id !== "number") {
+                throw new TypeError("Call id is not a number");
+            }
+            var proxyCall = sinon.create(callProto);
+            proxyCall.proxy = spy;
+            proxyCall.thisValue = thisValue;
+            proxyCall.args = args;
+            proxyCall.returnValue = returnValue;
+            proxyCall.exception = exception;
+            proxyCall.callId = id;
+            proxyCall.stack = stack;
+
+            return proxyCall;
+        }
+        createSpyCall.toString = callProto.toString; // used by mocks
+
+        sinon.spyCall = createSpyCall;
+        return createSpyCall;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./util/core");
+        require("./match");
+        require("./format");
+        module.exports = makeApi(sinon);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+  * @depend times_in_words.js
+  * @depend util/core.js
+  * @depend extend.js
+  * @depend call.js
+  * @depend format.js
+  */
+/**
+  * Spy functions
+  *
+  * @author Christian Johansen (christian@cjohansen.no)
+  * @license BSD
+  *
+  * Copyright (c) 2010-2013 Christian Johansen
+  */
+(function (sinonGlobal) {
+
+    function makeApi(sinon) {
+        var push = Array.prototype.push;
+        var slice = Array.prototype.slice;
+        var callId = 0;
+
+        function spy(object, property, types) {
+            if (!property && typeof object === "function") {
+                return spy.create(object);
+            }
+
+            if (!object && !property) {
+                return spy.create(function () { });
+            }
+
+            if (types) {
+                var methodDesc = sinon.getPropertyDescriptor(object, property);
+                for (var i = 0; i < types.length; i++) {
+                    methodDesc[types[i]] = spy.create(methodDesc[types[i]]);
+                }
+                return sinon.wrapMethod(object, property, methodDesc);
+            }
+
+            return sinon.wrapMethod(object, property, spy.create(object[property]));
+        }
+
+        function matchingFake(fakes, args, strict) {
+            if (!fakes) {
+                return undefined;
+            }
+
+            for (var i = 0, l = fakes.length; i < l; i++) {
+                if (fakes[i].matches(args, strict)) {
+                    return fakes[i];
+                }
+            }
+        }
+
+        function incrementCallCount() {
+            this.called = true;
+            this.callCount += 1;
+            this.notCalled = false;
+            this.calledOnce = this.callCount === 1;
+            this.calledTwice = this.callCount === 2;
+            this.calledThrice = this.callCount === 3;
+        }
+
+        function createCallProperties() {
+            this.firstCall = this.getCall(0);
+            this.secondCall = this.getCall(1);
+            this.thirdCall = this.getCall(2);
+            this.lastCall = this.getCall(this.callCount - 1);
+        }
+
+        var vars = "a,b,c,d,e,f,g,h,i,j,k,l";
+        function createProxy(func, proxyLength) {
+            // Retain the function length:
+            var p;
+            if (proxyLength) {
+                eval("p = (function proxy(" + vars.substring(0, proxyLength * 2 - 1) + // eslint-disable-line no-eval
+                    ") { return p.invoke(func, this, slice.call(arguments)); });");
+            } else {
+                p = function proxy() {
+                    return p.invoke(func, this, slice.call(arguments));
+                };
+            }
+            p.isSinonProxy = true;
+            return p;
+        }
+
+        var uuid = 0;
+
+        // Public API
+        var spyApi = {
+            reset: function () {
+                if (this.invoking) {
+                    var err = new Error("Cannot reset Sinon function while invoking it. " +
+                                        "Move the call to .reset outside of the callback.");
+                    err.name = "InvalidResetException";
+                    throw err;
+                }
+
+                this.called = false;
+                this.notCalled = true;
+                this.calledOnce = false;
+                this.calledTwice = false;
+                this.calledThrice = false;
+                this.callCount = 0;
+                this.firstCall = null;
+                this.secondCall = null;
+                this.thirdCall = null;
+                this.lastCall = null;
+                this.args = [];
+                this.returnValues = [];
+                this.thisValues = [];
+                this.exceptions = [];
+                this.callIds = [];
+                this.stacks = [];
+                if (this.fakes) {
+                    for (var i = 0; i < this.fakes.length; i++) {
+                        this.fakes[i].reset();
+                    }
+                }
+
+                return this;
+            },
+
+            create: function create(func, spyLength) {
+                var name;
+
+                if (typeof func !== "function") {
+                    func = function () { };
+                } else {
+                    name = sinon.functionName(func);
+                }
+
+                if (!spyLength) {
+                    spyLength = func.length;
+                }
+
+                var proxy = createProxy(func, spyLength);
+
+                sinon.extend(proxy, spy);
+                delete proxy.create;
+                sinon.extend(proxy, func);
+
+                proxy.reset();
+                proxy.prototype = func.prototype;
+                proxy.displayName = name || "spy";
+                proxy.toString = sinon.functionToString;
+                proxy.instantiateFake = sinon.spy.create;
+                proxy.id = "spy#" + uuid++;
+
+                return proxy;
+            },
+
+            invoke: function invoke(func, thisValue, args) {
+                var matching = matchingFake(this.fakes, args);
+                var exception, returnValue;
+
+                incrementCallCount.call(this);
+                push.call(this.thisValues, thisValue);
+                push.call(this.args, args);
+                push.call(this.callIds, callId++);
+
+                // Make call properties available from within the spied function:
+                createCallProperties.call(this);
+
+                try {
+                    this.invoking = true;
+
+                    if (matching) {
+                        returnValue = matching.invoke(func, thisValue, args);
+                    } else {
+                        returnValue = (this.func || func).apply(thisValue, args);
+                    }
+
+                    var thisCall = this.getCall(this.callCount - 1);
+                    if (thisCall.calledWithNew() && typeof returnValue !== "object") {
+                        returnValue = thisValue;
+                    }
+                } catch (e) {
+                    exception = e;
+                } finally {
+                    delete this.invoking;
+                }
+
+                push.call(this.exceptions, exception);
+                push.call(this.returnValues, returnValue);
+                push.call(this.stacks, new Error().stack);
+
+                // Make return value and exception available in the calls:
+                createCallProperties.call(this);
+
+                if (exception !== undefined) {
+                    throw exception;
+                }
+
+                return returnValue;
+            },
+
+            named: function named(name) {
+                this.displayName = name;
+                return this;
+            },
+
+            getCall: function getCall(i) {
+                if (i < 0 || i >= this.callCount) {
+                    return null;
+                }
+
+                return sinon.spyCall(this, this.thisValues[i], this.args[i],
+                                        this.returnValues[i], this.exceptions[i],
+                                        this.callIds[i], this.stacks[i]);
+            },
+
+            getCalls: function () {
+                var calls = [];
+                var i;
+
+                for (i = 0; i < this.callCount; i++) {
+                    calls.push(this.getCall(i));
+                }
+
+                return calls;
+            },
+
+            calledBefore: function calledBefore(spyFn) {
+                if (!this.called) {
+                    return false;
+                }
+
+                if (!spyFn.called) {
+                    return true;
+                }
+
+                return this.callIds[0] < spyFn.callIds[spyFn.callIds.length - 1];
+            },
+
+            calledAfter: function calledAfter(spyFn) {
+                if (!this.called || !spyFn.called) {
+                    return false;
+                }
+
+                return this.callIds[this.callCount - 1] > spyFn.callIds[spyFn.callCount - 1];
+            },
+
+            withArgs: function () {
+                var args = slice.call(arguments);
+
+                if (this.fakes) {
+                    var match = matchingFake(this.fakes, args, true);
+
+                    if (match) {
+                        return match;
+                    }
+                } else {
+                    this.fakes = [];
+                }
+
+                var original = this;
+                var fake = this.instantiateFake();
+                fake.matchingAguments = args;
+                fake.parent = this;
+                push.call(this.fakes, fake);
+
+                fake.withArgs = function () {
+                    return original.withArgs.apply(original, arguments);
+                };
+
+                for (var i = 0; i < this.args.length; i++) {
+                    if (fake.matches(this.args[i])) {
+                        incrementCallCount.call(fake);
+                        push.call(fake.thisValues, this.thisValues[i]);
+                        push.call(fake.args, this.args[i]);
+                        push.call(fake.returnValues, this.returnValues[i]);
+                        push.call(fake.exceptions, this.exceptions[i]);
+                        push.call(fake.callIds, this.callIds[i]);
+                    }
+                }
+                createCallProperties.call(fake);
+
+                return fake;
+            },
+
+            matches: function (args, strict) {
+                var margs = this.matchingAguments;
+
+                if (margs.length <= args.length &&
+                    sinon.deepEqual(margs, args.slice(0, margs.length))) {
+                    return !strict || margs.length === args.length;
+                }
+            },
+
+            printf: function (format) {
+                var spyInstance = this;
+                var args = slice.call(arguments, 1);
+                var formatter;
+
+                return (format || "").replace(/%(.)/g, function (match, specifyer) {
+                    formatter = spyApi.formatters[specifyer];
+
+                    if (typeof formatter === "function") {
+                        return formatter.call(null, spyInstance, args);
+                    } else if (!isNaN(parseInt(specifyer, 10))) {
+                        return sinon.format(args[specifyer - 1]);
+                    }
+
+                    return "%" + specifyer;
+                });
+            }
+        };
+
+        function delegateToCalls(method, matchAny, actual, notCalled) {
+            spyApi[method] = function () {
+                if (!this.called) {
+                    if (notCalled) {
+                        return notCalled.apply(this, arguments);
+                    }
+                    return false;
+                }
+
+                var currentCall;
+                var matches = 0;
+
+                for (var i = 0, l = this.callCount; i < l; i += 1) {
+                    currentCall = this.getCall(i);
+
+                    if (currentCall[actual || method].apply(currentCall, arguments)) {
+                        matches += 1;
+
+                        if (matchAny) {
+                            return true;
+                        }
+                    }
+                }
+
+                return matches === this.callCount;
+            };
+        }
+
+        delegateToCalls("calledOn", true);
+        delegateToCalls("alwaysCalledOn", false, "calledOn");
+        delegateToCalls("calledWith", true);
+        delegateToCalls("calledWithMatch", true);
+        delegateToCalls("alwaysCalledWith", false, "calledWith");
+        delegateToCalls("alwaysCalledWithMatch", false, "calledWithMatch");
+        delegateToCalls("calledWithExactly", true);
+        delegateToCalls("alwaysCalledWithExactly", false, "calledWithExactly");
+        delegateToCalls("neverCalledWith", false, "notCalledWith", function () {
+            return true;
+        });
+        delegateToCalls("neverCalledWithMatch", false, "notCalledWithMatch", function () {
+            return true;
+        });
+        delegateToCalls("threw", true);
+        delegateToCalls("alwaysThrew", false, "threw");
+        delegateToCalls("returned", true);
+        delegateToCalls("alwaysReturned", false, "returned");
+        delegateToCalls("calledWithNew", true);
+        delegateToCalls("alwaysCalledWithNew", false, "calledWithNew");
+        delegateToCalls("callArg", false, "callArgWith", function () {
+            throw new Error(this.toString() + " cannot call arg since it was not yet invoked.");
+        });
+        spyApi.callArgWith = spyApi.callArg;
+        delegateToCalls("callArgOn", false, "callArgOnWith", function () {
+            throw new Error(this.toString() + " cannot call arg since it was not yet invoked.");
+        });
+        spyApi.callArgOnWith = spyApi.callArgOn;
+        delegateToCalls("yield", false, "yield", function () {
+            throw new Error(this.toString() + " cannot yield since it was not yet invoked.");
+        });
+        // "invokeCallback" is an alias for "yield" since "yield" is invalid in strict mode.
+        spyApi.invokeCallback = spyApi.yield;
+        delegateToCalls("yieldOn", false, "yieldOn", function () {
+            throw new Error(this.toString() + " cannot yield since it was not yet invoked.");
+        });
+        delegateToCalls("yieldTo", false, "yieldTo", function (property) {
+            throw new Error(this.toString() + " cannot yield to '" + property +
+                "' since it was not yet invoked.");
+        });
+        delegateToCalls("yieldToOn", false, "yieldToOn", function (property) {
+            throw new Error(this.toString() + " cannot yield to '" + property +
+                "' since it was not yet invoked.");
+        });
+
+        spyApi.formatters = {
+            c: function (spyInstance) {
+                return sinon.timesInWords(spyInstance.callCount);
+            },
+
+            n: function (spyInstance) {
+                return spyInstance.toString();
+            },
+
+            C: function (spyInstance) {
+                var calls = [];
+
+                for (var i = 0, l = spyInstance.callCount; i < l; ++i) {
+                    var stringifiedCall = "    " + spyInstance.getCall(i).toString();
+                    if (/\n/.test(calls[i - 1])) {
+                        stringifiedCall = "\n" + stringifiedCall;
+                    }
+                    push.call(calls, stringifiedCall);
+                }
+
+                return calls.length > 0 ? "\n" + calls.join("\n") : "";
+            },
+
+            t: function (spyInstance) {
+                var objects = [];
+
+                for (var i = 0, l = spyInstance.callCount; i < l; ++i) {
+                    push.call(objects, sinon.format(spyInstance.thisValues[i]));
+                }
+
+                return objects.join(", ");
+            },
+
+            "*": function (spyInstance, args) {
+                var formatted = [];
+
+                for (var i = 0, l = args.length; i < l; ++i) {
+                    push.call(formatted, sinon.format(args[i]));
+                }
+
+                return formatted.join(", ");
+            }
+        };
+
+        sinon.extend(spy, spyApi);
+
+        spy.spyCall = sinon.spyCall;
+        sinon.spy = spy;
+
+        return spy;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var core = require("./util/core");
+        require("./call");
+        require("./extend");
+        require("./times_in_words");
+        require("./format");
+        module.exports = makeApi(core);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * @depend util/core.js
+ * @depend extend.js
+ */
+/**
+ * Stub behavior
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @author Tim Fischbach (mail@timfischbach.de)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+(function (sinonGlobal) {
+
+    var slice = Array.prototype.slice;
+    var join = Array.prototype.join;
+    var useLeftMostCallback = -1;
+    var useRightMostCallback = -2;
+
+    var nextTick = (function () {
+        if (typeof process === "object" && typeof process.nextTick === "function") {
+            return process.nextTick;
+        }
+
+        if (typeof setImmediate === "function") {
+            return setImmediate;
+        }
+
+        return function (callback) {
+            setTimeout(callback, 0);
+        };
+    })();
+
+    function throwsException(error, message) {
+        if (typeof error === "string") {
+            this.exception = new Error(message || "");
+            this.exception.name = error;
+        } else if (!error) {
+            this.exception = new Error("Error");
+        } else {
+            this.exception = error;
+        }
+
+        return this;
+    }
+
+    function getCallback(behavior, args) {
+        var callArgAt = behavior.callArgAt;
+
+        if (callArgAt >= 0) {
+            return args[callArgAt];
+        }
+
+        var argumentList;
+
+        if (callArgAt === useLeftMostCallback) {
+            argumentList = args;
+        }
+
+        if (callArgAt === useRightMostCallback) {
+            argumentList = slice.call(args).reverse();
+        }
+
+        var callArgProp = behavior.callArgProp;
+
+        for (var i = 0, l = argumentList.length; i < l; ++i) {
+            if (!callArgProp && typeof argumentList[i] === "function") {
+                return argumentList[i];
+            }
+
+            if (callArgProp && argumentList[i] &&
+                typeof argumentList[i][callArgProp] === "function") {
+                return argumentList[i][callArgProp];
+            }
+        }
+
+        return null;
+    }
+
+    function makeApi(sinon) {
+        function getCallbackError(behavior, func, args) {
+            if (behavior.callArgAt < 0) {
+                var msg;
+
+                if (behavior.callArgProp) {
+                    msg = sinon.functionName(behavior.stub) +
+                        " expected to yield to '" + behavior.callArgProp +
+                        "', but no object with such a property was passed.";
+                } else {
+                    msg = sinon.functionName(behavior.stub) +
+                        " expected to yield, but no callback was passed.";
+                }
+
+                if (args.length > 0) {
+                    msg += " Received [" + join.call(args, ", ") + "]";
+                }
+
+                return msg;
+            }
+
+            return "argument at index " + behavior.callArgAt + " is not a function: " + func;
+        }
+
+        function callCallback(behavior, args) {
+            if (typeof behavior.callArgAt === "number") {
+                var func = getCallback(behavior, args);
+
+                if (typeof func !== "function") {
+                    throw new TypeError(getCallbackError(behavior, func, args));
+                }
+
+                if (behavior.callbackAsync) {
+                    nextTick(function () {
+                        func.apply(behavior.callbackContext, behavior.callbackArguments);
+                    });
+                } else {
+                    func.apply(behavior.callbackContext, behavior.callbackArguments);
+                }
+            }
+        }
+
+        var proto = {
+            create: function create(stub) {
+                var behavior = sinon.extend({}, sinon.behavior);
+                delete behavior.create;
+                behavior.stub = stub;
+
+                return behavior;
+            },
+
+            isPresent: function isPresent() {
+                return (typeof this.callArgAt === "number" ||
+                        this.exception ||
+                        typeof this.returnArgAt === "number" ||
+                        this.returnThis ||
+                        this.returnValueDefined);
+            },
+
+            invoke: function invoke(context, args) {
+                callCallback(this, args);
+
+                if (this.exception) {
+                    throw this.exception;
+                } else if (typeof this.returnArgAt === "number") {
+                    return args[this.returnArgAt];
+                } else if (this.returnThis) {
+                    return context;
+                }
+
+                return this.returnValue;
+            },
+
+            onCall: function onCall(index) {
+                return this.stub.onCall(index);
+            },
+
+            onFirstCall: function onFirstCall() {
+                return this.stub.onFirstCall();
+            },
+
+            onSecondCall: function onSecondCall() {
+                return this.stub.onSecondCall();
+            },
+
+            onThirdCall: function onThirdCall() {
+                return this.stub.onThirdCall();
+            },
+
+            withArgs: function withArgs(/* arguments */) {
+                throw new Error(
+                    "Defining a stub by invoking \"stub.onCall(...).withArgs(...)\" " +
+                    "is not supported. Use \"stub.withArgs(...).onCall(...)\" " +
+                    "to define sequential behavior for calls with certain arguments."
+                );
+            },
+
+            callsArg: function callsArg(pos) {
+                if (typeof pos !== "number") {
+                    throw new TypeError("argument index is not number");
+                }
+
+                this.callArgAt = pos;
+                this.callbackArguments = [];
+                this.callbackContext = undefined;
+                this.callArgProp = undefined;
+                this.callbackAsync = false;
+
+                return this;
+            },
+
+            callsArgOn: function callsArgOn(pos, context) {
+                if (typeof pos !== "number") {
+                    throw new TypeError("argument index is not number");
+                }
+                if (typeof context !== "object") {
+                    throw new TypeError("argument context is not an object");
+                }
+
+                this.callArgAt = pos;
+                this.callbackArguments = [];
+                this.callbackContext = context;
+                this.callArgProp = undefined;
+                this.callbackAsync = false;
+
+                return this;
+            },
+
+            callsArgWith: function callsArgWith(pos) {
+                if (typeof pos !== "number") {
+                    throw new TypeError("argument index is not number");
+                }
+
+                this.callArgAt = pos;
+                this.callbackArguments = slice.call(arguments, 1);
+                this.callbackContext = undefined;
+                this.callArgProp = undefined;
+                this.callbackAsync = false;
+
+                return this;
+            },
+
+            callsArgOnWith: function callsArgWith(pos, context) {
+                if (typeof pos !== "number") {
+                    throw new TypeError("argument index is not number");
+                }
+                if (typeof context !== "object") {
+                    throw new TypeError("argument context is not an object");
+                }
+
+                this.callArgAt = pos;
+                this.callbackArguments = slice.call(arguments, 2);
+                this.callbackContext = context;
+                this.callArgProp = undefined;
+                this.callbackAsync = false;
+
+                return this;
+            },
+
+            yields: function () {
+                this.callArgAt = useLeftMostCallback;
+                this.callbackArguments = slice.call(arguments, 0);
+                this.callbackContext = undefined;
+                this.callArgProp = undefined;
+                this.callbackAsync = false;
+
+                return this;
+            },
+
+            yieldsRight: function () {
+                this.callArgAt = useRightMostCallback;
+                this.callbackArguments = slice.call(arguments, 0);
+                this.callbackContext = undefined;
+                this.callArgProp = undefined;
+                this.callbackAsync = false;
+
+                return this;
+            },
+
+            yieldsOn: function (context) {
+                if (typeof context !== "object") {
+                    throw new TypeError("argument context is not an object");
+                }
+
+                this.callArgAt = useLeftMostCallback;
+                this.callbackArguments = slice.call(arguments, 1);
+                this.callbackContext = context;
+                this.callArgProp = undefined;
+                this.callbackAsync = false;
+
+                return this;
+            },
+
+            yieldsTo: function (prop) {
+                this.callArgAt = useLeftMostCallback;
+                this.callbackArguments = slice.call(arguments, 1);
+                this.callbackContext = undefined;
+                this.callArgProp = prop;
+                this.callbackAsync = false;
+
+                return this;
+            },
+
+            yieldsToOn: function (prop, context) {
+                if (typeof context !== "object") {
+                    throw new TypeError("argument context is not an object");
+                }
+
+                this.callArgAt = useLeftMostCallback;
+                this.callbackArguments = slice.call(arguments, 2);
+                this.callbackContext = context;
+                this.callArgProp = prop;
+                this.callbackAsync = false;
+
+                return this;
+            },
+
+            throws: throwsException,
+            throwsException: throwsException,
+
+            returns: function returns(value) {
+                this.returnValue = value;
+                this.returnValueDefined = true;
+                this.exception = undefined;
+
+                return this;
+            },
+
+            returnsArg: function returnsArg(pos) {
+                if (typeof pos !== "number") {
+                    throw new TypeError("argument index is not number");
+                }
+
+                this.returnArgAt = pos;
+
+                return this;
+            },
+
+            returnsThis: function returnsThis() {
+                this.returnThis = true;
+
+                return this;
+            }
+        };
+
+        function createAsyncVersion(syncFnName) {
+            return function () {
+                var result = this[syncFnName].apply(this, arguments);
+                this.callbackAsync = true;
+                return result;
+            };
+        }
+
+        // create asynchronous versions of callsArg* and yields* methods
+        for (var method in proto) {
+            // need to avoid creating anotherasync versions of the newly added async methods
+            if (proto.hasOwnProperty(method) && method.match(/^(callsArg|yields)/) && !method.match(/Async/)) {
+                proto[method + "Async"] = createAsyncVersion(method);
+            }
+        }
+
+        sinon.behavior = proto;
+        return proto;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./util/core");
+        require("./extend");
+        module.exports = makeApi(sinon);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * @depend util/core.js
+ */
+(function (sinonGlobal) {
+
+    function makeApi(sinon) {
+        function walkInternal(obj, iterator, context, originalObj, seen) {
+            var proto, prop;
+
+            if (typeof Object.getOwnPropertyNames !== "function") {
+                // We explicitly want to enumerate through all of the prototype's properties
+                // in this case, therefore we deliberately leave out an own property check.
+                /* eslint-disable guard-for-in */
+                for (prop in obj) {
+                    iterator.call(context, obj[prop], prop, obj);
+                }
+                /* eslint-enable guard-for-in */
+
+                return;
+            }
+
+            Object.getOwnPropertyNames(obj).forEach(function (k) {
+                if (!seen[k]) {
+                    seen[k] = true;
+                    var target = typeof Object.getOwnPropertyDescriptor(obj, k).get === "function" ?
+                        originalObj : obj;
+                    iterator.call(context, target[k], k, target);
+                }
+            });
+
+            proto = Object.getPrototypeOf(obj);
+            if (proto) {
+                walkInternal(proto, iterator, context, originalObj, seen);
+            }
+        }
+
+        /* Public: walks the prototype chain of an object and iterates over every own property
+         * name encountered. The iterator is called in the same fashion that Array.prototype.forEach
+         * works, where it is passed the value, key, and own object as the 1st, 2nd, and 3rd positional
+         * argument, respectively. In cases where Object.getOwnPropertyNames is not available, walk will
+         * default to using a simple for..in loop.
+         *
+         * obj - The object to walk the prototype chain for.
+         * iterator - The function to be called on each pass of the walk.
+         * context - (Optional) When given, the iterator will be called with this object as the receiver.
+         */
+        function walk(obj, iterator, context) {
+            return walkInternal(obj, iterator, context, obj, {});
+        }
+
+        sinon.walk = walk;
+        return sinon.walk;
+    }
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./util/core");
+        module.exports = makeApi(sinon);
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * @depend util/core.js
+ * @depend extend.js
+ * @depend spy.js
+ * @depend behavior.js
+ * @depend walk.js
+ */
+/**
+ * Stub functions
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+(function (sinonGlobal) {
+
+    function makeApi(sinon) {
+        function stub(object, property, func) {
+            if (!!func && typeof func !== "function" && typeof func !== "object") {
+                throw new TypeError("Custom stub should be a function or a property descriptor");
+            }
+
+            var wrapper;
+
+            if (func) {
+                if (typeof func === "function") {
+                    wrapper = sinon.spy && sinon.spy.create ? sinon.spy.create(func) : func;
+                } else {
+                    wrapper = func;
+                    if (sinon.spy && sinon.spy.create) {
+                        var types = sinon.objectKeys(wrapper);
+                        for (var i = 0; i < types.length; i++) {
+                            wrapper[types[i]] = sinon.spy.create(wrapper[types[i]]);
+                        }
+                    }
+                }
+            } else {
+                var stubLength = 0;
+                if (typeof object === "object" && typeof object[property] === "function") {
+                    stubLength = object[property].length;
+                }
+                wrapper = stub.create(stubLength);
+            }
+
+            if (!object && typeof property === "undefined") {
+                return sinon.stub.create();
+            }
+
+            if (typeof property === "undefined" && typeof object === "object") {
+                sinon.walk(object || {}, function (value, prop, propOwner) {
+                    // we don't want to stub things like toString(), valueOf(), etc. so we only stub if the object
+                    // is not Object.prototype
+                    if (
+                        propOwner !== Object.prototype &&
+                        prop !== "constructor" &&
+                        typeof sinon.getPropertyDescriptor(propOwner, prop).value === "function"
+                    ) {
+                        stub(object, prop);
+                    }
+                });
+
+                return object;
+            }
+
+            return sinon.wrapMethod(object, property, wrapper);
+        }
+
+
+        /*eslint-disable no-use-before-define*/
+        function getParentBehaviour(stubInstance) {
+            return (stubInstance.parent && getCurrentBehavior(stubInstance.parent));
+        }
+
+        function getDefaultBehavior(stubInstance) {
+            return stubInstance.defaultBehavior ||
+                    getParentBehaviour(stubInstance) ||
+                    sinon.behavior.create(stubInstance);
+        }
+
+        function getCurrentBehavior(stubInstance) {
+            var behavior = stubInstance.behaviors[stubInstance.callCount - 1];
+            return behavior && behavior.isPresent() ? behavior : getDefaultBehavior(stubInstance);
+        }
+        /*eslint-enable no-use-before-define*/
+
+        var uuid = 0;
+
+        var proto = {
+            create: function create(stubLength) {
+                var functionStub = function () {
+                    return getCurrentBehavior(functionStub).invoke(this, arguments);
+                };
+
+                functionStub.id = "stub#" + uuid++;
+                var orig = functionStub;
+                functionStub = sinon.spy.create(functionStub, stubLength);
+                functionStub.func = orig;
+
+                sinon.extend(functionStub, stub);
+                functionStub.instantiateFake = sinon.stub.create;
+                functionStub.displayName = "stub";
+                functionStub.toString = sinon.functionToString;
+
+                functionStub.defaultBehavior = null;
+                functionStub.behaviors = [];
+
+                return functionStub;
+            },
+
+            resetBehavior: function () {
+                var i;
+
+                this.defaultBehavior = null;
+                this.behaviors = [];
+
+                delete this.returnValue;
+                delete this.returnArgAt;
+                this.returnThis = false;
+
+                if (this.fakes) {
+                    for (i = 0; i < this.fakes.length; i++) {
+                        this.fakes[i].resetBehavior();
+                    }
+                }
+            },
+
+            onCall: function onCall(index) {
+                if (!this.behaviors[index]) {
+                    this.behaviors[index] = sinon.behavior.create(this);
+                }
+
+                return this.behaviors[index];
+            },
+
+            onFirstCall: function onFirstCall() {
+                return this.onCall(0);
+            },
+
+            onSecondCall: function onSecondCall() {
+                return this.onCall(1);
+            },
+
+            onThirdCall: function onThirdCall() {
+                return this.onCall(2);
+            }
+        };
+
+        function createBehavior(behaviorMethod) {
+            return function () {
+                this.defaultBehavior = this.defaultBehavior || sinon.behavior.create(this);
+                this.defaultBehavior[behaviorMethod].apply(this.defaultBehavior, arguments);
+                return this;
+            };
+        }
+
+        for (var method in sinon.behavior) {
+            if (sinon.behavior.hasOwnProperty(method) &&
+                !proto.hasOwnProperty(method) &&
+                method !== "create" &&
+                method !== "withArgs" &&
+                method !== "invoke") {
+                proto[method] = createBehavior(method);
+            }
+        }
+
+        sinon.extend(stub, proto);
+        sinon.stub = stub;
+
+        return stub;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var core = require("./util/core");
+        require("./behavior");
+        require("./spy");
+        require("./extend");
+        module.exports = makeApi(core);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * @depend times_in_words.js
+ * @depend util/core.js
+ * @depend call.js
+ * @depend extend.js
+ * @depend match.js
+ * @depend spy.js
+ * @depend stub.js
+ * @depend format.js
+ */
+/**
+ * Mock functions.
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+(function (sinonGlobal) {
+
+    function makeApi(sinon) {
+        var push = [].push;
+        var match = sinon.match;
+
+        function mock(object) {
+            // if (typeof console !== undefined && console.warn) {
+            //     console.warn("mock will be removed from Sinon.JS v2.0");
+            // }
+
+            if (!object) {
+                return sinon.expectation.create("Anonymous mock");
+            }
+
+            return mock.create(object);
+        }
+
+        function each(collection, callback) {
+            if (!collection) {
+                return;
+            }
+
+            for (var i = 0, l = collection.length; i < l; i += 1) {
+                callback(collection[i]);
+            }
+        }
+
+        function arrayEquals(arr1, arr2, compareLength) {
+            if (compareLength && (arr1.length !== arr2.length)) {
+                return false;
+            }
+
+            for (var i = 0, l = arr1.length; i < l; i++) {
+                if (!sinon.deepEqual(arr1[i], arr2[i])) {
+                    return false;
+                }
+            }
+            return true;
+        }
+
+        sinon.extend(mock, {
+            create: function create(object) {
+                if (!object) {
+                    throw new TypeError("object is null");
+                }
+
+                var mockObject = sinon.extend({}, mock);
+                mockObject.object = object;
+                delete mockObject.create;
+
+                return mockObject;
+            },
+
+            expects: function expects(method) {
+                if (!method) {
+                    throw new TypeError("method is falsy");
+                }
+
+                if (!this.expectations) {
+                    this.expectations = {};
+                    this.proxies = [];
+                }
+
+                if (!this.expectations[method]) {
+                    this.expectations[method] = [];
+                    var mockObject = this;
+
+                    sinon.wrapMethod(this.object, method, function () {
+                        return mockObject.invokeMethod(method, this, arguments);
+                    });
+
+                    push.call(this.proxies, method);
+                }
+
+                var expectation = sinon.expectation.create(method);
+                push.call(this.expectations[method], expectation);
+
+                return expectation;
+            },
+
+            restore: function restore() {
+                var object = this.object;
+
+                each(this.proxies, function (proxy) {
+                    if (typeof object[proxy].restore === "function") {
+                        object[proxy].restore();
+                    }
+                });
+            },
+
+            verify: function verify() {
+                var expectations = this.expectations || {};
+                var messages = [];
+                var met = [];
+
+                each(this.proxies, function (proxy) {
+                    each(expectations[proxy], function (expectation) {
+                        if (!expectation.met()) {
+                            push.call(messages, expectation.toString());
+                        } else {
+                            push.call(met, expectation.toString());
+                        }
+                    });
+                });
+
+                this.restore();
+
+                if (messages.length > 0) {
+                    sinon.expectation.fail(messages.concat(met).join("\n"));
+                } else if (met.length > 0) {
+                    sinon.expectation.pass(messages.concat(met).join("\n"));
+                }
+
+                return true;
+            },
+
+            invokeMethod: function invokeMethod(method, thisValue, args) {
+                var expectations = this.expectations && this.expectations[method] ? this.expectations[method] : [];
+                var expectationsWithMatchingArgs = [];
+                var currentArgs = args || [];
+                var i, available;
+
+                for (i = 0; i < expectations.length; i += 1) {
+                    var expectedArgs = expectations[i].expectedArguments || [];
+                    if (arrayEquals(expectedArgs, currentArgs, expectations[i].expectsExactArgCount)) {
+                        expectationsWithMatchingArgs.push(expectations[i]);
+                    }
+                }
+
+                for (i = 0; i < expectationsWithMatchingArgs.length; i += 1) {
+                    if (!expectationsWithMatchingArgs[i].met() &&
+                        expectationsWithMatchingArgs[i].allowsCall(thisValue, args)) {
+                        return expectationsWithMatchingArgs[i].apply(thisValue, args);
+                    }
+                }
+
+                var messages = [];
+                var exhausted = 0;
+
+                for (i = 0; i < expectationsWithMatchingArgs.length; i += 1) {
+                    if (expectationsWithMatchingArgs[i].allowsCall(thisValue, args)) {
+                        available = available || expectationsWithMatchingArgs[i];
+                    } else {
+                        exhausted += 1;
+                    }
+                }
+
+                if (available && exhausted === 0) {
+                    return available.apply(thisValue, args);
+                }
+
+                for (i = 0; i < expectations.length; i += 1) {
+                    push.call(messages, "    " + expectations[i].toString());
+                }
+
+                messages.unshift("Unexpected call: " + sinon.spyCall.toString.call({
+                    proxy: method,
+                    args: args
+                }));
+
+                sinon.expectation.fail(messages.join("\n"));
+            }
+        });
+
+        var times = sinon.timesInWords;
+        var slice = Array.prototype.slice;
+
+        function callCountInWords(callCount) {
+            if (callCount === 0) {
+                return "never called";
+            }
+
+            return "called " + times(callCount);
+        }
+
+        function expectedCallCountInWords(expectation) {
+            var min = expectation.minCalls;
+            var max = expectation.maxCalls;
+
+            if (typeof min === "number" && typeof max === "number") {
+                var str = times(min);
+
+                if (min !== max) {
+                    str = "at least " + str + " and at most " + times(max);
+                }
+
+                return str;
+            }
+
+            if (typeof min === "number") {
+                return "at least " + times(min);
+            }
+
+            return "at most " + times(max);
+        }
+
+        function receivedMinCalls(expectation) {
+            var hasMinLimit = typeof expectation.minCalls === "number";
+            return !hasMinLimit || expectation.callCount >= expectation.minCalls;
+        }
+
+        function receivedMaxCalls(expectation) {
+            if (typeof expectation.maxCalls !== "number") {
+                return false;
+            }
+
+            return expectation.callCount === expectation.maxCalls;
+        }
+
+        function verifyMatcher(possibleMatcher, arg) {
+            var isMatcher = match && match.isMatcher(possibleMatcher);
+
+            return isMatcher && possibleMatcher.test(arg) || true;
+        }
+
+        sinon.expectation = {
+            minCalls: 1,
+            maxCalls: 1,
+
+            create: function create(methodName) {
+                var expectation = sinon.extend(sinon.stub.create(), sinon.expectation);
+                delete expectation.create;
+                expectation.method = methodName;
+
+                return expectation;
+            },
+
+            invoke: function invoke(func, thisValue, args) {
+                this.verifyCallAllowed(thisValue, args);
+
+                return sinon.spy.invoke.apply(this, arguments);
+            },
+
+            atLeast: function atLeast(num) {
+                if (typeof num !== "number") {
+                    throw new TypeError("'" + num + "' is not number");
+                }
+
+                if (!this.limitsSet) {
+                    this.maxCalls = null;
+                    this.limitsSet = true;
+                }
+
+                this.minCalls = num;
+
+                return this;
+            },
+
+            atMost: function atMost(num) {
+                if (typeof num !== "number") {
+                    throw new TypeError("'" + num + "' is not number");
+                }
+
+                if (!this.limitsSet) {
+                    this.minCalls = null;
+                    this.limitsSet = true;
+                }
+
+                this.maxCalls = num;
+
+                return this;
+            },
+
+            never: function never() {
+                return this.exactly(0);
+            },
+
+            once: function once() {
+                return this.exactly(1);
+            },
+
+            twice: function twice() {
+                return this.exactly(2);
+            },
+
+            thrice: function thrice() {
+                return this.exactly(3);
+            },
+
+            exactly: function exactly(num) {
+                if (typeof num !== "number") {
+                    throw new TypeError("'" + num + "' is not a number");
+                }
+
+                this.atLeast(num);
+                return this.atMost(num);
+            },
+
+            met: function met() {
+                return !this.failed && receivedMinCalls(this);
+            },
+
+            verifyCallAllowed: function verifyCallAllowed(thisValue, args) {
+                if (receivedMaxCalls(this)) {
+                    this.failed = true;
+                    sinon.expectation.fail(this.method + " already called " + times(this.maxCalls));
+                }
+
+                if ("expectedThis" in this && this.expectedThis !== thisValue) {
+                    sinon.expectation.fail(this.method + " called with " + thisValue + " as thisValue, expected " +
+                        this.expectedThis);
+                }
+
+                if (!("expectedArguments" in this)) {
+                    return;
+                }
+
+                if (!args) {
+                    sinon.expectation.fail(this.method + " received no arguments, expected " +
+                        sinon.format(this.expectedArguments));
+                }
+
+                if (args.length < this.expectedArguments.length) {
+                    sinon.expectation.fail(this.method + " received too few arguments (" + sinon.format(args) +
+                        "), expected " + sinon.format(this.expectedArguments));
+                }
+
+                if (this.expectsExactArgCount &&
+                    args.length !== this.expectedArguments.length) {
+                    sinon.expectation.fail(this.method + " received too many arguments (" + sinon.format(args) +
+                        "), expected " + sinon.format(this.expectedArguments));
+                }
+
+                for (var i = 0, l = this.expectedArguments.length; i < l; i += 1) {
+
+                    if (!verifyMatcher(this.expectedArguments[i], args[i])) {
+                        sinon.expectation.fail(this.method + " received wrong arguments " + sinon.format(args) +
+                            ", didn't match " + this.expectedArguments.toString());
+                    }
+
+                    if (!sinon.deepEqual(this.expectedArguments[i], args[i])) {
+                        sinon.expectation.fail(this.method + " received wrong arguments " + sinon.format(args) +
+                            ", expected " + sinon.format(this.expectedArguments));
+                    }
+                }
+            },
+
+            allowsCall: function allowsCall(thisValue, args) {
+                if (this.met() && receivedMaxCalls(this)) {
+                    return false;
+                }
+
+                if ("expectedThis" in this && this.expectedThis !== thisValue) {
+                    return false;
+                }
+
+                if (!("expectedArguments" in this)) {
+                    return true;
+                }
+
+                args = args || [];
+
+                if (args.length < this.expectedArguments.length) {
+                    return false;
+                }
+
+                if (this.expectsExactArgCount &&
+                    args.length !== this.expectedArguments.length) {
+                    return false;
+                }
+
+                for (var i = 0, l = this.expectedArguments.length; i < l; i += 1) {
+                    if (!verifyMatcher(this.expectedArguments[i], args[i])) {
+                        return false;
+                    }
+
+                    if (!sinon.deepEqual(this.expectedArguments[i], args[i])) {
+                        return false;
+                    }
+                }
+
+                return true;
+            },
+
+            withArgs: function withArgs() {
+                this.expectedArguments = slice.call(arguments);
+                return this;
+            },
+
+            withExactArgs: function withExactArgs() {
+                this.withArgs.apply(this, arguments);
+                this.expectsExactArgCount = true;
+                return this;
+            },
+
+            on: function on(thisValue) {
+                this.expectedThis = thisValue;
+                return this;
+            },
+
+            toString: function () {
+                var args = (this.expectedArguments || []).slice();
+
+                if (!this.expectsExactArgCount) {
+                    push.call(args, "[...]");
+                }
+
+                var callStr = sinon.spyCall.toString.call({
+                    proxy: this.method || "anonymous mock expectation",
+                    args: args
+                });
+
+                var message = callStr.replace(", [...", "[, ...") + " " +
+                    expectedCallCountInWords(this);
+
+                if (this.met()) {
+                    return "Expectation met: " + message;
+                }
+
+                return "Expected " + message + " (" +
+                    callCountInWords(this.callCount) + ")";
+            },
+
+            verify: function verify() {
+                if (!this.met()) {
+                    sinon.expectation.fail(this.toString());
+                } else {
+                    sinon.expectation.pass(this.toString());
+                }
+
+                return true;
+            },
+
+            pass: function pass(message) {
+                sinon.assert.pass(message);
+            },
+
+            fail: function fail(message) {
+                var exception = new Error(message);
+                exception.name = "ExpectationError";
+
+                throw exception;
+            }
+        };
+
+        sinon.mock = mock;
+        return mock;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./util/core");
+        require("./times_in_words");
+        require("./call");
+        require("./extend");
+        require("./match");
+        require("./spy");
+        require("./stub");
+        require("./format");
+
+        module.exports = makeApi(sinon);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * @depend util/core.js
+ * @depend spy.js
+ * @depend stub.js
+ * @depend mock.js
+ */
+/**
+ * Collections of stubs, spies and mocks.
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+(function (sinonGlobal) {
+
+    var push = [].push;
+    var hasOwnProperty = Object.prototype.hasOwnProperty;
+
+    function getFakes(fakeCollection) {
+        if (!fakeCollection.fakes) {
+            fakeCollection.fakes = [];
+        }
+
+        return fakeCollection.fakes;
+    }
+
+    function each(fakeCollection, method) {
+        var fakes = getFakes(fakeCollection);
+
+        for (var i = 0, l = fakes.length; i < l; i += 1) {
+            if (typeof fakes[i][method] === "function") {
+                fakes[i][method]();
+            }
+        }
+    }
+
+    function compact(fakeCollection) {
+        var fakes = getFakes(fakeCollection);
+        var i = 0;
+        while (i < fakes.length) {
+            fakes.splice(i, 1);
+        }
+    }
+
+    function makeApi(sinon) {
+        var collection = {
+            verify: function resolve() {
+                each(this, "verify");
+            },
+
+            restore: function restore() {
+                each(this, "restore");
+                compact(this);
+            },
+
+            reset: function restore() {
+                each(this, "reset");
+            },
+
+            verifyAndRestore: function verifyAndRestore() {
+                var exception;
+
+                try {
+                    this.verify();
+                } catch (e) {
+                    exception = e;
+                }
+
+                this.restore();
+
+                if (exception) {
+                    throw exception;
+                }
+            },
+
+            add: function add(fake) {
+                push.call(getFakes(this), fake);
+                return fake;
+            },
+
+            spy: function spy() {
+                return this.add(sinon.spy.apply(sinon, arguments));
+            },
+
+            stub: function stub(object, property, value) {
+                if (property) {
+                    var original = object[property];
+
+                    if (typeof original !== "function") {
+                        if (!hasOwnProperty.call(object, property)) {
+                            throw new TypeError("Cannot stub non-existent own property " + property);
+                        }
+
+                        object[property] = value;
+
+                        return this.add({
+                            restore: function () {
+                                object[property] = original;
+                            }
+                        });
+                    }
+                }
+                if (!property && !!object && typeof object === "object") {
+                    var stubbedObj = sinon.stub.apply(sinon, arguments);
+
+                    for (var prop in stubbedObj) {
+                        if (typeof stubbedObj[prop] === "function") {
+                            this.add(stubbedObj[prop]);
+                        }
+                    }
+
+                    return stubbedObj;
+                }
+
+                return this.add(sinon.stub.apply(sinon, arguments));
+            },
+
+            mock: function mock() {
+                return this.add(sinon.mock.apply(sinon, arguments));
+            },
+
+            inject: function inject(obj) {
+                var col = this;
+
+                obj.spy = function () {
+                    return col.spy.apply(col, arguments);
+                };
+
+                obj.stub = function () {
+                    return col.stub.apply(col, arguments);
+                };
+
+                obj.mock = function () {
+                    return col.mock.apply(col, arguments);
+                };
+
+                return obj;
+            }
+        };
+
+        sinon.collection = collection;
+        return collection;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./util/core");
+        require("./mock");
+        require("./spy");
+        require("./stub");
+        module.exports = makeApi(sinon);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * Fake timer API
+ * setTimeout
+ * setInterval
+ * clearTimeout
+ * clearInterval
+ * tick
+ * reset
+ * Date
+ *
+ * Inspired by jsUnitMockTimeOut from JsUnit
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+(function () {
+
+    function makeApi(s, lol) {
+        /*global lolex */
+        var llx = typeof lolex !== "undefined" ? lolex : lol;
+
+        s.useFakeTimers = function () {
+            var now;
+            var methods = Array.prototype.slice.call(arguments);
+
+            if (typeof methods[0] === "string") {
+                now = 0;
+            } else {
+                now = methods.shift();
+            }
+
+            var clock = llx.install(now || 0, methods);
+            clock.restore = clock.uninstall;
+            return clock;
+        };
+
+        s.clock = {
+            create: function (now) {
+                return llx.createClock(now);
+            }
+        };
+
+        s.timers = {
+            setTimeout: setTimeout,
+            clearTimeout: clearTimeout,
+            setImmediate: (typeof setImmediate !== "undefined" ? setImmediate : undefined),
+            clearImmediate: (typeof clearImmediate !== "undefined" ? clearImmediate : undefined),
+            setInterval: setInterval,
+            clearInterval: clearInterval,
+            Date: Date
+        };
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, epxorts, module, lolex) {
+        var core = require("./core");
+        makeApi(core, lolex);
+        module.exports = core;
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+    } else if (isNode) {
+        loadDependencies(require, module.exports, module, require("lolex"));
+    } else {
+        makeApi(sinon); // eslint-disable-line no-undef
+    }
+}());
+
+/**
+ * Minimal Event interface implementation
+ *
+ * Original implementation by Sven Fuchs: https://gist.github.com/995028
+ * Modifications and tests by Christian Johansen.
+ *
+ * @author Sven Fuchs (svenfuchs@artweb-design.de)
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2011 Sven Fuchs, Christian Johansen
+ */
+if (typeof sinon === "undefined") {
+    this.sinon = {};
+}
+
+(function () {
+
+    var push = [].push;
+
+    function makeApi(sinon) {
+        sinon.Event = function Event(type, bubbles, cancelable, target) {
+            this.initEvent(type, bubbles, cancelable, target);
+        };
+
+        sinon.Event.prototype = {
+            initEvent: function (type, bubbles, cancelable, target) {
+                this.type = type;
+                this.bubbles = bubbles;
+                this.cancelable = cancelable;
+                this.target = target;
+            },
+
+            stopPropagation: function () {},
+
+            preventDefault: function () {
+                this.defaultPrevented = true;
+            }
+        };
+
+        sinon.ProgressEvent = function ProgressEvent(type, progressEventRaw, target) {
+            this.initEvent(type, false, false, target);
+            this.loaded = progressEventRaw.loaded || null;
+            this.total = progressEventRaw.total || null;
+            this.lengthComputable = !!progressEventRaw.total;
+        };
+
+        sinon.ProgressEvent.prototype = new sinon.Event();
+
+        sinon.ProgressEvent.prototype.constructor = sinon.ProgressEvent;
+
+        sinon.CustomEvent = function CustomEvent(type, customData, target) {
+            this.initEvent(type, false, false, target);
+            this.detail = customData.detail || null;
+        };
+
+        sinon.CustomEvent.prototype = new sinon.Event();
+
+        sinon.CustomEvent.prototype.constructor = sinon.CustomEvent;
+
+        sinon.EventTarget = {
+            addEventListener: function addEventListener(event, listener) {
+                this.eventListeners = this.eventListeners || {};
+                this.eventListeners[event] = this.eventListeners[event] || [];
+                push.call(this.eventListeners[event], listener);
+            },
+
+            removeEventListener: function removeEventListener(event, listener) {
+                var listeners = this.eventListeners && this.eventListeners[event] || [];
+
+                for (var i = 0, l = listeners.length; i < l; ++i) {
+                    if (listeners[i] === listener) {
+                        return listeners.splice(i, 1);
+                    }
+                }
+            },
+
+            dispatchEvent: function dispatchEvent(event) {
+                var type = event.type;
+                var listeners = this.eventListeners && this.eventListeners[type] || [];
+
+                for (var i = 0; i < listeners.length; i++) {
+                    if (typeof listeners[i] === "function") {
+                        listeners[i].call(this, event);
+                    } else {
+                        listeners[i].handleEvent(event);
+                    }
+                }
+
+                return !!event.defaultPrevented;
+            }
+        };
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require) {
+        var sinon = require("./core");
+        makeApi(sinon);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+    } else if (isNode) {
+        loadDependencies(require);
+    } else {
+        makeApi(sinon); // eslint-disable-line no-undef
+    }
+}());
+
+/**
+ * @depend util/core.js
+ */
+/**
+ * Logs errors
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2014 Christian Johansen
+ */
+(function (sinonGlobal) {
+
+    // cache a reference to setTimeout, so that our reference won't be stubbed out
+    // when using fake timers and errors will still get logged
+    // https://github.com/cjohansen/Sinon.JS/issues/381
+    var realSetTimeout = setTimeout;
+
+    function makeApi(sinon) {
+
+        function log() {}
+
+        function logError(label, err) {
+            var msg = label + " threw exception: ";
+
+            function throwLoggedError() {
+                err.message = msg + err.message;
+                throw err;
+            }
+
+            sinon.log(msg + "[" + err.name + "] " + err.message);
+
+            if (err.stack) {
+                sinon.log(err.stack);
+            }
+
+            if (logError.useImmediateExceptions) {
+                throwLoggedError();
+            } else {
+                logError.setTimeout(throwLoggedError, 0);
+            }
+        }
+
+        // When set to true, any errors logged will be thrown immediately;
+        // If set to false, the errors will be thrown in separate execution frame.
+        logError.useImmediateExceptions = false;
+
+        // wrap realSetTimeout with something we can stub in tests
+        logError.setTimeout = function (func, timeout) {
+            realSetTimeout(func, timeout);
+        };
+
+        var exports = {};
+        exports.log = sinon.log = log;
+        exports.logError = sinon.logError = logError;
+
+        return exports;
+    }
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./util/core");
+        module.exports = makeApi(sinon);
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * @depend core.js
+ * @depend ../extend.js
+ * @depend event.js
+ * @depend ../log_error.js
+ */
+/**
+ * Fake XDomainRequest object
+ */
+
+/**
+ * Returns the global to prevent assigning values to 'this' when this is undefined.
+ * This can occur when files are interpreted by node in strict mode.
+ * @private
+ */
+function getGlobal() {
+
+    return typeof window !== "undefined" ? window : global;
+}
+
+if (typeof sinon === "undefined") {
+    if (typeof this === "undefined") {
+        getGlobal().sinon = {};
+    } else {
+        this.sinon = {};
+    }
+}
+
+// wrapper for global
+(function (global) {
+
+    var xdr = { XDomainRequest: global.XDomainRequest };
+    xdr.GlobalXDomainRequest = global.XDomainRequest;
+    xdr.supportsXDR = typeof xdr.GlobalXDomainRequest !== "undefined";
+    xdr.workingXDR = xdr.supportsXDR ? xdr.GlobalXDomainRequest : false;
+
+    function makeApi(sinon) {
+        sinon.xdr = xdr;
+
+        function FakeXDomainRequest() {
+            this.readyState = FakeXDomainRequest.UNSENT;
+            this.requestBody = null;
+            this.requestHeaders = {};
+            this.status = 0;
+            this.timeout = null;
+
+            if (typeof FakeXDomainRequest.onCreate === "function") {
+                FakeXDomainRequest.onCreate(this);
+            }
+        }
+
+        function verifyState(x) {
+            if (x.readyState !== FakeXDomainRequest.OPENED) {
+                throw new Error("INVALID_STATE_ERR");
+            }
+
+            if (x.sendFlag) {
+                throw new Error("INVALID_STATE_ERR");
+            }
+        }
+
+        function verifyRequestSent(x) {
+            if (x.readyState === FakeXDomainRequest.UNSENT) {
+                throw new Error("Request not sent");
+            }
+            if (x.readyState === FakeXDomainRequest.DONE) {
+                throw new Error("Request done");
+            }
+        }
+
+        function verifyResponseBodyType(body) {
+            if (typeof body !== "string") {
+                var error = new Error("Attempted to respond to fake XDomainRequest with " +
+                                    body + ", which is not a string.");
+                error.name = "InvalidBodyException";
+                throw error;
+            }
+        }
+
+        sinon.extend(FakeXDomainRequest.prototype, sinon.EventTarget, {
+            open: function open(method, url) {
+                this.method = method;
+                this.url = url;
+
+                this.responseText = null;
+                this.sendFlag = false;
+
+                this.readyStateChange(FakeXDomainRequest.OPENED);
+            },
+
+            readyStateChange: function readyStateChange(state) {
+                this.readyState = state;
+                var eventName = "";
+                switch (this.readyState) {
+                case FakeXDomainRequest.UNSENT:
+                    break;
+                case FakeXDomainRequest.OPENED:
+                    break;
+                case FakeXDomainRequest.LOADING:
+                    if (this.sendFlag) {
+                        //raise the progress event
+                        eventName = "onprogress";
+                    }
+                    break;
+                case FakeXDomainRequest.DONE:
+                    if (this.isTimeout) {
+                        eventName = "ontimeout";
+                    } else if (this.errorFlag || (this.status < 200 || this.status > 299)) {
+                        eventName = "onerror";
+                    } else {
+                        eventName = "onload";
+                    }
+                    break;
+                }
+
+                // raising event (if defined)
+                if (eventName) {
+                    if (typeof this[eventName] === "function") {
+                        try {
+                            this[eventName]();
+                        } catch (e) {
+                            sinon.logError("Fake XHR " + eventName + " handler", e);
+                        }
+                    }
+                }
+            },
+
+            send: function send(data) {
+                verifyState(this);
+
+                if (!/^(get|head)$/i.test(this.method)) {
+                    this.requestBody = data;
+                }
+                this.requestHeaders["Content-Type"] = "text/plain;charset=utf-8";
+
+                this.errorFlag = false;
+                this.sendFlag = true;
+                this.readyStateChange(FakeXDomainRequest.OPENED);
+
+                if (typeof this.onSend === "function") {
+                    this.onSend(this);
+                }
+            },
+
+            abort: function abort() {
+                this.aborted = true;
+                this.responseText = null;
+                this.errorFlag = true;
+
+                if (this.readyState > sinon.FakeXDomainRequest.UNSENT && this.sendFlag) {
+                    this.readyStateChange(sinon.FakeXDomainRequest.DONE);
+                    this.sendFlag = false;
+                }
+            },
+
+            setResponseBody: function setResponseBody(body) {
+                verifyRequestSent(this);
+                verifyResponseBodyType(body);
+
+                var chunkSize = this.chunkSize || 10;
+                var index = 0;
+                this.responseText = "";
+
+                do {
+                    this.readyStateChange(FakeXDomainRequest.LOADING);
+                    this.responseText += body.substring(index, index + chunkSize);
+                    index += chunkSize;
+                } while (index < body.length);
+
+                this.readyStateChange(FakeXDomainRequest.DONE);
+            },
+
+            respond: function respond(status, contentType, body) {
+                // content-type ignored, since XDomainRequest does not carry this
+                // we keep the same syntax for respond(...) as for FakeXMLHttpRequest to ease
+                // test integration across browsers
+                this.status = typeof status === "number" ? status : 200;
+                this.setResponseBody(body || "");
+            },
+
+            simulatetimeout: function simulatetimeout() {
+                this.status = 0;
+                this.isTimeout = true;
+                // Access to this should actually throw an error
+                this.responseText = undefined;
+                this.readyStateChange(FakeXDomainRequest.DONE);
+            }
+        });
+
+        sinon.extend(FakeXDomainRequest, {
+            UNSENT: 0,
+            OPENED: 1,
+            LOADING: 3,
+            DONE: 4
+        });
+
+        sinon.useFakeXDomainRequest = function useFakeXDomainRequest() {
+            sinon.FakeXDomainRequest.restore = function restore(keepOnCreate) {
+                if (xdr.supportsXDR) {
+                    global.XDomainRequest = xdr.GlobalXDomainRequest;
+                }
+
+                delete sinon.FakeXDomainRequest.restore;
+
+                if (keepOnCreate !== true) {
+                    delete sinon.FakeXDomainRequest.onCreate;
+                }
+            };
+            if (xdr.supportsXDR) {
+                global.XDomainRequest = sinon.FakeXDomainRequest;
+            }
+            return sinon.FakeXDomainRequest;
+        };
+
+        sinon.FakeXDomainRequest = FakeXDomainRequest;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./core");
+        require("../extend");
+        require("./event");
+        require("../log_error");
+        makeApi(sinon);
+        module.exports = sinon;
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+    } else if (isNode) {
+        loadDependencies(require, module.exports, module);
+    } else {
+        makeApi(sinon); // eslint-disable-line no-undef
+    }
+})(typeof global !== "undefined" ? global : self);
+
+/**
+ * @depend core.js
+ * @depend ../extend.js
+ * @depend event.js
+ * @depend ../log_error.js
+ */
+/**
+ * Fake XMLHttpRequest object
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+(function (sinonGlobal, global) {
+
+    function getWorkingXHR(globalScope) {
+        var supportsXHR = typeof globalScope.XMLHttpRequest !== "undefined";
+        if (supportsXHR) {
+            return globalScope.XMLHttpRequest;
+        }
+
+        var supportsActiveX = typeof globalScope.ActiveXObject !== "undefined";
+        if (supportsActiveX) {
+            return function () {
+                return new globalScope.ActiveXObject("MSXML2.XMLHTTP.3.0");
+            };
+        }
+
+        return false;
+    }
+
+    var supportsProgress = typeof ProgressEvent !== "undefined";
+    var supportsCustomEvent = typeof CustomEvent !== "undefined";
+    var supportsFormData = typeof FormData !== "undefined";
+    var supportsArrayBuffer = typeof ArrayBuffer !== "undefined";
+    var supportsBlob = typeof Blob === "function";
+    var sinonXhr = { XMLHttpRequest: global.XMLHttpRequest };
+    sinonXhr.GlobalXMLHttpRequest = global.XMLHttpRequest;
+    sinonXhr.GlobalActiveXObject = global.ActiveXObject;
+    sinonXhr.supportsActiveX = typeof sinonXhr.GlobalActiveXObject !== "undefined";
+    sinonXhr.supportsXHR = typeof sinonXhr.GlobalXMLHttpRequest !== "undefined";
+    sinonXhr.workingXHR = getWorkingXHR(global);
+    sinonXhr.supportsCORS = sinonXhr.supportsXHR && "withCredentials" in (new sinonXhr.GlobalXMLHttpRequest());
+
+    var unsafeHeaders = {
+        "Accept-Charset": true,
+        "Accept-Encoding": true,
+        Connection: true,
+        "Content-Length": true,
+        Cookie: true,
+        Cookie2: true,
+        "Content-Transfer-Encoding": true,
+        Date: true,
+        Expect: true,
+        Host: true,
+        "Keep-Alive": true,
+        Referer: true,
+        TE: true,
+        Trailer: true,
+        "Transfer-Encoding": true,
+        Upgrade: true,
+        "User-Agent": true,
+        Via: true
+    };
+
+    // An upload object is created for each
+    // FakeXMLHttpRequest and allows upload
+    // events to be simulated using uploadProgress
+    // and uploadError.
+    function UploadProgress() {
+        this.eventListeners = {
+            progress: [],
+            load: [],
+            abort: [],
+            error: []
+        };
+    }
+
+    UploadProgress.prototype.addEventListener = function addEventListener(event, listener) {
+        this.eventListeners[event].push(listener);
+    };
+
+    UploadProgress.prototype.removeEventListener = function removeEventListener(event, listener) {
+        var listeners = this.eventListeners[event] || [];
+
+        for (var i = 0, l = listeners.length; i < l; ++i) {
+            if (listeners[i] === listener) {
+                return listeners.splice(i, 1);
+            }
+        }
+    };
+
+    UploadProgress.prototype.dispatchEvent = function dispatchEvent(event) {
+        var listeners = this.eventListeners[event.type] || [];
+
+        for (var i = 0, listener; (listener = listeners[i]) != null; i++) {
+            listener(event);
+        }
+    };
+
+    // Note that for FakeXMLHttpRequest to work pre ES5
+    // we lose some of the alignment with the spec.
+    // To ensure as close a match as possible,
+    // set responseType before calling open, send or respond;
+    function FakeXMLHttpRequest() {
+        this.readyState = FakeXMLHttpRequest.UNSENT;
+        this.requestHeaders = {};
+        this.requestBody = null;
+        this.status = 0;
+        this.statusText = "";
+        this.upload = new UploadProgress();
+        this.responseType = "";
+        this.response = "";
+        if (sinonXhr.supportsCORS) {
+            this.withCredentials = false;
+        }
+
+        var xhr = this;
+        var events = ["loadstart", "load", "abort", "loadend"];
+
+        function addEventListener(eventName) {
+            xhr.addEventListener(eventName, function (event) {
+                var listener = xhr["on" + eventName];
+
+                if (listener && typeof listener === "function") {
+                    listener.call(this, event);
+                }
+            });
+        }
+
+        for (var i = events.length - 1; i >= 0; i--) {
+            addEventListener(events[i]);
+        }
+
+        if (typeof FakeXMLHttpRequest.onCreate === "function") {
+            FakeXMLHttpRequest.onCreate(this);
+        }
+    }
+
+    function verifyState(xhr) {
+        if (xhr.readyState !== FakeXMLHttpRequest.OPENED) {
+            throw new Error("INVALID_STATE_ERR");
+        }
+
+        if (xhr.sendFlag) {
+            throw new Error("INVALID_STATE_ERR");
+        }
+    }
+
+    function getHeader(headers, header) {
+        header = header.toLowerCase();
+
+        for (var h in headers) {
+            if (h.toLowerCase() === header) {
+                return h;
+            }
+        }
+
+        return null;
+    }
+
+    // filtering to enable a white-list version of Sinon FakeXhr,
+    // where whitelisted requests are passed through to real XHR
+    function each(collection, callback) {
+        if (!collection) {
+            return;
+        }
+
+        for (var i = 0, l = collection.length; i < l; i += 1) {
+            callback(collection[i]);
+        }
+    }
+    function some(collection, callback) {
+        for (var index = 0; index < collection.length; index++) {
+            if (callback(collection[index]) === true) {
+                return true;
+            }
+        }
+        return false;
+    }
+    // largest arity in XHR is 5 - XHR#open
+    var apply = function (obj, method, args) {
+        switch (args.length) {
+        case 0: return obj[method]();
+        case 1: return obj[method](args[0]);
+        case 2: return obj[method](args[0], args[1]);
+        case 3: return obj[method](args[0], args[1], args[2]);
+        case 4: return obj[method](args[0], args[1], args[2], args[3]);
+        case 5: return obj[method](args[0], args[1], args[2], args[3], args[4]);
+        }
+    };
+
+    FakeXMLHttpRequest.filters = [];
+    FakeXMLHttpRequest.addFilter = function addFilter(fn) {
+        this.filters.push(fn);
+    };
+    var IE6Re = /MSIE 6/;
+    FakeXMLHttpRequest.defake = function defake(fakeXhr, xhrArgs) {
+        var xhr = new sinonXhr.workingXHR(); // eslint-disable-line new-cap
+
+        each([
+            "open",
+            "setRequestHeader",
+            "send",
+            "abort",
+            "getResponseHeader",
+            "getAllResponseHeaders",
+            "addEventListener",
+            "overrideMimeType",
+            "removeEventListener"
+        ], function (method) {
+            fakeXhr[method] = function () {
+                return apply(xhr, method, arguments);
+            };
+        });
+
+        var copyAttrs = function (args) {
+            each(args, function (attr) {
+                try {
+                    fakeXhr[attr] = xhr[attr];
+                } catch (e) {
+                    if (!IE6Re.test(navigator.userAgent)) {
+                        throw e;
+                    }
+                }
+            });
+        };
+
+        var stateChange = function stateChange() {
+            fakeXhr.readyState = xhr.readyState;
+            if (xhr.readyState >= FakeXMLHttpRequest.HEADERS_RECEIVED) {
+                copyAttrs(["status", "statusText"]);
+            }
+            if (xhr.readyState >= FakeXMLHttpRequest.LOADING) {
+                copyAttrs(["responseText", "response"]);
+            }
+            if (xhr.readyState === FakeXMLHttpRequest.DONE) {
+                copyAttrs(["responseXML"]);
+            }
+            if (fakeXhr.onreadystatechange) {
+                fakeXhr.onreadystatechange.call(fakeXhr, { target: fakeXhr });
+            }
+        };
+
+        if (xhr.addEventListener) {
+            for (var event in fakeXhr.eventListeners) {
+                if (fakeXhr.eventListeners.hasOwnProperty(event)) {
+
+                    /*eslint-disable no-loop-func*/
+                    each(fakeXhr.eventListeners[event], function (handler) {
+                        xhr.addEventListener(event, handler);
+                    });
+                    /*eslint-enable no-loop-func*/
+                }
+            }
+            xhr.addEventListener("readystatechange", stateChange);
+        } else {
+            xhr.onreadystatechange = stateChange;
+        }
+        apply(xhr, "open", xhrArgs);
+    };
+    FakeXMLHttpRequest.useFilters = false;
+
+    function verifyRequestOpened(xhr) {
+        if (xhr.readyState !== FakeXMLHttpRequest.OPENED) {
+            throw new Error("INVALID_STATE_ERR - " + xhr.readyState);
+        }
+    }
+
+    function verifyRequestSent(xhr) {
+        if (xhr.readyState === FakeXMLHttpRequest.DONE) {
+            throw new Error("Request done");
+        }
+    }
+
+    function verifyHeadersReceived(xhr) {
+        if (xhr.async && xhr.readyState !== FakeXMLHttpRequest.HEADERS_RECEIVED) {
+            throw new Error("No headers received");
+        }
+    }
+
+    function verifyResponseBodyType(body) {
+        if (typeof body !== "string") {
+            var error = new Error("Attempted to respond to fake XMLHttpRequest with " +
+                                 body + ", which is not a string.");
+            error.name = "InvalidBodyException";
+            throw error;
+        }
+    }
+
+    function convertToArrayBuffer(body) {
+        var buffer = new ArrayBuffer(body.length);
+        var view = new Uint8Array(buffer);
+        for (var i = 0; i < body.length; i++) {
+            var charCode = body.charCodeAt(i);
+            if (charCode >= 256) {
+                throw new TypeError("arraybuffer or blob responseTypes require binary string, " +
+                                    "invalid character " + body[i] + " found.");
+            }
+            view[i] = charCode;
+        }
+        return buffer;
+    }
+
+    function isXmlContentType(contentType) {
+        return !contentType || /(text\/xml)|(application\/xml)|(\+xml)/.test(contentType);
+    }
+
+    function convertResponseBody(responseType, contentType, body) {
+        if (responseType === "" || responseType === "text") {
+            return body;
+        } else if (supportsArrayBuffer && responseType === "arraybuffer") {
+            return convertToArrayBuffer(body);
+        } else if (responseType === "json") {
+            try {
+                return JSON.parse(body);
+            } catch (e) {
+                // Return parsing failure as null
+                return null;
+            }
+        } else if (supportsBlob && responseType === "blob") {
+            var blobOptions = {};
+            if (contentType) {
+                blobOptions.type = contentType;
+            }
+            return new Blob([convertToArrayBuffer(body)], blobOptions);
+        } else if (responseType === "document") {
+            if (isXmlContentType(contentType)) {
+                return FakeXMLHttpRequest.parseXML(body);
+            }
+            return null;
+        }
+        throw new Error("Invalid responseType " + responseType);
+    }
+
+    function clearResponse(xhr) {
+        if (xhr.responseType === "" || xhr.responseType === "text") {
+            xhr.response = xhr.responseText = "";
+        } else {
+            xhr.response = xhr.responseText = null;
+        }
+        xhr.responseXML = null;
+    }
+
+    FakeXMLHttpRequest.parseXML = function parseXML(text) {
+        // Treat empty string as parsing failure
+        if (text !== "") {
+            try {
+                if (typeof DOMParser !== "undefined") {
+                    var parser = new DOMParser();
+                    return parser.parseFromString(text, "text/xml");
+                }
+                var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
+                xmlDoc.async = "false";
+                xmlDoc.loadXML(text);
+                return xmlDoc;
+            } catch (e) {
+                // Unable to parse XML - no biggie
+            }
+        }
+
+        return null;
+    };
+
+    FakeXMLHttpRequest.statusCodes = {
+        100: "Continue",
+        101: "Switching Protocols",
+        200: "OK",
+        201: "Created",
+        202: "Accepted",
+        203: "Non-Authoritative Information",
+        204: "No Content",
+        205: "Reset Content",
+        206: "Partial Content",
+        207: "Multi-Status",
+        300: "Multiple Choice",
+        301: "Moved Permanently",
+        302: "Found",
+        303: "See Other",
+        304: "Not Modified",
+        305: "Use Proxy",
+        307: "Temporary Redirect",
+        400: "Bad Request",
+        401: "Unauthorized",
+        402: "Payment Required",
+        403: "Forbidden",
+        404: "Not Found",
+        405: "Method Not Allowed",
+        406: "Not Acceptable",
+        407: "Proxy Authentication Required",
+        408: "Request Timeout",
+        409: "Conflict",
+        410: "Gone",
+        411: "Length Required",
+        412: "Precondition Failed",
+        413: "Request Entity Too Large",
+        414: "Request-URI Too Long",
+        415: "Unsupported Media Type",
+        416: "Requested Range Not Satisfiable",
+        417: "Expectation Failed",
+        422: "Unprocessable Entity",
+        500: "Internal Server Error",
+        501: "Not Implemented",
+        502: "Bad Gateway",
+        503: "Service Unavailable",
+        504: "Gateway Timeout",
+        505: "HTTP Version Not Supported"
+    };
+
+    function makeApi(sinon) {
+        sinon.xhr = sinonXhr;
+
+        sinon.extend(FakeXMLHttpRequest.prototype, sinon.EventTarget, {
+            async: true,
+
+            open: function open(method, url, async, username, password) {
+                this.method = method;
+                this.url = url;
+                this.async = typeof async === "boolean" ? async : true;
+                this.username = username;
+                this.password = password;
+                clearResponse(this);
+                this.requestHeaders = {};
+                this.sendFlag = false;
+
+                if (FakeXMLHttpRequest.useFilters === true) {
+                    var xhrArgs = arguments;
+                    var defake = some(FakeXMLHttpRequest.filters, function (filter) {
+                        return filter.apply(this, xhrArgs);
+                    });
+                    if (defake) {
+                        return FakeXMLHttpRequest.defake(this, arguments);
+                    }
+                }
+                this.readyStateChange(FakeXMLHttpRequest.OPENED);
+            },
+
+            readyStateChange: function readyStateChange(state) {
+                this.readyState = state;
+
+                var readyStateChangeEvent = new sinon.Event("readystatechange", false, false, this);
+
+                if (typeof this.onreadystatechange === "function") {
+                    try {
+                        this.onreadystatechange(readyStateChangeEvent);
+                    } catch (e) {
+                        sinon.logError("Fake XHR onreadystatechange handler", e);
+                    }
+                }
+
+                switch (this.readyState) {
+                    case FakeXMLHttpRequest.DONE:
+                        if (supportsProgress) {
+                            this.upload.dispatchEvent(new sinon.ProgressEvent("progress", {loaded: 100, total: 100}));
+                            this.dispatchEvent(new sinon.ProgressEvent("progress", {loaded: 100, total: 100}));
+                        }
+                        this.upload.dispatchEvent(new sinon.Event("load", false, false, this));
+                        this.dispatchEvent(new sinon.Event("load", false, false, this));
+                        this.dispatchEvent(new sinon.Event("loadend", false, false, this));
+                        break;
+                }
+
+                this.dispatchEvent(readyStateChangeEvent);
+            },
+
+            setRequestHeader: function setRequestHeader(header, value) {
+                verifyState(this);
+
+                if (unsafeHeaders[header] || /^(Sec-|Proxy-)/.test(header)) {
+                    throw new Error("Refused to set unsafe header \"" + header + "\"");
+                }
+
+                if (this.requestHeaders[header]) {
+                    this.requestHeaders[header] += "," + value;
+                } else {
+                    this.requestHeaders[header] = value;
+                }
+            },
+
+            // Helps testing
+            setResponseHeaders: function setResponseHeaders(headers) {
+                verifyRequestOpened(this);
+                this.responseHeaders = {};
+
+                for (var header in headers) {
+                    if (headers.hasOwnProperty(header)) {
+                        this.responseHeaders[header] = headers[header];
+                    }
+                }
+
+                if (this.async) {
+                    this.readyStateChange(FakeXMLHttpRequest.HEADERS_RECEIVED);
+                } else {
+                    this.readyState = FakeXMLHttpRequest.HEADERS_RECEIVED;
+                }
+            },
+
+            // Currently treats ALL data as a DOMString (i.e. no Document)
+            send: function send(data) {
+                verifyState(this);
+
+                if (!/^(get|head)$/i.test(this.method)) {
+                    var contentType = getHeader(this.requestHeaders, "Content-Type");
+                    if (this.requestHeaders[contentType]) {
+                        var value = this.requestHeaders[contentType].split(";");
+                        this.requestHeaders[contentType] = value[0] + ";charset=utf-8";
+                    } else if (supportsFormData && !(data instanceof FormData)) {
+                        this.requestHeaders["Content-Type"] = "text/plain;charset=utf-8";
+                    }
+
+                    this.requestBody = data;
+                }
+
+                this.errorFlag = false;
+                this.sendFlag = this.async;
+                clearResponse(this);
+                this.readyStateChange(FakeXMLHttpRequest.OPENED);
+
+                if (typeof this.onSend === "function") {
+                    this.onSend(this);
+                }
+
+                this.dispatchEvent(new sinon.Event("loadstart", false, false, this));
+            },
+
+            abort: function abort() {
+                this.aborted = true;
+                clearResponse(this);
+                this.errorFlag = true;
+                this.requestHeaders = {};
+                this.responseHeaders = {};
+
+                if (this.readyState > FakeXMLHttpRequest.UNSENT && this.sendFlag) {
+                    this.readyStateChange(FakeXMLHttpRequest.DONE);
+                    this.sendFlag = false;
+                }
+
+                this.readyState = FakeXMLHttpRequest.UNSENT;
+
+                this.dispatchEvent(new sinon.Event("abort", false, false, this));
+
+                this.upload.dispatchEvent(new sinon.Event("abort", false, false, this));
+
+                if (typeof this.onerror === "function") {
+                    this.onerror();
+                }
+            },
+
+            getResponseHeader: function getResponseHeader(header) {
+                if (this.readyState < FakeXMLHttpRequest.HEADERS_RECEIVED) {
+                    return null;
+                }
+
+                if (/^Set-Cookie2?$/i.test(header)) {
+                    return null;
+                }
+
+                header = getHeader(this.responseHeaders, header);
+
+                return this.responseHeaders[header] || null;
+            },
+
+            getAllResponseHeaders: function getAllResponseHeaders() {
+                if (this.readyState < FakeXMLHttpRequest.HEADERS_RECEIVED) {
+                    return "";
+                }
+
+                var headers = "";
+
+                for (var header in this.responseHeaders) {
+                    if (this.responseHeaders.hasOwnProperty(header) &&
+                        !/^Set-Cookie2?$/i.test(header)) {
+                        headers += header + ": " + this.responseHeaders[header] + "\r\n";
+                    }
+                }
+
+                return headers;
+            },
+
+            setResponseBody: function setResponseBody(body) {
+                verifyRequestSent(this);
+                verifyHeadersReceived(this);
+                verifyResponseBodyType(body);
+                var contentType = this.getResponseHeader("Content-Type");
+
+                var isTextResponse = this.responseType === "" || this.responseType === "text";
+                clearResponse(this);
+                if (this.async) {
+                    var chunkSize = this.chunkSize || 10;
+                    var index = 0;
+
+                    do {
+                        this.readyStateChange(FakeXMLHttpRequest.LOADING);
+
+                        if (isTextResponse) {
+                            this.responseText = this.response += body.substring(index, index + chunkSize);
+                        }
+                        index += chunkSize;
+                    } while (index < body.length);
+                }
+
+                this.response = convertResponseBody(this.responseType, contentType, body);
+                if (isTextResponse) {
+                    this.responseText = this.response;
+                }
+
+                if (this.responseType === "document") {
+                    this.responseXML = this.response;
+                } else if (this.responseType === "" && isXmlContentType(contentType)) {
+                    this.responseXML = FakeXMLHttpRequest.parseXML(this.responseText);
+                }
+                this.readyStateChange(FakeXMLHttpRequest.DONE);
+            },
+
+            respond: function respond(status, headers, body) {
+                this.status = typeof status === "number" ? status : 200;
+                this.statusText = FakeXMLHttpRequest.statusCodes[this.status];
+                this.setResponseHeaders(headers || {});
+                this.setResponseBody(body || "");
+            },
+
+            uploadProgress: function uploadProgress(progressEventRaw) {
+                if (supportsProgress) {
+                    this.upload.dispatchEvent(new sinon.ProgressEvent("progress", progressEventRaw));
+                }
+            },
+
+            downloadProgress: function downloadProgress(progressEventRaw) {
+                if (supportsProgress) {
+                    this.dispatchEvent(new sinon.ProgressEvent("progress", progressEventRaw));
+                }
+            },
+
+            uploadError: function uploadError(error) {
+                if (supportsCustomEvent) {
+                    this.upload.dispatchEvent(new sinon.CustomEvent("error", {detail: error}));
+                }
+            }
+        });
+
+        sinon.extend(FakeXMLHttpRequest, {
+            UNSENT: 0,
+            OPENED: 1,
+            HEADERS_RECEIVED: 2,
+            LOADING: 3,
+            DONE: 4
+        });
+
+        sinon.useFakeXMLHttpRequest = function () {
+            FakeXMLHttpRequest.restore = function restore(keepOnCreate) {
+                if (sinonXhr.supportsXHR) {
+                    global.XMLHttpRequest = sinonXhr.GlobalXMLHttpRequest;
+                }
+
+                if (sinonXhr.supportsActiveX) {
+                    global.ActiveXObject = sinonXhr.GlobalActiveXObject;
+                }
+
+                delete FakeXMLHttpRequest.restore;
+
+                if (keepOnCreate !== true) {
+                    delete FakeXMLHttpRequest.onCreate;
+                }
+            };
+            if (sinonXhr.supportsXHR) {
+                global.XMLHttpRequest = FakeXMLHttpRequest;
+            }
+
+            if (sinonXhr.supportsActiveX) {
+                global.ActiveXObject = function ActiveXObject(objId) {
+                    if (objId === "Microsoft.XMLHTTP" || /^Msxml2\.XMLHTTP/i.test(objId)) {
+
+                        return new FakeXMLHttpRequest();
+                    }
+
+                    return new sinonXhr.GlobalActiveXObject(objId);
+                };
+            }
+
+            return FakeXMLHttpRequest;
+        };
+
+        sinon.FakeXMLHttpRequest = FakeXMLHttpRequest;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./core");
+        require("../extend");
+        require("./event");
+        require("../log_error");
+        makeApi(sinon);
+        module.exports = sinon;
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon, // eslint-disable-line no-undef
+    typeof global !== "undefined" ? global : self
+));
+
+/**
+ * @depend fake_xdomain_request.js
+ * @depend fake_xml_http_request.js
+ * @depend ../format.js
+ * @depend ../log_error.js
+ */
+/**
+ * The Sinon "server" mimics a web server that receives requests from
+ * sinon.FakeXMLHttpRequest and provides an API to respond to those requests,
+ * both synchronously and asynchronously. To respond synchronuously, canned
+ * answers have to be provided upfront.
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+(function () {
+
+    var push = [].push;
+
+    function responseArray(handler) {
+        var response = handler;
+
+        if (Object.prototype.toString.call(handler) !== "[object Array]") {
+            response = [200, {}, handler];
+        }
+
+        if (typeof response[2] !== "string") {
+            throw new TypeError("Fake server response body should be string, but was " +
+                                typeof response[2]);
+        }
+
+        return response;
+    }
+
+    var wloc = typeof window !== "undefined" ? window.location : {};
+    var rCurrLoc = new RegExp("^" + wloc.protocol + "//" + wloc.host);
+
+    function matchOne(response, reqMethod, reqUrl) {
+        var rmeth = response.method;
+        var matchMethod = !rmeth || rmeth.toLowerCase() === reqMethod.toLowerCase();
+        var url = response.url;
+        var matchUrl = !url || url === reqUrl || (typeof url.test === "function" && url.test(reqUrl));
+
+        return matchMethod && matchUrl;
+    }
+
+    function match(response, request) {
+        var requestUrl = request.url;
+
+        if (!/^https?:\/\//.test(requestUrl) || rCurrLoc.test(requestUrl)) {
+            requestUrl = requestUrl.replace(rCurrLoc, "");
+        }
+
+        if (matchOne(response, this.getHTTPMethod(request), requestUrl)) {
+            if (typeof response.response === "function") {
+                var ru = response.url;
+                var args = [request].concat(ru && typeof ru.exec === "function" ? ru.exec(requestUrl).slice(1) : []);
+                return response.response.apply(response, args);
+            }
+
+            return true;
+        }
+
+        return false;
+    }
+
+    function makeApi(sinon) {
+        sinon.fakeServer = {
+            create: function (config) {
+                var server = sinon.create(this);
+                server.configure(config);
+                if (!sinon.xhr.supportsCORS) {
+                    this.xhr = sinon.useFakeXDomainRequest();
+                } else {
+                    this.xhr = sinon.useFakeXMLHttpRequest();
+                }
+                server.requests = [];
+
+                this.xhr.onCreate = function (xhrObj) {
+                    server.addRequest(xhrObj);
+                };
+
+                return server;
+            },
+            configure: function (config) {
+                var whitelist = {
+                    "autoRespond": true,
+                    "autoRespondAfter": true,
+                    "respondImmediately": true,
+                    "fakeHTTPMethods": true
+                };
+                var setting;
+
+                config = config || {};
+                for (setting in config) {
+                    if (whitelist.hasOwnProperty(setting) && config.hasOwnProperty(setting)) {
+                        this[setting] = config[setting];
+                    }
+                }
+            },
+            addRequest: function addRequest(xhrObj) {
+                var server = this;
+                push.call(this.requests, xhrObj);
+
+                xhrObj.onSend = function () {
+                    server.handleRequest(this);
+
+                    if (server.respondImmediately) {
+                        server.respond();
+                    } else if (server.autoRespond && !server.responding) {
+                        setTimeout(function () {
+                            server.responding = false;
+                            server.respond();
+                        }, server.autoRespondAfter || 10);
+
+                        server.responding = true;
+                    }
+                };
+            },
+
+            getHTTPMethod: function getHTTPMethod(request) {
+                if (this.fakeHTTPMethods && /post/i.test(request.method)) {
+                    var matches = (request.requestBody || "").match(/_method=([^\b;]+)/);
+                    return matches ? matches[1] : request.method;
+                }
+
+                return request.method;
+            },
+
+            handleRequest: function handleRequest(xhr) {
+                if (xhr.async) {
+                    if (!this.queue) {
+                        this.queue = [];
+                    }
+
+                    push.call(this.queue, xhr);
+                } else {
+                    this.processRequest(xhr);
+                }
+            },
+
+            log: function log(response, request) {
+                var str;
+
+                str = "Request:\n" + sinon.format(request) + "\n\n";
+                str += "Response:\n" + sinon.format(response) + "\n\n";
+
+                sinon.log(str);
+            },
+
+            respondWith: function respondWith(method, url, body) {
+                if (arguments.length === 1 && typeof method !== "function") {
+                    this.response = responseArray(method);
+                    return;
+                }
+
+                if (!this.responses) {
+                    this.responses = [];
+                }
+
+                if (arguments.length === 1) {
+                    body = method;
+                    url = method = null;
+                }
+
+                if (arguments.length === 2) {
+                    body = url;
+                    url = method;
+                    method = null;
+                }
+
+                push.call(this.responses, {
+                    method: method,
+                    url: url,
+                    response: typeof body === "function" ? body : responseArray(body)
+                });
+            },
+
+            respond: function respond() {
+                if (arguments.length > 0) {
+                    this.respondWith.apply(this, arguments);
+                }
+
+                var queue = this.queue || [];
+                var requests = queue.splice(0, queue.length);
+
+                for (var i = 0; i < requests.length; i++) {
+                    this.processRequest(requests[i]);
+                }
+            },
+
+            processRequest: function processRequest(request) {
+                try {
+                    if (request.aborted) {
+                        return;
+                    }
+
+                    var response = this.response || [404, {}, ""];
+
+                    if (this.responses) {
+                        for (var l = this.responses.length, i = l - 1; i >= 0; i--) {
+                            if (match.call(this, this.responses[i], request)) {
+                                response = this.responses[i].response;
+                                break;
+                            }
+                        }
+                    }
+
+                    if (request.readyState !== 4) {
+                        this.log(response, request);
+
+                        request.respond(response[0], response[1], response[2]);
+                    }
+                } catch (e) {
+                    sinon.logError("Fake server request processing", e);
+                }
+            },
+
+            restore: function restore() {
+                return this.xhr.restore && this.xhr.restore.apply(this.xhr, arguments);
+            }
+        };
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./core");
+        require("./fake_xdomain_request");
+        require("./fake_xml_http_request");
+        require("../format");
+        makeApi(sinon);
+        module.exports = sinon;
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+    } else if (isNode) {
+        loadDependencies(require, module.exports, module);
+    } else {
+        makeApi(sinon); // eslint-disable-line no-undef
+    }
+}());
+
+/**
+ * @depend fake_server.js
+ * @depend fake_timers.js
+ */
+/**
+ * Add-on for sinon.fakeServer that automatically handles a fake timer along with
+ * the FakeXMLHttpRequest. The direct inspiration for this add-on is jQuery
+ * 1.3.x, which does not use xhr object's onreadystatehandler at all - instead,
+ * it polls the object for completion with setInterval. Dispite the direct
+ * motivation, there is nothing jQuery-specific in this file, so it can be used
+ * in any environment where the ajax implementation depends on setInterval or
+ * setTimeout.
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+(function () {
+
+    function makeApi(sinon) {
+        function Server() {}
+        Server.prototype = sinon.fakeServer;
+
+        sinon.fakeServerWithClock = new Server();
+
+        sinon.fakeServerWithClock.addRequest = function addRequest(xhr) {
+            if (xhr.async) {
+                if (typeof setTimeout.clock === "object") {
+                    this.clock = setTimeout.clock;
+                } else {
+                    this.clock = sinon.useFakeTimers();
+                    this.resetClock = true;
+                }
+
+                if (!this.longestTimeout) {
+                    var clockSetTimeout = this.clock.setTimeout;
+                    var clockSetInterval = this.clock.setInterval;
+                    var server = this;
+
+                    this.clock.setTimeout = function (fn, timeout) {
+                        server.longestTimeout = Math.max(timeout, server.longestTimeout || 0);
+
+                        return clockSetTimeout.apply(this, arguments);
+                    };
+
+                    this.clock.setInterval = function (fn, timeout) {
+                        server.longestTimeout = Math.max(timeout, server.longestTimeout || 0);
+
+                        return clockSetInterval.apply(this, arguments);
+                    };
+                }
+            }
+
+            return sinon.fakeServer.addRequest.call(this, xhr);
+        };
+
+        sinon.fakeServerWithClock.respond = function respond() {
+            var returnVal = sinon.fakeServer.respond.apply(this, arguments);
+
+            if (this.clock) {
+                this.clock.tick(this.longestTimeout || 0);
+                this.longestTimeout = 0;
+
+                if (this.resetClock) {
+                    this.clock.restore();
+                    this.resetClock = false;
+                }
+            }
+
+            return returnVal;
+        };
+
+        sinon.fakeServerWithClock.restore = function restore() {
+            if (this.clock) {
+                this.clock.restore();
+            }
+
+            return sinon.fakeServer.restore.apply(this, arguments);
+        };
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require) {
+        var sinon = require("./core");
+        require("./fake_server");
+        require("./fake_timers");
+        makeApi(sinon);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+    } else if (isNode) {
+        loadDependencies(require);
+    } else {
+        makeApi(sinon); // eslint-disable-line no-undef
+    }
+}());
+
+/**
+ * @depend util/core.js
+ * @depend extend.js
+ * @depend collection.js
+ * @depend util/fake_timers.js
+ * @depend util/fake_server_with_clock.js
+ */
+/**
+ * Manages fake collections as well as fake utilities such as Sinon's
+ * timers and fake XHR implementation in one convenient object.
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+(function (sinonGlobal) {
+
+    function makeApi(sinon) {
+        var push = [].push;
+
+        function exposeValue(sandbox, config, key, value) {
+            if (!value) {
+                return;
+            }
+
+            if (config.injectInto && !(key in config.injectInto)) {
+                config.injectInto[key] = value;
+                sandbox.injectedKeys.push(key);
+            } else {
+                push.call(sandbox.args, value);
+            }
+        }
+
+        function prepareSandboxFromConfig(config) {
+            var sandbox = sinon.create(sinon.sandbox);
+
+            if (config.useFakeServer) {
+                if (typeof config.useFakeServer === "object") {
+                    sandbox.serverPrototype = config.useFakeServer;
+                }
+
+                sandbox.useFakeServer();
+            }
+
+            if (config.useFakeTimers) {
+                if (typeof config.useFakeTimers === "object") {
+                    sandbox.useFakeTimers.apply(sandbox, config.useFakeTimers);
+                } else {
+                    sandbox.useFakeTimers();
+                }
+            }
+
+            return sandbox;
+        }
+
+        sinon.sandbox = sinon.extend(sinon.create(sinon.collection), {
+            useFakeTimers: function useFakeTimers() {
+                this.clock = sinon.useFakeTimers.apply(sinon, arguments);
+
+                return this.add(this.clock);
+            },
+
+            serverPrototype: sinon.fakeServer,
+
+            useFakeServer: function useFakeServer() {
+                var proto = this.serverPrototype || sinon.fakeServer;
+
+                if (!proto || !proto.create) {
+                    return null;
+                }
+
+                this.server = proto.create();
+                return this.add(this.server);
+            },
+
+            inject: function (obj) {
+                sinon.collection.inject.call(this, obj);
+
+                if (this.clock) {
+                    obj.clock = this.clock;
+                }
+
+                if (this.server) {
+                    obj.server = this.server;
+                    obj.requests = this.server.requests;
+                }
+
+                obj.match = sinon.match;
+
+                return obj;
+            },
+
+            restore: function () {
+                sinon.collection.restore.apply(this, arguments);
+                this.restoreContext();
+            },
+
+            restoreContext: function () {
+                if (this.injectedKeys) {
+                    for (var i = 0, j = this.injectedKeys.length; i < j; i++) {
+                        delete this.injectInto[this.injectedKeys[i]];
+                    }
+                    this.injectedKeys = [];
+                }
+            },
+
+            create: function (config) {
+                if (!config) {
+                    return sinon.create(sinon.sandbox);
+                }
+
+                var sandbox = prepareSandboxFromConfig(config);
+                sandbox.args = sandbox.args || [];
+                sandbox.injectedKeys = [];
+                sandbox.injectInto = config.injectInto;
+                var prop,
+                    value;
+                var exposed = sandbox.inject({});
+
+                if (config.properties) {
+                    for (var i = 0, l = config.properties.length; i < l; i++) {
+                        prop = config.properties[i];
+                        value = exposed[prop] || prop === "sandbox" && sandbox;
+                        exposeValue(sandbox, config, prop, value);
+                    }
+                } else {
+                    exposeValue(sandbox, config, "sandbox", value);
+                }
+
+                return sandbox;
+            },
+
+            match: sinon.match
+        });
+
+        sinon.sandbox.useFakeXMLHttpRequest = sinon.sandbox.useFakeServer;
+
+        return sinon.sandbox;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./util/core");
+        require("./extend");
+        require("./util/fake_server_with_clock");
+        require("./util/fake_timers");
+        require("./collection");
+        module.exports = makeApi(sinon);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * @depend util/core.js
+ * @depend sandbox.js
+ */
+/**
+ * Test function, sandboxes fakes
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+(function (sinonGlobal) {
+
+    function makeApi(sinon) {
+        var slice = Array.prototype.slice;
+
+        function test(callback) {
+            var type = typeof callback;
+
+            if (type !== "function") {
+                throw new TypeError("sinon.test needs to wrap a test function, got " + type);
+            }
+
+            function sinonSandboxedTest() {
+                var config = sinon.getConfig(sinon.config);
+                config.injectInto = config.injectIntoThis && this || config.injectInto;
+                var sandbox = sinon.sandbox.create(config);
+                var args = slice.call(arguments);
+                var oldDone = args.length && args[args.length - 1];
+                var exception, result;
+
+                if (typeof oldDone === "function") {
+                    args[args.length - 1] = function sinonDone(res) {
+                        if (res) {
+                            sandbox.restore();
+                        } else {
+                            sandbox.verifyAndRestore();
+                        }
+                        oldDone(res);
+                    };
+                }
+
+                try {
+                    result = callback.apply(this, args.concat(sandbox.args));
+                } catch (e) {
+                    exception = e;
+                }
+
+                if (typeof oldDone !== "function") {
+                    if (typeof exception !== "undefined") {
+                        sandbox.restore();
+                        throw exception;
+                    } else {
+                        sandbox.verifyAndRestore();
+                    }
+                }
+
+                return result;
+            }
+
+            if (callback.length) {
+                return function sinonAsyncSandboxedTest(done) { // eslint-disable-line no-unused-vars
+                    return sinonSandboxedTest.apply(this, arguments);
+                };
+            }
+
+            return sinonSandboxedTest;
+        }
+
+        test.config = {
+            injectIntoThis: true,
+            injectInto: null,
+            properties: ["spy", "stub", "mock", "clock", "server", "requests"],
+            useFakeTimers: true,
+            useFakeServer: true
+        };
+
+        sinon.test = test;
+        return test;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var core = require("./util/core");
+        require("./sandbox");
+        module.exports = makeApi(core);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+    } else if (isNode) {
+        loadDependencies(require, module.exports, module);
+    } else if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(typeof sinon === "object" && sinon || null)); // eslint-disable-line no-undef
+
+/**
+ * @depend util/core.js
+ * @depend test.js
+ */
+/**
+ * Test case, sandboxes all test functions
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+(function (sinonGlobal) {
+
+    function createTest(property, setUp, tearDown) {
+        return function () {
+            if (setUp) {
+                setUp.apply(this, arguments);
+            }
+
+            var exception, result;
+
+            try {
+                result = property.apply(this, arguments);
+            } catch (e) {
+                exception = e;
+            }
+
+            if (tearDown) {
+                tearDown.apply(this, arguments);
+            }
+
+            if (exception) {
+                throw exception;
+            }
+
+            return result;
+        };
+    }
+
+    function makeApi(sinon) {
+        function testCase(tests, prefix) {
+            if (!tests || typeof tests !== "object") {
+                throw new TypeError("sinon.testCase needs an object with test functions");
+            }
+
+            prefix = prefix || "test";
+            var rPrefix = new RegExp("^" + prefix);
+            var methods = {};
+            var setUp = tests.setUp;
+            var tearDown = tests.tearDown;
+            var testName,
+                property,
+                method;
+
+            for (testName in tests) {
+                if (tests.hasOwnProperty(testName) && !/^(setUp|tearDown)$/.test(testName)) {
+                    property = tests[testName];
+
+                    if (typeof property === "function" && rPrefix.test(testName)) {
+                        method = property;
+
+                        if (setUp || tearDown) {
+                            method = createTest(property, setUp, tearDown);
+                        }
+
+                        methods[testName] = sinon.test(method);
+                    } else {
+                        methods[testName] = tests[testName];
+                    }
+                }
+            }
+
+            return methods;
+        }
+
+        sinon.testCase = testCase;
+        return testCase;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var core = require("./util/core");
+        require("./test");
+        module.exports = makeApi(core);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon // eslint-disable-line no-undef
+));
+
+/**
+ * @depend times_in_words.js
+ * @depend util/core.js
+ * @depend match.js
+ * @depend format.js
+ */
+/**
+ * Assertions matching the test spy retrieval interface.
+ *
+ * @author Christian Johansen (christian@cjohansen.no)
+ * @license BSD
+ *
+ * Copyright (c) 2010-2013 Christian Johansen
+ */
+(function (sinonGlobal, global) {
+
+    var slice = Array.prototype.slice;
+
+    function makeApi(sinon) {
+        var assert;
+
+        function verifyIsStub() {
+            var method;
+
+            for (var i = 0, l = arguments.length; i < l; ++i) {
+                method = arguments[i];
+
+                if (!method) {
+                    assert.fail("fake is not a spy");
+                }
+
+                if (method.proxy && method.proxy.isSinonProxy) {
+                    verifyIsStub(method.proxy);
+                } else {
+                    if (typeof method !== "function") {
+                        assert.fail(method + " is not a function");
+                    }
+
+                    if (typeof method.getCall !== "function") {
+                        assert.fail(method + " is not stubbed");
+                    }
+                }
+
+            }
+        }
+
+        function failAssertion(object, msg) {
+            object = object || global;
+            var failMethod = object.fail || assert.fail;
+            failMethod.call(object, msg);
+        }
+
+        function mirrorPropAsAssertion(name, method, message) {
+            if (arguments.length === 2) {
+                message = method;
+                method = name;
+            }
+
+            assert[name] = function (fake) {
+                verifyIsStub(fake);
+
+                var args = slice.call(arguments, 1);
+                var failed = false;
+
+                if (typeof method === "function") {
+                    failed = !method(fake);
+                } else {
+                    failed = typeof fake[method] === "function" ?
+                        !fake[method].apply(fake, args) : !fake[method];
+                }
+
+                if (failed) {
+                    failAssertion(this, (fake.printf || fake.proxy.printf).apply(fake, [message].concat(args)));
+                } else {
+                    assert.pass(name);
+                }
+            };
+        }
+
+        function exposedName(prefix, prop) {
+            return !prefix || /^fail/.test(prop) ? prop :
+                prefix + prop.slice(0, 1).toUpperCase() + prop.slice(1);
+        }
+
+        assert = {
+            failException: "AssertError",
+
+            fail: function fail(message) {
+                var error = new Error(message);
+                error.name = this.failException || assert.failException;
+
+                throw error;
+            },
+
+            pass: function pass() {},
+
+            callOrder: function assertCallOrder() {
+                verifyIsStub.apply(null, arguments);
+                var expected = "";
+                var actual = "";
+
+                if (!sinon.calledInOrder(arguments)) {
+                    try {
+                        expected = [].join.call(arguments, ", ");
+                        var calls = slice.call(arguments);
+                        var i = calls.length;
+                        while (i) {
+                            if (!calls[--i].called) {
+                                calls.splice(i, 1);
+                            }
+                        }
+                        actual = sinon.orderByFirstCall(calls).join(", ");
+                    } catch (e) {
+                        // If this fails, we'll just fall back to the blank string
+                    }
+
+                    failAssertion(this, "expected " + expected + " to be " +
+                                "called in order but were called as " + actual);
+                } else {
+                    assert.pass("callOrder");
+                }
+            },
+
+            callCount: function assertCallCount(method, count) {
+                verifyIsStub(method);
+
+                if (method.callCount !== count) {
+                    var msg = "expected %n to be called " + sinon.timesInWords(count) +
+                        " but was called %c%C";
+                    failAssertion(this, method.printf(msg));
+                } else {
+                    assert.pass("callCount");
+                }
+            },
+
+            expose: function expose(target, options) {
+                if (!target) {
+                    throw new TypeError("target is null or undefined");
+                }
+
+                var o = options || {};
+                var prefix = typeof o.prefix === "undefined" && "assert" || o.prefix;
+                var includeFail = typeof o.includeFail === "undefined" || !!o.includeFail;
+
+                for (var method in this) {
+                    if (method !== "expose" && (includeFail || !/^(fail)/.test(method))) {
+                        target[exposedName(prefix, method)] = this[method];
+                    }
+                }
+
+                return target;
+            },
+
+            match: function match(actual, expectation) {
+                var matcher = sinon.match(expectation);
+                if (matcher.test(actual)) {
+                    assert.pass("match");
+                } else {
+                    var formatted = [
+                        "expected value to match",
+                        "    expected = " + sinon.format(expectation),
+                        "    actual = " + sinon.format(actual)
+                    ];
+
+                    failAssertion(this, formatted.join("\n"));
+                }
+            }
+        };
+
+        mirrorPropAsAssertion("called", "expected %n to have been called at least once but was never called");
+        mirrorPropAsAssertion("notCalled", function (spy) {
+            return !spy.called;
+        }, "expected %n to not have been called but was called %c%C");
+        mirrorPropAsAssertion("calledOnce", "expected %n to be called once but was called %c%C");
+        mirrorPropAsAssertion("calledTwice", "expected %n to be called twice but was called %c%C");
+        mirrorPropAsAssertion("calledThrice", "expected %n to be called thrice but was called %c%C");
+        mirrorPropAsAssertion("calledOn", "expected %n to be called with %1 as this but was called with %t");
+        mirrorPropAsAssertion(
+            "alwaysCalledOn",
+            "expected %n to always be called with %1 as this but was called with %t"
+        );
+        mirrorPropAsAssertion("calledWithNew", "expected %n to be called with new");
+        mirrorPropAsAssertion("alwaysCalledWithNew", "expected %n to always be called with new");
+        mirrorPropAsAssertion("calledWith", "expected %n to be called with arguments %*%C");
+        mirrorPropAsAssertion("calledWithMatch", "expected %n to be called with match %*%C");
+        mirrorPropAsAssertion("alwaysCalledWith", "expected %n to always be called with arguments %*%C");
+        mirrorPropAsAssertion("alwaysCalledWithMatch", "expected %n to always be called with match %*%C");
+        mirrorPropAsAssertion("calledWithExactly", "expected %n to be called with exact arguments %*%C");
+        mirrorPropAsAssertion("alwaysCalledWithExactly", "expected %n to always be called with exact arguments %*%C");
+        mirrorPropAsAssertion("neverCalledWith", "expected %n to never be called with arguments %*%C");
+        mirrorPropAsAssertion("neverCalledWithMatch", "expected %n to never be called with match %*%C");
+        mirrorPropAsAssertion("threw", "%n did not throw exception%C");
+        mirrorPropAsAssertion("alwaysThrew", "%n did not always throw exception%C");
+
+        sinon.assert = assert;
+        return assert;
+    }
+
+    var isNode = typeof module !== "undefined" && module.exports && typeof require === "function";
+    var isAMD = typeof define === "function" && typeof define.amd === "object" && define.amd;
+
+    function loadDependencies(require, exports, module) {
+        var sinon = require("./util/core");
+        require("./match");
+        require("./format");
+        module.exports = makeApi(sinon);
+    }
+
+    if (isAMD) {
+        define(loadDependencies);
+        return;
+    }
+
+    if (isNode) {
+        loadDependencies(require, module.exports, module);
+        return;
+    }
+
+    if (sinonGlobal) {
+        makeApi(sinonGlobal);
+    }
+}(
+    typeof sinon === "object" && sinon, // eslint-disable-line no-undef
+    typeof global !== "undefined" ? global : self
+));
+
+  return sinon;
+}));
diff --git a/libraries/foundation-6/test/javascript/util/core.js b/libraries/foundation-6/test/javascript/util/core.js
new file mode 100755
index 00000000..b2cba9aa
--- /dev/null
+++ b/libraries/foundation-6/test/javascript/util/core.js
@@ -0,0 +1,83 @@
+describe('Foundation core', function() {
+  it('exists on the window', function() {
+    (window.Foundation).should.be.an('object');
+  });
+
+  it('is a jQuery prototype function', function() {
+    ($.fn.foundation).should.to.be.a('function');
+  });
+
+  describe('rtl()', function() {
+    it('detects the text direction on the document', function() {
+      (Foundation.rtl()).should.be.false;
+      $('html').attr('dir', 'rtl');
+
+      (Foundation.rtl()).should.be.true;
+      $('html').attr('dir', 'ltr');
+    });
+  });
+
+  describe('plugin()', function() {
+    afterEach(function() {
+      delete Foundation._plugins['plugin'];
+      delete Foundation.Plugin;
+    });
+
+    it('adds Foundation plugins', function() {
+      function Plugin() {}
+      Foundation.plugin(Plugin, 'Plugin');
+
+      (Foundation._plugins['plugin']).should.be.a('function');
+      (Foundation.Plugin).should.be.a('function');
+    });
+
+    it('uses the name of the Plugin class/function if one is not provided', function() {
+      function Plugin() {}
+      Foundation.plugin(Plugin);
+
+      (Foundation._plugins['plugin']).should.be.a('function');
+      (Foundation.Plugin).should.be.a('function');
+    });
+  });
+
+  describe('registerPlugin()', function() {
+    it('registers a new instance of a plugin');
+  });
+
+  describe('unregisterPlugin()', function() {
+    it('un-registers a plugin being destroyed');
+  });
+
+  xdescribe('reInit()', function() {
+
+  });
+
+  describe('GetYoDigits()', function() {
+    it('generates a random ID matching a given length', function() {
+      var id = Foundation.GetYoDigits(6);
+
+      id.should.be.a('string');
+      id.should.have.lengthOf(6);
+    });
+
+    it('can append a namespace to the number', function() {
+      var id = Foundation.GetYoDigits(6, 'plugin');
+
+      id.should.be.a('string');
+      id.should.have.lengthOf(6 + '-plugin'.length);
+      id.should.contain('-plugin');
+    });
+  });
+
+  describe('reflow()', function() {
+  });
+
+  describe('getFnName()', function() {
+  });
+
+  describe('transitionEnd()', function() {
+  });
+
+  describe('throttle()', function() {
+  });
+});
diff --git a/libraries/foundation-6/test/sass/_breakpoint.scss b/libraries/foundation-6/test/sass/_breakpoint.scss
new file mode 100755
index 00000000..d013ac47
--- /dev/null
+++ b/libraries/foundation-6/test/sass/_breakpoint.scss
@@ -0,0 +1,160 @@
+@import "true";
+
+@import '../../scss/util/unit';
+@import '../../scss/util/breakpoint';
+
+@include test-module('Breakpoint') {
+
+  @include test('Breakpoint (Named to Em) [function]') {
+    $test: breakpoint(medium);
+    $expect: '(min-width: 40em)';
+
+    @include assert-equal($test, $expect,
+      'Converts a named breakpoint to an em value');
+  }
+
+  @include test('Breakpoint (Rem/Px to Em) [function]') {
+    $expect: '(min-width: 1em)';
+
+    @include assert-equal(breakpoint(16px), $expect,
+      'Converts a pixel breakpoint to em');
+    @include assert-equal(breakpoint(1rem), $expect,
+      'Converts a rem breakpoint to em');
+  }
+
+  @include test('Breakpoint (Only Range) [function]') {
+    $test: breakpoint(medium only);
+    $expect: '(min-width: 40em) and (max-width: 63.9375em)';
+
+    $test-lowest: breakpoint(small only);
+    $expect-lowest: '(max-width: 39.9375em)';
+
+    $test-highest: breakpoint(xxlarge only);
+    $expect-highest: '(min-width: 90em)';
+
+    @include assert-equal($test, $expect,
+      'Creates a min/max-width range out of a named breakpoint');
+
+    @include assert-equal($test-lowest, $expect-lowest,
+      'Creates a max-width range if the breakpoint is the lowest');
+
+    @include assert-equal($test-highest, $expect-highest,
+      'Creates a min-width range if the breakpoint is the highest');
+  }
+
+  @include test('Breakpoint (Named Down Range) [function]') {
+    $test: breakpoint(medium down);
+    $expect: '(max-width: 63.9375em)';
+
+    @include assert-equal($test, $expect,
+      'Creates a down range out of a medium breakpoint');
+
+    $test-lowest: breakpoint(small down);
+    $expect-lowest: '(max-width: 39.9375em)';
+
+    @include assert-equal($test-lowest, $expect-lowest,
+      'Creates a down range out of a small breakpoint');
+
+    $test-highest: breakpoint(xxlarge down);
+    $expect-highest: '';
+
+    @include assert-equal($test-highest, $expect-highest,
+      'Skips media query creation for xxlarge down');
+  }
+
+  @include test('Breakpoint (Value Down Range) [function]') {
+    $expect: '(max-width: 1em)';
+
+    @include assert-equal(breakpoint(16px down), $expect,
+      'Creates a down range out of a pixel value');
+    @include assert-equal(breakpoint(1rem down), $expect,
+      'Creates a down range out of a rem value');
+    @include assert-equal(breakpoint(1em down), $expect,
+      'Creates a down range out of an em value');
+  }
+
+  @include test('Breakpoint (Empty String) [function]') {
+    $expect: '';
+
+    @include assert-equal(breakpoint(small up), $expect,
+      'Returns an empty string for the value small up');
+    @include assert-equal(breakpoint(0 down), $expect,
+      'Returns an empty string for the value 0 down');
+    @include assert-equal(breakpoint(0 up), $expect,
+      'Returns an empty string for the value 0 up');
+  }
+
+  @include test('Breakpoint (Orientation/Retina) [function]') {
+    @include assert-equal(breakpoint(landscape), '(orientation: landscape)',
+      'Creates special media query for landscape');
+    @include assert-equal(breakpoint(portrait), '(orientation: portrait)',
+      'Creates special media query for portrait');
+    @include assert-equal(breakpoint(retina), '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)',
+      'Creates special media query for retina');
+  }
+
+  @include test('Breakpoint (Unknown Value) [function]') {
+    @include assert-equal(breakpoint(xxxxlarge), '', 'Returns an empty string for non-existant media queries');
+  }
+
+  @include test('Map Serialize [function]') {
+    $input: (
+      small: 1em,
+      medium: 2em,
+      large: 3em,
+    );
+    $test: -zf-bp-serialize($input);
+    $expect: 'small=1em&medium=2em&large=3em';
+
+    @include assert-equal($test, $expect,
+      'Converts a Sass map into a string');
+  }
+
+  @include test('Map Next [function]') {
+    $input: (
+      one: 'One',
+      two: 'Two',
+      three: 'Three',
+    );
+    $test_next: -zf-map-next($input, two);
+    $expect_next: map-get($input, three);
+
+    @include assert-equal($test_next, $expect_next,
+      'Returns the next value in a map');
+
+    $test_last: -zf-map-next($input, three);
+    $expect_last: null;
+
+    @include assert-equal($test_last, $expect_last,
+      'Returns null if the key is last in the map');
+
+    $test_null: -zf-map-next($input, four);
+    $expect_null: null;
+
+    @include assert-equal($test_null, $expect_null,
+      'Returns null if the key is not in the map');
+  }
+
+  @include test('Get Breakpoint Value [function]') {
+    $config: (
+      small: 0,
+      large: 1,
+    );
+    $test_kittens: -zf-get-bp-val($config, kittens);
+    $expect_kittens: null;
+
+    @include assert-equal($test_kittens, $expect_kittens,
+      'Given a non-existant breakpoint name, return null');
+
+    $test_match: -zf-get-bp-val($config, large);
+    $expect_match: 1;
+
+    @include assert-equal($test_match, $expect_match,
+      'Given a matching breakpoint, returns the exact value');
+    @include assert-equal(-zf-get-bp-val($config, medium), 0,
+      'Given a nearby breakpoint, returns the next lowest value');
+    @include assert-equal(-zf-get-bp-val($config, xlarge), 1,
+      'Given a nearby breakpoint, returns the next lowest value');
+  }
+
+}
diff --git a/libraries/foundation-6/test/sass/_color.scss b/libraries/foundation-6/test/sass/_color.scss
new file mode 100755
index 00000000..3ae970bf
--- /dev/null
+++ b/libraries/foundation-6/test/sass/_color.scss
@@ -0,0 +1,47 @@
+@import "true";
+
+@import '../../scss/global';
+@import '../../scss/util/color';
+
+@include test-module('Color') {
+
+  @include test('Foreground (Black) [function]') {
+    $test: foreground($white);
+    $expect: $black;
+
+    @include assert-equal($test, $expect,
+      'Returns black if the input color is light');
+  }
+
+  @include test('Foreground (White) [function]') {
+    $test: foreground($black);
+    $expect: $white;
+
+    @include assert-equal($test, $expect,
+      'Returns white if the input color is dark');
+  }
+
+  @include test('Smart Scale (Darken) [function]') {
+    $color: $white;
+    $scale: 5%;
+    $threshold: 60%;
+
+    $test: smart-scale($color, $scale, $threshold);
+    $expect: scale-color($color, $lightness: -$scale);
+
+    @include assert-equal($test, $expect,
+      'Darkens a light color');
+  }
+
+  @include test('Smart Scale (Lighten) [function]') {
+    $color: $black;
+    $scale: 5%;
+    $threshold: 60%;
+
+    $test: smart-scale($color, $scale, $threshold);
+    $expect: scale-color($color, $lightness: $scale);
+
+    @include assert-equal($test, $expect,
+      'Lightens a dark color');
+  }
+}
diff --git a/libraries/foundation-6/test/sass/_components.scss b/libraries/foundation-6/test/sass/_components.scss
new file mode 100755
index 00000000..9d93d5a2
--- /dev/null
+++ b/libraries/foundation-6/test/sass/_components.scss
@@ -0,0 +1,41 @@
+@import "true";
+
+@import '../../scss/global';
+@import '../../scss/components/flex-video';
+@import '../../scss/grid/grid';
+
+@include test-module('Components') {
+  
+  @include test('Flex Video [function]') {
+    $test: flex-video(3 by 4);
+    $expect: 4 / 3 * 100%;
+
+    @include assert-equal($test, $expect,
+      'Creates a percentage value from a ratio');
+  }
+
+  @include test('Grid Column [function]') {
+    @include assert-equal(grid-column(6), 50%,
+      'Creates a column width from a column count');
+    @include assert-equal(grid-column(0.5), 50%,
+      'Creates a column width from a decimal value');
+    @include assert-equal(grid-column(50%), 50%,
+      'Creates a column width from a percentage value');
+  }
+
+  @include test('Flex Grid Column [function]') {
+    @include assert-equal(flex-grid-column(), 1 1 0px,
+      'Creates an expanding flex property when passed no value');
+    @include assert-equal(flex-grid-column(shrink), 0 0 auto,
+      'Creates a shrinking flex property when passed shrink');
+    @include assert-equal(flex-grid-column(6), 0 0 50%,
+      'Creates a fixed flex property from a column count');
+    @include assert-equal(flex-grid-column(0.5), 0 0 50%,
+      'Creates a fixed flex property from a decimal value');
+    @include assert-equal(flex-grid-column(50%), 0 0 50%,
+      'Creates a fixed flex property from a percentage value');
+    @include assert-equal(flex-grid-column(1 of 2), 0 0 50%,
+      'Creates a fixed flex property from an x of y value');
+  }
+
+}
diff --git a/libraries/foundation-6/test/sass/_selector.scss b/libraries/foundation-6/test/sass/_selector.scss
new file mode 100755
index 00000000..077fa3bf
--- /dev/null
+++ b/libraries/foundation-6/test/sass/_selector.scss
@@ -0,0 +1,17 @@
+@import "true";
+
+@import '../../scss/util/selector';
+
+@include test-module('Selector') {
+  
+	@include test('Selector [function]') {
+	  $test: #{text-inputs(text password)};
+	  $expect: "[type='text'], [type='password']";
+
+	  //@debug $test;
+
+	  @include assert-equal($test, $expect,
+	    'Creates a selector out of a list of text input types');
+	}
+
+}
diff --git a/libraries/foundation-6/test/sass/_unit.scss b/libraries/foundation-6/test/sass/_unit.scss
new file mode 100755
index 00000000..dc66b969
--- /dev/null
+++ b/libraries/foundation-6/test/sass/_unit.scss
@@ -0,0 +1,50 @@
+@import "true";
+
+@import '../../scss/util/unit';
+
+@include test-module('Units') {
+
+  // Strip Units
+  @include test('Strip Units [function]') {
+    $expect: 20;
+
+    @include assert-equal(strip-unit(20px), $expect,
+      'Strips the unit from a number');
+    @include assert-equal(strip-unit(20), $expect,
+      'Returns the same number when given a unitless value');
+  }
+
+  // Convert To Rem
+  @include test('Convert To Rem [function]') {
+    $expect: 2rem;
+
+    @include assert-equal(-zf-to-rem(32, 16), $expect,
+      'Converts a unit to the equivalent in rems');
+    @include assert-equal(-zf-to-rem(2rem, 16), $expect,
+      'Keeps rem values the same');
+  }
+
+  // Rem Calculator
+  @include test('Rem Calculator [function]') {
+    $test: rem-calc((8 16 32 64), 16);
+    $expect: 0.5rem 1rem 2rem 4rem;
+
+    @include assert-equal($test, $expect,
+      'Converts an arbitrary number of values into rem equivalents');
+  }
+  
+  // Breakpoint to Em
+  @include test('Breakpoint To Em [function]') {
+    $expect: 1em;
+
+    @include assert-equal(-zf-bp-to-em(16), $expect,
+      'Converts a unitless value to em');
+    @include assert-equal(-zf-bp-to-em(16px), $expect,
+      'Converts a pixel value to em');
+    @include assert-equal(-zf-bp-to-em(1rem), $expect,
+      'Converts a rem value to em');
+    @include assert-equal(-zf-bp-to-em(1em), $expect,
+      'Converts an em value to em');
+  }
+
+}
diff --git a/libraries/foundation-6/test/sass/_value.scss b/libraries/foundation-6/test/sass/_value.scss
new file mode 100755
index 00000000..7b30179e
--- /dev/null
+++ b/libraries/foundation-6/test/sass/_value.scss
@@ -0,0 +1,118 @@
+@import "true";
+
+@import '../../scss/util/unit';
+@import '../../scss/util/value';
+
+@include test-module('Value') {
+
+  @include test('Value (Not Falsey) [function]') {
+    $boolean: has-value(true);
+    $number:  has-value(1px);
+    $color:   has-value(#000);
+    $list:    has-value(1px solid black);
+    $description: 'Returns true if the value is not falsey';
+
+    @include assert-equal($boolean, true, $description);
+    @include assert-equal($number, true, $description);
+    @include assert-equal($color, true, $description);
+    @include assert-equal($list, true, $description);
+  }
+
+  @include test('Value (Falsey) [function]') {
+    $zero:   has-value(0px);
+    $null:   has-value(null);
+    $none:   has-value(none);
+    $empty:  has-value(());
+    $description: 'Returns false if the value is falsey';
+
+    @include assert-equal($zero, false, $description);
+    @include assert-equal($null, false, $description);
+    @include assert-equal($none, false, $description);
+    @include assert-equal($empty, false, $description);
+  }
+
+  @include test('Get Side [function]') {
+    $valueOne: 1rem;
+    $testOne: (
+      get-side($valueOne, top),
+      get-side($valueOne, right),
+      get-side($valueOne, bottom),
+      get-side($valueOne, left),
+    );
+    $expectOne: (1rem, 1rem, 1rem, 1rem,);
+
+    @include assert-equal($testOne, $expectOne,
+      'Returns correct sides when given one side value');
+
+    $valueTwo: 1rem 2rem;
+    $testTwo: (
+      get-side($valueTwo, top),
+      get-side($valueTwo, right),
+      get-side($valueTwo, bottom),
+      get-side($valueTwo, left),
+    );
+    $expectTwo: (1rem, 2rem, 1rem, 2rem,);
+
+    @include assert-equal($testTwo, $expectTwo,
+      'Returns correct sides when given two side values');
+
+    $valueThree: 1rem 2rem 3rem;
+    $testThree: (
+      get-side($valueThree, top),
+      get-side($valueThree, right),
+      get-side($valueThree, bottom),
+      get-side($valueThree, left),
+    );
+    $expectThree: (1rem, 2rem, 3rem, 2rem,);
+
+    @include assert-equal($testThree, $expectThree,
+      'Returns correct sides when given three side values');
+
+    $valueFour: 1rem 2rem 3rem 4rem;
+    $testFour: (
+      get-side($valueFour, top),
+      get-side($valueFour, right),
+      get-side($valueFour, bottom),
+      get-side($valueFour, left),
+    );
+    $expectFour: (1rem, 2rem, 3rem, 4rem,);
+
+    @include assert-equal($testFour, $expectFour,
+      'Returns correct sides when given four side values');
+  }
+
+  @include test('Get Border Value [function]') {
+    $value: 10px dashed green;
+    $width: get-border-value($value, width);
+    $style: get-border-value($value, style);
+    $color: get-border-value($value, color);
+    $description: 'Returns the right value of a border property';
+
+    @include assert-equal($width, 10px, $description);
+    @include assert-equal($style, dashed, $description);
+    @include assert-equal($color, green, $description);
+
+    $defaultWidth: get-border-value(solid black, width);
+    $defaultStyle: get-border-value(10px black, style);
+    $defaultColor: get-border-value(10px solid, color);
+    $defaultDescription: 'Returns a default value if a property is missing';
+
+    @include assert-equal($defaultWidth, 0, $defaultDescription);
+    @include assert-equal($defaultStyle, solid, $defaultDescription);
+    @include assert-equal($defaultColor, black, $defaultDescription);
+  }
+
+  @include test('Map Deep Get [function]') {
+    $map: (
+      one: (
+        two: 'three',
+      ),
+    );
+    $expect: 'three';
+    
+    @include assert-equal(map-deep-get($map, one, two), $expect,
+      'Gets a value from a nested map');
+  }
+
+  // TODO: Add spec for pow()
+}
diff --git a/libraries/foundation-6/test/sass/test_sass.js b/libraries/foundation-6/test/sass/test_sass.js
new file mode 100755
index 00000000..38d0e5d9
--- /dev/null
+++ b/libraries/foundation-6/test/sass/test_sass.js
@@ -0,0 +1,18 @@
+var path = require('path');
+var sassTrue = require('sass-true');
+
+// Test Files
+var breakpointFile = path.join(__dirname, '_breakpoint.scss');
+var colorFile = path.join(__dirname, '_color.scss');
+var selectorFile = path.join(__dirname, '_selector.scss');
+var unitFile = path.join(__dirname, '_unit.scss');
+var valueFile = path.join(__dirname, '_value.scss');
+var componentsFile = path.join(__dirname, '_components.scss');
+
+// Run Tests
+sassTrue.runSass({file: breakpointFile}, describe, it);
+sassTrue.runSass({file: colorFile}, describe, it);
+sassTrue.runSass({file: selectorFile}, describe, it);
+sassTrue.runSass({file: unitFile}, describe, it);
+sassTrue.runSass({file: valueFile}, describe, it);
+sassTrue.runSass({file: componentsFile}, describe, it);
\ No newline at end of file
diff --git a/libraries/foundation-6/test/visual/_template.html b/libraries/foundation-6/test/visual/_template.html
new file mode 100755
index 00000000..6c7912ab
--- /dev/null
+++ b/libraries/foundation-6/test/visual/_template.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../motion-ui/dist/motion-ui.css" rel="stylesheet" />
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <p>Use this template to create a new test page.</p>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/abide/abide-radio.html b/libraries/foundation-6/test/visual/abide/abide-radio.html
new file mode 100755
index 00000000..56debd8b
--- /dev/null
+++ b/libraries/foundation-6/test/visual/abide/abide-radio.html
@@ -0,0 +1,79 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Abide Radio Buttons</h1>
+
+      <p>This form has required radio buttons.  If you try to submit without picking one, it
+      should show an error.  When you then pick one, the error should clear and let you submit.</p>
+      <form id="form" data-abide novalidate>
+        <div class="alert callout hide" data-abide-error>
+          <p>This form has errors.</p>
+        </div>
+        <fieldset>
+          <legend>Fieldset Label</legend>
+          <input required type="radio" name="example1" value="yes" id="example1Yes" />
+          <label for="example1Yes">Yes</label>
+          <input required type="radio" name="example1" value="no" id="example1No" />
+          <label for="example1No">No</label>
+        </fieldset>
+        <button class="button" type="submit">Submit</button>
+        <button class="button" type="reset">Reset</button>
+      </form>
+
+      <hr>
+
+      <p>This form has <strong>one</strong> required radio button.  If you try to submit without picking one, it
+      should show an error.  When you then pick one, the error should clear and let you submit.</p>
+      <form id="form" data-abide novalidate>
+        <div class="alert callout hide" data-abide-error>
+          <p>This form has errors.</p>
+        </div>
+        <fieldset>
+          <legend>Fieldset Label</legend>
+          <input type="radio" name="example3" value="yes" id="example3Yes" />
+          <label for="example3Yes">Yes</label>
+          <input required type="radio" name="example3" value="no" id="example3No" />
+          <label for="example3No">No</label>
+          <input type="radio" name="example3" value="maybe" id="example3Maybe" />
+          <label for="example3Maybe">Maybe</label>
+        </fieldset>
+        <button class="button" type="submit">Submit</button>
+        <button class="button" type="reset">Reset</button>
+      </form>
+
+      <hr>
+
+      <p>This form has optional radio buttons.  It should let you submit with or without picking one.</p>
+      <form id="form" data-abide novalidate>
+        <div class="alert callout hide" data-abide-error>
+          <p>This form has errors.</p>
+        </div>
+        <fieldset>
+          <legend>Fieldset Label</legend>
+          <input type="radio" name="example2" value="yes" id="example2Yes" />
+          <label for="example2Yes">Yes</label>
+          <input type="radio" name="example2" value="no" id="example2No" />
+          <label for="example2No">No</label>
+        </fieldset>
+        <button class="button" type="submit">Submit</button>
+        <button class="button" type="reset">Reset</button>
+      </form>
+
+      <hr>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/abide/hidden_and_ignored_fields.html b/libraries/foundation-6/test/visual/abide/hidden_and_ignored_fields.html
new file mode 100755
index 00000000..5c9bf34a
--- /dev/null
+++ b/libraries/foundation-6/test/visual/abide/hidden_and_ignored_fields.html
@@ -0,0 +1,51 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+  <div class="row column">
+    <h1>Abide: Hidden and Ignored Fields</h1>
+    <div class="callout">
+      <p>This form has a hidden field and a required text field.</p>
+      <p>Errors should be displayed properly.</p>
+
+      <form data-abide novalidate>
+        <input required type="text" placeholder="Required - try submitting without a value">
+        <span class='form-error'>This field is required</span>
+        <input type="hidden" value="foo">
+        <button type="submit" class="button">Submit</button>
+        <button type="reset" class="button">Reset</button>
+      </form>
+    </div>
+    <div class="callout">
+      <p>This form has a required text field and an ignored field that is ignored after page load.</p>
+      <p>The ignored field should be ignored.</p>
+      <form data-abide novalidate>
+        <div class="row column">
+          <input required type="text" placeholder="Required">
+          <span class='form-error'>This field is required</span>
+        </div>
+        <div class="row column">
+          <input required id="ignoreAfter" type="text" placeholder="Ignored">
+          <span class='form-error'>You should never see this error!</span>
+        </div>
+        <button type="submit" class="button">Submit</button>
+        <button type="reset" class="button">Reset</button>
+      </form>
+    </div>
+  </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      Foundation.Abide.defaults.patterns['customPattern'] = /^\w{4,16}$/;
+      $(document).foundation();
+      $("#ignoreAfter").attr("data-abide-ignore", true);
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/abide/text.html b/libraries/foundation-6/test/visual/abide/text.html
new file mode 100755
index 00000000..cad1fdd6
--- /dev/null
+++ b/libraries/foundation-6/test/visual/abide/text.html
@@ -0,0 +1,115 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Abide: Text Fields</h1>
+
+      <p>This form has one required text field and one optional text field.</p>
+
+      <form data-abide novalidate>
+        <input required type="text" placeholder="Required">
+        <input type="text" placeholder="Not required">
+        <button type="submit" class="button">Submit</button>
+        <button type="reset" class="button">Reset</button>
+      </form>
+
+      <hr>
+
+      <p>This form has valid and invalid inputs for other text input types. (In browsers that support color pickers, you won't see a text field, but a color selection button instead.)</p>
+
+      <form data-abide novalidate>
+        <fieldset>
+          <legend>color</legend>
+          <input type="color" required value="#ffffff">
+          <input type="color" required value="wefwf89">
+        </fieldset>
+
+        <fieldset>
+          <legend>date</legend>
+          <input type="date" required value="1970-01-31">
+          <input type="date" required value="dwepdw9449tbv">
+        </fieldset>
+
+        <fieldset>
+          <legend>datetime</legend>
+          <input type="datetime" required value="1970-01-31T05:30:00Z">
+          <input type="datetime" required>
+        </fieldset>
+
+        <fieldset>
+          <legend>email</legend>
+          <input type="email" required value="foundation@zurb.com">
+          <input type="email" required value="notanemail.lol">
+        </fieldset>
+
+        <fieldset>
+          <legend>month</legend>
+          <input type="month" required value="2016-01">
+          <input type="month" required value="10293">
+        </fieldset>
+
+        <fieldset>
+          <legend>number</legend>
+          <input type="number" required value="1">
+          <input type="number" required value="lol">
+        </fieldset>
+
+        <fieldset>
+          <legend>search</legend>
+          <input type="search" required>
+        </fieldset>
+
+        <fieldset>
+          <legend>tel</legend>
+          <input type="tel" required value="3175554848">
+          <input type="tel" required value="lol">
+        </fieldset>
+
+        <fieldset>
+          <legend>time</legend>
+          <input type="time" required value="05:30:00">
+          <input type="time" required value="x:du:dwef">
+        </fieldset>
+
+        <fieldset>
+          <legend>url</legend>
+          <input type="url" required value="http://foundation.zurb.com">
+          <input type="url" required value="foundation@zurb.com">
+        </fieldset>
+
+        <fieldset>
+          <legend>week</legend>
+          <input type="week" required value="2016-W01">
+          <input type="week" required value="101223">
+        </fieldset>
+
+        <button type="submit" class="button">Submit</button>
+        <button type="reset" class="button">Reset</button>
+      </form>
+
+      <hr>
+
+      <p>This field uses a custom pattern. The field is valid if the input is between 4 and 16 characters long.</p>
+
+      <form data-abide novalidate>
+        <input required type="text" pattern="customPattern">
+        <button type="submit" class="button">Submit</button>
+        <button type="reset" class="button">Reset</button>
+      </form>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      Foundation.Abide.defaults.patterns['customPattern'] = /^\w{4,16}$/;
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/accordion-menu/keyboard.html b/libraries/foundation-6/test/visual/accordion-menu/keyboard.html
new file mode 100755
index 00000000..cc7b7add
--- /dev/null
+++ b/libraries/foundation-6/test/visual/accordion-menu/keyboard.html
@@ -0,0 +1,39 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Accordion Menu: Keyboard Control</h1>
+
+      <ul>
+        <li>The Tab and down arrow keys should navigate down the menu, including open sub-menus.</li>
+        <li>Shift-tab and up arrow keys should navigate up the menu, including open sub-menus.</li>
+        <li>When focused on a parent menu, the space bar and Enter key should open or close the menu.</li>
+        <li>When focused on a link item, the space bar and Center key should navigate to the link.</li>
+      </ul>
+
+      <ul class="vertical menu" data-accordion-menu>
+        <li>
+          <a href="#">Item 1</a>
+          <ul class="menu vertical nested">
+            <li><a href="google.com">External link</a></li>
+            <li><a href="#">Item 1B</a></li>
+          </ul>
+        </li>
+        <li><a href="#">Item 2</a></li>
+      </ul>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/accordion/focus.html b/libraries/foundation-6/test/visual/accordion/focus.html
new file mode 100755
index 00000000..dce57aeb
--- /dev/null
+++ b/libraries/foundation-6/test/visual/accordion/focus.html
@@ -0,0 +1,73 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Accordion: Focus Management</h1>
+
+      <p>This is a stock accordion. The tab key will cycle through accordion panes without opening/closing. The up/down arrow keys will cycle through accordion panes, opening the one you move to, and closing the one you move away from.</p>
+
+      <ul class="accordion" data-accordion role="tablist">
+        <li class="accordion-item is-active">
+          <a href="#panel-1-1" role="tab" class="accordion-title" id="panel-1-1-heading" aria-controls="panel-1-1">Accordion Panel One</a>
+          <div id="panel-1-1" class="accordion-content" role="tabpanel" data-tab-content aria-labelledby="panel-1-1-heading">
+            <p>Panel one content goes here: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam pharetra sodales nulla, eu consequat quam fringilla sed. Suspendisse potenti. Nam ac condimentum mi. Quisque enim arcu, dapibus nec congue nec, luctus non est.</p>
+          </div>
+        </li>
+
+        <li class="accordion-item">
+          <a href="#panel-1-2" role="tab" class="accordion-title" id="panel-1-2-heading" aria-controls="panel-1-2">Accordion Panel Two</a>
+          <div id="panel-1-2" class="accordion-content" role="tabpanel" data-tab-content aria-labelledby="panel-1-2-heading">
+            <p>Panele two content goes here: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam pharetra sodales nulla, eu consequat quam fringilla sed. Suspendisse potenti. Nam ac condimentum mi. Quisque enim arcu, dapibus nec congue nec, luctus non est.</p>
+          </div>
+        </li>
+
+        <li class="accordion-item">
+          <a href="#panel-1-3" role="tab" class="accordion-title" id="panel-1-3-heading" aria-controls="panel-1-3">Accordion Panel Three</a>
+          <div id="panel-1-3" class="accordion-content" role="tabpanel" data-tab-content aria-labelledby="panel-1-3-heading">
+            <p>Panel three content goes here: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam pharetra sodales nulla, eu consequat quam fringilla sed. Suspendisse potenti. Nam ac condimentum mi. Quisque enim arcu, dapibus nec congue nec, luctus non est.</p>
+          </div>
+        </li>
+      </ul>
+
+      <hr>
+
+      <p>This is an accordion with multiExpand set to "true". Using the up/down arrow keys will cycle between accordion titles <em>without opening/closing them</em>, and pressing space will open or close a pane.</p>
+
+      <ul class="accordion" data-accordion role="tablist" data-multi-expand="true">
+        <li class="accordion-item is-active">
+          <a href="#panel-1-1" role="tab" class="accordion-title" id="panel-1-1-heading" aria-controls="panel-1-1">Accordion Panel One</a>
+          <div id="panel-1-1" class="accordion-content" role="tabpanel" data-tab-content aria-labelledby="panel-1-1-heading">
+            <p>Panel one content goes here: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam pharetra sodales nulla, eu consequat quam fringilla sed. Suspendisse potenti. Nam ac condimentum mi. Quisque enim arcu, dapibus nec congue nec, luctus non est.</p>
+          </div>
+        </li>
+
+        <li class="accordion-item">
+          <a href="#panel-1-2" role="tab" class="accordion-title" id="panel-1-2-heading" aria-controls="panel-1-2">Accordion Panel Two</a>
+          <div id="panel-1-2" class="accordion-content" role="tabpanel" data-tab-content aria-labelledby="panel-1-2-heading">
+            <p>Panele two content goes here: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam pharetra sodales nulla, eu consequat quam fringilla sed. Suspendisse potenti. Nam ac condimentum mi. Quisque enim arcu, dapibus nec congue nec, luctus non est.</p>
+          </div>
+        </li>
+
+        <li class="accordion-item">
+          <a href="#panel-1-3" role="tab" class="accordion-title" id="panel-1-3-heading" aria-controls="panel-1-3">Accordion Panel Three</a>
+          <div id="panel-1-3" class="accordion-content" role="tabpanel" data-tab-content aria-labelledby="panel-1-3-heading">
+            <p>Panel three content goes here: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam pharetra sodales nulla, eu consequat quam fringilla sed. Suspendisse potenti. Nam ac condimentum mi. Quisque enim arcu, dapibus nec congue nec, luctus non est.</p>
+          </div>
+        </li>
+      </ul>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/accordion/item-attributes.html b/libraries/foundation-6/test/visual/accordion/item-attributes.html
new file mode 100755
index 00000000..72259977
--- /dev/null
+++ b/libraries/foundation-6/test/visual/accordion/item-attributes.html
@@ -0,0 +1,80 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Accordion: Item Attributes</h1>
+
+      <p>Accordion items can be defined as <code>&lt;li&gt;</code>s, or by having the attribute <code>data-accordion-item</code>.</p>
+
+      <hr>
+
+      <p>This accordion uses list items and has no attribute.</p>
+
+      <ul class="accordion" data-accordion>
+        <li class="accordion-item is-active">
+          <a href="#" class="accordion-title">Accordion 1</a>
+          <div class="accordion-content" data-tab-content>
+            Item
+          </div>
+        </li>
+        <li class="accordion-item">
+          <a href="#" class="accordion-title">Accordion 2</a>
+          <div class="accordion-content" data-tab-content>
+            Item
+          </div>
+        </li>
+      </ul>
+
+      <hr>
+
+      <p>This accordion uses generic tags with an attribute.</p>
+
+      <div class="accordion" data-accordion>
+        <div class="accordion-item is-active" data-accordion-item>
+          <a href="#" class="accordion-title">Accordion 1</a>
+          <div class="accordion-content" data-tab-content>
+            Item
+          </div>
+        </div>
+        <div class="accordion-item" data-accordion-item>
+          <a href="#" class="accordion-title">Accordion 2</a>
+          <div class="accordion-content" data-tab-content>
+            Item
+          </div>
+        </div>
+      </div>
+
+      <hr>
+
+      <p>This accordion mixes both methods.</p>
+
+      <div class="accordion" data-accordion>
+        <li class="accordion-item is-active">
+          <a href="#" class="accordion-title">Accordion 1</a>
+          <div class="accordion-content" data-tab-content>
+            Item
+          </div>
+        </li>
+        <div class="accordion-item" data-accordion-item>
+          <a href="#" class="accordion-title">Accordion 2</a>
+          <div class="accordion-content" data-tab-content>
+            Item
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/accordion/nested.html b/libraries/foundation-6/test/visual/accordion/nested.html
new file mode 100755
index 00000000..55a4d2af
--- /dev/null
+++ b/libraries/foundation-6/test/visual/accordion/nested.html
@@ -0,0 +1,68 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <title>Foundation for Sites Testing</title>
+  <link href="../assets/css/foundation.css" rel="stylesheet" />
+  <style>
+    .accordion-title[aria-expanded="true"] {
+      border-top: 1px solid dodgerblue;
+    }
+
+    .accordion-title[aria-selected="true"] {
+      border-bottom: 1px solid red;
+    }
+  </style>
+</head>
+<body>
+  <div class="row column">
+    <h1>Accordion: Nesting</h1>
+
+    <p>These are nested accordions.</p>
+
+    <ul>
+      <li>A title with <code>aria-expanded="true"</code> has a blue border.</li>
+      <li>A title with <code>aria-selected="true"</code> has a red border.</li>
+      <li>An open item should have <strong>both borders</strong>.</li>
+      <li>Manipulating one accordion shouldn't affect the other.</li>
+    </ul>
+
+    <ul class="accordion" data-accordion>
+      <li class="accordion-item is-active" data-accordion-item>
+        <a href="#" class="accordion-title">Accordion 1</a>
+        <div class="accordion-content" data-tab-content>
+          <p>Base Accordion</p>
+          <ul class="accordion" data-accordion data-multi-expand="true" data-allow-all-closed="true">
+            <li class="accordion-item is-active" data-accordion-item>
+              <a href="#" class="accordion-title">Accordion 1</a>
+              <div class="accordion-content" data-tab-content>
+                Nested Accordion
+              </div>
+            </li>
+            <li class="accordion-item" data-accordion-item>
+              <a href="#" class="accordion-title">Accordion 1</a>
+              <div class="accordion-content" data-tab-content>
+                Nested Accordion
+              </div>
+            </li>
+          </ul>
+        </div>
+      </li>
+      <li class="accordion-item" data-accordion-item>
+        <a href="#" class="accordion-title">Accordion 1</a>
+        <div class="accordion-content" data-tab-content>
+          <p>Base Accordion</p>
+        </div>
+      </li>
+    </ul>
+  </div>
+
+  <script src="../assets/js/vendor.js"></script>
+  <script src="../assets/js/foundation.js"></script>
+  <script>
+  $(document).foundation();
+  </script>
+</body>
+</html>
diff --git a/libraries/foundation-6/test/visual/drilldown/drilldown-menu-parent-link.html b/libraries/foundation-6/test/visual/drilldown/drilldown-menu-parent-link.html
new file mode 100755
index 00000000..b1f885f4
--- /dev/null
+++ b/libraries/foundation-6/test/visual/drilldown/drilldown-menu-parent-link.html
@@ -0,0 +1,67 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+    <style>
+      .is-submenu-parent-item {
+        background: #eee;
+      }
+    </style>
+  </head>
+  <body>
+    <div class="medium-6 row column">
+      <p>Parent links should be added to the top of their sub-menu as a link.</p>
+
+      <ul class="vertical menu" data-drilldown data-parent-link="true">
+        <li>
+          <a href="http://foundation.zurb.com/develop/getting-started.html">Develop</a>
+          <ul class="vertical menu">
+            <li><a href="http://foundation.zurb.com/sites.html">Foundation for Sites</a></li>
+            <li><a href="http://foundation.zurb.com/emails.html">Foundation for Email</a></li>
+            <li><a href="http://foundation.zurb.com/apps.html">Foundation for Apps</a></li>
+            <li><a href="http://foundation.zurb.com/templates.html">HTML Templates</a></li>
+            <li><a href="http://foundation.zurb.com/sites/resources.html">Resources</a></li>
+            <li><a href="http://foundation.zurb.com/develop/building-blocks.html">Building Blocks</a></li>
+            <li><a href="http://foundation.zurb.com/develop/yeti-launch.html">Yeti Launch</a></li>
+            <li><a href="http://foundation.zurb.com/develop/contribute.html">Contribute</a></li>
+          </ul>
+        </li>
+        <li><a href="#">Item</a></li>
+        <li>
+          <a href="http://foundation.zurb.com/develop/getting-started.html">Top level Item</a>
+          <ul class="vertical menu">
+            <li><a href="http://foundation.zurb.com/sites.html">Foundation for Sites</a></li>
+            <li><a href="http://foundation.zurb.com/emails.html">Foundation for Email</a></li>
+            <li><a href="http://foundation.zurb.com/apps.html">Foundation for Apps</a></li>
+            <li>
+              <a href="http://foundation.zurb.com/support/support.html">2nd level Item</a>
+              <ul class="vertical menu">
+                <li><a href="http://foundation.zurb.com/sites.html">Foundation for Sites</a></li>
+                <li><a href="http://foundation.zurb.com/emails.html">Foundation for Email</a></li>
+                <li><a href="http://foundation.zurb.com/apps.html">Foundation for Apps</a></li>
+                <li>
+                  <a href="http://foundation.zurb.com/support/premium-support.html">3rd level Item</a>
+                  <ul class="vertical menu">
+                    <li><a href="http://foundation.zurb.com/sites.html">Foundation for Sites</a></li>
+                    <li><a href="http://foundation.zurb.com/emails.html">Foundation for Email</a></li>
+                    <li><a href="http://foundation.zurb.com/apps.html">Foundation for Apps</a></li>
+                  </ul>
+                </li>
+              </ul>
+            </li>
+          </ul>
+        </li>
+      </ul>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/drilldown/long-drilldown-menu.html b/libraries/foundation-6/test/visual/drilldown/long-drilldown-menu.html
new file mode 100755
index 00000000..70b0326a
--- /dev/null
+++ b/libraries/foundation-6/test/visual/drilldown/long-drilldown-menu.html
@@ -0,0 +1,50 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+    <style>
+      .is-drilldown-submenu {
+        background: #eee;
+      }
+    </style>
+  </head>
+  <body>
+    <div class="medium-6 row column">
+      <p>Submenus should not be cut off at the bottom.</p>
+
+      <ul class="vertical menu" data-drilldown>
+        <li>
+          <a href="#">Item</a>
+          <ul class="vertical menu">
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+            <li><a href="#">Item</a></li>
+          </ul>
+        </li>
+        <li><a href="#">Item</a></li>
+      </ul>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/dropdown-menu/basic-dropdown-menu-rtl.html b/libraries/foundation-6/test/visual/dropdown-menu/basic-dropdown-menu-rtl.html
new file mode 100755
index 00000000..3f548c4d
--- /dev/null
+++ b/libraries/foundation-6/test/visual/dropdown-menu/basic-dropdown-menu-rtl.html
@@ -0,0 +1,52 @@
+<html dir="rtl">
+
+<head>
+  <link href="http://cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.css" rel="stylesheet">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <link href="../assets/css/foundation-rtl.css" rel="stylesheet" />
+
+  <style>
+
+
+  </style>
+</head>
+
+<body>
+
+  <h1>Dropdown Menu: RTL</h1>
+
+  <p>First-level dropdowns should anchor to the bottom-right of the parent item.</p>
+
+  <p>Second-level dropdowns should anchor to the top-left of the parent item.</p>
+
+  <ul class="dropdown menu" data-dropdown-menu>
+    <li>
+      <a href="#">Item 1</a>
+      <ul class="menu">
+        <li><a href="#">Item 1A</a></li>
+        <!-- ... -->
+      </ul>
+    </li>
+    <li><a href="#">Item 2</a></li>
+    <li><a href="#">Item 3</a></li>
+    <li><a href="#">Item 4</a>
+      <ul class="menu">
+        <li><a href="#">Item 4A</a></li>
+        <li><a href="#">Item 4B</a>
+          <ul class="menu">
+            <li><a href="#">Item 4BA</a></li>
+          </ul>
+        </li>
+        <li><a href="#">Item 4C</a></li>
+      </ul>
+    </li>
+  </ul>
+
+  <script src="../assets/js/vendor.js"></script>
+  <script src="../assets/js/foundation.js"></script>
+  <script>
+    $(document).foundation();
+  </script>
+</body>
+</html>
diff --git a/libraries/foundation-6/test/visual/dropdown-menu/right-aligned-dropdown-menu.html b/libraries/foundation-6/test/visual/dropdown-menu/right-aligned-dropdown-menu.html
new file mode 100755
index 00000000..f00bd659
--- /dev/null
+++ b/libraries/foundation-6/test/visual/dropdown-menu/right-aligned-dropdown-menu.html
@@ -0,0 +1,135 @@
+<html>
+
+<head>
+  <link href="http://cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.css" rel="stylesheet">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <link href="../assets/css/foundation.css" rel="stylesheet" />
+
+  <style>
+
+
+  </style>
+</head>
+
+<body>
+
+  <h1>Dropdown Menu: Right aligned</h1>
+  <p>This dropdown menu is aligned right using <code>.top-bar-right</code> class.</p>
+  <div class="title-bar" data-responsive-toggle="main-menu" data-hide-for="medium">
+    <button class="menu-icon" type="button" data-toggle></button>
+    <div class="title-bar-title">Menu</div>
+  </div>
+
+  <div class="top-bar" id="main-menu">
+    <div class="top-bar-left">
+      <ul class="dropdown menu" data-dropdown-menu>
+        <li class="menu-text"><strong>Site Title</strong></li>
+      </ul>
+    </div>
+    <div class="top-bar-right">
+      <ul class="menu vertical medium-horizontal" data-responsive-menu="drilldown medium-dropdown">
+        <li>
+          <a>Item 1</a>
+          <ul class="menu">
+            <li><a href="#Item-1A">Item 1A</a></li>
+            <li>
+              <a href="#Item-1B">Item 1B</a>
+              <ul class="menu">
+                <li><a href="#Item-1Bi">Item 1B i</a></li>
+                <li><a href="#Item-1Bii">Item 1B ii</a></li>
+                <li>
+                  <a href="#Item-1Biii">Item 1B iii</a>
+                  <ul class="menu">
+                    <li><a href="#Item-1Biiialpha">Item 1B iii alpha</a></li>
+                    <li><a href="#Item-1Biiiomega">Item 1B iii omega</a></li>
+                  </ul>
+                </li>
+                <li>
+                  <a href="#Item-1Biv">Item 1B iv</a>
+                  <ul class="menu">
+                    <li><a href="#Item-1Bivalpha">Item 1B iv alpha</a></li>
+                  </ul>
+                </li>
+              </ul>
+            </li>
+            <li><a href="#Item-1C">Item 1C</a></li>
+          </ul>
+        </li>
+        <li>
+          <a href="#Item-2">Item 2</a>
+          <ul class="menu">
+            <li><a href="#Item-2A">Item 2A</a></li>
+            <li><a href="#Item-2B">Item 2B</a></li>
+          </ul>
+        </li>
+        <li><a href="#Item-3">Item 3</a></li>
+        <li><a href="#Item-4">Item 4</a></li>
+        
+      </ul>
+    </div>
+  </div>
+
+  <p>This dropdown menu is positioned right just by the content before it.</p>
+  <div class="title-bar" data-responsive-toggle="main-menu" data-hide-for="medium">
+    <button class="menu-icon" type="button" data-toggle></button>
+    <div class="title-bar-title">Menu</div>
+  </div>
+
+  <div class="top-bar" id="main-menu">
+    <div class="top-bar-left">
+      <ul class="dropdown menu" data-dropdown-menu>
+        <li class="menu-text"><strong>Site Title</strong></li>
+        <li class="menu-text">Some long text to push the menu.</li>
+        <li class="menu-text">You might need to resize the window so that the menu just fits in this line...</li>
+      </ul>
+    </div>
+    <div class="">
+      <ul class="menu vertical medium-horizontal" data-responsive-menu="drilldown medium-dropdown">
+        <li>
+          <a>Item 1</a>
+          <ul class="menu">
+            <li><a href="#Item-1A">Item 1A</a></li>
+            <li>
+              <a href="#Item-1B">Item 1B</a>
+              <ul class="menu">
+                <li><a href="#Item-1Bi">Item 1B i</a></li>
+                <li><a href="#Item-1Bii">Item 1B ii</a></li>
+                <li>
+                  <a href="#Item-1Biii">Item 1B iii</a>
+                  <ul class="menu">
+                    <li><a href="#Item-1Biiialpha">Item 1B iii alpha</a></li>
+                    <li><a href="#Item-1Biiiomega">Item 1B iii omega</a></li>
+                  </ul>
+                </li>
+                <li>
+                  <a href="#Item-1Biv">Item 1B iv</a>
+                  <ul class="menu">
+                    <li><a href="#Item-1Bivalpha">Item 1B iv alpha</a></li>
+                  </ul>
+                </li>
+              </ul>
+            </li>
+            <li><a href="#Item-1C">Item 1C</a></li>
+          </ul>
+        </li>
+        <li>
+          <a href="#Item-2">Item 2</a>
+          <ul class="menu">
+            <li><a href="#Item-2A">Item 2A</a></li>
+            <li><a href="#Item-2B">Item 2B</a></li>
+          </ul>
+        </li>
+        <li><a href="#Item-3">Item 3</a></li>
+        <li><a href="#Item-4">Item 4</a></li>
+      </ul>
+    </div>
+  </div>
+
+  <script src="../assets/js/vendor.js"></script>
+  <script src="../assets/js/foundation.js"></script>
+  <script>
+    $(document).foundation();
+  </script>
+</body>
+</html>
diff --git a/libraries/foundation-6/test/visual/dropdown-menu/submenu-mouse-reenter.html b/libraries/foundation-6/test/visual/dropdown-menu/submenu-mouse-reenter.html
new file mode 100755
index 00000000..36b47089
--- /dev/null
+++ b/libraries/foundation-6/test/visual/dropdown-menu/submenu-mouse-reenter.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <div class="callout">Move the Mouse on Item 1 -> Item 1B -> Item 1B iii -> Submenu, then leave the Pane and quick reenter it before it close. Pane should stay open</div>
+      <ul class="dropdown menu" data-dropdown-menu>
+        <li>
+          <a>Item 1</a>
+          <ul class="menu">
+            <li><a href="#">Item 1A</a></li>
+            <li>
+              <a href="#">Item 1B</a>
+              <ul class="menu">
+                <li><a href="#">Item 1B i</a></li>
+                <li><a href="#">Item 1B ii</a></li>
+                <li>
+                  <a href="#">Item 1B iii</a>
+                  <ul class="menu">
+                    <li><a href="#">Item 1B iii alpha</a></li>
+                    <li><a href="#">Item 1B iii omega</a></li>
+                  </ul>
+                </li>
+                <li>
+                  <a href="#">Item 1B iv</a>
+                  <ul class="menu">
+                    <li><a href="#">Item 1B iv alpha</a></li>
+                  </ul>
+                </li>
+              </ul>
+            </li>
+            <li><a href="#">Item 1C</a></li>
+          </ul>
+        </li>
+        <li>
+          <a href="#">Item 2</a>
+          <ul class="menu">
+            <li><a href="#">Item 2A</a></li>
+            <li><a href="#">Item 2B</a></li>
+          </ul>
+        </li>
+        <li><a href="#">Item 3</a></li>
+        <li><a href="#">Item 4</a></li>
+      </ul>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/dropdown/basic-dropdown-rtl.html b/libraries/foundation-6/test/visual/dropdown/basic-dropdown-rtl.html
new file mode 100755
index 00000000..60d793e1
--- /dev/null
+++ b/libraries/foundation-6/test/visual/dropdown/basic-dropdown-rtl.html
@@ -0,0 +1,50 @@
+<html dir="rtl">
+
+<head>
+  <link href="http://cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.css" rel="stylesheet">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <link href="../assets/css/foundation-rtl.css" rel="stylesheet" />
+
+  <style>
+
+
+  </style>
+</head>
+
+<body>
+  <h1>Dropdown: RTL</h1>
+
+  <p>Bottom aligned:</p>
+
+  <button class="button" type="button" data-toggle="example-dropdown">Toggle Dropdown</button>
+  <div class="dropdown-pane" id="example-dropdown" data-dropdown data-auto-focus="true">
+    <p>This is a dropdown.</p>
+  </div>
+
+
+  <button class="button" type="button" data-toggle="example-dropdown-1">Hoverable Dropdown</button>
+  <div class="dropdown-pane" id="example-dropdown-1" data-dropdown data-hover="true" data-hover-pane="true">
+    <p>This is a dropdown.</p>
+  </div>
+
+  <p>Top aligned:</p>
+
+  <button class="button" type="button" data-toggle="example-dropdown-2">Toggle Dropdown</button>
+  <div class="dropdown-pane top" id="example-dropdown-2" data-dropdown data-auto-focus="true">
+    <p>This is a dropdown.</p>
+  </div>
+
+
+  <button class="button" type="button" data-toggle="example-dropdown-3">Hoverable Dropdown</button>
+  <div class="dropdown-pane top" id="example-dropdown-3" data-dropdown data-hover="true" data-hover-pane="true">
+    <p>This is a dropdown.</p>
+  </div>
+
+  <script src="../assets/js/vendor.js"></script>
+  <script src="../assets/js/foundation.js"></script>
+  <script>
+    $(document).foundation();
+  </script>
+</body>
+</html>
diff --git a/libraries/foundation-6/test/visual/dropdown/close-on-click.html b/libraries/foundation-6/test/visual/dropdown/close-on-click.html
new file mode 100755
index 00000000..8da04688
--- /dev/null
+++ b/libraries/foundation-6/test/visual/dropdown/close-on-click.html
@@ -0,0 +1,37 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Dropdown: closeOnClick option</h1>
+
+      <p>This dropdown will only close if you click the button again.</p>
+
+      <button class="dropdown button" type="button" data-toggle="dropdown1">Toggle Dropdown</button>
+      <div id="dropdown1" class="dropdown-pane" data-dropdown>
+        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Expedita mollitia veritatis dicta aspernatur vel reiciendis, fugit. Similique delectus laboriosam aperiam, unde debitis at minus hic rerum repudiandae, officiis iusto deleniti!</p>
+      </div>
+
+      <hr>
+
+      <p>This dropdown will close if you click anywhere outside of it.</p>
+
+      <button class="dropdown button" type="button" data-toggle="dropdown2">Toggle Dropdown</button>
+      <div id="dropdown2" class="dropdown-pane" data-dropdown data-close-on-click="true">
+        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Expedita mollitia veritatis dicta aspernatur vel reiciendis, fugit. Similique delectus laboriosam aperiam, unde debitis at minus hic rerum repudiandae, officiis iusto deleniti!</p>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/dropdown/in-top-bar.html b/libraries/foundation-6/test/visual/dropdown/in-top-bar.html
new file mode 100755
index 00000000..2470fe47
--- /dev/null
+++ b/libraries/foundation-6/test/visual/dropdown/in-top-bar.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Dropdown: Inside Top Bar</h1>
+
+      <p>Text fields inside of a top bar should not be super long.</p>
+
+      <div class="top-bar">
+        <div class="top-bar-left">
+          <ul class="dropdown menu" data-dropdown-menu>
+            <li class="menu-text">Site Title</li>
+          </ul>
+        </div>
+        <div class="top-bar-right">
+          <ul class="menu">
+            <li>
+              <button class="button" type="button" data-toggle="example-dropdown">Toggle Dropdown</button>
+              <div class="dropdown-pane" id="example-dropdown" data-dropdown data-auto-focus="true">
+                Example form in a dropdown.
+                <form>
+                  <div class="row">
+                    <div class="medium-6 columns">
+                      <label>Name
+                        <input type="text" placeholder="Kirk, James T.">
+                      </label>
+                    </div>
+                    <div class="medium-6 columns">
+                      <label>Rank
+                        <input type="text" placeholder="Captain">
+                      </label>
+                    </div>
+                  </div>
+                </form>
+              </div>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/dropdown/long.html b/libraries/foundation-6/test/visual/dropdown/long.html
new file mode 100755
index 00000000..458b218e
--- /dev/null
+++ b/libraries/foundation-6/test/visual/dropdown/long.html
@@ -0,0 +1,51 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Dropdown: Long Content</h1>
+
+      <p>This dropdown should not go full-width, even if its contents are higher than the width of the window.</p>
+
+      <button class="button" type="button" data-toggle="example-dropdown">Toggle Dropdown</button>
+      <div class="dropdown-pane" id="example-dropdown" data-dropdown data-auto-focus="true">
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+        <p>This is a dropdown.</p>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/equalizer/equalizer-events.html b/libraries/foundation-6/test/visual/equalizer/equalizer-events.html
new file mode 100755
index 00000000..48e22608
--- /dev/null
+++ b/libraries/foundation-6/test/visual/equalizer/equalizer-events.html
@@ -0,0 +1,88 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h4>I Fire preequalized and postequalized on medium-up and also after _pauseEvents</h4>
+    </div>
+    <div class="row" data-equalizer data-equalize-on-stack="false" data-equalize-on="medium" id="equalizer1">
+      <div class="small-12 medium-3 columns">
+        <div class="callout">
+          <div class="callout" data-equalizer-watch>Test</div>
+        </div>
+      </div>
+      <div class="small-12 medium-3 columns">
+        <div class="callout">
+          <div class="callout" data-equalizer-watch>Test</div>
+        </div>
+      </div>
+      <div class="small-12 medium-3 columns">
+        <div class="callout">
+          <div class="callout" data-equalizer-watch>Test</div>
+        </div>
+      </div>
+      <div class="small-12 medium-3 columns">
+        <div class="callout">
+          <div class="callout" data-equalizer-watch>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fuga officia iste ut distinctio magni accusantium, optio ipsa at cupiditate sequi!</div>
+        </div>
+      </div>
+    </div>
+    <div class="row column">
+      <h4>I Fire preequalized, preequalizedrow, postequalizedrow, postequalized, resizeme</h4>
+    </div>
+    <div class="row" data-equalizer data-equalize-by-row="true" id="equalizer2">
+      <div class="small-12 medium-6 columns">
+        <div class="callout">
+          <div class="callout" data-equalizer-watch>Test</div>
+        </div>
+      </div>
+      <div class="small-12 medium-6 columns">
+        <div class="callout">
+          <div class="callout" data-equalizer-watch>Test</div>
+        </div>
+      </div>
+      <div class="small-12 medium-6 columns">
+        <div class="callout">
+          <div class="callout" data-equalizer-watch>Test</div>
+        </div>
+      </div>
+      <div class="small-12 medium-6 columns">
+        <div class="callout">
+          <div class="callout" data-equalizer-watch>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Libero dolore inventore quibusdam deleniti a ipsa laborum, illo, soluta quas velit?</div>
+        </div>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $('[data-equalizer]').on('preequalized.zf.equalizer',function(e){
+        console.log($(this).attr('id')+' '+e.type);
+      });
+
+      $('[data-equalizer]').on('preequalizedrow.zf.equalizer',function(e){
+        console.log($(this).attr('id')+' '+e.type);
+      });
+
+      $('[data-equalizer]').on('postequalizedrow.zf.equalizer',function(e){
+        console.log($(this).attr('id')+' '+e.type);
+      });
+
+      $('[data-equalizer]').on('postequalized.zf.equalizer',function(e){
+        console.log($(this).attr('id')+' '+e.type);
+      });
+
+      $('[data-equalizer]').on('resizeme.zf.trigger',function(e){
+        console.log($(this).attr('id')+' '+e.type);
+      });
+
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/flex-grid/column-row.html b/libraries/foundation-6/test/visual/flex-grid/column-row.html
new file mode 100755
index 00000000..2ff657e0
--- /dev/null
+++ b/libraries/foundation-6/test/visual/flex-grid/column-row.html
@@ -0,0 +1,26 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation-flex.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <style>.row.column {border: 1px solid #333;}</style>
+      <h1>Flex Grid: Column Row</h1>
+
+      <p>This text is inside a combined column/row.</p>
+
+      <p>An element with the classes <code>.row</code> and <code>.column</code> should have <code>display: block</code> and not <code>display: flex</code>, so the elements inside flow normally.</p>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/flex-grid/nesting.html b/libraries/foundation-6/test/visual/flex-grid/nesting.html
new file mode 100755
index 00000000..e5992db2
--- /dev/null
+++ b/libraries/foundation-6/test/visual/flex-grid/nesting.html
@@ -0,0 +1,44 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation-flex.css" rel="stylesheet" />
+    <style>
+      .test-1 {
+        border: 1px solid #333;
+      }
+
+      .test-2 {
+        background: #ccc;
+      }
+    </style>
+  </head>
+  <body>
+    <div class="row">
+      <div class="column">
+        <h1>Flex Grid: Nesting</h1>
+
+        <p>These are two nested grids. They should both fill the width of the window.</p>
+      </div>
+    </div>
+
+    <div class="row expanded test-1">
+      <div class="column">
+        <div class="row test-2">
+          <div class="column">
+            <p>This is a grid.</p>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/flex-grid/unstack-block-grid.html b/libraries/foundation-6/test/visual/flex-grid/unstack-block-grid.html
new file mode 100755
index 00000000..dfcf9134
--- /dev/null
+++ b/libraries/foundation-6/test/visual/flex-grid/unstack-block-grid.html
@@ -0,0 +1,49 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation-flex.css" rel="stylesheet" />
+    <style>
+      .column .column {
+        background: #eee;
+      }
+      .column .column .column {
+        background: #ddd;
+      }
+    </style>
+  </head>
+  <body>
+    <div class="row">
+      <div class="column">
+        <h1>Flex Grid: Unstack and Block Grid</h1>
+
+        <p>The top-level row has the class <code>.medium-unstack</code>, which means child columns stack on small, and sit side-by-side on medium screens and up.</p>
+
+        <p>The nested row has the class <code>.up-3</code>, which means its columns are 33% width no matter the screen size.</p>
+
+        <p>These two features should not interact. The two top-level columns always stack on small, and the three nested columns always stay the exact same percentage width.</p>
+
+        <div class="row medium-unstack">
+          <div class="column">
+            <strong>Column One</strong>
+            <div class="row up-3">
+              <div class="column">Block Grid Column One</div>
+              <div class="column">Block Grid Column Two</div>
+              <div class="column">Block Grid Column Three</div>
+            </div>
+          </div>
+          <div class="column"><strong>Column Two</strong></div>
+        </div>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/grid/nesting.html b/libraries/foundation-6/test/visual/grid/nesting.html
new file mode 100755
index 00000000..9bf55881
--- /dev/null
+++ b/libraries/foundation-6/test/visual/grid/nesting.html
@@ -0,0 +1,44 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+    <style>
+      .test-1 {
+        background: red;
+      }
+
+      .test-2 {
+        background: #ccc;
+      }
+    </style>
+  </head>
+  <body>
+    <div class="row">
+      <div class="column">
+        <h1>Flex Grid: Nesting</h1>
+
+        <p>These are two nested grids. They should both fill the width of the window.</p>
+      </div>
+    </div>
+
+    <div class="row expanded test-1">
+      <div class="column">
+        <div class="row expanded test-2">
+          <div class="column">
+            <p>This is a grid.</p>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/orbit/touch.html b/libraries/foundation-6/test/visual/orbit/touch.html
new file mode 100755
index 00000000..aabe82a7
--- /dev/null
+++ b/libraries/foundation-6/test/visual/orbit/touch.html
@@ -0,0 +1,63 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+    <style>
+      .orbit-slide {
+        padding: 1rem;
+      }
+    </style>
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Orbit: Touch Support</h1>
+
+      <p>Swiping left and right should change the current slide. Swiping up and down to scroll the page should not be disrupted.</p>
+
+      <p>This content is here to make the page longer. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid facere architecto fugit voluptates, inventore est cum nihil vel dicta assumenda, illum. Ipsum non saepe similique repellat, enim blanditiis fuga eveniet.</p>
+
+      <div class="orbit" role="region" aria-label="Favorite Space Pictures" data-orbit data-use-m-u-i="false">
+        <ul class="orbit-container">
+          <button class="orbit-previous"><span class="show-for-sr">Previous Slide</span>&#9664;&#xFE0E;</button>
+          <button class="orbit-next"><span class="show-for-sr">Next Slide</span>&#9654;&#xFE0E;</button>
+          <li class="is-active orbit-slide" style="background: #eee;">
+            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Totam minima amet cupiditate pariatur doloribus, quo repudiandae facere odio ipsam laborum nihil, voluptate itaque perspiciatis dolorem aut nostrum! Autem, exercitationem, nesciunt!</p>
+          </li>
+          <li class="orbit-slide" style="background: #ddd;">
+            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Totam minima amet cupiditate pariatur doloribus, quo repudiandae facere odio ipsam laborum nihil, voluptate itaque perspiciatis dolorem aut nostrum! Autem, exercitationem, nesciunt!</p>
+          </li>
+          <li class="orbit-slide" style="background: #ccc;">
+            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Totam minima amet cupiditate pariatur doloribus, quo repudiandae facere odio ipsam laborum nihil, voluptate itaque perspiciatis dolorem aut nostrum! Autem, exercitationem, nesciunt!</p>
+          </li>
+          <li class="orbit-slide" style="background: #999;">
+            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Totam minima amet cupiditate pariatur doloribus, quo repudiandae facere odio ipsam laborum nihil, voluptate itaque perspiciatis dolorem aut nostrum! Autem, exercitationem, nesciunt!</p>
+          </li>
+        </ul>
+        <nav class="orbit-bullets">
+          <button class="is-active" data-slide="0"><span class="show-for-sr">First slide details.</span><span class="show-for-sr">Current Slide</span></button>
+          <button data-slide="1"><span class="show-for-sr">Second slide details.</span></button>
+          <button data-slide="2"><span class="show-for-sr">Third slide details.</span></button>
+          <button data-slide="3"><span class="show-for-sr">Fourth slide details.</span></button>
+        </nav>
+      </div>
+
+      <p>This content is here to make the page longer. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid facere architecto fugit voluptates, inventore est cum nihil vel dicta assumenda, illum. Ipsum non saepe similique repellat, enim blanditiis fuga eveniet.</p>
+
+      <p>This content is here to make the page longer. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid facere architecto fugit voluptates, inventore est cum nihil vel dicta assumenda, illum. Ipsum non saepe similique repellat, enim blanditiis fuga eveniet.</p>
+
+      <p>This content is here to make the page longer. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid facere architecto fugit voluptates, inventore est cum nihil vel dicta assumenda, illum. Ipsum non saepe similique repellat, enim blanditiis fuga eveniet.</p>
+      
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/responsive-menu/dropdown-on-right-middle.html b/libraries/foundation-6/test/visual/responsive-menu/dropdown-on-right-middle.html
new file mode 100755
index 00000000..ff5304f8
--- /dev/null
+++ b/libraries/foundation-6/test/visual/responsive-menu/dropdown-on-right-middle.html
@@ -0,0 +1,115 @@
+<html>
+
+<head>
+  <link href="http://cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.css" rel="stylesheet">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <link href="../assets/css/foundation.css" rel="stylesheet" />
+
+  <style>
+
+
+  </style>
+</head>
+
+<body>
+  <div class="title-bar" data-responsive-toggle="main-menu" data-hide-for="medium">
+    <button class="menu-icon" type="button" data-toggle></button>
+    <div class="title-bar-title">Menu</div>
+  </div>
+
+  <div class="top-bar" id="main-menu">
+    <div class="top-bar-left">
+      <ul class="menu vertical medium-horizontal" data-responsive-menu="drilldown medium-dropdown">
+        <li class="has-submenu">
+          <a href="#">One</a>
+          <ul class="submenu menu vertical" data-submenu>
+            <li><a href="#">One</a></li>
+            <li><a href="#">Two</a></li>
+            <li>
+              <a href="#">Three</a>
+              <ul class="submenu menu vertical" data-submenu>
+                <li><a href="#">One</a></li>
+                <li><a href="#">Two</a></li>
+                <li><a href="#">Three</a></li>
+              </ul>
+            </li>
+          </ul>
+        </li>
+        <li><a href="#">Two</a></li>
+        <li><a href="#">Three</a></li>
+      </ul>
+    </div>
+    <div class="top-bar-right">
+      <ul class="menu vertical medium-horizontal" data-responsive-menu="drilldown medium-dropdown">
+        <li class="has-submenu">
+          <a href="#">One</a>
+          <ul class="submenu menu vertical" data-submenu>
+            <li><a href="#">One</a></li>
+            <li><a href="#">Two</a></li>
+            <li>
+              <a href="#">Three</a>
+              <ul class="submenu menu vertical" data-submenu>
+                <li><a href="#">One</a></li>
+                <li><a href="#">Two</a></li>
+                <li><a href="#">Three</a></li>
+              </ul>
+            </li>
+          </ul>
+        </li>
+        <li class="has-submenu opens-left">
+          <a href="#">Broken?</a>
+          <ul class="submenu menu vertical" data-submenu>
+            <li><a href="#">One</a></li>
+            <li><a href="#">Two</a></li>
+            <li>
+              <a href="#">Three</a>
+              <ul class="submenu menu vertical" data-submenu>
+                <li><a href="#">One</a></li>
+                <li><a href="#">Two</a></li>
+                <li><a href="#">Three</a></li>
+              </ul>
+            </li>
+          </ul>
+        </li>
+        <li class="has-submenu">
+          <a href="#">Two</a>
+          <ul class="submenu menu vertical" data-submenu>
+            <li><a href="#">One</a></li>
+            <li><a href="#">Two</a></li>
+            <li>
+              <a href="#">Three</a>
+              <ul class="submenu menu vertical" data-submenu>
+                <li><a href="#">One</a></li>
+                <li><a href="#">Two</a></li>
+                <li><a href="#">Three</a></li>
+              </ul>
+            </li>
+          </ul>
+        </li>
+        <li><a href="#">Three</a></li>
+      </ul>
+    </div>
+  </div>
+
+  <p>Hover on Broken</p>
+  <p>Dropdown should open towards left and not off screen.</p>
+
+  <ul>
+    <li>The dropdowns should open underneath the parent element.</li>
+    <li>On the right side, the dropdown's right side should be aligned to the right of the parent element.</li>
+    <li>On the left side, the dropdown's left side should be aligned to the left of the parent element.</li>
+    <li>On the right side, submenu dropdowns should be aligned to left-top of the parent element and open toward the middle.</li>
+    <li>On the left side, submenu dropdowns should be aligned to right-top of the parent element and open toward the middle.</li>
+    <li>Dropdown parent element arrows should point down.</li>
+    <br>
+    <li>On mobile, the arrows to access submenu should be at the left of the dropdown.</li>
+  </ul>
+
+  <script src="../assets/js/vendor.js"></script>
+  <script src="../assets/js/foundation.js"></script>
+  <script>
+    $(document).foundation();
+  </script>
+</body>
+</html>
diff --git a/libraries/foundation-6/test/visual/responsive-menu/re-init.html b/libraries/foundation-6/test/visual/responsive-menu/re-init.html
new file mode 100755
index 00000000..6e3a4069
--- /dev/null
+++ b/libraries/foundation-6/test/visual/responsive-menu/re-init.html
@@ -0,0 +1,57 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Responsive Menu: reInit</h1>
+
+      <ul id="menu" class="vertical menu" data-responsive-menu="drilldown medium-dropdown" style="width: 300px;">
+        <li>
+          <a href="#">Item 1</a>
+          <ul class="vertical menu">
+            <li>
+              <a href="#">Item 1A</a>
+              <ul class="vertical menu">
+                <li><a href="#">Item 1A</a></li>
+                <li><a href="#">Item 1B</a></li>
+                <li><a href="#">Item 1C</a></li>
+                <li><a href="#">Item 1D</a></li>
+                <li><a href="#">Item 1E</a></li>
+              </ul>
+            </li>
+            <li><a href="#">Item 1B</a></li>
+          </ul>
+        </li>
+        <li>
+          <a href="#">Item 2</a>
+          <ul class="vertical menu">
+            <li><a href="#">Item 2A</a></li>
+            <li><a href="#">Item 2B</a></li>
+          </ul>
+        </li>
+        <li>
+          <a href="#">Item 3</a>
+          <ul class="vertical menu">
+            <li><a href="#">Item 3A</a></li>
+            <li><a href="#">Item 3B</a></li>
+          </ul>
+        </li>
+      </ul>
+      <p>This test is verifying that if you init a responsive menu twice, it still works (there was a bug around that).  This is done in the setup, so if the menu is working at all, this is a pass.
+      </p>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+      $('#menu').foundation('_init');
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/responsive-menu/responsive-menu-left-dropdown.html b/libraries/foundation-6/test/visual/responsive-menu/responsive-menu-left-dropdown.html
new file mode 100755
index 00000000..1ec3c6da
--- /dev/null
+++ b/libraries/foundation-6/test/visual/responsive-menu/responsive-menu-left-dropdown.html
@@ -0,0 +1,84 @@
+<html>
+
+<head>
+  <link href="http://cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.css" rel="stylesheet">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <link href="../assets/css/foundation.css" rel="stylesheet" />
+
+  <style>
+
+
+  </style>
+</head>
+
+<body>
+  <div class="title-bar" data-responsive-toggle="main-menu" data-hide-for="medium">
+    <button class="menu-icon" type="button" data-toggle></button>
+    <div class="title-bar-title">Menu</div>
+  </div>
+
+  <div class="top-bar" id="main-menu">
+    <div class="top-bar-left">
+
+      <ul class="menu vertical medium-horizontal" data-responsive-menu="drilldown medium-dropdown">
+        <li><a href="#">One</a></li>
+        <li><a href="#">Two</a></li>
+        <li class="has-submenu">
+          <a href="#">Three</a>
+          <ul class="submenu menu vertical" data-submenu>
+            <li><a href="#">One</a></li>
+            <li><a href="#">Two</a></li>
+            <li>
+              <a href="#">Three</a>
+              <ul class="submenu menu vertical align-left" data-submenu>
+                <li><a href="#">One</a></li>
+                <li><a href="#">Two</a></li>
+                <li>
+                    <a href="#">Three</a>
+                    <ul class="submenu menu vertical align-left" data-submenu>
+                      <li><a href="#">One</a></li>
+                      <li><a href="#">Two</a></li>
+                      <li>
+                        <a href="#">Three</a>
+                        <ul class="submenu menu vertical align-left" data-submenu>
+                          <li><a href="#">One</a></li>
+                          <li><a href="#">Two</a></li>
+                          <li><a href="#">Three</a></li>
+                        </ul>
+                      </li>
+                    </ul>
+                  </li>
+                </ul>
+              </ul>
+            </li>
+          </ul>
+        </li>
+      </ul>
+
+    </div>
+    <div class="top-bar-right">
+
+    </div>
+  </div>
+
+  <p>Horizontal menu on medium and up. Multiple dropdowns on the far right and left of the viewport. Drilldowns on small screens.</p>
+
+  <ul>
+    <li>The dropdowns should open underneath the parent element.</li>
+    <li>On the right side, the dropdown's right side should be aligned to the right of the parent element.</li>
+    <li>On the left side, the dropdown's left side should be aligned to the left of the parent element.</li>
+    <li>On the right side, submenu dropdowns should be aligned to left-top of the parent element and open toward the middle.</li>
+    <li>On the left side, submenu dropdowns should be aligned to right-top of the parent element and open toward the middle.</li>
+    <li>Dropdown parent element arrows should point down.</li>
+    <br>
+    <li>On mobile, the arrows to access submenu should be at the left of the dropdown.</li>
+  </ul>
+
+  <script src="../assets/js/vendor.js"></script>
+  <script src="../assets/js/foundation.js"></script>
+  <script>
+    $(document).foundation();
+  </script>
+</body>
+</html>
diff --git a/libraries/foundation-6/test/visual/responsive-menu/responsive-menu-right-dropdown.html b/libraries/foundation-6/test/visual/responsive-menu/responsive-menu-right-dropdown.html
new file mode 100755
index 00000000..e060bfd0
--- /dev/null
+++ b/libraries/foundation-6/test/visual/responsive-menu/responsive-menu-right-dropdown.html
@@ -0,0 +1,85 @@
+<html>
+
+<head>
+  <link href="http://cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.css" rel="stylesheet">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <link href="../assets/css/foundation.css" rel="stylesheet" />
+
+  <style>
+
+
+  </style>
+</head>
+
+<body>
+  <div class="title-bar" data-responsive-toggle="main-menu" data-hide-for="medium">
+    <button class="menu-icon" type="button" data-toggle></button>
+    <div class="title-bar-title">Menu</div>
+  </div>
+
+  <div class="top-bar" id="main-menu">
+    <div class="top-bar-left">
+      <ul class="menu vertical medium-horizontal" data-responsive-menu="drilldown medium-dropdown">
+        <li class="has-submenu">
+          <a href="#">One</a>
+          <ul class="submenu menu vertical" data-submenu>
+            <li><a href="#">One</a></li>
+            <li><a href="#">Two</a></li>
+            <li>
+              <a href="#">Three</a>
+              <ul class="submenu menu vertical align-left" data-submenu>
+                <li><a href="#">One</a></li>
+                <li><a href="#">Two</a></li>
+                <li><a href="#">Three</a></li>
+              </ul>
+            </li>
+          </ul>
+        </li>
+        <li><a href="#">Two</a></li>
+        <li><a href="#">Three</a></li>
+      </ul>
+    </div>
+    <div class="top-bar-right">
+      <ul class="menu vertical medium-horizontal" data-responsive-menu="drilldown medium-dropdown">
+        <li><a href="#">One</a></li>
+        <li><a href="#">Two</a></li>
+        <li class="has-submenu">
+          <a href="#">Three</a>
+          <ul class="submenu menu vertical" data-submenu>
+            <li><a href="#">One</a></li>
+            <li><a href="#">Two</a></li>
+            <li>
+              <a href="#">Three</a>
+              <ul class="submenu menu vertical align-left" data-submenu>
+                <li><a href="#">One</a></li>
+                <li><a href="#">Two</a></li>
+                <li><a href="#">Three</a></li>
+              </ul>
+            </li>
+          </ul>
+        </li>
+      </ul>
+    </div>
+  </div>
+
+  <p>Horizontal menu on medium and up. Multiple dropdowns on the far right and left of the viewport. Drilldowns on small screens.</p>
+
+  <ul>
+    <li>The dropdowns should open underneath the parent element.</li>
+    <li>On the right side, the dropdown's right side should be aligned to the right of the parent element.</li>
+    <li>On the left side, the dropdown's left side should be aligned to the left of the parent element.</li>
+    <li>On the right side, submenu dropdowns should be aligned to left-top of the parent element and open toward the middle.</li>
+    <li>On the left side, submenu dropdowns should be aligned to right-top of the parent element and open toward the middle.</li>
+    <li>Dropdown parent element arrows should point down.</li>
+    <br>
+    <li>On mobile, the arrows to access submenu should be at the left of the dropdown.</li>
+  </ul>
+
+  <script src="../assets/js/vendor.js"></script>
+  <script src="../assets/js/foundation.js"></script>
+  <script>
+    $(document).foundation();
+  </script>
+</body>
+</html>
diff --git a/libraries/foundation-6/test/visual/responsive-menu/responsive-menu.html b/libraries/foundation-6/test/visual/responsive-menu/responsive-menu.html
new file mode 100755
index 00000000..5184d86a
--- /dev/null
+++ b/libraries/foundation-6/test/visual/responsive-menu/responsive-menu.html
@@ -0,0 +1,54 @@
+<html>
+
+<head>
+  <link href="http://cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.css" rel="stylesheet">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <link href="../assets/css/foundation.css" rel="stylesheet" />
+
+  <style>
+
+    .top-bar {
+      padding: 75px 0;
+    }
+
+  </style>
+</head>
+
+<body>
+  <div class="title-bar" data-responsive-toggle="main-menu" data-hide-for="medium">
+    <button class="menu-icon" type="button" data-toggle></button>
+    <div class="title-bar-title">Menu</div>
+  </div>
+
+  <div class="top-bar" id="main-menu">
+    <div class="top-bar-left">
+      <ul class="dropdown menu" data-dropdown-menu>
+        <li class="menu-text"><strong>Site Title</strong></li>
+      </ul>
+    </div>
+    <div class="top-bar-right">
+      <ul class="menu vertical medium-horizontal" data-responsive-menu="drilldown medium-dropdown">
+        <li class="has-submenu">
+          <a href="#">One</a>
+          <ul class="submenu menu vertical" data-submenu>
+            <li><a href="#">One</a></li>
+            <li><a href="#">Two</a></li>
+            <li><a href="#">Three</a></li>
+          </ul>
+        </li>
+        <li><a href="#">Two</a></li>
+        <li><a href="#">Three</a></li>
+      </ul>
+    </div>
+  </div>
+  <p>
+    Dropdown should show up right under the LI, even if the bar has a bunch of padding.
+  </p>
+  <script src="../assets/js/vendor.js"></script>
+  <script src="../assets/js/foundation.js"></script>
+  <script>
+    $(document).foundation();
+  </script>
+</body>
+</html>
diff --git a/libraries/foundation-6/test/visual/responsive-menu/various-menu-options-flex.html b/libraries/foundation-6/test/visual/responsive-menu/various-menu-options-flex.html
new file mode 100755
index 00000000..1fc44e3a
--- /dev/null
+++ b/libraries/foundation-6/test/visual/responsive-menu/various-menu-options-flex.html
@@ -0,0 +1,146 @@
+<html>
+
+  <head>
+    <link href="http://cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.css" rel="stylesheet">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <link href="../assets/css/foundation-flex.css" rel="stylesheet" />
+
+    <style>
+
+
+    </style>
+  </head>
+
+  <body>
+    <div class="row">
+      <div class="large-12 columns">
+
+        <h2>Responsive Menu:</h2>
+
+        <div class="title-bar" data-responsive-toggle="main-nav" data-hide-for="medium">
+            <button class="menu-icon" type="button" data-toggle></button>
+            <div class="title-bar-title">Menu</div>
+          </div>
+
+          <div id="main-nav">
+            <ul class="menu vertical medium-horizontal" data-responsive-menu="accordion medium-dropdown" >
+              <li>
+              <a href="#">Home</a>
+              </li>
+              <li>
+              <a href="#">About Us</a>
+              <ul class="menu">
+                <li>
+                  <a href="#">What we do</a>
+                </li>
+                <li>
+                  <a href="#">Why we do it</a>
+                </li>
+              </ul>
+              </li>
+              <li>
+              <a href="#">Our Services</a>
+              <ul class="menu">
+                <li>
+                  <a href="#">Service A</a>
+                </li>
+                <li>
+                  <a href="#">Service B</a>
+                </li>
+                <li>
+                  <a href="#">Service B</a>
+                </li>
+              </ul>
+              </li>
+              <li>
+              <a href="#">Contact</a>
+              </li>
+            </ul>
+          </div>
+
+          <hr>
+
+          <h2>Accordion Menu:</h2>
+
+          <ul class="menu vertical" data-accordion-menu>
+            <li>
+            <a href="#">Home</a>
+            </li>
+            <li>
+            <a href="#">About Us</a>
+            <ul class="menu">
+              <li>
+                <a href="#">What we do</a>
+              </li>
+              <li>
+                <a href="#">Why we do it</a>
+              </li>
+            </ul>
+            </li>
+            <li>
+            <a href="#">Our Services</a>
+            <ul class="menu">
+              <li>
+                <a href="#">Service A</a>
+              </li>
+              <li>
+                <a href="#">Service B</a>
+              </li>
+              <li>
+                <a href="#">Service B</a>
+              </li>
+            </ul>
+            </li>
+            <li>
+            <a href="#">Contact</a>
+            </li>
+          </ul>
+
+          <hr>
+
+          <h2>Dropdown Menu:</h2>
+
+          <ul class="menu dropdown" data-dropdown-menu>
+            <li>
+            <a href="#">Home</a>
+            </li>
+            <li>
+            <a href="#">About Us</a>
+            <ul class="menu">
+              <li>
+                <a href="#">What we do</a>
+              </li>
+              <li>
+                <a href="#">Why we do it</a>
+              </li>
+            </ul>
+            </li>
+            <li>
+            <a href="#">Our Services</a>
+            <ul class="menu">
+              <li>
+                <a href="#">Service A</a>
+              </li>
+              <li>
+                <a href="#">Service B</a>
+              </li>
+              <li>
+                <a href="#">Service B</a>
+              </li>
+            </ul>
+            </li>
+            <li>
+            <a href="#">Contact</a>
+            </li>
+          </ul>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/responsive-menu/various-menu-options.html b/libraries/foundation-6/test/visual/responsive-menu/various-menu-options.html
new file mode 100755
index 00000000..3e4373c4
--- /dev/null
+++ b/libraries/foundation-6/test/visual/responsive-menu/various-menu-options.html
@@ -0,0 +1,146 @@
+<html>
+
+  <head>
+    <link href="http://cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.css" rel="stylesheet">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+
+    <style>
+
+
+    </style>
+  </head>
+
+  <body>
+    <div class="row">
+      <div class="large-12 columns">
+
+        <h2>Responsive Menu:</h2>
+
+        <div class="title-bar" data-responsive-toggle="main-nav" data-hide-for="medium">
+            <button class="menu-icon" type="button" data-toggle></button>
+            <div class="title-bar-title">Menu</div>
+          </div>
+
+          <div id="main-nav">
+            <ul class="menu vertical medium-horizontal" data-responsive-menu="accordion medium-dropdown" >
+              <li>
+              <a href="#">Home</a>
+              </li>
+              <li>
+              <a href="#">About Us</a>
+              <ul class="menu">
+                <li>
+                  <a href="#">What we do</a>
+                </li>
+                <li>
+                  <a href="#">Why we do it</a>
+                </li>
+              </ul>
+              </li>
+              <li>
+              <a href="#">Our Services</a>
+              <ul class="menu">
+                <li>
+                  <a href="#">Service A</a>
+                </li>
+                <li>
+                  <a href="#">Service B</a>
+                </li>
+                <li>
+                  <a href="#">Service B</a>
+                </li>
+              </ul>
+              </li>
+              <li>
+              <a href="#">Contact</a>
+              </li>
+            </ul>
+          </div>
+
+          <hr>
+
+          <h2>Accordion Menu:</h2>
+
+          <ul class="menu vertical" data-accordion-menu>
+            <li>
+            <a href="#">Home</a>
+            </li>
+            <li>
+            <a href="#">About Us</a>
+            <ul class="menu">
+              <li>
+                <a href="#">What we do</a>
+              </li>
+              <li>
+                <a href="#">Why we do it</a>
+              </li>
+            </ul>
+            </li>
+            <li>
+            <a href="#">Our Services</a>
+            <ul class="menu">
+              <li>
+                <a href="#">Service A</a>
+              </li>
+              <li>
+                <a href="#">Service B</a>
+              </li>
+              <li>
+                <a href="#">Service B</a>
+              </li>
+            </ul>
+            </li>
+            <li>
+            <a href="#">Contact</a>
+            </li>
+          </ul>
+
+          <hr>
+
+          <h2>Dropdown Menu:</h2>
+
+          <ul class="menu dropdown" data-dropdown-menu>
+            <li>
+            <a href="#">Home</a>
+            </li>
+            <li>
+            <a href="#">About Us</a>
+            <ul class="menu">
+              <li>
+                <a href="#">What we do</a>
+              </li>
+              <li>
+                <a href="#">Why we do it</a>
+              </li>
+            </ul>
+            </li>
+            <li>
+            <a href="#">Our Services</a>
+            <ul class="menu">
+              <li>
+                <a href="#">Service A</a>
+              </li>
+              <li>
+                <a href="#">Service B</a>
+              </li>
+              <li>
+                <a href="#">Service B</a>
+              </li>
+            </ul>
+            </li>
+            <li>
+            <a href="#">Contact</a>
+            </li>
+          </ul>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/reveal/basic.html b/libraries/foundation-6/test/visual/reveal/basic.html
new file mode 100755
index 00000000..317a30ed
--- /dev/null
+++ b/libraries/foundation-6/test/visual/reveal/basic.html
@@ -0,0 +1,83 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../motion-ui/dist/motion-ui.css" rel="stylesheet" />
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Reveal</h1>
+
+      <section>
+        <h2>Basics</h2>
+        <p>A modal should open in the center of the page when either of these links are clicked.</p>
+        <p><a data-open="exampleModal1">Open Trigger</a></p>
+        <p><a data-toggle="exampleModal1">Toggle Trigger</a></p>
+
+        <div class="reveal" id="exampleModal1" data-reveal>
+          <p>Clicking any of these triggers should close the modal.</p>
+          <p>Clicking on the overlay should close the modal.</p>
+          <p><a data-toggle="exampleModal1">Toggle Trigger</a></p>
+          <p><a data-close>Implicit Close Trigger</a></p>
+          <p><a data-close="exampleModal1">Explicit Close Trigger</a></p>
+        </div>
+      </section>
+
+      <section>
+        <h2>Nested</h2>
+        <p>Clicking this link should open the initial modal.</p>
+        <p><a data-open="exampleModal2">Open first modal</a></p>
+
+        <div class="reveal" id="exampleModal2" data-reveal>
+          <p>Clicking this link should replace this modal with a new one.</p>
+          <p><a data-open="exampleModal3">Open second modal</a></p>
+        </div>
+
+        <div class="reveal" id="exampleModal3" data-reveal>
+          <p>Clicking this link should close this modal, but not go back to the first one.</p>
+          <p><a data-close>Close modal</a></p>
+        </div>
+      </section>
+
+      <section>
+        <h2>With Offsets</h2>
+        <p>Clicking this link should open a reveal with offset 50, 50 from top/left</p>
+        <p><a data-open="exampleModal4">Open offset modal</a></p>
+        <div class="reveal" id="exampleModal4" data-reveal data-v-offset="50" data-h-offset="50">
+          <p>Am I in the top left?</p>
+          <p><a data-close>Close modal</a></p>
+        </div>
+        </section>
+
+      <section>
+        <h2>Slower fade in</h2>
+        <p>Clicking this link should open a reveal fading in slow</p>
+        <p><a data-open="exampleModal5">Open offset modal</a></p>
+        <div class="reveal slow" id="exampleModal5" data-reveal data-animation-in="fade-in">
+          <p>Did I open slower?  Did the overlay also open slow?</p>
+          <p><a data-close>Close modal</a></p>
+        </div>
+        </section>
+
+      <section>
+        <h2>Faster fade in</h2>
+        <p>Clicking this link should open a reveal fading in fast</p>
+        <p><a data-open="exampleModal6">Open offset modal</a></p>
+        <div class="reveal fast" id="exampleModal6" data-reveal data-animation-in="fade-in">
+          <p>Did I open faster?  Did the overlay also open fast?</p>
+          <p><a data-close>Close modal</a></p>
+        </div>
+      </section>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/reveal/full-reveal.html b/libraries/foundation-6/test/visual/reveal/full-reveal.html
new file mode 100755
index 00000000..b7cced5d
--- /dev/null
+++ b/libraries/foundation-6/test/visual/reveal/full-reveal.html
@@ -0,0 +1,50 @@
+<!doctype html>
+<html lang="en" class="no-js">
+<head>
+  <meta charset="UTF-8">
+  <title>Foundation for Sites Testing</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+  <link href="../assets/css/foundation.css" rel="stylesheet" />
+</head>
+<body>
+
+  <a href="#" data-toggle="contact-modal">Open testcase from http://foundation.zurb.com/forum/posts/38459-f6-reveal-modal-suggestions</a>
+  <p>When the reveal is open, it should scroll but body no</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <p>Scroll</p>
+  <div class="full reveal" id="contact-modal" data-reveal>
+    <p>OH I'M SO FUUUUL</p>
+    <img src="http://placekitten.com/1920/1280" alt="Intropsective Cage">
+    <button class="close-button" data-close aria-label="Close reveal" type="button">
+      <span aria-hidden="true">&times;</span>
+    </button>
+  </div>
+
+  <script src="../assets/js/vendor.js"></script>
+  <script src="../assets/js/foundation.js"></script>
+  <script>
+    $(document).foundation();
+  </script>
+</body>
+</html>
diff --git a/libraries/foundation-6/test/visual/reveal/long-page-with-add-this.html b/libraries/foundation-6/test/visual/reveal/long-page-with-add-this.html
new file mode 100755
index 00000000..7f829229
--- /dev/null
+++ b/libraries/foundation-6/test/visual/reveal/long-page-with-add-this.html
@@ -0,0 +1,50 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <h1>Page with Scrollbar</h1>
+    <p><a data-open="exampleModal1">Click me for a modal</a></p>
+    <p>Reveal modal should open in middle of browser window</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <div class="reveal" id="exampleModal1" data-reveal>
+      <h1>Awesome. I Have It.</h1>
+      <p class="lead">Your couch. It is mine.</p>
+      <p>I'm a cool paragraph that lives inside of an even cooler modal. Wins!</p>
+      <button class="close-button" data-close aria-label="Close modal" type="button">
+        <span aria-hidden="true">&times;</span>
+      </button>
+    </div>
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <!-- Go to www.addthis.com/dashboard to customize your tools -->
+    <script type="text/javascript" src="http://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-56cc8409b0b49c6f"></script>
+
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/reveal/long-page.html b/libraries/foundation-6/test/visual/reveal/long-page.html
new file mode 100755
index 00000000..afe3502e
--- /dev/null
+++ b/libraries/foundation-6/test/visual/reveal/long-page.html
@@ -0,0 +1,47 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <h1>Page with Scrollbar</h1>
+    <p><a data-open="exampleModal1">Click me for a modal</a></p>
+    <p>Reveal modal should open in middle of browser window</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+    <div class="reveal" id="exampleModal1" data-reveal>
+      <h1>Awesome. I Have It.</h1>
+      <p class="lead">Your couch. It is mine.</p>
+      <p>I'm a cool paragraph that lives inside of an even cooler modal. Wins!</p>
+      <button class="close-button" data-close aria-label="Close modal" type="button">
+        <span aria-hidden="true">&times;</span>
+      </button>
+    </div>
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/reveal/reveal-callout.html b/libraries/foundation-6/test/visual/reveal/reveal-callout.html
new file mode 100755
index 00000000..c6bba947
--- /dev/null
+++ b/libraries/foundation-6/test/visual/reveal/reveal-callout.html
@@ -0,0 +1,44 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Reveal</h1>
+
+      <section>
+        <h2>Callout inside Reveal</h2>
+        <p>Test if a callout inside a Reveal can be closed without closing the Reveal aswell.</p>
+        <div class="reveal" id="exampleModal1" data-reveal>
+          <h2>Closeable callout in reveal bug</h2>
+          <p>When you close the callout, the reveal is closed too, which shouldn't!</p>
+
+          <div class="callout alert" data-closable>
+            <p>Close me now!</p>
+            <button class="close-button" aria-label="Dismiss alert" type="button" data-close>
+              <span aria-hidden="true">&times;</span>
+            </button>
+          </div>
+
+          <button class="close-button" data-close aria-label="Close reveal" type="button">
+            <span aria-hidden="true">&times;</span>
+          </button>
+        </div>
+
+        <p><a data-open="exampleModal1">Click me for a modal</a></p>
+      </section>
+
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/reveal/reveal-test-data-options.html b/libraries/foundation-6/test/visual/reveal/reveal-test-data-options.html
new file mode 100755
index 00000000..663b1944
--- /dev/null
+++ b/libraries/foundation-6/test/visual/reveal/reveal-test-data-options.html
@@ -0,0 +1,66 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+
+<p><a data-open="exampleModal1">Modal at the top of screen</a></p>
+
+<div class="reveal" id="exampleModal1" data-reveal data-v-offset="0">
+  <h1>Awesome. I Have It.</h1>
+  <p class="lead">Your couch. It is mine.</p>
+  <p>I'm a cool paragraph that lives inside of an even cooler modal. Wins!</p>
+  <button class="close-button" data-close aria-label="Close modal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+
+<p><a data-open="exampleModal2">Modal 600px from top</a></p>
+
+<div class="reveal" id="exampleModal2" data-reveal data-v-offset="600">
+  <h1>Awesome. I Have It.</h1>
+  <p class="lead">Your couch. It is mine.</p>
+  <p>I'm a cool paragraph that lives inside of an even cooler modal. Wins!</p>
+  <button class="close-button" data-close aria-label="Close modal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+
+
+<p><a data-open="exampleModal3">Modal 600px from side</a></p>
+
+<div class="reveal" id="exampleModal3" data-reveal data-h-offset="600">
+  <h1>Awesome. I Have It.</h1>
+  <p class="lead">Your couch. It is mine.</p>
+  <p>I'm a cool paragraph that lives inside of an even cooler modal. Wins!</p>
+  <button class="close-button" data-close aria-label="Close modal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+
+<p><a data-open="exampleModal4">Modal closes by hitting esc</a></p>
+
+<div class="reveal" id="exampleModal4" data-reveal data-close-on-esc="true">
+  <h1>Awesome. I Have It.</h1>
+  <p class="lead">Your couch. It is mine.</p>
+  <p>I'm a cool paragraph that lives inside of an even cooler modal. Wins!</p>
+  <button class="close-button" data-close aria-label="Close modal" type="button">
+    <span aria-hidden="true">&times;</span>
+  </button>
+</div>
+
+
+
+
+ <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/reveal/tall.html b/libraries/foundation-6/test/visual/reveal/tall.html
new file mode 100755
index 00000000..75917c32
--- /dev/null
+++ b/libraries/foundation-6/test/visual/reveal/tall.html
@@ -0,0 +1,63 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+    <style>
+      .close-button.fixed {
+        position: fixed;
+        color: #fff;
+      }
+    </style>
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Reveal: Tall Modal</h1>
+
+      <p>This tall modal scrolls within the the modal overlay.</p>
+
+      <p><a data-toggle="exampleModal1">Toggle Trigger</a></p>
+
+      <div class="reveal" id="exampleModal1" data-reveal>
+        <button class="close-button" aria-label="Close alert" type="button" data-close>
+          <span aria-hidden="true">&times;</span>
+        </button>
+
+        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad alias commodi minus repellat atque optio sit soluta assumenda labore inventore corporis non laboriosam veniam nisi, ut, obcaecati dolorum. Incidunt, pariatur. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet reiciendis in maiores aliquid repellendus vero recusandae corporis ipsam, id placeat suscipit laboriosam, necessitatibus et neque ducimus. Harum quis sequi, expedita. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut quam perspiciatis harum, cum. Esse maxime repellendus illum voluptate, quae voluptates quibusdam rem ab quasi perspiciatis. Numquam porro alias cumque saepe!</p>
+
+        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad alias commodi minus repellat atque optio sit soluta assumenda labore inventore corporis non laboriosam veniam nisi, ut, obcaecati dolorum. Incidunt, pariatur. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet reiciendis in maiores aliquid repellendus vero recusandae corporis ipsam, id placeat suscipit laboriosam, necessitatibus et neque ducimus. Harum quis sequi, expedita. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut quam perspiciatis harum, cum. Esse maxime repellendus illum voluptate, quae voluptates quibusdam rem ab quasi perspiciatis. Numquam porro alias cumque saepe!</p>
+
+        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad alias commodi minus repellat atque optio sit soluta assumenda labore inventore corporis non laboriosam veniam nisi, ut, obcaecati dolorum. Incidunt, pariatur. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet reiciendis in maiores aliquid repellendus vero recusandae corporis ipsam, id placeat suscipit laboriosam, necessitatibus et neque ducimus. Harum quis sequi, expedita. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut quam perspiciatis harum, cum. Esse maxime repellendus illum voluptate, quae voluptates quibusdam rem ab quasi perspiciatis. Numquam porro alias cumque saepe!</p>
+
+        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad alias commodi minus repellat atque optio sit soluta assumenda labore inventore corporis non laboriosam veniam nisi, ut, obcaecati dolorum. Incidunt, pariatur. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet reiciendis in maiores aliquid repellendus vero recusandae corporis ipsam, id placeat suscipit laboriosam, necessitatibus et neque ducimus. Harum quis sequi, expedita. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut quam perspiciatis harum, cum. Esse maxime repellendus illum voluptate, quae voluptates quibusdam rem ab quasi perspiciatis. Numquam porro alias cumque saepe!</p>
+      </div>
+
+      <p>This tall modal has a fixed-position close button, that sits over the overlay.</p>
+
+      <p><a data-toggle="exampleModal2">Toggle Trigger</a></p>
+
+      <div class="reveal" id="exampleModal2" data-reveal>
+        <button class="close-button fixed" aria-label="Close alert" type="button" data-close>
+          <span aria-hidden="true">&times;</span>
+        </button>
+
+        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad alias commodi minus repellat atque optio sit soluta assumenda labore inventore corporis non laboriosam veniam nisi, ut, obcaecati dolorum. Incidunt, pariatur. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet reiciendis in maiores aliquid repellendus vero recusandae corporis ipsam, id placeat suscipit laboriosam, necessitatibus et neque ducimus. Harum quis sequi, expedita. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut quam perspiciatis harum, cum. Esse maxime repellendus illum voluptate, quae voluptates quibusdam rem ab quasi perspiciatis. Numquam porro alias cumque saepe!</p>
+
+        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad alias commodi minus repellat atque optio sit soluta assumenda labore inventore corporis non laboriosam veniam nisi, ut, obcaecati dolorum. Incidunt, pariatur. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet reiciendis in maiores aliquid repellendus vero recusandae corporis ipsam, id placeat suscipit laboriosam, necessitatibus et neque ducimus. Harum quis sequi, expedita. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut quam perspiciatis harum, cum. Esse maxime repellendus illum voluptate, quae voluptates quibusdam rem ab quasi perspiciatis. Numquam porro alias cumque saepe!</p>
+
+        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad alias commodi minus repellat atque optio sit soluta assumenda labore inventore corporis non laboriosam veniam nisi, ut, obcaecati dolorum. Incidunt, pariatur. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet reiciendis in maiores aliquid repellendus vero recusandae corporis ipsam, id placeat suscipit laboriosam, necessitatibus et neque ducimus. Harum quis sequi, expedita. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut quam perspiciatis harum, cum. Esse maxime repellendus illum voluptate, quae voluptates quibusdam rem ab quasi perspiciatis. Numquam porro alias cumque saepe!</p>
+
+        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad alias commodi minus repellat atque optio sit soluta assumenda labore inventore corporis non laboriosam veniam nisi, ut, obcaecati dolorum. Incidunt, pariatur. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet reiciendis in maiores aliquid repellendus vero recusandae corporis ipsam, id placeat suscipit laboriosam, necessitatibus et neque ducimus. Harum quis sequi, expedita. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut quam perspiciatis harum, cum. Esse maxime repellendus illum voluptate, quae voluptates quibusdam rem ab quasi perspiciatis. Numquam porro alias cumque saepe!</p>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/slider/nonzero-start.html b/libraries/foundation-6/test/visual/slider/nonzero-start.html
new file mode 100755
index 00000000..73c1c22f
--- /dev/null
+++ b/libraries/foundation-6/test/visual/slider/nonzero-start.html
@@ -0,0 +1,45 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Slider: Non-zero Start Value</h1>
+
+      <p>Slider should be at left, since the initialStart is 50 and the scale is 50-100. (top: broken, bottom: expected)</p>
+
+      <div class="slider" id="slider1" data-slider
+           data-initial-start="50"
+           data-start="50" data-end="100">
+        <span class="slider-handle" data-slider-handle role="slider" tabindex="1"></span>
+        <span class="slider-fill" data-slider-fill></span>
+        <input type="hidden">
+      </div>
+
+      <hr>
+
+      <p>Slider should cover 100%, since the initialStart is 50 and the scale is 50-100 (top: broken, bottom: expected)</p>
+      <div class="slider" id="slider2" data-slider
+           data-double-sided
+           data-initial-start="50" data-initial-end="100"
+           data-start="50" data-end="100">
+        <span class="slider-handle" data-slider-handle role="slider" tabindex="1"></span>
+        <span class="slider-fill" data-slider-fill></span>
+        <span class="slider-handle" data-slider-handle role="slider" tabindex="1"></span>
+        <input type="hidden">
+        <input type="hidden">
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/sticky/accordions-with-anchors.html b/libraries/foundation-6/test/visual/sticky/accordions-with-anchors.html
new file mode 100755
index 00000000..82283d66
--- /dev/null
+++ b/libraries/foundation-6/test/visual/sticky/accordions-with-anchors.html
@@ -0,0 +1,182 @@
+<!doctype html>
+<html lang="en" class="no-js">
+<head>
+  <meta charset="UTF-8">
+  <title>Foundation for Sites Testing</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+  <link href="../assets/css/foundation.css" rel="stylesheet" />
+  
+  <style>
+
+    .container {
+      background-color: rgba(255,0,0,0.7);
+
+    }
+    
+    .fail {
+      color: red;
+      font-weight: bold;
+      text-transform: uppercase;
+    }
+
+    .foo {
+      height: 35rem;
+      color: white;
+    }
+
+    .megafoo {
+      height:50rem;
+      color: white;
+    }
+
+    .bar {
+      color: white;
+    }
+
+    .foo h1 {
+      float: right;
+    }
+
+    .foo:nth-child(odd), .bar:nth-child(odd), .megafoo:nth-child(odd) {
+      background-color: lightgreen;
+    }
+
+    .foo:nth-child(even), .bar:nth-child(even), .megafoo:nth-child(even) {
+      background-color: lightblue;
+    }
+
+    .test-container {
+      background-color: darkgrey;
+    }
+
+  </style>
+
+</head>
+<body>
+
+  <div class="row">
+    <div class="small-12 medium-8 medium-centered columns">
+      <h1 class="text-center">Sticky Accordions with Anchors</h1>
+      <hr>
+      <h2>Look For:</h2>
+      <ul>
+        <li><span class="fail">Currently failing</span> Accordion should unstick in the correct place when it reaches its anchor points.</li>
+        <li><span class="fail">Currently failing</span> Sticky should not be effected by height changes to the accordion that are introduced by switching active accordion item.</li>
+        <li><span class="fail">Currently failing</span> You should not see the red background color of the sticky container after scrolling, expanding/collapsing accordion items, or sticking/unsticking the accordion.</li>
+      </ul>
+
+    </div>
+  </div>
+  
+  <div class="row test-container">
+    
+    <div class="small-12 medium-6 columns">
+      <div id="foo1" class="foo">
+        <h1>#foo1</h1>
+      </div>
+      <div id="foo2" class="foo">
+        <div class="row">
+          <div class="small-12 medium-8 columns">
+            <div class="container" data-sticky-container>
+              <div class="sticky" data-sticky data-sticky-on="small" data-margin-top="0" data-anchor="foo2" style="width:100%">
+                <ul class="accordion" data-accordion>
+                  <li class="accordion-item is-active" data-accordion-item>
+                    <a href="#" class="accordion-title">Test Accordion #2</a>
+                    <div class="accordion-content" data-tab-content >
+                      <p>I should stick to the top and bottom of my anchor #foo2</p>
+                      <p>I am a descendant of #foo2</p>
+                    </div>
+                  </li>
+                  <li class="accordion-item" data-accordion-item>
+                    <a href="#" class="accordion-title">Expand &amp; Collapse Me</a>
+                    <div class="accordion-content" data-tab-content>
+                      <textarea></textarea>
+                      <textarea></textarea>
+                      <button class="button">I do nothing!</button>
+                    </div>
+                  </li>
+                  <li class="accordion-item" data-accordion-item>
+                    <a href="#" class="accordion-title">Expand &amp; Collapse Me</a>
+                    <div class="accordion-content" data-tab-content>
+                      Pick a date!
+                      <input type="date">
+                    </div>
+                  </li>
+                </ul>
+              </div>
+            </div>
+          </div>
+          <div class="small-12 medium-4 columns">
+            <h1>#foo2</h1>
+          </div>
+        </div>
+      </div>
+      <div id="foo3" class="foo">
+        <h1>#foo3</h1>
+      </div>
+
+      <div id="foo4" class="foo">
+        <h1>#foo4</h1>
+
+      </div>
+      <div id="foo5" class="foo">
+        <h1>#foo5</h1>
+      </div>
+      <div id="foo6" class="foo">
+        <h1>#foo6</h1>
+      </div>
+      <div id="foo7" class="foo">
+        <h1>#foo7</h1>
+      </div>
+      <div id="foo8" class="foo">
+        <h1>#foo8</h1>
+      </div>
+      <div id="foo9" class="foo">
+        <h1>#foo9</h1>
+      </div>
+      <div id="foo10" class="foo">
+        <h1>#foo10</h1>
+      </div>
+    </div>
+
+    <div class="small-12 medium-6 columns">
+
+      <div class="container" data-sticky-container>
+        <div class="sticky" data-sticky-on="small" data-sticky data-margin-top="0" data-anchor="foo1" style="width:100%">
+          <ul class="accordion" data-accordion>
+            <li class="accordion-item is-active" data-accordion-item>
+              <a href="#" class="accordion-title">Test Accordion #1</a>
+              <div class="accordion-content" data-tab-content >
+                <p>I should stick to the top and bottom of my anchor #foo1</p>
+              </div>
+            </li>
+            <li class="accordion-item" data-accordion-item>
+              <a href="#" class="accordion-title">Expand &amp; Collapse Me</a>
+              <div class="accordion-content" data-tab-content>
+                <textarea></textarea>
+                <textarea></textarea>
+                <button class="button">I do nothing!</button>
+              </div>
+            </li>
+            <li class="accordion-item" data-accordion-item>
+              <a href="#" class="accordion-title">Expand &amp; Collapse Me</a>
+              <div class="accordion-content" data-tab-content>
+                Pick a date!
+                <input type="date">
+              </div>
+            </li>
+          </ul>
+        </div>
+      </div>
+
+    </div>
+
+  </div>
+
+  <script src="../assets/js/vendor.js"></script>
+  <script src="../assets/js/foundation.js"></script>
+  <script>
+    $(document).foundation();
+  </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/libraries/foundation-6/test/visual/sticky/anchors-with-callouts.html b/libraries/foundation-6/test/visual/sticky/anchors-with-callouts.html
new file mode 100755
index 00000000..257dfa3a
--- /dev/null
+++ b/libraries/foundation-6/test/visual/sticky/anchors-with-callouts.html
@@ -0,0 +1,197 @@
+<!doctype html>
+<html lang="en" class="no-js">
+<head>
+  <meta charset="UTF-8">
+  <title>Foundation for Sites Testing</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+  <link href="../assets/css/foundation.css" rel="stylesheet" />
+  <style>
+    body {
+      background-color: darkgrey;
+    }
+
+    .container {
+      background-color: rgba(255,0,0,0.7);
+
+    }
+
+    .foo {
+      height: 30rem;
+      color: white;
+    }
+
+    .megafoo {
+      height:50rem;
+      color: white;
+    }
+
+    .bar {
+      color: white;
+    }
+
+    .foo h1 {
+      display: inline-block;
+      float: right;
+    }
+
+    .foo:nth-child(odd), .bar:nth-child(odd), .megafoo:nth-child(odd) {
+      background-color: lightgreen;
+    }
+
+    .foo:nth-child(even), .bar:nth-child(even), .megafoo:nth-child(even) {
+      background-color: lightblue;
+    }
+
+  </style>
+
+</head>
+<body>
+
+  <div class="row">
+
+    <div class="small-12 medium-2 columns">
+      <div class="container" data-sticky-container>
+        <div class="callout sticky" data-sticky-on="small" data-sticky data-margin-top="0" data-anchor="foo1">
+          <h5>Test 1</h5>
+          <p>I should stick to the top and bottom of #foo1. I'm not a child of any #foo's.</p>
+          <a href="http://foundation.zurb.com/sites/docs/stick.html" class="small button">Go to Sticky Docs</a>
+        </div>
+      </div>
+    </div>
+
+    <div class="small-12 medium-7 columns">
+      <div id="foo1" class="foo">
+        <h1>#foo1</h1>
+      </div>
+      <div id="foo2" class="foo">
+        <h1>#foo2</h1>
+        <div class="container" data-sticky-container>
+          <div class="callout sticky" data-sticky-on="small" data-sticky data-margin-top="0" data-anchor="foo2">
+            <h5>Test 2</h5>
+            <p>I should stick to the top and bottom of #foo2.<br/>I'm also a child of #foo2</p>
+            <a href="http://foundation.zurb.com/sites/docs/stick.html" class="small button">Go to Sticky Docs</a>
+          </div>
+        </div>
+      </div>
+      <div id="foo3" class="foo">
+        <h1>#foo3</h1>
+
+      </div>
+      <div id="foo4" class="foo">
+        <h1>#foo4</h1>
+        <div class="container" data-sticky-container>
+          <div class="callout sticky" data-sticky-on="small" data-sticky data-margin-top="0" data-top-anchor="foo4" data-btm-anchor="foo6">
+            <h5>Test 3</h5>
+            <p>I should stick to the top of #foo4 and the top of #foo6.<br/>I'm a child of #foo4</p>
+            <a href="http://foundation.zurb.com/sites/docs/stick.html" class="small button">Go to Sticky Docs</a>
+          </div>
+        </div>
+      </div>
+      <div id="foo5" class="foo">
+        <h1>#foo5</h1>
+      </div>
+      <div id="foo6" class="foo">
+        <h1>#foo6</h1>
+      </div>
+      <div id="foo7" class="foo">
+        <h1>#foo7</h1>
+        <div class="container" data-sticky-container>
+          <div class="callout sticky" data-sticky data-sticky-on="small" data-margin-top="0" data-top-anchor="foo6" data-btm-anchor="foo8:bottom">
+            <h5>Test 4</h5>
+            <p>I should stick to the top of #foo6 and the bottom of #foo8. I'm a child of #foo7.</p>
+            <a href="http://foundation.zurb.com/sites/docs/stick.html" class="small button">Go to Sticky Docs</a>
+          </div>
+        </div>
+      </div>
+      <div id="foo8" class="foo">
+        <h1>#foo8</h1>
+      </div>
+      <div id="foo9" class="foo">
+        <h1>#foo9</h1>
+      </div>
+      <div id="foo10" class="foo">
+        <h1>#foo10</h1>
+        <div class="container" data-sticky-container>
+          <div class="callout sticky" data-sticky data-sticky-on="small" data-margin-top="0" data-stick-to="bottom" data-top-anchor="foo10" data-btm-anchor="foo11:bottom">
+            <h5>Test 5</h5>
+            <p>I should stick to the top of #foo10 and the bottom of #foo11. I should be stick to the window bottom with a bottom margin of 1em (default bottom margin).</p>
+            <a href="http://foundation.zurb.com/sites/docs/stick.html" class="small button">Go to Sticky Docs</a>
+          </div>
+        </div>
+      </div>
+      <div id="foo11" class="foo">
+        <h1>#foo11</h1>
+      </div>
+      <div id="bar1" class="bar">
+        <h1>#bar1</h1>
+        <div class="container" data-sticky-container>
+          <div class="callout sticky" data-sticky data-sticky-on="small" data-margin-top="0" data-top-anchor="bar2" data-btm-anchor="bar3:bottom">
+            <h5>Test 6</h5>
+            <p>I should stick to the top of #bar2 and the bottom of #bar3.</p>
+            <p>Bar containers does not have fixed height, but i should be anchored correctly.</p>
+            <a href="http://foundation.zurb.com/sites/docs/stick.html" class="small button">Go to Sticky Docs</a>
+          </div>
+        </div>
+        <p>Lorem Ipsum</p>
+      </div>
+      <div id="bar2" class="bar">
+        <h1>#bar2</h1>
+        <p>Lorem</p>
+      </div>
+       <div id="bar3" class="bar">
+        <h1>#bar3</h1>
+        <p>Lorem</p>
+        <p>Ipsum</p>
+        <p>Dolor</p>
+      </div>
+      <div id="bar4" class="bar">
+        <h1>#bar4</h1>
+        <p>Lorem</p>
+        <p>Ipsum</p>
+      </div>
+      <div id="foo13" class="megafoo">
+       <h1>#foo13</h1>
+       <p>I'm big to force scroolbar</p>
+      </div>
+      <div id="foo12" class="foo">
+        <h1>#foo12</h1>
+        <div class="container" data-sticky-container>
+          <div class="callout sticky" data-sticky data-sticky-on="small" data-margin-top="0" data-top-anchor="foo12">
+            <h5>Test 7</h5>
+            <p>I should stick to the top of #foo12. I should be stick until window end because only data-top-anchor is set.</p>
+            <a href="http://foundation.zurb.com/sites/docs/stick.html" class="small button">Go to Sticky Docs</a>
+          </div>
+        </div>
+      </div>
+      <div id="foo13" class="foo">
+        <h1>#foo13</h1>
+      </div>
+      <div id="foo14" class="foo">
+        <h1>#foo14</h1>
+      </div>
+      <div id="foo15" class="megafoo">
+        <h1>#foo15</h1>
+        <p>I'm big to force scroolbar</p>
+      </div>
+
+
+    </div>
+
+    <div class="small-12 medium-3 columns">
+      <div class="container" data-sticky-container>
+        <div class="callout sticky" data-sticky data-sticky-on="small" data-margin-top="0" data-anchor="foo3">
+          <h5>Test 8</h5>
+          <p>I should stick to the top and bottom of #foo3.<br/>I'm not the child of any of you #foo's.<br/>When I'm not stuck I jump to the top because I'm not a child of the top anchor, is this my normal behavior?</p>
+          <a href="http://foundation.zurb.com/sites/docs/stick.html" class="small button">Go to Sticky Docs</a>
+        </div>
+      </div>
+    </div>
+  </div>
+
+  <script src="../assets/js/vendor.js"></script>
+  <script src="../assets/js/foundation.js"></script>
+  <script>
+    $(document).foundation();
+  </script>
+</body>
+</html>
diff --git a/libraries/foundation-6/test/visual/sticky/height-transition.html b/libraries/foundation-6/test/visual/sticky/height-transition.html
new file mode 100755
index 00000000..c150ccf6
--- /dev/null
+++ b/libraries/foundation-6/test/visual/sticky/height-transition.html
@@ -0,0 +1,161 @@
+<!doctype html>
+<html lang="en" class="no-js">
+<head>
+  <meta charset="UTF-8">
+  <title>Foundation for Sites Testing</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+  <link href="../assets/css/foundation.css" rel="stylesheet" />
+  <style>
+    .sticky-container {
+      background-color: #f00;
+      transition: height .5s ease;
+    }
+   .title-bar {
+      width: 100%;
+      z-index: 10;
+      transition: height .5s ease;
+      height: 100px;
+    }
+    .title-bar .title-bar-right, .title-bar .title-bar-left {
+      transition: padding-top .25s ease;
+      padding-top: 1.4em;
+    }
+    .title-bar.is-stuck {
+      height: 50px;
+    }
+    .title-bar.is-stuck .title-bar-right, .title-bar.is-stuck .title-bar-left {
+      padding-top: 0em;
+    }
+    .title-bar .dropdown.menu li {
+      float: left;
+    }
+    .title-bar .dropdown.menu .is-dropdown-submenu {
+      border: none;
+      background-color: #0A0A0A;
+    }
+
+
+    #root {
+      margin-top: 2em;
+    }
+    
+    
+    .foo {
+      height: 30rem;
+    }
+
+    .foo h1 {
+      display: inline-block;
+      float: right;
+    }
+
+    .foo:nth-child(odd) {
+      background-color: lightgreen;
+      color: white;
+    }
+
+    .foo:nth-child(even) {
+      background-color: lightblue;
+      color: white;
+    }
+
+  </style>
+
+</head>
+<body>
+  <div data-sticky-container>
+    <div class="title-bar" data-sticky data-static-height="false" data-options="marginTop:0;">
+      <div class="title-bar-left">
+        <span class="title-bar-title">Sticky Navigation</span>
+      </div>
+      <div class="title-bar-right">
+        <ul class="dropdown menu align-right" data-dropdown-menu>
+          <li>
+            <a>Item 1</a>
+            <ul class="menu">
+              <li><a href="#">Item 1A</a></li>
+              <li>
+                <a href="#">Item 1B</a>
+                <ul class="menu">
+                  <li><a href="#">Item 1B i</a></li>
+                  <li><a href="#">Item 1B ii</a></li>
+                  <li>
+                    <a href="#">Item 1B iii</a>
+                    <ul class="menu">
+                      <li><a href="#">Item 1B iii alpha</a></li>
+                      <li><a href="#">Item 1B iii omega</a></li>
+                    </ul>
+                  </li>
+                  <li>
+                    <a href="#">Item 1B iv</a>
+                    <ul class="menu">
+                      <li><a href="#">Item 1B iv alpha</a></li>
+                    </ul>
+                  </li>
+                </ul>
+              </li>
+              <li><a href="#">Item 1C</a></li>
+            </ul>
+          </li>
+          <li>
+            <a href="#">Item 2</a>
+            <ul class="menu">
+              <li><a href="#">Item 2A</a></li>
+              <li><a href="#">Item 2B</a></li>
+            </ul>
+          </li>
+          <li><a href="#">Item 3</a></li>
+          <li><a href="#">Item 4</a></li>
+        </ul>
+      </div>
+    </div>
+  </div>
+    <div class='column row'>
+    <h3>Sticky navbar height transition</h3>
+    <p>The content should follow the nav-bar resizing without red flashing (sticky-container background)</p>
+    </div>
+  
+  <div class="row">
+    <div class="small-12 medium-2 columns">
+      <div class="container" data-sticky-container>
+        <div class="callout sticky" data-sticky data-sticky-on="small" data-margin-top="0" data-anchor="foo1">
+          <h5>Test 1</h5>
+          <p>I should stick to the top and bottom of #foo1. I'm not a child of any #foo's.</p>
+          <a href="http://foundation.zurb.com/sites/docs/stick.html" class="small button">Go to Sticky Docs</a>          
+        </div>
+      </div>
+    </div>
+    
+    <div class="small-12 medium-10 columns">
+      <div id="foo1" class="foo">
+        <h1>#foo1</h1>
+      </div>
+    </div>
+  </div>
+  
+  <div class="row">
+    <div class="small-6 columns">
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam consequat pellentesque ligula a tincidunt. Pellentesque fermentum orci leo, quis hendrerit urna rutrum eu. Fusce eu ex id ipsum fermentum scelerisque in non nulla. In quis maximus urna. Sed in est in risus tempor malesuada. Integer sed felis nunc. Mauris sit amet turpis quam. Aliquam nisi felis, suscipit et ex in, mattis mattis dui. Ut id ullamcorper nunc. Nunc quis lacinia turpis, tempor faucibus eros. Vestibulum ex dui, accumsan nec ex eget, scelerisque euismod ligula. In congue venenatis tellus, vitae lobortis felis imperdiet ut. Pellentesque pharetra dignissim felis. Praesent posuere lacus vitae ex tempus tincidunt.
+Maecenas accumsan ante non justo laoreet, vel condimentum turpis lacinia. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc ornare suscipit faucibus. Donec feugiat nulla in bibendum malesuada. Proin maximus sodales lorem, non pulvinar leo. Ut rhoncus leo et leo commodo tincidunt nec sit amet nulla. Curabitur nisl mi, cursus a molestie et, rhoncus a turpis. Nam mollis accumsan diam non bibendum. Nam eget condimentum ligula, ultricies molestie ante. Mauris dolor neque, rhoncus feugiat varius in, tincidunt nec nisl. Phasellus et sapien vitae lectus auctor lacinia ac accumsan tellus. Ut lacinia massa id massa ullamcorper volutpat. Curabitur lectus erat, mollis sed feugiat id, tempor eu ex. Morbi mollis urna quam. In laoreet magna ligula. Mauris porta tortor eget finibus malesuada.
+Mauris porttitor nisi feugiat convallis rhoncus. Etiam mollis mi in felis molestie malesuada. Proin rutrum nisl ac nibh pharetra lobortis. Phasellus dignissim dolor vel eros vulputate, sed finibus enim efficitur. Duis tincidunt porttitor diam, ut tincidunt eros varius quis. Donec nec risus tempor, luctus ligula luctus, ullamcorper augue. Morbi maximus, mi in fringilla bibendum, tellus velit rutrum enim, non vulputate justo augue nec diam. Nulla et nisl lacus. Donec quis molestie tellus. Aenean eleifend ex suscipit neque porttitor, ut hendrerit metus egestas. Morbi ut euismod urna, vitae tempus arcu. Aliquam dictum vel sem et efficitur. Duis nec dapibus purus.
+Cras sed fringilla lorem. Nullam ut justo ac augue egestas vestibulum. In commodo sit amet magna sed rutrum. Fusce fringilla blandit nisl sit amet tristique. Duis ultrices porttitor efficitur. Nunc id facilisis velit. Morbi interdum est eget enim luctus vestibulum. Proin sagittis placerat tellus, in convallis lorem lobortis sed. In porta neque lacus, non fringilla justo interdum eu. Cras ante magna, semper tincidunt rhoncus a, viverra at massa.
+Nulla porttitor sem vitae pharetra fermentum. Etiam porttitor, libero eu molestie vestibulum, quam libero posuere nulla, at elementum tellus enim ac nulla. Curabitur congue purus orci, in consequat urna varius quis. Ut vel diam eu nunc lacinia eleifend. Integer tempus dui sit amet mauris consectetur ultricies sit amet ut dui. Morbi eu dui pulvinar, rhoncus augue ac, viverra sem. Curabitur tincidunt dolor vitae eros congue sagittis. Ut at tempus orci.
+    </div>
+  </div>
+    <div class="row">
+    <div class="small-6 columns">
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam consequat pellentesque ligula a tincidunt. Pellentesque fermentum orci leo, quis hendrerit urna rutrum eu. Fusce eu ex id ipsum fermentum scelerisque in non nulla. In quis maximus urna. Sed in est in risus tempor malesuada. Integer sed felis nunc. Mauris sit amet turpis quam. Aliquam nisi felis, suscipit et ex in, mattis mattis dui. Ut id ullamcorper nunc. Nunc quis lacinia turpis, tempor faucibus eros. Vestibulum ex dui, accumsan nec ex eget, scelerisque euismod ligula. In congue venenatis tellus, vitae lobortis felis imperdiet ut. Pellentesque pharetra dignissim felis. Praesent posuere lacus vitae ex tempus tincidunt.
+Maecenas accumsan ante non justo laoreet, vel condimentum turpis lacinia. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc ornare suscipit faucibus. Donec feugiat nulla in bibendum malesuada. Proin maximus sodales lorem, non pulvinar leo. Ut rhoncus leo et leo commodo tincidunt nec sit amet nulla. Curabitur nisl mi, cursus a molestie et, rhoncus a turpis. Nam mollis accumsan diam non bibendum. Nam eget condimentum ligula, ultricies molestie ante. Mauris dolor neque, rhoncus feugiat varius in, tincidunt nec nisl. Phasellus et sapien vitae lectus auctor lacinia ac accumsan tellus. Ut lacinia massa id massa ullamcorper volutpat. Curabitur lectus erat, mollis sed feugiat id, tempor eu ex. Morbi mollis urna quam. In laoreet magna ligula. Mauris porta tortor eget finibus malesuada.
+Mauris porttitor nisi feugiat convallis rhoncus. Etiam mollis mi in felis molestie malesuada. Proin rutrum nisl ac nibh pharetra lobortis. Phasellus dignissim dolor vel eros vulputate, sed finibus enim efficitur. Duis tincidunt porttitor diam, ut tincidunt eros varius quis. Donec nec risus tempor, luctus ligula luctus, ullamcorper augue. Morbi maximus, mi in fringilla bibendum, tellus velit rutrum enim, non vulputate justo augue nec diam. Nulla et nisl lacus. Donec quis molestie tellus. Aenean eleifend ex suscipit neque porttitor, ut hendrerit metus egestas. Morbi ut euismod urna, vitae tempus arcu. Aliquam dictum vel sem et efficitur. Duis nec dapibus purus.
+Cras sed fringilla lorem. Nullam ut justo ac augue egestas vestibulum. In commodo sit amet magna sed rutrum. Fusce fringilla blandit nisl sit amet tristique. Duis ultrices porttitor efficitur. Nunc id facilisis velit. Morbi interdum est eget enim luctus vestibulum. Proin sagittis placerat tellus, in convallis lorem lobortis sed. In porta neque lacus, non fringilla justo interdum eu. Cras ante magna, semper tincidunt rhoncus a, viverra at massa.
+Nulla porttitor sem vitae pharetra fermentum. Etiam porttitor, libero eu molestie vestibulum, quam libero posuere nulla, at elementum tellus enim ac nulla. Curabitur congue purus orci, in consequat urna varius quis. Ut vel diam eu nunc lacinia eleifend. Integer tempus dui sit amet mauris consectetur ultricies sit amet ut dui. Morbi eu dui pulvinar, rhoncus augue ac, viverra sem. Curabitur tincidunt dolor vitae eros congue sagittis. Ut at tempus orci.
+    </div>
+  </div>
+
+  <script src="../assets/js/vendor.js"></script>
+  <script src="../assets/js/foundation.js"></script>
+  <script>
+    $(document).foundation();
+  </script>
+</body>
+</html>
diff --git a/libraries/foundation-6/test/visual/sticky/menus-with-anchors.html b/libraries/foundation-6/test/visual/sticky/menus-with-anchors.html
new file mode 100755
index 00000000..815e6052
--- /dev/null
+++ b/libraries/foundation-6/test/visual/sticky/menus-with-anchors.html
@@ -0,0 +1,201 @@
+<!doctype html>
+<html lang="en" class="no-js">
+<head>
+  <meta charset="UTF-8">
+  <title>Foundation for Sites Testing</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+  <link href="../assets/css/foundation.css" rel="stylesheet" />
+  
+  <style>
+
+    .container {
+      background-color: rgba(255,0,0,0.7);
+
+    }
+    
+    .fail {
+      color: red;
+      font-weight: bold;
+      text-transform: uppercase;
+    }
+
+    .foo {
+      height: 35rem;
+      color: white;
+    }
+
+    .megafoo {
+      height:50rem;
+      color: white;
+    }
+
+    .bar {
+      color: white;
+    }
+
+    .foo h1 {
+      float: right;
+    }
+
+    .foo:nth-child(odd), .bar:nth-child(odd), .megafoo:nth-child(odd) {
+      background-color: lightgreen;
+    }
+
+    .foo:nth-child(even), .bar:nth-child(even), .megafoo:nth-child(even) {
+      background-color: lightblue;
+    }
+
+    .test-container {
+      background-color: darkgrey;
+    }
+
+    .menu {
+      background-color: white;
+      border: 1px solid #2199e8;
+    }
+
+    .menu-text {
+      font-weight: normal;
+      color: black;
+    }
+    
+    .menu-title {
+      text-transform: uppercase;
+      font-size: 1rem;
+      color: black;
+      font-weight: bold;
+      line-height: 1;
+      padding: 1rem 1rem .5rem 1rem;
+    }
+
+    .menu .active {
+      background-color: #2199e8;
+      color: white;
+    }
+
+  </style>
+
+</head>
+<body>
+
+  <div class="row">
+    <div class="small-12 medium-8 medium-centered columns">
+      <h1 class="text-center">Sticky Menus with Anchors</h1>
+      <hr>
+      <h2>Look For:</h2>
+      <ul>
+        <li><span class="fail">Currently failing</span> Menus should unstick in the correct place when it reaches its anchor points.</li>
+        <li><span class="fail">Currently failing</span> You should not see the red background color of the sticky container after scrolling up and down the page, or sticking/unsticking the menus. Scrolling up and down the page as fast as possible will sometimes reproduce this bug.</li>
+      </ul>
+
+    </div>
+  </div>
+  
+  <div class="row test-container">
+    
+    <div class="small-12 medium-6 columns">
+      <div id="foo1" class="foo" data-magellan-target="foo1">
+        <h1>#foo1</h1>
+      </div>
+      <div id="foo2" class="foo" data-magellan-target="foo2">
+        <div class="row">
+          <div class="small-12 medium-8 columns">
+            <div class="container" data-sticky-container>
+              <nav class="sticky" data-sticky-on="small" data-sticky data-anchor="foo2">
+                <ul class="vertical menu">
+                  <li class="menu-title menu-text">Sticky Menu Test #2</li>
+                  <li class="menu-text">Anchored to #foo2</li>
+                  <li class="menu-text">Descendant of #foo2</li>
+                </ul>
+              </nav>
+            </div>
+          </div>
+          <div class="small-12 medium-4 columns">
+            <h1>#foo2</h1>
+          </div>
+        </div>
+      </div>
+
+      <div id="foo3" class="foo" data-magellan-target="foo3">
+        <h1>#foo3</h1>
+      </div>
+
+      <div id="foo4" class="foo" data-magellan-target="foo4">
+        <div class="row">
+          <div class="small-12 medium-8 columns">
+            <div class="container" data-sticky-container>
+              <nav class="sticky" data-sticky-on="small" data-sticky data-anchor-top="foo4:top" data-anchor-bottom="foo5:bottom">
+                <ul class="vertical menu">
+                  <li class="menu-title menu-text">Sticky Menu Test #3</li>
+                  <li class="menu-text">Top is anchored to top of #foo4</li>
+                  <li class="menu-text">Bottom is anchored to bottom of #foo5</li>
+                  <li class="menu-text">Descendant of #foo4</li>
+                </ul>
+              </nav>
+            </div>
+          </div>
+          <div class="small-12 medium-4 columns">
+            <h1>#foo4</h1>
+          </div>
+        </div>
+      </div>
+
+      <div id="foo5" class="foo" data-magellan-target="foo5">
+        <h1>#foo5</h1>
+      </div>
+
+      <div id="foo6" class="foo" data-magellan-target="foo6">
+        <h1>#foo6</h1>
+      </div>
+
+      <div id="foo7" class="foo" data-magellan-target="foo7">
+        <h1>#foo7</h1>
+      </div>
+
+      <div id="foo8" class="foo" data-magellan-target="foo8">
+        <h1>#foo8</h1>
+      </div>
+
+      <div id="foo9" class="foo" data-magellan-target="foo9">
+        <h1>#foo9</h1>
+      </div>
+
+      <div id="foo10" class="foo" data-magellan-target="foo10">
+        <h1>#foo10</h1>
+      </div>
+
+    </div>
+
+    <div class="small-12 medium-6 columns">
+
+      <div class="container" data-sticky-container>
+        <nav class="sticky" data-sticky-on="small" data-sticky data-anchor-top="foo1:top">
+          <ul class="vertical menu" data-magellan>
+            <li class="menu-title menu-text">Sticky Menu Test #1</li>
+            <li class="menu-text">Top anchored to to top of #foo1</li>
+            <li class="menu-text">Not a descendant of #foo1</li>
+            <li><a href="#foo1">#foo1</a></li>
+            <li><a href="#foo2">#foo2</a></li>
+            <li><a href="#foo3">#foo3</a></li>
+            <li><a href="#foo4">#foo4</a></li>
+            <li><a href="#foo5">#foo5</a></li>
+            <li><a href="#foo6">#foo6</a></li>
+            <li><a href="#foo7">#foo7</a></li>
+            <li><a href="#foo7">#foo8</a></li>
+            <li><a href="#foo7">#foo9</a></li>
+            <li><a href="#foo7">#foo10</a></li>
+          </ul>
+        </nav>
+      </div>
+
+    </div>
+
+  </div>
+
+  <script src="../assets/js/vendor.js"></script>
+  <script src="../assets/js/foundation.js"></script>
+  <script>
+    $(document).foundation();
+  </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/libraries/foundation-6/test/visual/top-bar/stacking.html b/libraries/foundation-6/test/visual/top-bar/stacking.html
new file mode 100755
index 00000000..094cd8d7
--- /dev/null
+++ b/libraries/foundation-6/test/visual/top-bar/stacking.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Top Bar: Stacking</h1>
+
+      <p>By default, a top bar stacks on the small breakpoint (< 640px).</p>
+
+      <div class="top-bar">
+        <div class="top-bar-left">
+          <p><strong>Left</strong></p>
+        </div>
+        <div class="top-bar-right">
+          <p><strong>Right</strong></p>
+        </div>
+      </div>
+
+      <hr>
+
+      <p>This top bar should stack on <em>medium and down</em>.</p>
+
+      <div class="top-bar stacked-for-medium">
+        <div class="top-bar-left">
+          <p><strong>Left</strong></p>
+        </div>
+        <div class="top-bar-right">
+          <p><strong>Right</strong></p>
+        </div>
+      </div>
+
+      <hr>
+
+      <p>This top bar should stack on <em>large and down</em>.</p>
+
+      <div class="top-bar stacked-for-large">
+        <div class="top-bar-left">
+          <p><strong>Left</strong></p>
+        </div>
+        <div class="top-bar-right">
+          <p><strong>Right</strong></p>
+        </div>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/triggers/programmatic.html b/libraries/foundation-6/test/visual/triggers/programmatic.html
new file mode 100755
index 00000000..29f958fc
--- /dev/null
+++ b/libraries/foundation-6/test/visual/triggers/programmatic.html
@@ -0,0 +1,42 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Triggers: Programmatic</h1>
+
+      <p>This callout uses a close button with <code>data-close</code>. Clicking it should close the callout.</p>
+
+      <div class="callout" data-closable>
+        <p>You can so totally close this!</p>
+        <button class="close-button" aria-label="Dismiss alert" type="button" data-close>
+          <span aria-hidden="true">&times;</span>
+        </button>
+      </div>
+
+      <p>This callout uses a close button with a manual event handler that uses jQuery's <code>.trigger()</code> function.</p>
+
+      <div class="callout" data-closable id="testCallout">
+        <p>You can so totally close this!</p>
+        <button class="close-button" aria-label="Dismiss alert" type="button" id="testButton">
+          <span aria-hidden="true">&times;</span>
+        </button>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+      $('#testButton').click(function() {
+        $('#testCallout').trigger('close');
+      });
+    </script>
+  </body>
+</html>
diff --git a/libraries/foundation-6/test/visual/typography-helpers/responsive-text-alignment.html b/libraries/foundation-6/test/visual/typography-helpers/responsive-text-alignment.html
new file mode 100755
index 00000000..8907d067
--- /dev/null
+++ b/libraries/foundation-6/test/visual/typography-helpers/responsive-text-alignment.html
@@ -0,0 +1,27 @@
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Foundation for Sites Testing</title>
+    <link href="../assets/css/foundation.css" rel="stylesheet" />
+  </head>
+  <body>
+    <div class="row column">
+      <h1>Typography Helpers: Responsive Alignment Classes</h1>
+
+      <div class="row">
+        <div class="column text-center medium-text-left">
+          <p>This text should be left-aligned on medium screens and up, and center-aligned on small screens.</p>
+        </div>
+      </div>
+    </div>
+
+    <script src="../assets/js/vendor.js"></script>
+    <script src="../assets/js/foundation.js"></script>
+    <script>
+      $(document).foundation();
+    </script>
+  </body>
+</html>
-- 
GitLab