@media (prefers-color-scheme: light) {
	:root {
		--error: #b81e1e;
		--notice: #1e75b8;
		--success: #1eb828;
		--warning: #df9320;
		--gold: #f3b712;

		--mix-cl: white;

		--text-50: #f0f5f5;
		--text-100: #e0ebeb;
		--text-200: #c2d6d6;
		--text-300: #a3c2c2;
		--text-400: #85adad;
		--text-500: #669999;
		--text-600: #527a7a;
		--text-700: #3d5c5c;
		--text-800: #293d3d;
		--text-900: #141f1f;
		--text-950: #0a0f0f;

		--background-50: #f2f2f2;
		--background-100: #e6e6e6;
		--background-200: #cccccc;
		--background-300: #b3b3b3;
		--background-400: #999999;
		--background-500: #808080;
		--background-600: #666666;
		--background-700: #4d4d4d;
		--background-800: #333333;
		--background-900: #1a1a1a;
		--background-950: #0d0d0d;

		--primary-50: #edf5f8;
		--primary-100: #dbeaf0;
		--primary-200: #b7d6e1;
		--primary-300: #92c1d3;
		--primary-400: #6eadc4;
		--primary-500: #4a98b5;
		--primary-600: #3b7a91;
		--primary-700: #2c5b6d;
		--primary-800: #1e3d48;
		--primary-900: #0f1e24;
		--primary-950: #070f12;

		--secondary-50: #ecf5f9;
		--secondary-100: #d8ecf3;
		--secondary-200: #b1d8e7;
		--secondary-300: #8bc5da;
		--secondary-400: #64b2ce;
		--secondary-500: #3d9ec2;
		--secondary-600: #317f9b;
		--secondary-700: #255f74;
		--secondary-800: #183f4e;
		--secondary-900: #0c2027;
		--secondary-950: #061013;

		--accent-50: #ebf6fa;
		--accent-100: #d6edf5;
		--accent-200: #addaeb;
		--accent-300: #85c8e0;
		--accent-400: #5cb6d6;
		--accent-500: #33a3cc;
		--accent-600: #2983a3;
		--accent-700: #1f627a;
		--accent-800: #144152;
		--accent-900: #0a2129;
		--accent-950: #051014;

	}
}
@media (prefers-color-scheme: dark) {
	:root {
		--error: #e14848;
		--notice: #479ee1;
		--success: #47e151;
		--warning: #df9321;
		--gold: #dfbc21;

		--mix-cl: black;

		--text-50: #0a0f0f;
		--text-100: #141d1f;
		--text-200: #283a3e;
		--text-300: #3c575d;
		--text-400: #51747b;
		--text-500: #65919a;
		--text-600: #84a7ae;
		--text-700: #a2bdc3;
		--text-800: #c1d3d7;
		--text-900: #e0e9eb;
		--text-950: #f0f4f5;

		--background-50: #0d0d0d;
		--background-100: #1a1a1a;
		--background-200: #333333;
		--background-300: #4d4d4d;
		--background-400: #666666;
		--background-500: #808080;
		--background-600: #999999;
		--background-700: #b3b3b3;
		--background-800: #cccccc;
		--background-900: #e6e6e6;
		--background-950: #f2f2f2;

		--primary-50: #070f12;
		--primary-100: #0f1e24;
		--primary-200: #1e3d48;
		--primary-300: #2c5b6d;
		--primary-400: #3b7a91;
		--primary-500: #4a98b5;
		--primary-600: #6eadc4;
		--primary-700: #92c1d3;
		--primary-800: #b7d6e1;
		--primary-900: #dbeaf0;
		--primary-950: #edf5f8;

		--secondary-50: #061013;
		--secondary-100: #0c2027;
		--secondary-200: #193f4d;
		--secondary-300: #255f74;
		--secondary-400: #327e9a;
		--secondary-500: #3e9ec1;
		--secondary-600: #65b1cd;
		--secondary-700: #8bc5da;
		--secondary-800: #b2d8e6;
		--secondary-900: #d8ecf3;
		--secondary-950: #ecf5f9;

		--accent-50: #051014;
		--accent-100: #0a2129;
		--accent-200: #144152;
		--accent-300: #1f627a;
		--accent-400: #2983a3;
		--accent-500: #33a3cc;
		--accent-600: #5cb6d6;
		--accent-700: #85c8e0;
		--accent-800: #addaeb;
		--accent-900: #d6edf5;
		--accent-950: #ebf6fa;
	}
}

body {
	background-color: var(--background-50);
}

.text-regular,
p,
label, li, input[type=file], button {
	font-family: "Fira Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: var(--text-700);
}

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

a {
	font-family: "Fira Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: var(--secondary-500);
	text-decoration: underline;
	transition-duration: 0.25s;
}

a:hover {
	color: var(--secondary-700);
	transition-duration: 0.25s;
}

h1 {
	font-family: "Fira Sans", sans-serif;
	font-weight: bold;
	font-style: normal;
	color: var(--text-950);
}

h2 {
	font-family: "Fira Sans", sans-serif;
	font-weight: 600;
	font-style: normal;
	text-decoration: underline;
	text-decoration-thickness: inherit;
	color: var(--text-900);
}

h3 {
	font-family: "Fira Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: var(--text-900);
}

h4 {
	font-family: "Fira Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: var(--text-800);
}

h5 {
	font-family: "Fira Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: var(--text-800);
}

.star-rating p {
	color: var(--gold);
	padding: 0;
	margin: 0;
	font-family: "Roboto Mono", monospace;
	letter-spacing: -2px;
}

.background-default {
	background-image: url('/assets/header-missing.png');
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	overflow: hidden;
}

.button, input::file-selector-button {
	cursor: pointer;
	font-family: "Fira Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: var(--text-700);
	background-color: color-mix(in oklab, var(--background-500) 50%, var(--mix-cl) 50%);
	border-radius: 4px;
	border: 1px solid var(--background-500);
	transition-duration: 0.25s;
	text-align: center;
	padding: 1%;
	padding-top: 0.5%;
	padding-bottom: 0.5%;
	font-size: 16px;
}

.button:hover, input::file-selector-button:hover {
	transition-duration: 0.25s;
	background-color: var(--background-500);
	color: var(--text-950)
}

.button.green {
	background-color: color-mix(in oklab, var(--success) 50%, var(--mix-cl) 50%);
	border: 1px solid var(--success);
}

.button.green:hover {
	background-color: var(--success);
	color: var(--text-50);
}

.button.red {
	background-color: color-mix(in oklab, var(--error) 50%, var(--mix-cl) 50%);
	border: 1px solid var(--error);
}

.button.red:hover {
	background-color: var(--error);
	color: var(--text-50);
}

.button.yellow {
	background-color: color-mix(in oklab, var(--warning) 50%, var(--mix-cl) 50%);
	border: 1px solid var(--warning);
}

.button.yellow:hover {
	background-color: var(--warning);
	color: var(--text-50);
}

.button.blue, input::file-selector-button {
	background-color: color-mix(in oklab, var(--notice) 50%, var(--mix-cl) 50%);
	border: 1px solid var(--notice);
}

.button.blue:hover, input::file-selector-button:hover {
	background-color: var(--notice);
	color: var(--text-50);
}

.footnote {
	color: var(--text-400);
	font-style: italic;
}

.footnote a, .footnote .emphasis {
	color: var(--text-500);
	font-style: italic;
}

.bold {
	font-weight: bold;
}

.italic {
	font-style: italic;
}

.underline {
	text-decoration: underline;
}

.text-red {
	color: var(--error);
}

.text-yellow {
	color: var(--warning);
}

.text-green {
	color: var(--success);
}

.text-blue {
	color: var(--notice);
}

.messagebox, blockquote {
	font-family: "Fira Sans", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: var(--text-700);
	background-color: color-mix(in oklab, var(--background-500) 50%, var(--mix-cl) 50%);
	border-radius: 4px;
	border: 1px solid var(--background-500);
	transition-duration: 0.25s;
	text-align: center;
	padding: 1%;
	padding-top: 0.5%;
	padding-bottom: 0.5%;
	font-size: 16px;
}

.messagebox.yellow {
	background-color: color-mix(in oklab, var(--warning) 50%, var(--mix-cl) 50%);
	border: 1px solid var(--warning);
}

.messagebox.blue {
	background-color: color-mix(in oklab, var(--notice) 50%, var(--mix-cl) 50%);
	border: 1px solid var(--notice);
}

.messagebox.red {
	background-color: color-mix(in oklab, var(--error) 50%, var(--mix-cl) 50%);
	border: 1px solid var(--error);
}

.messagebox.green {
	background-color: color-mix(in oklab, var(--success) 50%, var(--mix-cl) 50%);
	border: 1px solid var(--success);
}

.center-cont {
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}

form {
	border-radius: 5px;
	background-color: var(--background-100);
	padding: 20px;
	border: 1px solid var(--background-300);
}

.form-in-flex {
	min-width: 15%;
}

.hint {
 	position: relative;
	cursor: help;
	text-decoration: dotted underline;
}

.dangerous {
	color: var(--error);
	text-decoration: color-mix(in oklab, var(--error) 85%, var(--mix-cl) 15%) dotted underline;
}

.hinttext {
  visibility: hidden;
  width: 200px;
  background-color: var(--background-50);
  color: var(--text-950);
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  position: absolute;
  z-index: 1;
  bottom: 100%;
  left: 50%;
  margin-left: -50%;
  opacity: 0;
  transition: opacity 0.25s;
}

.hint:hover .hinttext {
  visibility: visible;
  opacity: 0.8;
}

.link-icon {
	font-size: 75%;
	line-height: 1;
	margin-left: 0.5%;
	padding-left: 0;
	opacity: 0.5;
	cursor: pointer;
	transform: scale(66%);
	transition-duration: 0.5s;
	color: var(--text-950);
}

.link-icon:hover {
	cursor: pointer;
	transform: scale(90%);
	opacity: 0.75;
	transition-duration: 0.5s;
}

.link-icon:active {
	cursor: pointer;
	transform: scale(66%);
	opacity: 0.25;
	transition-duration: 0.25s;
}

.icon-hint {
	opacity: 0;
	position: absolute;
	width: 100px;
	background-color: black;
	padding: 7.5px;
	border-radius: 5px;
	right: -50px;
	top: -85px;
	color: white;
	pointer-events: none;
	border: 1px solid grey;
	transition-duration: 0.5s;
	backdrop-filter: blur(5px);
}

.link-icon:hover .icon-hint,
.code-copy-button:hover .icon-hint,
.code-edit-button:hover .icon-hint {
	opacity: 1;
	transition-duration: 0.5s;
}

.code-copy-button .icon-hint,
.code-edit-button .icon-hint {
	transform: scale(0.8);
	top: -70px;
}

.code-copy-button,
.code-edit-button {
	position: absolute;
	right: 10px;
	top: 10px;
	width: 40px;
	height: 20px;
	align-content: center;
	padding: 0;
	color: var(--text-800);
	opacity: 0.5;
	transform: scale(100%);
	transition-duration: 0.5s;
}

.code-copy-button:hover,
.code-edit-button:hover {
	cursor: pointer;
	transform: scale(125%);
	opacity: 0.75;
	transition-duration: 0.5s;
}

.code-copy-button:active,
.code-edit-button:active {
	cursor: pointer;
	transform: scale(100%);
	opacity: 0.25;
	transition-duration: 0.25s;
}

.code-edit-button {
	right: 40px;
}

.source-icon {
	font-size: 75%;
	line-height: 1;
	padding-left: 0;
	opacity: 0.5;
	cursor: pointer;
	transform: scale(66%);
	transition-duration: 0.5s;
	color: var(--text-950);
}

.source-icon:hover {
	cursor: pointer;
	transform: scale(90%);
	opacity: 0.75;
	transition-duration: 0.5s;
}

.source-icon:active {
	cursor: pointer;
	transform: scale(66%);
	opacity: 0.25;
	transition-duration: 0.25s;
}

code {
	background-color: var(--background-200);
	padding: 1px;
	border-radius: 2px;
	transition-duration: 0.25s;
}

@media (prefers-color-scheme: light) {
	code {
		background-color: color-mix(in oklab, var(--background-300) 50%, var(--mix-cl) 50%);
	}
}

pre {
	position: relative;
}

.icon-embed-in-button {
	font-size: 300%;
	line-height: 1;
	padding-top: 10%;
	padding-bottom: 10%;
}

.icon-embed-in-text {
	font-size: 100%;
	line-height: 1;
	padding-left: 2%;
	padding-right: 2%;
}

.icon-embed-in-topbar {
	font-size: 150%;
	line-height: 1;
	padding-right: 0.5%;
}

.inline {
	display: inline;
}

.block, label {
	display: block;
}

.inline-block, input[type=file], input[type=text], input[type=number], input[type=email], input[type=password], select {
	display: inline-block;
}

.document {
	min-width: 65%;
	min-height: 100%;
	background-color: var(--background-100);
	padding: 20px;
	height: auto;
	margin: 0;
}

.document-sidebar {
	min-width: 16.45%;
	height: 100%;
	background-color: var(--background-200);
	position: fixed;
	margin: 0;
	z-index: 999;
	padding: 0;
	border-right: 1px var(--background-400) solid;
}

progress {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

::-webkit-progress-bar {
	background-color: var(--background-300);
	border-radius: 5px;
}

::-webkit-progress-value {
	background-color: var(--success);
	border-radius: 5px;
}

::-moz-progress-bar {
	background-color: var(--success);
}

.document-content {
	min-height: 100%;
	min-width: 100%;
}

.pad-top {
	margin-top: 5px;
}

.button-container {
	display: flex;
	width: 100%;
}

.flexbox-center {
	display: flex;
	justify-content: center;
}

.contained-button {
	flex: 1;
	margin: 0 5px;
}

hr {
	border: var(--background-200) 1px solid;
	border-radius: 2px;
}

.document-sidebar hr {
	border: var(--background-300) 1px solid;
	border-radius: 2px;
	width: 95%;
}

.sidebar-page-listing {
	position: relative;
	background-color: var(--background-300);
	width: 96.75%;
	padding: 10px;
	color: var(--text-950);
	text-decoration: none;
	display: block;
	margin: 0;
	padding-right: 0;
}

.sidebar-page-listing:hover {
	background-color: var(--background-300);
	color: var(--text-950);
}

.sidebar-page-listing.clickable:hover {
	background-color: var(--background-400);
	color: var(--text-800);
}

.sidebar-page-listing-children .sidebar-page-listing {
	background-color: var(--background-400);
}

.sidebar-page-listing-children .sidebar-page-listing.clickable:hover {
	background-color: var(--background-500);
	color: var(--primary-800);
}

.sidebar-page-expand {
	position: absolute;
	right: 5px;
	transition-duration: 0.25s;
	opacity: 0.5;
	cursor: pointer;
}

.sidebar-page-expand:hover {
	opacity: 0.75;
	transition-duration: 0.25s;
}

.sidebar-page-listing.open .sidebar-page-expand {
	transform: rotate(90deg);
	opacity: 1;
	transition-duration: 0.25s;
}

.smooth-height {
	transition: height 0.25s;
}

.sidebar-page-listing-children {
	position: absolute;
	height: 0;
	overflow: hidden;
	transition: height 0.25s;
	top: 39px;
	width: 100%;
	left: 0px;
}

.sidebar-page-listing-section {
	width: 100%;
	text-align: center;
	justify-content: center;
	font-weight: bold;
}

.button-container .contained-button:first-child {
	margin-left: 0;
}
.button-container .contained-button:last-child {
	margin-right: 0;
}

.space-top {
	padding-top: 5px;
}

.space-bottom {
	padding-bottom: 5px;
}

.top-bar {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 60px;
	background-color: var(--background-50);
	display: flex;
	align-items: center;
	justify-content: left;
	padding-left: 1%;
	margin: 0;
	z-index: 9999;
	font-size: 20px;
}

.top-bar.green {
	background-color: var(--success);
	color: black;
}

.top-bar.red {
	background-color: var(--error);
	color: white;
}

.top-bar.blue {
	background-color: var(--notice);
	color: white;
}

.top-bar.yellow {
	background-color: var(--warning);
	color: white;
}

input[type=text], input[type=number], input[type=email], input[type=password], select {
	width: 100%;
	padding: 12px;
	margin: 8px 0;
	border: 1px solid var(--background-200);
	border-radius: 2px;
	background-color: var(--mix-cl);
	color: var(--text-950);
	box-sizing: border-box;
	font-family: "Fira Sans", sans-serif;
	font-weight: normal;
	font-style: normal;
	transition-duration: 0.25s;
}

input[type=text]:valid, input[type=number]:valid, input[type=email]:valid, input[type=password]:valid {
	background-color: color-mix(in oklab, var(--success) 20%, var(--mix-cl) 80%);
	transition-duration: 0.25s;
}

@media (prefers-color-scheme: dark) {
	input[type=text]:valid, input[type=number]:valid, input[type=email]:valid, input[type=password]:valid {
		background-color: color-mix(in oklab, var(--success) 40%, var(--mix-cl) 60%);
		transition-duration: 0.25s;
	}
	input[type=text]:invalid, input[type=number]:invalid, input[type=email]:invalid, input[type=password]:invalid {
		background-color: color-mix(in oklab, var(--error) 40%, var(--mix-cl) 60%);
		transition-duration: 0.25s;
	}
}

input[type=text]:invalid, input[type=number]:invalid, input[type=email]:invalid, input[type=password]:invalid {
	background-color: color-mix(in oklab, var(--error) 20%, var(--mix-cl) 80%);
	transition-duration: 0.25s;
}

input[type=text]:blank, input[type=number]:blank, input[type=email]:blank, input[type=password]:blank, select:blank {
	background-color: var(--mix-cl);
	transition-duration: 0.25s;
}

input.page-search[type=text],
input.page-search[type=text]:valid {
	background-color: var(--background-300);
	display: block;
	width: 95%;
	left: 2.5%;
	position: absolute;
	padding: 5px;
	padding-left: 10px;
	border-radius: 5px;
}


.collapsible {
	background-color: var(--background-50);
	color: var(--text-800);
	cursor: pointer;
	padding: 10px;
	width: 100%;
	border: none;
	text-align: left;
	outline: none;
	font-size: 15px;
	border: 1px solid var(--background-200);
	border-radius: 2px;
	transition-duration: 0.25s;
	font-style: italic;
}

.collapsible:hover {
	background-color: var(--background-200);
	color: var(--text-950);
	transition-duration: 0.25s;
}

.collapsible-active {
	background-color: var(--accent-50);
  	transition-duration: 0.25s;
	border-bottom: 0;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.collapsible-active .caret-right {
	transform: rotate(90deg);
}

.collapsed-content {
	border: 0px solid var(--background-200);
	border-radius: 2px;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-top: 0;
	padding: 0 10px;
	display: block;
	overflow: hidden;
	background-color: var(--accent-100);
	transition: all 0.25s ease-out;
	height: 0;
}

.caret-right {
	transition: transform 0.25s ease-out;
}

.collapsed-content > p {
 	color: var(--text-950);
}

.text-standard {
	text-decoration: none;
}

a.button {
	text-decoration: none;
}

.text-thin {
	font-family: "Fira Sans", sans-serif;
	font-weight: 100;
	font-style: normal;
}

.text-extralight {
	font-family: "Fira Sans", sans-serif;
	font-weight: 200;
	font-style: normal;
}

.text-light {
	font-family: "Fira Sans", sans-serif;
	font-weight: 300;
	font-style: normal;
}

.text-medium {
	font-family: "Fira Sans", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.text-semibold {
	font-family: "Fira Sans", sans-serif;
	font-weight: 600;
	font-style: normal;
}

.text-bold {
	font-family: "Fira Sans", sans-serif;
	font-weight: 700;
	font-style: normal;
}

.text-extrabold {
	font-family: "Fira Sans", sans-serif;
	font-weight: 800;
	font-style: normal;
}

.text-black {
	font-family: "Fira Sans", sans-serif;
	font-weight: 900;
	font-style: normal;
}

.text-thin-italic {
	font-family: "Fira Sans", sans-serif;
	font-weight: 100;
	font-style: italic;
}

.text-extralight-italic {
	font-family: "Fira Sans", sans-serif;
	font-weight: 200;
	font-style: italic;
}

.text-light-italic {
	font-family: "Fira Sans", sans-serif;
	font-weight: 300;
	font-style: italic;
}

.text-regular-italic {
	font-family: "Fira Sans", sans-serif;
	font-weight: 400;
	font-style: italic;
}

.text-medium-italic {
	font-family: "Fira Sans", sans-serif;
	font-weight: 500;
	font-style: italic;
}

.text-semibold-italic {
	font-family: "Fira Sans", sans-serif;
	font-weight: 600;
	font-style: italic;
}

.text-bold-italic {
	font-family: "Fira Sans", sans-serif;
	font-weight: 700;
	font-style: italic;
}

.text-extrabold-italic {
	font-family: "Fira Sans", sans-serif;
	font-weight: 800;
	font-style: italic;
}

.text-black-italic {
	font-family: "Fira Sans", sans-serif;
	font-weight: 900;
	font-style: italic;
}

.sidebar-thing {
	background-color: var(--background-100);
	border-right: 1px solid var(--background-300);
	padding: 15px;
	padding-top: 0;
	position: absolute;
	height: 100%;
	width: 300px;
	overflow: hidden;
}

.bottombar-thing {
	background-color: var(--background-100);
	border-top: 1px solid var(--background-300);
	padding: 15px;
	position: absolute;
	height: 250px;
	width: 1280px;
	overflow: hidden;
}

.centerbox-thing {
	background-color: var(--background-100);
	border: 1px solid var(--background-300);
	border-radius: 5px;
	padding: 15px;
	position: absolute;
	height: 500px;
	width: 500px;
	overflow: hidden;
}

.hidden {
	display: none;
}