/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
@import url("/en/farmbot-genesis/assets/css/font-google-2.css");
html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/** Remove default margin. */
body { margin: 0; }

/* HTML5 display definitions ========================================================================== */
/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }

/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
audio:not([controls]) { display: none; height: 0; }

/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
[hidden], template { display: none; }

/* Links ========================================================================== */
/** Remove the gray background color from active links in IE 10. */
a { background-color: transparent; }

/** Improve readability when focused and also mouse hovered in all browsers. */
a:active, a:hover { outline: 0; }

/* Text-level semantics ========================================================================== */
/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
abbr[title] { border-bottom: 1px dotted; }

/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
b, strong { font-weight: bold; }

/** Address styling not present in Safari and Chrome. */
dfn { font-style: italic; }

/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
h1 { font-size: 2em; margin: 0.67em 0; }

/** Address styling not present in IE 8/9. */
mark { background: #ff0; color: #000; }

/** Address inconsistent and variable font size in all browsers. */
small { font-size: 80%; }

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

sup { top: -0.5em; }

sub { bottom: -0.25em; }

/* Embedded content ========================================================================== */
/** Remove border when inside `a` element in IE 8/9/10. */
img { border: 0; }

/** Correct overflow not hidden in IE 9/10/11. */
svg:not(:root) { overflow: hidden; }

/* Grouping content ========================================================================== */
/** Address margin not present in IE 8/9 and Safari. */
figure { margin: 1em 40px; }

/** Address differences between Firefox and other browsers. */
hr { box-sizing: content-box; height: 0; }

/** Contain overflow in all browsers. */
pre { overflow: auto; }

/** Address odd `em`-unit font size rendering in all browsers. */
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }

/* Forms ========================================================================== */
/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }

/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
button { overflow: visible; }

/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
button, select { text-transform: none; }

/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }

/** Re-set default cursor for disabled elements. */
button[disabled], html input[disabled] { cursor: default; }

/** Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
input { line-height: normal; }

/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
input[type="search"] { -webkit-appearance: textfield; /* 1 */ /* 2 */ box-sizing: content-box; }

/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** Define consistent border, margin, and padding. */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }

/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend { border: 0; /* 1 */ padding: 0; /* 2 */ }

/** Remove default vertical scrollbar in IE 8/9/10/11. */
textarea { overflow: auto; }

/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
optgroup { font-weight: bold; }

/* Tables ========================================================================== */
/** Remove most spacing between table cells. */
table { border-collapse: collapse; border-spacing: 0; }

td, th { padding: 0; }

.highlight table td { padding: 5px; }

.highlight table pre { margin: 0; }

.highlight .cm { color: #999988; font-style: italic; }

.highlight .cp { color: #999999; font-weight: bold; }

.highlight .c1 { color: #999988; font-style: italic; }

.highlight .cs { color: #999999; font-weight: bold; font-style: italic; }

.highlight .c, .highlight .cd { color: #999988; font-style: italic; }

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

.highlight .gd { color: #000000; background-color: #ffdddd; }

.highlight .ge { color: #000000; font-style: italic; }

.highlight .gr { color: #aa0000; }

.highlight .gh { color: #999999; }

.highlight .gi { color: #000000; background-color: #ddffdd; }

.highlight .go { color: #888888; }

.highlight .gp { color: #555555; }

.highlight .gs { font-weight: bold; }

.highlight .gu { color: #aaaaaa; }

.highlight .gt { color: #aa0000; }

.highlight .kc { color: #000000; font-weight: bold; }

.highlight .kd { color: #000000; font-weight: bold; }

.highlight .kn { color: #000000; font-weight: bold; }

.highlight .kp { color: #000000; font-weight: bold; }

.highlight .kr { color: #000000; font-weight: bold; }

.highlight .kt { color: #445588; font-weight: bold; }

.highlight .k, .highlight .kv { color: #000000; font-weight: bold; }

.highlight .mf { color: #009999; }

.highlight .mh { color: #009999; }

.highlight .il { color: #009999; }

.highlight .mi { color: #009999; }

.highlight .mo { color: #009999; }

.highlight .m, .highlight .mb, .highlight .mx { color: #009999; }

.highlight .sb { color: #d14; }

.highlight .sc { color: #d14; }

.highlight .sd { color: #d14; }

.highlight .s2 { color: #d14; }

.highlight .se { color: #d14; }

.highlight .sh { color: #d14; }

.highlight .si { color: #d14; }

.highlight .sx { color: #d14; }

.highlight .sr { color: #009926; }

.highlight .s1 { color: #d14; }

.highlight .ss { color: #990073; }

.highlight .s { color: #d14; }

.highlight .na { color: #008080; }

.highlight .bp { color: #999999; }

.highlight .nb { color: #0086B3; }

.highlight .nc { color: #445588; font-weight: bold; }

.highlight .no { color: #008080; }

.highlight .nd { color: #3c5d5d; font-weight: bold; }

.highlight .ni { color: #800080; }

.highlight .ne { color: #990000; font-weight: bold; }

.highlight .nf { color: #990000; font-weight: bold; }

.highlight .nl { color: #990000; font-weight: bold; }

.highlight .nn { color: #555555; }

.highlight .nt { color: #000080; }

.highlight .vc { color: #008080; }

.highlight .vg { color: #008080; }

.highlight .vi { color: #008080; }

.highlight .nv { color: #008080; }

.highlight .ow { color: #000000; font-weight: bold; }

.highlight .o { color: #000000; font-weight: bold; }

.highlight .w { color: #bbbbbb; }

.highlight { background-color: #f8f8f8; }

* { box-sizing: border-box; }

body { padding: 0; margin: 0; font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.5; color: #606c71; }

#skip-to-content { height: 1px; width: 1px; position: absolute; overflow: hidden; top: -10px; }
#skip-to-content:focus { position: fixed; top: 10px; left: 10px; height: auto; width: auto; background: #e19447; outline: thick solid #e19447; }

a { color: #1e6bb8; text-decoration: none; }
a:hover { text-decoration: underline; }

.btn { display: inline-block; margin-bottom: 1rem; color: rgba(255, 255, 255, 0.7); background-color: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.2); border-style: solid; border-width: 1px; border-radius: 0.3rem; transition: color 0.2s, background-color 0.2s, border-color 0.2s; }
.btn:hover { color: rgba(255, 255, 255, 0.8); text-decoration: none; background-color: rgba(255, 255, 255, 0.2); border-color: rgba(255, 255, 255, 0.3); }
.btn + .btn { margin-left: 1rem; }
@media screen and (min-width: 64em) { .btn { padding: 0.75rem 1rem; } }
@media screen and (min-width: 42em) and (max-width: 64em) { .btn { padding: 0.6rem 0.9rem; font-size: 0.9rem; } }
@media screen and (max-width: 42em) { .btn { display: block; width: 100%; padding: 0.75rem; font-size: 0.9rem; }
  .btn + .btn { margin-top: 1rem; margin-left: 0; } }

.page-header { color: #fff; text-align: center; background-color: #159957; background-image: linear-gradient(120deg, #155799, #159957); }
@media screen and (min-width: 64em) { .page-header { padding: 5rem 6rem; } }
@media screen and (min-width: 42em) and (max-width: 64em) { .page-header { padding: 3rem 4rem; } }
@media screen and (max-width: 42em) { .page-header { padding: 2rem 1rem; } }

.project-name { margin-top: 0; margin-bottom: 0.1rem; }
@media screen and (min-width: 64em) { .project-name { font-size: 3.25rem; } }
@media screen and (min-width: 42em) and (max-width: 64em) { .project-name { font-size: 2.25rem; } }
@media screen and (max-width: 42em) { .project-name { font-size: 1.75rem; } }

.project-tagline { margin-bottom: 2rem; font-weight: normal; opacity: 0.7; }
@media screen and (min-width: 64em) { .project-tagline { font-size: 1.25rem; } }
@media screen and (min-width: 42em) and (max-width: 64em) { .project-tagline { font-size: 1.15rem; } }
@media screen and (max-width: 42em) { .project-tagline { font-size: 1rem; } }

.main-content { word-wrap: break-word; }
.main-content :first-child { margin-top: 0; }
@media screen and (min-width: 64em) { .main-content { max-width: 64rem; padding: 2rem 6rem; margin: 0 auto; font-size: 1.1rem; } }
@media screen and (min-width: 42em) and (max-width: 64em) { .main-content { padding: 2rem 4rem; font-size: 1.1rem; } }
@media screen and (max-width: 42em) { .main-content { padding: 2rem 1rem; font-size: 1rem; } }
.main-content kbd { background-color: #fafbfc; border: 1px solid #c6cbd1; border-bottom-color: #959da5; border-radius: 3px; box-shadow: inset 0 -1px 0 #959da5; color: #444d56; display: inline-block; font-size: 11px; line-height: 10px; padding: 3px 5px; vertical-align: middle; }
.main-content img { max-width: 100%; }
.main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 { margin-top: 2rem; margin-bottom: 1rem; font-weight: normal; color: #159957; }
.main-content p { margin-bottom: 1em; }
.main-content code { padding: 2px 4px; font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 0.9rem; color: #567482; background-color: #f3f6fa; border-radius: 0.3rem; }
.main-content pre { padding: 0.8rem; margin-top: 0; margin-bottom: 1rem; font: 1rem Consolas, "Liberation Mono", Menlo, Courier, monospace; color: #567482; word-wrap: normal; background-color: #f3f6fa; border: solid 1px #dce6f0; border-radius: 0.3rem; }
.main-content pre > code { padding: 0; margin: 0; font-size: 0.9rem; color: #567482; word-break: normal; white-space: pre; background: transparent; border: 0; }
.main-content .highlight { margin-bottom: 1rem; }
.main-content .highlight pre { margin-bottom: 0; word-break: normal; }
.main-content .highlight pre, .main-content pre { padding: 0.8rem; overflow: auto; font-size: 0.9rem; line-height: 1.45; border-radius: 0.3rem; -webkit-overflow-scrolling: touch; }
.main-content pre code, .main-content pre tt { display: inline; max-width: initial; padding: 0; margin: 0; overflow: initial; line-height: inherit; word-wrap: normal; background-color: transparent; border: 0; }
.main-content pre code:before, .main-content pre code:after, .main-content pre tt:before, .main-content pre tt:after { content: normal; }
.main-content ul, .main-content ol { margin-top: 0; }
.main-content blockquote { padding: 0 1rem; margin-left: 0; color: #819198; border-left: 0.3rem solid #dce6f0; }
.main-content blockquote > :first-child { margin-top: 0; }
.main-content blockquote > :last-child { margin-bottom: 0; }
.main-content table { display: block; width: 100%; overflow: auto; word-break: normal; word-break: keep-all; -webkit-overflow-scrolling: touch; }
.main-content table th { font-weight: bold; }
.main-content table th, .main-content table td { padding: 0.5rem 1rem; border: 1px solid #e9ebec; }
.main-content dl { padding: 0; }
.main-content dl dt { padding: 0; margin-top: 1rem; font-size: 1rem; font-weight: bold; }
.main-content dl dd { padding: 0; margin-bottom: 1rem; }
.main-content hr { height: 2px; padding: 0; margin: 1rem 0; background-color: #eff0f1; border: 0; }

.site-footer { padding-top: 2rem; margin-top: 2rem; border-top: solid 1px #eff0f1; }
@media screen and (min-width: 64em) { .site-footer { font-size: 1rem; } }
@media screen and (min-width: 42em) and (max-width: 64em) { .site-footer { font-size: 1rem; } }
@media screen and (max-width: 42em) { .site-footer { font-size: 0.9rem; } }

.site-footer-owner { display: block; font-weight: bold; }

.site-footer-credits { color: #819198; }

.banner { margin-top: 1rem; text-align: center; }
.banner a { display: inline-block; padding: 0.5rem 1rem; text-decoration: none; color: #b94a48; background: #f2dede; border-radius: 5px; }
.banner a:hover { color: #8b3735; background: #deacac; }

.value-icon { display: inline-block; height: 18px; width: 2rem; margin-bottom: -2px; background-size: contain; background-repeat: no-repeat; background-position: center; }
.value-icon.fb { background-image: url("/en/farmbot-genesis/assets/images/favicon.png"); }
.value-icon.business { background-image: url("/en/farmbot-genesis/assets/images/business.png"); }
.value-icon.products { background-image: url("/en/farmbot-genesis/assets/images/products.png"); }
.value-icon.community { background-image: url("/en/farmbot-genesis/assets/images/community.png"); }
.value-icon.good-people { background-image: url("/en/farmbot-genesis/assets/images/good-people.png"); }

.content { display: grid; gap: 1.5rem; grid-template-rows: auto 1fr; width: 100%; }
@media (max-width: 768px) { .content { gap: 1rem; } }
.content .page-header, .content main { margin: 0; padding: 0rem; }
.content .page-header { background: unset; border-bottom: 1px solid #eee; display: grid; gap: 0 1rem; grid-template-columns: 1fr auto; }
.content .page-name { color: #384248; font-size: 1.9rem; text-align: left; font-family: Inknut Antiqua; }
.content .page-controls { align-items: center; display: flex; justify-content: flex-end; }
@media (max-width: 768px) { .content .page-controls { display: none; } }
.content .page-controls a { border: none; border-radius: 5px; float: right; height: 50px; line-height: 50px; width: 50px; }
.content .page-controls a:hover { background: rgba(12, 77, 138, 0.1); border: none; cursor: pointer; }
.content .page-description { color: #6d757c; font-weight: normal; font-size: 1rem; grid-column: 1 / span 2; text-align: left; }
.content .page-description p { margin-top: 0; }

.main-content { display: grid; width: 100%; max-width: 100%; grid-template-columns: 1fr auto; gap: 1rem; font-size: 1rem; }
@media (max-width: 768px) { .main-content { grid-template-columns: 1fr; } }
.main-content .markdown-content { order: -1; }
@media (max-width: 768px) { .main-content .markdown-content { order: 1; } }
.main-content img { border: 3px solid #eee; border-radius: 5px; max-height: 600px; }
.main-content img.emoji, .main-content img.value-icon { border: none; border-radius: 0; }
.main-content h1, .main-content h2, .main-content h3 { color: #384248; font-family: Inknut Antiqua; }
.main-content h1 a, .main-content h2 a, .main-content h3 a { position: relative; visibility: hidden; }
.main-content h1 .fa-anchor, .main-content h2 .fa-anchor, .main-content h3 .fa-anchor { position: absolute; left: -1.5rem; padding: 0.5rem; margin-top: 0.1rem; font-size: 0.75rem; color: #aaa; }
.main-content h1:hover a, .main-content h2:hover a, .main-content h3:hover a { visibility: visible; }
.main-content h1:hover a:hover:after, .main-content h2:hover a:hover:after, .main-content h3:hover a:hover:after { content: none; }
.main-content h1 .fa-anchor { line-height: 1.1rem; }
.main-content h2 .fa-anchor { line-height: 0.9rem; }
.main-content h3 .fa-anchor { line-height: 0.5rem; }
.main-content iframe { max-width: 100%; margin-top: 1rem; border-radius: 5px; }
.main-content iframe[src*="youtube"] { aspect-ratio: 16/9; }
.main-content .highlight { display: grid; }

.main-content strong.internal, .page-snippet strong.internal { display: none; }

.main-content table { margin: 1rem auto; max-width: calc(100vw - 2rem); }

.page-snippet table { margin: 0 auto; }

.bom-table-container { overflow: scroll; width: 100%; border: #eee 3px solid; border-radius: 5px; }
.bom-table-container table { display: table; border: none !important; margin: 0; }

.main-content table, .page-snippet table { border: #eee 3px solid; border-collapse: initial; border-radius: 5px; }
.main-content table thead, .main-content table tfoot, .page-snippet table thead, .page-snippet table tfoot { background: #eeeeee; }
.main-content table tfoot, .page-snippet table tfoot { font-weight: bold; }
.main-content table th, .page-snippet table th { text-align: left; vertical-align: bottom; }
.main-content table th:empty, .page-snippet table th:empty { display: none; }
.main-content table th.farmbot-model, .page-snippet table th.farmbot-model { text-align: center; padding-bottom: 0; white-space: nowrap; }
.main-content table th span.part-variant, .page-snippet table th span.part-variant { background: #434343; border-radius: 4px; color: #f4f4f4; padding: 0px 4px; margin-right: 4px; font-weight: bold; white-space: nowrap; }
.main-content table tr.internal, .page-snippet table tr.internal { background: #ffe4b3; }
.main-content table td, .page-snippet table td { vertical-align: top; }
.main-content table td.spec-name, .page-snippet table td.spec-name { font-weight: bold; text-transform: capitalize; white-space: nowrap; }
.main-content table td[qty="0"] span, .page-snippet table td[qty="0"] span { background: #ffebeb; border-radius: 3px; padding: 2px 12px; color: #ff6666; }
.main-content table th, .main-content table td, .page-snippet table th, .page-snippet table td { border: none; padding: 0.5rem 1rem; }
.main-content table th.part, .main-content table td.part, .page-snippet table th.part, .page-snippet table td.part { white-space: nowrap; }
.main-content table th.notes, .main-content table td.notes, .page-snippet table th.notes, .page-snippet table td.notes { min-width: 250px; }
.main-content table th.qty, .main-content table td.qty, .page-snippet table th.qty, .page-snippet table td.qty { text-align: center; }
.main-content table th.price, .main-content table th.price-subtotal, .main-content table th.cost, .main-content table th.cost-subtotal, .main-content table td.price, .main-content table td.price-subtotal, .main-content table td.cost, .main-content table td.cost-subtotal, .page-snippet table th.price, .page-snippet table th.price-subtotal, .page-snippet table th.cost, .page-snippet table th.cost-subtotal, .page-snippet table td.price, .page-snippet table td.price-subtotal, .page-snippet table td.cost, .page-snippet table td.cost-subtotal { text-align: right; }
.main-content table.variant-spec-table td.spec-value span.label, .main-content table.variant-spec-table th.spec-value span.label, .page-snippet table.variant-spec-table td.spec-value span.label, .page-snippet table.variant-spec-table th.spec-value span.label { font-weight: bold; background: #eeeeee; color: #434343; border-radius: 3px; padding: 2px 7px; }

.page-header a, .main-content a { color: #0c4d8a; text-decoration: none; border-bottom: 2px solid rgba(12, 77, 138, 0.3); }
.page-header a:hover, .main-content a:hover { color: #08335b; border-bottom-color: rgba(12, 77, 138, 0.5); }
.page-header a.part, .main-content a.part { border-bottom-style: dotted; font-weight: bold; }

h1 { font-size: 1.5rem; }

h2 { font-size: 1.25rem; }

h3 { font-size: 1rem; }

.emoji { margin-bottom: -3px; }

.tag { display: inline; margin-left: 1rem; padding: 0.15rem 0.4rem; border-radius: 3px; background: #fd6; color: #384248; font-size: 0.8rem; font-weight: bold; font-style: normal; text-transform: uppercase; font-family: Cabin; }

span.rev { display: none; margin-left: 0.25rem; padding: 0rem 0.25rem; border-radius: 3px; background: #434343; color: #dbdbdb; font-size: 0.8rem; font-weight: bold; font-style: normal; font-family: Cabin; }

footer.site-footer { background: #f6f7f8; border: none; padding: 1rem; text-align: center; }
footer.site-footer p { margin: 0; }
footer.site-footer p a { color: #0c4d8a; text-decoration: none; }
footer.site-footer p a:hover { color: #08335b; border-bottom: 2px solid rgba(12, 77, 138, 0.5); }

.callout { background: #f8f8f9; border-left: 0.25rem solid; border-color: #8b939c; border-radius: 5px; margin: 1rem 0; padding: 1.3rem; }
.callout i { float: left; line-height: 1.5rem; font-size: 1.1rem; margin-left: -0.25rem; opacity: 0.3; }
.callout h3, .callout p { margin-top: 0; margin-left: 1.3rem; }
.callout h3 { font-weight: bold; }
.callout > :last-child { margin-bottom: 0; }
.callout.info { border-color: #41aee3; background: #f3fafd; }
.callout.info i, .callout.info h3 { color: #1877a6; }
.callout.success { border-color: #5ebd60; background: #eff8ef; }
.callout.success i, .callout.success h3 { color: #358036; }
.callout.warning { border-color: #ff851c; background: #fff3e8; }
.callout.warning i, .callout.warning h3 { color: #b55400; }
.callout.danger { border-color: #fd312a; background: #fff4f4; }
.callout.danger i, .callout.danger h3 { color: #bf0802; }

.gallery { display: grid; gap: 0.5rem 0.7rem; grid-template-columns: repeat(4, 1fr); margin: 1rem 0; }
.gallery .gallery-featured-image { grid-column: 1 / span 4; cursor: zoom-in; margin: auto; }
.gallery div.gallery-featured-image { margin: unset; }
.gallery .gallery-thumbnail { cursor: pointer; max-height: 10rem; margin: auto; }
.gallery .gallery-thumbnail.featured { border-color: #171717; }
.gallery .gallery-thumbnail.featured iframe { border-color: #171717; }
.gallery .gallery-thumbnail iframe { max-height: 10rem; pointer-events: none; border: #eee 3px solid; margin-bottom: -1px; }
.gallery .fa-times-circle { display: none; }
.gallery.open { background: #ffffff; cursor: zoom-out; height: 100vh; left: 0; position: fixed; top: -1rem; width: 100vw; z-index: 1; }
.gallery.open .gallery-featured-image { cursor: zoom-out; border: none; max-height: 100vh; max-width: 100%; }
.gallery.open .gallery-thumbnail { display: none; }
.gallery.open .fa-times-circle { display: block; position: absolute; right: 2rem; top: 2rem; cursor: pointer; font-size: 2rem; color: #5c5c5c; }
.gallery.open .fa-times-circle:hover { color: #434343; }

#whats-next + ul { list-style-type: none; margin: 0; padding: 0; }
#whats-next + ul a { border: 2px solid #eee; border-radius: 5px; display: block; margin-bottom: 10px; padding: 1rem; font-weight: bold; color: #0c4d8a; }
#whats-next + ul a:hover { background: rgba(12, 77, 138, 0.1); border-color: rgba(12, 77, 138, 0.1); }
#whats-next + ul a p { font-weight: normal; color: #384248; margin-top: 0.25rem; margin-bottom: 0; }
#whats-next + ul a p:empty { display: none; }
#whats-next + ul a .tag { font-size: 0.6rem; padding: 0.15rem 0.3rem; }

/** For section link hover images. */
a[href*='#']:hover::after { border: 3px solid #171717; border-radius: 5px; padding: 60px 90px; background-size: contain; background-repeat: no-repeat; background-position: center; background-color: #171717; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2); position: absolute; margin-top: -45px; margin-left: 20px; }

nav { height: 60px; background: #0c4d8a; }
nav .nav-content { display: grid; grid-auto-flow: column; max-width: 1550px; justify-content: space-between; overflow: hidden; }
nav .nav-content .nav-links { overflow-y: scroll; grid-auto-flow: column; display: grid; padding-right: 20px; }
nav .nav-content .nav-links a { color: #ddd; float: left; line-height: 20px; padding: 20px 15px; text-decoration: none !important; order: 2; }
nav .nav-content .nav-links a:hover { color: white; background: #0a4073; }
nav .nav-content .nav-links a:hover img { filter: brightness(1.2); }
nav .nav-content .nav-links .current { border-bottom: 5px solid rgba(255, 255, 255, 0.85); padding-bottom: 15px; color: #f4f4f4; }
@media (max-width: 768px) { nav .nav-content .nav-links .current { order: 1; } }
nav .nav-content .nav-links .doc-icon { font-family: Inknut Antiqua; height: 60px; padding: 15px 25px; display: grid; grid-auto-flow: column; order: 0; }
@media (max-width: 768px) { nav .nav-content .nav-links .doc-icon { padding: 12px 15px; grid-auto-flow: row; } }
nav .nav-content .nav-links .doc-icon img { filter: brightness(1); float: left; height: 30px; }
@media (max-width: 768px) { nav .nav-content .nav-links .doc-icon img { height: 20px; } }
nav .nav-content .nav-links .doc-icon p { float: left; line-height: 30px; margin: 0 0 0 10px; }
nav .nav-content .nav-links .doc-icon p.docs-title { display: none; text-align: center; }
@media (max-width: 768px) { nav .nav-content .nav-links .doc-icon p.docs-title { display: block; line-height: 20px; font-size: 75%; margin: 0; float: none; } }
@media (max-width: 768px) { nav .nav-content .nav-links .doc-icon p.documentation-title { display: none; } }
nav .hub-controls { box-shadow: -20px 0px 20px #0c4d8a; justify-self: right; align-items: center; display: grid; grid-template-columns: 1fr auto auto; gap: 1rem; padding-right: 1rem; }

.hub-toc-all { width: 20rem; }
@media (max-width: 768px) { .hub-toc-all { width: 100%; } }
.hub-toc-all.ready { transition: margin .2s ease; }
.hub-toc-all.closed { margin-left: -21rem; margin-right: 2rem; }
@media (max-width: 768px) { .hub-toc-all.closed { margin: 0; } }
@media (min-width: 768px) { .hub-toc-all.closed .hub-toc-header { grid-template-columns: auto 1fr; } }
.hub-toc-all.closed .hub-toc-header button { order: 2; justify-self: right; margin-right: -3rem; }
@media (max-width: 768px) { .hub-toc-all.closed .hub-toc-header button { order: unset; margin-right: 0; justify-self: left; } }
@media (min-width: 768px) { .hub-toc-all.closed .hub-toc-header button i { order: 2; margin-left: 2rem; justify-self: right; } }
@media (max-width: 768px) { .hub-toc-all.closed .hub-toc { height: 0; overflow: hidden; } }

.hub-toc-header { align-items: center; display: grid; grid-template-columns: 1fr auto; gap: 0.25rem; margin-top: 1.75rem; }
@media (max-width: 768px) { .hub-toc-header { margin-top: 0.5rem; } }
.hub-toc-header button { align-items: center; background: none; border: none; border-radius: 5px; display: grid; grid-template-columns: auto 1fr; height: 30px; line-height: 30px; padding: 0; width: 100%; }
.hub-toc-header button:hover { background: rgba(12, 77, 138, 0.1); }
.hub-toc-header button i { width: 30px; }
.hub-toc-header button h3 { margin: 0; text-transform: uppercase; justify-self: left; font-size: 1.1rem; }
.hub-toc-header .version-picker { justify-self: right; background: white; border: 2px solid #eee; border-radius: 5px; cursor: pointer; height: 2rem; padding: 0 .5rem; }
.hub-toc-header .version-picker:hover { background: rgba(12, 77, 138, 0.05); }

@media (max-width: 768px) { .hub-toc-all.ready .hub-toc { display: block; } }

@media (max-width: 768px) { .hub-toc { display: none; } }
.hub-toc h3 { display: inline-block; text-transform: uppercase; padding-left: 8px; margin-bottom: .25rem; margin-top: 2rem; font-size: 1.1rem; }
.hub-toc h3:first-child { display: none; }
.hub-toc .tag { float: right; font-size: 0.65rem; margin-top: 0.1rem; padding: 0.15rem 0.4rem; }
.hub-toc .fa-external-link-square { float: right; padding: 0.25rem 0.15rem; }
.hub-toc .fa-chevron-right, .hub-toc .fa-external-link-square { color: rgba(56, 66, 72, 0.8); }
.hub-toc ul:first-child { margin-top: 0.5rem; }
.hub-toc ul, .hub-toc li { list-style-type: none; padding-inline-start: 0; }
.hub-toc li.parent.current .fa-chevron-right { color: #f3f3f3; }
.hub-toc a { border-radius: 5px; color: #384248; display: block; padding: 0.25rem 0.5rem; }
.hub-toc a:hover { background: rgba(12, 77, 138, 0.1); color: #0c4d8a; text-decoration: none; transition: transform 0.3s ease-out; }
.hub-toc a.current { background: #0c4d8a; color: #f3f3f3; font-weight: bold; }
.hub-toc a.current:hover { color: white; }
.hub-toc .parent { position: relative; }
.hub-toc .parent a:hover { background: rgba(12, 77, 138, 0.1); }
.hub-toc .parent a.current { background: #0c4d8a; color: #f3f3f3; }
.hub-toc .parent a.current:hover { background: #0c4d8a; color: white; }
.hub-toc .parent .tag { margin-right: 1.5rem; }
.hub-toc .parent.open a { background: rgba(12, 77, 138, 0.07); font-weight: bold; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; }
.hub-toc .parent.open a:hover { background: rgba(12, 77, 138, 0.1); }
.hub-toc .parent.open a.current { background: #0c4d8a; }
.hub-toc .parent.open a.current:hover { background: #0c4d8a; }
.hub-toc .parent.open .fa-chevron-right { text-align: center; transform: rotate(90deg); width: 2.1rem; }
.hub-toc .parent.open .fa-chevron-right:hover { transform: rotate(90deg) scale(1.25); }
.hub-toc .parent .fa-chevron-right { position: absolute; right: 0rem; text-align: center; top: 0rem; padding: 0.5rem; width: 2rem; cursor: pointer; transition: transform 0.3s ease-out; }
.hub-toc .parent .fa-chevron-right:hover { transform: scale(1.25); }
.hub-toc .pages { display: none; padding: 0.5rem; background: rgba(12, 77, 138, 0.07); border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; margin-bottom: 0.5rem; }
.hub-toc .pages a { color: #384248; background: none; font-weight: normal; }
.hub-toc .pages a:hover { color: #0c4d8a; background: rgba(12, 77, 138, 0.1); }
.hub-toc .pages a.current { background: #0c4d8a; color: #f3f3f3; font-weight: bold; }
.hub-toc .pages a.current:hover { color: white; }
.hub-toc .pages.open { display: block; }

.mode-toggles { display: grid; float: right; grid-template-columns: 1fr 1fr; }

.dark-mode-toggle, .internal-mode-toggle { background: #ffffff; border: none; border-radius: 1rem; height: 1.75rem; width: 4rem; }
@media (max-width: 768px) { .dark-mode-toggle, .internal-mode-toggle { width: 1.75rem; } }
.dark-mode-toggle:focus, .internal-mode-toggle:focus { outline: none; }
.dark-mode-toggle:hover, .internal-mode-toggle:hover { background: #f2f2f2; }
.dark-mode-toggle:hover:after, .internal-mode-toggle:hover:after { transition: margin-left 0.2s ease-out; background: #cecece; }
.dark-mode-toggle i, .internal-mode-toggle i { margin-left: -2rem; }
@media (max-width: 768px) { .dark-mode-toggle i, .internal-mode-toggle i { margin-left: 0rem; } }
.dark-mode-toggle:after, .internal-mode-toggle:after { content: ""; position: absolute; display: block; margin-top: -1.35rem; margin-left: 2.1rem; height: 1.2rem; width: 1.2rem; border-radius: 50%; background: #dbdbdb; }
@media (max-width: 768px) { .dark-mode-toggle:after, .internal-mode-toggle:after { display: none; } }
.dark-mode-toggle.dark i, .dark-mode-toggle.internal i, .internal-mode-toggle.dark i, .internal-mode-toggle.internal i { margin-left: 2rem; }
@media (max-width: 768px) { .dark-mode-toggle.dark i, .dark-mode-toggle.internal i, .internal-mode-toggle.dark i, .internal-mode-toggle.internal i { margin-left: 0rem; } }
.dark-mode-toggle.dark:after, .dark-mode-toggle.internal:after, .internal-mode-toggle.dark:after, .internal-mode-toggle.internal:after { margin-left: -0.1rem; }

.page-toc-all { width: 20rem; overflow: hidden; }
@media (max-width: 768px) { .page-toc-all { width: 100%; } }
.page-toc-all.ready { transition: margin .2s ease; }
.page-toc-all.closed { margin-right: -18rem; }
.page-toc-all.closed .page-toc, .page-toc-all.closed h2 { margin-left: 3rem; transition: margin .2s ease; }
@media (max-width: 768px) { .page-toc-all.closed .page-toc, .page-toc-all.closed h2 { margin-left: 0; } }
@media (max-width: 768px) { .page-toc-all.closed .page-toc { height: 0; } }

.page-toc-header button { background: none; border: none; border-radius: 5px; display: grid; grid-template-columns: auto 1fr; align-items: center; height: 30px; line-height: 30px; padding: 0; width: 100%; }
.page-toc-header button:hover { background: rgba(12, 77, 138, 0.1); }
.page-toc-header button i { width: 30px; }
.page-toc-header button h2 { text-transform: uppercase; font-size: 0.9rem; font-family: unset !important; margin: 0; justify-self: left; }

@media (max-width: 768px) { .page-toc-all.ready .page-toc { display: block; } }

.page-toc { padding: 0; overflow: hidden; margin: 0; }
@media (max-width: 768px) { .page-toc { display: none; } }
.page-toc li { list-style-type: none; }
.page-toc li a { border: none; color: #757575; display: block; padding: 0.1rem 0; text-decoration: none; border-radius: 4px; padding: 0.1rem 0.4rem; }
.page-toc li a:hover { color: #0c4d8a; background: rgba(12, 77, 138, 0.07); }
.page-toc ul { margin-bottom: 0.2rem; padding-inline-start: 1rem; }

body { transition: 0.2s ease-out; }
body.dark { color: #dbdbdb; background: #1f1f1f; }
body.dark a { color: #dbdbdb; }
body.dark a:hover { color: #ffffff; }
body.dark .banner a { color: darkred; }
body.dark .version-picker { color: #dbdbdb; background: #1f1f1f; border-color: #5c5c5c; }
body.dark .version-picker:hover { background: rgba(12, 77, 138, 0.25); color: #ffffff; }
body.dark .dark-mode-toggle, body.dark .internal-mode-toggle { background: #1f1f1f; }
body.dark .dark-mode-toggle:after, body.dark .internal-mode-toggle:after { background: #5c5c5c; }
body.dark .dark-mode-toggle:hover, body.dark .internal-mode-toggle:hover { background: #121212; color: #ffffff; }
body.dark .hub-toc-header button:hover { background: rgba(12, 77, 138, 0.25); color: #ffffff; }
body.dark .hub-toc-header button:hover h3 { color: #ffffff; }
body.dark .hub-toc-all a:hover { background: rgba(12, 77, 138, 0.25); }
body.dark .hub-toc-all .parent.open a { background: rgba(12, 77, 138, 0.07); }
body.dark .hub-toc-all .parent.open a.current { background: #0c4d8a; }
body.dark .hub-toc-all .pages a, body.dark .hub-toc-all .fa-chevron-right, body.dark .hub-toc-all .fa-external-link-square { color: #dbdbdb; }
body.dark .hub-toc-all .pages a:hover, body.dark .hub-toc-all .fa-chevron-right:hover, body.dark .hub-toc-all .fa-external-link-square:hover { color: #ffffff; }
body.dark h1, body.dark h2, body.dark h3 { color: #dbdbdb; }
body.dark .content .page-header { border-color: #5c5c5c; }
body.dark .content .page-name { color: #dbdbdb; }
body.dark .content .page-controls a:hover { background: rgba(12, 77, 138, 0.25); color: #ffffff; }
body.dark .content .page-description { color: #dbdbdb; border-color: #5c5c5c; }
body.dark .content a { color: #87bff5; border-bottom-color: #0c4d8a; }
body.dark .content a:hover { color: #b6d8f9; border-bottom-color: #1067b9; }
body.dark .content a[href*='#']:hover::after { border-color: #dbdbdb; }
body.dark .content .page-toc-header button:hover { background: rgba(12, 77, 138, 0.25); color: #ffffff; }
body.dark .content .page-toc-header button:hover h2 { color: #ffffff; }
body.dark .content .page-toc a { color: #b5b5b5; }
body.dark .content .page-toc a:hover { background: rgba(12, 77, 138, 0.25); color: #ffffff; }
body.dark .content .callout { background: #5c5c5c; }
body.dark .content .callout h3 { color: #dbdbdb; }
body.dark .content .callout.info { background: #0e4763; }
body.dark .content .callout.info h3, body.dark .content .callout.info i { color: #9ad4f0; }
body.dark .content .callout.success { background: #1f4a1f; }
body.dark .content .callout.success h3, body.dark .content .callout.success i { color: #a7daa7; }
body.dark .content .callout.warning { background: #693000; }
body.dark .content .callout.warning h3, body.dark .content .callout.warning i { color: #ffbc82; }
body.dark .content .callout.danger { background: #730501; }
body.dark .content .callout.danger h3, body.dark .content .callout.danger i { color: #fe938f; }
body.dark .content #whats-next + ul a { color: #dbdbdb; border-color: #353535; }
body.dark .content #whats-next + ul a:hover { color: #ffffff; background: rgba(12, 77, 138, 0.1); border-color: rgba(12, 77, 138, 0.1); }
body.dark .content #whats-next + ul p { color: #dbdbdb; }
body.dark .content img { border-color: #5c5c5c; }
body.dark .content .gallery.open { background: #1f1f1f; }
body.dark .content .gallery .gallery-thumbnail.featured { border-color: #dbdbdb; }
body.dark .content .gallery .gallery-thumbnail.featured iframe { border-color: #dbdbdb; }
body.dark .content .gallery .gallery-thumbnail iframe { border-color: #5c5c5c; }
body.dark .content .gallery .fa-times-circle { color: #dbdbdb; }
body.dark .content .gallery .fa-times-circle:hover { color: #c2c2c2; }
body.dark .site-footer { background: #171717; }
body.dark .site-footer a { color: #87bff5; }
body.dark .site-footer a:hover { color: #b6d8f9; border-bottom: 2px solid #1067b9; }
body.dark .value-icon { filter: invert(1); }
body.dark .fb-input, body.dark .fb-dropdown { background: #dbdbdb; color: #1f1f1f; box-shadow: 0 0 10px #5c5c5c; }
body.dark code { background: #5c5c5c; color: #ffffff; }
body.dark .highlight { background: #5c5c5c; }
body.dark .ais-SearchBox input { background: #1f1f1f; }
body.dark .ais-SearchBox input:hover, body.dark .ais-SearchBox input:focus { background: #121212; color: #ffffff; }
body.dark #search-hits { background: #171717; border-color: #353535; }
body.dark .ais-Hits-item { background: #171717; border-color: #5c5c5c; }
body.dark .ais-Hits-item:hover { background: #353535; }
body.dark .breadcrumbs, body.dark .page-snippet { color: #eee; }
body.dark .content .bom-table-container, body.dark .page-snippet .bom-table-container { border-color: #5c5c5c; }
body.dark .content table, body.dark .page-snippet table { border-color: #5c5c5c; }
body.dark .content table.internal, body.dark .page-snippet table.internal { border-color: orange; }
body.dark .content table tr.internal, body.dark .page-snippet table tr.internal { background: #664200; }
body.dark .content table td[qty="0"] span, body.dark .page-snippet table td[qty="0"] span { background: #290000; color: #b30000; }
body.dark .content table thead, body.dark .content table tfoot, body.dark .page-snippet table thead, body.dark .page-snippet table tfoot { background: #5c5c5c; }

.main-content .internal, .page-snippet .internal { display: none; }

body.internal .internal { display: block; }
body.internal tr.internal { display: table-row; }
body.internal table.internal { border-color: orange; }
body.internal th.cost, body.internal th.cost-subtotal, body.internal td.cost, body.internal td.cost-subtotal { display: table-cell; }
body.internal th.price, body.internal th.price-subtotal, body.internal td.price, body.internal td.price-subtotal { display: none; }
body.internal th a.part-name, body.internal td a.part-name { display: none; }
body.internal .internal-part-name, body.internal .rev { display: inline-block; }

@media print { iframe, nav, .doc-nav, .hub-toc-all, .page-toc-all, .page-controls a, .gallery-thumbnail.featured, #whats-next, #whats-next + ul, footer { display: none; }
  img { max-height: 25vh !important; }
  .callout, .gallery img { break-inside: avoid; }
  * { -webkit-print-color-adjust: exact !important; color-adjust: exact !important; } }
.ais-SearchBox { display: inline-block; position: relative; height: 2rem !important; max-width: 100%; }
.ais-SearchBox input { border: none; border-radius: 5px; box-shadow: none; padding: 6px 5px 6px 35px; width: 100px; transition: width .2s ease; }
@media (max-width: 768px) { .ais-SearchBox input { width: 0px; } }
.ais-SearchBox input:focus { outline: none; width: 150px; }
.ais-SearchBox input:hover, .ais-SearchBox input:focus { background: #f2f2f2; }
.ais-SearchBox form { height: 0.5rem; }

.ais-SearchBox-submit, .ais-SearchBox-loadingIndicator, .ais-SearchBox-reset { position: absolute; background: none; fill: #bfc7d8; border: none; }
.ais-SearchBox-submit:focus, .ais-SearchBox-loadingIndicator:focus, .ais-SearchBox-reset:focus { outline: none; }

.ais-SearchBox-submit { pointer-events: none; left: 4px; top: 6px; }
.ais-SearchBox-submit svg { height: 18px; width: 18px; }

.ais-SearchBox-loadingIndicator, .ais-SearchBox-reset { right: 4px; top: 4px; }
.ais-SearchBox-loadingIndicator svg, .ais-SearchBox-reset svg { height: 12px; width: 12px; }

.ais-Hits-list { padding: 0; margin: 0; }

.ais-Hits-item { display: block; background: white; border: 2px solid #eee; border-radius: 5px; margin-bottom: 1rem !important; width: 100%; }
.ais-Hits-item a { color: #4d4d4d; }
.ais-Hits-item a:hover { color: black; }
.ais-Hits-item a:hover::after { display: none; }
.ais-Hits-item h2 { font-family: Inknut Antiqua; margin: 0; }
.ais-Hits-item h2 a { padding: 0; }
.ais-Hits-item:hover { background: rgba(12, 77, 138, 0.1); border-color: rgba(12, 77, 138, 0.1); }
.ais-Hits-item:first-child { border-color: gray; box-shadow: 0px 0px 10px rgba(128, 128, 128, 0.5); }

.page-item { padding: 0.75rem 1rem !important; cursor: pointer; }

mark { background: none; color: unset; }

.page-link mark { font-style: normal; text-decoration: underline; }

.breadcrumbs { color: #353535; display: block; margin-bottom: 0.5rem; opacity: 0.75; padding: 0; }

.breadcrumb { font-size: 18px; }

.breadcrumb mark { font-style: normal; font-weight: bold; }

.page-snippet { overflow: hidden; max-height: 9rem; }
.page-snippet table { overflow: scroll; max-height: 9rem; display: block; }
.page-snippet a { padding: 0; }
.page-snippet img { max-width: 100%; max-height: 120px; display: block; }
.page-snippet p { margin: 0; }
.page-snippet mark { font-style: normal; font-weight: bold; }
.page-snippet .page-snippet img { max-height: 150px; display: block; }

#search-searchbar { height: 2rem; justify-self: right; text-align: center; }

#search-hits { background: #f6f7f8; border-bottom-left-radius: 5px; display: none; max-height: calc(100vh - 60px); top: 60px; overflow: scroll; overflow-x: hidden; position: absolute; right: 0; width: calc(min(30rem, 100%)); z-index: 1; }

#search-hits.open { display: block; padding: 0; }

#search-hits.open.results { padding: 0.5rem 1rem 0; }

#search-hits .ais-Hits--empty { display: none; }
#search-hits.results .ais-Hits--empty { display: block; text-align: center; padding-bottom: 1rem; }

body { font-size: 16px; font-family: Cabin, sans-serif; }

.all { display: none; gap: 2rem; grid-template-columns: auto 1fr; padding: 0.25rem 1rem; overflow: hidden; }
@media (max-width: 768px) { .all { gap: 0; grid-template-columns: 1fr; } }
.all.ready { display: grid; }

.all, .version, .nav-content { max-width: 1550px; margin: auto; }
