html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } body { line-height: 1; } ol, ul { list-style: none; } table { border-collapse: collapse; border-spacing: 0; } caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; } q, blockquote { quotes: none; } q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; } a img { border: none; } article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } #dsl { /* Comment */ /* Error */ /* Keyword */ /* Literal */ /* Name */ /* Operator */ /* Punctuation */ /* Comment.Multiline */ /* Comment.Preproc */ /* Comment.Single */ /* Comment.Special */ /* Generic.Emph */ /* Generic.Strong */ /* 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 */ } #dsl .highlight .hll { background-color: #49483e; } #dsl .highlight { background: #272822; color: #f8f8f2; } #dsl .highlight .c { color: #75715e; } #dsl .highlight .err { color: #960050; background-color: #1e0010; } #dsl .highlight .k { color: #66d9ef; } #dsl .highlight .l { color: #ae81ff; } #dsl .highlight .n { color: #f8f8f2; } #dsl .highlight .o { color: #f92672; } #dsl .highlight .p { color: #f8f8f2; } #dsl .highlight .cm { color: #75715e; } #dsl .highlight .cp { color: #75715e; } #dsl .highlight .c1 { color: #75715e; } #dsl .highlight .cs { color: #75715e; } #dsl .highlight .ge { font-style: italic; } #dsl .highlight .gs { font-weight: bold; } #dsl .highlight .kc { color: #66d9ef; } #dsl .highlight .kd { color: #66d9ef; } #dsl .highlight .kn { color: #f92672; } #dsl .highlight .kp { color: #66d9ef; } #dsl .highlight .kr { color: #66d9ef; } #dsl .highlight .kt { color: #66d9ef; } #dsl .highlight .ld { color: #e6db74; } #dsl .highlight .m { color: #ae81ff; } #dsl .highlight .s { color: #e6db74; } #dsl .highlight .na { color: #a6e22e; } #dsl .highlight .nb { color: #f8f8f2; } #dsl .highlight .nc { color: #a6e22e; } #dsl .highlight .no { color: #66d9ef; } #dsl .highlight .nd { color: #a6e22e; } #dsl .highlight .ni { color: #f8f8f2; } #dsl .highlight .ne { color: #a6e22e; } #dsl .highlight .nf { color: #a6e22e; } #dsl .highlight .nl { color: #f8f8f2; } #dsl .highlight .nn { color: #f8f8f2; } #dsl .highlight .nx { color: #a6e22e; } #dsl .highlight .py { color: #f8f8f2; } #dsl .highlight .nt { color: #f92672; } #dsl .highlight .nv { color: #f8f8f2; } #dsl .highlight .ow { color: #f92672; } #dsl .highlight .w { color: #f8f8f2; } #dsl .highlight .mf { color: #ae81ff; } #dsl .highlight .mh { color: #ae81ff; } #dsl .highlight .mi { color: #ae81ff; } #dsl .highlight .mo { color: #ae81ff; } #dsl .highlight .sb { color: #e6db74; } #dsl .highlight .sc { color: #e6db74; } #dsl .highlight .sd { color: #e6db74; } #dsl .highlight .s2 { color: #e6db74; } #dsl .highlight .se { color: #ae81ff; } #dsl .highlight .sh { color: #e6db74; } #dsl .highlight .si { color: #e6db74; } #dsl .highlight .sx { color: #e6db74; } #dsl .highlight .sr { color: #e6db74; } #dsl .highlight .s1 { color: #e6db74; } #dsl .highlight .ss { color: #AE81FF; } #dsl .highlight .bp { color: #f8f8f2; } #dsl .highlight .vc { color: #f8f8f2; } #dsl .highlight .vg { color: #f8f8f2; } #dsl .highlight .vi { color: #f8f8f2; } #dsl .highlight .il { color: #ae81ff; } body { line-height: 1.5; font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; color: #333333; font-size: 75%; } h1, h2, h3, h4, h5, h6 { font-weight: normal; color: #222222; } h1 img, h2 img, h3 img, h4 img, h5 img, h6 img { margin: 0; } h1 { font-size: 3em; line-height: 1; margin-bottom: 0.50em; } h2 { font-size: 2em; margin-bottom: 0.75em; } h3 { font-size: 1.5em; line-height: 1; margin-bottom: 1.00em; } h4 { font-size: 1.2em; line-height: 1.25; margin-bottom: 1.25em; } h5 { font-size: 1em; font-weight: bold; margin-bottom: 1.50em; } h6 { font-size: 1em; font-weight: bold; } p { margin: 0 0 1.5em; } p .left { display: inline; float: left; margin: 1.5em 1.5em 1.5em 0; padding: 0; } p .right { display: inline; float: right; margin: 1.5em 0 1.5em 1.5em; padding: 0; } a { text-decoration: underline; color: #0066cc; } a:visited { color: #004c99; } a:focus { color: #0099ff; } a:hover { color: #0099ff; } a:active { color: #bf00ff; } blockquote { margin: 1.5em; color: #666666; font-style: italic; } strong, dfn { font-weight: bold; } em, dfn { font-style: italic; } sup, sub { line-height: 0; } abbr, acronym { border-bottom: 1px dotted #666666; } address { margin: 0 0 1.5em; font-style: italic; } del { color: #666666; } pre { margin: 1.5em 0; white-space: pre; } pre, code, tt { font: 1em "andale mono", "lucida console", monospace; line-height: 1.5; } li ul, li ol { margin: 0; } ul, ol { margin: 0 1.5em 1.5em 0; padding-left: 1.5em; } ul { list-style-type: disc; } ol { list-style-type: decimal; } dl { margin: 0 0 1.5em 0; } dl dt { font-weight: bold; } dd { margin-left: 1.5em; } table { margin-bottom: 1.4em; width: 100%; } th { font-weight: bold; } thead th { background: #c3d9ff; } th, td, caption { padding: 4px 10px 4px 5px; } table.striped tr:nth-child(even) td, table tr.even td { background: #e5ecf9; } tfoot { font-style: italic; } caption { background: #eeeeee; } .quiet { color: #666666; } .loud { color: #111111; } body { background: #f6f4f1; color: #676767; width: 768px; padding: 0 20px; font-size: 95%; margin: 25px auto; font-family: 'Georgia'; } body #wrapper { position: relative; } body a, body a:hover, body a:link, body a:visited { color: #407985; } body h1, body h2, body h3, body h4, body h5, body h6 { color: #595959; font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif; } body h1 a { background: url("../images/activeadmin.png") 0 0 no-repeat; display: block; width: 257px; height: 55px; } body h1 a span { display: none; } body #header { margin: 40px 0; } body #header h1 { margin-bottom: 0; } body #tidelift { display: flex; justify-content: flex-start; } body #tidelift a { border: 1px solid #666666; margin-left: auto; padding: 10px; text-decoration: none; } body #tidelift a .cta { background: url("../images/tidelift.svg") no-repeat; padding-left: 30px; } body .tidelift-buttons a { display: table; width: 200px; border: 2px solid #407985; border-radius: 4px; text-decoration: none; font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 18px; letter-spacing: 1px; margin: 0 10px; } body .tidelift-buttons a:first-child { float: left; color: #407985; background: #FFF; } body .tidelift-buttons a:last-child { color: #FFF; background: #407985; } body .tidelift-buttons a span { display: table-cell; vertical-align: middle; text-align: center; } body .clear { clear: both; } body .intro { color: #595959; font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 3.2em; font-weight: 300; line-height: 1em; margin-bottom: 0.3em; padding-top: 35px; background: url("../images/divider.png") 0 0 repeat-x; } body .intro strong { font-weight: 400; } body h2 { margin: 50px 0 10px 0; padding-top: 35px; background: url("../images/divider.png") 0 0 repeat-x; font-size: 2.5em; font-weight: 200; line-height: 105%; } body h3 { margin-top: 30px; margin-bottom: 10px; font-size: 1.7em; font-weight: 300; } body #nav, body #tidelift .cta { font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif; font-weight: 400; font-size: 1.2em; text-transform: uppercase; } body #nav { position: absolute; right: 0; top: 20px; text-align: right; } body #nav a { text-decoration: none; color: #8b9091; margin-left: 20px; } body #features { padding-top: 0; clear: both; background: url("../images/features.png") 0 0 no-repeat; margin: 0 -35px; overflow: visible; min-height: 569px; font-size: 1.0em; line-height: 1.2em; font-weight: 300; font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif; } body #features #features-left { float: left; width: 150px; margin-left: -150px; } body #features #features-right { float: right; width: 150px; margin-right: -150px; } body #features h3 { font-size: 1.2em; padding-bottom: 0; margin-bottom: 5px; } body #features h3.first { margin-top: 10px; } body.with-sidebar { width: 976px; } body .toc { font-family: Helvetica, Arial, sans-serif; padding-top: 35px; width: 270px; float: right; font-size: 0.9em; background: url("../images/divider.png") top left repeat-x; } body .toc ol li { list-style: none; } body .toc a, body .toc a:link, body .toc a:hover, body .toc a:visited { text-decoration: none; color: #595959; } body .toc ol.level-1 > li { font-size: 1.0em; font-weight: bold; margin-top: 20px; } body .toc ol.level-1 > ol { padding-left: 0; font-size: 0.95em; margin: 0; } body .toc ol.level-2 > ol { display: none; } body .toc-content { width: 676px; } body #dsl { margin-top: 20px; } body #dsl .highlight { font-size: 0.82em; background: #292929 url("../images/code-header.png") 0 0 no-repeat; padding: 40px 15px 20px 15px !important; -moz-box-shadow: 0 8px 20px #444444; -webkit-box-shadow: 0 8px 20px #444444; -o-box-shadow: 0 8px 20px #444444; box-shadow: 0 8px 20px #444444; } body .getting-started { font-size: 2em; text-align: center; } body .getting-started a { margin-right: 15px; display: block; } body .getting-started-heading { text-align: center; } body .left { float: left; } body .right { float: right; } body .highlight { background-color: #333; font-family: "Droid Sans Mono", Monaco, monospace; padding: 10px 5px; font-size: 0.9em; -moz-border-radius: 2px; -webkit-border-radius: 2px; -o-border-radius: 2px; -ms-border-radius: 2px; -khtml-border-radius: 2px; border-radius: 2px; margin-bottom: 1.5em; } body .highlight > pre, body .highlight code, body .highlight span { line-height: 1.3em; margin: 0; padding: 0; } body #footer { margin-top: 50px; margin-bottom: 20px; background: url("../images/divider.png") 0 0 repeat-x; clear: both; padding-top: 20px; font-size: 0.9em; } body .post .post-date, body .post .post-meta { font-size: 0.7em; } body .post .post-date { display: inline-block; width: 100px; } body .post .post-meta { font-size: 0.6em; padding-left: 40px; } span.breadcrumb { display: block; font-size: 45%; font-weight: 200; margin: 0; padding: 0; } h2.in-docs { font-weight: 400; } .docs-content { /* Comment */ /* Error */ /* Keyword */ /* Comment.Multiline */ /* Comment.Preproc */ /* Comment.Single */ /* Comment.Special */ /* Generic.Deleted */ /* Generic.Emph */ /* Generic.Error */ /* Generic.Heading */ /* Generic.Inserted */ /* Generic.Output */ /* Generic.Prompt */ /* Generic.Strong */ /* Generic.Subheading */ /* Generic.Traceback */ /* Keyword.Constant */ /* Keyword.Declaration */ /* Keyword.Namespace */ /* Keyword.Pseudo */ /* Keyword.Reserved */ /* Keyword.Type */ /* Literal.Number */ /* Name */ /* Name */ /* Literal.String */ /* Name.Attribute */ /* Name.Builtin */ /* Name.Class */ /* Name.Constant */ /* Name.Decorator */ /* Name.Entity */ /* Name.Function */ /* Name.Namespace */ /* 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 */ } .docs-content h3 { margin-top: 50px; margin-bottom: 10px; font-size: 2em; font-weight: 400; } .docs-content h4 { font-size: 1.5em; font-weight: 400; margin-bottom: 0; } .docs-content p, .docs-content li { font-family: Helvetica, Arial, sans-serif; font-size: 0.9em; } .docs-content .highlight { font-size: 0.85em; background-color: #ece8e1; color: #000000; } .docs-content .highlight .hll { background-color: #ffffcc; } .docs-content .highlight .c { color: #aaaaaa; font-style: italic; } .docs-content .highlight .err { color: #F00000; background-color: #F0A0A0; } .docs-content .highlight .k { color: #0000aa; } .docs-content .highlight .cm { color: #aaaaaa; font-style: italic; } .docs-content .highlight .cp { color: #4c8317; } .docs-content .highlight .c1 { color: #aaaaaa; font-style: italic; } .docs-content .highlight .cs { color: #0000aa; font-style: italic; } .docs-content .highlight .gd { color: #aa0000; } .docs-content .highlight .ge { font-style: italic; } .docs-content .highlight .gr { color: #aa0000; } .docs-content .highlight .gh { color: #000080; font-weight: bold; } .docs-content .highlight .gi { color: #00aa00; } .docs-content .highlight .go { color: #888888; } .docs-content .highlight .gp { color: #555555; } .docs-content .highlight .gs { font-weight: bold; } .docs-content .highlight .gu { color: #800080; font-weight: bold; } .docs-content .highlight .gt { color: #aa0000; } .docs-content .highlight .kc { color: #0000aa; } .docs-content .highlight .kd { color: #0000aa; } .docs-content .highlight .kn { color: #0000aa; } .docs-content .highlight .kp { color: #0000aa; } .docs-content .highlight .kr { color: #0000aa; } .docs-content .highlight .kt { color: #00aaaa; } .docs-content .highlight .m { color: #009999; } .docs-content .highlight .n { color: #000000; } .docs-content .highlight .p { color: #000000; } .docs-content .highlight .s { color: #aa5500; } .docs-content .highlight .na { color: #1e90ff; } .docs-content .highlight .nb { color: #00aaaa; } .docs-content .highlight .nc { color: #00aa00; text-decoration: underline; } .docs-content .highlight .no { color: #aa0000; } .docs-content .highlight .nd { color: #888888; } .docs-content .highlight .ni { color: #800000; font-weight: bold; } .docs-content .highlight .nf { color: #00aa00; } .docs-content .highlight .nn { color: #00aaaa; text-decoration: underline; } .docs-content .highlight .nt { color: #1e90ff; font-weight: bold; } .docs-content .highlight .nv { color: #aa0000; } .docs-content .highlight .ow { color: #0000aa; } .docs-content .highlight .w { color: #bbbbbb; } .docs-content .highlight .mf { color: #009999; } .docs-content .highlight .mh { color: #009999; } .docs-content .highlight .mi { color: #009999; } .docs-content .highlight .mo { color: #009999; } .docs-content .highlight .sb { color: #aa5500; } .docs-content .highlight .sc { color: #aa5500; } .docs-content .highlight .sd { color: #aa5500; } .docs-content .highlight .s2 { color: #aa5500; } .docs-content .highlight .se { color: #aa5500; } .docs-content .highlight .sh { color: #aa5500; } .docs-content .highlight .si { color: #aa5500; } .docs-content .highlight .sx { color: #aa5500; } .docs-content .highlight .sr { color: #009999; } .docs-content .highlight .s1 { color: #aa5500; } .docs-content .highlight .ss { color: #0000aa; } .docs-content .highlight .bp { color: #00aaaa; } .docs-content .highlight .vc { color: #aa0000; } .docs-content .highlight .vg { color: #aa0000; } .docs-content .highlight .vi { color: #aa0000; } .docs-content .highlight .il { color: #009999; }