update screenshot, download section
Signed-off-by: mmews <marcus.mews@numberfour.eu>
diff --git a/downloads.html b/downloads.html
index 346b84e..cc9cdd2 100644
--- a/downloads.html
+++ b/downloads.html
@@ -57,52 +57,42 @@
<br/>
<h1 id="_download">Downloads</h1>
<p>
- We offer downloads for the N4JS IDE builds and the Developer Environment to develop the sources of the N4JS IDE.
+ This page provides downloads for both (1) the N4JS builds and (2) the N4JS development environment (including sources) of N4JS.
</p>
<br/>
</div>
<div class="Cell Cell--12-12 GettingStarted-u-paddingLeft">
- <h2 id ="N4JS_IDE">N4JS IDE</h2>
- <p>
- If you just want to use the Eclipse N4JS IDE, you probably want to download the product directly.
- We offer the following two builds of the N4JS IDE.
- </p>
- <h3 id ="Eclipse_Nightly_Builds">Eclipse Nightly Builds</h3>
- <p class="SystemRequirements">
- System Requirements (versions see below): <b>Java, Node.js</b></a>.
+ <h2 id ="N4JS_IDE" style="margin-bottom: 0rem;">N4JS Compiler</h2>
+ <p class="SystemRequirements" style="margin-bottom: 2rem;">
+ System Requirements: <b>Java, Node.js</b> (versions see below)</a>.
</p>
<p>
- Since the Eclipse N4JS project is in incubation phase, we do not provide release versions yet.
- You can find links to nightly builds (update site and products for Windows, Linux and MacOS) at the
- <a href="https://projects.eclipse.org/projects/technology.n4js/downloads" target="_blank">N4JS Eclipse project's download page</a>.
+ N4JS provides the following builds on the at the download locations listed below:
+ <ul>
+ <li/>Compiler / LSP server as jar
+ <li/>Compiler / LSP server as npm (only available via <a href="https://www.npmjs.com/package/n4js-cli" target="_blank">npmjs.com</a>)
+ <li/>VSCode extension for N4JS (also available via <a href="https://marketplace.visualstudio.com/items?itemName=n4js.n4js-vscode-extension" target="_blank">VSCode marketplace</a>)
+ </ul>
</p>
- <p />
-
- <h3 id ="Third_Party_Nightly_Builds">Third Party Nightly Builds (bundled Java JRE)</h3>
- <p class="SystemRequirements">
- System Requirements (versions see below): <b>Node.js</b></a>.
- </p>
+ <h3 id ="Download_Locations">Download locations</h3>
<p>
- <a href="https://www.enfore.com" target="_blank">Enfore AG</a> originally introduced N4JS and hosts nightly builds that include Java JRE.
- You can find links to nightly builds (update site and products for Windows, Linux and macos) at the
- <a href="https://download.enfore.com/n4js/" target="_blank">Enfore N4JS download page</a>.
+ <ul>
+ <li/><a href="https://projects.eclipse.org/projects/technology.n4js/downloads" target="_blank">Eclipse Foundation</a> (currently outdated)
+ <li/><a href="https://download.enfore.com/n4js/" target="_blank">enfore AG</a>
+ </ul>
</p>
<br/>
</div>
<div class="Cell Cell--12-12 GettingStarted-u-paddingLeft">
- <h2 id ="Developer_Environment">Developer Environment</h2>
- <p>
- For developing extensions for the N4JS language (or simply to fix bugs ;-) ), the recommended way to install the Eclipse IDE and set up the N4JS Java sources in a developer workspace is to use the Eclipse Installer.
- This installer is available from <a href="https://wiki.eclipse.org/Eclipse_Installer">Eclipse.org</a>.
- Run the installer and follow these steps (click on the images to enlarge):
+ <h2 id ="Developer_Environment" style="margin-bottom: 0rem;">N4JS Sources</h2>
+ <p class="SystemRequirements" style="margin-bottom: 2rem;">
+ System Requirements: <b>Java, Node.js, Yarn</b> (versions see below)</a>.
</p>
-
-
- <h3 id ="Eclipse_Installer">Eclipse Installer (Oomph)</h3>
- <p class="SystemRequirements">
- System Requirements (versions see below): <b>Java, Node.js, Yarn</b></a>.
+ <p>
+ The recommended way to install the Eclipse IDE and set up the N4JS Java sources in a developer workspace is to use the <a href="https://www.eclipse.org/downloads/">Eclipse Installer</a>.
+ Download and run the installer to follow these steps (click on the images to enlarge):
</p>
diff --git a/images/N4JS_VSCODE.png b/images/N4JS_VSCODE.png
new file mode 100644
index 0000000..5315185
--- /dev/null
+++ b/images/N4JS_VSCODE.png
Binary files differ
diff --git a/index.html b/index.html
index 9f24257..c6e466d 100644
--- a/index.html
+++ b/index.html
@@ -55,16 +55,15 @@
<div class="Main">
- <article class="Intro Grid Grid--fullWidth" style="margin-bottom:-4rem">
+ <article class="Intro Grid Grid--fullWidth">
<div class="Intro-Slogan Cell Cell--9-12" style="text-align: center;">
High-quality JavaScript development<br/>
for large Node.js projects
</div>
- <img src="images/screenshot.png">
+ <img src="images/N4JS_VSCODE.png">
</article>
- <br/>
<article class="Grid">
@@ -72,24 +71,20 @@
<h2 id="introduction">N4JS is for Java and JavaScript Developers</h2>
<ul>
- <li>You are a Java programmer who is missing the comfort of familiar tools while developing for JavaScript environments?</li>
- <li>You want to write large-scale server-side JavaScript in a way that it stays maintainable?</li>
- <li>You are using TypeScript and have run into problems the type checker didn't catch? </li>
+ <li>You are a Java developer and missing the comfort of familiar tools while developing for JavaScript environments?</li>
+ <li>You are a JavaScript developer and want to write large-scale server-side applications in a way that it stays maintainable?</li>
+ <li>You are a TypeScript developer and ran into problems the type checker didn't catch? </li>
</ul>
- <p>N4JS is a general-purpose programming language based on ECMAScript Version 5, and ECMAScript 2015 is supported to a great extent. It adds a static type system as reliable as that of Java, but with the flexibility of JavaScript. The language provides built-in support for state-of-the-art programming paradigms such as dependency injection and test support. The feature-rich, Eclipse-based IDE for N4JS is custom-built for precisely these concepts. Code is validated as you type with the addition of tools such as content-assist and quick-fixes which ensure your code is written safely and intuitively.</p>
- </div>
-
- <div class="Cell Cell--12-12">
- <p>N4JS transpiles to V8-compatible ECMAScript code, using features available as of Node.js version 5. The transpiled modules can be used with System.js or Common.js module loader.</p>
- </div>
-
- <div class="Cell Cell--6-12 GettingStarted-u-paddingLeft" style="text-align:center;">
- <span style="color:#244d82; padding: 3px 15px;"><a href="faq/comparison-java.html">Compare N4JS to Java ›</a></span>
- </div>
- <div class="Cell Cell--6-12 GettingStarted-u-paddingRight" style="text-align:center;">
- <span style="color:#244d82; padding: 3px 15px;"><a href="faq/comparison-typescript.html">Compare N4JS to TypeScript ›</a></span>
- </div>
+ <p>N4JS is a general-purpose programming language based on ECMAScript.
+ It adds a static type system as reliable as that of Java, but with the flexibility of JavaScript.
+ The language provides built-in support for state-of-the-art programming paradigms such as dependency injection and test support.
+ Code is validated as you type with the addition of tools such as content-assist and quick-fixes which ensure your code is written safely and intuitively.
+ N4JS transpiles to ECMAScript code, using features supported by Node.js.
+ Based on the Language Server Protocol, the N4JS language server can be integrated into several LSP clients.
+ For VSCode we provide an extension for N4JS via the VSCode marketplace.
+ </p>
+ </div>
</article>
diff --git a/styles/styles.min.css b/styles/styles.min.css
index 8cc9d44..cea05be 100644
--- a/styles/styles.min.css
+++ b/styles/styles.min.css
@@ -1 +1 @@
-@charset "UTF-8";*,:after,:before{position:relative;margin:0;padding:0;box-sizing:inherit}button,input,select,textarea{font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox]{-webkit-appearance:checkbox;-moz-appearance:checkbox;appearance:checkbox}input[type=radio]{-webkit-appearance:radio;-moz-appearance:radio;appearance:radio}table{border-collapse:collapse}html{box-sizing:border-box;font-size:10px}.Comparison,.ExampleExplanation,.FeatureTable,.Grid{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.Comparison,.ExampleExplanation,.Grid--fullWidth{margin-left:-2rem;margin-right:-2rem}.Comparison .Cell:first-child,.Comparison .Comparison-left:first-child,.Comparison .Comparison-right:first-child,.Comparison .FeatureTabs .FeatureTabs-stage:first-child,.Comparison .Intro .Intro-Slogan:first-child,.ExampleExplanation .Cell:first-child,.ExampleExplanation .ExampleExplanation-code:first-child,.ExampleExplanation .ExampleExplanation-text:first-child,.ExampleExplanation .FeatureTabs .FeatureTabs-stage:first-child,.ExampleExplanation .Intro .Intro-Slogan:first-child,.FeatureTabs .Comparison .FeatureTabs-stage:first-child,.FeatureTabs .ExampleExplanation .FeatureTabs-stage:first-child,.FeatureTabs .Grid--fullWidth .FeatureTabs-stage:first-child,.Grid--fullWidth .Cell:first-child,.Grid--fullWidth .FeatureTabs .FeatureTabs-stage:first-child,.Grid--fullWidth .Intro .Intro-Slogan:first-child,.Intro .Comparison .Intro-Slogan:first-child,.Intro .ExampleExplanation .Intro-Slogan:first-child,.Intro .Grid--fullWidth .Intro-Slogan:first-child{padding-left:4rem}.Comparison .Cell:last-child,.Comparison .Comparison-left:last-child,.Comparison .Comparison-right:last-child,.Comparison .FeatureTabs .FeatureTabs-stage:last-child,.Comparison .Intro .Intro-Slogan:last-child,.ExampleExplanation .Cell:last-child,.ExampleExplanation .ExampleExplanation-code:last-child,.ExampleExplanation .ExampleExplanation-text:last-child,.ExampleExplanation .FeatureTabs .FeatureTabs-stage:last-child,.ExampleExplanation .Intro .Intro-Slogan:last-child,.FeatureTabs .Comparison .FeatureTabs-stage:last-child,.FeatureTabs .ExampleExplanation .FeatureTabs-stage:last-child,.FeatureTabs .Grid--fullWidth .FeatureTabs-stage:last-child,.Grid--fullWidth .Cell:last-child,.Grid--fullWidth .FeatureTabs .FeatureTabs-stage:last-child,.Grid--fullWidth .Intro .Intro-Slogan:last-child,.Intro .Comparison .Intro-Slogan:last-child,.Intro .ExampleExplanation .Intro-Slogan:last-child,.Intro .Grid--fullWidth .Intro-Slogan:last-child{padding-right:4rem}@media (max-width:800px){.Comparison,.ExampleExplanation,.Grid--fullWidth{margin-left:-.75rem;margin-right:-.75rem}.Comparison .Cell:first-child,.Comparison .Cell:last-child,.Comparison .Comparison-left:first-child,.Comparison .Comparison-left:last-child,.Comparison .Comparison-right:first-child,.Comparison .Comparison-right:last-child,.Comparison .FeatureTabs .FeatureTabs-stage:first-child,.Comparison .FeatureTabs .FeatureTabs-stage:last-child,.Comparison .Intro .Intro-Slogan:first-child,.Comparison .Intro .Intro-Slogan:last-child,.ExampleExplanation .Cell:first-child,.ExampleExplanation .Cell:last-child,.ExampleExplanation .ExampleExplanation-code:first-child,.ExampleExplanation .ExampleExplanation-code:last-child,.ExampleExplanation .ExampleExplanation-text:first-child,.ExampleExplanation .ExampleExplanation-text:last-child,.ExampleExplanation .FeatureTabs .FeatureTabs-stage:first-child,.ExampleExplanation .FeatureTabs .FeatureTabs-stage:last-child,.ExampleExplanation .Intro .Intro-Slogan:first-child,.ExampleExplanation .Intro .Intro-Slogan:last-child,.FeatureTabs .Comparison .FeatureTabs-stage:first-child,.FeatureTabs .Comparison .FeatureTabs-stage:last-child,.FeatureTabs .ExampleExplanation .FeatureTabs-stage:first-child,.FeatureTabs .ExampleExplanation .FeatureTabs-stage:last-child,.FeatureTabs .Grid--fullWidth .FeatureTabs-stage:first-child,.FeatureTabs .Grid--fullWidth .FeatureTabs-stage:last-child,.Grid--fullWidth .Cell:first-child,.Grid--fullWidth .Cell:last-child,.Grid--fullWidth .FeatureTabs .FeatureTabs-stage:first-child,.Grid--fullWidth .FeatureTabs .FeatureTabs-stage:last-child,.Grid--fullWidth .Intro .Intro-Slogan:first-child,.Grid--fullWidth .Intro .Intro-Slogan:last-child,.Intro .Comparison .Intro-Slogan:first-child,.Intro .Comparison .Intro-Slogan:last-child,.Intro .ExampleExplanation .Intro-Slogan:first-child,.Intro .ExampleExplanation .Intro-Slogan:last-child,.Intro .Grid--fullWidth .Intro-Slogan:first-child,.Intro .Grid--fullWidth .Intro-Slogan:last-child{padding-left:1.5rem}}.Example,.Image.Image--fullWidth,.TODO,.u-fullWidth{margin-left:-2rem;margin-right:-2rem;padding-left:4rem;padding-right:4rem}.Cell,.Comparison .Comparison-left,.Comparison .Comparison-right,.ExampleExplanation .ExampleExplanation-code,.ExampleExplanation .ExampleExplanation-text,.FeatureTabs .FeatureTabs-stage,.Intro .Intro-Slogan{padding-left:2rem;padding-right:2rem;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}@media (max-width:800px){.Cell,.Comparison .Comparison-left,.Comparison .Comparison-right,.ExampleExplanation .ExampleExplanation-code,.ExampleExplanation .ExampleExplanation-text,.FeatureTabs .FeatureTabs-stage,.Intro .Intro-Slogan{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.m-Cell--withMargin{margin-bottom:3rem}}.Cell--3-12{-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.Nav,.u-width--3-12,nav.Nav--bottom,nav.Nav--top{max-width:25%;width:100%}@media (max-width:800px){.Nav,.u-width--3-12,nav.Nav--bottom,nav.Nav--top{max-width:100%}}.Cell--4-12,.ExampleExplanation .ExampleExplanation-text{-webkit-flex-basis:33.333%;-ms-flex-preferred-size:33.333%;flex-basis:33.333%;max-width:33.333%}@media (max-width:800px){.Cell--4-12,.ExampleExplanation .ExampleExplanation-text{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}}.Cell--6-12,.Comparison .Comparison-left,.Comparison .Comparison-right{-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}@media (max-width:800px){.Cell--6-12,.Comparison .Comparison-left,.Comparison .Comparison-right{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}}.Cell--8-12,.ExampleExplanation .ExampleExplanation-code{-webkit-flex-basis:66.666%;-ms-flex-preferred-size:66.666%;flex-basis:66.666%;max-width:66.666%}@media (max-width:800px){.Cell--8-12,.ExampleExplanation .ExampleExplanation-code{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}}.Main article.Article--noGrid>.Image:not(.Image--fullWidth),.Main article.Article--noGrid>h1,.Main article.Article--noGrid>h2,.Main article.Article--noGrid>h3,.Main article.Article--noGrid>h4,.Main article.Article--noGrid>img,.Main article.Article--noGrid>ol,.Main article.Article--noGrid>p,.Main article.Article--noGrid>table,.Main article.Article--noGrid>ul,.u-width--8-12,main article.Article--noGrid>.Image:not(.Image--fullWidth),main article.Article--noGrid>h1,main article.Article--noGrid>h2,main article.Article--noGrid>h3,main article.Article--noGrid>h4,main article.Article--noGrid>img,main article.Article--noGrid>ol,main article.Article--noGrid>p,main article.Article--noGrid>table,main article.Article--noGrid>ul{max-width:66.666%;width:100%}@media (max-width:800px){.Main article.Article--noGrid>.Image:not(.Image--fullWidth),.Main article.Article--noGrid>h1,.Main article.Article--noGrid>h2,.Main article.Article--noGrid>h3,.Main article.Article--noGrid>h4,.Main article.Article--noGrid>img,.Main article.Article--noGrid>ol,.Main article.Article--noGrid>p,.Main article.Article--noGrid>table,.Main article.Article--noGrid>ul,.u-width--8-12,main article.Article--noGrid>.Image:not(.Image--fullWidth),main article.Article--noGrid>h1,main article.Article--noGrid>h2,main article.Article--noGrid>h3,main article.Article--noGrid>h4,main article.Article--noGrid>img,main article.Article--noGrid>ol,main article.Article--noGrid>p,main article.Article--noGrid>table,main article.Article--noGrid>ul{max-width:100%}}.Cell--9-12,.FeatureTabs .FeatureTabs-stage,.Intro .Intro-Slogan{-webkit-flex-basis:75%;-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.Cell--12-12{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.Sans,body{font-family:sans-serif;font-weight:400}.FeatureTable .section,.H2,.H3,.H4,.Introduction,.Sans--bold,.Serif--bold,h1,h2,h3,h4,ul li:before{font-family:sans-serif;font-weight:600}body{font-size:1.9rem;line-height:1.4;color:#212121;background-color:#527aa3}h1{font-size:2em;margin-top:0;margin-bottom:4rem;color:#244d82}.FeatureTable .section,.H2,.H3,h2,h3{margin-top:4rem;margin-bottom:2rem}.FeatureTable .section,.H2,h2{font-size:1.3em;color:#244d82}.H3,.H4,h3,h4{font-size:1em}.H4,h4{margin-top:.5em;margin-bottom:0}ol,p,ul{margin-bottom:.5em}.Link,a{color:#6999d6}a:hover{color:#132445}.Link.Link--action,a.Link--action{color:#f7d425;text-decoration:none}.Link.Link--action:hover,a.Link--action:hover{text-decoration:underline}.Example .Example-caption,.FeatureTable,.FeatureTabs .FeatureTabs-stage ul,.Image .Image-caption,.SystemRequirements,.u-small,small{font-size:.8em;line-height:1.4em}ol ol,ol ul,ul ol,ul ul{margin-left:2em}ol li,ul li{margin-bottom:.2em}ol{margin-left:1.2em}ul{margin-left:.75em}ul li{list-style:none}ul li:before{content:"›";margin-left:-.75em;margin-right:.4em;color:#244d82}code{font-family:Fira Mono,Monaco,Consolas,Courier New,Courier,mono,serif;font-size:.85em;letter-spacing:.02em}img{width:100%;height:auto}h1:first-child,h2:first-child,h3:first-child{margin-top:0}.Main,.Page,footer,header,main{width:100%;max-width:1050px;margin-right:auto;margin-left:auto;padding-left:2rem;padding-right:2rem}.Main,main{background-color:#fff;position:relative}footer,header{background-color:#132445}.Main article,main article{margin-top:4rem;margin-bottom:4rem}.Main article:first-of-type,main article:first-of-type{margin-top:0;padding-top:0}@media (max-width:800px){.Main,.Page,footer,header,main{padding-left:.75rem;padding-right:.75rem}.Main article:first-of-type,main article:first-of-type{padding-top:1.5rem}}.Main article:last-of-type,main article:last-of-type{margin-bottom:0;padding-bottom:4rem}.Main article.Article--noGrid>h1,.Main article.Article--noGrid>h2,.Main article.Article--noGrid>h3,.Main article.Article--noGrid>h4,.Main article.Article--noGrid>ol,.Main article.Article--noGrid>p,.Main article.Article--noGrid>ul,main article.Article--noGrid>h1,main article.Article--noGrid>h2,main article.Article--noGrid>h3,main article.Article--noGrid>h4,main article.Article--noGrid>ol,main article.Article--noGrid>p,main article.Article--noGrid>ul{padding-left:2rem}@media (max-width:800px){.Main article.Article--noGrid>h1,.Main article.Article--noGrid>h2,.Main article.Article--noGrid>h3,.Main article.Article--noGrid>h4,.Main article.Article--noGrid>ol,.Main article.Article--noGrid>p,.Main article.Article--noGrid>ul,main article.Article--noGrid>h1,main article.Article--noGrid>h2,main article.Article--noGrid>h3,main article.Article--noGrid>h4,main article.Article--noGrid>ol,main article.Article--noGrid>p,main article.Article--noGrid>ul{padding-left:.75rem;padding-right:.75rem}}.Main article.Article--noGrid>table,main article.Article--noGrid>table{margin-left:2rem;margin-right:2rem;margin-bottom:2rem}.Main article.Article--noGrid>table td,.Main article.Article--noGrid>table th,main article.Article--noGrid>table td,main article.Article--noGrid>table th{padding:.2em .5em}.Main article.Article--noGrid>table th,main article.Article--noGrid>table th{text-align:left}.Main article.Article--noGrid>.Image:not(.Image--fullWidth),.Main article.Article--noGrid>img,main article.Article--noGrid>.Image:not(.Image--fullWidth),main article.Article--noGrid>img{padding-left:2rem;margin-top:2rem;margin-bottom:2rem}header{height:7rem;color:#fff;padding-top:1.7rem;padding-bottom:.8rem}header img{height:4rem;width:auto;margin:0}header nav{border:none;line-height:1em;padding-top:1.8rem;text-align:right}header nav a{display:inline-block;text-decoration:none;padding:0 1rem;transition:color .3s;color:#fff}header nav a.is-active,header nav a:hover{color:#f7d425}header nav a:last-child{padding-right:16px}footer{color:#fff;padding-top:2rem;padding-bottom:2rem}footer a{color:#d5dfea}footer a:hover{color:#F7D425}footer .Link--action{float:right}footer a,footer a:hover{text-decoration:none}.Nav,nav.Nav--bottom,nav.Nav--top{position:absolute;z-index:1;padding-left:2rem;border-left:1px solid #d3d3d3}@media (max-width:800px){header{height:auto}header img{max-width:100%;max-height:4rem;height:auto}header nav{display:none}footer{text-align:center}footer .Link--action{display:block;width:100%;float:none}.Nav,nav.Nav--bottom,nav.Nav--top{position:static;width:100%;padding-left:.75rem;border-left:none;padding-top:1.5rem;padding-bottom:3rem;border-bottom:1px solid #d3d3d3}}.Nav li:last-child,.Nav ul,nav.Nav--bottom li:last-child,nav.Nav--bottom ul,nav.Nav--top li:last-child,nav.Nav--top ul{margin-bottom:0}.Nav a,nav.Nav--bottom a,nav.Nav--top a{text-decoration:none;color:rgba(0,0,0,.3);transition:.2s}.Nav a.is-active,.Nav a:hover,nav.Nav--bottom a.is-active,nav.Nav--bottom a:hover,nav.Nav--top a.is-active,nav.Nav--top a:hover{color:#212121}.Nav.Nav--top,nav.Nav--bottom.Nav--top,nav.Nav--top.Nav--top{right:4rem;top:4rem}.Nav.Nav--bottom,nav.Nav--bottom.Nav--bottom,nav.Nav--top.Nav--bottom{right:4rem;bottom:4rem}.Intro{background-color:#244d82;padding:4rem 0;margin-bottom:-4rem;position:relative}@media (max-width:800px){.Intro{padding:0}}.Intro .Intro-Slogan{color:#fff;font-size:2em;padding:1rem 0;margin:0 auto}@media (max-width:800px){.Intro .Intro-Slogan{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%;font-size:1.4em;padding:.5rem 2.5rem 1rem;padding-left:2.5rem!important}}.Intro img{z-index:1;margin:0;height:100%;width:100%}.Intro:after{content:"";position:absolute;left:0;right:0;bottom:0;top:65%;z-index:0;background-color:#fff}.GettingStarted{background-color:#fbffb4;padding:4rem 0}@media (max-width:800px){.GettingStarted h2{padding-left:1.5rem}}.GettingStarted .GettingStarted-u-paddingLeft{padding-left:4rem}.GettingStarted .GettingStarted-u-paddingRight{padding-right:4rem}@media (max-width:800px){.GettingStarted .GettingStarted-u-paddingLeft{margin-bottom:3rem;padding-left:3rem}.GettingStarted .GettingStarted-u-paddingRight{padding-right:3rem}}.SystemRequirements{color:rgba(0,0,0,.3);margin-top:2rem}.Comparison,.TODO{margin-top:4rem;margin-bottom:4rem}.TODO{padding-top:.5em;padding-bottom:.5em;color:#fff;background-color:#f39797}.TODO:before{content:"TODO: ";font-weight:700}.Comparison .Comparison-left{border-right:1px solid #d3d3d3}.Comparison .Comparison-left .Example,.Comparison .Comparison-left .Example-caption{margin-left:-4rem;margin-right:-2rem;padding-left:4rem;padding-right:2rem}.Comparison .Comparison-right .Example,.Comparison .Comparison-right .Example-caption{margin-left:-2rem;margin-right:-4rem;padding-left:2rem;padding-right:4rem}@media (max-width:800px){.Comparison .Comparison-left .Example,.Comparison .Comparison-left .Example-caption,.Comparison .Comparison-right .Example{padding-left:4rem;padding-right:4rem}.Comparison .Comparison-left .Example-caption{margin-right:-4rem}.Comparison .Comparison-right .Example-caption{padding-left:4rem;padding-right:4rem;margin-left:-4rem}}.Example{margin-top:2rem;margin-bottom:2rem}.Example .Example-code,.Example .dp-highlighter{padding-top:2rem;padding-bottom:2rem}.Example .Example-caption{margin-left:-4rem;margin-right:-4rem;padding:.5rem 4rem;background-color:#d5dfea}.ExampleExplanation{margin-top:4rem;margin-bottom:4rem}.ExampleExplanation .ExampleExplanation-text{background-color:#d5dfea;padding-top:2rem;padding-bottom:2rem}.ExampleExplanation .ExampleExplanation-code{padding-top:2rem;padding-bottom:2rem}.ExampleExplanation .ExampleExplanation-code .Example,.ExampleExplanation .ExampleExplanation-code .dp-highlighter{margin:0;padding:0}.Example,.ExampleExplanation-code{background-color:#f5f7fa}.Example .dp-highlighter,.ExampleExplanation-code .dp-highlighter{font-family:Fira Mono,Monaco,Consolas,Courier New,Courier,mono,serif;font-size:.7em;line-height:1.4em;overflow:auto}.Example .dp-highlighter ol,.Example .dp-highlighter ol li,.Example .dp-highlighter ol li span,.ExampleExplanation-code .dp-highlighter ol,.ExampleExplanation-code .dp-highlighter ol li,.ExampleExplanation-code .dp-highlighter ol li span{margin:0;padding:0;border:none}.Example .dp-highlighter ol li,.ExampleExplanation-code .dp-highlighter ol li{white-space:nowrap}.Example .dp-highlighter a,.Example .dp-highlighter a:hover,.ExampleExplanation-code .dp-highlighter a,.ExampleExplanation-code .dp-highlighter a:hover{background:0 0;border:none;padding:0;margin:0}.Example .dp-highlighter .bar,.ExampleExplanation-code .dp-highlighter .bar{padding-left:45px}.Example .dp-highlighter.collapsed .bar,.Example .dp-highlighter.nogutter .bar,.ExampleExplanation-code .dp-highlighter.collapsed .bar,.ExampleExplanation-code .dp-highlighter.nogutter .bar{padding-left:0}.Example .dp-highlighter ol,.ExampleExplanation-code .dp-highlighter ol{list-style:decimal;margin:0 0 0 34px!important;padding:0;color:rgba(0,0,0,.3)}.Example .dp-highlighter.nogutter ol,.Example .dp-highlighter.nogutter ol li,.ExampleExplanation-code .dp-highlighter.nogutter ol,.ExampleExplanation-code .dp-highlighter.nogutter ol li{list-style:none!important;margin-left:0!important}.Example .dp-highlighter .columns div,.Example .dp-highlighter ol li,.ExampleExplanation-code .dp-highlighter .columns div,.ExampleExplanation-code .dp-highlighter ol li{list-style:decimal-leading-zero;list-style-position:outside!important;margin:0!important;line-height:1.4em}.Example .dp-highlighter.nogutter .columns div,.Example .dp-highlighter.nogutter ol li,.ExampleExplanation-code .dp-highlighter.nogutter .columns div,.ExampleExplanation-code .dp-highlighter.nogutter ol li{border:0}.Example .dp-highlighter .columns,.ExampleExplanation-code .dp-highlighter .columns{background-color:#f8f8f8;color:gray;overflow:hidden;width:100%}.Example .dp-highlighter .columns div,.ExampleExplanation-code .dp-highlighter .columns div{padding-bottom:5px}.Example .dp-highlighter ol li.alt,.ExampleExplanation-code .dp-highlighter ol li.alt{color:inherit}.Example .dp-highlighter ol li span,.ExampleExplanation-code .dp-highlighter ol li span{color:#000;background-color:inherit}.Example .dp-highlighter.collapsed ol,.ExampleExplanation-code .dp-highlighter.collapsed ol{margin:0}.Example .dp-highlighter.collapsed ol li,.ExampleExplanation-code .dp-highlighter.collapsed ol li{display:none}.Example .dp-highlighter.printing,.ExampleExplanation-code .dp-highlighter.printing{border:none}.Example .dp-highlighter.printing .tools,.ExampleExplanation-code .dp-highlighter.printing .tools{display:none!important}.Example .dp-highlighter.printing li,.ExampleExplanation-code .dp-highlighter.printing li{display:list-item!important}.Example .dp-highlighter .tools,.ExampleExplanation-code .dp-highlighter .tools{padding:3px 8px 10px 10px;font:9px Verdana,Geneva,Arial,Helvetica,sans-serif;color:silver;border-left:1px solid #000}.Example .dp-highlighter.nogutter .tools,.ExampleExplanation-code .dp-highlighter.nogutter .tools{border-left:0}.Example .dp-highlighter.collapsed .tools,.ExampleExplanation-code .dp-highlighter.collapsed .tools{border-bottom:0}.Example .dp-highlighter .tools a,.ExampleExplanation-code .dp-highlighter .tools a{font-size:9px;color:#a0a0a0;text-decoration:none;margin-right:10px}.Example .dp-highlighter .tools a:hover,.ExampleExplanation-code .dp-highlighter .tools a:hover{color:red;background-color:inherit;text-decoration:underline}.Example .dp-about,.ExampleExplanation-code .dp-about{background-color:#fff;color:#333;margin:0;padding:0}.Example .dp-about table,.ExampleExplanation-code .dp-about table{width:100%;height:100%;font-size:11px;font-family:Tahoma,Verdana,Arial,sans-serif!important}.Example .dp-about td,.ExampleExplanation-code .dp-about td{padding:10px;vertical-align:top}.Example .dp-about .copy,.ExampleExplanation-code .dp-about .copy{border-bottom:1px solid #aca899;height:95%}.Example .dp-about .title,.ExampleExplanation-code .dp-about .title{color:red;background-color:inherit;font-weight:700}.Example .dp-about .para,.ExampleExplanation-code .dp-about .para{margin:0 0 4px}.Image,.Table{margin-bottom:2rem;margin-top:2rem}.Example .dp-about .footer,.ExampleExplanation-code .dp-about .footer{background-color:#eceadb;color:#333;border-top:1px solid #fff;text-align:right}.Example .dp-about .close,.ExampleExplanation-code .dp-about .close{font-size:11px;font-family:Tahoma,Verdana,Arial,sans-serif!important;background-color:#eceadb;color:#333;width:60px;height:22px}.Example .dp-highlighter .comment,.Example .dp-highlighter .comments,.ExampleExplanation-code .dp-highlighter .comment,.ExampleExplanation-code .dp-highlighter .comments{color:#3f6a4d;background-color:inherit}.Example .dp-highlighter .string,.ExampleExplanation-code .dp-highlighter .string{color:#101af9;background-color:inherit}.Example .dp-highlighter .keyword,.ExampleExplanation-code .dp-highlighter .keyword{color:#5f1441;font-weight:700;background-color:inherit}.Example .dp-highlighter .annotation,.ExampleExplanation-code .dp-highlighter .annotation{color:red;font-weight:700;background-color:inherit}.Example .dp-highlighter .preprocessor,.ExampleExplanation-code .dp-highlighter .preprocessor{color:#0f0;background-color:inherit}.Image{position:relative;text-align:center}.Image .Image-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:left}.Image img{max-width:100%;max-height:100%;height:auto;width:auto}.Table th{background-color:#d5dfea}.Table td,.Table th,.Table tr{border:0 solid #d3d3d3}.Table.Table--horizontalLines tr{border-top-width:1px}.Table.Table--horizontalLines tr:last-child{border-bottom-width:1px}.Table.Table--verticalLines td,.Table.Table--verticalLines th{border-left-width:1px}.Table.Table--verticalLines td:last-child,.Table.Table--verticalLines th:last-child{border-right-width:1px}.FeatureTable tr:first-child th:first-child{width:25%}.FeatureTable .section{padding:1.5em 0 .5em}.FeatureTable .done{background-color:#efe}.FeatureTable .most{background-color:#ffd}.FeatureTable .tbc{background-color:#fff6de}.FeatureTable .tbd{background-color:#fee}.FeatureTabs .FeatureTabs-nav{background-color:#f5f7fa}.FeatureTabs .FeatureTabs-nav ul{margin-bottom:0;margin-left:0}@media (max-width:800px){.FeatureTabs .FeatureTabs-nav ul{display:none}}.FeatureTabs .FeatureTabs-nav ul li{display:block;padding-top:2rem;padding-bottom:2rem;border-bottom:1px solid #d3d3d3}.FeatureTabs .FeatureTabs-nav ul li:before{display:none}.FeatureTabs .FeatureTabs-nav ul li:last-child{border-bottom:none}.FeatureTabs .FeatureTabs-nav a{text-decoration:none;color:rgba(0,0,0,.3);transition:.3s}.FeatureTabs .FeatureTabs-nav a.is-activeTab,.FeatureTabs .FeatureTabs-nav a:hover{color:#212121}.FeatureTabs .FeatureTabs-stage{display:none;background-color:#d5dfea;padding-top:2rem;padding-bottom:2rem}.FeatureTabs .FeatureTabs-stage.is-activeTab{display:block}.FeatureTabs .FeatureTabs-stage img{margin-bottom:2rem}@media (max-width:800px){.FeatureTabs .FeatureTabs-stage{display:block;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%;border-bottom:1px solid #94afc9;padding-left:3.75rem;padding-right:3.75rem}.FeatureTabs .FeatureTabs-stage h2{margin-bottom:.5rem}}.FeatureTabs .FeatureTabs-stage ul{display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:0;margin-top:2rem;color:rgba(0,0,0,.3)}.FeatureTabs .FeatureTabs-stage ul li{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding-right:1rem}@media (max-width:800px){.FeatureTabs .FeatureTabs-stage ul{margin-top:.5rem;margin-bottom:1.5rem;display:block}.FeatureTabs .FeatureTabs-stage ul li{-webkit-flex-grow:none;-ms-flex-positive:none;flex-grow:none;width:100%;display:block}}.FeatureTabs .FeatureTabs-stage ul li:before{content:"✓";margin:0 .3em 0 0}.FeatureTabs .FeatureTabs-stage a{text-decoration:none;color:#244d82}.FeatureTabs .FeatureTabs-stage a:hover{text-decoration:underline}#community ul{padding-bottom:1rem;padding-top:1em}footer.social{line-height:1.4;color:#FFF;font-size:1.2rem;font-weight:400;font-style:bold;background-color:#132445}footer.social li a{margin-bottom:2em;color:#d5dfea;font-size:1.8rem;font-weight:400;font-style:bold;list-style:none;text-decoration-color:#d5dfea}footer.social a:hover{color:#F7D425}footer.social:first-child{margin-top:0}footer.social h2{margin-bottom:20px;font-weight:600;font-size:1.3em;margin-top:4rem;color:#244d82;font-family:sans-serif}footer.social li:before{content:"› ";color:#244d82;font-size:large;font-weight:800}footer.social ul{margin-top:-10px;line-height:30px}footer.social li{display:-webkit-inline-box;padding-right:10rem;padding-bottom:1rem}
+@charset "UTF-8";*,:after,:before{position:relative;margin:0;padding:0;box-sizing:inherit}button,input,select,textarea{font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox]{-webkit-appearance:checkbox;-moz-appearance:checkbox;appearance:checkbox}input[type=radio]{-webkit-appearance:radio;-moz-appearance:radio;appearance:radio}table{border-collapse:collapse}html{box-sizing:border-box;font-size:10px}.Comparison,.ExampleExplanation,.FeatureTable,.Grid{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.Comparison,.ExampleExplanation,.Grid--fullWidth{margin-left:-2rem;margin-right:-2rem}.Comparison .Cell:first-child,.Comparison .Comparison-left:first-child,.Comparison .Comparison-right:first-child,.Comparison .FeatureTabs .FeatureTabs-stage:first-child,.Comparison .Intro .Intro-Slogan:first-child,.ExampleExplanation .Cell:first-child,.ExampleExplanation .ExampleExplanation-code:first-child,.ExampleExplanation .ExampleExplanation-text:first-child,.ExampleExplanation .FeatureTabs .FeatureTabs-stage:first-child,.ExampleExplanation .Intro .Intro-Slogan:first-child,.FeatureTabs .Comparison .FeatureTabs-stage:first-child,.FeatureTabs .ExampleExplanation .FeatureTabs-stage:first-child,.FeatureTabs .Grid--fullWidth .FeatureTabs-stage:first-child,.Grid--fullWidth .Cell:first-child,.Grid--fullWidth .FeatureTabs .FeatureTabs-stage:first-child,.Grid--fullWidth .Intro .Intro-Slogan:first-child,.Intro .Comparison .Intro-Slogan:first-child,.Intro .ExampleExplanation .Intro-Slogan:first-child,.Intro .Grid--fullWidth .Intro-Slogan:first-child{padding-left:4rem}.Comparison .Cell:last-child,.Comparison .Comparison-left:last-child,.Comparison .Comparison-right:last-child,.Comparison .FeatureTabs .FeatureTabs-stage:last-child,.Comparison .Intro .Intro-Slogan:last-child,.ExampleExplanation .Cell:last-child,.ExampleExplanation .ExampleExplanation-code:last-child,.ExampleExplanation .ExampleExplanation-text:last-child,.ExampleExplanation .FeatureTabs .FeatureTabs-stage:last-child,.ExampleExplanation .Intro .Intro-Slogan:last-child,.FeatureTabs .Comparison .FeatureTabs-stage:last-child,.FeatureTabs .ExampleExplanation .FeatureTabs-stage:last-child,.FeatureTabs .Grid--fullWidth .FeatureTabs-stage:last-child,.Grid--fullWidth .Cell:last-child,.Grid--fullWidth .FeatureTabs .FeatureTabs-stage:last-child,.Grid--fullWidth .Intro .Intro-Slogan:last-child,.Intro .Comparison .Intro-Slogan:last-child,.Intro .ExampleExplanation .Intro-Slogan:last-child,.Intro .Grid--fullWidth .Intro-Slogan:last-child{padding-right:4rem}@media (max-width:800px){.Comparison,.ExampleExplanation,.Grid--fullWidth{margin-left:-.75rem;margin-right:-.75rem}.Comparison .Cell:first-child,.Comparison .Cell:last-child,.Comparison .Comparison-left:first-child,.Comparison .Comparison-left:last-child,.Comparison .Comparison-right:first-child,.Comparison .Comparison-right:last-child,.Comparison .FeatureTabs .FeatureTabs-stage:first-child,.Comparison .FeatureTabs .FeatureTabs-stage:last-child,.Comparison .Intro .Intro-Slogan:first-child,.Comparison .Intro .Intro-Slogan:last-child,.ExampleExplanation .Cell:first-child,.ExampleExplanation .Cell:last-child,.ExampleExplanation .ExampleExplanation-code:first-child,.ExampleExplanation .ExampleExplanation-code:last-child,.ExampleExplanation .ExampleExplanation-text:first-child,.ExampleExplanation .ExampleExplanation-text:last-child,.ExampleExplanation .FeatureTabs .FeatureTabs-stage:first-child,.ExampleExplanation .FeatureTabs .FeatureTabs-stage:last-child,.ExampleExplanation .Intro .Intro-Slogan:first-child,.ExampleExplanation .Intro .Intro-Slogan:last-child,.FeatureTabs .Comparison .FeatureTabs-stage:first-child,.FeatureTabs .Comparison .FeatureTabs-stage:last-child,.FeatureTabs .ExampleExplanation .FeatureTabs-stage:first-child,.FeatureTabs .ExampleExplanation .FeatureTabs-stage:last-child,.FeatureTabs .Grid--fullWidth .FeatureTabs-stage:first-child,.FeatureTabs .Grid--fullWidth .FeatureTabs-stage:last-child,.Grid--fullWidth .Cell:first-child,.Grid--fullWidth .Cell:last-child,.Grid--fullWidth .FeatureTabs .FeatureTabs-stage:first-child,.Grid--fullWidth .FeatureTabs .FeatureTabs-stage:last-child,.Grid--fullWidth .Intro .Intro-Slogan:first-child,.Grid--fullWidth .Intro .Intro-Slogan:last-child,.Intro .Comparison .Intro-Slogan:first-child,.Intro .Comparison .Intro-Slogan:last-child,.Intro .ExampleExplanation .Intro-Slogan:first-child,.Intro .ExampleExplanation .Intro-Slogan:last-child,.Intro .Grid--fullWidth .Intro-Slogan:first-child,.Intro .Grid--fullWidth .Intro-Slogan:last-child{padding-left:1.5rem}}.Example,.Image.Image--fullWidth,.TODO,.u-fullWidth{margin-left:-2rem;margin-right:-2rem;padding-left:4rem;padding-right:4rem}.Cell,.Comparison .Comparison-left,.Comparison .Comparison-right,.ExampleExplanation .ExampleExplanation-code,.ExampleExplanation .ExampleExplanation-text,.FeatureTabs .FeatureTabs-stage,.Intro .Intro-Slogan{padding-left:2rem;padding-right:2rem;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}@media (max-width:800px){.Cell,.Comparison .Comparison-left,.Comparison .Comparison-right,.ExampleExplanation .ExampleExplanation-code,.ExampleExplanation .ExampleExplanation-text,.FeatureTabs .FeatureTabs-stage,.Intro .Intro-Slogan{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.m-Cell--withMargin{margin-bottom:3rem}}.Cell--3-12{-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.Nav,.u-width--3-12,nav.Nav--bottom,nav.Nav--top{max-width:25%;width:100%}@media (max-width:800px){.Nav,.u-width--3-12,nav.Nav--bottom,nav.Nav--top{max-width:100%}}.Cell--4-12,.ExampleExplanation .ExampleExplanation-text{-webkit-flex-basis:33.333%;-ms-flex-preferred-size:33.333%;flex-basis:33.333%;max-width:33.333%}@media (max-width:800px){.Cell--4-12,.ExampleExplanation .ExampleExplanation-text{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}}.Cell--6-12,.Comparison .Comparison-left,.Comparison .Comparison-right{-webkit-flex-basis:50%;-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}@media (max-width:800px){.Cell--6-12,.Comparison .Comparison-left,.Comparison .Comparison-right{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}}.Cell--8-12,.ExampleExplanation .ExampleExplanation-code{-webkit-flex-basis:66.666%;-ms-flex-preferred-size:66.666%;flex-basis:66.666%;max-width:66.666%}@media (max-width:800px){.Cell--8-12,.ExampleExplanation .ExampleExplanation-code{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}}.Main article.Article--noGrid>.Image:not(.Image--fullWidth),.Main article.Article--noGrid>h1,.Main article.Article--noGrid>h2,.Main article.Article--noGrid>h3,.Main article.Article--noGrid>h4,.Main article.Article--noGrid>img,.Main article.Article--noGrid>ol,.Main article.Article--noGrid>p,.Main article.Article--noGrid>table,.Main article.Article--noGrid>ul,.u-width--8-12,main article.Article--noGrid>.Image:not(.Image--fullWidth),main article.Article--noGrid>h1,main article.Article--noGrid>h2,main article.Article--noGrid>h3,main article.Article--noGrid>h4,main article.Article--noGrid>img,main article.Article--noGrid>ol,main article.Article--noGrid>p,main article.Article--noGrid>table,main article.Article--noGrid>ul{max-width:66.666%;width:100%}@media (max-width:800px){.Main article.Article--noGrid>.Image:not(.Image--fullWidth),.Main article.Article--noGrid>h1,.Main article.Article--noGrid>h2,.Main article.Article--noGrid>h3,.Main article.Article--noGrid>h4,.Main article.Article--noGrid>img,.Main article.Article--noGrid>ol,.Main article.Article--noGrid>p,.Main article.Article--noGrid>table,.Main article.Article--noGrid>ul,.u-width--8-12,main article.Article--noGrid>.Image:not(.Image--fullWidth),main article.Article--noGrid>h1,main article.Article--noGrid>h2,main article.Article--noGrid>h3,main article.Article--noGrid>h4,main article.Article--noGrid>img,main article.Article--noGrid>ol,main article.Article--noGrid>p,main article.Article--noGrid>table,main article.Article--noGrid>ul{max-width:100%}}.Cell--9-12,.FeatureTabs .FeatureTabs-stage,.Intro .Intro-Slogan{-webkit-flex-basis:75%;-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.Cell--12-12{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.Sans,body{font-family:sans-serif;font-weight:400}.FeatureTable .section,.H2,.H3,.H4,.Introduction,.Sans--bold,.Serif--bold,h1,h2,h3,h4,ul li:before{font-family:sans-serif;font-weight:600}body{font-size:1.9rem;line-height:1.4;color:#212121;background-color:#527aa3}h1{font-size:2em;margin-top:0;margin-bottom:4rem;color:#244d82}.FeatureTable .section,.H2,.H3,h2,h3{margin-top:4rem;margin-bottom:2rem}.FeatureTable .section,.H2,h2{font-size:1.3em;color:#244d82}.H3,.H4,h3,h4{font-size:1em}.H4,h4{margin-top:.5em;margin-bottom:0}ol,p,ul{margin-bottom:.5em}.Link,a{color:#6999d6}a:hover{color:#132445}.Link.Link--action,a.Link--action{color:#f7d425;text-decoration:none}.Link.Link--action:hover,a.Link--action:hover{text-decoration:underline}.Example .Example-caption,.FeatureTable,.FeatureTabs .FeatureTabs-stage ul,.Image .Image-caption,.SystemRequirements,.u-small,small{font-size:.8em;line-height:1.4em}ol ol,ol ul,ul ol,ul ul{margin-left:2em}ol li,ul li{margin-bottom:.2em}ol{margin-left:1.2em}ul{margin-left:.75em}ul li{list-style:none}ul li:before{content:"›";margin-left:-.75em;margin-right:.4em;color:#244d82}code{font-family:Fira Mono,Monaco,Consolas,Courier New,Courier,mono,serif;font-size:.85em;letter-spacing:.02em}img{width:100%;height:auto}h1:first-child,h2:first-child,h3:first-child{margin-top:0}.Main,.Page,footer,header,main{width:100%;max-width:1050px;margin-right:auto;margin-left:auto;padding-left:2rem;padding-right:2rem}.Main,main{background-color:#fff;position:relative}footer,header{background-color:#132445}.Main article,main article{margin-top:4rem;margin-bottom:4rem}.Main article:first-of-type,main article:first-of-type{margin-top:0;padding-top:0}@media (max-width:800px){.Main,.Page,footer,header,main{padding-left:.75rem;padding-right:.75rem}.Main article:first-of-type,main article:first-of-type{padding-top:1.5rem}}.Main article:last-of-type,main article:last-of-type{margin-bottom:0;padding-bottom:4rem}.Main article.Article--noGrid>h1,.Main article.Article--noGrid>h2,.Main article.Article--noGrid>h3,.Main article.Article--noGrid>h4,.Main article.Article--noGrid>ol,.Main article.Article--noGrid>p,.Main article.Article--noGrid>ul,main article.Article--noGrid>h1,main article.Article--noGrid>h2,main article.Article--noGrid>h3,main article.Article--noGrid>h4,main article.Article--noGrid>ol,main article.Article--noGrid>p,main article.Article--noGrid>ul{padding-left:2rem}@media (max-width:800px){.Main article.Article--noGrid>h1,.Main article.Article--noGrid>h2,.Main article.Article--noGrid>h3,.Main article.Article--noGrid>h4,.Main article.Article--noGrid>ol,.Main article.Article--noGrid>p,.Main article.Article--noGrid>ul,main article.Article--noGrid>h1,main article.Article--noGrid>h2,main article.Article--noGrid>h3,main article.Article--noGrid>h4,main article.Article--noGrid>ol,main article.Article--noGrid>p,main article.Article--noGrid>ul{padding-left:.75rem;padding-right:.75rem}}.Main article.Article--noGrid>table,main article.Article--noGrid>table{margin-left:2rem;margin-right:2rem;margin-bottom:2rem}.Main article.Article--noGrid>table td,.Main article.Article--noGrid>table th,main article.Article--noGrid>table td,main article.Article--noGrid>table th{padding:.2em .5em}.Main article.Article--noGrid>table th,main article.Article--noGrid>table th{text-align:left}.Main article.Article--noGrid>.Image:not(.Image--fullWidth),.Main article.Article--noGrid>img,main article.Article--noGrid>.Image:not(.Image--fullWidth),main article.Article--noGrid>img{padding-left:2rem;margin-top:2rem;margin-bottom:2rem}header{height:7rem;color:#fff;padding-top:1.7rem;padding-bottom:.8rem}header img{height:4rem;width:auto;margin:0}header nav{border:none;line-height:1em;padding-top:1.8rem;text-align:right}header nav a{display:inline-block;text-decoration:none;padding:0 1rem;transition:color .3s;color:#fff}header nav a.is-active,header nav a:hover{color:#f7d425}header nav a:last-child{padding-right:16px}footer{color:#fff;padding-top:2rem;padding-bottom:2rem}footer a{color:#d5dfea}footer a:hover{color:#F7D425}footer .Link--action{float:right}footer a,footer a:hover{text-decoration:none}.Nav,nav.Nav--bottom,nav.Nav--top{position:absolute;z-index:1;padding-left:2rem;border-left:1px solid #d3d3d3}@media (max-width:800px){header{height:auto}header img{max-width:100%;max-height:4rem;height:auto}header nav{display:none}footer{text-align:center}footer .Link--action{display:block;width:100%;float:none}.Nav,nav.Nav--bottom,nav.Nav--top{position:static;width:100%;padding-left:.75rem;border-left:none;padding-top:1.5rem;padding-bottom:3rem;border-bottom:1px solid #d3d3d3}}.Nav li:last-child,.Nav ul,nav.Nav--bottom li:last-child,nav.Nav--bottom ul,nav.Nav--top li:last-child,nav.Nav--top ul{margin-bottom:0}.Nav a,nav.Nav--bottom a,nav.Nav--top a{text-decoration:none;color:rgba(0,0,0,.3);transition:.2s}.Nav a.is-active,.Nav a:hover,nav.Nav--bottom a.is-active,nav.Nav--bottom a:hover,nav.Nav--top a.is-active,nav.Nav--top a:hover{color:#212121}.Nav.Nav--top,nav.Nav--bottom.Nav--top,nav.Nav--top.Nav--top{right:4rem;top:4rem}.Nav.Nav--bottom,nav.Nav--bottom.Nav--bottom,nav.Nav--top.Nav--bottom{right:4rem;bottom:4rem}.Intro{background-color:#244d82;padding:4rem 0;margin-bottom:-4rem;position:relative}@media (max-width:800px){.Intro{padding:0}}.Intro .Intro-Slogan{color:#fff;font-size:2em;padding:1rem 0;margin:0 auto}@media (max-width:800px){.Intro .Intro-Slogan{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%;font-size:1.4em;padding:.5rem 2.5rem 1rem;padding-left:2.5rem!important}}.Intro img{z-index:1;margin:0;height:100%;width:100%}.Intro:after{content:"";position:absolute;left:0;right:0;bottom:0;top:65%;z-index:0;background-color:#fff}.GettingStarted{background-color:#fbffb4;padding:4rem 0}@media (max-width:800px){.GettingStarted h2{padding-left:1.5rem}}.GettingStarted .GettingStarted-u-paddingLeft{padding-left:4rem}.GettingStarted .GettingStarted-u-paddingRight{padding-right:4rem}@media (max-width:800px){.GettingStarted .GettingStarted-u-paddingLeft{margin-bottom:3rem;padding-left:3rem}.GettingStarted .GettingStarted-u-paddingRight{padding-right:3rem}}.SystemRequirements{color:rgba(0,0,0,.3)}.Comparison,.TODO{margin-top:4rem;margin-bottom:4rem}.TODO{padding-top:.5em;padding-bottom:.5em;color:#fff;background-color:#f39797}.TODO:before{content:"TODO: ";font-weight:700}.Comparison .Comparison-left{border-right:1px solid #d3d3d3}.Comparison .Comparison-left .Example,.Comparison .Comparison-left .Example-caption{margin-left:-4rem;margin-right:-2rem;padding-left:4rem;padding-right:2rem}.Comparison .Comparison-right .Example,.Comparison .Comparison-right .Example-caption{margin-left:-2rem;margin-right:-4rem;padding-left:2rem;padding-right:4rem}@media (max-width:800px){.Comparison .Comparison-left .Example,.Comparison .Comparison-left .Example-caption,.Comparison .Comparison-right .Example{padding-left:4rem;padding-right:4rem}.Comparison .Comparison-left .Example-caption{margin-right:-4rem}.Comparison .Comparison-right .Example-caption{padding-left:4rem;padding-right:4rem;margin-left:-4rem}}.Example{margin-top:2rem;margin-bottom:2rem}.Example .Example-code,.Example .dp-highlighter{padding-top:2rem;padding-bottom:2rem}.Example .Example-caption{margin-left:-4rem;margin-right:-4rem;padding:.5rem 4rem;background-color:#d5dfea}.ExampleExplanation{margin-top:4rem;margin-bottom:4rem}.ExampleExplanation .ExampleExplanation-text{background-color:#d5dfea;padding-top:2rem;padding-bottom:2rem}.ExampleExplanation .ExampleExplanation-code{padding-top:2rem;padding-bottom:2rem}.ExampleExplanation .ExampleExplanation-code .Example,.ExampleExplanation .ExampleExplanation-code .dp-highlighter{margin:0;padding:0}.Example,.ExampleExplanation-code{background-color:#f5f7fa}.Example .dp-highlighter,.ExampleExplanation-code .dp-highlighter{font-family:Fira Mono,Monaco,Consolas,Courier New,Courier,mono,serif;font-size:.7em;line-height:1.4em;overflow:auto}.Example .dp-highlighter ol,.Example .dp-highlighter ol li,.Example .dp-highlighter ol li span,.ExampleExplanation-code .dp-highlighter ol,.ExampleExplanation-code .dp-highlighter ol li,.ExampleExplanation-code .dp-highlighter ol li span{margin:0;padding:0;border:none}.Example .dp-highlighter ol li,.ExampleExplanation-code .dp-highlighter ol li{white-space:nowrap}.Example .dp-highlighter a,.Example .dp-highlighter a:hover,.ExampleExplanation-code .dp-highlighter a,.ExampleExplanation-code .dp-highlighter a:hover{background:0 0;border:none;padding:0;margin:0}.Example .dp-highlighter .bar,.ExampleExplanation-code .dp-highlighter .bar{padding-left:45px}.Example .dp-highlighter.collapsed .bar,.Example .dp-highlighter.nogutter .bar,.ExampleExplanation-code .dp-highlighter.collapsed .bar,.ExampleExplanation-code .dp-highlighter.nogutter .bar{padding-left:0}.Example .dp-highlighter ol,.ExampleExplanation-code .dp-highlighter ol{list-style:decimal;margin:0 0 0 34px!important;padding:0;color:rgba(0,0,0,.3)}.Example .dp-highlighter.nogutter ol,.Example .dp-highlighter.nogutter ol li,.ExampleExplanation-code .dp-highlighter.nogutter ol,.ExampleExplanation-code .dp-highlighter.nogutter ol li{list-style:none!important;margin-left:0!important}.Example .dp-highlighter .columns div,.Example .dp-highlighter ol li,.ExampleExplanation-code .dp-highlighter .columns div,.ExampleExplanation-code .dp-highlighter ol li{list-style:decimal-leading-zero;list-style-position:outside!important;margin:0!important;line-height:1.4em}.Example .dp-highlighter.nogutter .columns div,.Example .dp-highlighter.nogutter ol li,.ExampleExplanation-code .dp-highlighter.nogutter .columns div,.ExampleExplanation-code .dp-highlighter.nogutter ol li{border:0}.Example .dp-highlighter .columns,.ExampleExplanation-code .dp-highlighter .columns{background-color:#f8f8f8;color:gray;overflow:hidden;width:100%}.Example .dp-highlighter .columns div,.ExampleExplanation-code .dp-highlighter .columns div{padding-bottom:5px}.Example .dp-highlighter ol li.alt,.ExampleExplanation-code .dp-highlighter ol li.alt{color:inherit}.Example .dp-highlighter ol li span,.ExampleExplanation-code .dp-highlighter ol li span{color:#000;background-color:inherit}.Example .dp-highlighter.collapsed ol,.ExampleExplanation-code .dp-highlighter.collapsed ol{margin:0}.Example .dp-highlighter.collapsed ol li,.ExampleExplanation-code .dp-highlighter.collapsed ol li{display:none}.Example .dp-highlighter.printing,.ExampleExplanation-code .dp-highlighter.printing{border:none}.Example .dp-highlighter.printing .tools,.ExampleExplanation-code .dp-highlighter.printing .tools{display:none!important}.Example .dp-highlighter.printing li,.ExampleExplanation-code .dp-highlighter.printing li{display:list-item!important}.Example .dp-highlighter .tools,.ExampleExplanation-code .dp-highlighter .tools{padding:3px 8px 10px 10px;font:9px Verdana,Geneva,Arial,Helvetica,sans-serif;color:silver;border-left:1px solid #000}.Example .dp-highlighter.nogutter .tools,.ExampleExplanation-code .dp-highlighter.nogutter .tools{border-left:0}.Example .dp-highlighter.collapsed .tools,.ExampleExplanation-code .dp-highlighter.collapsed .tools{border-bottom:0}.Example .dp-highlighter .tools a,.ExampleExplanation-code .dp-highlighter .tools a{font-size:9px;color:#a0a0a0;text-decoration:none;margin-right:10px}.Example .dp-highlighter .tools a:hover,.ExampleExplanation-code .dp-highlighter .tools a:hover{color:red;background-color:inherit;text-decoration:underline}.Example .dp-about,.ExampleExplanation-code .dp-about{background-color:#fff;color:#333;margin:0;padding:0}.Example .dp-about table,.ExampleExplanation-code .dp-about table{width:100%;height:100%;font-size:11px;font-family:Tahoma,Verdana,Arial,sans-serif!important}.Example .dp-about td,.ExampleExplanation-code .dp-about td{padding:10px;vertical-align:top}.Example .dp-about .copy,.ExampleExplanation-code .dp-about .copy{border-bottom:1px solid #aca899;height:95%}.Example .dp-about .title,.ExampleExplanation-code .dp-about .title{color:red;background-color:inherit;font-weight:700}.Example .dp-about .para,.ExampleExplanation-code .dp-about .para{margin:0 0 4px}.Image,.Table{margin-bottom:2rem;margin-top:2rem}.Example .dp-about .footer,.ExampleExplanation-code .dp-about .footer{background-color:#eceadb;color:#333;border-top:1px solid #fff;text-align:right}.Example .dp-about .close,.ExampleExplanation-code .dp-about .close{font-size:11px;font-family:Tahoma,Verdana,Arial,sans-serif!important;background-color:#eceadb;color:#333;width:60px;height:22px}.Example .dp-highlighter .comment,.Example .dp-highlighter .comments,.ExampleExplanation-code .dp-highlighter .comment,.ExampleExplanation-code .dp-highlighter .comments{color:#3f6a4d;background-color:inherit}.Example .dp-highlighter .string,.ExampleExplanation-code .dp-highlighter .string{color:#101af9;background-color:inherit}.Example .dp-highlighter .keyword,.ExampleExplanation-code .dp-highlighter .keyword{color:#5f1441;font-weight:700;background-color:inherit}.Example .dp-highlighter .annotation,.ExampleExplanation-code .dp-highlighter .annotation{color:red;font-weight:700;background-color:inherit}.Example .dp-highlighter .preprocessor,.ExampleExplanation-code .dp-highlighter .preprocessor{color:#0f0;background-color:inherit}.Image{position:relative;text-align:center}.Image .Image-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:left}.Image img{max-width:100%;max-height:100%;height:auto;width:auto}.Table th{background-color:#d5dfea}.Table td,.Table th,.Table tr{border:0 solid #d3d3d3}.Table.Table--horizontalLines tr{border-top-width:1px}.Table.Table--horizontalLines tr:last-child{border-bottom-width:1px}.Table.Table--verticalLines td,.Table.Table--verticalLines th{border-left-width:1px}.Table.Table--verticalLines td:last-child,.Table.Table--verticalLines th:last-child{border-right-width:1px}.FeatureTable tr:first-child th:first-child{width:25%}.FeatureTable .section{padding:1.5em 0 .5em}.FeatureTable .done{background-color:#efe}.FeatureTable .most{background-color:#ffd}.FeatureTable .tbc{background-color:#fff6de}.FeatureTable .tbd{background-color:#fee}.FeatureTabs .FeatureTabs-nav{background-color:#f5f7fa}.FeatureTabs .FeatureTabs-nav ul{margin-bottom:0;margin-left:0}@media (max-width:800px){.FeatureTabs .FeatureTabs-nav ul{display:none}}.FeatureTabs .FeatureTabs-nav ul li{display:block;padding-top:2rem;padding-bottom:2rem;border-bottom:1px solid #d3d3d3}.FeatureTabs .FeatureTabs-nav ul li:before{display:none}.FeatureTabs .FeatureTabs-nav ul li:last-child{border-bottom:none}.FeatureTabs .FeatureTabs-nav a{text-decoration:none;color:rgba(0,0,0,.3);transition:.3s}.FeatureTabs .FeatureTabs-nav a.is-activeTab,.FeatureTabs .FeatureTabs-nav a:hover{color:#212121}.FeatureTabs .FeatureTabs-stage{display:none;background-color:#d5dfea;padding-top:2rem;padding-bottom:2rem}.FeatureTabs .FeatureTabs-stage.is-activeTab{display:block}.FeatureTabs .FeatureTabs-stage img{margin-bottom:2rem}@media (max-width:800px){.FeatureTabs .FeatureTabs-stage{display:block;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%;border-bottom:1px solid #94afc9;padding-left:3.75rem;padding-right:3.75rem}.FeatureTabs .FeatureTabs-stage h2{margin-bottom:.5rem}}.FeatureTabs .FeatureTabs-stage ul{display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:0;margin-top:2rem;color:rgba(0,0,0,.3)}.FeatureTabs .FeatureTabs-stage ul li{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding-right:1rem}@media (max-width:800px){.FeatureTabs .FeatureTabs-stage ul{margin-top:.5rem;margin-bottom:1.5rem;display:block}.FeatureTabs .FeatureTabs-stage ul li{-webkit-flex-grow:none;-ms-flex-positive:none;flex-grow:none;width:100%;display:block}}.FeatureTabs .FeatureTabs-stage ul li:before{content:"✓";margin:0 .3em 0 0}.FeatureTabs .FeatureTabs-stage a{text-decoration:none;color:#244d82}.FeatureTabs .FeatureTabs-stage a:hover{text-decoration:underline}#community ul{padding-bottom:1rem;padding-top:1em}footer.social{line-height:1.4;color:#FFF;font-size:1.2rem;font-weight:400;font-style:bold;background-color:#132445}footer.social li a{margin-bottom:2em;color:#d5dfea;font-size:1.8rem;font-weight:400;font-style:bold;list-style:none;text-decoration-color:#d5dfea}footer.social a:hover{color:#F7D425}footer.social:first-child{margin-top:0}footer.social h2{margin-bottom:20px;font-weight:600;font-size:1.3em;margin-top:4rem;color:#244d82;font-family:sans-serif}footer.social li:before{content:"› ";color:#244d82;font-size:large;font-weight:800}footer.social ul{margin-top:-10px;line-height:30px}footer.social li{display:-webkit-inline-box;padding-right:10rem;padding-bottom:1rem}