/*
 * Copyright 2018 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/* Custom Admonition Blocks */
body {
    --gradle-blue: #209BC4;
    --gradle-bg-dark: #010002;
    --gradle-bg-gray: #F8F8F8;
    --gradle-bg-white: #FFFFFF;
    --gradle-blue: #209BC4;
    --gradle-blue-lite: #4DC9C0;
    --gradle-blue-dark: #1b3262;
    --gradle-blue-darker: #19274f;
    --button-gradient-angle: 160deg;
	--caution-color: #e40046;
	--caution-on-color: #fff;
	--important-color: #802392;
	--important-on-color: #fff;
	--note-color: #2d7dd2;
	--note-on-color: #fff;
	--tip-color: #43b929;
	--tip-on-color: #fff;
	--warning-color: #f70;
	--warning-on-color: #fff;
	--admonition-background: #fafafa;
	--doc-icon-filter: invert(14.5%);
	--rem-base: 18;
	--black-color: #000;
	--white-color: #fff;
	--text-color: #02303A;
	--title-color: #02303A;
	--header-color: rgba(0, 0, 0, 0.85);
	--footer-color: #fff;
	--footer-other-text-color: #02303;
	--footer-form-color: #1BA8CB;
	--code-color: #f7f7f8;
	--code-text-color: rgba(0, 0, 0, 0.9);
	--code-link-color: #021274;
	--num-color: rgba(0, 0, 0, 0.8);
	--nav-color: #f8f8f7;
	--table-color: #f7f8f7;
	--box-shadow-color: rgba(0, 0, 0, .15);
	--top-header-color: #fff;
	--footer-white-color: #fff;
	--footer-text-color: #fff;
	--quoteblock-color: #7a2518;
	--menu-burger-color: #fff;
	--various-border-color: #e7e7e9;
}

body.dark-theme {
    --admonition-background: #2a2929;
    --black-color: #fff;
    --white-color: #121212;
    --text-color: #aaa;
    --title-color: #fff;
    --header-color: rgba(255, 255, 255, 0.85);
    --footer-color: #121212;
    --footer-other-text-color: #ddd;
    --code-color: #1f1f1f;
    --code-text-color: rgba(255, 255, 255, 0.9);
    --code-link-color: #1fafcc;
    --num-color: #fff;
    --nav-color: #121212;
    --table-color: #121212;
    --box-shadow-color: rgba(255, 255, 255, .15);
    --top-header-color: #242526;
    --footer-white-color: #242526;
    --footer-text-color: #aaa;
    --footer-form-color: #1BA8CB;
    --quoteblock-color: #1DA2BD;
    --menu-burger-color: #242526;
    --various-border-color: #242526;
}

@media (prefers-color-scheme: dark) {
  /* defaults to dark theme */
  body {
    --admonition-background: #2a2929;
    --black-color: #fff;
    --white-color: #121212;
    --text-color: #aaa;
    --title-color: #fff;
    --header-color: rgba(255, 255, 255, 0.85);
    --footer-color: #121212;
    --footer-other-text-color: #ddd;
    --code-color: #1f1f1f;
    --code-text-color: rgba(255, 255, 255, 0.9);
    --code-link-color: #1fafcc;
    --num-color: #fff;
    --nav-color: #121212;
    --table-color: #121212;
    --box-shadow-color: rgba(255, 255, 255, .15);
    --top-header-color: #242526;
    --footer-white-color: #242526;
    --footer-text-color: #aaa;
    --footer-form-color: #1BA8CB;
    --quoteblock-color: #1DA2BD;
    --menu-burger-color: #242526;
    --various-border-color: #242526;
  }
  body.light-theme {
    --gradle-blue: #209BC4;
    --gradle-bg-dark: #010002;
    --gradle-bg-gray: #F8F8F8;
    --gradle-bg-white: #FFFFFF;
    --gradle-blue: #209BC4;
    --gradle-blue-lite: #4DC9C0;
    --gradle-blue-dark: #1b3262;
    --gradle-blue-darker: #19274f;
    --button-gradient-angle: 160deg;
	--caution-color: #e40046;
	--caution-on-color: #fff;
	--important-color: #802392;
	--important-on-color: #fff;
	--note-color: #2d7dd2;
	--note-on-color: #fff;
	--tip-color: #43b929;
	--tip-on-color: #fff;
	--warning-color: #f70;
	--warning-on-color: #fff;
	--admonition-background: #fafafa;
	--doc-icon-filter: invert(14.5%);
	--rem-base: 18;
	--black-color: #000;
	--white-color: #fff;
	--text-color: #02303A;
	--title-color: #02303A;
	--header-color: rgba(0, 0, 0, 0.85);
	--footer-color: #fff;
    --footer-other-text-color: #02303;
	--code-color: #f7f7f8;
	--code-text-color: rgba(0, 0, 0, 0.9);
	--code-link-color: #021274;
	--num-color: rgba(0, 0, 0, 0.8);
	--nav-color: #f8f8f7;
	--table-color: #f7f8f7;
	--box-shadow-color: rgba(0, 0, 0, .15);
	--top-header-color: #fff;
	--footer-white-color: #fff;
	--footer-text-color: #fff;
	--footer-form-color: #1BA8CB;
	--quoteblock-color: #7a2518;
	--menu-burger-color: #fff;
	--various-border-color: #e7e7e9;
  }
}

.cls-1 {
    fill: #02303a;
}

body.dark-theme {
    .cls-1 {
      fill: #fff;
    }
}

@media (prefers-color-scheme: dark) {
    .cls-1 {
        fill: #fff;
    }
    body.light-theme {
        .cls-1 {
            fill: #02303a;
        }
    }
}

/* Lato (normal, regular) */
@font-face {
	font-family: Lato;
	font-weight: 400;
	font-style: normal;
	src: url("https://assets.gradle.com/lato/fonts/lato-normal/lato-normal.woff2") format("woff2"),
		url("https://assets.gradle.com/lato/fonts/lato-normal/lato-normal.woff") format("woff");
}

/* Lato (normal, italic) */
@font-face {
	font-display: swap;
	font-family: Lato;
	font-weight: 400;
	font-style: italic;
	src: url("https://assets.gradle.com/lato/fonts/lato-normal-italic/lato-normal-italic.woff2") format("woff2"),
		url("https://assets.gradle.com/lato/fonts/lato-normal-italic/lato-normal-italic.woff") format("woff");
}

/* Lato (bold, regular) */
@font-face {
	font-display: swap;
	font-family: Lato;
	font-weight: 500;
	font-style: normal;
	src: url("https://assets.gradle.com/lato/fonts/lato-semibold/lato-semibold.woff2") format("woff2"),
		url("https://assets.gradle.com/lato/fonts/lato-semibold/lato-semibold.woff") format("woff");
}

/* Lato (bold, regular) */
@font-face {
	font-display: swap;
	font-family: Lato;
	font-weight: 800;
	font-style: normal;
	src: url("https://assets.gradle.com/lato/fonts/lato-heavy/lato-heavy.woff2") format("woff2"),
		url("https://assets.gradle.com/lato/fonts/lato-heavy/lato-heavy.woff") format("woff");
}

/* BEGIN asciidoc.css */

/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
/* ========================================================================== HTML5 display definitions ========================================================================== */
/** Correct `block` display not defined in IE 8/9. */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
	display: block;
}

/** Correct `inline-block` display not defined in IE 8/9. */
audio,
canvas,
video {
	display: inline-block;
}

/** 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. Hide the `template` element in IE, Safari, and Firefox < 22. */
[hidden],
template {
	display: none;
}

script {
	display: none !important;
}

/* ========================================================================== Base ========================================================================== */
/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
html {
	font-family: sans-serif;
	/* 1 */
	-ms-text-size-adjust: 100%;
	/* 2 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
}

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

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

/** Address `outline` inconsistency between Chrome and other browsers. */
a:focus {
	outline: thin dotted;
}

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

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

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

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

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

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

/** Address styling not present in IE 8/9. */
mark {
	background: #ff0;
	color: var(--black-color);
}

/** Correct font family set oddly in Safari 5 and Chrome. */
code,
kbd,
pre,
samp {
	font-family: monospace, serif;
	font-size: 1em;
}

/** Improve readability of pre-formatted text in all browsers. */
pre {
	white-space: pre-wrap;
}

/** Set consistent quote types. */
q {
	quotes: "\201C""\201D""\2018""\2019";
}

/** 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. */
img {
	border: 0;
}

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

/* ========================================================================== Figures ========================================================================== */
/** Address margin not present in IE 8/9 and Safari 5. */
figure {
	margin: 0;
}

/* ========================================================================== Forms ========================================================================== */
/** 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. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend {
	border: 0;
	/* 1 */
	padding: 0;
	/* 2 */
}

/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */
button,
input,
select,
textarea {
	font-family: inherit;
	/* 1 */
	font-size: 100%;
	/* 2 */
	margin: 0;
	/* 3 */
}

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

/** 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 Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */
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;
}

/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */
input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	/* 1 */
	padding: 0;
	/* 2 */
}

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

/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

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

/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */
textarea {
	overflow: auto;
	/* 1 */
	vertical-align: top;
	/* 2 */
}

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

meta.foundation-mq-small {
	font-family: "only screen and (min-width: 768px)";
	width: 768px;
}

meta.foundation-mq-medium {
	font-family: "only screen and (min-width:1280px)";
	width: 1280px;
}

meta.foundation-mq-large {
	font-family: "only screen and (min-width:1440px)";
	width: 1440px;
}

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

html,
body {
	font-size: 100%;
}

body {
	background: var(--white-color);
	color: var(--num-color);
	padding: 0;
	margin: 0;
	font-family: "Noto Serif", "DejaVu Serif", serif;
	font-weight: normal;
	font-style: normal;
	line-height: 1;
	position: relative;
	cursor: auto;
}

a:hover {
	cursor: pointer;
}

img,
object,
embed {
	max-width: 100%;
	height: auto;
}

object,
embed {
	height: 100%;
}

img {
	-ms-interpolation-mode: bicubic;
}

#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object {
	max-width: none !important;
}

.left {
	float: left !important;
}

.right {
	float: right !important;
}

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

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

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

.text-justify {
	text-align: justify !important;
}

.hide {
	display: none;
}

.antialiased {
	-webkit-font-smoothing: antialiased;
}

img {
	display: inline-block;
	vertical-align: middle;
}

textarea {
	height: auto;
	min-height: 50px;
}

select {
	width: 100%;
}

object,
svg {
	display: inline-block;
	vertical-align: middle;
}

.center {
	margin-left: auto;
	margin-right: auto;
}

.spread {
	width: 100%;
}

p.lead,
.paragraph.lead>p,
#preamble>.sectionbody>.paragraph:first-of-type p {
	font-size: 1.21875em;
	line-height: 1.6;
}

.subheader,
.admonitionblock td.content>.title,
.audioblock>.title,
.exampleblock>.title,
.imageblock>.title,
.listingblock>.title,
.literalblock>.title,
.stemblock>.title,
.openblock>.title,
.paragraph>.title,
.quoteblock>.title,
table.tableblock>.title,
.verseblock>.title,
.videoblock>.title,
.dlist>.title,
.olist>.title,
.ulist>.title,
.qlist>.title,
.hdlist>.title {
	line-height: 1.45;
	color: #7a2518;
	font-weight: normal;
	margin-top: 0;
	margin-bottom: 0.25em;
}

/* Typography resets */
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
#toctitle,
.sidebarblock>.content>.title,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
	margin: 0;
	padding: 0;
	direction: ltr;
}

/* Default Link Styles */
a {
	color: #2156a5;
	text-decoration: underline;
	line-height: inherit;
}

a:hover,
a:focus {
	color: #1d4b8f;
}

a img {
	border: none;
}

/* Default paragraph styles */
p {
	font-family: inherit;
	font-weight: normal;
	font-size: 1em;
	line-height: 1.6;
	margin-bottom: 1.25em;
	text-rendering: optimizeLegibility;
}

p aside {
	font-size: 0.875em;
	line-height: 1.35;
	font-style: italic;
}

/* Default header styles */
h1,
h2,
h3,
#toctitle,
.sidebarblock>.content>.title,
h4,
h5,
h6 {
	font-family: "Open Sans", "DejaVu Sans", sans-serif;
	font-weight: 300;
	font-style: normal;
	color: #ba3925;
	text-rendering: optimizeLegibility;
	margin-top: 1em;
	margin-bottom: 0.5em;
	line-height: 1.0125em;
}

h1 small,
h2 small,
h3 small,
#toctitle small,
.sidebarblock>.content>.title small,
h4 small,
h5 small,
h6 small {
	font-size: 60%;
	color: #e99b8f;
	line-height: 0;
}

h1 {
	font-size: 2.125em;
}

h2 {
	font-size: 1.6875em;
}

h3,
#toctitle,
.sidebarblock>.content>.title {
	font-size: 1.375em;
}

h4 {
	font-size: 1.125em;
}

h5 {
	font-size: 1.125em;
}

h6 {
	font-size: 1em;
}

hr {
	border: solid #ddddd8;
	border-width: 1px 0 0;
	clear: both;
	margin: 1.25em 0 1.1875em;
	height: 0;
}

/* Helpful Typography Defaults */
em,
i {
	font-style: italic;
	line-height: inherit;
}

strong,
b {
	font-weight: bold;
	line-height: inherit;
}

small {
	font-size: 60%;
	line-height: inherit;
}

code {
	font-family: "Droid Sans Mono", "DejaVu Sans Mono", monospace;
	font-weight: normal;
	color: var(--code-text-color);
}

a code {
	color: var(--code-link-color);
}

/* Lists */
ul,
ol,
dl {
	font-size: 1em;
	line-height: 1.6;
	margin-bottom: 1.25em;
	list-style-position: outside;
	font-family: inherit;
}

ul,
ol {
	margin-left: 1.5em;
}

ul.no-bullet,
ol.no-bullet {
	margin-left: 1.5em;
}

/* Unordered Lists */
ul li ul,
ul li ol {
	margin-left: 1.25em;
	margin-bottom: 0;
	font-size: 1em;
	/* Override nested font-size change */
}

ul.square li ul,
ul.circle li ul,
ul.disc li ul {
	list-style: inherit;
}

ul.square {
	list-style-type: square;
}

ul.circle {
	list-style-type: circle;
}

ul.disc {
	list-style-type: disc;
}

ul.no-bullet {
	list-style: none;
}

/* Ordered Lists */
ol li ul,
ol li ol {
	margin-left: 1.25em;
	margin-bottom: 0;
}

/* Definition Lists */
dl dt {
	margin-bottom: 0.3125em;
	font-weight: bold;
}

dl dd {
	margin-bottom: 1.25em;
}

/* Abbreviations */
abbr,
acronym {
	text-transform: uppercase;
	font-size: 90%;
	color: var(--num-color);
	border-bottom: 1px dotted #dddddd;
	cursor: help;
}

abbr {
	text-transform: none;
}

/* Blockquotes */
blockquote {
	margin: 0 0 1.25em;
	padding: 0.5625em 1.25em 0 1.1875em;
	border-left: 1px solid #dddddd;
}

blockquote cite {
	display: block;
	font-size: 0.9375em;
	color: rgba(0, 0, 0, 0.6);
}

blockquote cite:before {
	content: "\2014 \0020";
}

blockquote cite a,
blockquote cite a:visited {
	color: rgba(0, 0, 0, 0.6);
}

blockquote,
blockquote p {
	line-height: 1.6;
	color: var(--header-color);
}

/* Microformats */
.vcard {
	display: inline-block;
	margin: 0 0 1.25em 0;
	border: 1px solid #dddddd;
	padding: 0.625em 0.75em;
}

.vcard li {
	margin: 0;
	display: block;
}

.vcard .fn {
	font-weight: bold;
	font-size: 0.9375em;
}

.vevent .summary {
	font-weight: bold;
}

.vevent abbr {
	cursor: auto;
	text-decoration: none;
	font-weight: bold;
	border: none;
	padding: 0 0.0625em;
}

@media only screen and (min-width: 768px) {

	h1,
	h2,
	h3,
	#toctitle,
	.sidebarblock>.content>.title,
	h4,
	h5,
	h6 {
		line-height: 1.2;
	}

	h1 {
		font-size: 2.75em;
	}

	h2 {
		font-size: 2.3125em;
	}

	h3,
	#toctitle,
	.sidebarblock>.content>.title {
		font-size: 1.6875em;
	}

	h4 {
		font-size: 1.4375em;
	}
}

/* Tables */
table {
	background: var(--white-color);
	margin-bottom: 1.25em;
	border: solid 1px #dedede;
}

table thead,
table tfoot {
	background: var(--table-color);
	font-weight: bold;
}

table thead tr th,
table thead tr td,
table tfoot tr th,
table tfoot tr td {
	padding: 0.5em 0.625em 0.625em;
	font-size: inherit;
	color: var(--num-color);
	text-align: left;
}

table tr th,
table tr td {
	padding: 0.5625em 0.625em;
	font-size: inherit;
	color: var(--num-color);
}

table tr.even,
table tr.alt,
table tr:nth-of-type(even) {
	background: var(--nav-color);
}

table thead tr th,
table tfoot tr th,
table tbody tr td,
table tr td,
table tfoot tr td {
	display: table-cell;
	line-height: 1.6;
}

body {
	tab-size: 4;
}

h1,
h2,
h3,
#toctitle,
.sidebarblock>.content>.title,
h4,
h5,
h6 {
	line-height: 1.2;
	word-spacing: -0.05em;
}

h1 strong,
h2 strong,
h3 strong,
#toctitle strong,
.sidebarblock>.content>.title strong,
h4 strong,
h5 strong,
h6 strong {
	font-weight: 400;
}

.clearfix:before,
.clearfix:after,
.float-group:before,
.float-group:after {
	content: " ";
	display: table;
}

.clearfix:after,
.float-group:after {
	clear: both;
}

*:not(pre)>code {
	font-size: 0.9375em;
	font-style: normal !important;
	letter-spacing: 0;
	padding: 0.1em 0.5ex;
	word-spacing: -0.15em;
	background-color: var(--code-color);
	-webkit-border-radius: 4px;
	border-radius: 4px;
	line-height: 1.45;
	text-rendering: optimizeSpeed;
	word-wrap: break-word;
}

*:not(pre)>code.nobreak {
	word-wrap: normal;
}

*:not(pre)>code.nowrap {
	white-space: nowrap;
}

pre,
pre>code {
	line-height: 1.45;
	color: var(--code-text-color);
	font-family: "Droid Sans Mono", "DejaVu Sans Mono", "Monospace", monospace;
	font-weight: normal;
	text-rendering: optimizeSpeed;
}

em em {
	font-style: normal;
}

strong strong {
	font-weight: normal;
}

.keyseq {
	color: rgba(51, 51, 51, 0.8);
}

kbd {
	font-family: "Droid Sans Mono", "DejaVu Sans Mono", monospace;
	display: inline-block;
	color: var(--num-color);
	font-size: 0.65em;
	line-height: 1.45;
	background-color: #f7f7f7;
	border: 1px solid #ccc;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset;
	margin: 0 0.15em;
	padding: 0.2em 0.5em;
	vertical-align: middle;
	position: relative;
	top: -0.1em;
	white-space: nowrap;
}

.keyseq kbd:first-child {
	margin-left: 0;
}

.keyseq kbd:last-child {
	margin-right: 0;
}

.menuseq,
.menu {
	color: var(--num-color);
}

b.button:before,
b.button:after {
	position: relative;
	top: -1px;
	font-weight: normal;
}

b.button:before {
	content: "[";
	padding: 0 3px 0 2px;
}

b.button:after {
	content: "]";
	padding: 0 2px 0 3px;
}

p a>code:hover {
	color: var(--code-text-color);
}

#header,
#content,
#footnotes,
#footer {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0;
	margin-bottom: 0;
	max-width: 62.5em;
	*zoom: 1;
	position: relative;
	padding-left: 0.9375em;
	padding-right: 0.9375em;
}

#header:before,
#header:after,
#content:before,
#content:after,
#footnotes:before,
#footnotes:after,
#footer:before,
#footer:after {
	content: " ";
	display: table;
}

#header:after,
#content:after,
#footnotes:after,
#footer:after {
	clear: both;
}

#content {
	margin-top: 1.25em;
}

#content:before {
	content: none;
}

#header>h1:first-child {
	color: var(--header-color);
	margin-top: 2.25rem;
	margin-bottom: 0;
}

#header>h1:first-child+#toc {
	margin-top: 8px;
	border-top: 1px solid #ddddd8;
}

#header>h1:only-child,
body.toc2 #header>h1:nth-last-child(2) {
	border-bottom: 1px solid #ddddd8;
	padding-bottom: 8px;
}

#header .details {
	border-bottom: 1px solid #ddddd8;
	line-height: 1.45;
	padding-top: 0.25em;
	padding-bottom: 0.25em;
	padding-left: 0.25em;
	color: rgba(0, 0, 0, 0.6);
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
}

#header .details span:first-child {
	margin-left: -0.125em;
}

#header .details span.email a {
	color: var(--header-color);
}

#header .details br {
	display: none;
}

#header .details br+span:before {
	content: "\00a0\2013\00a0";
}

#header .details br+span.author:before {
	content: "\00a0\22c5\00a0";
	color: var(--header-color);
}

#header .details br+span#revremark:before {
	content: "\00a0|\00a0";
}

#header #revnumber {
	text-transform: capitalize;
}

#header #revnumber:after {
	content: "\00a0";
}

#content>h1:first-child:not([class]) {
	color: var(--header-color);
	border-bottom: 1px solid #ddddd8;
	padding-bottom: 8px;
	margin-top: 0;
	padding-top: 1rem;
	margin-bottom: 1.25rem;
}

#toc {
	border-bottom: 1px solid #efefed;
	padding-bottom: 0.5em;
}

#toc>ul {
	margin-left: 0.125em;
}

#toc ul.sectlevel0>li>a {
	font-style: italic;
}

#toc ul.sectlevel0 ul.sectlevel1 {
	margin: 0.5em 0;
}

#toc ul {
	font-family: "Open Sans", "DejaVu Sans", sans-serif;
	list-style-type: none;
}

#toc li {
	line-height: 1.3334;
	margin-top: 0.3334em;
}

#toc a {
	text-decoration: none;
}

#toc a:active {
	text-decoration: underline;
}

#toctitle {
	color: #7a2518;
	font-size: 1.2em;
}

@media only screen and (min-width: 768px) {
	#toctitle {
		font-size: 1.375em;
	}

	body.toc2 {
		padding-left: 15em;
		padding-right: 0;
	}

	#toc.toc2 {
		margin-top: 0 !important;
		background-color: var(--nav-color);
		position: fixed;
		width: 15em;
		left: 0;
		top: 0;
		border-right: 1px solid #efefed;
		border-top-width: 0 !important;
		border-bottom-width: 0 !important;
		z-index: 1000;
		padding: 1.25em 1em;
		height: 100%;
		overflow: auto;
	}

	#toc.toc2 #toctitle {
		margin-top: 0;
		margin-bottom: 0.8rem;
		font-size: 1.2em;
	}

	#toc.toc2>ul {
		font-size: 0.9em;
		margin-bottom: 0;
	}

	#toc.toc2 ul ul {
		margin-left: 0;
		padding-left: 1em;
	}

	#toc.toc2 ul.sectlevel0 ul.sectlevel1 {
		padding-left: 0;
		margin-top: 0.5em;
		margin-bottom: 0.5em;
	}

	body.toc2.toc-right {
		padding-left: 0;
		padding-right: 15em;
	}

	body.toc2.toc-right #toc.toc2 {
		border-right-width: 0;
		border-left: 1px solid #efefed;
		left: auto;
		right: 0;
	}
}

@media only screen and (min-width: 1280px) {
	body.toc2 {
		padding-left: 20em;
		padding-right: 0;
	}

	#toc.toc2 {
		width: 20em;
	}

	#toc.toc2 #toctitle {
		font-size: 1.375em;
	}

	#toc.toc2>ul {
		font-size: 0.95em;
	}

	#toc.toc2 ul ul {
		padding-left: 1.25em;
	}

	body.toc2.toc-right {
		padding-left: 0;
		padding-right: 20em;
	}
}

#content #toc {
	border-style: solid;
	border-width: 1px;
	border-color: #e0e0dc;
	margin-bottom: 1.25em;
	padding: 1.25em;
	background: var(--nav-color);
	-webkit-border-radius: 4px;
	border-radius: 4px;
}

#content #toc> :first-child {
	margin-top: 0;
}

#content #toc> :last-child {
	margin-bottom: 0;
}

#footer {
	max-width: 100%;
	background-color: var(--num-color);
	padding: 1.25em;
}

#footer-text {
	color: rgba(255, 255, 255, 0.8);
	line-height: 1.44;
}

.sect1 {
	padding-bottom: 0.625em;
}

@media only screen and (min-width: 768px) {
	.sect1 {
		padding-bottom: 1.25em;
	}
}

.sect1+.sect1 {
	border-top: 1px solid #efefed;
}

#content h1>a.anchor,
h2>a.anchor,
h3>a.anchor,
#toctitle>a.anchor,
.sidebarblock>.content>.title>a.anchor,
h4>a.anchor,
h5>a.anchor,
h6>a.anchor {
	position: absolute;
	z-index: 1001;
	width: 1.5ex;
	margin-left: -1.5ex;
	display: block;
	text-decoration: none !important;
	visibility: hidden;
	text-align: center;
	font-weight: normal;
}

#content h1>a.anchor:before,
h2>a.anchor:before,
h3>a.anchor:before,
#toctitle>a.anchor:before,
.sidebarblock>.content>.title>a.anchor:before,
h4>a.anchor:before,
h5>a.anchor:before,
h6>a.anchor:before {
	content: "\00A7";
	font-size: 0.85em;
	display: block;
	padding-top: 0.1em;
}

#content h1:hover>a.anchor,
#content h1>a.anchor:hover,
h2:hover>a.anchor,
h2>a.anchor:hover,
h3:hover>a.anchor,
#toctitle:hover>a.anchor,
.sidebarblock>.content>.title:hover>a.anchor,
h3>a.anchor:hover,
#toctitle>a.anchor:hover,
.sidebarblock>.content>.title>a.anchor:hover,
h4:hover>a.anchor,
h4>a.anchor:hover,
h5:hover>a.anchor,
h5>a.anchor:hover,
h6:hover>a.anchor,
h6>a.anchor:hover {
	visibility: visible;
}

#content h1>a.link,
h2>a.link,
h3>a.link,
#toctitle>a.link,
.sidebarblock>.content>.title>a.link,
h4>a.link,
h5>a.link,
h6>a.link {
	color: #ba3925;
	text-decoration: none;
}

#content h1>a.link:hover,
h2>a.link:hover,
h3>a.link:hover,
#toctitle>a.link:hover,
.sidebarblock>.content>.title>a.link:hover,
h4>a.link:hover,
h5>a.link:hover,
h6>a.link:hover {
	color: #a53221;
}

.audioblock,
.imageblock,
.literalblock,
.listingblock,
.stemblock,
.videoblock {
	margin-bottom: 1.25em;
}

.admonitionblock td.content>.title,
.audioblock>.title,
.exampleblock>.title,
.imageblock>.title,
.listingblock>.title,
.literalblock>.title,
.stemblock>.title,
.openblock>.title,
.paragraph>.title,
.quoteblock>.title,
table.tableblock>.title,
.verseblock>.title,
.videoblock>.title,
.dlist>.title,
.olist>.title,
.ulist>.title,
.qlist>.title,
.hdlist>.title {
	text-rendering: optimizeLegibility;
	text-align: left;
	font-family: "Noto Serif", "DejaVu Serif", serif;
	font-size: 1rem;
	font-style: italic;
}

table.tableblock>caption.title {
	white-space: nowrap;
	overflow: visible;
	max-width: 0;
}

.paragraph.lead>p,
#preamble>.sectionbody>.paragraph:first-of-type p {
	color: var(--header-color);
}

table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p {
	font-size: inherit;
}

/* Custom SVG logos coloring */
path {
	fill: #02303A;
}

body.dark-theme {
    path {
        fill: white;
    }
}

@media (prefers-color-scheme: dark) {
    path {
        fill: white;
    }
    body.light-theme {
        path {
            fill: #02303A;
        }
    }
}

/* Custom scroll bar */
/* Works on Firefox */
.docs-navigation {
	scrollbar-width: auto;
	scrollbar-color: #686868 #e7e7e9;
}

/* Works on Chrome, Edge, and Safari */
.docs-navigation::-webkit-scrollbar {
	width: 12px;
}

.docs-navigation::-webkit-scrollbar-track {
	background: #e7e7e9;
}

.docs-navigation::-webkit-scrollbar-thumb {
	background-color: #686868;
	border-radius: 20px;
	border: 3px #686868;
}

body.dark-theme {
    /* Works on Firefox */
    * {
      scrollbar-width: auto;
      scrollbar-color: #686868 #242526;
    }

    /* Works on Chrome, Edge, and Safari */
    *::-webkit-scrollbar {
      width: auto;
    }

    *::-webkit-scrollbar-track {
      background: #242526;
    }

    *::-webkit-scrollbar-thumb {
      background-color: #686868;
      border-radius: 20px;
      border: 3px #686868;
    }
}

@media (prefers-color-scheme: dark) {
    /* Works on Firefox */
    * {
      scrollbar-width: auto;
      scrollbar-color: #686868 #242526;
    }

    /* Works on Chrome, Edge, and Safari */
    *::-webkit-scrollbar {
      width: auto;
    }

    *::-webkit-scrollbar-track {
      background: #242526;
    }

    *::-webkit-scrollbar-thumb {
      background-color: #686868;
      border-radius: 20px;
      border: 3px #686868;
    }

    body.light-theme {
        .docs-navigation {
            scrollbar-width: auto;
            scrollbar-color: #686868 #e7e7e9;
        }

        /* Works on Chrome, Edge, and Safari */
        .docs-navigation::-webkit-scrollbar {
            width: 12px;
        }

        .docs-navigation::-webkit-scrollbar-track {
            background: #e7e7e9;
        }

        .docs-navigation::-webkit-scrollbar-thumb {
            background-color: #686868;
            border-radius: 20px;
            border: 3px #686868;
        }
    }
}

/* Custom Admonition Blocks - Icons from https://github.com/primer/octicons */
.admonitionblock td div:last-of-type p {
	margin-bottom: 0em !important;
}

.admonitionblock {
	margin: 1.4rem 0 0
}

.admonitionblock i {
	font-family: inherit;
}

.admonitionblock i.fa {
	background: no-repeat 50%/1em 1em;
	display: inline-block;
	filter: var(--doc-icon-filter);
	font-style: normal;
	height: 1em;
	-webkit-hyphens: none;
	hyphens: none;
	vertical-align: -.125em;
	width: 1em
}

.admonitionblock p,
.admonitionblock td.content {
	font-size: 1rem;
}

.admonitionblock td.content>.title+*,
.admonitionblock td.content>:not(.title):first-child {
	margin-top: 0
}

.admonitionblock pre {
	font-size: calc(15/var(--rem-base)*1rem)
}

.admonitionblock>table {
	position: relative;
	table-layout: fixed;
	border: none;
	width: 100%
}

.admonitionblock td.content {
	word-wrap: anywhere;
	background: var(--admonition-background);
	padding: 1rem 1rem 1rem 1rem;
	width: 100%;
	border-radius: 4px;
}

.admonitionblock td.icon {
	background: linear-gradient(90deg, rgba(0, 0, 0, .2) 0, rgba(0, 0, 0, .2)) no-repeat 0 /2.075em 100%;
	border-radius: .5em;
	font-size: calc(15/var(--rem-base)*1rem);
	left: 0;
	line-height: 1;
	padding: .25em .075em;
	position: absolute;
	top: 0;
	transform: translate(-.5rem, -50%)
}

.admonitionblock td.icon i {
	align-items: center;
	background-position-x: .5em;
	display: inline-flex;
	filter: invert(100%);
	padding-left: 2em;
	vertical-align: initial;
	width: auto
}

.admonitionblock td.icon i::after {
	content: attr(title);
	filter: invert(100%);
	font-style: normal;
	font-weight: bold;
	margin: -.05em;
	padding: 0 .5em;
	text-transform: uppercase
}

.admonitionblock.caution td.icon {
	background-color: var(--caution-color);
	color: var(--caution-on-color)
}

.admonitionblock.caution td.icon i {
	background-image: url(./img/octicons-16.svg#view-flame)
}

.admonitionblock.important td.icon {
	background-color: var(--important-color);
	color: var(--important-on-color)
}

.admonitionblock.important td.icon i {
	background-image: url(./img/octicons-16.svg#view-stop)
}

.admonitionblock.note td.icon {
	background-color: var(--note-color);
	color: var(--note-on-color)
}

.admonitionblock.note td.icon i {
	background-image: url(./img/octicons-16.svg#view-info)
}

.admonitionblock.tip td.icon {
	background-color: var(--tip-color);
	color: var(--tip-on-color)
}

.admonitionblock.tip td.icon i {
	background-image: url(./img/octicons-16.svg#view-light-bulb)
}

.admonitionblock.warning td.icon {
	background-color: var(--warning-color);
	color: var(--warning-on-color)
}

.admonitionblock.warning td.icon i {
	background-image: url(./img/octicons-16.svg#view-alert)
}

/* Custom collapsible block */
details summary {
	width: 100%;
	padding: 1rem 0;
	border-top: 1px solid gray;
	position: relative;
	cursor: pointer;
	list-style: none;
}

details summary:after {
	content: "+";
	color: var(--black-color);
	position: absolute;
	font-size: 1.75rem;
	line-height: 0;
	margin-top: 0.3rem;
	right: 0;
	font-weight: 400;
	transform-origin: center;
	transition: 200ms linear;
}

details[open] summary:after {
	transform: rotate(45deg);
	font-size: 2rem;
}

details summary {
	outline: 0;
}

details p {
	font-size: 0.95rem;
	margin: 0 0 1rem;
	padding-top: 1rem;
}

.exampleblock>.content {
	border-style: solid;
	border-width: 1px;
	border-color: #e6e6e6;
	margin-bottom: 1.25em;
	padding: 1.25em;
	background: var(--white-color);
	-webkit-border-radius: 4px;
	border-radius: 4px;
}

.exampleblock>.content> :first-child {
	margin-top: 0;
}

.exampleblock>.content> :last-child {
	margin-bottom: 0;
}

.sidebarblock {
	border-style: solid;
	border-width: 1px;
	border-color: #e0e0dc;
	margin-bottom: 1.25em;
	padding: 1.25em;
	background: var(--nav-color);
	-webkit-border-radius: 4px;
	border-radius: 4px;
}

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

.sidebarblock> :last-child {
	margin-bottom: 0;
}

.sidebarblock>.content>.title {
	color: #7a2518;
	margin-top: 0;
	text-align: center;
}

.exampleblock>.content> :last-child> :last-child,
.exampleblock>.content .olist>ol>li:last-child> :last-child,
.exampleblock>.content .ulist>ul>li:last-child> :last-child,
.exampleblock>.content .qlist>ol>li:last-child> :last-child,
.sidebarblock>.content> :last-child> :last-child,
.sidebarblock>.content .olist>ol>li:last-child> :last-child,
.sidebarblock>.content .ulist>ul>li:last-child> :last-child,
.sidebarblock>.content .qlist>ol>li:last-child> :last-child {
	margin-bottom: 0;
}

.literalblock pre,
.listingblock pre:not(.highlight),
.listingblock pre[class="highlight"],
.listingblock pre[class^="highlight "],
.listingblock pre.CodeRay,
.listingblock pre.prettyprint {
	background: var(--code-color);
}

.sidebarblock .literalblock pre,
.sidebarblock .listingblock pre:not(.highlight),
.sidebarblock .listingblock pre[class="highlight"],
.sidebarblock .listingblock pre[class^="highlight "],
.sidebarblock .listingblock pre.CodeRay,
.sidebarblock .listingblock pre.prettyprint {
	background: #f2f1f1;
}

.literalblock pre,
.literalblock pre[class],
.listingblock pre,
.listingblock pre[class] {
	-webkit-border-radius: 4px;
	border-radius: 4px;
	word-wrap: break-word;
	padding: 1em;
	font-size: 0.8125em;
}

.literalblock pre.nowrap,
.literalblock pre[class].nowrap,
.listingblock pre.nowrap,
.listingblock pre[class].nowrap {
	overflow-x: auto;
	white-space: pre;
	word-wrap: normal;
}

@media only screen and (min-width: 768px) {

	.literalblock pre,
	.literalblock pre[class],
	.listingblock pre,
	.listingblock pre[class] {
		font-size: 0.90625em;
	}
}

@media only screen and (min-width: 1280px) {

	.literalblock pre,
	.literalblock pre[class],
	.listingblock pre,
	.listingblock pre[class] {
		font-size: 1em;
	}
}

.literalblock.output pre {
	color: var(--code-color);
	background-color: var(--code-text-color);
}

.listingblock pre.highlightjs {
	padding: 0;
}

.listingblock pre.highlightjs>code {
	padding: 1em;
	-webkit-border-radius: 4px;
	border-radius: 4px;
}

.listingblock pre.prettyprint {
	border-width: 0;
}

.listingblock>.content {
	position: relative;
}

.listingblock code[data-lang]:before {
	display: block;
	content: attr(data-lang) "  ";
	position: absolute;
	font-size: 0.75em;
	top: 0.425rem;
	right: 1.0rem;
	line-height: 1;
	text-transform: uppercase;
	color: #999;
}

.listingblock:hover code[data-lang]:before {
	display: block;
}

.listingblock.terminal pre .command:before {
	content: attr(data-prompt);
	padding-right: 0.5em;
	color: #999;
}

.listingblock.terminal pre .command:not([data-prompt]):before {
	content: "$";
}

table.pyhltable {
	border-collapse: separate;
	border: 0;
	margin-bottom: 0;
	background: none;
}

table.pyhltable td {
	vertical-align: top;
	padding-top: 0;
	padding-bottom: 0;
	line-height: 1.45;
}

table.pyhltable td.code {
	padding-left: .75em;
	padding-right: 0;
}

pre.pygments .lineno,
table.pyhltable td:not(.code) {
	color: #999;
	padding-left: 0;
	padding-right: .5em;
	border-right: 1px solid #ddddd8;
}

pre.pygments .lineno {
	display: inline-block;
	margin-right: .25em;
}

table.pyhltable .linenodiv {
	background: none !important;
	padding-right: 0 !important;
}

.quoteblock {
	margin: 0 1em 1.25em 1.5em;
	display: table;
}

.quoteblock>.title {
	margin-left: -1.5em;
	margin-bottom: 0.75em;
}

.quoteblock blockquote,
.quoteblock blockquote p {
	color: var(--header-color);
	font-size: 1.15rem;
	line-height: 1.75;
	word-spacing: 0.1em;
	letter-spacing: 0;
	font-style: italic;
	text-align: justify;
}

.quoteblock blockquote {
	margin: 0;
	padding: 0;
	border: 0;
}

.quoteblock blockquote:before {
	content: "\201c";
	float: left;
	font-size: 2.75em;
	font-weight: bold;
	line-height: 0.6em;
	margin-left: -0.6em;
	color: var(--quoteblock-color);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.quoteblock blockquote>.paragraph:last-child p {
	margin-bottom: 0;
}

.quoteblock .attribution {
	margin-top: 0.5em;
	margin-right: 0.5ex;
	text-align: right;
}

.quoteblock .quoteblock {
	margin-left: 0;
	margin-right: 0;
	padding: 0.5em 0;
	border-left: 3px solid rgba(0, 0, 0, 0.6);
}

.quoteblock .quoteblock blockquote {
	padding: 0 0 0 0.75em;
}

.quoteblock .quoteblock blockquote:before {
	display: none;
}

.verseblock {
	margin: 0 1em 1.25em 1em;
}

.verseblock pre {
	font-family: "Open Sans", "DejaVu Sans", sans;
	font-size: 1.15rem;
	color: var(--header-color);
	font-weight: 300;
	text-rendering: optimizeLegibility;
}

.verseblock pre strong {
	font-weight: 400;
}

.verseblock .attribution {
	margin-top: 1.25rem;
	margin-left: 0.5ex;
}

.quoteblock .attribution,
.verseblock .attribution {
	font-size: 0.9375em;
	line-height: 1.45;
	font-style: italic;
}

.quoteblock .attribution br,
.verseblock .attribution br {
	display: none;
}

.quoteblock .attribution cite,
.verseblock .attribution cite {
	display: block;
	letter-spacing: -0.025em;
	color: rgba(0, 0, 0, 0.6);
}

.quoteblock.abstract {
	margin: 0 0 1.25em 0;
	display: block;
}

.quoteblock.abstract blockquote,
.quoteblock.abstract blockquote p {
	text-align: left;
	word-spacing: 0;
}

.quoteblock.abstract blockquote:before,
.quoteblock.abstract blockquote p:first-of-type:before {
	display: none;
}

table.stretch {
    width: 100%;
}

table.tableblock {
	max-width: 100%;
	border-collapse: separate;
}

table.tableblock td>.paragraph:last-child p>p:last-child,
table.tableblock th>p:last-child,
table.tableblock td>p:last-child {
	margin-bottom: 0;
}

table.tableblock,
th.tableblock,
td.tableblock {
	border: 0 solid #dedede;
}

table.grid-all th.tableblock,
table.grid-all td.tableblock {
	border-width: 0 1px 1px 0;
}

table.grid-all tfoot>tr>th.tableblock,
table.grid-all tfoot>tr>td.tableblock {
	border-width: 1px 1px 0 0;
}

table.grid-cols th.tableblock,
table.grid-cols td.tableblock {
	border-width: 0 1px 0 0;
}

table.grid-all *>tr>.tableblock:last-child,
table.grid-cols *>tr>.tableblock:last-child {
	border-right-width: 0;
}

table.grid-rows th.tableblock,
table.grid-rows td.tableblock {
	border-width: 0 0 1px 0;
}

table.grid-all tbody>tr:last-child>th.tableblock,
table.grid-all tbody>tr:last-child>td.tableblock,
table.grid-all thead:last-child>tr>th.tableblock,
table.grid-rows tbody>tr:last-child>th.tableblock,
table.grid-rows tbody>tr:last-child>td.tableblock,
table.grid-rows thead:last-child>tr>th.tableblock {
	border-bottom-width: 0;
}

table.grid-rows tfoot>tr>th.tableblock,
table.grid-rows tfoot>tr>td.tableblock {
	border-width: 1px 0 0 0;
}

table.frame-all {
	border-width: 1px;
}

table.frame-sides {
	border-width: 0 1px;
}

table.frame-topbot {
	border-width: 1px 0;
}

th.halign-left,
td.halign-left {
	text-align: left;
}

th.halign-right,
td.halign-right {
	text-align: right;
}

th.halign-center,
td.halign-center {
	text-align: center;
}

th.valign-top,
td.valign-top {
	vertical-align: top;
}

th.valign-bottom,
td.valign-bottom {
	vertical-align: bottom;
}

th.valign-middle,
td.valign-middle {
	vertical-align: middle;
}

table thead th,
table tfoot th {
	font-weight: bold;
}

tbody tr th {
	display: table-cell;
	line-height: 1.6;
	background: var(--table-color);
}

tbody tr th,
tbody tr th p,
tfoot tr th,
tfoot tr th p {
	color: var(--num-color);
	font-weight: bold;
}

p.tableblock>code:only-child {
	background: none;
	padding: 0;
}

p.tableblock {
	font-size: 1em;
}

td>div.verse {
	white-space: pre;
}

ol {
	margin-left: 1.75em;
}

ul li ol {
	margin-left: 1.5em;
}

dl dd {
	margin-left: 1.125em;
}

dl dd:last-child,
dl dd:last-child> :last-child {
	margin-bottom: 0;
}

ol>li p,
ul>li p,
ul dd,
ol dd,
.olist .olist,
.ulist .ulist,
.ulist .olist,
.olist .ulist {
	margin-bottom: 0.625em;
}

ul.unstyled,
ol.unnumbered,
ul.checklist,
ul.none {
	list-style-type: none;
}

ul.unstyled,
ol.unnumbered,
ul.checklist {
	margin-left: 0.625em;
}

ul.checklist li>p:first-child>.fa-square-o:first-child,
ul.checklist li>p:first-child>.fa-check-square-o:first-child {
	width: 1em;
	font-size: 0.85em;
}

ul.checklist li>p:first-child>input[type="checkbox"]:first-child {
	width: 1em;
	position: relative;
	top: 1px;
}

ul.inline {
	margin: 0 auto 0.625em auto;
	margin-left: -1.375em;
	margin-right: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
}

ul.inline>li {
	list-style: none;
	float: left;
	margin-left: 1.375em;
	display: block;
}

ul.inline>li>* {
	display: block;
}

.unstyled dl dt {
	font-weight: normal;
	font-style: normal;
}

ol.arabic {
	list-style-type: decimal;
}

ol.decimal {
	list-style-type: decimal-leading-zero;
}

ol.loweralpha {
	list-style-type: lower-alpha;
}

ol.upperalpha {
	list-style-type: upper-alpha;
}

ol.lowerroman {
	list-style-type: lower-roman;
}

ol.upperroman {
	list-style-type: upper-roman;
}

ol.lowergreek {
	list-style-type: lower-greek;
}

.hdlist>table,
.colist>table {
	border: 0;
	background: none;
}

.hdlist>table>tbody>tr,
.colist>table>tbody>tr {
	background: none;
}

td.hdlist1,
td.hdlist2 {
	vertical-align: top;
	padding: 0 0.625em;
}

td.hdlist1 {
	font-weight: bold;
	padding-bottom: 1.25em;
}

.literalblock+.colist {
	margin-top: -0.5em;
}

.colist>table tr>td:first-of-type {
	padding: 0 0.75em;
	line-height: 1;
}

.colist>table tr>td:first-of-type img {
	max-width: initial;
}

.colist>table tr>td:last-of-type {
	padding: 0.25em 0;
}

.thumb,
.th {
	line-height: 0;
	display: inline-block;
	border: solid 4px var(--white-color);
	-webkit-box-shadow: 0 0 0 1px #dddddd;
	box-shadow: 0 0 0 1px #dddddd;
}

.imageblock.left,
.imageblock[style*="float: left"] {
	margin: 0.25em 0.625em 1.25em 0;
}

.imageblock.right,
.imageblock[style*="float: right"] {
	margin: 0.25em 0 1.25em 0.625em;
}

.imageblock>.title {
	margin-bottom: 0;
}

.imageblock.thumb,
.imageblock.th {
	border-width: 6px;
}

.imageblock.thumb>.title,
.imageblock.th>.title {
	padding: 0 0.125em;
}

.image.left,
.image.right {
	margin-top: 0.25em;
	margin-bottom: 0.25em;
	display: inline-block;
	line-height: 0;
}

.image.left {
	margin-right: 0.625em;
}

.image.right {
	margin-left: 0.625em;
}

a.image {
	text-decoration: none;
	display: inline-block;
}

a.image object {
	pointer-events: none;
}

sup.footnote,
sup.footnoteref {
	font-size: 0.875em;
	position: static;
	vertical-align: super;
}

sup.footnote a,
sup.footnoteref a {
	text-decoration: none;
}

sup.footnote a:active,
sup.footnoteref a:active {
	text-decoration: underline;
}

#footnotes {
	padding-top: 0.75em;
	padding-bottom: 0.75em;
	margin-bottom: 0.625em;
}

#footnotes hr {
	width: 20%;
	min-width: 6.25em;
	margin: -0.25em 0 0.75em 0;
	border-width: 1px 0 0 0;
}

#footnotes .footnote {
	padding: 0 0.375em 0 0.225em;
	line-height: 1.3334;
	font-size: 0.875em;
	margin-left: 1.2em;
	text-indent: -1.05em;
	margin-bottom: 0.2em;
}

#footnotes .footnote a:first-of-type {
	font-weight: bold;
	text-decoration: none;
}

#footnotes .footnote:last-of-type {
	margin-bottom: 0;
}

#content #footnotes {
	margin-top: -0.625em;
	margin-bottom: 0;
	padding: 0.75em 0;
}

.gist .file-data>table {
	border: 0;
	background: var(--white-color);
	width: 100%;
	margin-bottom: 0;
}

.gist .file-data>table td.line-data {
	width: 99%;
}

div.unbreakable {
	page-break-inside: avoid;
}

.big {
	font-size: larger;
}

.small {
	font-size: smaller;
}

.underline {
	text-decoration: underline;
}

.overline {
	text-decoration: overline;
}

.line-through {
	text-decoration: line-through;
}

.green {
    color: #006000;
}

.red {
    color: #bf0000;
}

.yellow {
    color: #bfbf00;
}

span.icon>.fa {
	cursor: default;
}

.conum[data-value] {
	display: inline-block;
	color: var(--white-color) !important;
	background-color: var(--num-color);
	-webkit-border-radius: 100px;
	border-radius: 100px;
	text-align: center;
	font-size: 0.75em;
	width: 1.67em;
	height: 1.67em;
	line-height: 1.67em;
	font-family: "Open Sans", "DejaVu Sans", sans-serif;
	font-style: normal;
	font-weight: bold;
}

.conum[data-value] * {
	color: var(--white-color) !important;
}

.conum[data-value]+b {
	display: none;
}

.conum[data-value]:after {
	content: attr(data-value);
}

pre .conum[data-value] {
	position: relative;
	top: -0.125em;
}

b.conum * {
	color: inherit !important;
}

.conum:not([data-value]):empty {
	display: none;
}

dt,
th.tableblock,
td.content,
div.footnote {
	text-rendering: optimizeLegibility;
}

h1,
h2,
p,
td.content,
span.alt {
	letter-spacing: -0.01em;
}

p strong,
td.content strong,
div.footnote strong {
	letter-spacing: -0.005em;
}

p,
blockquote,
dt,
td.content,
span.alt {
	font-size: 1.0625rem;
}

p {
	margin-bottom: 1.25rem;
}

.sidebarblock p,
.sidebarblock dt,
.sidebarblock td.content,
p.tableblock {
	font-size: 1em;
}

.exampleblock>.content {
	background-color: #fffef7;
	border-color: #e0e0dc;
	-webkit-box-shadow: 0 1px 4px #e0e0dc;
	box-shadow: 0 1px 4px #e0e0dc;
}

.print-only {
	display: none !important;
}

@media print {
	@page {
		margin: 1.25cm 0.75cm;
	}

	* {
		-webkit-box-shadow: none !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a {
		color: inherit !important;
		text-decoration: underline !important;
	}

	a.bare,
	a[href^="#"],
	a[href^="mailto:"] {
		text-decoration: none !important;
	}

	a[href^="http:"]:not(.bare):after,
	a[href^="https:"]:not(.bare):after {
		content: "(" attr(href) ")";
		display: inline-block;
		font-size: 0.875em;
		padding-left: 0.25em;
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	pre,
	blockquote,
	tr,
	img,
	object,
	svg {
		page-break-inside: avoid;
	}

	thead {
		display: table-header-group;
	}

	svg {
		max-width: 100%;
	}

	p,
	blockquote,
	dt,
	td.content {
		font-size: 1em;
		orphans: 3;
		widows: 3;
	}

	h2,
	h3,
	#toctitle,
	.sidebarblock>.content>.title,
	#toctitle,
	.sidebarblock>.content>.title {
		page-break-after: avoid;
	}

	#toc,
	.sidebarblock,
	.exampleblock>.content {
		background: none !important;
	}

	#toc {
		border-bottom: 1px solid #ddddd8 !important;
		padding-bottom: 0 !important;
	}

	.sect1 {
		padding-bottom: 0 !important;
	}

	.sect1+.sect1 {
		border: 0 !important;
	}

	#header>h1:first-child {
		margin-top: 1.25rem;
	}

	body.book #header {
		text-align: center;
	}

	body.book #header>h1:first-child {
		border: 0 !important;
		margin: 2.5em 0 1em 0;
	}

	body.book #header .details {
		border: 0 !important;
		display: block;
		padding: 0 !important;
	}

	body.book #header .details span:first-child {
		margin-left: 0 !important;
	}

	body.book #header .details br {
		display: block;
	}

	body.book #header .details br+span:before {
		content: none !important;
	}

	body.book #toc {
		border: 0 !important;
		text-align: left !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	body.book #toc,
	body.book #preamble,
	body.book h1.sect0,
	body.book .sect1>h2 {
		page-break-before: always;
	}

	.listingblock code[data-lang]:before {
		display: block;
	}

	#footer {
		background: none !important;
		padding: 0 0.9375em;
	}

	#footer-text {
		color: rgba(0, 0, 0, 0.6) !important;
		font-size: 0.9em;
	}

	.hide-on-print {
		display: none !important;
	}

	.print-only {
		display: block !important;
	}

	.hide-for-print {
		display: none !important;
	}

	.show-for-print {
		display: inherit !important;
	}
}

/* END asciidoc.css */

html,
body {
	margin: 0;
	padding: 0;
}

html {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

body {
	color: var(--text-color);
	background-color: var(--white-color);
	font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

/* Links */
a {
	color: #1DA2BD;
	text-decoration: none;
}

a:hover,
a:focus {
	text-decoration: underline;
}

#content a[href^='../dsl/'],
#content a[href^='../kotlin-dsl/'],
#content a[href^='../javadoc/'] {
	font-family: 'Inconsolata', monospace;
	font-style: normal;
	border-bottom: 1px dotted rgba(29, 162, 189, 0.5);
	padding: 0 1px;
}

#content a[href^='../dsl/']:hover,
#content a[href^='../dsl/']:focus,
#content a[href^='../kotlin-dsl/']:hover,
#content a[href^='../kotlin-dsl/']:focus,
#content a[href^='../javadoc/']:hover,
#content a[href^='../javadoc/']:focus {
	text-decoration: none;
}

/* Copy */

p {
	font-size: 1rem;
}

pre,
pre>code,
code {
	font-family: 'Inconsolata', monospace;
}

h1,
h2,
h3,
h4,
h5,
h6,
#toctitle,
.sidebarblock>.content>.title {
	font-family: inherit;
	font-weight: 500;
	color: inherit;
}

h1 {
	font-size: 2rem;
}

h2 {
	font-size: 1.5rem;
}

h3 {
	font-size: 1.125rem;
}

h4 {
	font-size: 1.0625rem;
}

h5,
h6 {
	font-size: 1rem;
}

b,
strong {
	font-weight: 500;
}

dl {
	margin: 0 0 1.25rem 1.5rem;
}

.dlist dt code {
	color: var(--text-color);
	font-size: 1em;
	font-weight: bold;
}

.dlist p {
	margin-bottom: 0.625rem;
}

.sr-only {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* Layout */
.main-content>.appendix,
.main-content>.book,
.main-content>.chapter,
.main-content>.footer {
	background-color: var(--white-color);
	border-radius: 5px;
	max-width: 45rem;
	padding: 1.5rem;
}

@media screen and (max-width: 45em) {
	.footer {
		max-width: 100%;
	}

	.main-content>.appendix,
	.main-content>.book,
	.main-content>.chapter {
		margin-top: 0;
		margin-bottom: 0;
	}
}

/* Override asciidoc styles */
#header {
	position: static;
}

#header,
#content {
	padding: 0;
}

#header .details {
	/* TODO: Pretty sure there's a way to avoid Asciidoc generating details */
	display: none;
}

p {
	color: var(--text-color);
}

h1,
h2,
p,
p strong,
td.content,
td.content strong,
div.footnote strong,
span.alt {
	letter-spacing: normal;
}

.subheader,
.admonitionblock td.content>.title,
.audioblock>.title,
.exampleblock>.title,
.imageblock>.title,
.listingblock>.title,
.literalblock>.title,
.stemblock>.title,
.openblock>.title,
.paragraph>.title,
.quoteblock>.title,
table.tableblock>.title,
.verseblock>.title,
.videoblock>.title,
.dlist>.title,
.olist>.title,
.ulist>.title,
.qlist>.title,
.hdlist>.title {
	color: inherit;
	font-family: inherit;
}

.listingblock .title,
.listingblock .title code {
	font-style: normal;
	font-weight: bold;
}

.imageblock,
.videoblock {
	padding: 0.25em;
}

p.lead,
.paragraph.lead>p,
#preamble>.sectionbody>.paragraph:first-of-type p {
	font-size: 1.0625rem;
}

.paragraph.lead>p,
#preamble>.sectionbody>.paragraph:first-of-type p {
	color: inherit;
}

.sect1 {
	padding-bottom: 0;
}

.sect1+.sect1 {
	border: 0 none;
}

.verseblock pre {
	font-family: "Lato", Arial, sans-serif;
}

td.hdlist1 {
	padding-bottom: 0.625rem;
}

td.hdlist2 p {
	margin-bottom: 0.625rem;
}

body.book #header>h1 {
	border: 0;
}

#header>h1:first-child {
	margin-top: 0;
}

#content a.link {
	color: var(--title-color);
}

.highlight .com {
	color: #777;
}

.listingblock pre.highlightjs>code {
	overflow-x: auto;
}

.listingblock pre.highlight {
	overflow-x: auto;
}

.listingblock pre.highlight>code {
	white-space: pre;
}

.conum[data-value] {
	font-family: "Lato", Arial, sans-serif;
}

.colist>table tr>td:first-of-type {
	padding-top: 0.25em;
	padding-bottom: 0.25em;
	line-height: 1.4;
	vertical-align: baseline;
}

/*
 * Samples
 */
.exampleblock>.content {
	background-color: inherit;
	border: 0 none;
	box-shadow: none;
	padding: 0;
	padding-bottom: 0.7rem;
	margin-bottom: 0;
}

.exampleblock>.content .title {
	background-color: var(--code-color);
	border-top: 1px solid #ccc;
	font-family: 'Inconsolata', monospace;
	margin: 0;
	padding: 1em 1em 0;
}

.exampleblock>.title>a {
	text-decoration: none;
	color: var(--num-color);
}

.exampleblock .listingblock {
	margin: 0;
}

/*
 * Ensure that blocks of code do not wrap by applying the behavior of `[listing%nowrap]` by default.
 *
 * These styles are copied from a CSS ruleset in asciidoctor.css that has the same group of
 * selectors except that they end with `.nowrap`.
 */
.openblock .content {
	background: var(--admonition-background);
	margin-bottom: 1.25em;
	padding: 1em 1em 0em 1em;
	border-radius: 4px;
	overflow: auto !important;
}

.literalblock pre,
.literalblock pre[class],
.listingblock pre,
.listingblock pre[class] {
	overflow-x: auto;
	white-space: pre;
	word-wrap: normal;
}

/*
 * This CSS ruleset solves: https://github.com/gradle/guides/issues/113#issuecomment-314826749.
 */
.literalblock pre::after,
.literalblock pre[class]::after,
.listingblock pre::after,
.listingblock pre[class]::after {
	content: "";
}

.quoteblock blockquote,
.quoteblock blockquote p {
	text-align: left;
	text-align: start;
}

div.screenshot {
	box-shadow: 0 0 20px 1px rgba(0, 0, 0, 0.2);
	margin-left: auto;
	margin-right: auto;
	width: 90%;
}

.inset {
	box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);
	padding: 1em;
}

.image.inline-icon img {
	vertical-align: sub;
}

/* TOC */
#header>h1:first-child+#toc {
	background: none;
	border: 0 none;
	margin-top: 0;
}

#toc,
#content #toc {
	border: 0 none;
}

#toc>ul {
	margin-left: 0;
	font-family: inherit;
}

#toc>ul>li {
	line-height: 1.25;
	margin-top: 0;
	padding-bottom: 0.5rem;
}

#toc>ul>li:last-of-type {
	padding-bottom: 0;
}

#toc a {
	font-style: normal;
}

#toc a:hover,
#toc a:focus,
#toc a:hover code,
#toc a:focus code {
	color: #1DA2BD;
}

#toc a:active {
	text-decoration: none;
}

/* Site header specific styles */
.hamburger {
	background-color: transparent;
	background-image: none;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	margin-left: auto;
	padding: 11px 10px;
}

.hamburger:focus {
	outline: 0;
}

.hamburger__bar {
	display: block;
	width: 22px;
	height: 2px;
	background-color: var(--black-color);
	border-radius: 1px;
}

.hamburger__bar+.hamburger__bar {
	margin-top: 4px;
}

.site-header {
	background-color: var(--top-header-color);
}

/* Override javadoc styles */
.site-header div {
	font-family: 'Lato', Arial, sans-serif;
}

.site-header__navigation-header a {
	align-self: center;
	border-bottom: 0 none;
	height: 36px;
}

.site-header .site-header-version {
	align-self: center;
	color: #1da2bd;
	font-size: 20px;
	padding-left: 1px;
	margin-top: 22px;
}

.site-header__navigation {
    z-index: 2;
	display: flex;
	flex-direction: column;
}

.site-header__navigation-header {
	display: flex;
	flex: 0 0 auto;
	margin-left: 12px;
}

.site-header__navigation-collapsible {
	flex: 1 1 auto;
	height: 210px;
	overflow: visible;
	transition: height 0.3s ease;
}

.site-header__navigation-items {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-start;
	max-height: 210px;
	/* This matches the collapsible height above */
	margin: 0 20px;
	padding-top: 12px;
	padding-left: 0;
	list-style-type: none;
}

.site-header__navigation-item {
	flex: 0 1 auto;
	font-size: 16px;
	width: 250px;
}

.site-header__navigation-item .site-header__navigation-link {
	position: relative;
	display: inline-block;
	cursor: pointer;
	width: 100%;
	padding: 5px;
	line-height: 20px;
	border: 0 none;
	color: var(--text-color);
	text-decoration: none;
	transition: none;
	-o-transition: none;
	-moz-transition: none;
	-webkit-transition: none;
}

.site-header__navigation-item .site-header__navigation-link:hover {
	color: #1DA2BD;
}

.site-header__navigation-item .site-header__navigation-link.active {
	font-weight: 500;
}

/* Navigation submenu styles */
.site-header__navigation-submenu-section {
	position: relative;
}

.site-header__navigation-submenu-section .site-header__down-arrow {
	width: 8px;
	height: 8px;
	margin-left: 2px;
	margin-top: 0;
}

.site-header__navigation-submenu-section .site-header__navigation-link:hover path {
	fill: none;
}

.site-header__navigation-submenu-section .site-header__navigation-submenu .site-header__navigation-submenu-item-link:hover {
	color: #1DA2BD;
}

.site-header__navigation-submenu-section .site-header__navigation-submenu {
	display: none;
	width: 170px;
	background-color: var(--menu-burger-color);
	top: 40px;
	left: 7px;
	/* NOTE: This must match the padding of .site-header__navigation-link */
	padding: 3px 10px 6px 10px;
	z-index: 100;
}

.site-header__navigation-submenu-section .site-header__navigation-submenu .site-header__navigation-submenu-item-link {
	width: 100%;
	color: var(--text-color);
	white-space: nowrap;
	display: inline-block;
	padding-top: 3px;
	border: 0 none;
	transition: none;
	-o-transition: none;
	-moz-transition: none;
	-webkit-transition: none;
}

.site-header__navigation-submenu-section .site-header__navigation-submenu .site-header__navigation-submenu-item-link .site-header__navigation-submenu-item-link-text {
	display: inline-block;
	font-size: 16px;
}

.site-header__navigation-submenu-section.open .site-header__navigation-submenu {
	display: block;
}

/* Top navigation mobile styles */
@media (max-width: 1023px) {
	.site-header__navigation-collapsible--collapse {
		height: 0;
		overflow-y: hidden;
	}

	.site-header__navigation-submenu-section .site-header__navigation-submenu {
		padding: 0 1rem 0.5rem 1.5rem;
		display: block;
		top: 30px !important;
		left: 0 !important;
	}

	.site-header__navigation-item,
	.site-header__navigation-submenu-section .site-header__navigation-submenu .site-header__navigation-submenu-item-link .site-header__navigation-submenu-item-link-text {
		font-size: 18px;
	}

	.site-header {
		padding: 5px 12px;
	}

	.site-header-version {
		display: none;
	}

	.site-footer__navigation {
		flex-direction: column;
	}

	.site-footer__links {
		flex-wrap: wrap;
	}

	.site-footer__link-group {
		margin-bottom: 1rem;
	}
}

/* Top navigation desktop styles */
@media (min-width: 1024px) {
	.site-header {
		-webkit-box-shadow: 0 2px 4px 0 var(--box-shadow-color);
		-moz-box-shadow: 0 2px 4px 0 var(--box-shadow-color);
		box-shadow: 0 2px 4px 0 var(--box-shadow-color);
		z-index: 2;
	}

	body.dark-theme {
		.site-header {
			-webkit-box-shadow: none;
			-moz-box-shadow: none;
			box-shadow: none;
			z-index: 2;
		}
	}

    @media (prefers-color-scheme: dark) {
        .site-header {
            -webkit-box-shadow: none;
            -moz-box-shadow: none;
            box-shadow: none;
            z-index: 2;
        }
        body.light-theme {
        	.site-header {
        		-webkit-box-shadow: 0 2px 4px 0 var(--box-shadow-color);
        		-moz-box-shadow: 0 2px 4px 0 var(--box-shadow-color);
        		box-shadow: 0 2px 4px 0 var(--box-shadow-color);
        		z-index: 2;
        	}
        }
    }

	/*
      Pushes the section headings to just below the top nav bar when a user
      navigates directly to section anchors.
     */
	#content h2[id],
	#content h3[id],
	#content h4[id],
	#content h5[id] {
		padding-top: 60px;
	}

	#content h2[id] {
		/* Little extra room above h2s */
		margin-top: -1em;
	}

	#content h3[id],
	#content h4[id],
	#content h5[id] {
		margin-top: -60px;
	}

	.site-header__navigation {
		flex-direction: row;
	}

	.site-header__navigation-button {
		display: none;
	}

	.site-header__navigation-items {
		flex-direction: row;
		align-items: center;
		float: right;
		width: auto;
		padding-top: 0;
	}

	.site-header__navigation-item {
		width: auto;
	}

	.site-header__navigation-item .site-header__navigation-link {
		padding: 15px 18px;
	}

	.site-header__navigation-item:last-of-type .site-header__navigation-link {
		padding-right: 0;
	}

	.site-header__navigation-link--button {
		padding: 6px 12px;
	}

	.site-header__navigation-collapsible {
		height: auto;
	}

	.site-header__navigation-submenu-section .site-header__navigation-submenu {
		position: absolute;
		border: 1px solid #9a9a9a;
		border-radius: 3px;
	}

	.site-header__navigation-submenu-section:hover .site-header__navigation-submenu {
		display: block;
	}

	/*
      Pushes the section headings to just below the top nav bar when a user
      navigates directly to section anchors. It doesn't work if you try
      to apply the padding and margin to the `h` elements directly.
     */
	.chapter a[name],
	.chapter .anchor {
		padding-top: 60px;
		margin-top: -60px;
		text-decoration: none;
		border: none;
		display: inline-block;
	}
}

/* Side Navigation styles */
/* Docs Navigation */
.docs-navigation {
	border-right: 1px solid var(--various-border-color);
}

.docs-navigation .search-container {
	display: none;
	margin-bottom: 1rem;
}

.docs-navigation a {
	color: var(--text-color);
	display: block;
	font-size: .95rem;
	position: relative;
}

.docs-navigation a:focus {
	outline: none;
}

.docs-navigation a:hover {
	color: #35c1e4;
	text-decoration: none;
}

.docs-navigation a code {
	color: var(--text-color);
	overflow-wrap: break-word;
	padding: 0;
	word-break: break-all;
}

.docs-navigation a.active {
	color: #06A0CE;
	outline: 0;
	border: none;
	-moz-outline-style: none;
}

.docs-navigation a.active:hover {
	color: #35c1e4;
	text-decoration: underline;
}

.docs-navigation ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.docs-navigation li>ul>li a {
	font-size: 14px;
	color: #7d7d7d;
}

.docs-navigation ul:last-of-type {
	margin-bottom: 0;
}

.docs-navigation li {
	margin-top: 0.3334em;
	line-height: 1.3334;
}

.docs-navigation li:last-of-type {
	margin-bottom: 0;
}

.docs-navigation .nav-dropdown:before {
	content: '\2023';
	font-size: 28px;
	position: absolute;
	margin-left: -14px;
	margin-top: -8px;
}

.docs-navigation .nav-dropdown.expanded:before {
	transform: rotate(90deg);
}

.docs-navigation>ul ul,
.docs-navigation>ul ul ul {
	display: none;
	height: 0;
	margin-left: 1rem;
}

.docs-navigation>ul ul:target,
.docs-navigation>ul ul:target ul,
.docs-navigation>ul .nav-dropdown.expanded~ul {
	display: block;
	height: auto;
}

.docs-navigation h3 {
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.5;
	margin: 1.5em 0 0;
}

.docs-navigation .docs-home-link {
	position: relative;
}

@media screen and (min-width: 45rem) {
	.main-content {
		display: flex;
	}
}

/* User guide navigation appears for desktops */
@media screen and (min-width: 64rem) {
	.docs-navigation {
		flex: 0 0 auto;
		width: 13.75rem;
	}

	.main-content>.appendix,
	.main-content>.book,
	.main-content>.chapter {
		flex: 0 0 auto;
		margin: 0 auto;
	}
}

/**
 * For mobile devices, we show navigation at bottom of page.
 *
 * This is the simplest solution to this issue.
 */
@media not screen and (min-width: 64rem) {
	/* Repeat the class twice to prioritize our mobile classes! */

	.content.content {
		/* Make the height equal to
           the real height of content */
		overflow: visible;
	}

	.main-content {
		/* Main content show first */
		flex-direction: column-reverse;
	}

	.docs-navigation.docs-navigation {
		/* Fill the main container */
		width: 100%;

		/* Don't clip the navigation container */
		overflow: visible;
	}
}

/* Userguide Meta */
.chapter-meta {
	float: right;
	text-align: right;
}

.chapter-meta .edit-link {
	color: #999;
	font-size: 0.9em;
	padding-right: 3px;
}

.chapter-meta .edit-link svg {
	margin-right: 1px;
}

/* Clever use of RTL to fill in all stars to left of hover position */
.rating {
	direction: rtl;
}

.rating>.star {
	cursor: pointer;
	display: table-cell;
	padding: 3px;
}

.rating>.star:hover>svg>g,
.rating>.star:hover~.star>svg>g,
.rating>.star.selected>svg>g,
.rating>.star.selected~.star>svg>g {
	fill: #999;
}

/* Footer styles */
.site-footer {}

.site-footer__navigation {
	display: flex;
	padding: 30px 12px;
	max-width: 62.5rem;
	margin: 0 auto;
	padding-left: 5rem;
}

@media not screen and (min-width: 64rem) {
	.site-footer__navigation {
		/* same to nav.docs-navigation for mobiles */
		padding: 20px 20px 20px 26px;
	}
}

.site-footer__links {
	display: flex;
	flex: 1 1 auto;
}

.site-footer__links .site-footer__links-list {
	list-style-type: none;
	margin: 0;
}

.site-footer__links .site-footer__links-list a {
	color: var(--footer-other-text-color);
}

.site-footer__link-group {
	flex: 1 1 auto;
	flex-basis: 175px;
}

.site-footer__link-group header {
	color: var(--text-color);
}

.site-footer__subscribe-newsletter .newsletter-form__header h5 {
	color: var(--text-color);
	margin-top: 0;
}

.site-footer__subscribe-newsletter p {
	font-size: 0.875rem;
	margin: 2px 0 0 2px;
	opacity: 0.7;
}

.site-footer__subscribe-newsletter .disclaimer {
	color: var(--footer-other-text-color);
	font-size: 0.75rem;
	opacity: 0.55;
}

.site-footer__subscribe-newsletter .newsletter-form {
	padding-top: 6px;
	display: flex;
	justify-content: flex-start;
}

.site-footer__subscribe-newsletter .email,
.site-footer__subscribe-newsletter .submit {
	height: 40px;
}

.site-footer__subscribe-newsletter .email {
	line-height: 40px;
	width: 250px;
	color: #1DA2BD;
	font-size: 16px;
	padding-left: 20px;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
	border: 1px solid var(--footer-form-color);
}

.site-footer__subscribe-newsletter .submit {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	width: 100px;
	background-color: #1BA8CB;
	color: #fff;
	font-weight: 500;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	border-style: none;
	cursor: pointer;
	transition: all .3s ease;
}

/* Secondary footer (below) */
.site-footer-secondary {
	background-color: var(--footer-white-color);
	border-top: 1px solid var(--various-border-color);
	width: 100%;
	z-index: 1;
}

body.dark-theme {
	.site-footer-secondary {
		background-color: var(--footer-white-color);
		border-top: none;
		width: 100%;
		z-index: 1;
	}
}

@media (prefers-color-scheme: dark) {
	.site-footer-secondary {
		background-color: var(--footer-white-color);
		border-top: none;
		width: 100%;
		z-index: 1;
	}
	body.light-theme {
        .site-footer-secondary {
            background-color: var(--footer-white-color);
            border-top: 1px solid var(--various-border-color);
            width: 100%;
            z-index: 1;
        }
    }
}

.site-footer-secondary__contents {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 75rem;
	margin-left: auto;
	margin-right: auto;
	font-size: 0.875rem;
	padding: 0.5rem 0.75rem;
}

/*
 * 1. Value is the largest computed width among 'site-footer__copy' and 'site-footer__links'.
 */
.site-footer__copy,
.site-footer__secondary-links {
	flex-grow: 0;
	flex-basis: 280px;
	/* 1. */
}

/*
 * 1. 'flex-shrink: 1' is applied to the element with the smallest computed width among
 *    'site-footer__copy' and 'site-footer__links'.
 */
.site-footer__copy {
	flex-shrink: 1;
	/* 1. */
}

.site-footer__logo {
	flex: 0 0 auto;
	margin-right: 10px;
	margin-left: 10px;
}

.site-footer__logo svg {
	width: 35px;
	height: 35px;
}

/*
 * 1. 'flex-shrink: 0' is applied to the element with the largest computed width among
 *    'site-footer__copy' and 'site-footer__links'.
 */
.site-footer__secondary-links {
	flex-shrink: 0;
	/* 1 */
	text-align: right;
	white-space: nowrap;
}

.site-footer-secondary a {
	color: #999;
}

.site-footer-secondary__links a:not(:last-child) {
	padding-right: 10px;
}

.site-footer-secondary__links a:not(:first-child) {
	padding-left: 10px;
}

@media all and (max-width: 29.99rem) {

	.site-footer__rights,
	.site-footer-secondary__links {
		display: none;
	}

	.site-footer__logo {
		order: 1;
		text-align: left;
	}

	.site-footer__copy {
		order: 2;
		text-align: right;
	}
}

/* Avoid the footer taking up much of the screen on short displays */
@media all and (max-height: 56.25rem) {
	.site-footer__navigation {
		margin: 1.5rem auto 0 auto;
		padding-top: 0;
		padding-bottom: 0;
	}
}

@media screen and (min-width: 84.375rem) {
	.ui-logos .ui-logo {
		box-shadow: 0 6px 15px 1px rgba(0, 0, 0, 0.56);
	}
}

/* User Manual Home */
.technology-logos,
.ui-logos {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
}

.technology-logo,
.ui-logo {
	flex: 0 1 auto;
}

.ui-logo {
	width: 224px;
	height: 135px;
	margin: 12px;
}

/* Samples download button */
.download {
	display: flex;
}

.download a {
	border-style: solid;
	border-width: 1px;
	text-decoration: none;
	padding: 5px;
	display: block;
	width: 10em;
	margin: 5px;
}

.download ul {
	list-style: none;
	list-style-type: none;
}

.download li {
	float: right;
}

.docs-navigation {
	width: 18rem;
	padding: 20px 20px 20px 26px;
	background: var(--nav-color);
	overflow-y: scroll;
	overflow-x: auto;
}

.layout {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: 100vh;
}

.main-content {
	overflow-y: auto;
	overflow-x: auto;
	display: flex;
}

.content {
	flex: 1 1 auto;
	overflow: auto;
	padding-left: 0;
	padding-right: 0;
}

.content .chapter {
	padding: 2rem 2.4rem;
}

#toc a:active {
	font-weight: 500;
}

.site-header {
	margin-bottom: 1rem;
}

.site-header__navigation-submenu-item {
	padding: 2px 0;
}

.site-footer {
	background-color: var(--footer-color);
	padding: 20px 0 40px 0;
	border-top: 1px solid var(--various-border-color);
}

#header {
	margin-left: 0;
}

#header>h1:first-child {
	margin-bottom: 40px;
}

@media screen and (min-width: 64rem) {
	#header {
		margin-bottom: 20px;
	}

	.site-header {
		margin-bottom: 0;
		z-index: 2;
	}

	.site-header__navigation-header {
		margin-top: -7px;
	}

	.site-header__navigation-submenu-section:after {
		content: '\2023';
		font-size: 28px;
		position: absolute;
		transform: rotate(90deg);
		margin-right: 10px;
		top: 5px;
		right: -7px;
	}

	.site-footer__navigation {
		flex-wrap: wrap;
	}

	.site-footer__link-group {
		flex: 1 1 auto;
	}

	.site-footer__links {
		margin-bottom: 1rem;

	}
}

@media screen and (min-width: 75rem) {
	.content .chapter {
		box-sizing: content-box;
	}

	#content {
		padding-right: 260px;
		margin: 0;
	}

	/* #toc here must be referenced as #header #toc
            since we don't want to change single page #toc */
	#header #toc {
		position: fixed;
		margin: 0 auto;
		padding-bottom: 0;
		right: 0;
		top: 65px;
		width: 260px;
		z-index: 1;
		overflow: auto;
		border-radius: 0 0 5px 0;
		max-height: calc(100% - 118px);
		margin-right: 15px;
	}

	#header #toctitle {
		margin-top: 1.3em;
	}

	#header #toc>ul {
		/* margin-left have to increase if you change border thickness of active toc item */
		margin-left: 1px;
		border-left: 1px solid #666;
		margin-bottom: 0;
		padding-right: 10px;
		padding-bottom: 0.5rem;
		background-color: var(--white-color);
	}

	#header #toc>ul>li,
	#toc>ul>li:last-of-type {
		padding: 0.5rem 0;
		margin: 0;
	}

	#header #toc a {
		padding-left: 10px;
		font-weight: 400;
		color: var(--text-color);
		font-size: .95rem;
		display: inline-block;
	}

	#header #toc a.active {
		font-weight: 500;
		border-left: 3px solid #01303a;
		margin-left: -2px;
		padding-left: 9px;
	}

	.site-footer__navigation {
		flex-wrap: wrap;
		margin-left: auto;
		padding-left: 3rem;
	}

	.site-footer__link-group {
		flex: 0.15 1 auto;
	}

	.site-footer__subscribe-newsletter {
		/* A fix so subscribe disclaimer does not go under long ToC */
		max-width: calc(100% - 17rem);
	}
}

@media screen and (min-width: 80rem) {
	.site-footer__subscribe-newsletter {
		max-height: none;
	}
}

@media screen and (min-width: 100rem) {
	.content .chapter {
		max-width: 60.5rem;
	}

	#header {
		margin: 0 auto;
	}

	#content {
		padding-right: 0;
		margin: 0 auto;
	}

	#header #toc {
		right: initial;
		margin-left: 62.5rem;
	}

	.site-footer__navigation {
		padding-left: 0;
	}

	.site-footer__link-group {
		flex: 0.2 1 auto;
	}
}

@media screen and (min-width: 112rem) {
	.content .chapter {
		max-width: 62.5rem;
		margin: 0 auto;
		padding-right: 3.5rem;
		position: relative;
		left: -130px;
	}

	#header #toc {
		right: initial;
		margin-left: 64.5rem;
	}

	.site-footer__link-group {
		flex: 0.2 1 auto;
	}
}


@supports (-moz-appearance:meterbar) and (background-blend-mode:difference, normal) {

	/* Firefox only */
	.site-header__navigation-submenu-section:after {
		top: 2px;
		right: -4px;
	}
}

/* Added dark mode and other items for outdated Prettify.css */
code[data-lang="text"] .pln,
code[data-lang="text"] .str,
code[data-lang="text"] .kwd,
code[data-lang="text"] .com,
code[data-lang="text"] .typ,
code[data-lang="text"] .lit,
code[data-lang="text"] .pun,
code[data-lang="text"] .opn,
code[data-lang="text"] .clo,
code[data-lang="text"] .tag,
code[data-lang="text"] .atn,
code[data-lang="text"] .atv,
code[data-lang="text"] .dec,
code[data-lang="text"] .var,
code[data-lang="text"] .fun {
	color: #000;
}

body.dark-theme {
	code[data-lang="text"] .pln,
	code[data-lang="text"] .str,
	code[data-lang="text"] .kwd,
	code[data-lang="text"] .com,
	code[data-lang="text"] .typ,
	code[data-lang="text"] .lit,
	code[data-lang="text"] .pun,
	code[data-lang="text"] .opn,
	code[data-lang="text"] .clo,
	code[data-lang="text"] .tag,
	code[data-lang="text"] .atn,
	code[data-lang="text"] .atv,
	code[data-lang="text"] .dec,
	code[data-lang="text"] .var,
	code[data-lang="text"] .fun {
		color: #fff !important;
	}

    .com       { color: #909090 !important; }
    .str, .tag { color: #90a959 !important; }
    .kwd, .atv { color: #d28445 !important; }
    .typ       { color: #f4bf75 !important; }
    .lit, .atn { color: #6a9fb5 !important; }
    .pun, .pln,
    .opn, .clo { color: #d0d0d0 !important; }
    .dec, .var { color: #aa759f !important; }

	li.L1,
	li.L3,
	li.L5,
	li.L7,
	li.L9 {
		background: #111 !important;
	}
}

@media (prefers-color-scheme: dark) {
	code[data-lang="text"] .pln,
	code[data-lang="text"] .str,
	code[data-lang="text"] .kwd,
	code[data-lang="text"] .com,
	code[data-lang="text"] .typ,
	code[data-lang="text"] .lit,
	code[data-lang="text"] .pun,
	code[data-lang="text"] .opn,
	code[data-lang="text"] .clo,
	code[data-lang="text"] .tag,
	code[data-lang="text"] .atn,
	code[data-lang="text"] .atv,
	code[data-lang="text"] .dec,
	code[data-lang="text"] .var,
	code[data-lang="text"] .fun {
		color: #fff !important;
	}

    .com       { color: #909090 !important; }
    .str, .tag { color: #90a959 !important; }
    .kwd, .atv { color: #d28445 !important; }
    .typ       { color: #f4bf75 !important; }
    .lit, .atn { color: #6a9fb5 !important; }
    .pun, .pln,
    .opn, .clo { color: #d0d0d0 !important; }
    .dec, .var { color: #aa759f !important; }

	li.L1,
	li.L3,
	li.L5,
	li.L7,
	li.L9 {
		background: #111 !important;
	}

	body.light-theme {
        code[data-lang="text"] .pln,
        code[data-lang="text"] .str,
        code[data-lang="text"] .kwd,
        code[data-lang="text"] .com,
        code[data-lang="text"] .typ,
        code[data-lang="text"] .lit,
        code[data-lang="text"] .pun,
        code[data-lang="text"] .opn,
        code[data-lang="text"] .clo,
        code[data-lang="text"] .tag,
        code[data-lang="text"] .atn,
        code[data-lang="text"] .atv,
        code[data-lang="text"] .dec,
        code[data-lang="text"] .var,
        code[data-lang="text"] .fun {
            color: #000;
        }

        .pln       { color: #000 !important;; }
        .com       { color: #800 !important;; }
        .str, .tag { color: #080 !important;; }
        .kwd, .atv { color: #008 !important;; }
        .typ       { color: #606 !important;; }
        .lit, .atn { color: #066 !important;; }
        .pun,
        .opn, .clo { color: #660 !important;; }
        .dec, .var { color: #606 !important;; }

        li.L1,
        li.L3,
        li.L5,
        li.L7,
        li.L9 {
            background: #eee;
        }
	}
}

/* DPE University button*/
/* CSS */
.badge-wrapper {
    padding-top: 0px;
    padding-bottom: 20px;
    a {
        text-decoration: none;
    }
    a:link {
        text-decoration: none;
    }
    a:visited {
        text-decoration: none;
    }
    a:hover {
        text-decoration: none;
    }
    a:active {
        text-decoration: none;
    }
}

.badge {
    background-color: var(--black-color);
    height: 24px;
    border-radius: 12px;
    border-color: var(--black-color);
    border-style: solid;
    border-width: 1px;
    padding: 5px;
    a {
        color: var(--gradle-blue);
    }
}

.badge-type {
    border-radius: 8px;
    margin-right: 10px;
    padding-left: 10px;
    padding-right: 10px;
}

.badge-text {
    color: var(--white-color);
}

.button--blue {
  color: white;
  border-color: transparent;
  &:hover {
    color: white;
  }
}

.button--blue {
  background: var(--gradle-blue);
  background: linear-gradient(var(--button-gradient-angle), var(--gradle-blue) 0%, var(--gradle-blue-lite) 100%);
  &:hover {
    background: var(--gradle-blue-lite);
  }
}

/* Custom Download button*/
/* CSS */
.button-9 {
	appearance: button;
	backface-visibility: hidden;
	background-color: #209BC4;
	border-radius: 6px;
	border-width: 0;
	box-shadow: rgba(50, 50, 93, .1) 0 0 0 1px inset, rgba(50, 50, 93, .1) 0 2px 5px 0, rgba(0, 0, 0, .07) 0 1px 1px 0;
	box-sizing: border-box;
	color: #fff;
	cursor: pointer;
	font-family: -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Ubuntu, sans-serif;
	font-size: 100%;
	height: 44px;
	line-height: 1.15;
	margin: 12px 12px 12px 0px;
	outline: none;
	overflow: hidden;
	padding: 0 25px;
	position: relative;
	text-align: center;
	text-transform: none;
	transform: translateZ(0);
	transition: all .2s, box-shadow .08s ease-in;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
	width: 25%;
}

.button-9:disabled {
	cursor: default;
}

.button-9:focus {
	box-shadow: rgba(50, 50, 93, .1) 0 0 0 1px inset, rgba(50, 50, 93, .2) 0 6px 15px 0, rgba(0, 0, 0, .1) 0 2px 2px 0, rgba(50, 151, 211, .3) 0 0 0 4px;
}

.button-9-sect {
	padding-bottom: 1.25em;
}

/* Theme toggle switch button */
/* Switch */
.switch {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 34px;
	align-self: center;
}

.switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.slider:before {
	position: absolute;
	content: "";
	height: 26px;
	width: 26px;
	left: 4px;
	bottom: 4px;
	background-color: white;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

input:checked+.slider {
	background-color: #2196f3;
}

input:checked+.slider:before {
	-webkit-transform: translateX(26px);
	-ms-transform: translateX(26px);
	transform: translateX(26px);
}

/* Rounded sliders */
.slider {
	border-radius: 30px;
}

.slider:before {
	border-radius: 50%;
}
