@import url(https://cdn.jsdelivr.net/gh/tonsky/FiraCode@4/distr/fira_code.css);
@import url('https://fonts.googleapis.com/css2?family=Encode+Sans:wght@100;300;400;500;700;900&family=Montserrat:wght@100;300;400;500;700;900&display=swap');

:root {
	--main-accent: #0080ff;
	--lightest-accent: #BFDFFF;
	--lighter-accent: #7FBFFF;
	--light-accent: #3F9FFF;
	--dark-accent: #0061C0;

	--secondary-accent: #ff8800;

	--lighter-background: #4E5B69;
	--light-background2: #374758;
	--light-background: #334455;
	--background: #223344;

	--font-color: white;
	--link-main: #48f;
	--link-hover: #ff32ff;
	--link-active: #00ff80;
}

html, body {
	background-color: var(--background);
	color: var(--font-color);
}

body, table, div, p, dl {
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
}

h1, h2, .title {
	font-family: 'Encode Sans', Arial, Helvetica, sans-serif;
	font-weight: normal;
}

b {
	font-weight: 500;
}

h2, h2.groupheader {
	color: var(--font-color);
	border-bottom-color: var(--dark-accent);
}

h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
	text-shadow: 0 0 32px var(--font-color), 0 0 16px var(--font-color);
}

#titlearea {
	border: none;
}

.sm-dox {
	background-image: none;
	background-color: var(--light-background);
}

#main-nav {
	box-shadow: rgba(0, 0, 0, 0.25) 0 0 8px;
}

#main-nav::after {
	display: block;
	height: 4px;
	content: ' ';
	visibility: visible;

	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ff32ff+0,0080ff+50,00ff80+100 */
	background: #ff32ff; /* Old browsers */
	background: -moz-linear-gradient(left, #ff32ff 0%, #0080ff 50%, #00ff80 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #ff32ff 0%,#0080ff 50%,#00ff80 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #ff32ff 0%,#0080ff 50%,#00ff80 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff32ff', endColorstr='#00ff80',GradientType=1 ); /* IE6-9 */
}

a, .sm-dox a, .sm-dox a:visited, a:visited, .contents a, .contents a:visited {
	transition: ease 0.2s all;
	color: var(--link-main);
	text-shadow: none;
}

a:hover, .sm-dox a:hover, .sm-dox a:hover, a:hover, .contents a:hover, .contents a:hover {
	color: var(--link-hover);
	text-decoration: none;
	text-shadow: none;
}

a:active, .sm-dox a:active, .sm-dox a:active, a:active, .contents a:active, .contents a:active {
	color: var(--link-active);
	text-decoration: none;
	text-shadow: none;
}

.sm-dox a, .sm-dox a:hover, .sm-dox a:active {
	font-family: inherit;
	font-weight: 500;
}

.sm-dox a.highlighted {
	color: var(--link-hover);
}

@media (min-width: 768px) {
	
	.sm-dox ul {
		background-color: var(--light-background);
		border: none;
		box-shadow: rgba(0, 0, 0, 0.25) 0 0 8px;
	}

	.sm-dox ul a.highlighted {
		color: var(--link-hover);
	}
	
	.sm-dox ul a, .sm-dox ul a:focus {
		background-image: none;
		background-color: initial;
		color: var(--link-main);
		text-shadow: none;
		font-weight: 500;
	}

	.sm-dox ul a:hover {
		background-image: none;
		background-color: initial;
		color: var(--link-hover);
		text-shadow: none;
		font-weight: 500;
	}

	.sm-dox ul a:active {
		background-image: none;
		background-color: initial;
		color: var(--link-active);
		text-shadow: none;
		font-weight: 500;
	}

	.sm-dox>li>ul:before,.sm-dox>li>ul:after {
		content: '';
		position: absolute;
		top: -18px;
		left: 30px;
		width: 0;
		height: 0;
		overflow: hidden;
		border-width: 9px;
		border-style: dashed dashed solid dashed;
		border-color: transparent transparent var(--light-background) transparent
}
	
	.sm-dox a span.sub-arrow {
		border-top-color: var(--link-main);
	}

	.sm-dox a:hover span.sub-arrow {
		border-top-color: var(--link-hover);
	}

	.sm-dox a:active span.sub-arrow {
		border-top-color: var(--link-active);
	}

	.sm-dox a, .sm-dox a:focus, .sm-dox a:active, .sm-dox a:hover, .sm-dox a.highlighted {
		background-image: none;
	}
}

.arrow {
	color: var(--link-main);
	transition: ease 0.2s all;
}

.arrow:hover {
	color: var(--link-hover);
}

.arrow:active {
	color: var(--link-active);
}

.icon {
	background-color: var(--dark-accent);
}

hr {
	border-top-color: var(--main-accent);
}

.ui-resizable-e {
	background-image: none;
	background-color: var(--light-background);
	box-shadow: rgba(0, 0, 0, 0.25) 0 0 8px;
}

#projectname, #projectbrief {
	font-family: 'Encode Sans', Arial, Helvetica, sans-serif;
	font-weight: 300;
}

#projectbrief {
	font-variant: small-caps;
	letter-spacing: 4px;
}

#projectlogo img {
	width: 100px;
}

div.header {
	background: none;
	border-bottom-color: var(--main-accent);
}

div.qindex, div.navtab {
	background-color: var(--light-background);
	border: none;
	box-shadow: rgba(0, 0, 0, 0.25) 0 0 8px;
	height: 2em;
	line-height: 2em;
}

table.classindex td {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100px;
}

div.ah {
	background-image: none;
	background-color: transparent;
	border: none;
	font-size: 1.5em;
	font-weight: 500;
	color: var(--font-color);
	text-transform: capitalize;
	box-shadow: none;
	border-radius: unset;
}

/* -------- Enums -------- */

table.fieldtable {
	border-color: var(--light-background);
	border-radius: unset;
	box-shadow: unset;
}

table.fieldtable th {
	background-image: none;
	background-color: var(--light-background);
	border: none;
	border-radius: unset;
	color: var(--font-color);
	box-shadow: rgba(0, 0, 0, 0.25) 0 0 8px;
}

table.fieldtable td.fieldtype, table.fieldtable td.fieldname {
	border-right-color: var(--light-background);
	border-bottom-color: var(--light-background);
}

table.fieldtable td.fielddoc {
	border-bottom-color: var(--light-background);
}

.memSeparator {
	border-bottom-color: var(--light-background);
}

.mdescLeft, .mdescRight {
	color: var(--lighter-background);
}

.paramname {
	color: var(--font-color);
	text-shadow: none;
}

.memtitle {
	background-image: none;
	background-color: var(--light-background);
	border: none;
	border-radius: unset;
}

.memproto, dl.reflist dt {
	background-color: var(--light-background);
	border: none;
	border-radius: unset;
	color: inherit;
	box-shadow: rgba(0, 0, 0, 0.25) 0 0 8px;
}

.memdoc, dl.reflist dd {
	background-color: var(--background);
	border-color: var(--light-background);
	box-shadow: none;
}

code, .memItemLeft, .memItemRight, a.el, .memname, .paramname, .memtitle, .contents div.fragment .line {
	font-family: 'Fira Code', 'Consolas', 'Courier New', Courier, monospace;
	font-variant-ligatures: normal;
	font-feature-settings: "calt";
	font-weight: 400;
}

div.fragment {
	background-color: var(--light-background);
	border: none;
	box-shadow: rgba(0, 0, 0, 0.25) 0 0 8px;
}

div.fragment .line span {
	height: 1.5em;
	line-height: 1.5em;
}

div.fragment .line:nth-child(even) {
	background-color: var(--light-background2);
}

div.fragment span.lineno {
	background-color: unset;
	border-right-color: var(--lighter-background);
}

div.fragment span.lineno a {
	background-color: unset;
}

div.fragment span.keyword {
	color: var(--secondary-accent);
}

#nav-tree {
	background-image: none;
}

#nav-tree, #doc-content {
	background-color: var(--background);
}

#nav-tree .label {
	font-family: inherit;
}

.mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams {
	background-color: transparent;
}

#nav-tree .selected {
	background-image: none;
	background-color: var(--dark-accent);
	text-shadow: none;
}

#nav-tree .selected a {
	color: var(--lightest-accent);
}

table.memberdecls td.memItemLeft, table.memberdecls td.memItemRight {
	font-size: 12px;
}

.directory tr.even {
	background-color: var(--light-background);
}

#nav-path {
	box-shadow: rgba(0, 0, 0, 0.25) 0 0 8px;
}

#nav-path ul::before {
	display: block;
	height: 4px;
	width: 100%;
	content: ' ';
	visibility: visible;
	
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ff32ff+0,0080ff+50,00ff80+100 */
	background: #ff32ff; /* Old browsers */
	background: -moz-linear-gradient(left, #ff32ff 0%, #0080ff 50%, #00ff80 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #ff32ff 0%,#0080ff 50%,#00ff80 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #ff32ff 0%,#0080ff 50%,#00ff80 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff32ff', endColorstr='#00ff80',GradientType=1 ); /* IE6-9 */
}

#nav-path ul {
	background-image: none;
	background-color: var(--light-background);
	border: none;
}

#nav-path li.navelem {
	color: var(--font-color);
}

#nav-path li.navelem a {
	text-shadow: none;
	color: var(--link-main);
}

#nav-path li.navelem a:hover {
	color: var(--link-hover);
}

#nav-path li.navelem a:active {
	color: var(--link-active);
}

#nav-path li.footer {
	color: var(--font-color);
}

/* -------- Search dialog -------- */

#MSearchResultsWindow {
	background-color: var(--light-background);
	border: none;
	box-shadow: rgba(0, 0, 0, 0.25) 0 0 8px;
}

a.SRSymbol {
	color: var(--link-main);
	transition: ease 0.2s all;
}

a.SRSymbol:hover {
	color: var(--link-hover);
	text-decoration: none;
}

a.SRSymbol:active {
	color: var(--link-active);
	text-decoration: none;
}