@keyframes showThat {
	0% {
		opacity: 0;
		visibility: hidden
	}

	1% {
		opacity: 0;
		visibility: visible
	}

	to {
		opacity: 1;
		visibility: visible
	}
}

@keyframes hideThat {
	0% {
		opacity: 1;
		visibility: visible
	}

	99% {
		opacity: 0;
		visibility: visible
	}

	to {
		opacity: 0;
		visibility: hidden
	}
}

::-webkit-scrollbar {
	width: 10px
}

::-webkit-scrollbar-track {
	background: var(--scrollbar-bg-color)
}

::-webkit-scrollbar-thumb {
	background: var(--scrollbar-thumb-bg-color);
	border-color: var(--scrollbar-thumb-border-color);
	border-radius: 5px
}

::marker {
	unicode-bidi: isolate;
	font-variant-numeric: tabular-nums;
	text-transform: none;
	text-indent: 0 !important;
	text-align: start !important;
	text-align-last: start !important
}

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

body, html {
	padding: 0;
	margin: 0;
	font: 15px/150% "Roboto", sans-serif;
	color: var(--text-color);
	background-color: var(--main-bg-color)
}

img {
	max-width: 100%
}

ol > li, ul > li {
	display: list-item
}


h1, h2, h3, h4, h5 {
	position: relative;
	line-height: initial;
}

h1 {
	font-size: 2.25em;
	color: var(--h1-color);
	margin-block-start: 1em;
}

h1, h2 {
	margin-block-start: 2em
}

h2 {
	font-size: 1.9em;
	color: var(--h2-color)
}

.article h2 {
	margin-block-start: 1.3em;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--separator-color)
}

h3 {
	color: var(--h3-color);
	font-size: 1.7em;
	font-weight: 500;
	margin-block-start: 1.7em
}

.article h3 {
	margin-block-start: 1.2em;
	margin-block-end: .9em
}

h4 {
	color: var(--h4-color);
	border-bottom: 2px solid var(--separator-color);
	margin: 0;

	font-size: 1.7em;
	font-weight: 400;
	margin-block-start: 1.5em;
	padding-bottom: 10px
}

.article h4 {
	font-size: 1.5em;
	font-weight: 300;
	margin-block-start: 1em;
	margin-block-end: 1em;
	padding-bottom: 0;
	border-bottom: none
}

h5 {
	margin-block-end: .8em;
	margin-block-start: 1em;
	font-weight: 500;
	color: var(--h5-color);
	font-size: 1.1em
}

.article h5 {
	font-size: 1.13em;
	margin-block-start: 1.5em;
	margin-block-end: 1em
}

h6 {
	font-size: .75em;
	margin: 0
}

p {
	font-weight: 400
}

ul {
	position: relative
}

ol, ul {
	padding-inline-start: 2.5em
}

ul span.term {
	font-weight: bold;
}

ul span.term:after {
	content: ' - ';
}

ul.level1 {
	list-style-type: none;
	padding-inline-start: 0
}

ul.level2, ul.level3 {
	list-style-type: none;
	font-size: .9em
}

a {
	color: var(--link-color);
	text-decoration: none;
	transition: color .25s
}

a:focus, a:hover {
	color: var(--link-hover-color);
	text-decoration: underline;
}

a.anchorjs-link:hover {
	text-decoration: none;
}

a.active, a:active {
	color: var(--link-active-color);
}

.body-content {
	display: flex;
	flex-direction: row;
	height: 100%;
	overflow-x: hidden;
	overflow-y: hidden;
}

.footer > h4, .page-title {
	margin-block-start: 0;
}

nav {
	transition: left .5s ease-out;
	position: fixed;
	left: -350px;
	top: 40px;
	bottom: 0;
	background-color: var(--sidebar-bg-color);
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	z-index: 1000;
}

h1:first-child {
	margin-top: 1.1em;
}

.sidebar {
	flex: 1;
}

.sidebar-item {
	font-size: 1em;
	font-weight: 400;
	display: block;
	padding: 4px 16px;
	color: var(--sidebar-item-color);
}

#navbar .sidebar-item, .sidebar-item.large {
	padding: 8px 16px;
}

a.sidebar-item:focus, a.sidebar-item:hover {
	color: var(--link-active-color);
	text-decoration: none;
}

a.sidebar-item.active {
	color: var(--link-active-color);
}

ul.level1 > li > a.sidebar-item {
	background-color: transparent;
	border-radius: 4px;
}

#toc ul.level1 > li > a.sidebar-item.active {
	background-color: var(--link-active-bg-color);
}

.sidebar-item-separator {
	height: 2px;
	width: 100%;
	background-color: var(--separator-color);
	opacity: .8;
}

span.sidebar-item {
	font-weight: 700;
	text-transform: uppercase;
	font-size: .8em;
	color: var(--text-color);
	margin-block-start: 1.25em;
}

.main-panel {
	background-color: var(--main-bg-color);
	flex: 1;
	overflow-x: hidden;
}

.top-navbar {
	display: flex;
	flex-direction: row;
	align-items: center;
	background-color: var(--topbar-bg-color);
}

.burger-icon {
	color: var(--button-color);
}

.burger-icon:focus, .burger-icon:hover {
	color: var(--link-active-color);
}

.burger-icon.active, .burger-icon:active {
	color: var(--link-active-color);
}

.brand {
	display: flex;
	align-items: center;
	justify-content: start;
}

.logomark {
	height: 28px;
}

.brand-title {
	padding: 0 .5em;
	font-size: .9em;
	color: var(--link-active-color);
}

.blackout, .footer {
	background-color: var(--footer-bg-color);
}

.footer {
	margin: 0 20px 20px;
	border-radius: 8px;
}

.blackout {
	display: block;
	visibility: hidden;
	position: absolute;
	z-index: 100;
	bottom: 0;
	left: 0;
	right: 0;
}

.showThat {
	animation: showThat .5s forwards;
}

.hideThat {
	animation: hideThat .5s forwards;
}

@media (min-width: 1024px) {
	nav {
		position: fixed;
		left: 0 !important;
		top: 0;
		bottom: 0;
	}

	.blackout, .top-navbar {
		display: none;
	}
}

.table-responsive {
	overflow-x: auto;
}

table {
	background-color: var(--code-bg-color);
	border-collapse: collapse;
	width: 100%;
	table-layout: auto;
}

table.table-striped tbody tr:nth-child(2n) {
	background-color: var(--table-strip-bg-color)
}

table thead {
	background: var(--table-header-bg-color)
}

table th {
	color: var(--table-header-color);
	text-transform: uppercase;
	line-height: 15px;
	border-bottom: 1px solid var(--table-header-border-color);
	font-size: 14px;
	padding: 9px 10px;
}

.table-condensed th {
	text-align: left;
}

table td {
	padding: 6px 10px;
	font-weight: 300;
}

.mainContainer[dir=rtl] main ul[role=tablist], table td > p {
	margin: 0;
}

blockquote {
	margin: 8px 0;
	border-left: 4px solid var(--blockquote-border-color);
	background: var(--blockquote-bg-color)
}

blockquote > p {
	font-style: italic
}

.alert > p, blockquote > p {
	margin: 0;
	font-size: 16px
}

.alert, blockquote {
	border-radius: 4px;
	padding: 12px;
	margin: 25px 0;
}

.alert.alert > h5 {
	position: relative;
	margin: 0 0 10px;
	padding: 0 0 0 25px;
	min-height: 22px;
	font-size: 17px;
	font-weight: 700;
	line-height: 22px;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	border: 0
}

.alert.alert > h5::before {
	position: absolute;
	left: 0;
	top: 0;
	display: inline-block;
	font-size: 18px;
	font-family: bootstrap-icons !important;
	font-style: normal;
	font-weight: 400 !important;
	font-variant: normal;
	text-transform: none;
	line-height: 22px;
	vertical-align: top;
	text-decoration: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}

.alert code {
	color: var(--text-color);
}

.alert.alert-info {
	border: 2px solid var(--alert-info-border-color);
	background: var(--alert-info-bg-color);
	color: var(--alert-info-text-color)
}

.alert.alert-warning {
	border: 2px solid var(--alert-warning-border-color);
	background: var(--alert-warning-bg-color);
	color: var(--alert-warning-text-color)
}

.alert.alert-danger {
	border: 2px solid var(--alert-danger-border-color);
	background: var(--alert-danger-bg-color);
	color: var(--alert-danger-text-color)
}

.alert.alert-info > h5 {
	color: var(--alert-info-title-color)
}

.alert.alert-info > h5::before {
	content: "\f431"
}

.alert.alert-warning > h5 {
	color: var(--alert-warning-title-color)
}

.alert.alert-warning > h5::before {
	content: "\f33b"
}

.alert.alert-danger > h5 {
	color: var(--alert-danger-title-color)
}

.alert.alert-danger > h5::before {
	content: "\f623"
}

/* TIP and IMPORTANT overrides (inherit alert-info and alert-danger by default, respectively) */

.TIP.alert.alert-info {
	border-color: var(--alert-info-TIP-border-color-override);
	background: var(--alert-info-TIP-bg-color-override);
	color: var(--alert-info-TIP-text-color-override)
}

.TIP.alert.alert-info > h5 {
	color: var(--alert-info-TIP-title-color-override)
}

.TIP.alert.alert-info > h5::before {
	content: "\f46b"
}

.IMPORTANT.alert.alert-danger {
	border-color: var(--alert-danger-IMPORTANT-border-color-override);
	background: var(--alert-danger-IMPORTANT-bg-color-override);
	color: var(--alert-danger-IMPORTANT-text-color-override)
}

.IMPORTANT.alert.alert-danger > h5 {
	color: var(--alert-danger-IMPORTANT-title-color-override)
}

.IMPORTANT.alert.alert-danger > h5::before {
	content: "\f530"
}

#breadcrumb {
	padding: 8px 16px;
	background: var(--breadcrumb-bg-color);
	border-radius: 4px;
	overflow: scroll;
	margin-bottom: 0
}

#breadcrumb:empty {
	display: none
}

ul.breadcrumb {
	display: flex;
	flex-direction: row;
	margin: 0
}

ul.breadcrumb > li {
	margin-right: 6px
}

ul.breadcrumb > li::before {
	content: "/";
	margin-right: 5px
}

ul.breadcrumb > li:first-child::before {
	content: "";
	margin: 0
}

legend, pre {
	display: block;
	background-color: var(--code-bg-color);
	border-radius: 4px;
	padding: 6px
}

.hljs {
	background: 0 0
}

.small {
	font-size: .9em
}

.pull-right {
	float: right
}

#breadcrumb wbr, .hide, .sidetoc li > ul, ul.level1 > li > .expand-stub {
	display: none
}

@media (max-width: 1023.98px) {
	.mobile-hide {
		display: none
	}
}

li {
	position: relative
}

.expand-stub {
	cursor: pointer;
	position: absolute;
	width: 20px;
	height: 20px;
	left: -10px
}

.toc .nav > li.active > .expand-stub::before, .toc .nav > li > .expand-stub::before {
	content: " ";
	position: absolute;
	transform: rotate(-90deg);
	background-repeat: no-repeat;
	background: url(down-arrow.svg)
}

.toc .nav > li.active > .expand-stub::before, .toc .nav > li.filtered > .expand-stub::before, .toc .nav > li.in.active > .expand-stub::before, .toc .nav > li.in > .expand-stub::before {
	transform: none
}

li, li.in > ul {
	display: block
}

ul.level2 > li > a.sidebar-item {
	font-size: .95em;
	padding: 0
}

ul.level3 > li > a.sidebar-item {
	padding: 0
}

ul.level2 > li > a.sidebar-item:focus, ul.level2 > li > a.sidebar-item:hover, ul.level3 > li > a.sidebar-item:focus, ul.level3 > li > a.sidebar-item:hover {
	color: var(--link-active-color);
	text-decoration: underline
}

ul.level2 > li > a.sidebar-item.active, ul.level3 > li > a.sidebar-item.active {
	color: var(--link-active-color)
}

.inheritance div {
	display: inline-block;
}

.inheritance div:not(:last-child):after {
	content: " → ";
}

body {
	font-size: var(--base-font-size)
}

@media (max-width: 1024px) {
	body {
		font-size: var(--smalldevice-base-font-size)
	}
}

a.brand:hover {
	text-decoration: none
}

a.brand .brand-title {
	font-size: 1.4em;
	font-weight: 500;
	letter-spacing: .5px;
	color: var(--appname-color);
	margin-top: 1px;
	padding: 0 0 0 .4em
}

@media (min-width: 1024px) {
	a.brand .brand-title {
		font-size: 1.55em
	}
}

a.brand .logomark {
	height: 35px
}

.top-navbar {
	height: 60px;
	padding: 0 0 0 10px
}

.burger-icon {
	margin-right: 10px
}

.sidebar {
	padding: 25px 17px 32px
}

.blackout {
	top: 60px
}

@media (max-width: 1023.98px) {
	.navbar-nav {
		margin-top: 0
	}
}

nav {
	width: 94%;
	max-width: var(--sidebar-width);
	left: calc(var(--sidebar-width) * -1)
}

@media (max-width: 1023.98px) {
	nav {
		top: 60px
	}
}

nav ul {
	list-style-type: none
}

nav .nav a, nav .nav a:hover {
	text-decoration: none;
	cursor: pointer;
	display: block
}

nav a.sidebar-item {
	padding: 4px 0 4px 10px;
	cursor: pointer
}

.footer a:focus, .footer a:hover, nav a.sidebar-item:focus, nav a.sidebar-item:hover, nav a:focus {
	text-decoration: underline
}

nav a, nav a:focus, nav a:hover {
	color: var(--sidebar-item-color) !important
}

nav a.active, nav a.active:focus, nav a.active:hover {
	color: var(--sidebar-active-item-color) !important
}

.sidebar-item-separator {
	margin: 20px 0
}

#toc ul li a {
	padding: 0 0 0 10px
}

.sidesearch {
	flex: 1;
	min-width: 0;
	order: 1;
}

.search {
	background: var(--search-bg-color);
	border: 1px solid var(--search-border-color);
	border-radius: 5px;
	position: relative;
}

.search > input {
	font-size: .95em;
	color: var(--search-color);
	border: 0;
	background: 0 0;
	padding: 11px 30px 10px 37px;
	width: 100%
}

.search > input:focus, .toc-filter > input:focus {
	outline: 0
}

.search > .search-icon, .toc-filter > .filter-icon {
	font-size: 1.2em;
	color: var(--search-searchicon-color);
	position: absolute;
	top: 9px;
	left: 9px
}

.search-and-theme-container {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-block-start: 25px;
}

@media (max-width: 1023.98px) {
	.search-and-theme-container {
		margin-block-start: 0;
		margin-block-end: 15px;
	}
}

.theme-toggle-container {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	order: 2;
}

.theme-toggle-btn {
	background: transparent;
	border: 1px solid var(--separator-color);
	border-radius: 20px;
	padding: 8px 12px;
	cursor: pointer;
	color: var(--button-color);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: all 0.3s ease;
	font-size: 1.1em;
}

.theme-toggle-btn:hover {
	color: var(--link-hover-color);
	border-color: var(--link-hover-color);
	transform: scale(1.05);
}

.theme-toggle-btn .theme-icon-light {
	display: none;
}

.theme-toggle-btn .theme-icon-dark {
	display: inline-block;
}

[data-theme='light'] .theme-toggle-btn .theme-icon-light {
	display: inline-block;
}

[data-theme='light'] .theme-toggle-btn .theme-icon-dark {
	display: none;
}

.theme-toggle-label::after {
	content: "Dark Mode";
}

[data-theme='light'] .theme-toggle-label::after {
	content: "Light Mode";
}

.theme-toggle-label {
	color: var(--sidebar-item-color);
	font-size: .9em;
	line-height: 1;
}

.toc-filter {
	background: var(--toc-filter-bg-color);
	border: 1px solid var(--toc-filter-border-color);
	border-radius: 5px;
	position: relative
}

.toc-filter > input {
	font-size: .95em;
	color: var(--toc-filter-color);
	border: 0;
	background: 0 0;
	padding: 11px 30px 10px 37px;
	width: 100%
}

.toc-filter > .filter-icon {
	color: var(--toc-filter-filtericon-color)
}

.toc-filter > .clear-icon {
	color: var(--toc-filter-clearicon-color);
	position: absolute;
	top: 9px;
	right: 9px;
	cursor: pointer
}

.toc .nav > li.active > .expand-stub::before, .toc .nav > li > .expand-stub::before {
	width: 8px;
	height: 8px;
	top: 6px;
	left: 6px
}

#toc ul.level2 {
	margin-bottom: 20px
}

#toc ul.level1 > li > a {
	font-weight: 500;
	margin-bottom: 10px;
	padding: 5px 10px
}

#toc ul.level1 > li > a, #toc ul.level1 > li > a.active {
	background-color: var(--sidebar-level1-item-bg-color) !important;
	border-radius: 2px
}

#toc ul.level1 > li > a.active:focus, #toc ul.level1 > li > a.active:hover, #toc ul.level1 > li > a:focus, #toc ul.level1 > li > a:hover {
	background-color: var(--sidebar-level1-item-hover-bg-color) !important;
	text-decoration: none
}

ul.level2 {
	padding-inline-start: .7em
}

ul.level2 .expand-stub {
	top: 1px
}

ul.level2 > li > a, ul.level2 > li > a.sidebar-item {
	font-weight: 400;
	color: var(--sidebar-item-color);
	margin: 4px 0
}

ul.level3 {
	padding-inline-start: 1em
}

ul.level3 > li > a, ul.level3 > li > a.sidebar-item, ul.level4 > li > a, ul.level4 > li > a.sidebar-item {
	font-size: 1.05em;
	color: var(--sidebar-item-color);
	margin: 4px 0
}

ul.level4 {
	padding-inline-start: 0;
	margin-bottom: 12px
}

ul.level4 > li > a, ul.level4 > li > a.sidebar-item {
	margin: 5px 0 5px 10px
}

.subnav.navbar {
	margin: 0 -15px
}

#breadcrumb::-webkit-scrollbar {
	display: none
}

#breadcrumb a {
	white-space: nowrap
}

#search-results h1 {
	margin-block-start: .5em
}

#search-results .item-title {
	font-size: 1.3em;
	margin-top: 1.5em
}

#search-results .item-href {
	font-size: .85em
}

#search-results .item-brief {
	margin-top: .7em
}

#search-results ul.pagination {
	text-align: center;
	padding: 10px 0 0;
	margin-block-start: 40px;
	border-top: 1px solid var(--separator-color)
}

#search-results ul.pagination > li {
	display: inline-block;
	margin: 0 10px
}

#search-results ul.pagination > li.disabled a, #search-results ul.pagination > li.disabled a:hover {
	color: var(--text-color);
	cursor: txt;
	text-decoration: none
}

.main-panel {
	margin-bottom: 60px;
	padding: 20px
}

@media (min-width: 1024px) {
	.main-panel {
		margin-bottom: 0;
		margin-left: var(--sidebar-width);
		padding: 20px 40px
	}
}

.pull-right {
	margin-top: 70px;
	position: relative;
	z-index: 1
}

.divider {
	margin-left: 4px
}

article ol li, article ul li {
	margin-bottom: 10px
}

.hljs {
	color: var(--code-color)
}

.hljs::-webkit-scrollbar {
	height: 6px
}

.hljs-built_in, .hljs-keyword, .hljs-title {
	font-style: normal
}

code {
	color: var(--ref-color);
}

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

code, p .xref, .article .xref, span.parametername {
	font-family: monospace
}

code, p .xref, .article .xref {
	background-color: var(--ref-bg-color);
	padding: 2px 3px;
	font-size: .95em;
	border-radius: 6px
}

.table {
	width: auto
}

.table-responsive {
	margin-bottom: 0
}

table td p {
	font-weight: 300
}

.footer {
	text-align: center;
	color: var(--text-color);
	padding: 10px
}

.copyright-footer {
	font-size: .85em;
	font-weight: 700;
	text-align: center;
	margin-block-start: 30px
}

.contribution {
	float: right;
	margin-top: 1.1em;
	position: relative;
	z-index: 999
}

.tabGroup {
	margin-top: 1rem;
	margin-bottom: 1rem
}

.tabGroup ul[role=tablist] {
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color)
}

.tabGroup ul[role=tablist] > li {
	list-style: none;
	display: inline-block;
	margin-bottom: 0
}

.tabGroup ul[role=tablist] .dropdown-menu {
	margin-top: calc(-1 * var(--nav-tabs-border-width));
	border-top-left-radius: 0;
	border-top-right-radius: 0
}

.tabGroup a[role=tab] {
	display: block;
	text-decoration: none;
	padding: .5rem 1rem;
	margin-bottom: calc(-1 * var(--nav-tabs-border-width));
	border: var(--nav-tabs-border-width) solid transparent;
	border-top-left-radius: var(--nav-tabs-border-radius);
	border-top-right-radius: var(--nav-tabs-border-radius)
}

.tabGroup a[role=tab]:focus, .tabGroup a[role=tab]:hover {
	isolation: isolate;
	border-color: var(--nav-tabs-link-hover-border-color)
}

.tabGroup a[role=tab][aria-selected=true] {
	color: var(--nav-tabs-link-active-color);
	background-color: var(--nav-tabs-link-active-bg);
	border-color: var(--nav-tabs-link-active-border-color)
}

.tabGroup a[role=tab]:disabled {
	color: var(--nav-link-disabled-color);
	background-color: transparent;
	border-color: transparent
}

.tabGroup section[role=tabpanel] {
	padding: 15px;
	margin: 0;
	overflow: hidden;
	border: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);
	border-top: none;
	border-bottom-left-radius: var(--nav-tabs-border-radius);
	border-bottom-right-radius: var(--nav-tabs-border-radius)
}

.tabGroup section[role=tabpanel] > .codeHeader, .tabGroup section[role=tabpanel] > pre {
	margin-left: -16px;
	margin-right: -16px
}

.tabGroup section[role=tabpanel] > :first-child {
	margin-top: 0
}

.tabGroup section[role=tabpanel] > pre:last-child {
	display: block;
	margin-bottom: -16px
}

.tabGroup > section {
	margin: 0;
	padding: 1rem;
	border-top: 0;
	border-top-left-radius: 0;
	border-top-right-radius: 0
}
