@charset "UTF-8";
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }

body { margin: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }

audio:not([controls]) { display: none; height: 0; }

[hidden], template { display: none; }

a { background-color: transparent; }

a:active, a:hover { outline: 0; }

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: 700; }

dfn { font-style: italic; }

h1 { font-size: 2em; margin: .67em 0; }

mark { background: #ff0; color: #000; }

small { font-size: 80%; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sup { top: -.5em; }

sub { bottom: -.25em; }

img { border: 0; }

svg:not(:root) { overflow: hidden; }

figure { margin: 1em 40px; }

hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }

pre { overflow: auto; }

code, kbd, pre, samp { font-family: monospace,monospace; font-size: 1em; }

button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; }

button { overflow: visible; }

button, select { text-transform: none; }

button, html input[type=button], input[type=reset], input[type=submit] { -webkit-appearance: button; cursor: pointer; }

button[disabled], html input[disabled] { cursor: default; }

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

input { line-height: normal; }

input[type=checkbox], input[type=radio] { box-sizing: border-box; padding: 0; }

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { height: auto; }

input[type=search] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration { -webkit-appearance: none; }

fieldset { border: 1px solid silver; margin: 0 2px; padding: .35em .625em .75em; }

legend { border: 0; padding: 0; }

textarea { overflow: auto; }

optgroup { font-weight: 700; }

table { border-collapse: collapse; border-spacing: 0; }

td, th { padding: 0; }

/* Gridism A simple, responsive, and handy CSS grid by @cobyism https://github.com/cobyism/gridism */
/* Preserve some sanity */
.grid, .unit { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

/* Set up some rules to govern the grid */
.grid { display: block; clear: both; }

.grid .unit { float: left; width: 100%; padding: 10px; }

/* This ensures the outer gutters are equal to the (doubled) inner gutters. */
.grid .unit:first-child { padding-left: 20px; }

.grid .unit:last-child { padding-right: 20px; }

/* Nested grids already have padding though, so let’s nuke it */
.unit .unit:first-child { padding-left: 0; }

.unit .unit:last-child { padding-right: 0; }

.unit .grid:first-child > .unit { padding-top: 0; }

.unit .grid:last-child > .unit { padding-bottom: 0; }

/* Let people nuke the gutters/padding completely in a couple of ways */
.no-gutters .unit, .unit.no-gutters { padding: 0 !important; }

/* Wrapping at a maximum width is optional */
.wrap .grid, .grid.wrap { max-width: 978px; margin: 0 auto; }

/* Width classes also have shorthand versions numbered as fractions For example: for a grid unit 1/3 (one third) of the parent width, simply apply class="w-1-3" to the element. */
.grid .whole, .grid .w-1-1 { width: 100%; }

.grid .half, .grid .w-1-2 { width: 50%; }

.grid .one-third, .grid .w-1-3 { width: 33.3332%; }

.grid .two-thirds, .grid .w-2-3 { width: 66.6665%; }

.grid .one-quarter, .grid .one-fourth, .grid .w-1-4 { width: 25%; }

.grid .three-quarters, .grid .three-fourths, .grid .w-3-4 { width: 75%; }

.grid .one-fifth, .grid .w-1-5 { width: 20%; }

.grid .two-fifths, .grid .w-2-5 { width: 40%; }

.grid .three-fifths, .grid .w-3-5 { width: 60%; }

.grid .four-fifths, .grid .w-4-5 { width: 80%; }

.grid .golden-small, .grid .w-g-s { width: 38.2716%; }

/* Golden section: smaller piece */
.grid .golden-large, .grid .w-g-l { width: 61.7283%; }

/* Golden section: larger piece */
/* Clearfix after every .grid */
.grid { *zoom: 1; }

.grid:before, .grid:after { display: table; content: ""; line-height: 0; }

.grid:after { clear: both; }

/* Utility classes */
.align-center { text-align: center; }

.align-left { text-align: left; }

.align-right { text-align: right; }

.pull-left { float: left; }

.pull-right { float: right; }

/* A property for a better rendering of images in units: in this way bigger pictures are just resized if the unit becomes smaller */
.unit img { max-width: 100%; }

/* Responsive Stuff */
@media screen and (max-width: 568px) { /* Stack anything that isn’t full-width on smaller screens and doesn't provide the no-stacking-on-mobiles class */ .grid:not(.no-stacking-on-mobiles) > .unit { width: 100% !important; padding-left: 20px; padding-right: 20px; } .unit .grid .unit { padding-left: 0px; padding-right: 0px; } /* Sometimes, you just want to be different on small screens */ .center-on-mobiles { text-align: center !important; } .hide-on-mobiles { display: none !important; } }

/* Expand the wrap a bit further on larger screens */
@media screen and (min-width: 1180px) { .wider .grid, .grid.wider { max-width: 1180px; margin: 0 auto; } }

.highlight { /* Comment */ /* Error */ /* Generic */ /* Keyword */ /* Literal */ /* Name */ /* Operator */ /* Other */ /* Punctuation */ /* Comment.Multiline */ /* Comment.Preproc */ /* Comment.Single */ /* Comment.Special */ /* Generic.Deleted */ /* Generic.Emph */ /* Generic.Error */ /* Generic.Heading */ /* Generic.Inserted */ /* Generic.Output, qualified with span to prevent applying this style to the Go language, see #1153. */ /* Generic.Prompt */ /* Generic.Strong */ /* Generic.Subheading */ /* Generic.Traceback */ /* Keyword.Constant */ /* Keyword.Declaration */ /* Keyword.Namespace */ /* Keyword.Pseudo */ /* Keyword.Reserved */ /* Keyword.Type */ /* Literal.Date */ /* Literal.Number */ /* Literal.String */ /* Name.Attribute */ /* Name.Builtin */ /* Name.Class */ /* Name.Constant */ /* Name.Decorator */ /* Name.Entity */ /* Name.Exception */ /* Name.Function */ /* Name.Label */ /* Name.Namespace */ /* Name.Other */ /* Name.Property */ /* Name.Tag */ /* Name.Variable */ /* Operator.Word */ /* Text.Whitespace */ /* Literal.Number.Float */ /* Literal.Number.Hex */ /* Literal.Number.Integer */ /* Literal.Number.Oct */ /* Literal.String.Backtick */ /* Literal.String.Char */ /* Literal.String.Doc */ /* Literal.String.Double */ /* Literal.String.Escape */ /* Literal.String.Heredoc */ /* Literal.String.Interpol */ /* Literal.String.Other */ /* Literal.String.Regex */ /* Literal.String.Single */ /* Literal.String.Symbol */ /* Name.Builtin.Pseudo */ /* Name.Variable.Class */ /* Name.Variable.Global */ /* Name.Variable.Instance */ /* Literal.Number.Integer.Long */ }

.highlight .hll { background-color: #ffffcc; }

.highlight .c { color: #87ceeb; }

.highlight .err { color: #ffffff; }

.highlight .g { color: #ffffff; }

.highlight .k { color: #f0e68c; }

.highlight .l { color: #ffffff; }

.highlight .n { color: #ffffff; }

.highlight .o { color: #ffffff; }

.highlight .x { color: #ffffff; }

.highlight .p { color: #ffffff; }

.highlight .cm { color: #87ceeb; }

.highlight .cp { color: #cd5c5c; }

.highlight .c1 { color: #87ceeb; }

.highlight .cs { color: #87ceeb; }

.highlight .gd { color: #0000c0; font-weight: bold; background-color: #008080; }

.highlight .ge { color: #c000c0; text-decoration: underline; }

.highlight .gr { color: #c0c0c0; font-weight: bold; background-color: #c00000; }

.highlight .gh { color: #cd5c5c; }

.highlight .gi { color: #ffffff; background-color: #0000c0; }

.highlight span.go { color: #add8e6; font-weight: bold; background-color: #4d4d4d; }

.highlight .gp { color: #ffffff; }

.highlight .gs { color: #ffffff; }

.highlight .gu { color: #cd5c5c; }

.highlight .gt { color: #c0c0c0; font-weight: bold; background-color: #c00000; }

.highlight .kc { color: #f0e68c; }

.highlight .kd { color: #f0e68c; }

.highlight .kn { color: #f0e68c; }

.highlight .kp { color: #f0e68c; }

.highlight .kr { color: #f0e68c; }

.highlight .kt { color: #bdb76b; }

.highlight .ld { color: #ffffff; }

.highlight .m { color: #ffffff; }

.highlight .s { color: #ffffff; }

.highlight .na { color: #ffffff; }

.highlight .nb { color: #ffffff; }

.highlight .nc { color: #ffffff; }

.highlight .no { color: #ffa0a0; }

.highlight .nd { color: #ffffff; }

.highlight .ni { color: #ffdead; }

.highlight .ne { color: #ffffff; }

.highlight .nf { color: #ffffff; }

.highlight .nl { color: #ffffff; }

.highlight .nn { color: #ffffff; }

.highlight .nx { color: #ffffff; }

.highlight .py { color: #ffffff; }

.highlight .nt { color: #f0e68c; }

.highlight .nv { color: #98fb98; }

.highlight .ow { color: #ffffff; }

.highlight .w { color: #ffffff; }

.highlight .mf { color: #ffffff; }

.highlight .mh { color: #ffffff; }

.highlight .mi { color: #ffffff; }

.highlight .mo { color: #ffffff; }

.highlight .sb { color: #ffffff; }

.highlight .sc { color: #ffffff; }

.highlight .sd { color: #ffffff; }

.highlight .s2 { color: #ffffff; }

.highlight .se { color: #ffffff; }

.highlight .sh { color: #ffffff; }

.highlight .si { color: #ffffff; }

.highlight .sx { color: #ffffff; }

.highlight .sr { color: #ffffff; }

.highlight .s1 { color: #ffffff; }

.highlight .ss { color: #ffffff; }

.highlight .bp { color: #ffffff; }

.highlight .vc { color: #98fb98; }

.highlight .vg { color: #98fb98; }

.highlight .vi { color: #98fb98; }

.highlight .il { color: #ffffff; }

.highlight .bash .nv { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; }

/*! Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */
@font-face { font-family: 'FontAwesome'; src: url("../fonts/fontawesome-webfont.eot?v=4.2.0"); src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff?v=4.2.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.2.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular") format("svg"); font-weight: normal; font-style: normal; }

.fa { display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.fa-link:before { content: "\f0c1"; }

.fa-pencil:before { content: "\f040"; }

/* Base */
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

body { font: 300 21px Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #ddd; background-color: #333; border-top: 5px solid #33adff; -webkit-box-shadow: inset 0 3px 30px rgba(0, 0, 0, 0.3); -moz-box-shadow: inset 0 3px 30px rgba(0, 0, 0, 0.3); box-shadow: inset 0 3px 30px rgba(0, 0, 0, 0.3); text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); -webkit-font-feature-settings: "kern" 1; -moz-font-feature-settings: "kern" 1; -o-font-feature-settings: "kern" 1; font-feature-settings: "kern" 1; font-kerning: normal; }

.clear { display: block; }

.clear:after { content: " "; display: block; height: 0; clear: both; visibility: hidden; }

/* Sections */
header, section, footer { float: left; width: 100%; clear: both; }

/* Header */
header { margin-bottom: 40px; }

header h1, header nav { display: inline-block; }

nav ul { padding: 0; margin: 0; }

nav li { display: inline-block; }

.main-nav { margin-left: 20px; }

.main-nav li { margin-right: 10px; }

.main-nav li a { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; font-weight: 900; font-size: 14px; padding: 0.5em 1em; text-shadow: none; text-transform: uppercase; -webkit-transition: all 0.25s; -moz-transition: all 0.25s; -o-transition: all 0.25s; transition: all 0.25s; }

.main-nav li a:hover { background-color: #252525; -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.1); -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.1); box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.1); text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); }

.main-nav li.current a { background-color: #33adff; color: #222; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 5px rgba(0, 0, 0, 0.5); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 5px rgba(0, 0, 0, 0.5); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 5px rgba(0, 0, 0, 0.5); text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3); }

.mobile-nav ul { overflow: hidden; width: 100%; display: table; }

.mobile-nav a { float: left; width: 100%; background-color: #333; color: #33adff; text-align: center; text-transform: uppercase; font-size: 14px; font-weight: 900; padding: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }

.mobile-nav li { display: table-cell; width: 20%; padding: 8px 2px; }

.mobile-nav .current a { background-color: #33adff; color: #222; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 5px rgba(0, 0, 0, 0.5); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 5px rgba(0, 0, 0, 0.5); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 5px rgba(0, 0, 0, 0.5); text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3); }

/* This code is courtesy Ben Balter, modified by Parker Moore. http://ben.balter.com/2014/03/13/pages-anchor-links/ */
.header-link { position: relative; left: 0.5em; opacity: 0; font-size: 0.8em; -webkit-transition: opacity 0.2s ease-in-out 0.1s; -moz-transition: opacity 0.2s ease-in-out 0.1s; -o-transition: opacity 0.2s ease-in-out 0.1s; transition: opacity 0.2s ease-in-out 0.1s; }

h2:hover .header-link, h3:hover .header-link, h4:hover .header-link, h5:hover .header-link, h6:hover .header-link { opacity: 1; }

@media (max-width: 768px) { .main-nav ul { text-align: center; } }

@media (max-width: 830px) { .main-nav .show-on-mobiles { display: inline; } .main-nav .hide-on-mobiles { display: none; } }

/* Footer */
footer { background-color: #212121; font-size: 16px; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; color: #c0c0c0; margin-top: 40px; }

footer a { color: #fff; }

footer a:hover img { opacity: 1; }

footer .align-right p { display: inline-block; }

footer img { display: inline-block; position: relative; top: 8px; margin-left: 5px; opacity: .8; padding: 1px; -webkit-transition: opacity 0.2s; -moz-transition: opacity 0.2s; -o-transition: opacity 0.2s; transition: opacity 0.2s; }

@media (max-width: 568px) { footer .one-third p { margin-bottom: 0; } footer .two-thirds p { margin-top: -20px; } }

/* Intro */
.intro .unit { padding: 10px 0 40px; }

.intro p { font-size: 1.75em; line-height: 1em; margin: 0; }

@media (min-width: 569px) { .intro p { font-size: 3.2em; } }

/* Quickstart */
.quickstart { background-color: #3F1F1F; color: #fff; margin: 60px 0; -webkit-box-shadow: inset 0 3px 10px rgba(0, 0, 0, 0.4); -moz-box-shadow: inset 0 3px 10px rgba(0, 0, 0, 0.4); box-shadow: inset 0 3px 10px rgba(0, 0, 0, 0.4); }

.quickstart .content { padding: 0; }

.quickstart h3 { font-size: 24px; line-height: 24px; margin-top: 20px; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8); }

.quickstart .code { font-size: 12px; display: block; margin: 0 0 -30px; }

@media (min-width: 768px) { .quickstart .code { font-size: 18px; margin: -30px 0; float: right; } .quickstart h3 { margin: 50px 0 0; text-align: center; } }

/* Code */
.quickstart .code { display: block; padding: 0; font-family: Menlo, Consolas, "Courier New", Courier, "Liberation Mono", monospace; line-height: 1.3em; }

.quickstart .code .title { display: block; text-align: center; margin: 0 20px; padding: 5px 0; -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5); -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5); font: 400 16px/24px 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #444; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); background-color: #f7f7f7; background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y3ZjdmNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjclIiBzdG9wLWNvbG9yPSIjY2ZjZmNmIiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2FhYWFhYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=); background-image: -webkit-gradient(linear, left top, left bottom, from(#f7f7f7), color-stop(7%, #cfcfcf), to(#aaaaaa)); background-image: -webkit-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%); background-image: -moz-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%); background-image: -o-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%); background-image: linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#aaaaaa',GradientType=0 ); border-bottom: 1px solid #111; }

.quickstart .code .shell { padding: 20px; text-shadow: none; margin: 0 20px; background-color: #171717; -webkit-border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3); box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3); }

.quickstart .code .line { display: block; margin: 0; padding: 0; }

.quickstart .code .line span { display: inline-block; }

.quickstart .code .path { color: #87ceeb; -webkit-user-select: none; /* Chrome all / Safari all */ -moz-user-select: none; /* Firefox all */ -ms-user-select: none; /* IE 10+ */ -o-user-select: none; user-select: none; }

.quickstart .code .prompt { color: #cd5c5c; -webkit-user-select: none; /* Chrome all / Safari all */ -moz-user-select: none; /* Firefox all */ -ms-user-select: none; /* IE 10+ */ -o-user-select: none; user-select: none; }

.quickstart .code .command { color: #f0e68c; }

.quickstart .code .output { color: #888; }

@media (min-width: 768px) { .free-hosting img { float: left; margin: -20px -30px -30px -50px; width: 300px; height: 251px; } .free-hosting .pane-content { margin-top: 35px; padding-right: 30px; } .free-hosting p, .free-hosting a { font-size: 18px; } .free-hosting .pane:after { content: " "; float: right; background: url(../img/footer-arrow.png) top left no-repeat; width: 73px; height: 186px; position: absolute; right: 0; bottom: -30px; } }

/* Article - Used for both docs and news */
article { background-color: #444; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; padding: 20px; margin: 0 10px; -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1); font-size: 16px; }

@media (max-width: 480px) { article ul { padding-left: 20px; } }

@media (max-width: 568px) { article { margin: 0; } }

@media (min-width: 768px) { article { padding: 40px 40px 30px; font-size: 21px; } }

/* Right-side nav - used by both docs and news */
aside { padding-top: 30px; }

aside h4 { text-transform: uppercase; font-size: 14px; font-weight: 700; padding: 0 0 10px 30px; margin-left: -30px; display: inline-block; border-bottom: 1px solid #ff0; }

aside ul { padding-left: 0; }

aside ul:first-child { margin-top: 0; }

aside li { list-style-type: none; }

aside li a { font-size: 16px; position: relative; }

aside li.current a:before { content: ""; border-color: transparent transparent transparent #444; border-style: solid; border-width: 10px; width: 0; height: 0; position: absolute; top: 0; left: -30px; }

/* Documentation */
.docs article { min-height: 800px; }

.docs .content { padding: 0; }

.section-nav { text-align: center; padding-top: 40px; position: relative; background: url(../img/article-footer.png) top center no-repeat; margin: 40px -20px 10px; }

.section-nav > div { width: 49.5%; }

.section-nav a, .section-nav span { color: #fff; font-size: 16px; text-transform: uppercase; font-weight: 700; padding: 8px 12px 10px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; /*border: 1px solid #333;*/ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.5); -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.5); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.5); background-color: #767676; }

.section-nav a:hover { color: #fff; background-color: #888; }

.section-nav .next, .section-nav .prev { position: relative; }

.section-nav .next:after, .section-nav .prev:before { font-size: 36px; color: #222; font-weight: 900; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4); position: absolute; top: -7px; }

.section-nav .next:after { content: '\203A'; right: 10px; }

.section-nav .prev:before { content: '\2039'; left: 10px; }

.section-nav .prev, .section-nav .prev:hover { padding-left: 30px; }

.section-nav .next, .section-nav .next:hover { padding-right: 30px; }

.section-nav .disabled { opacity: .5; cursor: default; }

.improve { padding-top: 25px; font-size: 16px; }

.improve a { color: #999; }

.docs-nav-mobile select { color: #000; width: 100%; }

/* News */
article h2:first-child { margin-top: 0; }

.post-category, .post-meta { display: inline-block; vertical-align: middle; font-size: .8em; }

.post-category { display: inline-block; margin-left: -30px; padding: 6px 10px 8px; padding-left: 50px; -webkit-border-radius: 0 5px 5px 0; -moz-border-radius: 0 5px 5px 0; border-radius: 0 5px 5px 0; position: relative; -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.3); box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.3); background-color: #9e2812; background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); background-image: -webkit-gradient(linear, left top, left bottom, from(#9e2812), to(#6f0d0d)); background-image: -webkit-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); background-image: -moz-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); background-image: -o-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); background-image: linear-gradient(to bottom, #9e2812 0%, #6f0d0d 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9e2812', endColorstr='#6f0d0d',GradientType=0 ); }

.post-category:before { content: ""; position: absolute; top: -10px; left: 0; border-color: transparent #6f0d0d #6f0d0d transparent; border-style: solid; border-width: 5px; width: 0; height: 0; }

.post-content img { max-width: 100%; }

.label { float: left; text-transform: uppercase; font-weight: 700; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5); }

@media (max-width: 568px) { .post-category { padding-left: 30px; } }

@media (min-width: 768px) { .post-category { margin-left: -50px; } }

.avatar { -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; display: inline-block; vertical-align: middle; }

.post-meta { padding: 5px 0; color: #c0c0c0; font-weight: 600; text-shadow: 0 -1px 0 #000; }

.post-date, .post-author { margin-left: 10px; }

.news article + article { margin-top: -10px; -webkit-border-radius: 0 0 10px 10px; -moz-border-radius: 0 0 10px 10px; border-radius: 0 0 10px 10px; border-top: 1px solid #555; -webkit-box-shadow: 0 -1px 0 #2f2f2f; -moz-box-shadow: 0 -1px 0 #2f2f2f; box-shadow: 0 -1px 0 #2f2f2f; }

/* Code Highlighting */
pre, code { white-space: pre; display: inline-block; margin: 0; font: 14px/1.8em Menlo, Consolas, "Courier New", Courier, "Liberation Mono", monospace; padding: 0 0.5em; }

@media (min-width: 768px) { pre, code { font-size: 16px; } }

.highlight, p > pre, p > code, p > nobr > code, li > code, h5 > code, .note > code { background-color: #2b2b2b; color: #fff; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; -webkit-box-shadow: inset 0 1px 10px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.1), 0 -1px 0 rgba(0, 0, 0, 0.5); -moz-box-shadow: inset 0 1px 10px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.1), 0 -1px 0 rgba(0, 0, 0, 0.5); box-shadow: inset 0 1px 10px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.1), 0 -1px 0 rgba(0, 0, 0, 0.5); }

.note code { background-color: #333; background-color: rgba(0, 0, 0, 0.2); margin-left: 2.5px; margin-right: 2.5px; font-size: 0.8em; }

.highlight { margin: 1em 0; padding: 10px 0; width: 100%; overflow: auto; }

/* HTML Elements */
h1, h2, h3, h4, h5, h6 { margin: 0; }

a { color: #33adff; text-decoration: none; -webkit-transition: all 0.25s; -moz-transition: all 0.25s; -o-transition: all 0.25s; transition: all 0.25s; }

a:hover { color: #33adff; }

strong { font-weight: 700; }

p { line-height: 1.5em; }

.left { float: left; }

.right { float: right; }

.align-right { text-align: right; }

.align-left { text-align: left; }

.align-center { text-align: center; }

/* Article HTML */
article h2, article h3, article h4, article h5, article h6 { margin: 1em 0; }

article h4 { color: #fff; }

article ul li p { margin: 0; }

article ul li blockquote { margin: 10px 0; }

article ul li, article ol li { line-height: 1.5em; margin-bottom: 0.5em; }

h5, h6 { font-size: 1em; font-style: italic; }

blockquote { border-left: 2px solid #777; padding-left: 20px; font-style: italic; font-size: 18px; font-weight: 500; }

/* Tables */
table { /* Allow code inside tables to wrap when there is no space */ width: 100%; background-color: #555; margin: .5em 0; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); }

table pre, table code { white-space: pre-wrap; }

/* The CSS class is added via _plugins/wrap_table.rb plugin to enable horizontal scrolling */
.scroll-table-style { overflow-x: auto; }

thead { -webkit-border-top-left-radius: 5px; -moz-border-radius-topleft: 5px; border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px; -moz-border-radius-topright: 5px; border-top-right-radius: 5px; color: #fff; background-color: #3a3a3a; background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzNhM2EzYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxZTFlMWUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); background-image: -webkit-gradient(linear, left top, left bottom, from(#3a3a3a), to(#1e1e1e)); background-image: -webkit-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%); background-image: -moz-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%); background-image: -o-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%); background-image: linear-gradient(to bottom, #3a3a3a 0%, #1e1e1e 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3a3a3a', endColorstr='#1e1e1e',GradientType=0 ); }

thead th { position: relative; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); }

thead th:first-child { -webkit-border-top-left-radius: 5px; -moz-border-radius-topleft: 5px; border-top-left-radius: 5px; }

thead th:last-child { -webkit-border-top-right-radius: 5px; -moz-border-radius-topright: 5px; border-top-right-radius: 5px; }

td { padding: .5em .75em; }

td p { margin: 0; }

th { text-transform: uppercase; font-size: 16px; padding: .5em .75em; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.9); color: #888; }

tbody td { border-top: 1px solid #747474; border-top: 1px solid rgba(0, 0, 0, 0.1); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=); background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%); background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1affffff', endColorstr='#00ffffff',GradientType=0 ); }

tbody td p { font-size: 16px; }

tbody td p code { font-size: 14px; }

code.option, th .option, code.filter, th .filter { color: #50B600; }

code.flag, th .flag, code.output, th .output { color: #049DCE; }

code.option, code.flag, code.filter, code.output { margin-bottom: 2px; }

/* Note types */
.note { margin: 30px 0; margin-left: -30px; padding: 20px 20px 24px; padding-left: 50px; -webkit-border-radius: 0 5px 5px 0; -moz-border-radius: 0 5px 5px 0; border-radius: 0 5px 5px 0; position: relative; -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.3); box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.3); background-color: #7e6d42; background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzdlNmQ0MiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM1YzRlMzUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); background-image: -webkit-gradient(linear, left top, left bottom, from(#7e6d42), to(#5c4e35)); background-image: -webkit-linear-gradient(top, #7e6d42 0%, #5c4e35 100%); background-image: -moz-linear-gradient(top, #7e6d42 0%, #5c4e35 100%); background-image: -o-linear-gradient(top, #7e6d42 0%, #5c4e35 100%); background-image: linear-gradient(to bottom, #7e6d42 0%, #5c4e35 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7e6d42', endColorstr='#5c4e35',GradientType=0 ); }

@media (max-width: 568px) { .note { margin-right: -30px; } }

@media (min-width: 768px) { .note { margin-left: -50px; } }

.configtable { font-size: 14px; }

.note:before { content: ""; position: absolute; top: -10px; left: 0; border-color: transparent #222 #222 transparent; border-style: solid; border-width: 5px; width: 0; height: 0; }

.note h5, .note p { margin: 0; color: #fff; }

.note h5 { line-height: 1.5em; font-weight: 900; font-style: normal; }

.note p { font-weight: 400; font-size: .75em; }

.note:after { content: '\2605'; color: #33adff; position: absolute; top: 14px; left: 14px; font-size: 28px; font-weight: 700; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5); }

.info { background-color: #0389aa; background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAzODlhYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDYxN2YiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); background-image: -webkit-gradient(linear, left top, left bottom, from(#0389aa), to(#00617f)); background-image: -webkit-linear-gradient(top, #0389aa 0%, #00617f 100%); background-image: -moz-linear-gradient(top, #0389aa 0%, #00617f 100%); background-image: -o-linear-gradient(top, #0389aa 0%, #00617f 100%); background-image: linear-gradient(to bottom, #0389aa 0%, #00617f 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0389aa', endColorstr='#00617f',GradientType=0 ); }

.warning { background-color: #9e2812; background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); background-image: -webkit-gradient(linear, left top, left bottom, from(#9e2812), to(#6f0d0d)); background-image: -webkit-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); background-image: -moz-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); background-image: -o-linear-gradient(top, #9e2812 0%, #6f0d0d 100%); background-image: linear-gradient(to bottom, #9e2812 0%, #6f0d0d 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9e2812', endColorstr='#6f0d0d',GradientType=0 ); }

.unreleased { background-color: #cd9239; background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2NkOTIzOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNhMjc1MjgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); background-image: -webkit-gradient(linear, left top, left bottom, from(#cd9239), to(#a27528)); background-image: -webkit-linear-gradient(top, #cd9239 0%, #a27528 100%); background-image: -moz-linear-gradient(top, #cd9239 0%, #a27528 100%); background-image: -o-linear-gradient(top, #cd9239 0%, #a27528 100%); background-image: linear-gradient(to bottom, #cd9239 0%, #a27528 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cd9239', endColorstr='#a27528',GradientType=0 ); }

.info:before { border-color: transparent #00617f #00617f transparent; }

.warning:before { border-color: transparent #6f0d0d #6f0d0d transparent; }

.unreleased:before { border-color: transparent #664719 #664719 transparent; }

.info:after { content: '\24D8'; color: #fff; position: absolute; top: 15px; left: 15px; font-size: 28px; font-weight: 700; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5); }

.warning:after { content: '\203C'; color: #33adff; position: absolute; top: 15px; left: 15px; font-size: 32px; font-weight: 700; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5); }

.unreleased:after { content: '\2692'; color: #2b2a12; position: absolute; top: 8px; left: 15px; font-size: 38px; font-weight: 700; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25); }

/* Responsive tables */
@media (max-width: 768px) { .mobile-side-scroller { overflow-x: scroll; margin: 0 -40px; padding: 0 10px; } }

.show-on-mobiles { display: none; }

@media screen and (max-width: 568px) { .show-on-mobiles { display: block !important; } a .show-on-mobiles { display: inline !important; } }

/* Helper class taken from Bootstrap. Hides an element to all devices except screen readers. */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }

#poweredby { float: right; text-align: right; width: 200px; height: 87px; }

#resources { background-color: #000; }

/*# sourceMappingURL=screen.css.map */