@font-face {
	font-family: dots;
	src: url("/fonts/dots.ttf");
}
@font-face {
	font-family: babelstone;
	src: url("/fonts/BabelStoneRunicElderFuthark.ttf");
}

:root {
	--bg1: white;
	--bg2: white;
	--col1: #444;
	--bg-quote: #f2f2f2;
	--bg-toast: #e2e2e2;
	--bg-code: #fffff0;
	--border: #888888;
	--comment: #b00;
	--prompt: teal;
	--keyword: blue;
	--string: olive;
	--identifier: maroon;
	--shell: green;
	--success: #4C4;
	--error: red;
}

body.dark {
	--bg1: #222;
	--bg2: #444;
	--col1: #eee;
	--bg-quote: #424264;
	--bg-toast: #424242;
	--bg-code: #555550;
	--border: #888888;
	--comment: #faa;
	--prompt: #aff;
	--keyword: #aaf;
	--string: #afa;
	--identifier: #faf;
	--shell: #0f0;
	--success: #4C4;
	--error: #f44;
}

body {
	font-family: "ubuntu", sans-serif;
	font-size: 100%;
	font-size: 12pt;
	margin: 3em auto;
	max-width: 50em;
	line-height: 1.6;
	background-color: var(--bg1);
	color: var(--col1);
	padding: 0 1em;
}

a {
	color: var(--keyword);
}

textarea {
	background-color: var(--bg1);
	color: var(--col1);
}

blockquote {
	background-color: var(--bg-quote);
	border-right-width: 0px;
	border-left-width: 2px;
	border-top-width: 0px;
	border-bottom-width: 0px;
	border-color: var(--border);
	border-style: solid;
	padding: 0 1em;
}

.toast {
	position: fixed;
	background-color: var(--bg-toast);
	border: 2px solid var(--border);
	border-radius: 5px;
	width: 100%;
	max-width: 50em;
	padding: 0.2em;
	margin: 0.3em;
}

.code {
	background: var(--bg-code);
	font-family: monospace;
	padding: 0.5em;
	border: 1px black var(--border);
	max-width: 80em;
	line-height: 1.2;
	overflow: scroll;
}

.cmd {
	background: var(--bg2);
	color: var(--shell);
	font-family: monospace;
	padding: 0.5em;
	border: 1px black var(--border);
}

pre.shell {
	background: var(--bg-quote);
	color: var(--shell);
	font-family: monospace;
	padding: 0.5em;
	border: 1px black var(--border);
	overflow: scroll;
	font-size: 10pt;
}

span.shell {
	background: var(--bg-quote);
	font-family: monospace;
	font-size: 9pt;
	padding: 1px;
	border: 1px black var(--border);
	overflow: hidden;
	font-size: 10pt;
}

.mono {
	font-family:monospace;
}
.ws-pre {
	white-space: pre;
}

.comment {
	color: var(--comment);
}

.prompt {
	color: var(--prompt);
}

.keyword {
	color: var(--keyword);
}
.keyword2 {
	color: var(--shell);
}

.string {
	color: var(--string);
}

.identifier {
	color: var(--identifier);
}
.error {
	color: var(--error);
}
.success {
	color: var(--success);
}

.runic {
	font-family: babelstone;
}

.ul_nostyle {
	list-style-type: none;
}

.noborder {
	border: none;
}

.m {
	margin: 1em;
}
.ml-min1 {
	margin-left: -1em;
}
.mt5 {
	margin-top: 5em;
}
.ml0{
	margin-left: 0;
}
.mv {
	margin-top: 1em;
	margin-bottom: 1em;
}
.mh {
	margin-left: 1em;
	margin-right: 1em;
}

.p {
	padding: 1em;
}
.pv {
	padding-top: 1em;
	padding-bottom: 1em;
}
.pv0 {
	padding-top: 0em;
	padding-bottom: 0em;
}
.ph {
	padding-left: 1em;
	padding-right: 1em;
}
.ph0 {
	padding-left: 0em;
	padding-right: 0em;
}
.ph-2 {
	padding-left: .5em;
	padding-right: .5em;
}
.pl {
	padding-left: 1em;
}
.pr {
	padding-right: 1em;
}
.pl5 {
	padding-left: 5em;
}

.hi {
	height: 1em;
}
.hi32px {
	height: 32px;
}
.ihi32px {
	--input-height: 32px;
}
.hi5{
	height: 5em;
}
.hi15{
	height: 15em;
}
.hi25{
	height: 25em;
}
.hi30{
	height: 30em;
}
.w30 {
	width: 30em;
}
.w50 {
	width: 50em;
}
.w100p {
	width: 100%;
}
.mw30{
	max-width: 30em;
}
.mw50{
	max-width: 50em;
}
.center-text {
	text-align: center;
}

.grow10{
	flex-grow: 10;
}

h1,
h2,
h3 {
	line-height: 1.2;
}

h4 {
	margin: 0;
}

.small {
	font-size: small;
}
.smaller {
	font-size: smaller;
}

input[type="text"],
input[type="password"],
input[type="number"],
input[type="email"],
input[type="date"],
input[type="datetime-local"],
select {
	box-sizing: border-box;
	height: 32px;
	width: 250px;
	border: 1px solid var(--border);
	border-radius: 5px;
	padding: 2px 5px;
	margin: 2px;
}

input[type="submit"],
button {
	box-sizing: border-box;
	height: 32px;
	border: 1px solid var(--border);
	border-radius: 5px;
	padding: 2px 5px;
	margin: 2px;
}

.popover-content {
	display: none;
	background-color: var(--bg-toast);
	padding: 0.5em;
	border: 2px solid var(--border);
}

@media (hover: hover) {
	.popover-container:hover .popover-content {
		display: block;
	}
}

.btn {
	cursor: pointer;
}

.show {
	display: block;
}
.show-i {
	display: inline;
}
.hide {
	display: none;
}

.relative {
	position: relative;
}

.absolute {
	position: absolute;
}

.fixed {
	position: fixed;
}

.grid {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: 100%;
}
.grid .col {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
}
.grid span.col {
	justify-content: center;
}
.grid input {
	width: 100%;
}

.grid .s1 { flex-grow: 0; width: calc(1 * 100% / 12);}
.grid .s2 { flex-grow: 0; width: calc(2 * 100% / 12);}
.grid .s3 { flex-grow: 0; width: calc(3 * 100% / 12);}
.grid .s4 { flex-grow: 0; width: calc(4 * 100% / 12);}
.grid .s5 { flex-grow: 0; width: calc(5 * 100% / 12);}
.grid .s6 { flex-grow: 0; width: calc(6 * 100% / 12);}
.grid .s7 { flex-grow: 0; width: calc(7 * 100% / 12);}
.grid .s8 { flex-grow: 0; width: calc(8 * 100% / 12);}
.grid .s9 { flex-grow: 0; width: calc(9 * 100% / 12);}
.grid .s10 { flex-grow: 0; width: calc(10 * 100% / 12);}
.grid .s11 { flex-grow: 0; width: calc(11 * 100% / 12);}
.grid .s12 { flex-grow: 0; width: calc(12 * 100% / 12);}
