/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document ========================================================================== */
/** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. */
html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/* Sections ========================================================================== */
/** Remove the margin in all browsers. */
body { margin: 0; }

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 { font-size: 2em; margin: 0.67em 0; }

/* Grouping content ========================================================================== */
/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/* Text-level semantics ========================================================================== */
/** Remove the gray background on active links in IE 10. */
a { background-color: transparent; }

/** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }

/** Add the correct font weight in Chrome, Edge, and Safari. */
b, strong { font-weight: bolder; }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/** Add the correct font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* Embedded content ========================================================================== */
/** Remove the border on images inside links in IE 10. */
img { border-style: none; }

/* Forms ========================================================================== */
/** 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */
button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button, input { /* 1 */ overflow: visible; }

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button, select { /* 1 */ text-transform: none; }

/** Correct the inability to style clickable types in iOS and Safari. */
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Correct the padding in Firefox. */
fieldset { padding: 0.35em 0.75em 0.625em; }

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

/** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress { vertical-align: baseline; }

/** Remove the default vertical scrollbar in IE 10+. */
textarea { overflow: auto; }

/** 1. Add the correct box sizing in IE 10. 2. Remove the padding in IE 10. */
[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

/** Remove the inner padding in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

/* Interactive ========================================================================== */
/* Add the correct display in Edge, IE 10+, and Firefox. */
details { display: block; }

/* Add the correct display in all browsers. */
summary { display: list-item; }

/* Misc ========================================================================== */
/** Add the correct display in IE 10+. */
template { display: none; }

/** Add the correct display in IE 10. */
[hidden] { display: none; }

*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

.-screenReader { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; left: -2000px; }

.-screenReader:focus { background-color: #fff; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; color: #000; display: block; font-size: 1rem; height: auto; line-height: normal; padding: 1rem; position: absolute; left: 1rem; top: 1rem; text-decoration: none; width: auto; z-index: 100000; }

html, body { margin: 0; background: #fff; font-family: Roboto, sans-serif; font-size: 14px; line-height: 1.8em; font-weight: 400; color: #002c40; }

a { color: #0073A8; font-weight: 500; text-decoration: none; overflow-wrap: break-word; word-wrap: break-word; -ms-word-break: break-all; word-break: break-word; }

a:hover, a:focus { color: #0096db; }

.site-row { max-width: 900px; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }

@media (min-width: 768px) { .site-row { padding-left: 2rem; padding-right: 2rem; } }

@media (min-width: 1400px) { .site-row { max-width: 1200px; } }

.bookHeader { position: fixed; top: 0; left: 0; width: 100%; height: 60px; padding: 0 1rem; background: #fff; border-bottom: 1px solid #eee; z-index: 999; }

.bookHeader__logo { display: inline-block; padding-top: 1rem; padding-bottom: 1rem; font-size: 1.5rem; font-weight: 300; line-height: 1.2em; color: #002c40; text-decoration: none; }

.bookHeader__logoImage { max-height: 32px; width: auto; display: block; }

.bookHeader__sidebarControl { position: absolute; display: block; top: 0; left: 0; width: 60px; height: 60px; line-height: 60px; padding: 1rem; border: none; border-right: 1px solid #eee; background: transparent; font-size: 1.5rem; line-height: 1.2em; color: #002c40; cursor: pointer; }

.bookHeader__sidebarControl:hover, .bookHeader__sidebarControl:focus { box-shadow: inset 4px 0 0 #0073A8; outline: 0; }

.bookHeader__sidebarControl .fa-bars, .bookHeader__sidebarControl .fa-times { min-width: 2rem; text-align: center; }

.bookHeader__sidebarControl .fa-times { display: none; }

.bookHeader__sidebarControl + .bookHeader__logo { margin-left: 60px; }

.-sidebarIsOpen .bookHeader__sidebarControl .fa-bars { display: none; }

.-sidebarIsOpen .bookHeader__sidebarControl .fa-times { display: inline-block; }

.bookHeader .versions { display: inline-block; float: right; margin-top: 12px; }

@media (min-width: 768px) { .bookHeader { padding: 0 1rem; } }

@media (min-width: 992px) { .bookHeader { position: fixed; height: 5rem; padding-top: 0.5rem; padding-bottom: 0.5rem; } .bookHeader__sidebarControl { display: none; } .bookHeader__sidebarControl + .bookHeader__logo { margin-left: 0; } }

.version { display: inline-block; padding: 0 1em; border: 1px solid transparent; border-radius: 15px; font-weight: 700; line-height: 30px; }

.version:hover, .version:focus { border-color: #0073A8; }

.version--current { border-color: #0073A8; background: #0073A8; color: #fff; }

.book { margin-top: 4rem; padding: 3rem 1rem 0 1rem; }

.book hr { margin-top: 2rem; margin-bottom: 2rem; border: none; border-bottom: 1px solid #eee; }

.book img { max-width: 100%; padding: 0.5em; background: #eee; border: 1px solid #ddd; border-radius: 3px; }

.book table { border: 1px solid #eee; border-collapse: collapse; }

.book table thead { background: #eee; }

.book table tfooter { background: #eee; }

.book table th, .book table td { padding: 0.25em 0.5em; vertical-align: top; }

.book table th { font-weight: 700; }

.book > .alert:first-child { margin-top: 0; }

.book__content h1 { margin-top: 0; margin-bottom: 1.5rem; font-size: 2.2rem; line-height: 1.2em; }

.book__content p { margin-top: 2em; margin-bottom: 2em; font-size: 1.15rem; line-height: 2em; }

.book__content ul, .book__content ol { margin-top: 2em; margin-bottom: 2em; }

.book__content li { line-height: 1.8em; }

.book__content li + li { margin-top: 1em; }

.book__content blockquote { margin: 2em 0; padding: 1em; border-left: 0.25em solid #c8c8c8; background: #eee; }

.book__content blockquote.tip { background: #f8f2b2; border-color: #e4d857; }

.book__content blockquote.notice { background: #d2eaf5; border-color: #0073A8; }

.book__content blockquote.warning { background: #f8dce2; border-color: #e0143f; }

.book__content blockquote.warning code { color: #ff1e4e; border-color: #e99fae; }

.book__content blockquote p { font-size: 1rem; line-height: 1.6em; }

.book__content blockquote p:first-child { margin-top: 0; }

.book__content blockquote p:last-child { margin-bottom: 0; }

.book__improve { display: inline-block; margin-bottom: 2em; }

.book__footer .book__improve { margin-top: 3rem; }

.book__sidebar { position: fixed; top: 60px; left: 0; height: calc(100vh - 60px); padding: 1rem; background: #fff; transform: translateX(-100%); transition: transform 0.3s; overflow-y: scroll; z-index: 999; }

.book__spacer { padding-bottom: 1rem; }

.book__sidebarScreen { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 998; background: #000; opacity: 0; transition: opacity 0.3s; }

.-sidebarIsOpen .book__sidebar { transform: translateX(0); }

.-sidebarIsOpen .book__sidebarScreen { display: block; opacity: 0.2; }

.book__summary h1, .book__summary h2 { position: absolute; top: 0; left: -9999px; }

.book__summary ul { margin-top: 0; margin-bottom: 0.5rem; padding: 0; list-style: none; }

.book__summary ul ul { margin-top: -0.25rem; padding-left: 1.5rem; }

.book__summary li { list-style: none; color: rgba(0, 44, 64, 0.7); padding: 0.55em 0; font-weight: 500; }

.book__summary li a { line-height: 1.4em; color: #002c40; }

.book__summary li a:hover, .book__summary li a:focus { color: #0073A8; }

.book__summary li li { padding: 0.15em 0; font-size: 0.9rem; font-weight: 400; }

.book__summary li li a { font-weight: 400; }

.book__backToHub { display: inline-block; margin-top: 1.5rem; padding-top: 0.75rem; border-top: 1px solid #eee; }

.book__backToHub .fa-long-arrow-alt-left { color: rgba(0, 44, 64, 0.7); }

.book__backToHub p { display: inline-block; margin: 0; margin-left: 0.75em; }

@media (min-width: 480px) { .book__improve { float: right; margin-left: 2em; } .book__footer .book__improve { float: none; margin-left: 0; } }

@media (min-width: 768px) { .book { padding-left: 2rem; padding-right: 2rem; } }

@media (min-width: 992px) { .book { margin-top: 5rem; padding-top: 3rem; } .book__content { max-width: 50em; margin-left: auto; margin-right: auto; min-height: calc(100vh - 30rem); } .book__footerWrapper { margin-top: 3rem; } .body--withSidebar .book { position: relative; } .body--withSidebar .book__sidebar { position: fixed; top: 5rem; left: 0; overflow: auto; transform: none; width: 20em; height: calc(100vh - 5rem); margin-top: 0; padding: 1rem 2rem; border-right: 1px solid #eee; } .body--withSidebar .book__sidebarScreen { display: none !important; } .body--withSidebar .book__page { margin-left: 20em; } .body--withSidebar .book__footerWrapper { margin-left: 20em; } .body--withSidebar .book__footerWrapper .siteFooter__container { justify-content: center; max-width: none; } }

.alert { margin: 4rem 0; padding: 1rem; background: #eee; border-left: 0.5rem solid #002c40; }

.alert__heading { margin-bottom: 1rem; font-weight: 700; }

.alert--warning { background: #f8dce2; border-left-color: #e0143f; }

.alert + .alert { margin: 2rem 0; }

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

.highlight { background: #0d3244; color: #d0d0d0; }

.highlight .c { color: #999999; font-style: italic; }

/* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2; }

/* Error */
.highlight .esc { color: #d0d0d0; }

/* Escape */
.highlight .g { color: #d0d0d0; }

/* Generic */
.highlight .k { color: #8ebd75; font-weight: bold; }

/* Keyword */
.highlight .l { color: #d0d0d0; }

/* Literal */
.highlight .n { color: #d0d0d0; }

/* Name */
.highlight .o { color: #d0d0d0; }

/* Operator */
.highlight .x { color: #d0d0d0; }

/* Other */
.highlight .p { color: #d0d0d0; }

/* Punctuation */
.highlight .ch { color: #999999; font-style: italic; }

/* Comment.Hashbang */
.highlight .cm { color: #999999; font-style: italic; }

/* Comment.Multiline */
.highlight .cp { color: #cd2828; font-weight: bold; }

/* Comment.Preproc */
.highlight .cpf { color: #999999; font-style: italic; }

/* Comment.PreprocFile */
.highlight .c1 { color: #999999; font-style: italic; }

/* Comment.Single */
.highlight .cs { color: #e50808; font-weight: bold; background-color: #520000; }

/* Comment.Special */
.highlight .gd { color: #e0143f; }

/* Generic.Deleted */
.highlight .ge { color: #d0d0d0; font-style: italic; }

/* Generic.Emph */
.highlight .gr { color: #e0143f; }

/* Generic.Error */
.highlight .gh { color: #ffffff; font-weight: bold; }

/* Generic.Heading */
.highlight .gi { color: #589819; }

/* Generic.Inserted */
.highlight .go { color: #cccccc; }

/* Generic.Output */
.highlight .gp { color: #aaaaaa; }

/* Generic.Prompt */
.highlight .gs { color: #d0d0d0; font-weight: bold; }

/* Generic.Strong */
.highlight .gu { color: #ffffff; text-decoration: underline; }

/* Generic.Subheading */
.highlight .gt { color: #e0143f; }

/* Generic.Traceback */
.highlight .kc { color: #8ebd75; font-weight: bold; }

/* Keyword.Constant */
.highlight .kd { color: #8ebd75; font-weight: bold; }

/* Keyword.Declaration */
.highlight .kn { color: #8ebd75; font-weight: bold; }

/* Keyword.Namespace */
.highlight .kp { color: #8ebd75; }

/* Keyword.Pseudo */
.highlight .kr { color: #8ebd75; font-weight: bold; }

/* Keyword.Reserved */
.highlight .kt { color: #8ebd75; font-weight: bold; }

/* Keyword.Type */
.highlight .ld { color: #d0d0d0; }

/* Literal.Date */
.highlight .m { color: #5bcbff; }

/* Literal.Number */
.highlight .s { color: #edb56b; }

/* Literal.String */
.highlight .na { color: #bbbbbb; }

/* Name.Attribute */
.highlight .nb { color: #24909d; }

/* Name.Builtin */
.highlight .nc { color: #5bcbff; }

/* Name.Class */
.highlight .no { color: #00cba0; }

/* Name.Constant */
.highlight .nd { color: #e9b673; }

/* Name.Decorator */
.highlight .ni { color: #d0d0d0; }

/* Name.Entity */
.highlight .ne { color: #bbbbbb; }

/* Name.Exception */
.highlight .nf { color: #5bcbff; }

/* Name.Function */
.highlight .nl { color: #d0d0d0; }

/* Name.Label */
.highlight .nn { color: #5bcbff; }

/* Name.Namespace */
.highlight .nx { color: #d0d0d0; }

/* Name.Other */
.highlight .py { color: #d0d0d0; }

/* Name.Property */
.highlight .nt { color: #8ebd75; font-weight: bold; }

/* Name.Tag */
.highlight .nv { color: #00cba0; }

/* Name.Variable */
.highlight .ow { color: #8ebd75; font-weight: bold; }

/* Operator.Word */
.highlight .w { color: #666666; }

/* Text.Whitespace */
.highlight .mb { color: #5bcbff; }

/* Literal.Number.Bin */
.highlight .mf { color: #5bcbff; }

/* Literal.Number.Float */
.highlight .mh { color: #5bcbff; }

/* Literal.Number.Hex */
.highlight .mi { color: #5bcbff; }

/* Literal.Number.Integer */
.highlight .mo { color: #5bcbff; }

/* Literal.Number.Oct */
.highlight .sa { color: #edb56b; }

/* Literal.String.Affix */
.highlight .sb { color: #edb56b; }

/* Literal.String.Backtick */
.highlight .sc { color: #edb56b; }

/* Literal.String.Char */
.highlight .dl { color: #edb56b; }

/* Literal.String.Delimiter */
.highlight .sd { color: #edb56b; }

/* Literal.String.Doc */
.highlight .s2 { color: #edb56b; }

/* Literal.String.Double */
.highlight .se { color: #edb56b; }

/* Literal.String.Escape */
.highlight .sh { color: #edb56b; }

/* Literal.String.Heredoc */
.highlight .si { color: #edb56b; }

/* Literal.String.Interpol */
.highlight .sx { color: #e9b673; }

/* Literal.String.Other */
.highlight .sr { color: #edb56b; }

/* Literal.String.Regex */
.highlight .s1 { color: #edb56b; }

/* Literal.String.Single */
.highlight .ss { color: #edb56b; }

/* Literal.String.Symbol */
.highlight .bp { color: #24909d; }

/* Name.Builtin.Pseudo */
.highlight .fm { color: #5bcbff; }

/* Name.Function.Magic */
.highlight .vc { color: #00cba0; }

/* Name.Variable.Class */
.highlight .vg { color: #00cba0; }

/* Name.Variable.Global */
.highlight .vi { color: #00cba0; }

/* Name.Variable.Instance */
.highlight .vm { color: #00cba0; }

/* Name.Variable.Magic */
.highlight .il { color: #5bcbff; }

/* Literal.Number.Integer.Long */
pre, pre.highlight { margin: 2rem 0; padding: 1rem; overflow: auto; line-height: 1.5em; tab-size: 2; -moz-tab-size: 2; -o-tab-size: 2; }

code { padding: 1px 0.25em; border-radius: 3px; border: 1px solid #c6f0e7; font-family: 'Roboto Mono', monospace; font-size: 14px; font-weight: 700; color: #00b28d; }

.highlight code { padding: 0; border: none; font-weight: 400; color: #d0d0d0; }

.siteFooter { padding-top: 2rem; padding-bottom: 2rem; background: #eee; }

.siteFooter__container { max-width: 900px; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }

@media (min-width: 768px) { .siteFooter__container { padding-left: 2rem; padding-right: 2rem; } }

@media (min-width: 1400px) { .siteFooter__container { max-width: 1200px; } }

.siteFooter__logo { display: block; }

.siteFooter__logo img { display: block; width: 140px; max-width: 100%; height: auto; }

.siteFooter__nav { margin-top: 2rem; }

.siteFooter__nav p { margin: 0.25em 0; }

.siteFooter__navHeader { font-weight: 700; }

.book + .siteFooter { margin-top: 8rem; }

@media (min-width: 767px) { .siteFooter { padding-top: 4rem; padding-bottom: 4rem; } .siteFooter__container { display: flex; justify-content: flex-start; } .siteFooter__logo { padding-right: 8rem; } .siteFooter__nav { margin-top: 0; padding-right: 4rem; } }

@media (min-width: 1200px) { .siteFooter { padding-top: 6rem; padding-bottom: 6rem; } }

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