├── .gitignore ├── src ├── templates │ ├── env-config.js │ ├── static │ │ └── images │ │ │ └── .keep │ ├── styles │ │ └── index.css │ ├── .gitignore-template │ ├── pages │ │ ├── index.js │ │ ├── next-js.js │ │ ├── styles.js │ │ ├── tachyons.js │ │ ├── next.js │ │ ├── components.js │ │ ├── functional-css.js │ │ └── components-article.js │ ├── postcss.config.js │ ├── components │ │ ├── Main.js │ │ ├── Title.js │ │ ├── SideBar.js │ │ ├── ArticleList.js │ │ ├── Nav.js │ │ ├── NavItem.js │ │ ├── HomePage.js │ │ ├── NextArticlePage.js │ │ ├── MainArticle.js │ │ ├── NextPage.js │ │ ├── TachyonsPage.js │ │ ├── StylesPage.js │ │ ├── ComponentArticlePage.js │ │ ├── FunctionalCssPage.js │ │ ├── ComponentsPage.js │ │ ├── Layout.js │ │ └── ArticleItem.js │ ├── content │ │ ├── sideBarOptions.js │ │ ├── nextArticles.js │ │ ├── componentsArticles.js │ │ ├── componentArticle.js │ │ ├── mainArticle.js │ │ ├── functionalCssArticle.js │ │ ├── nextArticle.js │ │ ├── styleArticles.js │ │ └── tachyonsArticle.js │ ├── package.json │ └── next.config.js └── index.js ├── .npmignore ├── images ├── site.png └── aOdE6viaya.gif ├── bin └── wodle.js ├── package.json ├── docs ├── _next │ └── e045c2f2-955d-476b-8093-1a26065b6ec7 │ │ └── page │ │ ├── index.js │ │ ├── next │ │ └── index.js │ │ ├── components-article │ │ └── index.js │ │ ├── functional-css │ │ └── index.js │ │ ├── tachyons │ │ └── index.js │ │ ├── next-js │ │ └── index.js │ │ ├── components │ │ └── index.js │ │ ├── styles │ │ └── index.js │ │ └── _error │ │ └── index.js └── next-js │ └── index.html ├── README.md └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /src/templates/env-config.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/templates/static/images/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | docs/ 2 | build/ 3 | demo/ 4 | images/ 5 | -------------------------------------------------------------------------------- /src/templates/styles/index.css: -------------------------------------------------------------------------------- 1 | @import "tachyons"; 2 | -------------------------------------------------------------------------------- /src/templates/.gitignore-template: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .next 3 | -------------------------------------------------------------------------------- /images/site.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucas-aragno/wodle/HEAD/images/site.png -------------------------------------------------------------------------------- /images/aOdE6viaya.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucas-aragno/wodle/HEAD/images/aOdE6viaya.gif -------------------------------------------------------------------------------- /src/templates/pages/index.js: -------------------------------------------------------------------------------- 1 | import HomePage from '../components/HomePage' 2 | 3 | export default (props) => 4 | -------------------------------------------------------------------------------- /src/templates/pages/next-js.js: -------------------------------------------------------------------------------- 1 | import NextPage from '../components/NextPage' 2 | 3 | export default (props) => 4 | -------------------------------------------------------------------------------- /src/templates/pages/styles.js: -------------------------------------------------------------------------------- 1 | import StylesPage from '../components/StylesPage' 2 | 3 | export default (props) => 4 | -------------------------------------------------------------------------------- /src/templates/pages/tachyons.js: -------------------------------------------------------------------------------- 1 | import TachyonsPage from '../components/TachyonsPage' 2 | 3 | export default (props) => 4 | -------------------------------------------------------------------------------- /src/templates/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [ 3 | require('postcss-easy-import')({prefix: '_'}) 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /src/templates/pages/next.js: -------------------------------------------------------------------------------- 1 | import NextArticlePage from '../components/NextArticlePage' 2 | 3 | export default (props) => 4 | -------------------------------------------------------------------------------- /src/templates/pages/components.js: -------------------------------------------------------------------------------- 1 | import ComponentsPage from '../components/ComponentsPage' 2 | 3 | export default (props) => 4 | -------------------------------------------------------------------------------- /src/templates/pages/functional-css.js: -------------------------------------------------------------------------------- 1 | import FunctionalCssPage from '../components/FunctionalCssPage' 2 | 3 | export default (props) => 4 | -------------------------------------------------------------------------------- /src/templates/components/Main.js: -------------------------------------------------------------------------------- 1 | const Main = ({ children }) => 2 |
3 | {children} 4 |
5 | 6 | export default Main 7 | -------------------------------------------------------------------------------- /src/templates/pages/components-article.js: -------------------------------------------------------------------------------- 1 | import ComponentArticlePage from '../components/ComponentArticlePage' 2 | 3 | export default (props) => 4 | -------------------------------------------------------------------------------- /src/templates/components/Title.js: -------------------------------------------------------------------------------- 1 | import Head from 'next/head' 2 | 3 | const Title = ({ title }) => 4 | 5 | { title } 6 | 7 | 8 | export default Title 9 | -------------------------------------------------------------------------------- /src/templates/components/SideBar.js: -------------------------------------------------------------------------------- 1 | const SideBar = ({ children }) => 2 |
3 | {children} 4 |
5 | 6 | export default SideBar 7 | -------------------------------------------------------------------------------- /src/templates/content/sideBarOptions.js: -------------------------------------------------------------------------------- 1 | export default [ 2 | {href: '/', text: 'Wodle'}, 3 | {href: '/styles', text: 'Styles'}, 4 | {href: '/components', text: 'Components'}, 5 | {href: '/next-js', text: 'Next'} 6 | ] 7 | -------------------------------------------------------------------------------- /src/templates/content/nextArticles.js: -------------------------------------------------------------------------------- 1 | export default [ 2 | { 3 | title: 'What is Next.js', 4 | short: 'Get started with Next.js', 5 | date: 'Jun 13th 2017', 6 | href: '/next', 7 | author: 'Lucas Aragno' 8 | } 9 | ] 10 | -------------------------------------------------------------------------------- /bin/wodle.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const program = require('commander') 4 | const wodle = require('../src/index.js') 5 | 6 | program 7 | .version('1.0.0') 8 | .arguments('') 9 | .action((site_name) => { 10 | wodle.create(site_name) 11 | }) 12 | .parse(process.argv) 13 | -------------------------------------------------------------------------------- /src/templates/content/componentsArticles.js: -------------------------------------------------------------------------------- 1 | export default [ 2 | { 3 | title: 'Components included in Wodle', 4 | short: 'List of components built in Wodle and how they work.', 5 | date: 'Jun 13th 2017', 6 | href: '/components-article', 7 | author: 'Lucas Aragno' 8 | } 9 | ] 10 | -------------------------------------------------------------------------------- /src/templates/content/componentArticle.js: -------------------------------------------------------------------------------- 1 | export default { 2 | date: 'Jun 13th 2016', 3 | title: 'Wodle Components', 4 | content: [ 5 | 'Wodle has a number of components built in that are being used to display this blog you can read more about them on the README ' 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/templates/content/mainArticle.js: -------------------------------------------------------------------------------- 1 | export default { 2 | date: 'Jun 13th 2016', 3 | title: 'Hello World!', 4 | content: [ 5 | 'Enter Wodle!', 6 | 'Wodle is a modern static site generator that uses next and tachyons to build this demo site and it can be easly be modified to be a full dynamic next.js application.' 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /src/templates/content/functionalCssArticle.js: -------------------------------------------------------------------------------- 1 | export default { 2 | date: 'Jun 13th 2016', 3 | title: 'Functional CSS', 4 | content: [ 5 | "Functional CSS it's a way to write CSS that I particularly like a lot", 6 | 'Check This essay to learn more about that! ' 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /src/templates/content/nextArticle.js: -------------------------------------------------------------------------------- 1 | export default { 2 | date: 'Jun 13th 2016', 3 | title: 'Next.js', 4 | content: [ 5 | 'From their site:', 6 | 'Next is a small framework for server-rendered universal JavaScript webapps, built on top of React, Webpack and Babel.', 7 | 'You can read more about it here. ' 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /src/templates/components/ArticleList.js: -------------------------------------------------------------------------------- 1 | import ArticleItem from './ArticleItem' 2 | 3 | const ArticleList = ({ articles, listTitle }) => 4 |
5 |

{ listTitle }

6 | { 7 | articles.map((article, index) => ) 8 | } 9 |
10 | export default ArticleList 11 | -------------------------------------------------------------------------------- /src/templates/components/Nav.js: -------------------------------------------------------------------------------- 1 | import NavItem from './NavItem' 2 | 3 | const Nav = ({ items }) =>
4 |
    5 | { 6 | items.map((item, index) => 7 | 8 | ) 9 | } 10 |
11 |
12 | 13 | export default Nav 14 | -------------------------------------------------------------------------------- /src/templates/components/NavItem.js: -------------------------------------------------------------------------------- 1 | import Link from 'next/link' 2 | 3 | const NavItem = ({ item, className }) =>
  • 4 | 5 | 6 | {item.text} 7 | 8 | 9 |
  • 10 | 11 | export default NavItem 12 | -------------------------------------------------------------------------------- /src/templates/content/styleArticles.js: -------------------------------------------------------------------------------- 1 | export default [ 2 | { 3 | title: 'Tachyons', 4 | short: 'Learn Tachyons for the greater good!', 5 | date: 'Jun 13th 2017', 6 | href: '/tachyons', 7 | author: 'Lucas Aragno' 8 | }, 9 | { 10 | title: 'Functional CSS', 11 | short: 'The greatest thing since bread came sliced', 12 | date: 'Jun 13th 2017', 13 | href: '/functional-css', 14 | author: 'Lucas Aragno' 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /src/templates/content/tachyonsArticle.js: -------------------------------------------------------------------------------- 1 | export default { 2 | date: 'Jun 13th 2016', 3 | title: 'Tachyons', 4 | content: [ 5 | 'Tachyons is a popular functional CSS toolkit, it can be hard to get used to at first because it has a lot of classes but long term it will improve your general development flow.', 6 | 'Check the table of styles and the table of properties for more info.' 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /src/templates/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "{{appName}}", 3 | "scripts": { 4 | "dev": "node_modules/.bin/next", 5 | "start": "node_modules/.bin/next build && node_modules/.bin/next start", 6 | "build": "node_modules/.bin/next build && node_modules/.bin/next export" 7 | }, 8 | "dependencies": { 9 | "next": "3.0.0-beta13", 10 | "react": "^15.5.4", 11 | "react-dom": "^15.5.4", 12 | "tachyons": "^4.7.4" 13 | }, 14 | "devDependencies": { 15 | "postcss-loader": "^2.0.5", 16 | "postcss-easy-import": "^2.0.0", 17 | "raw-loader": "^0.5.1", 18 | "babel-loader": "^7.0.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/templates/components/HomePage.js: -------------------------------------------------------------------------------- 1 | import Layout from './Layout' 2 | import SideBar from './SideBar' 3 | import Nav from './Nav' 4 | import MainArticle from './MainArticle' 5 | import Main from './Main' 6 | import Title from './Title' 7 | 8 | import sideBarOptions from '../content/sideBarOptions' 9 | import mainArticle from '../content/mainArticle' 10 | 11 | const HomePage = ({ children }) =>
    12 | 13 | 14 | <SideBar> 15 | <Nav items={sideBarOptions} /> 16 | </SideBar> 17 | <Main> 18 | <MainArticle article={mainArticle} /> 19 | </Main> 20 | </Layout> 21 | </div> 22 | 23 | export default HomePage 24 | -------------------------------------------------------------------------------- /src/templates/components/NextArticlePage.js: -------------------------------------------------------------------------------- 1 | import Layout from './Layout' 2 | import SideBar from './SideBar' 3 | import Nav from './Nav' 4 | import MainArticle from './MainArticle' 5 | import Main from './Main' 6 | import Title from './Title' 7 | 8 | import sideBarOptions from '../content/sideBarOptions' 9 | import nextArticle from '../content/nextArticle' 10 | 11 | const NextArticlePage = ({ children }) => <div> 12 | <Layout> 13 | <Title title={'Next'} /> 14 | <SideBar> 15 | <Nav items={sideBarOptions} /> 16 | </SideBar> 17 | <Main> 18 | <MainArticle article={nextArticle} /> 19 | </Main> 20 | </Layout> 21 | </div> 22 | 23 | export default NextArticlePage 24 | -------------------------------------------------------------------------------- /src/templates/components/MainArticle.js: -------------------------------------------------------------------------------- 1 | const MainArticle = ({ article }) => 2 | <article className='tc'> 3 | <header> 4 | <h1 className='f3 f2-m f-subheadline-l measure lh-title fw1 mt0'> {article.title} </h1> 5 | <time className='f5 f4-l db fw1 baskerville mb4'> {article.date} </time> 6 | </header> 7 | <div className='ph3 ph4-m ph5-l'> 8 | { 9 | article.content.map((paragraph, index) => 10 | <p 11 | className='f4 mb4 center measure lh-copy' 12 | key={index} 13 | dangerouslySetInnerHTML={{ __html: paragraph }} /> 14 | ) 15 | } 16 | </div> 17 | </article> 18 | 19 | export default MainArticle 20 | -------------------------------------------------------------------------------- /src/templates/components/NextPage.js: -------------------------------------------------------------------------------- 1 | import Layout from './Layout' 2 | import SideBar from './SideBar' 3 | import Nav from './Nav' 4 | import ArticleList from './ArticleList' 5 | import Main from './Main' 6 | import Title from './Title' 7 | 8 | import sideBarOptions from '../content/sideBarOptions' 9 | import nextArticles from '../content/nextArticles' 10 | 11 | const NextPage = ({ children }) => <div> 12 | <Layout> 13 | <Title title={'Next'} /> 14 | <SideBar> 15 | <Nav items={sideBarOptions} /> 16 | </SideBar> 17 | <Main> 18 | <ArticleList articles={nextArticles} listTitle={'Next.js'} /> 19 | </Main> 20 | </Layout> 21 | </div> 22 | 23 | export default NextPage 24 | -------------------------------------------------------------------------------- /src/templates/components/TachyonsPage.js: -------------------------------------------------------------------------------- 1 | import Layout from './Layout' 2 | import SideBar from './SideBar' 3 | import Nav from './Nav' 4 | import MainArticle from './MainArticle' 5 | import Main from './Main' 6 | import Title from './Title' 7 | 8 | import sideBarOptions from '../content/sideBarOptions' 9 | import tachyonsArticle from '../content/tachyonsArticle' 10 | 11 | const TachyonsPage = ({ children }) => <div> 12 | <Layout> 13 | <Title title={'Tachyons'} /> 14 | <SideBar> 15 | <Nav items={sideBarOptions} /> 16 | </SideBar> 17 | <Main> 18 | <MainArticle article={tachyonsArticle} /> 19 | </Main> 20 | </Layout> 21 | </div> 22 | 23 | export default TachyonsPage 24 | -------------------------------------------------------------------------------- /src/templates/components/StylesPage.js: -------------------------------------------------------------------------------- 1 | import Layout from './Layout' 2 | import SideBar from './SideBar' 3 | import Nav from './Nav' 4 | import ArticleList from './ArticleList' 5 | import Main from './Main' 6 | import Title from './Title' 7 | 8 | import sideBarOptions from '../content/sideBarOptions' 9 | import stylesArticles from '../content/styleArticles' 10 | 11 | const StylesPage = ({ children }) => <div> 12 | <Layout> 13 | <Title title={'Styles'} /> 14 | <SideBar> 15 | <Nav items={sideBarOptions} /> 16 | </SideBar> 17 | <Main> 18 | <ArticleList articles={stylesArticles} listTitle={'Styles'} /> 19 | </Main> 20 | </Layout> 21 | </div> 22 | 23 | export default StylesPage 24 | -------------------------------------------------------------------------------- /src/templates/components/ComponentArticlePage.js: -------------------------------------------------------------------------------- 1 | import Layout from './Layout' 2 | import SideBar from './SideBar' 3 | import Nav from './Nav' 4 | import MainArticle from './MainArticle' 5 | import Main from './Main' 6 | import Title from './Title' 7 | 8 | import sideBarOptions from '../content/sideBarOptions' 9 | import componentsArticle from '../content/componentArticle' 10 | 11 | const ComponentArticlePage = ({ children }) => <div> 12 | <Layout> 13 | <Title title={'Components'} /> 14 | <SideBar> 15 | <Nav items={sideBarOptions} /> 16 | </SideBar> 17 | <Main> 18 | <MainArticle article={componentsArticle} /> 19 | </Main> 20 | </Layout> 21 | </div> 22 | 23 | export default ComponentArticlePage 24 | -------------------------------------------------------------------------------- /src/templates/components/FunctionalCssPage.js: -------------------------------------------------------------------------------- 1 | import Layout from './Layout' 2 | import SideBar from './SideBar' 3 | import Nav from './Nav' 4 | import MainArticle from './MainArticle' 5 | import Main from './Main' 6 | import Title from './Title' 7 | 8 | import sideBarOptions from '../content/sideBarOptions' 9 | import functionalCssArticle from '../content/functionalCssArticle' 10 | 11 | const FunctionalCssPage = ({ children }) => <div> 12 | <Layout> 13 | <Title title={'Functional Css'} /> 14 | <SideBar> 15 | <Nav items={sideBarOptions} /> 16 | </SideBar> 17 | <Main> 18 | <MainArticle article={functionalCssArticle} /> 19 | </Main> 20 | </Layout> 21 | </div> 22 | 23 | export default FunctionalCssPage 24 | -------------------------------------------------------------------------------- /src/templates/components/ComponentsPage.js: -------------------------------------------------------------------------------- 1 | import Layout from './Layout' 2 | import SideBar from './SideBar' 3 | import Nav from './Nav' 4 | import ArticleList from './ArticleList' 5 | import Main from './Main' 6 | import Title from './Title' 7 | 8 | import sideBarOptions from '../content/sideBarOptions' 9 | import componentsArticles from '../content/componentsArticles' 10 | 11 | const ComponentsPage = ({ children }) => <div> 12 | <Layout> 13 | <Title title={'Components'} /> 14 | <SideBar> 15 | <Nav items={sideBarOptions} /> 16 | </SideBar> 17 | <Main> 18 | <ArticleList articles={componentsArticles} listTitle={'Components'} /> 19 | </Main> 20 | </Layout> 21 | </div> 22 | 23 | export default ComponentsPage 24 | -------------------------------------------------------------------------------- /src/templates/next.config.js: -------------------------------------------------------------------------------- 1 | const glob = require('glob') 2 | 3 | exports.exportPathMap = () => { 4 | const pathMap = {} 5 | glob.sync('pages/**/*.js', { ignore: 'pages/_document.js' }).forEach(s => { 6 | const path = s.split(/(pages|\.)/)[2].replace(/^\/index$/, '/') 7 | pathMap[path] = { page: path } 8 | }) 9 | return pathMap 10 | } 11 | 12 | exports.webpack = (config) => { 13 | config.module.rules.push({ 14 | test: /\.(css|html)/, 15 | loader: 'emit-file-loader', 16 | options: { 17 | name: 'dist/[path][name].[ext]' 18 | } 19 | }, { 20 | test: /\.css$/, 21 | use: ['babel-loader', 'raw-loader', 'postcss-loader'] 22 | }, { 23 | test: /\.html$/, 24 | use: ['babel-loader', 'raw-loader'] 25 | }) 26 | return config 27 | } 28 | -------------------------------------------------------------------------------- /src/templates/components/Layout.js: -------------------------------------------------------------------------------- 1 | import { PureComponent } from 'react' 2 | import Head from 'next/head' 3 | import stylesheet from '../styles/index.css' 4 | 5 | export default class Layout extends PureComponent { 6 | render () { 7 | const { className, children } = this.props 8 | return <div className={className}> 9 | <Head> 10 | <meta charset='utf-8' /> 11 | <meta http-equiv='X-UA-Compatible' content='IE=edge' /> 12 | <meta name='viewport' content='width=device-width, initial-scale=1, shrink-to-fit=no' /> 13 | <style dangerouslySetInnerHTML={{ __html: stylesheet }} /> 14 | <link rel='shortcut icon' href='/static/images/favicon.ico' /> 15 | </Head> 16 | <div> 17 | {children} 18 | </div> 19 | </div> 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/templates/components/ArticleItem.js: -------------------------------------------------------------------------------- 1 | import Link from 'next/link' 2 | 3 | const ArticleItem = ({ article }) => 4 | <article className='pv4 ph3 ph0-l'> 5 | <div className='flex flex-column flex-row-ns'> 6 | <div className='w-100 w-60-ns pr3-ns order-2 order-1-ns'> 7 | <Link prefetch href={article.href} className='pv2'> 8 | <h1 className='f3 athelas mt0 lh-title link pointer hover-light-gray'>{article.title}</h1> 9 | </Link> 10 | <p className='f5 f4-l lh-copy athelas'> 11 | {article.short} 12 | </p> 13 | </div> 14 | </div> 15 | <p className='f6 lh-copy gray mv0'>By <span className='ttu'>{article.author}</span></p> 16 | <time className='f6 db gray'>{article.date}</time> 17 | </article> 18 | 19 | export default ArticleItem 20 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wodle", 3 | "version": "1.0.8", 4 | "description": "Modern™ static website generator with hot reloading", 5 | "main": "build/index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git+ssh://git@github.com:lucas-aragno/wodle.git" 9 | }, 10 | "keywords": [ 11 | "project", 12 | "scaffold", 13 | "website generator" 14 | ], 15 | "author": "Lucas Aragno <lucas.aragno157@gmail.com>", 16 | "license": "MIT", 17 | "bugs": { 18 | "url": "https://github.com/lucas-aragno/wodle/issues" 19 | }, 20 | "homepage": "https://github.com/lucas-aragno/wodle#readme", 21 | "dependencies": { 22 | "commander": "^2.9.0", 23 | "copy-dir": "^0.3.0", 24 | "handlebars": "^4.0.10" 25 | }, 26 | "bin": { 27 | "wodle": "./bin/wodle.js" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/index.js: -------------------------------------------------------------------------------- 1 | 2 | window.__NEXT_REGISTER_PAGE('/', function() { 3 | var comp = module.exports=webpackJsonp([8],{107:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),a=u(n),d=l(186),r=u(d);t.default=function(e){return a.default.createElement(r.default,null)}},186:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),a=u(n),d=l(16),r=u(d),f=l(19),o=u(f),i=l(18),c=u(i),s=l(37),m=u(s),_=l(17),p=u(_),E=l(20),b=u(E),v=l(21),y=u(v),h=l(195),M=u(h),j=function(e){e.children;return a.default.createElement("div",null,a.default.createElement(r.default,null,a.default.createElement(b.default,{title:"Wodle"}),a.default.createElement(o.default,null,a.default.createElement(c.default,{items:y.default})),a.default.createElement(p.default,null,a.default.createElement(m.default,{article:M.default}))))};t.default=j},195:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={date:"Jun 13th 2016",title:"Hello World!",content:["Enter Wodle!","Wodle is a modern static site generator that uses next and tachyons to build this demo site and it can be easly be modified to be a full dynamic next.js application."]}},225:function(e,t,l){e.exports=l(107)}},[225]); 4 | return { page: comp.default } 5 | }) 6 | -------------------------------------------------------------------------------- /docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/next/index.js: -------------------------------------------------------------------------------- 1 | 2 | window.__NEXT_REGISTER_PAGE('/next', function() { 3 | var comp = module.exports=webpackJsonp([7],{109:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=l(0),n=u(a),r=l(188),d=u(r);t.default=function(e){return n.default.createElement(d.default,null)}},188:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=l(0),n=u(a),r=l(16),d=u(r),f=l(19),o=u(f),c=l(18),i=u(c),s=l(37),m=u(s),p=l(17),b=u(p),_=l(20),v=u(_),E=l(21),h=u(E),x=l(196),M=u(x),j=function(e){e.children;return n.default.createElement("div",null,n.default.createElement(d.default,null,n.default.createElement(v.default,{title:"Next"}),n.default.createElement(o.default,null,n.default.createElement(i.default,{items:h.default})),n.default.createElement(b.default,null,n.default.createElement(m.default,{article:M.default}))))};t.default=j},196:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={date:"Jun 13th 2016",title:"Next.js",content:["From their site:","Next is a small framework for server-rendered universal JavaScript webapps, built on top of React, Webpack and Babel.",'You can read more about it <a href="https://zeit.co/blog/next"> here. </a>']}},227:function(e,t,l){e.exports=l(109)}},[227]); 4 | return { page: comp.default } 5 | }) 6 | -------------------------------------------------------------------------------- /docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/components-article/index.js: -------------------------------------------------------------------------------- 1 | 2 | window.__NEXT_REGISTER_PAGE('/components-article', function() { 3 | var comp = module.exports=webpackJsonp([10],{104:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),a=u(n),d=l(183),o=u(d);t.default=function(e){return a.default.createElement(o.default,null)}},183:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),a=u(n),d=l(16),o=u(d),r=l(19),f=u(r),c=l(18),i=u(c),s=l(37),m=u(s),p=l(17),b=u(p),h=l(20),E=u(h),_=l(21),v=u(_),M=l(192),y=u(M),g=function(e){e.children;return a.default.createElement("div",null,a.default.createElement(o.default,null,a.default.createElement(E.default,{title:"Components"}),a.default.createElement(f.default,null,a.default.createElement(i.default,{items:v.default})),a.default.createElement(b.default,null,a.default.createElement(m.default,{article:y.default}))))};t.default=g},192:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={date:"Jun 13th 2016",title:"Wodle Components",content:['Wodle has a number of components built in that are being used to display this blog you can read more about them on the <a href="http://github.com/lucas-aragno/wodle"> README </a>']}},222:function(e,t,l){e.exports=l(104)}},[222]); 4 | return { page: comp.default } 5 | }) 6 | -------------------------------------------------------------------------------- /docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/functional-css/index.js: -------------------------------------------------------------------------------- 1 | 2 | window.__NEXT_REGISTER_PAGE('/functional-css', function() { 3 | var comp = module.exports=webpackJsonp([9],{106:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=l(0),n=u(a),r=l(185),c=u(r);t.default=function(e){return n.default.createElement(c.default,null)}},185:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=l(0),n=u(a),r=l(16),c=u(r),d=l(19),f=u(d),i=l(18),o=u(i),s=l(37),m=u(s),p=l(17),h=u(p),_=l(20),E=u(_),b=l(21),v=u(b),y=l(194),S=u(y),C=function(e){e.children;return n.default.createElement("div",null,n.default.createElement(c.default,null,n.default.createElement(E.default,{title:"Functional Css"}),n.default.createElement(f.default,null,n.default.createElement(o.default,{items:v.default})),n.default.createElement(h.default,null,n.default.createElement(m.default,{article:S.default}))))};t.default=C},194:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={date:"Jun 13th 2016",title:"Functional CSS",content:["Functional CSS it's a way to write CSS that I particularly like a lot",'Check <a href="https://github.com/chibicode/react-functional-css-protips"> This essay to learn more about that! </a>']}},224:function(e,t,l){e.exports=l(106)}},[224]); 4 | return { page: comp.default } 5 | }) 6 | -------------------------------------------------------------------------------- /docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/tachyons/index.js: -------------------------------------------------------------------------------- 1 | 2 | window.__NEXT_REGISTER_PAGE('/tachyons', function() { 3 | var comp = module.exports=webpackJsonp([6],{111:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),n=a(u),o=l(191),r=a(o);t.default=function(e){return n.default.createElement(r.default,null)}},191:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),n=a(u),o=l(16),r=a(o),f=l(19),d=a(f),c=l(18),s=a(c),i=l(37),p=a(i),h=l(17),m=a(h),b=l(20),y=a(b),_=l(21),v=a(_),E=l(199),M=a(E),g=function(e){e.children;return n.default.createElement("div",null,n.default.createElement(r.default,null,n.default.createElement(y.default,{title:"Tachyons"}),n.default.createElement(d.default,null,n.default.createElement(s.default,{items:v.default})),n.default.createElement(m.default,null,n.default.createElement(p.default,{article:M.default}))))};t.default=g},199:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={date:"Jun 13th 2016",title:"Tachyons",content:["Tachyons is a popular functional CSS toolkit, it can be hard to get used to at first because it has a lot of classes but long term it will improve your general development flow.",'Check <a href="http://tachyons.io/docs/table-of-styles/">the table of styles </a> and <a href="http://tachyons.io/docs/table-of-properties/"> the table of properties </a> for more info.']}},229:function(e,t,l){e.exports=l(111)}},[229]); 4 | return { page: comp.default } 5 | }) 6 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const fs = require('fs') 3 | const copydir = require('copy-dir') 4 | const handlebars = require('handlebars') 5 | 6 | const removeSlash = (appPath) => { 7 | if (appPath.charAt(appPath.length - 1) === '/') { 8 | return appPath.substring(0, appPath.length - 1) 9 | } 10 | return appPath 11 | } 12 | 13 | const applyTemplate = (inputPath, outputPath, data) => { 14 | const templateData = data || {} 15 | const text = fs.readFileSync(inputPath, 'utf8') 16 | const template = handlebars.compile(text) 17 | const result = template(templateData) 18 | fs.writeFile(outputPath, result, (err) => { 19 | if (err) { 20 | return console.log(err) 21 | } 22 | console.log(`${outputPath} created!`) 23 | }) 24 | } 25 | 26 | const copyFolder = (inputFolder, outputPath) => { 27 | copydir(inputFolder, outputPath, (err) => { 28 | if (err) { 29 | return console.error(err) 30 | } 31 | console.log(`${outputPath} created!`) 32 | }) 33 | } 34 | 35 | const create = (appPath) => { 36 | const appName = removeSlash(appPath) 37 | 38 | fs.mkdirSync(appName) 39 | applyTemplate(`${__dirname}/templates/.gitignore-template`, `${appName}/.gitignore`) 40 | applyTemplate(`${__dirname}/templates/postcss.config.js`, `${appName}/postcss.config.js`) 41 | applyTemplate(`${__dirname}/templates/next.config.js`, `${appName}/next.config.js`) 42 | applyTemplate(`${__dirname}/templates/package.json`, `${appName}/package.json`, {'appName': appName}) 43 | 44 | copyFolder(`${__dirname}/templates/pages/`, `${appName}/pages`) 45 | copyFolder(`${__dirname}/templates/components`, `${appName}/components`) 46 | copyFolder(`${__dirname}/templates/styles`, `${appName}/styles`) 47 | copyFolder(`${__dirname}/templates/content`, `${appName}/content`) 48 | copyFolder(`${__dirname}/templates/static`, `${appName}/static`) 49 | console.log(`Project created at ${path.resolve(appPath)}`) 50 | } 51 | 52 | module.exports = { 53 | create 54 | } 55 | -------------------------------------------------------------------------------- /docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/next-js/index.js: -------------------------------------------------------------------------------- 1 | 2 | window.__NEXT_REGISTER_PAGE('/next-js', function() { 3 | var comp = module.exports=webpackJsonp([4],{108:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(189),f=a(n);t.default=function(e){return r.default.createElement(f.default,null)}},189:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(16),f=a(n),c=l(19),s=a(c),d=l(18),i=a(d),o=l(36),m=a(o),h=l(17),p=a(h),E=l(20),v=a(E),_=l(21),N=a(_),y=l(197),x=a(y),M=function(e){e.children;return r.default.createElement("div",null,r.default.createElement(f.default,null,r.default.createElement(v.default,{title:"Next"}),r.default.createElement(s.default,null,r.default.createElement(i.default,{items:N.default})),r.default.createElement(p.default,null,r.default.createElement(m.default,{articles:x.default,listTitle:"Next.js"}))))};t.default=M},197:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=[{title:"What is Next.js",short:"Get started with Next.js",date:"Jun 13th 2017",href:"/next",author:"Lucas Aragno"}]},226:function(e,t,l){e.exports=l(108)},35:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(50),f=a(n),c=function(e){var t=e.article;return r.default.createElement("article",{className:"pv4 ph3 ph0-l"},r.default.createElement("div",{className:"flex flex-column flex-row-ns"},r.default.createElement("div",{className:"w-100 w-60-ns pr3-ns order-2 order-1-ns"},r.default.createElement(f.default,{prefetch:!0,href:t.href,className:"pv2"},r.default.createElement("h1",{className:"f3 athelas mt0 lh-title link pointer hover-light-gray"},t.title)),r.default.createElement("p",{className:"f5 f4-l lh-copy athelas"},t.short))),r.default.createElement("p",{className:"f6 lh-copy gray mv0"},"By ",r.default.createElement("span",{className:"ttu"},t.author)),r.default.createElement("time",{className:"f6 db gray"},t.date))};t.default=c},36:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(35),f=a(n),c=function(e){var t=e.articles,l=e.listTitle;return r.default.createElement("section",{className:"w-70 center"},r.default.createElement("h2",{className:"athelas ph3 ph0-l f2"},l),t.map(function(e,t){return r.default.createElement(f.default,{article:e})}))};t.default=c}},[226]); 4 | return { page: comp.default } 5 | }) 6 | -------------------------------------------------------------------------------- /docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/components/index.js: -------------------------------------------------------------------------------- 1 | 2 | window.__NEXT_REGISTER_PAGE('/components', function() { 3 | var comp = module.exports=webpackJsonp([5],{105:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),u=a(n),r=l(184),c=a(r);t.default=function(e){return u.default.createElement(c.default,null)}},184:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),u=a(n),r=l(16),c=a(r),f=l(19),d=a(f),s=l(18),o=a(s),i=l(36),m=a(i),p=l(17),h=a(p),E=l(20),v=a(E),_=l(21),y=a(_),N=l(193),M=a(N),b=function(e){e.children;return u.default.createElement("div",null,u.default.createElement(c.default,null,u.default.createElement(v.default,{title:"Components"}),u.default.createElement(d.default,null,u.default.createElement(o.default,{items:y.default})),u.default.createElement(h.default,null,u.default.createElement(m.default,{articles:M.default,listTitle:"Components"}))))};t.default=b},193:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=[{title:"Components included in Wodle",short:"List of components built in Wodle and how they work.",date:"Jun 13th 2017",href:"/components-article",author:"Lucas Aragno"}]},223:function(e,t,l){e.exports=l(105)},35:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),u=a(n),r=l(50),c=a(r),f=function(e){var t=e.article;return u.default.createElement("article",{className:"pv4 ph3 ph0-l"},u.default.createElement("div",{className:"flex flex-column flex-row-ns"},u.default.createElement("div",{className:"w-100 w-60-ns pr3-ns order-2 order-1-ns"},u.default.createElement(c.default,{prefetch:!0,href:t.href,className:"pv2"},u.default.createElement("h1",{className:"f3 athelas mt0 lh-title link pointer hover-light-gray"},t.title)),u.default.createElement("p",{className:"f5 f4-l lh-copy athelas"},t.short))),u.default.createElement("p",{className:"f6 lh-copy gray mv0"},"By ",u.default.createElement("span",{className:"ttu"},t.author)),u.default.createElement("time",{className:"f6 db gray"},t.date))};t.default=f},36:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),u=a(n),r=l(35),c=a(r),f=function(e){var t=e.articles,l=e.listTitle;return u.default.createElement("section",{className:"w-70 center"},u.default.createElement("h2",{className:"athelas ph3 ph0-l f2"},l),t.map(function(e,t){return u.default.createElement(c.default,{article:e})}))};t.default=f}},[223]); 4 | return { page: comp.default } 5 | }) 6 | -------------------------------------------------------------------------------- /docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/styles/index.js: -------------------------------------------------------------------------------- 1 | 2 | window.__NEXT_REGISTER_PAGE('/styles', function() { 3 | var comp = module.exports=webpackJsonp([3],{110:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(190),c=a(n);t.default=function(e){return r.default.createElement(c.default,null)}},190:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(16),c=a(n),f=l(19),s=a(f),d=l(18),o=a(d),i=l(36),m=a(i),h=l(17),p=a(h),E=l(20),v=a(E),_=l(21),y=a(_),N=l(198),g=a(N),M=function(e){e.children;return r.default.createElement("div",null,r.default.createElement(c.default,null,r.default.createElement(v.default,{title:"Styles"}),r.default.createElement(s.default,null,r.default.createElement(o.default,{items:y.default})),r.default.createElement(p.default,null,r.default.createElement(m.default,{articles:g.default,listTitle:"Styles"}))))};t.default=M},198:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=[{title:"Tachyons",short:"Learn Tachyons for the greater good!",date:"Jun 13th 2017",href:"/tachyons",author:"Lucas Aragno"},{title:"Functional CSS",short:"The greatest thing since bread came sliced",date:"Jun 13th 2017",href:"/functional-css",author:"Lucas Aragno"}]},228:function(e,t,l){e.exports=l(110)},35:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(50),c=a(n),f=function(e){var t=e.article;return r.default.createElement("article",{className:"pv4 ph3 ph0-l"},r.default.createElement("div",{className:"flex flex-column flex-row-ns"},r.default.createElement("div",{className:"w-100 w-60-ns pr3-ns order-2 order-1-ns"},r.default.createElement(c.default,{prefetch:!0,href:t.href,className:"pv2"},r.default.createElement("h1",{className:"f3 athelas mt0 lh-title link pointer hover-light-gray"},t.title)),r.default.createElement("p",{className:"f5 f4-l lh-copy athelas"},t.short))),r.default.createElement("p",{className:"f6 lh-copy gray mv0"},"By ",r.default.createElement("span",{className:"ttu"},t.author)),r.default.createElement("time",{className:"f6 db gray"},t.date))};t.default=f},36:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(35),c=a(n),f=function(e){var t=e.articles,l=e.listTitle;return r.default.createElement("section",{className:"w-70 center"},r.default.createElement("h2",{className:"athelas ph3 ph0-l f2"},l),t.map(function(e,t){return r.default.createElement(c.default,{article:e})}))};t.default=f}},[228]); 4 | return { page: comp.default } 5 | }) 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Wodle 2 | 3 | **Wodle** is a static site generator using new frameworks and tools for modern web development. It's built on top of [Next.js](https://zeit.co/blog/next) and [Tachyons](http://tachyons.io/). And you can easily turn the generated static site into a fully dynamic website. 4 | 5 | ## Why? 6 | 7 | Because NextJS and functional CSS make super easy to get started with a blog or a static page so it's a good starting point for bloggers and dev that wants to learn those technologies. 8 | 9 | ## Installation 10 | 11 | You can install **Wodle** via npm: 12 | 13 | ``` 14 | npm install -g wodle 15 | ``` 16 | 17 | ## Getting started 18 | 19 | Once Wodle is installed, you can use the `wodle` command. To build a new site you can run: 20 | 21 | ``` 22 | wodle myBlog 23 | ``` 24 | 25 | <p align="center"> 26 | <img src="https://github.com/lucas-aragno/wodle/blob/master/images/aOdE6viaya.gif"> 27 | </p> 28 | 29 | That will generate a new site called `myBlog` on the same directory where you ran the command 30 | 31 | To get started with your new site you just need to cd into it and then install the dependencies: 32 | 33 | ``` 34 | cd myBlog 35 | yarn 36 | ``` 37 | 38 | That will fetch all the dependencies, once that's ready you can start a server running: 39 | 40 | ``` 41 | yarn dev 42 | ``` 43 | 44 | And go to `localhost:3000/`, you should see a site like this one: 45 | 46 | <p align="center"> 47 | <img src="https://github.com/lucas-aragno/wodle/blob/master/images/site.png"> 48 | </p> 49 | 50 | That server will listen to changes on your app and reload the browser. 51 | 52 | 53 | If you want to run your site without the hot-reloading you can run: 54 | 55 | ``` 56 | yarn start 57 | ``` 58 | 59 | ## Build your site 60 | 61 | To build your site you can run: 62 | 63 | ``` 64 | yarn build 65 | ``` 66 | 67 | which will generate an `out/` folder with your static site ready to be published. 68 | 69 | 70 | ## How it works? 71 | 72 | Your site will have different folders: 73 | 74 | ### Pages Folder 75 | 76 | This folder contains your pages files and their names matches their routes, so if you want to add a new page on `/new-page` you will need to add a new component on this folder called `new-page.js`. For advanced routing check [here](https://github.com/zeit/next.js/#routing). 77 | 78 | The scaffold comes with some page components prebuilt on the `components` folder. 79 | 80 | ## Components Folder 81 | 82 | In this folder you will find all the pre-built components on the site, the core components of this scaffold app are: 83 | 84 | * SideBar 85 | 86 | A sidebar component that gets items and renders a Nav with their NavItems, the content for this component it's on `content/sideBarOptions.js` 87 | 88 | * Main 89 | 90 | This components just wraps whatever you want to display on the main section (the center of the site). 91 | 92 | * MainArticle 93 | 94 | This component renders the main Article, as you see on the index and each particular article. A demo of the content that can be processed by this component it's on `content/mainArticle`. 95 | 96 | * ArticleList 97 | 98 | This component renders a list of articles as you will see on each individual page from the sidebar menu, you can see the lists on `content/` on the `<something>Articles.js` files 99 | 100 | 101 | among others 102 | 103 | ## Styles Folder 104 | 105 | Your styles folder is for all your css (right now almost empty thanks to functional CSS and Tachyons) 106 | 107 | ### Extending the Site 108 | 109 | You can continue deleting pages (removing files from the `pages` folder) adding more pages, articles, options following the patterns on the scaffold or just change everything as you want! You can read great guides on Next.js site and Tachyons to make your awesome website or blog! 110 | 111 | 112 | based on previous art [chibicode.com](https://github.com/chibicode/chibicode.com) and [jspg](https://github.com/bryanjos/jspg) 113 | -------------------------------------------------------------------------------- /docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/_error/index.js: -------------------------------------------------------------------------------- 1 | 2 | window.__NEXT_REGISTER_PAGE('/_error', function() { 3 | var comp = module.exports=webpackJsonp([11],{103:function(e,t,E){"use strict";e.exports=E(178)},173:function(e,t){e.exports={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",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent 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 Time-out",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Request Entity Too Large",414:"Request-URI Too Large",415:"Unsupported Media Type",416:"Requested Range not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Time-out",505:"HTTP Version not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required",CONTINUE:100,SWITCHING_PROTOCOLS:101,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,IM_USED:226,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,REQUEST_ENTITY_TOO_LARGE:413,REQUEST_URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,REQUESTED_RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,LOCKED:423,FAILED_DEPENDENCY:424,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511}},178:function(e,t,E){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=E(10),i=n(o),a=E(4),r=n(a),T=E(5),l=n(T),d=E(12),R=n(d),u=E(11),_=n(u),s=E(0),N=n(s),O=E(173),A=n(O),I=E(49),c=n(I),p=function(e){function t(){return(0,r.default)(this,t),(0,R.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,_.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){var e=this.props.statusCode,t=404===e?"This page could not be found":A.default[e]||"An unexpected error has occurred";return N.default.createElement("div",{style:S.error},N.default.createElement(c.default,null,N.default.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"})),N.default.createElement("div",null,N.default.createElement("style",{dangerouslySetInnerHTML:{__html:"body { margin: 0 }"}}),e?N.default.createElement("h1",{style:S.h1},e):null,N.default.createElement("div",{style:S.desc},N.default.createElement("h2",{style:S.h2},t,"."))))}}],[{key:"getInitialProps",value:function(e){var t=e.res,E=e.err;return{statusCode:t?t.statusCode:E?E.statusCode:null}}}]),t}(N.default.Component);t.default=p;var S={error:{color:"#000",background:"#fff",fontFamily:'-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block",textAlign:"left",lineHeight:"49px",height:"49px",verticalAlign:"middle"},h1:{display:"inline-block",borderRight:"1px solid rgba(0, 0, 0,.3)",margin:0,marginRight:"20px",padding:"10px 23px 10px 0",fontSize:"24px",fontWeight:500,verticalAlign:"top"},h2:{fontSize:"14px",fontWeight:"normal",margin:0,padding:0}}},232:function(e,t,E){e.exports=E(103)}},[232]); 4 | return { page: comp.default } 5 | }) 6 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | align-text@^0.1.1, align-text@^0.1.3: 4 | version "0.1.4" 5 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 6 | dependencies: 7 | kind-of "^3.0.2" 8 | longest "^1.0.1" 9 | repeat-string "^1.5.2" 10 | 11 | amdefine@>=0.0.4: 12 | version "1.0.1" 13 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" 14 | 15 | async@^1.4.0: 16 | version "1.5.2" 17 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 18 | 19 | camelcase@^1.0.2: 20 | version "1.2.1" 21 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 22 | 23 | center-align@^0.1.1: 24 | version "0.1.3" 25 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" 26 | dependencies: 27 | align-text "^0.1.3" 28 | lazy-cache "^1.0.3" 29 | 30 | cliui@^2.1.0: 31 | version "2.1.0" 32 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 33 | dependencies: 34 | center-align "^0.1.1" 35 | right-align "^0.1.1" 36 | wordwrap "0.0.2" 37 | 38 | commander: 39 | version "2.9.0" 40 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" 41 | dependencies: 42 | graceful-readlink ">= 1.0.0" 43 | 44 | copy-dir: 45 | version "0.3.0" 46 | resolved "https://registry.yarnpkg.com/copy-dir/-/copy-dir-0.3.0.tgz#deb2dc2fa9c9290ed47c84155a999a6d45f5a358" 47 | dependencies: 48 | mkdir-p "~0.0.4" 49 | 50 | decamelize@^1.0.0: 51 | version "1.2.0" 52 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 53 | 54 | "graceful-readlink@>= 1.0.0": 55 | version "1.0.1" 56 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" 57 | 58 | handlebars: 59 | version "4.0.10" 60 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" 61 | dependencies: 62 | async "^1.4.0" 63 | optimist "^0.6.1" 64 | source-map "^0.4.4" 65 | optionalDependencies: 66 | uglify-js "^2.6" 67 | 68 | is-buffer@^1.1.5: 69 | version "1.1.5" 70 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" 71 | 72 | kind-of@^3.0.2: 73 | version "3.2.2" 74 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 75 | dependencies: 76 | is-buffer "^1.1.5" 77 | 78 | lazy-cache@^1.0.3: 79 | version "1.0.4" 80 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 81 | 82 | longest@^1.0.1: 83 | version "1.0.1" 84 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" 85 | 86 | minimist@~0.0.1: 87 | version "0.0.10" 88 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" 89 | 90 | mkdir-p@~0.0.4: 91 | version "0.0.7" 92 | resolved "https://registry.yarnpkg.com/mkdir-p/-/mkdir-p-0.0.7.tgz#24c5dbe26da3a99ef158a1eef9a5c2dd9de5683c" 93 | 94 | ncp: 95 | version "2.0.0" 96 | resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" 97 | 98 | optimist@^0.6.1: 99 | version "0.6.1" 100 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 101 | dependencies: 102 | minimist "~0.0.1" 103 | wordwrap "~0.0.2" 104 | 105 | repeat-string@^1.5.2: 106 | version "1.6.1" 107 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 108 | 109 | right-align@^0.1.1: 110 | version "0.1.3" 111 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" 112 | dependencies: 113 | align-text "^0.1.1" 114 | 115 | source-map@^0.4.4: 116 | version "0.4.4" 117 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 118 | dependencies: 119 | amdefine ">=0.0.4" 120 | 121 | source-map@~0.5.1: 122 | version "0.5.6" 123 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 124 | 125 | uglify-js@^2.6: 126 | version "2.8.28" 127 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.28.tgz#e335032df9bb20dcb918f164589d5af47f38834a" 128 | dependencies: 129 | source-map "~0.5.1" 130 | yargs "~3.10.0" 131 | optionalDependencies: 132 | uglify-to-browserify "~1.0.0" 133 | 134 | uglify-to-browserify@~1.0.0: 135 | version "1.0.2" 136 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" 137 | 138 | window-size@0.1.0: 139 | version "0.1.0" 140 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" 141 | 142 | wordwrap@~0.0.2: 143 | version "0.0.3" 144 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 145 | 146 | wordwrap@0.0.2: 147 | version "0.0.2" 148 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 149 | 150 | yargs@~3.10.0: 151 | version "3.10.0" 152 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" 153 | dependencies: 154 | camelcase "^1.0.2" 155 | cliui "^2.1.0" 156 | decamelize "^1.0.0" 157 | window-size "0.1.0" 158 | 159 | -------------------------------------------------------------------------------- /docs/next-js/index.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html><html><head><link rel="preload" href="/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/next-js/index.js" as="script"/><link rel="preload" href="/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/_error/index.js" as="script"/><link rel="preload" href="/_next/5400d173cb37ca70af4e15619372c7da/app.js" as="script"/><meta charset="utf-8" class="next-head"/><meta class="next-head"/><meta content="IE=edge" class="next-head"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" class="next-head"/><style class="next-head">/*! TACHYONS v4.7.3 | http://tachyons.io */ 2 | /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ 3 | html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} 4 | body{margin:0} 5 | article,aside,footer,header,nav,section{display:block} 6 | h1{font-size:2em;margin:.67em 0} 7 | figcaption,figure,main{display:block} 8 | figure{margin:1em 40px} 9 | hr{box-sizing:content-box;height:0;overflow:visible} 10 | pre{font-family:monospace,monospace;font-size:1em} 11 | a{background-color:transparent;-webkit-text-decoration-skip:objects} 12 | abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted} 13 | b,strong{font-weight:inherit;font-weight:bolder} 14 | code,kbd,samp{font-family:monospace,monospace;font-size:1em} 15 | dfn{font-style:italic} 16 | mark{background-color:#ff0;color:#000} 17 | small{font-size:80%} 18 | sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} 19 | sub{bottom:-.25em} 20 | sup{top:-.5em} 21 | audio,video{display:inline-block} 22 | audio:not([controls]){display:none;height:0} 23 | img{border-style:none} 24 | svg:not(:root){overflow:hidden} 25 | button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0} 26 | button,input{overflow:visible} 27 | button,select{text-transform:none} 28 | /* 1 */ 29 | [type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button} 30 | [type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0} 31 | [type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText} 32 | fieldset{padding:.35em .75em .625em} 33 | legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal} 34 | progress{display:inline-block;vertical-align:baseline} 35 | textarea{overflow:auto} 36 | [type=checkbox],[type=radio]{box-sizing:border-box;padding:0} 37 | [type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto} 38 | [type=search]{-webkit-appearance:textfield;outline-offset:-2px} 39 | [type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none} 40 | ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit} 41 | /* 1 */ 42 | menu,details{display:block} 43 | summary{display:list-item} 44 | canvas{display:inline-block} 45 | [hidden],template{display:none} 46 | .border-box,a,article,body,code,dd,div,dl,dt,fieldset,footer,form,h1,h2,h3,h4,h5,h6,header,html,input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=url],legend,li,main,ol,p,pre,section,table,td,textarea,th,tr,ul{box-sizing:border-box} 47 | .aspect-ratio{height:0;position:relative} 48 | .aspect-ratio--16x9{padding-bottom:56.25%} 49 | .aspect-ratio--9x16{padding-bottom:177.77%} 50 | .aspect-ratio--4x3{padding-bottom:75%} 51 | .aspect-ratio--3x4{padding-bottom:133.33%} 52 | .aspect-ratio--6x4{padding-bottom:66.6%} 53 | .aspect-ratio--4x6{padding-bottom:150%} 54 | .aspect-ratio--8x5{padding-bottom:62.5%} 55 | .aspect-ratio--5x8{padding-bottom:160%} 56 | .aspect-ratio--7x5{padding-bottom:71.42%} 57 | .aspect-ratio--5x7{padding-bottom:140%} 58 | .aspect-ratio--1x1{padding-bottom:100%} 59 | .aspect-ratio--object{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100} 60 | img{max-width:100%} 61 | .cover{background-size:cover!important} 62 | .contain{background-size:contain!important} 63 | .bg-center{background-position:50%} 64 | .bg-center,.bg-top{background-repeat:no-repeat} 65 | .bg-top{background-position:top} 66 | .bg-right{background-position:100%} 67 | .bg-bottom,.bg-right{background-repeat:no-repeat} 68 | .bg-bottom{background-position:bottom} 69 | .bg-left{background-repeat:no-repeat;background-position:0} 70 | .outline{outline:1px solid} 71 | .outline-transparent{outline:1px solid transparent} 72 | .outline-0{outline:0} 73 | .ba{border-style:solid;border-width:1px} 74 | .bt{border-top-style:solid;border-top-width:1px} 75 | .br{border-right-style:solid;border-right-width:1px} 76 | .bb{border-bottom-style:solid;border-bottom-width:1px} 77 | .bl{border-left-style:solid;border-left-width:1px} 78 | .bn{border-style:none;border-width:0} 79 | .b--black{border-color:#000} 80 | .b--near-black{border-color:#111} 81 | .b--dark-gray{border-color:#333} 82 | .b--mid-gray{border-color:#555} 83 | .b--gray{border-color:#777} 84 | .b--silver{border-color:#999} 85 | .b--light-silver{border-color:#aaa} 86 | .b--moon-gray{border-color:#ccc} 87 | .b--light-gray{border-color:#eee} 88 | .b--near-white{border-color:#f4f4f4} 89 | .b--white{border-color:#fff} 90 | .b--white-90{border-color:hsla(0,0%,100%,.9)} 91 | .b--white-80{border-color:hsla(0,0%,100%,.8)} 92 | .b--white-70{border-color:hsla(0,0%,100%,.7)} 93 | .b--white-60{border-color:hsla(0,0%,100%,.6)} 94 | .b--white-50{border-color:hsla(0,0%,100%,.5)} 95 | .b--white-40{border-color:hsla(0,0%,100%,.4)} 96 | .b--white-30{border-color:hsla(0,0%,100%,.3)} 97 | .b--white-20{border-color:hsla(0,0%,100%,.2)} 98 | .b--white-10{border-color:hsla(0,0%,100%,.1)} 99 | .b--white-05{border-color:hsla(0,0%,100%,.05)} 100 | .b--white-025{border-color:hsla(0,0%,100%,.025)} 101 | .b--white-0125{border-color:hsla(0,0%,100%,.0125)} 102 | .b--black-90{border-color:rgba(0,0,0,.9)} 103 | .b--black-80{border-color:rgba(0,0,0,.8)} 104 | .b--black-70{border-color:rgba(0,0,0,.7)} 105 | .b--black-60{border-color:rgba(0,0,0,.6)} 106 | .b--black-50{border-color:rgba(0,0,0,.5)} 107 | .b--black-40{border-color:rgba(0,0,0,.4)} 108 | .b--black-30{border-color:rgba(0,0,0,.3)} 109 | .b--black-20{border-color:rgba(0,0,0,.2)} 110 | .b--black-10{border-color:rgba(0,0,0,.1)} 111 | .b--black-05{border-color:rgba(0,0,0,.05)} 112 | .b--black-025{border-color:rgba(0,0,0,.025)} 113 | .b--black-0125{border-color:rgba(0,0,0,.0125)} 114 | .b--dark-red{border-color:#e7040f} 115 | .b--red{border-color:#ff4136} 116 | .b--light-red{border-color:#ff725c} 117 | .b--orange{border-color:#ff6300} 118 | .b--gold{border-color:#ffb700} 119 | .b--yellow{border-color:gold} 120 | .b--light-yellow{border-color:#fbf1a9} 121 | .b--purple{border-color:#5e2ca5} 122 | .b--light-purple{border-color:#a463f2} 123 | .b--dark-pink{border-color:#d5008f} 124 | .b--hot-pink{border-color:#ff41b4} 125 | .b--pink{border-color:#ff80cc} 126 | .b--light-pink{border-color:#ffa3d7} 127 | .b--dark-green{border-color:#137752} 128 | .b--green{border-color:#19a974} 129 | .b--light-green{border-color:#9eebcf} 130 | .b--navy{border-color:#001b44} 131 | .b--dark-blue{border-color:#00449e} 132 | .b--blue{border-color:#357edd} 133 | .b--light-blue{border-color:#96ccff} 134 | .b--lightest-blue{border-color:#cdecff} 135 | .b--washed-blue{border-color:#f6fffe} 136 | .b--washed-green{border-color:#e8fdf5} 137 | .b--washed-yellow{border-color:#fffceb} 138 | .b--washed-red{border-color:#ffdfdf} 139 | .b--transparent{border-color:transparent} 140 | .b--inherit{border-color:inherit} 141 | .br0{border-radius:0} 142 | .br1{border-radius:.125rem} 143 | .br2{border-radius:.25rem} 144 | .br3{border-radius:.5rem} 145 | .br4{border-radius:1rem} 146 | .br-100{border-radius:100%} 147 | .br-pill{border-radius:9999px} 148 | .br--bottom{border-top-left-radius:0;border-top-right-radius:0} 149 | .br--top{border-bottom-right-radius:0} 150 | .br--right,.br--top{border-bottom-left-radius:0} 151 | .br--right{border-top-left-radius:0} 152 | .br--left{border-top-right-radius:0;border-bottom-right-radius:0} 153 | .b--dotted{border-style:dotted} 154 | .b--dashed{border-style:dashed} 155 | .b--solid{border-style:solid} 156 | .b--none{border-style:none} 157 | .bw0{border-width:0} 158 | .bw1{border-width:.125rem} 159 | .bw2{border-width:.25rem} 160 | .bw3{border-width:.5rem} 161 | .bw4{border-width:1rem} 162 | .bw5{border-width:2rem} 163 | .bt-0{border-top-width:0} 164 | .br-0{border-right-width:0} 165 | .bb-0{border-bottom-width:0} 166 | .bl-0{border-left-width:0} 167 | .shadow-1{box-shadow:0 0 4px 2px rgba(0,0,0,.2)} 168 | .shadow-2{box-shadow:0 0 8px 2px rgba(0,0,0,.2)} 169 | .shadow-3{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)} 170 | .shadow-4{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)} 171 | .shadow-5{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)} 172 | .pre{overflow-x:auto;overflow-y:hidden;overflow:scroll} 173 | .top-0{top:0} 174 | .right-0{right:0} 175 | .bottom-0{bottom:0} 176 | .left-0{left:0} 177 | .top-1{top:1rem} 178 | .right-1{right:1rem} 179 | .bottom-1{bottom:1rem} 180 | .left-1{left:1rem} 181 | .top-2{top:2rem} 182 | .right-2{right:2rem} 183 | .bottom-2{bottom:2rem} 184 | .left-2{left:2rem} 185 | .top--1{top:-1rem} 186 | .right--1{right:-1rem} 187 | .bottom--1{bottom:-1rem} 188 | .left--1{left:-1rem} 189 | .top--2{top:-2rem} 190 | .right--2{right:-2rem} 191 | .bottom--2{bottom:-2rem} 192 | .left--2{left:-2rem} 193 | .absolute--fill{top:0;right:0;bottom:0;left:0} 194 | .cf:after,.cf:before{content:" ";display:table} 195 | .cf:after{clear:both} 196 | .cf{*zoom:1} 197 | .cl{clear:left} 198 | .cr{clear:right} 199 | .cb{clear:both} 200 | .cn{clear:none} 201 | .dn{display:none} 202 | .di{display:inline} 203 | .db{display:block} 204 | .dib{display:inline-block} 205 | .dit{display:inline-table} 206 | .dt{display:table} 207 | .dtc{display:table-cell} 208 | .dt-row{display:table-row} 209 | .dt-row-group{display:table-row-group} 210 | .dt-column{display:table-column} 211 | .dt-column-group{display:table-column-group} 212 | .dt--fixed{table-layout:fixed;width:100%} 213 | .flex{display:-webkit-box;display:-ms-flexbox;display:flex} 214 | .inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex} 215 | .flex-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0} 216 | .flex-none{-webkit-box-flex:0;-ms-flex:none;flex:none} 217 | .flex-column{-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column} 218 | .flex-column,.flex-row{-webkit-box-direction:normal} 219 | .flex-row{-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row} 220 | .flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap} 221 | .flex-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse} 222 | .flex-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse} 223 | .flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse} 224 | .items-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start} 225 | .items-end{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end} 226 | .items-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center} 227 | .items-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline} 228 | .items-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch} 229 | .self-start{-ms-flex-item-align:start;align-self:flex-start} 230 | .self-end{-ms-flex-item-align:end;align-self:flex-end} 231 | .self-center{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center} 232 | .self-baseline{-ms-flex-item-align:baseline;align-self:baseline} 233 | .self-stretch{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch} 234 | .justify-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start} 235 | .justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end} 236 | .justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center} 237 | .justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between} 238 | .justify-around{-ms-flex-pack:distribute;justify-content:space-around} 239 | .content-start{-ms-flex-line-pack:start;align-content:flex-start} 240 | .content-end{-ms-flex-line-pack:end;align-content:flex-end} 241 | .content-center{-ms-flex-line-pack:center;align-content:center} 242 | .content-between{-ms-flex-line-pack:justify;align-content:space-between} 243 | .content-around{-ms-flex-line-pack:distribute;align-content:space-around} 244 | .content-stretch{-ms-flex-line-pack:stretch;align-content:stretch} 245 | .order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0} 246 | .order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1} 247 | .order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2} 248 | .order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3} 249 | .order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4} 250 | .order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5} 251 | .order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6} 252 | .order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7} 253 | .order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8} 254 | .order-last{-webkit-box-ordinal-group:100000;-ms-flex-order:99999;order:99999} 255 | .fl{float:left} 256 | .fl,.fr{_display:inline} 257 | .fr{float:right} 258 | .fn{float:none} 259 | .sans-serif{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif} 260 | .serif{font-family:georgia,times,serif} 261 | .system-sans-serif{font-family:sans-serif} 262 | .system-serif{font-family:serif} 263 | .code,code{font-family:Consolas,monaco,monospace} 264 | .courier{font-family:Courier Next,courier,monospace} 265 | .helvetica{font-family:helvetica neue,helvetica,sans-serif} 266 | .avenir{font-family:avenir next,avenir,sans-serif} 267 | .athelas{font-family:athelas,georgia,serif} 268 | .georgia{font-family:georgia,serif} 269 | .times{font-family:times,serif} 270 | .bodoni{font-family:Bodoni MT,serif} 271 | .calisto{font-family:Calisto MT,serif} 272 | .garamond{font-family:garamond,serif} 273 | .baskerville{font-family:baskerville,serif} 274 | .i{font-style:italic} 275 | .fs-normal{font-style:normal} 276 | .normal{font-weight:400} 277 | .b{font-weight:700} 278 | .fw1{font-weight:100} 279 | .fw2{font-weight:200} 280 | .fw3{font-weight:300} 281 | .fw4{font-weight:400} 282 | .fw5{font-weight:500} 283 | .fw6{font-weight:600} 284 | .fw7{font-weight:700} 285 | .fw8{font-weight:800} 286 | .fw9{font-weight:900} 287 | .input-reset{-webkit-appearance:none;-moz-appearance:none} 288 | .button-reset::-moz-focus-inner,.input-reset::-moz-focus-inner{border:0;padding:0} 289 | .h1{height:1rem} 290 | .h2{height:2rem} 291 | .h3{height:4rem} 292 | .h4{height:8rem} 293 | .h5{height:16rem} 294 | .h-25{height:25%} 295 | .h-50{height:50%} 296 | .h-75{height:75%} 297 | .h-100{height:100%} 298 | .min-h-100{min-height:100%} 299 | .vh-25{height:25vh} 300 | .vh-50{height:50vh} 301 | .vh-75{height:75vh} 302 | .vh-100{height:100vh} 303 | .min-vh-100{min-height:100vh} 304 | .h-auto{height:auto} 305 | .h-inherit{height:inherit} 306 | .tracked{letter-spacing:.1em} 307 | .tracked-tight{letter-spacing:-.05em} 308 | .tracked-mega{letter-spacing:.25em} 309 | .lh-solid{line-height:1} 310 | .lh-title{line-height:1.25} 311 | .lh-copy{line-height:1.5} 312 | .link{text-decoration:none} 313 | .link,.link:active,.link:focus,.link:hover,.link:link,.link:visited{-webkit-transition:color .15s ease-in;transition:color .15s ease-in} 314 | .link:focus{outline:1px dotted currentColor} 315 | .list{list-style-type:none} 316 | .mw-100{max-width:100%} 317 | .mw1{max-width:1rem} 318 | .mw2{max-width:2rem} 319 | .mw3{max-width:4rem} 320 | .mw4{max-width:8rem} 321 | .mw5{max-width:16rem} 322 | .mw6{max-width:32rem} 323 | .mw7{max-width:48rem} 324 | .mw8{max-width:64rem} 325 | .mw9{max-width:96rem} 326 | .mw-none{max-width:none} 327 | .w1{width:1rem} 328 | .w2{width:2rem} 329 | .w3{width:4rem} 330 | .w4{width:8rem} 331 | .w5{width:16rem} 332 | .w-10{width:10%} 333 | .w-20{width:20%} 334 | .w-25{width:25%} 335 | .w-30{width:30%} 336 | .w-33{width:33%} 337 | .w-34{width:34%} 338 | .w-40{width:40%} 339 | .w-50{width:50%} 340 | .w-60{width:60%} 341 | .w-70{width:70%} 342 | .w-75{width:75%} 343 | .w-80{width:80%} 344 | .w-90{width:90%} 345 | .w-100{width:100%} 346 | .w-third{width:33.33333%} 347 | .w-two-thirds{width:66.66667%} 348 | .w-auto{width:auto} 349 | .overflow-visible{overflow:visible} 350 | .overflow-hidden{overflow:hidden} 351 | .overflow-scroll{overflow:scroll} 352 | .overflow-auto{overflow:auto} 353 | .overflow-x-visible{overflow-x:visible} 354 | .overflow-x-hidden{overflow-x:hidden} 355 | .overflow-x-scroll{overflow-x:scroll} 356 | .overflow-x-auto{overflow-x:auto} 357 | .overflow-y-visible{overflow-y:visible} 358 | .overflow-y-hidden{overflow-y:hidden} 359 | .overflow-y-scroll{overflow-y:scroll} 360 | .overflow-y-auto{overflow-y:auto} 361 | .static{position:static} 362 | .relative{position:relative} 363 | .absolute{position:absolute} 364 | .fixed{position:fixed} 365 | .o-100{opacity:1} 366 | .o-90{opacity:.9} 367 | .o-80{opacity:.8} 368 | .o-70{opacity:.7} 369 | .o-60{opacity:.6} 370 | .o-50{opacity:.5} 371 | .o-40{opacity:.4} 372 | .o-30{opacity:.3} 373 | .o-20{opacity:.2} 374 | .o-10{opacity:.1} 375 | .o-05{opacity:.05} 376 | .o-025{opacity:.025} 377 | .o-0{opacity:0} 378 | .rotate-45{-webkit-transform:rotate(45deg);transform:rotate(45deg)} 379 | .rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)} 380 | .rotate-135{-webkit-transform:rotate(135deg);transform:rotate(135deg)} 381 | .rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)} 382 | .rotate-225{-webkit-transform:rotate(225deg);transform:rotate(225deg)} 383 | .rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)} 384 | .rotate-315{-webkit-transform:rotate(315deg);transform:rotate(315deg)} 385 | .black-90{color:rgba(0,0,0,.9)} 386 | .black-80{color:rgba(0,0,0,.8)} 387 | .black-70{color:rgba(0,0,0,.7)} 388 | .black-60{color:rgba(0,0,0,.6)} 389 | .black-50{color:rgba(0,0,0,.5)} 390 | .black-40{color:rgba(0,0,0,.4)} 391 | .black-30{color:rgba(0,0,0,.3)} 392 | .black-20{color:rgba(0,0,0,.2)} 393 | .black-10{color:rgba(0,0,0,.1)} 394 | .black-05{color:rgba(0,0,0,.05)} 395 | .white-90{color:hsla(0,0%,100%,.9)} 396 | .white-80{color:hsla(0,0%,100%,.8)} 397 | .white-70{color:hsla(0,0%,100%,.7)} 398 | .white-60{color:hsla(0,0%,100%,.6)} 399 | .white-50{color:hsla(0,0%,100%,.5)} 400 | .white-40{color:hsla(0,0%,100%,.4)} 401 | .white-30{color:hsla(0,0%,100%,.3)} 402 | .white-20{color:hsla(0,0%,100%,.2)} 403 | .white-10{color:hsla(0,0%,100%,.1)} 404 | .black{color:#000} 405 | .near-black{color:#111} 406 | .dark-gray{color:#333} 407 | .mid-gray{color:#555} 408 | .gray{color:#777} 409 | .silver{color:#999} 410 | .light-silver{color:#aaa} 411 | .moon-gray{color:#ccc} 412 | .light-gray{color:#eee} 413 | .near-white{color:#f4f4f4} 414 | .white{color:#fff} 415 | .dark-red{color:#e7040f} 416 | .red{color:#ff4136} 417 | .light-red{color:#ff725c} 418 | .orange{color:#ff6300} 419 | .gold{color:#ffb700} 420 | .yellow{color:gold} 421 | .light-yellow{color:#fbf1a9} 422 | .purple{color:#5e2ca5} 423 | .light-purple{color:#a463f2} 424 | .dark-pink{color:#d5008f} 425 | .hot-pink{color:#ff41b4} 426 | .pink{color:#ff80cc} 427 | .light-pink{color:#ffa3d7} 428 | .dark-green{color:#137752} 429 | .green{color:#19a974} 430 | .light-green{color:#9eebcf} 431 | .navy{color:#001b44} 432 | .dark-blue{color:#00449e} 433 | .blue{color:#357edd} 434 | .light-blue{color:#96ccff} 435 | .lightest-blue{color:#cdecff} 436 | .washed-blue{color:#f6fffe} 437 | .washed-green{color:#e8fdf5} 438 | .washed-yellow{color:#fffceb} 439 | .washed-red{color:#ffdfdf} 440 | .color-inherit{color:inherit} 441 | .bg-black-90{background-color:rgba(0,0,0,.9)} 442 | .bg-black-80{background-color:rgba(0,0,0,.8)} 443 | .bg-black-70{background-color:rgba(0,0,0,.7)} 444 | .bg-black-60{background-color:rgba(0,0,0,.6)} 445 | .bg-black-50{background-color:rgba(0,0,0,.5)} 446 | .bg-black-40{background-color:rgba(0,0,0,.4)} 447 | .bg-black-30{background-color:rgba(0,0,0,.3)} 448 | .bg-black-20{background-color:rgba(0,0,0,.2)} 449 | .bg-black-10{background-color:rgba(0,0,0,.1)} 450 | .bg-black-05{background-color:rgba(0,0,0,.05)} 451 | .bg-white-90{background-color:hsla(0,0%,100%,.9)} 452 | .bg-white-80{background-color:hsla(0,0%,100%,.8)} 453 | .bg-white-70{background-color:hsla(0,0%,100%,.7)} 454 | .bg-white-60{background-color:hsla(0,0%,100%,.6)} 455 | .bg-white-50{background-color:hsla(0,0%,100%,.5)} 456 | .bg-white-40{background-color:hsla(0,0%,100%,.4)} 457 | .bg-white-30{background-color:hsla(0,0%,100%,.3)} 458 | .bg-white-20{background-color:hsla(0,0%,100%,.2)} 459 | .bg-white-10{background-color:hsla(0,0%,100%,.1)} 460 | .bg-black{background-color:#000} 461 | .bg-near-black{background-color:#111} 462 | .bg-dark-gray{background-color:#333} 463 | .bg-mid-gray{background-color:#555} 464 | .bg-gray{background-color:#777} 465 | .bg-silver{background-color:#999} 466 | .bg-light-silver{background-color:#aaa} 467 | .bg-moon-gray{background-color:#ccc} 468 | .bg-light-gray{background-color:#eee} 469 | .bg-near-white{background-color:#f4f4f4} 470 | .bg-white{background-color:#fff} 471 | .bg-transparent{background-color:transparent} 472 | .bg-dark-red{background-color:#e7040f} 473 | .bg-red{background-color:#ff4136} 474 | .bg-light-red{background-color:#ff725c} 475 | .bg-orange{background-color:#ff6300} 476 | .bg-gold{background-color:#ffb700} 477 | .bg-yellow{background-color:gold} 478 | .bg-light-yellow{background-color:#fbf1a9} 479 | .bg-purple{background-color:#5e2ca5} 480 | .bg-light-purple{background-color:#a463f2} 481 | .bg-dark-pink{background-color:#d5008f} 482 | .bg-hot-pink{background-color:#ff41b4} 483 | .bg-pink{background-color:#ff80cc} 484 | .bg-light-pink{background-color:#ffa3d7} 485 | .bg-dark-green{background-color:#137752} 486 | .bg-green{background-color:#19a974} 487 | .bg-light-green{background-color:#9eebcf} 488 | .bg-navy{background-color:#001b44} 489 | .bg-dark-blue{background-color:#00449e} 490 | .bg-blue{background-color:#357edd} 491 | .bg-light-blue{background-color:#96ccff} 492 | .bg-lightest-blue{background-color:#cdecff} 493 | .bg-washed-blue{background-color:#f6fffe} 494 | .bg-washed-green{background-color:#e8fdf5} 495 | .bg-washed-yellow{background-color:#fffceb} 496 | .bg-washed-red{background-color:#ffdfdf} 497 | .bg-inherit{background-color:inherit} 498 | .hover-black:focus,.hover-black:hover{color:#000} 499 | .hover-near-black:focus,.hover-near-black:hover{color:#111} 500 | .hover-dark-gray:focus,.hover-dark-gray:hover{color:#333} 501 | .hover-mid-gray:focus,.hover-mid-gray:hover{color:#555} 502 | .hover-gray:focus,.hover-gray:hover{color:#777} 503 | .hover-silver:focus,.hover-silver:hover{color:#999} 504 | .hover-light-silver:focus,.hover-light-silver:hover{color:#aaa} 505 | .hover-moon-gray:focus,.hover-moon-gray:hover{color:#ccc} 506 | .hover-light-gray:focus,.hover-light-gray:hover{color:#eee} 507 | .hover-near-white:focus,.hover-near-white:hover{color:#f4f4f4} 508 | .hover-white:focus,.hover-white:hover{color:#fff} 509 | .hover-black-90:focus,.hover-black-90:hover{color:rgba(0,0,0,.9)} 510 | .hover-black-80:focus,.hover-black-80:hover{color:rgba(0,0,0,.8)} 511 | .hover-black-70:focus,.hover-black-70:hover{color:rgba(0,0,0,.7)} 512 | .hover-black-60:focus,.hover-black-60:hover{color:rgba(0,0,0,.6)} 513 | .hover-black-50:focus,.hover-black-50:hover{color:rgba(0,0,0,.5)} 514 | .hover-black-40:focus,.hover-black-40:hover{color:rgba(0,0,0,.4)} 515 | .hover-black-30:focus,.hover-black-30:hover{color:rgba(0,0,0,.3)} 516 | .hover-black-20:focus,.hover-black-20:hover{color:rgba(0,0,0,.2)} 517 | .hover-black-10:focus,.hover-black-10:hover{color:rgba(0,0,0,.1)} 518 | .hover-white-90:focus,.hover-white-90:hover{color:hsla(0,0%,100%,.9)} 519 | .hover-white-80:focus,.hover-white-80:hover{color:hsla(0,0%,100%,.8)} 520 | .hover-white-70:focus,.hover-white-70:hover{color:hsla(0,0%,100%,.7)} 521 | .hover-white-60:focus,.hover-white-60:hover{color:hsla(0,0%,100%,.6)} 522 | .hover-white-50:focus,.hover-white-50:hover{color:hsla(0,0%,100%,.5)} 523 | .hover-white-40:focus,.hover-white-40:hover{color:hsla(0,0%,100%,.4)} 524 | .hover-white-30:focus,.hover-white-30:hover{color:hsla(0,0%,100%,.3)} 525 | .hover-white-20:focus,.hover-white-20:hover{color:hsla(0,0%,100%,.2)} 526 | .hover-white-10:focus,.hover-white-10:hover{color:hsla(0,0%,100%,.1)} 527 | .hover-inherit:focus,.hover-inherit:hover{color:inherit} 528 | .hover-bg-black:focus,.hover-bg-black:hover{background-color:#000} 529 | .hover-bg-near-black:focus,.hover-bg-near-black:hover{background-color:#111} 530 | .hover-bg-dark-gray:focus,.hover-bg-dark-gray:hover{background-color:#333} 531 | .hover-bg-dark-gray:focus,.hover-bg-mid-gray:hover{background-color:#555} 532 | .hover-bg-gray:focus,.hover-bg-gray:hover{background-color:#777} 533 | .hover-bg-silver:focus,.hover-bg-silver:hover{background-color:#999} 534 | .hover-bg-light-silver:focus,.hover-bg-light-silver:hover{background-color:#aaa} 535 | .hover-bg-moon-gray:focus,.hover-bg-moon-gray:hover{background-color:#ccc} 536 | .hover-bg-light-gray:focus,.hover-bg-light-gray:hover{background-color:#eee} 537 | .hover-bg-near-white:focus,.hover-bg-near-white:hover{background-color:#f4f4f4} 538 | .hover-bg-white:focus,.hover-bg-white:hover{background-color:#fff} 539 | .hover-bg-transparent:focus,.hover-bg-transparent:hover{background-color:transparent} 540 | .hover-bg-black-90:focus,.hover-bg-black-90:hover{background-color:rgba(0,0,0,.9)} 541 | .hover-bg-black-80:focus,.hover-bg-black-80:hover{background-color:rgba(0,0,0,.8)} 542 | .hover-bg-black-70:focus,.hover-bg-black-70:hover{background-color:rgba(0,0,0,.7)} 543 | .hover-bg-black-60:focus,.hover-bg-black-60:hover{background-color:rgba(0,0,0,.6)} 544 | .hover-bg-black-50:focus,.hover-bg-black-50:hover{background-color:rgba(0,0,0,.5)} 545 | .hover-bg-black-40:focus,.hover-bg-black-40:hover{background-color:rgba(0,0,0,.4)} 546 | .hover-bg-black-30:focus,.hover-bg-black-30:hover{background-color:rgba(0,0,0,.3)} 547 | .hover-bg-black-20:focus,.hover-bg-black-20:hover{background-color:rgba(0,0,0,.2)} 548 | .hover-bg-black-10:focus,.hover-bg-black-10:hover{background-color:rgba(0,0,0,.1)} 549 | .hover-bg-white-90:focus,.hover-bg-white-90:hover{background-color:hsla(0,0%,100%,.9)} 550 | .hover-bg-white-80:focus,.hover-bg-white-80:hover{background-color:hsla(0,0%,100%,.8)} 551 | .hover-bg-white-70:focus,.hover-bg-white-70:hover{background-color:hsla(0,0%,100%,.7)} 552 | .hover-bg-white-60:focus,.hover-bg-white-60:hover{background-color:hsla(0,0%,100%,.6)} 553 | .hover-bg-white-50:focus,.hover-bg-white-50:hover{background-color:hsla(0,0%,100%,.5)} 554 | .hover-bg-white-40:focus,.hover-bg-white-40:hover{background-color:hsla(0,0%,100%,.4)} 555 | .hover-bg-white-30:focus,.hover-bg-white-30:hover{background-color:hsla(0,0%,100%,.3)} 556 | .hover-bg-white-20:focus,.hover-bg-white-20:hover{background-color:hsla(0,0%,100%,.2)} 557 | .hover-bg-white-10:focus,.hover-bg-white-10:hover{background-color:hsla(0,0%,100%,.1)} 558 | .hover-dark-red:focus,.hover-dark-red:hover{color:#e7040f} 559 | .hover-red:focus,.hover-red:hover{color:#ff4136} 560 | .hover-light-red:focus,.hover-light-red:hover{color:#ff725c} 561 | .hover-orange:focus,.hover-orange:hover{color:#ff6300} 562 | .hover-gold:focus,.hover-gold:hover{color:#ffb700} 563 | .hover-yellow:focus,.hover-yellow:hover{color:gold} 564 | .hover-light-yellow:focus,.hover-light-yellow:hover{color:#fbf1a9} 565 | .hover-purple:focus,.hover-purple:hover{color:#5e2ca5} 566 | .hover-light-purple:focus,.hover-light-purple:hover{color:#a463f2} 567 | .hover-dark-pink:focus,.hover-dark-pink:hover{color:#d5008f} 568 | .hover-hot-pink:focus,.hover-hot-pink:hover{color:#ff41b4} 569 | .hover-pink:focus,.hover-pink:hover{color:#ff80cc} 570 | .hover-light-pink:focus,.hover-light-pink:hover{color:#ffa3d7} 571 | .hover-dark-green:focus,.hover-dark-green:hover{color:#137752} 572 | .hover-green:focus,.hover-green:hover{color:#19a974} 573 | .hover-light-green:focus,.hover-light-green:hover{color:#9eebcf} 574 | .hover-navy:focus,.hover-navy:hover{color:#001b44} 575 | .hover-dark-blue:focus,.hover-dark-blue:hover{color:#00449e} 576 | .hover-blue:focus,.hover-blue:hover{color:#357edd} 577 | .hover-light-blue:focus,.hover-light-blue:hover{color:#96ccff} 578 | .hover-lightest-blue:focus,.hover-lightest-blue:hover{color:#cdecff} 579 | .hover-washed-blue:focus,.hover-washed-blue:hover{color:#f6fffe} 580 | .hover-washed-green:focus,.hover-washed-green:hover{color:#e8fdf5} 581 | .hover-washed-yellow:focus,.hover-washed-yellow:hover{color:#fffceb} 582 | .hover-washed-red:focus,.hover-washed-red:hover{color:#ffdfdf} 583 | .hover-bg-dark-red:focus,.hover-bg-dark-red:hover{background-color:#e7040f} 584 | .hover-bg-red:focus,.hover-bg-red:hover{background-color:#ff4136} 585 | .hover-bg-light-red:focus,.hover-bg-light-red:hover{background-color:#ff725c} 586 | .hover-bg-orange:focus,.hover-bg-orange:hover{background-color:#ff6300} 587 | .hover-bg-gold:focus,.hover-bg-gold:hover{background-color:#ffb700} 588 | .hover-bg-yellow:focus,.hover-bg-yellow:hover{background-color:gold} 589 | .hover-bg-light-yellow:focus,.hover-bg-light-yellow:hover{background-color:#fbf1a9} 590 | .hover-bg-purple:focus,.hover-bg-purple:hover{background-color:#5e2ca5} 591 | .hover-bg-light-purple:focus,.hover-bg-light-purple:hover{background-color:#a463f2} 592 | .hover-bg-dark-pink:focus,.hover-bg-dark-pink:hover{background-color:#d5008f} 593 | .hover-bg-hot-pink:focus,.hover-bg-hot-pink:hover{background-color:#ff41b4} 594 | .hover-bg-pink:focus,.hover-bg-pink:hover{background-color:#ff80cc} 595 | .hover-bg-light-pink:focus,.hover-bg-light-pink:hover{background-color:#ffa3d7} 596 | .hover-bg-dark-green:focus,.hover-bg-dark-green:hover{background-color:#137752} 597 | .hover-bg-green:focus,.hover-bg-green:hover{background-color:#19a974} 598 | .hover-bg-light-green:focus,.hover-bg-light-green:hover{background-color:#9eebcf} 599 | .hover-bg-navy:focus,.hover-bg-navy:hover{background-color:#001b44} 600 | .hover-bg-dark-blue:focus,.hover-bg-dark-blue:hover{background-color:#00449e} 601 | .hover-bg-blue:focus,.hover-bg-blue:hover{background-color:#357edd} 602 | .hover-bg-light-blue:focus,.hover-bg-light-blue:hover{background-color:#96ccff} 603 | .hover-bg-lightest-blue:focus,.hover-bg-lightest-blue:hover{background-color:#cdecff} 604 | .hover-bg-washed-blue:focus,.hover-bg-washed-blue:hover{background-color:#f6fffe} 605 | .hover-bg-washed-green:focus,.hover-bg-washed-green:hover{background-color:#e8fdf5} 606 | .hover-bg-washed-yellow:focus,.hover-bg-washed-yellow:hover{background-color:#fffceb} 607 | .hover-bg-washed-red:focus,.hover-bg-washed-red:hover{background-color:#ffdfdf} 608 | .hover-bg-inherit:focus,.hover-bg-inherit:hover{background-color:inherit} 609 | .pa0{padding:0} 610 | .pa1{padding:.25rem} 611 | .pa2{padding:.5rem} 612 | .pa3{padding:1rem} 613 | .pa4{padding:2rem} 614 | .pa5{padding:4rem} 615 | .pa6{padding:8rem} 616 | .pa7{padding:16rem} 617 | .pl0{padding-left:0} 618 | .pl1{padding-left:.25rem} 619 | .pl2{padding-left:.5rem} 620 | .pl3{padding-left:1rem} 621 | .pl4{padding-left:2rem} 622 | .pl5{padding-left:4rem} 623 | .pl6{padding-left:8rem} 624 | .pl7{padding-left:16rem} 625 | .pr0{padding-right:0} 626 | .pr1{padding-right:.25rem} 627 | .pr2{padding-right:.5rem} 628 | .pr3{padding-right:1rem} 629 | .pr4{padding-right:2rem} 630 | .pr5{padding-right:4rem} 631 | .pr6{padding-right:8rem} 632 | .pr7{padding-right:16rem} 633 | .pb0{padding-bottom:0} 634 | .pb1{padding-bottom:.25rem} 635 | .pb2{padding-bottom:.5rem} 636 | .pb3{padding-bottom:1rem} 637 | .pb4{padding-bottom:2rem} 638 | .pb5{padding-bottom:4rem} 639 | .pb6{padding-bottom:8rem} 640 | .pb7{padding-bottom:16rem} 641 | .pt0{padding-top:0} 642 | .pt1{padding-top:.25rem} 643 | .pt2{padding-top:.5rem} 644 | .pt3{padding-top:1rem} 645 | .pt4{padding-top:2rem} 646 | .pt5{padding-top:4rem} 647 | .pt6{padding-top:8rem} 648 | .pt7{padding-top:16rem} 649 | .pv0{padding-top:0;padding-bottom:0} 650 | .pv1{padding-top:.25rem;padding-bottom:.25rem} 651 | .pv2{padding-top:.5rem;padding-bottom:.5rem} 652 | .pv3{padding-top:1rem;padding-bottom:1rem} 653 | .pv4{padding-top:2rem;padding-bottom:2rem} 654 | .pv5{padding-top:4rem;padding-bottom:4rem} 655 | .pv6{padding-top:8rem;padding-bottom:8rem} 656 | .pv7{padding-top:16rem;padding-bottom:16rem} 657 | .ph0{padding-left:0;padding-right:0} 658 | .ph1{padding-left:.25rem;padding-right:.25rem} 659 | .ph2{padding-left:.5rem;padding-right:.5rem} 660 | .ph3{padding-left:1rem;padding-right:1rem} 661 | .ph4{padding-left:2rem;padding-right:2rem} 662 | .ph5{padding-left:4rem;padding-right:4rem} 663 | .ph6{padding-left:8rem;padding-right:8rem} 664 | .ph7{padding-left:16rem;padding-right:16rem} 665 | .ma0{margin:0} 666 | .ma1{margin:.25rem} 667 | .ma2{margin:.5rem} 668 | .ma3{margin:1rem} 669 | .ma4{margin:2rem} 670 | .ma5{margin:4rem} 671 | .ma6{margin:8rem} 672 | .ma7{margin:16rem} 673 | .ml0{margin-left:0} 674 | .ml1{margin-left:.25rem} 675 | .ml2{margin-left:.5rem} 676 | .ml3{margin-left:1rem} 677 | .ml4{margin-left:2rem} 678 | .ml5{margin-left:4rem} 679 | .ml6{margin-left:8rem} 680 | .ml7{margin-left:16rem} 681 | .mr0{margin-right:0} 682 | .mr1{margin-right:.25rem} 683 | .mr2{margin-right:.5rem} 684 | .mr3{margin-right:1rem} 685 | .mr4{margin-right:2rem} 686 | .mr5{margin-right:4rem} 687 | .mr6{margin-right:8rem} 688 | .mr7{margin-right:16rem} 689 | .mb0{margin-bottom:0} 690 | .mb1{margin-bottom:.25rem} 691 | .mb2{margin-bottom:.5rem} 692 | .mb3{margin-bottom:1rem} 693 | .mb4{margin-bottom:2rem} 694 | .mb5{margin-bottom:4rem} 695 | .mb6{margin-bottom:8rem} 696 | .mb7{margin-bottom:16rem} 697 | .mt0{margin-top:0} 698 | .mt1{margin-top:.25rem} 699 | .mt2{margin-top:.5rem} 700 | .mt3{margin-top:1rem} 701 | .mt4{margin-top:2rem} 702 | .mt5{margin-top:4rem} 703 | .mt6{margin-top:8rem} 704 | .mt7{margin-top:16rem} 705 | .mv0{margin-top:0;margin-bottom:0} 706 | .mv1{margin-top:.25rem;margin-bottom:.25rem} 707 | .mv2{margin-top:.5rem;margin-bottom:.5rem} 708 | .mv3{margin-top:1rem;margin-bottom:1rem} 709 | .mv4{margin-top:2rem;margin-bottom:2rem} 710 | .mv5{margin-top:4rem;margin-bottom:4rem} 711 | .mv6{margin-top:8rem;margin-bottom:8rem} 712 | .mv7{margin-top:16rem;margin-bottom:16rem} 713 | .mh0{margin-left:0;margin-right:0} 714 | .mh1{margin-left:.25rem;margin-right:.25rem} 715 | .mh2{margin-left:.5rem;margin-right:.5rem} 716 | .mh3{margin-left:1rem;margin-right:1rem} 717 | .mh4{margin-left:2rem;margin-right:2rem} 718 | .mh5{margin-left:4rem;margin-right:4rem} 719 | .mh6{margin-left:8rem;margin-right:8rem} 720 | .mh7{margin-left:16rem;margin-right:16rem} 721 | .na1{margin:-.25rem} 722 | .na2{margin:-.5rem} 723 | .na3{margin:-1rem} 724 | .na4{margin:-2rem} 725 | .na5{margin:-4rem} 726 | .na6{margin:-8rem} 727 | .na7{margin:-16rem} 728 | .nl1{margin-left:-.25rem} 729 | .nl2{margin-left:-.5rem} 730 | .nl3{margin-left:-1rem} 731 | .nl4{margin-left:-2rem} 732 | .nl5{margin-left:-4rem} 733 | .nl6{margin-left:-8rem} 734 | .nl7{margin-left:-16rem} 735 | .nr1{margin-right:-.25rem} 736 | .nr2{margin-right:-.5rem} 737 | .nr3{margin-right:-1rem} 738 | .nr4{margin-right:-2rem} 739 | .nr5{margin-right:-4rem} 740 | .nr6{margin-right:-8rem} 741 | .nr7{margin-right:-16rem} 742 | .nb1{margin-bottom:-.25rem} 743 | .nb2{margin-bottom:-.5rem} 744 | .nb3{margin-bottom:-1rem} 745 | .nb4{margin-bottom:-2rem} 746 | .nb5{margin-bottom:-4rem} 747 | .nb6{margin-bottom:-8rem} 748 | .nb7{margin-bottom:-16rem} 749 | .nt1{margin-top:-.25rem} 750 | .nt2{margin-top:-.5rem} 751 | .nt3{margin-top:-1rem} 752 | .nt4{margin-top:-2rem} 753 | .nt5{margin-top:-4rem} 754 | .nt6{margin-top:-8rem} 755 | .nt7{margin-top:-16rem} 756 | .collapse{border-collapse:collapse;border-spacing:0} 757 | .striped--light-silver:nth-child(odd){background-color:#aaa} 758 | .striped--moon-gray:nth-child(odd){background-color:#ccc} 759 | .striped--light-gray:nth-child(odd){background-color:#eee} 760 | .striped--near-white:nth-child(odd){background-color:#f4f4f4} 761 | .stripe-light:nth-child(odd){background-color:hsla(0,0%,100%,.1)} 762 | .stripe-dark:nth-child(odd){background-color:rgba(0,0,0,.1)} 763 | .strike{text-decoration:line-through} 764 | .underline{text-decoration:underline} 765 | .no-underline{text-decoration:none} 766 | .tl{text-align:left} 767 | .tr{text-align:right} 768 | .tc{text-align:center} 769 | .ttc{text-transform:capitalize} 770 | .ttl{text-transform:lowercase} 771 | .ttu{text-transform:uppercase} 772 | .ttn{text-transform:none} 773 | .f-6,.f-headline{font-size:6rem} 774 | .f-5,.f-subheadline{font-size:5rem} 775 | .f1{font-size:3rem} 776 | .f2{font-size:2.25rem} 777 | .f3{font-size:1.5rem} 778 | .f4{font-size:1.25rem} 779 | .f5{font-size:1rem} 780 | .f6{font-size:.875rem} 781 | .f7{font-size:.75rem} 782 | .measure{max-width:30em} 783 | .measure-wide{max-width:34em} 784 | .measure-narrow{max-width:20em} 785 | .indent{text-indent:1em;margin-top:0;margin-bottom:0} 786 | .small-caps{font-variant:small-caps} 787 | .truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis} 788 | .overflow-container{overflow-y:scroll} 789 | .center{margin-right:auto;margin-left:auto} 790 | .clip{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)} 791 | .ws-normal{white-space:normal} 792 | .nowrap{white-space:nowrap} 793 | .pre{white-space:pre} 794 | .v-base{vertical-align:baseline} 795 | .v-mid{vertical-align:middle} 796 | .v-top{vertical-align:top} 797 | .v-btm{vertical-align:bottom} 798 | .dim{opacity:1} 799 | .dim,.dim:focus,.dim:hover{-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in} 800 | .dim:focus,.dim:hover{opacity:.5} 801 | .dim:active{opacity:.8;-webkit-transition:opacity .15s ease-out;transition:opacity .15s ease-out} 802 | .glow,.glow:focus,.glow:hover{-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in} 803 | .glow:focus,.glow:hover{opacity:1} 804 | .hide-child .child{opacity:0;-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in} 805 | .hide-child:active .child,.hide-child:focus .child,.hide-child:hover .child{opacity:1;-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in} 806 | .underline-hover:focus,.underline-hover:hover{text-decoration:underline} 807 | .grow{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition:-webkit-transform .25s ease-out;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out} 808 | .grow:focus,.grow:hover{-webkit-transform:scale(1.05);transform:scale(1.05)} 809 | .grow:active{-webkit-transform:scale(.9);transform:scale(.9)} 810 | .grow-large{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition:-webkit-transform .25s ease-in-out;transition:-webkit-transform .25s ease-in-out;transition:transform .25s ease-in-out;transition:transform .25s ease-in-out,-webkit-transform .25s ease-in-out} 811 | .grow-large:focus,.grow-large:hover{-webkit-transform:scale(1.2);transform:scale(1.2)} 812 | .grow-large:active{-webkit-transform:scale(.95);transform:scale(.95)} 813 | .pointer:hover,.shadow-hover{cursor:pointer} 814 | .shadow-hover{position:relative;-webkit-transition:all .5s cubic-bezier(.165,.84,.44,1);transition:all .5s cubic-bezier(.165,.84,.44,1)} 815 | .shadow-hover:after{content:"";box-shadow:0 0 16px 2px rgba(0,0,0,.2);opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;-webkit-transition:opacity .5s cubic-bezier(.165,.84,.44,1);transition:opacity .5s cubic-bezier(.165,.84,.44,1)} 816 | .shadow-hover:focus:after,.shadow-hover:hover:after{opacity:1} 817 | .bg-animate,.bg-animate:focus,.bg-animate:hover{-webkit-transition:background-color .15s ease-in-out;transition:background-color .15s ease-in-out} 818 | .z-0{z-index:0} 819 | .z-1{z-index:1} 820 | .z-2{z-index:2} 821 | .z-3{z-index:3} 822 | .z-4{z-index:4} 823 | .z-5{z-index:5} 824 | .z-999{z-index:999} 825 | .z-9999{z-index:9999} 826 | .z-max{z-index:2147483647} 827 | .z-inherit{z-index:inherit} 828 | .z-initial{z-index:auto} 829 | .z-unset{z-index:unset} 830 | .nested-copy-line-height ol,.nested-copy-line-height p,.nested-copy-line-height ul{line-height:1.5} 831 | .nested-headline-line-height h1,.nested-headline-line-height h2,.nested-headline-line-height h3,.nested-headline-line-height h4,.nested-headline-line-height h5,.nested-headline-line-height h6{line-height:1.25} 832 | .nested-list-reset ol,.nested-list-reset ul{padding-left:0;margin-left:0;list-style-type:none} 833 | .nested-copy-indent p+p{text-indent:1em;margin-top:0;margin-bottom:0} 834 | .nested-copy-seperator p+p{margin-top:1.5em} 835 | .nested-img img{width:100%;max-width:100%;display:block} 836 | .nested-links a{color:#357edd;-webkit-transition:color .15s ease-in;transition:color .15s ease-in} 837 | .nested-links a:focus,.nested-links a:hover{color:#96ccff;-webkit-transition:color .15s ease-in;transition:color .15s ease-in} 838 | .debug *{outline:1px solid gold} 839 | .debug-white *{outline:1px solid #fff} 840 | .debug-black *{outline:1px solid #000} 841 | .debug-grid{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat 0 0} 842 | .debug-grid-16{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODYyRjhERDU2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODYyRjhERDQ2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QTY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3QjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvCS01IAAABMSURBVHjaYmR4/5+BFPBfAMFm/MBgx8RAGWCn1AAmSg34Q6kBDKMGMDCwICeMIemF/5QawEipAWwUhwEjMDvbAWlWkvVBwu8vQIABAEwBCph8U6c0AAAAAElFTkSuQmCC) repeat 0 0} 843 | .debug-grid-8-solid{background:#fff url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAAAAD/4QMxaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzExMSA3OS4xNTgzMjUsIDIwMTUvMDkvMTAtMDE6MTA6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxMjI0OTczNjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxMjI0OTc0NjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjEyMjQ5NzE2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjEyMjQ5NzI2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAbGhopHSlBJiZBQi8vL0JHPz4+P0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHAR0pKTQmND8oKD9HPzU/R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0f/wAARCAAIAAgDASIAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAAYBAQEAAAAAAAAAAAAAAAAAAAIEEAEBAAMBAAAAAAAAAAAAAAABADECA0ERAAEDBQAAAAAAAAAAAAAAAAARITFBUWESIv/aAAwDAQACEQMRAD8AoOnTV1QTD7JJshP3vSM3P//Z) repeat 0 0} 844 | .debug-grid-16-solid{background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzY3MkJEN0U2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzY3MkJEN0Y2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3RDY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pve6J3kAAAAzSURBVHjaYvz//z8D0UDsMwMjSRoYP5Gq4SPNbRjVMEQ1fCRDg+in/6+J1AJUxsgAEGAA31BAJMS0GYEAAAAASUVORK5CYII=) repeat 0 0} 845 | @media screen and (min-width:30em){.aspect-ratio-ns{height:0;position:relative}.aspect-ratio--16x9-ns{padding-bottom:56.25%}.aspect-ratio--9x16-ns{padding-bottom:177.77%}.aspect-ratio--4x3-ns{padding-bottom:75%}.aspect-ratio--3x4-ns{padding-bottom:133.33%}.aspect-ratio--6x4-ns{padding-bottom:66.6%}.aspect-ratio--4x6-ns{padding-bottom:150%}.aspect-ratio--8x5-ns{padding-bottom:62.5%}.aspect-ratio--5x8-ns{padding-bottom:160%}.aspect-ratio--7x5-ns{padding-bottom:71.42%}.aspect-ratio--5x7-ns{padding-bottom:140%}.aspect-ratio--1x1-ns{padding-bottom:100%}.aspect-ratio--object-ns{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.cover-ns{background-size:cover!important}.contain-ns{background-size:contain!important}.bg-center-ns{background-position:50%}.bg-center-ns,.bg-top-ns{background-repeat:no-repeat}.bg-top-ns{background-position:top}.bg-right-ns{background-position:100%}.bg-bottom-ns,.bg-right-ns{background-repeat:no-repeat}.bg-bottom-ns{background-position:bottom}.bg-left-ns{background-repeat:no-repeat;background-position:0}.outline-ns{outline:1px solid}.outline-transparent-ns{outline:1px solid transparent}.outline-0-ns{outline:0}.ba-ns{border-style:solid;border-width:1px}.bt-ns{border-top-style:solid;border-top-width:1px}.br-ns{border-right-style:solid;border-right-width:1px}.bb-ns{border-bottom-style:solid;border-bottom-width:1px}.bl-ns{border-left-style:solid;border-left-width:1px}.bn-ns{border-style:none;border-width:0}.br0-ns{border-radius:0}.br1-ns{border-radius:.125rem}.br2-ns{border-radius:.25rem}.br3-ns{border-radius:.5rem}.br4-ns{border-radius:1rem}.br-100-ns{border-radius:100%}.br-pill-ns{border-radius:9999px}.br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.br--top-ns{border-bottom-right-radius:0}.br--right-ns,.br--top-ns{border-bottom-left-radius:0}.br--right-ns{border-top-left-radius:0}.br--left-ns{border-top-right-radius:0;border-bottom-right-radius:0}.b--dotted-ns{border-style:dotted}.b--dashed-ns{border-style:dashed}.b--solid-ns{border-style:solid}.b--none-ns{border-style:none}.bw0-ns{border-width:0}.bw1-ns{border-width:.125rem}.bw2-ns{border-width:.25rem}.bw3-ns{border-width:.5rem}.bw4-ns{border-width:1rem}.bw5-ns{border-width:2rem}.bt-0-ns{border-top-width:0}.br-0-ns{border-right-width:0}.bb-0-ns{border-bottom-width:0}.bl-0-ns{border-left-width:0}.shadow-1-ns{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2-ns{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3-ns{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4-ns{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-ns{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}.top-0-ns{top:0}.left-0-ns{left:0}.right-0-ns{right:0}.bottom-0-ns{bottom:0}.top-1-ns{top:1rem}.left-1-ns{left:1rem}.right-1-ns{right:1rem}.bottom-1-ns{bottom:1rem}.top-2-ns{top:2rem}.left-2-ns{left:2rem}.right-2-ns{right:2rem}.bottom-2-ns{bottom:2rem}.top--1-ns{top:-1rem}.right--1-ns{right:-1rem}.bottom--1-ns{bottom:-1rem}.left--1-ns{left:-1rem}.top--2-ns{top:-2rem}.right--2-ns{right:-2rem}.bottom--2-ns{bottom:-2rem}.left--2-ns{left:-2rem}.absolute--fill-ns{top:0;right:0;bottom:0;left:0}.cl-ns{clear:left}.cr-ns{clear:right}.cb-ns{clear:both}.cn-ns{clear:none}.dn-ns{display:none}.di-ns{display:inline}.db-ns{display:block}.dib-ns{display:inline-block}.dit-ns{display:inline-table}.dt-ns{display:table}.dtc-ns{display:table-cell}.dt-row-ns{display:table-row}.dt-row-group-ns{display:table-row-group}.dt-column-ns{display:table-column}.dt-column-group-ns{display:table-column-group}.dt--fixed-ns{table-layout:fixed;width:100%}.flex-ns{display:-webkit-box;display:-ms-flexbox;display:flex}.inline-flex-ns{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.flex-auto-ns{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.flex-none-ns{-webkit-box-flex:0;-ms-flex:none;flex:none}.flex-column-ns{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flex-row-ns{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.flex-wrap-ns{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-column-reverse-ns{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-row-reverse-ns{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-wrap-reverse-ns{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.items-start-ns{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.items-end-ns{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.items-center-ns{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.items-baseline-ns{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.items-stretch-ns{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.self-start-ns{-ms-flex-item-align:start;align-self:flex-start}.self-end-ns{-ms-flex-item-align:end;align-self:flex-end}.self-center-ns{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.self-baseline-ns{-ms-flex-item-align:baseline;align-self:baseline}.self-stretch-ns{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.justify-start-ns{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.justify-end-ns{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.justify-center-ns{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.justify-between-ns{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.justify-around-ns{-ms-flex-pack:distribute;justify-content:space-around}.content-start-ns{-ms-flex-line-pack:start;align-content:flex-start}.content-end-ns{-ms-flex-line-pack:end;align-content:flex-end}.content-center-ns{-ms-flex-line-pack:center;align-content:center}.content-between-ns{-ms-flex-line-pack:justify;align-content:space-between}.content-around-ns{-ms-flex-line-pack:distribute;align-content:space-around}.content-stretch-ns{-ms-flex-line-pack:stretch;align-content:stretch}.order-0-ns{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1-ns{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2-ns{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3-ns{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4-ns{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5-ns{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6-ns{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7-ns{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8-ns{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-last-ns{-webkit-box-ordinal-group:100000;-ms-flex-order:99999;order:99999}.fl-ns{float:left}.fl-ns,.fr-ns{display:inline}.fr-ns{float:right}.fn-ns{float:none}.i-ns{font-style:italic}.fs-normal-ns{font-style:normal}.normal-ns{font-weight:400}.b-ns{font-weight:700}.fw1-ns{font-weight:100}.fw2-ns{font-weight:200}.fw3-ns{font-weight:300}.fw4-ns{font-weight:400}.fw5-ns{font-weight:500}.fw6-ns{font-weight:600}.fw7-ns{font-weight:700}.fw8-ns{font-weight:800}.fw9-ns{font-weight:900}.h1-ns{height:1rem}.h2-ns{height:2rem}.h3-ns{height:4rem}.h4-ns{height:8rem}.h5-ns{height:16rem}.h-25-ns{height:25%}.h-50-ns{height:50%}.h-75-ns{height:75%}.h-100-ns{height:100%}.min-h-100-ns{min-height:100%}.vh-25-ns{height:25vh}.vh-50-ns{height:50vh}.vh-75-ns{height:75vh}.vh-100-ns{height:100vh}.min-vh-100-ns{min-height:100vh}.h-auto-ns{height:auto}.h-inherit-ns{height:inherit}.tracked-ns{letter-spacing:.1em}.tracked-tight-ns{letter-spacing:-.05em}.tracked-mega-ns{letter-spacing:.25em}.lh-solid-ns{line-height:1}.lh-title-ns{line-height:1.25}.lh-copy-ns{line-height:1.5}.mw-100-ns{max-width:100%}.mw1-ns{max-width:1rem}.mw2-ns{max-width:2rem}.mw3-ns{max-width:4rem}.mw4-ns{max-width:8rem}.mw5-ns{max-width:16rem}.mw6-ns{max-width:32rem}.mw7-ns{max-width:48rem}.mw8-ns{max-width:64rem}.mw9-ns{max-width:96rem}.mw-none-ns{max-width:none}.w1-ns{width:1rem}.w2-ns{width:2rem}.w3-ns{width:4rem}.w4-ns{width:8rem}.w5-ns{width:16rem}.w-10-ns{width:10%}.w-20-ns{width:20%}.w-25-ns{width:25%}.w-30-ns{width:30%}.w-33-ns{width:33%}.w-34-ns{width:34%}.w-40-ns{width:40%}.w-50-ns{width:50%}.w-60-ns{width:60%}.w-70-ns{width:70%}.w-75-ns{width:75%}.w-80-ns{width:80%}.w-90-ns{width:90%}.w-100-ns{width:100%}.w-third-ns{width:33.33333%}.w-two-thirds-ns{width:66.66667%}.w-auto-ns{width:auto}.overflow-visible-ns{overflow:visible}.overflow-hidden-ns{overflow:hidden}.overflow-scroll-ns{overflow:scroll}.overflow-auto-ns{overflow:auto}.overflow-x-visible-ns{overflow-x:visible}.overflow-x-hidden-ns{overflow-x:hidden}.overflow-x-scroll-ns{overflow-x:scroll}.overflow-x-auto-ns{overflow-x:auto}.overflow-y-visible-ns{overflow-y:visible}.overflow-y-hidden-ns{overflow-y:hidden}.overflow-y-scroll-ns{overflow-y:scroll}.overflow-y-auto-ns{overflow-y:auto}.static-ns{position:static}.relative-ns{position:relative}.absolute-ns{position:absolute}.fixed-ns{position:fixed}.rotate-45-ns{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.rotate-90-ns{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.rotate-135-ns{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.rotate-180-ns{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rotate-225-ns{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.rotate-270-ns{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.rotate-315-ns{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.pa0-ns{padding:0}.pa1-ns{padding:.25rem}.pa2-ns{padding:.5rem}.pa3-ns{padding:1rem}.pa4-ns{padding:2rem}.pa5-ns{padding:4rem}.pa6-ns{padding:8rem}.pa7-ns{padding:16rem}.pl0-ns{padding-left:0}.pl1-ns{padding-left:.25rem}.pl2-ns{padding-left:.5rem}.pl3-ns{padding-left:1rem}.pl4-ns{padding-left:2rem}.pl5-ns{padding-left:4rem}.pl6-ns{padding-left:8rem}.pl7-ns{padding-left:16rem}.pr0-ns{padding-right:0}.pr1-ns{padding-right:.25rem}.pr2-ns{padding-right:.5rem}.pr3-ns{padding-right:1rem}.pr4-ns{padding-right:2rem}.pr5-ns{padding-right:4rem}.pr6-ns{padding-right:8rem}.pr7-ns{padding-right:16rem}.pb0-ns{padding-bottom:0}.pb1-ns{padding-bottom:.25rem}.pb2-ns{padding-bottom:.5rem}.pb3-ns{padding-bottom:1rem}.pb4-ns{padding-bottom:2rem}.pb5-ns{padding-bottom:4rem}.pb6-ns{padding-bottom:8rem}.pb7-ns{padding-bottom:16rem}.pt0-ns{padding-top:0}.pt1-ns{padding-top:.25rem}.pt2-ns{padding-top:.5rem}.pt3-ns{padding-top:1rem}.pt4-ns{padding-top:2rem}.pt5-ns{padding-top:4rem}.pt6-ns{padding-top:8rem}.pt7-ns{padding-top:16rem}.pv0-ns{padding-top:0;padding-bottom:0}.pv1-ns{padding-top:.25rem;padding-bottom:.25rem}.pv2-ns{padding-top:.5rem;padding-bottom:.5rem}.pv3-ns{padding-top:1rem;padding-bottom:1rem}.pv4-ns{padding-top:2rem;padding-bottom:2rem}.pv5-ns{padding-top:4rem;padding-bottom:4rem}.pv6-ns{padding-top:8rem;padding-bottom:8rem}.pv7-ns{padding-top:16rem;padding-bottom:16rem}.ph0-ns{padding-left:0;padding-right:0}.ph1-ns{padding-left:.25rem;padding-right:.25rem}.ph2-ns{padding-left:.5rem;padding-right:.5rem}.ph3-ns{padding-left:1rem;padding-right:1rem}.ph4-ns{padding-left:2rem;padding-right:2rem}.ph5-ns{padding-left:4rem;padding-right:4rem}.ph6-ns{padding-left:8rem;padding-right:8rem}.ph7-ns{padding-left:16rem;padding-right:16rem}.ma0-ns{margin:0}.ma1-ns{margin:.25rem}.ma2-ns{margin:.5rem}.ma3-ns{margin:1rem}.ma4-ns{margin:2rem}.ma5-ns{margin:4rem}.ma6-ns{margin:8rem}.ma7-ns{margin:16rem}.ml0-ns{margin-left:0}.ml1-ns{margin-left:.25rem}.ml2-ns{margin-left:.5rem}.ml3-ns{margin-left:1rem}.ml4-ns{margin-left:2rem}.ml5-ns{margin-left:4rem}.ml6-ns{margin-left:8rem}.ml7-ns{margin-left:16rem}.mr0-ns{margin-right:0}.mr1-ns{margin-right:.25rem}.mr2-ns{margin-right:.5rem}.mr3-ns{margin-right:1rem}.mr4-ns{margin-right:2rem}.mr5-ns{margin-right:4rem}.mr6-ns{margin-right:8rem}.mr7-ns{margin-right:16rem}.mb0-ns{margin-bottom:0}.mb1-ns{margin-bottom:.25rem}.mb2-ns{margin-bottom:.5rem}.mb3-ns{margin-bottom:1rem}.mb4-ns{margin-bottom:2rem}.mb5-ns{margin-bottom:4rem}.mb6-ns{margin-bottom:8rem}.mb7-ns{margin-bottom:16rem}.mt0-ns{margin-top:0}.mt1-ns{margin-top:.25rem}.mt2-ns{margin-top:.5rem}.mt3-ns{margin-top:1rem}.mt4-ns{margin-top:2rem}.mt5-ns{margin-top:4rem}.mt6-ns{margin-top:8rem}.mt7-ns{margin-top:16rem}.mv0-ns{margin-top:0;margin-bottom:0}.mv1-ns{margin-top:.25rem;margin-bottom:.25rem}.mv2-ns{margin-top:.5rem;margin-bottom:.5rem}.mv3-ns{margin-top:1rem;margin-bottom:1rem}.mv4-ns{margin-top:2rem;margin-bottom:2rem}.mv5-ns{margin-top:4rem;margin-bottom:4rem}.mv6-ns{margin-top:8rem;margin-bottom:8rem}.mv7-ns{margin-top:16rem;margin-bottom:16rem}.mh0-ns{margin-left:0;margin-right:0}.mh1-ns{margin-left:.25rem;margin-right:.25rem}.mh2-ns{margin-left:.5rem;margin-right:.5rem}.mh3-ns{margin-left:1rem;margin-right:1rem}.mh4-ns{margin-left:2rem;margin-right:2rem}.mh5-ns{margin-left:4rem;margin-right:4rem}.mh6-ns{margin-left:8rem;margin-right:8rem}.mh7-ns{margin-left:16rem;margin-right:16rem}.na1-ns{margin:-.25rem}.na2-ns{margin:-.5rem}.na3-ns{margin:-1rem}.na4-ns{margin:-2rem}.na5-ns{margin:-4rem}.na6-ns{margin:-8rem}.na7-ns{margin:-16rem}.nl1-ns{margin-left:-.25rem}.nl2-ns{margin-left:-.5rem}.nl3-ns{margin-left:-1rem}.nl4-ns{margin-left:-2rem}.nl5-ns{margin-left:-4rem}.nl6-ns{margin-left:-8rem}.nl7-ns{margin-left:-16rem}.nr1-ns{margin-right:-.25rem}.nr2-ns{margin-right:-.5rem}.nr3-ns{margin-right:-1rem}.nr4-ns{margin-right:-2rem}.nr5-ns{margin-right:-4rem}.nr6-ns{margin-right:-8rem}.nr7-ns{margin-right:-16rem}.nb1-ns{margin-bottom:-.25rem}.nb2-ns{margin-bottom:-.5rem}.nb3-ns{margin-bottom:-1rem}.nb4-ns{margin-bottom:-2rem}.nb5-ns{margin-bottom:-4rem}.nb6-ns{margin-bottom:-8rem}.nb7-ns{margin-bottom:-16rem}.nt1-ns{margin-top:-.25rem}.nt2-ns{margin-top:-.5rem}.nt3-ns{margin-top:-1rem}.nt4-ns{margin-top:-2rem}.nt5-ns{margin-top:-4rem}.nt6-ns{margin-top:-8rem}.nt7-ns{margin-top:-16rem}.strike-ns{text-decoration:line-through}.underline-ns{text-decoration:underline}.no-underline-ns{text-decoration:none}.tl-ns{text-align:left}.tr-ns{text-align:right}.tc-ns{text-align:center}.ttc-ns{text-transform:capitalize}.ttl-ns{text-transform:lowercase}.ttu-ns{text-transform:uppercase}.ttn-ns{text-transform:none}.f-6-ns,.f-headline-ns{font-size:6rem}.f-5-ns,.f-subheadline-ns{font-size:5rem}.f1-ns{font-size:3rem}.f2-ns{font-size:2.25rem}.f3-ns{font-size:1.5rem}.f4-ns{font-size:1.25rem}.f5-ns{font-size:1rem}.f6-ns{font-size:.875rem}.f7-ns{font-size:.75rem}.measure-ns{max-width:30em}.measure-wide-ns{max-width:34em}.measure-narrow-ns{max-width:20em}.indent-ns{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-ns{font-variant:small-caps}.truncate-ns{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center-ns{margin-right:auto;margin-left:auto}.clip-ns{position:fixed!important;position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ws-normal-ns{white-space:normal}.nowrap-ns{white-space:nowrap}.pre-ns{white-space:pre}.v-base-ns{vertical-align:baseline}.v-mid-ns{vertical-align:middle}.v-top-ns{vertical-align:top}.v-btm-ns{vertical-align:bottom}} 846 | @media screen and (min-width:30em) and (max-width:60em){.aspect-ratio-m{height:0;position:relative}.aspect-ratio--16x9-m{padding-bottom:56.25%}.aspect-ratio--9x16-m{padding-bottom:177.77%}.aspect-ratio--4x3-m{padding-bottom:75%}.aspect-ratio--3x4-m{padding-bottom:133.33%}.aspect-ratio--6x4-m{padding-bottom:66.6%}.aspect-ratio--4x6-m{padding-bottom:150%}.aspect-ratio--8x5-m{padding-bottom:62.5%}.aspect-ratio--5x8-m{padding-bottom:160%}.aspect-ratio--7x5-m{padding-bottom:71.42%}.aspect-ratio--5x7-m{padding-bottom:140%}.aspect-ratio--1x1-m{padding-bottom:100%}.aspect-ratio--object-m{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.cover-m{background-size:cover!important}.contain-m{background-size:contain!important}.bg-center-m{background-position:50%}.bg-center-m,.bg-top-m{background-repeat:no-repeat}.bg-top-m{background-position:top}.bg-right-m{background-position:100%}.bg-bottom-m,.bg-right-m{background-repeat:no-repeat}.bg-bottom-m{background-position:bottom}.bg-left-m{background-repeat:no-repeat;background-position:0}.outline-m{outline:1px solid}.outline-transparent-m{outline:1px solid transparent}.outline-0-m{outline:0}.ba-m{border-style:solid;border-width:1px}.bt-m{border-top-style:solid;border-top-width:1px}.br-m{border-right-style:solid;border-right-width:1px}.bb-m{border-bottom-style:solid;border-bottom-width:1px}.bl-m{border-left-style:solid;border-left-width:1px}.bn-m{border-style:none;border-width:0}.br0-m{border-radius:0}.br1-m{border-radius:.125rem}.br2-m{border-radius:.25rem}.br3-m{border-radius:.5rem}.br4-m{border-radius:1rem}.br-100-m{border-radius:100%}.br-pill-m{border-radius:9999px}.br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.br--top-m{border-bottom-right-radius:0}.br--right-m,.br--top-m{border-bottom-left-radius:0}.br--right-m{border-top-left-radius:0}.br--left-m{border-top-right-radius:0;border-bottom-right-radius:0}.b--dotted-m{border-style:dotted}.b--dashed-m{border-style:dashed}.b--solid-m{border-style:solid}.b--none-m{border-style:none}.bw0-m{border-width:0}.bw1-m{border-width:.125rem}.bw2-m{border-width:.25rem}.bw3-m{border-width:.5rem}.bw4-m{border-width:1rem}.bw5-m{border-width:2rem}.bt-0-m{border-top-width:0}.br-0-m{border-right-width:0}.bb-0-m{border-bottom-width:0}.bl-0-m{border-left-width:0}.shadow-1-m{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2-m{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3-m{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4-m{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-m{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}.top-0-m{top:0}.left-0-m{left:0}.right-0-m{right:0}.bottom-0-m{bottom:0}.top-1-m{top:1rem}.left-1-m{left:1rem}.right-1-m{right:1rem}.bottom-1-m{bottom:1rem}.top-2-m{top:2rem}.left-2-m{left:2rem}.right-2-m{right:2rem}.bottom-2-m{bottom:2rem}.top--1-m{top:-1rem}.right--1-m{right:-1rem}.bottom--1-m{bottom:-1rem}.left--1-m{left:-1rem}.top--2-m{top:-2rem}.right--2-m{right:-2rem}.bottom--2-m{bottom:-2rem}.left--2-m{left:-2rem}.absolute--fill-m{top:0;right:0;bottom:0;left:0}.cl-m{clear:left}.cr-m{clear:right}.cb-m{clear:both}.cn-m{clear:none}.dn-m{display:none}.di-m{display:inline}.db-m{display:block}.dib-m{display:inline-block}.dit-m{display:inline-table}.dt-m{display:table}.dtc-m{display:table-cell}.dt-row-m{display:table-row}.dt-row-group-m{display:table-row-group}.dt-column-m{display:table-column}.dt-column-group-m{display:table-column-group}.dt--fixed-m{table-layout:fixed;width:100%}.flex-m{display:-webkit-box;display:-ms-flexbox;display:flex}.inline-flex-m{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.flex-auto-m{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.flex-none-m{-webkit-box-flex:0;-ms-flex:none;flex:none}.flex-column-m{-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column}.flex-column-m,.flex-row-m{-webkit-box-direction:normal}.flex-row-m{-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row}.flex-wrap-m{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-column-reverse-m{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-row-reverse-m{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-wrap-reverse-m{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.items-start-m{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.items-end-m{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.items-center-m{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.items-baseline-m{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.items-stretch-m{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.self-start-m{-ms-flex-item-align:start;align-self:flex-start}.self-end-m{-ms-flex-item-align:end;align-self:flex-end}.self-center-m{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.self-baseline-m{-ms-flex-item-align:baseline;align-self:baseline}.self-stretch-m{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.justify-start-m{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.justify-end-m{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.justify-center-m{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.justify-between-m{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.justify-around-m{-ms-flex-pack:distribute;justify-content:space-around}.content-start-m{-ms-flex-line-pack:start;align-content:flex-start}.content-end-m{-ms-flex-line-pack:end;align-content:flex-end}.content-center-m{-ms-flex-line-pack:center;align-content:center}.content-between-m{-ms-flex-line-pack:justify;align-content:space-between}.content-around-m{-ms-flex-line-pack:distribute;align-content:space-around}.content-stretch-m{-ms-flex-line-pack:stretch;align-content:stretch}.order-0-m{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1-m{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2-m{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3-m{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4-m{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5-m{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6-m{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7-m{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8-m{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-last-m{-webkit-box-ordinal-group:100000;-ms-flex-order:99999;order:99999}.fl-m{float:left}.fl-m,.fr-m{display:inline}.fr-m{float:right}.fn-m{float:none}.i-m{font-style:italic}.fs-normal-m{font-style:normal}.normal-m{font-weight:400}.b-m{font-weight:700}.fw1-m{font-weight:100}.fw2-m{font-weight:200}.fw3-m{font-weight:300}.fw4-m{font-weight:400}.fw5-m{font-weight:500}.fw6-m{font-weight:600}.fw7-m{font-weight:700}.fw8-m{font-weight:800}.fw9-m{font-weight:900}.h1-m{height:1rem}.h2-m{height:2rem}.h3-m{height:4rem}.h4-m{height:8rem}.h5-m{height:16rem}.h-25-m{height:25%}.h-50-m{height:50%}.h-75-m{height:75%}.h-100-m{height:100%}.min-h-100-m{min-height:100%}.vh-25-m{height:25vh}.vh-50-m{height:50vh}.vh-75-m{height:75vh}.vh-100-m{height:100vh}.min-vh-100-m{min-height:100vh}.h-auto-m{height:auto}.h-inherit-m{height:inherit}.tracked-m{letter-spacing:.1em}.tracked-tight-m{letter-spacing:-.05em}.tracked-mega-m{letter-spacing:.25em}.lh-solid-m{line-height:1}.lh-title-m{line-height:1.25}.lh-copy-m{line-height:1.5}.mw-100-m{max-width:100%}.mw1-m{max-width:1rem}.mw2-m{max-width:2rem}.mw3-m{max-width:4rem}.mw4-m{max-width:8rem}.mw5-m{max-width:16rem}.mw6-m{max-width:32rem}.mw7-m{max-width:48rem}.mw8-m{max-width:64rem}.mw9-m{max-width:96rem}.mw-none-m{max-width:none}.w1-m{width:1rem}.w2-m{width:2rem}.w3-m{width:4rem}.w4-m{width:8rem}.w5-m{width:16rem}.w-10-m{width:10%}.w-20-m{width:20%}.w-25-m{width:25%}.w-30-m{width:30%}.w-33-m{width:33%}.w-34-m{width:34%}.w-40-m{width:40%}.w-50-m{width:50%}.w-60-m{width:60%}.w-70-m{width:70%}.w-75-m{width:75%}.w-80-m{width:80%}.w-90-m{width:90%}.w-100-m{width:100%}.w-third-m{width:33.33333%}.w-two-thirds-m{width:66.66667%}.w-auto-m{width:auto}.overflow-visible-m{overflow:visible}.overflow-hidden-m{overflow:hidden}.overflow-scroll-m{overflow:scroll}.overflow-auto-m{overflow:auto}.overflow-x-visible-m{overflow-x:visible}.overflow-x-hidden-m{overflow-x:hidden}.overflow-x-scroll-m{overflow-x:scroll}.overflow-x-auto-m{overflow-x:auto}.overflow-y-visible-m{overflow-y:visible}.overflow-y-hidden-m{overflow-y:hidden}.overflow-y-scroll-m{overflow-y:scroll}.overflow-y-auto-m{overflow-y:auto}.static-m{position:static}.relative-m{position:relative}.absolute-m{position:absolute}.fixed-m{position:fixed}.rotate-45-m{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.rotate-90-m{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.rotate-135-m{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.rotate-180-m{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rotate-225-m{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.rotate-270-m{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.rotate-315-m{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.pa0-m{padding:0}.pa1-m{padding:.25rem}.pa2-m{padding:.5rem}.pa3-m{padding:1rem}.pa4-m{padding:2rem}.pa5-m{padding:4rem}.pa6-m{padding:8rem}.pa7-m{padding:16rem}.pl0-m{padding-left:0}.pl1-m{padding-left:.25rem}.pl2-m{padding-left:.5rem}.pl3-m{padding-left:1rem}.pl4-m{padding-left:2rem}.pl5-m{padding-left:4rem}.pl6-m{padding-left:8rem}.pl7-m{padding-left:16rem}.pr0-m{padding-right:0}.pr1-m{padding-right:.25rem}.pr2-m{padding-right:.5rem}.pr3-m{padding-right:1rem}.pr4-m{padding-right:2rem}.pr5-m{padding-right:4rem}.pr6-m{padding-right:8rem}.pr7-m{padding-right:16rem}.pb0-m{padding-bottom:0}.pb1-m{padding-bottom:.25rem}.pb2-m{padding-bottom:.5rem}.pb3-m{padding-bottom:1rem}.pb4-m{padding-bottom:2rem}.pb5-m{padding-bottom:4rem}.pb6-m{padding-bottom:8rem}.pb7-m{padding-bottom:16rem}.pt0-m{padding-top:0}.pt1-m{padding-top:.25rem}.pt2-m{padding-top:.5rem}.pt3-m{padding-top:1rem}.pt4-m{padding-top:2rem}.pt5-m{padding-top:4rem}.pt6-m{padding-top:8rem}.pt7-m{padding-top:16rem}.pv0-m{padding-top:0;padding-bottom:0}.pv1-m{padding-top:.25rem;padding-bottom:.25rem}.pv2-m{padding-top:.5rem;padding-bottom:.5rem}.pv3-m{padding-top:1rem;padding-bottom:1rem}.pv4-m{padding-top:2rem;padding-bottom:2rem}.pv5-m{padding-top:4rem;padding-bottom:4rem}.pv6-m{padding-top:8rem;padding-bottom:8rem}.pv7-m{padding-top:16rem;padding-bottom:16rem}.ph0-m{padding-left:0;padding-right:0}.ph1-m{padding-left:.25rem;padding-right:.25rem}.ph2-m{padding-left:.5rem;padding-right:.5rem}.ph3-m{padding-left:1rem;padding-right:1rem}.ph4-m{padding-left:2rem;padding-right:2rem}.ph5-m{padding-left:4rem;padding-right:4rem}.ph6-m{padding-left:8rem;padding-right:8rem}.ph7-m{padding-left:16rem;padding-right:16rem}.ma0-m{margin:0}.ma1-m{margin:.25rem}.ma2-m{margin:.5rem}.ma3-m{margin:1rem}.ma4-m{margin:2rem}.ma5-m{margin:4rem}.ma6-m{margin:8rem}.ma7-m{margin:16rem}.ml0-m{margin-left:0}.ml1-m{margin-left:.25rem}.ml2-m{margin-left:.5rem}.ml3-m{margin-left:1rem}.ml4-m{margin-left:2rem}.ml5-m{margin-left:4rem}.ml6-m{margin-left:8rem}.ml7-m{margin-left:16rem}.mr0-m{margin-right:0}.mr1-m{margin-right:.25rem}.mr2-m{margin-right:.5rem}.mr3-m{margin-right:1rem}.mr4-m{margin-right:2rem}.mr5-m{margin-right:4rem}.mr6-m{margin-right:8rem}.mr7-m{margin-right:16rem}.mb0-m{margin-bottom:0}.mb1-m{margin-bottom:.25rem}.mb2-m{margin-bottom:.5rem}.mb3-m{margin-bottom:1rem}.mb4-m{margin-bottom:2rem}.mb5-m{margin-bottom:4rem}.mb6-m{margin-bottom:8rem}.mb7-m{margin-bottom:16rem}.mt0-m{margin-top:0}.mt1-m{margin-top:.25rem}.mt2-m{margin-top:.5rem}.mt3-m{margin-top:1rem}.mt4-m{margin-top:2rem}.mt5-m{margin-top:4rem}.mt6-m{margin-top:8rem}.mt7-m{margin-top:16rem}.mv0-m{margin-top:0;margin-bottom:0}.mv1-m{margin-top:.25rem;margin-bottom:.25rem}.mv2-m{margin-top:.5rem;margin-bottom:.5rem}.mv3-m{margin-top:1rem;margin-bottom:1rem}.mv4-m{margin-top:2rem;margin-bottom:2rem}.mv5-m{margin-top:4rem;margin-bottom:4rem}.mv6-m{margin-top:8rem;margin-bottom:8rem}.mv7-m{margin-top:16rem;margin-bottom:16rem}.mh0-m{margin-left:0;margin-right:0}.mh1-m{margin-left:.25rem;margin-right:.25rem}.mh2-m{margin-left:.5rem;margin-right:.5rem}.mh3-m{margin-left:1rem;margin-right:1rem}.mh4-m{margin-left:2rem;margin-right:2rem}.mh5-m{margin-left:4rem;margin-right:4rem}.mh6-m{margin-left:8rem;margin-right:8rem}.mh7-m{margin-left:16rem;margin-right:16rem}.na1-m{margin:-.25rem}.na2-m{margin:-.5rem}.na3-m{margin:-1rem}.na4-m{margin:-2rem}.na5-m{margin:-4rem}.na6-m{margin:-8rem}.na7-m{margin:-16rem}.nl1-m{margin-left:-.25rem}.nl2-m{margin-left:-.5rem}.nl3-m{margin-left:-1rem}.nl4-m{margin-left:-2rem}.nl5-m{margin-left:-4rem}.nl6-m{margin-left:-8rem}.nl7-m{margin-left:-16rem}.nr1-m{margin-right:-.25rem}.nr2-m{margin-right:-.5rem}.nr3-m{margin-right:-1rem}.nr4-m{margin-right:-2rem}.nr5-m{margin-right:-4rem}.nr6-m{margin-right:-8rem}.nr7-m{margin-right:-16rem}.nb1-m{margin-bottom:-.25rem}.nb2-m{margin-bottom:-.5rem}.nb3-m{margin-bottom:-1rem}.nb4-m{margin-bottom:-2rem}.nb5-m{margin-bottom:-4rem}.nb6-m{margin-bottom:-8rem}.nb7-m{margin-bottom:-16rem}.nt1-m{margin-top:-.25rem}.nt2-m{margin-top:-.5rem}.nt3-m{margin-top:-1rem}.nt4-m{margin-top:-2rem}.nt5-m{margin-top:-4rem}.nt6-m{margin-top:-8rem}.nt7-m{margin-top:-16rem}.strike-m{text-decoration:line-through}.underline-m{text-decoration:underline}.no-underline-m{text-decoration:none}.tl-m{text-align:left}.tr-m{text-align:right}.tc-m{text-align:center}.ttc-m{text-transform:capitalize}.ttl-m{text-transform:lowercase}.ttu-m{text-transform:uppercase}.ttn-m{text-transform:none}.f-6-m,.f-headline-m{font-size:6rem}.f-5-m,.f-subheadline-m{font-size:5rem}.f1-m{font-size:3rem}.f2-m{font-size:2.25rem}.f3-m{font-size:1.5rem}.f4-m{font-size:1.25rem}.f5-m{font-size:1rem}.f6-m{font-size:.875rem}.f7-m{font-size:.75rem}.measure-m{max-width:30em}.measure-wide-m{max-width:34em}.measure-narrow-m{max-width:20em}.indent-m{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-m{font-variant:small-caps}.truncate-m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center-m{margin-right:auto;margin-left:auto}.clip-m{position:fixed!important;position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ws-normal-m{white-space:normal}.nowrap-m{white-space:nowrap}.pre-m{white-space:pre}.v-base-m{vertical-align:baseline}.v-mid-m{vertical-align:middle}.v-top-m{vertical-align:top}.v-btm-m{vertical-align:bottom}} 847 | @media screen and (min-width:60em){.aspect-ratio-l{height:0;position:relative}.aspect-ratio--16x9-l{padding-bottom:56.25%}.aspect-ratio--9x16-l{padding-bottom:177.77%}.aspect-ratio--4x3-l{padding-bottom:75%}.aspect-ratio--3x4-l{padding-bottom:133.33%}.aspect-ratio--6x4-l{padding-bottom:66.6%}.aspect-ratio--4x6-l{padding-bottom:150%}.aspect-ratio--8x5-l{padding-bottom:62.5%}.aspect-ratio--5x8-l{padding-bottom:160%}.aspect-ratio--7x5-l{padding-bottom:71.42%}.aspect-ratio--5x7-l{padding-bottom:140%}.aspect-ratio--1x1-l{padding-bottom:100%}.aspect-ratio--object-l{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.cover-l{background-size:cover!important}.contain-l{background-size:contain!important}.bg-center-l{background-position:50%}.bg-center-l,.bg-top-l{background-repeat:no-repeat}.bg-top-l{background-position:top}.bg-right-l{background-position:100%}.bg-bottom-l,.bg-right-l{background-repeat:no-repeat}.bg-bottom-l{background-position:bottom}.bg-left-l{background-repeat:no-repeat;background-position:0}.outline-l{outline:1px solid}.outline-transparent-l{outline:1px solid transparent}.outline-0-l{outline:0}.ba-l{border-style:solid;border-width:1px}.bt-l{border-top-style:solid;border-top-width:1px}.br-l{border-right-style:solid;border-right-width:1px}.bb-l{border-bottom-style:solid;border-bottom-width:1px}.bl-l{border-left-style:solid;border-left-width:1px}.bn-l{border-style:none;border-width:0}.br0-l{border-radius:0}.br1-l{border-radius:.125rem}.br2-l{border-radius:.25rem}.br3-l{border-radius:.5rem}.br4-l{border-radius:1rem}.br-100-l{border-radius:100%}.br-pill-l{border-radius:9999px}.br--bottom-l{border-top-left-radius:0;border-top-right-radius:0}.br--top-l{border-bottom-right-radius:0}.br--right-l,.br--top-l{border-bottom-left-radius:0}.br--right-l{border-top-left-radius:0}.br--left-l{border-top-right-radius:0;border-bottom-right-radius:0}.b--dotted-l{border-style:dotted}.b--dashed-l{border-style:dashed}.b--solid-l{border-style:solid}.b--none-l{border-style:none}.bw0-l{border-width:0}.bw1-l{border-width:.125rem}.bw2-l{border-width:.25rem}.bw3-l{border-width:.5rem}.bw4-l{border-width:1rem}.bw5-l{border-width:2rem}.bt-0-l{border-top-width:0}.br-0-l{border-right-width:0}.bb-0-l{border-bottom-width:0}.bl-0-l{border-left-width:0}.shadow-1-l{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.shadow-2-l{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.shadow-3-l{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.shadow-4-l{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.shadow-5-l{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}.top-0-l{top:0}.left-0-l{left:0}.right-0-l{right:0}.bottom-0-l{bottom:0}.top-1-l{top:1rem}.left-1-l{left:1rem}.right-1-l{right:1rem}.bottom-1-l{bottom:1rem}.top-2-l{top:2rem}.left-2-l{left:2rem}.right-2-l{right:2rem}.bottom-2-l{bottom:2rem}.top--1-l{top:-1rem}.right--1-l{right:-1rem}.bottom--1-l{bottom:-1rem}.left--1-l{left:-1rem}.top--2-l{top:-2rem}.right--2-l{right:-2rem}.bottom--2-l{bottom:-2rem}.left--2-l{left:-2rem}.absolute--fill-l{top:0;right:0;bottom:0;left:0}.cl-l{clear:left}.cr-l{clear:right}.cb-l{clear:both}.cn-l{clear:none}.dn-l{display:none}.di-l{display:inline}.db-l{display:block}.dib-l{display:inline-block}.dit-l{display:inline-table}.dt-l{display:table}.dtc-l{display:table-cell}.dt-row-l{display:table-row}.dt-row-group-l{display:table-row-group}.dt-column-l{display:table-column}.dt-column-group-l{display:table-column-group}.dt--fixed-l{table-layout:fixed;width:100%}.flex-l{display:-webkit-box;display:-ms-flexbox;display:flex}.inline-flex-l{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.flex-auto-l{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;min-height:0}.flex-none-l{-webkit-box-flex:0;-ms-flex:none;flex:none}.flex-column-l{-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column}.flex-column-l,.flex-row-l{-webkit-box-direction:normal}.flex-row-l{-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row}.flex-wrap-l{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-column-reverse-l{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-row-reverse-l{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-wrap-reverse-l{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.items-start-l{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.items-end-l{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.items-center-l{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.items-baseline-l{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.items-stretch-l{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.self-start-l{-ms-flex-item-align:start;align-self:flex-start}.self-end-l{-ms-flex-item-align:end;align-self:flex-end}.self-center-l{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.self-baseline-l{-ms-flex-item-align:baseline;align-self:baseline}.self-stretch-l{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.justify-start-l{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.justify-end-l{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.justify-center-l{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.justify-between-l{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.justify-around-l{-ms-flex-pack:distribute;justify-content:space-around}.content-start-l{-ms-flex-line-pack:start;align-content:flex-start}.content-end-l{-ms-flex-line-pack:end;align-content:flex-end}.content-center-l{-ms-flex-line-pack:center;align-content:center}.content-between-l{-ms-flex-line-pack:justify;align-content:space-between}.content-around-l{-ms-flex-line-pack:distribute;align-content:space-around}.content-stretch-l{-ms-flex-line-pack:stretch;align-content:stretch}.order-0-l{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1-l{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2-l{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3-l{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4-l{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5-l{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6-l{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7-l{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8-l{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-last-l{-webkit-box-ordinal-group:100000;-ms-flex-order:99999;order:99999}.fl-l{float:left}.fl-l,.fr-l{display:inline}.fr-l{float:right}.fn-l{float:none}.i-l{font-style:italic}.fs-normal-l{font-style:normal}.normal-l{font-weight:400}.b-l{font-weight:700}.fw1-l{font-weight:100}.fw2-l{font-weight:200}.fw3-l{font-weight:300}.fw4-l{font-weight:400}.fw5-l{font-weight:500}.fw6-l{font-weight:600}.fw7-l{font-weight:700}.fw8-l{font-weight:800}.fw9-l{font-weight:900}.h1-l{height:1rem}.h2-l{height:2rem}.h3-l{height:4rem}.h4-l{height:8rem}.h5-l{height:16rem}.h-25-l{height:25%}.h-50-l{height:50%}.h-75-l{height:75%}.h-100-l{height:100%}.min-h-100-l{min-height:100%}.vh-25-l{height:25vh}.vh-50-l{height:50vh}.vh-75-l{height:75vh}.vh-100-l{height:100vh}.min-vh-100-l{min-height:100vh}.h-auto-l{height:auto}.h-inherit-l{height:inherit}.tracked-l{letter-spacing:.1em}.tracked-tight-l{letter-spacing:-.05em}.tracked-mega-l{letter-spacing:.25em}.lh-solid-l{line-height:1}.lh-title-l{line-height:1.25}.lh-copy-l{line-height:1.5}.mw-100-l{max-width:100%}.mw1-l{max-width:1rem}.mw2-l{max-width:2rem}.mw3-l{max-width:4rem}.mw4-l{max-width:8rem}.mw5-l{max-width:16rem}.mw6-l{max-width:32rem}.mw7-l{max-width:48rem}.mw8-l{max-width:64rem}.mw9-l{max-width:96rem}.mw-none-l{max-width:none}.w1-l{width:1rem}.w2-l{width:2rem}.w3-l{width:4rem}.w4-l{width:8rem}.w5-l{width:16rem}.w-10-l{width:10%}.w-20-l{width:20%}.w-25-l{width:25%}.w-30-l{width:30%}.w-33-l{width:33%}.w-34-l{width:34%}.w-40-l{width:40%}.w-50-l{width:50%}.w-60-l{width:60%}.w-70-l{width:70%}.w-75-l{width:75%}.w-80-l{width:80%}.w-90-l{width:90%}.w-100-l{width:100%}.w-third-l{width:33.33333%}.w-two-thirds-l{width:66.66667%}.w-auto-l{width:auto}.overflow-visible-l{overflow:visible}.overflow-hidden-l{overflow:hidden}.overflow-scroll-l{overflow:scroll}.overflow-auto-l{overflow:auto}.overflow-x-visible-l{overflow-x:visible}.overflow-x-hidden-l{overflow-x:hidden}.overflow-x-scroll-l{overflow-x:scroll}.overflow-x-auto-l{overflow-x:auto}.overflow-y-visible-l{overflow-y:visible}.overflow-y-hidden-l{overflow-y:hidden}.overflow-y-scroll-l{overflow-y:scroll}.overflow-y-auto-l{overflow-y:auto}.static-l{position:static}.relative-l{position:relative}.absolute-l{position:absolute}.fixed-l{position:fixed}.rotate-45-l{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.rotate-90-l{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.rotate-135-l{-webkit-transform:rotate(135deg);transform:rotate(135deg)}.rotate-180-l{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rotate-225-l{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.rotate-270-l{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.rotate-315-l{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.pa0-l{padding:0}.pa1-l{padding:.25rem}.pa2-l{padding:.5rem}.pa3-l{padding:1rem}.pa4-l{padding:2rem}.pa5-l{padding:4rem}.pa6-l{padding:8rem}.pa7-l{padding:16rem}.pl0-l{padding-left:0}.pl1-l{padding-left:.25rem}.pl2-l{padding-left:.5rem}.pl3-l{padding-left:1rem}.pl4-l{padding-left:2rem}.pl5-l{padding-left:4rem}.pl6-l{padding-left:8rem}.pl7-l{padding-left:16rem}.pr0-l{padding-right:0}.pr1-l{padding-right:.25rem}.pr2-l{padding-right:.5rem}.pr3-l{padding-right:1rem}.pr4-l{padding-right:2rem}.pr5-l{padding-right:4rem}.pr6-l{padding-right:8rem}.pr7-l{padding-right:16rem}.pb0-l{padding-bottom:0}.pb1-l{padding-bottom:.25rem}.pb2-l{padding-bottom:.5rem}.pb3-l{padding-bottom:1rem}.pb4-l{padding-bottom:2rem}.pb5-l{padding-bottom:4rem}.pb6-l{padding-bottom:8rem}.pb7-l{padding-bottom:16rem}.pt0-l{padding-top:0}.pt1-l{padding-top:.25rem}.pt2-l{padding-top:.5rem}.pt3-l{padding-top:1rem}.pt4-l{padding-top:2rem}.pt5-l{padding-top:4rem}.pt6-l{padding-top:8rem}.pt7-l{padding-top:16rem}.pv0-l{padding-top:0;padding-bottom:0}.pv1-l{padding-top:.25rem;padding-bottom:.25rem}.pv2-l{padding-top:.5rem;padding-bottom:.5rem}.pv3-l{padding-top:1rem;padding-bottom:1rem}.pv4-l{padding-top:2rem;padding-bottom:2rem}.pv5-l{padding-top:4rem;padding-bottom:4rem}.pv6-l{padding-top:8rem;padding-bottom:8rem}.pv7-l{padding-top:16rem;padding-bottom:16rem}.ph0-l{padding-left:0;padding-right:0}.ph1-l{padding-left:.25rem;padding-right:.25rem}.ph2-l{padding-left:.5rem;padding-right:.5rem}.ph3-l{padding-left:1rem;padding-right:1rem}.ph4-l{padding-left:2rem;padding-right:2rem}.ph5-l{padding-left:4rem;padding-right:4rem}.ph6-l{padding-left:8rem;padding-right:8rem}.ph7-l{padding-left:16rem;padding-right:16rem}.ma0-l{margin:0}.ma1-l{margin:.25rem}.ma2-l{margin:.5rem}.ma3-l{margin:1rem}.ma4-l{margin:2rem}.ma5-l{margin:4rem}.ma6-l{margin:8rem}.ma7-l{margin:16rem}.ml0-l{margin-left:0}.ml1-l{margin-left:.25rem}.ml2-l{margin-left:.5rem}.ml3-l{margin-left:1rem}.ml4-l{margin-left:2rem}.ml5-l{margin-left:4rem}.ml6-l{margin-left:8rem}.ml7-l{margin-left:16rem}.mr0-l{margin-right:0}.mr1-l{margin-right:.25rem}.mr2-l{margin-right:.5rem}.mr3-l{margin-right:1rem}.mr4-l{margin-right:2rem}.mr5-l{margin-right:4rem}.mr6-l{margin-right:8rem}.mr7-l{margin-right:16rem}.mb0-l{margin-bottom:0}.mb1-l{margin-bottom:.25rem}.mb2-l{margin-bottom:.5rem}.mb3-l{margin-bottom:1rem}.mb4-l{margin-bottom:2rem}.mb5-l{margin-bottom:4rem}.mb6-l{margin-bottom:8rem}.mb7-l{margin-bottom:16rem}.mt0-l{margin-top:0}.mt1-l{margin-top:.25rem}.mt2-l{margin-top:.5rem}.mt3-l{margin-top:1rem}.mt4-l{margin-top:2rem}.mt5-l{margin-top:4rem}.mt6-l{margin-top:8rem}.mt7-l{margin-top:16rem}.mv0-l{margin-top:0;margin-bottom:0}.mv1-l{margin-top:.25rem;margin-bottom:.25rem}.mv2-l{margin-top:.5rem;margin-bottom:.5rem}.mv3-l{margin-top:1rem;margin-bottom:1rem}.mv4-l{margin-top:2rem;margin-bottom:2rem}.mv5-l{margin-top:4rem;margin-bottom:4rem}.mv6-l{margin-top:8rem;margin-bottom:8rem}.mv7-l{margin-top:16rem;margin-bottom:16rem}.mh0-l{margin-left:0;margin-right:0}.mh1-l{margin-left:.25rem;margin-right:.25rem}.mh2-l{margin-left:.5rem;margin-right:.5rem}.mh3-l{margin-left:1rem;margin-right:1rem}.mh4-l{margin-left:2rem;margin-right:2rem}.mh5-l{margin-left:4rem;margin-right:4rem}.mh6-l{margin-left:8rem;margin-right:8rem}.mh7-l{margin-left:16rem;margin-right:16rem}.na1-l{margin:-.25rem}.na2-l{margin:-.5rem}.na3-l{margin:-1rem}.na4-l{margin:-2rem}.na5-l{margin:-4rem}.na6-l{margin:-8rem}.na7-l{margin:-16rem}.nl1-l{margin-left:-.25rem}.nl2-l{margin-left:-.5rem}.nl3-l{margin-left:-1rem}.nl4-l{margin-left:-2rem}.nl5-l{margin-left:-4rem}.nl6-l{margin-left:-8rem}.nl7-l{margin-left:-16rem}.nr1-l{margin-right:-.25rem}.nr2-l{margin-right:-.5rem}.nr3-l{margin-right:-1rem}.nr4-l{margin-right:-2rem}.nr5-l{margin-right:-4rem}.nr6-l{margin-right:-8rem}.nr7-l{margin-right:-16rem}.nb1-l{margin-bottom:-.25rem}.nb2-l{margin-bottom:-.5rem}.nb3-l{margin-bottom:-1rem}.nb4-l{margin-bottom:-2rem}.nb5-l{margin-bottom:-4rem}.nb6-l{margin-bottom:-8rem}.nb7-l{margin-bottom:-16rem}.nt1-l{margin-top:-.25rem}.nt2-l{margin-top:-.5rem}.nt3-l{margin-top:-1rem}.nt4-l{margin-top:-2rem}.nt5-l{margin-top:-4rem}.nt6-l{margin-top:-8rem}.nt7-l{margin-top:-16rem}.strike-l{text-decoration:line-through}.underline-l{text-decoration:underline}.no-underline-l{text-decoration:none}.tl-l{text-align:left}.tr-l{text-align:right}.tc-l{text-align:center}.ttc-l{text-transform:capitalize}.ttl-l{text-transform:lowercase}.ttu-l{text-transform:uppercase}.ttn-l{text-transform:none}.f-6-l,.f-headline-l{font-size:6rem}.f-5-l,.f-subheadline-l{font-size:5rem}.f1-l{font-size:3rem}.f2-l{font-size:2.25rem}.f3-l{font-size:1.5rem}.f4-l{font-size:1.25rem}.f5-l{font-size:1rem}.f6-l{font-size:.875rem}.f7-l{font-size:.75rem}.measure-l{max-width:30em}.measure-wide-l{max-width:34em}.measure-narrow-l{max-width:20em}.indent-l{text-indent:1em;margin-top:0;margin-bottom:0}.small-caps-l{font-variant:small-caps}.truncate-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.center-l{margin-right:auto;margin-left:auto}.clip-l{position:fixed!important;position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ws-normal-l{white-space:normal}.nowrap-l{white-space:nowrap}.pre-l{white-space:pre}.v-base-l{vertical-align:baseline}.v-mid-l{vertical-align:middle}.v-top-l{vertical-align:top}.v-btm-l{vertical-align:bottom}} 848 | </style><link rel="shortcut icon" href="/static/images/favicon.ico" class="next-head"/><title class="next-head"> Next

    Next.js

    What is Next.js

    Get started with Next.js

    By Lucas Aragno

    --------------------------------------------------------------------------------