
@font-face {
	font-family: "Roboto Flex";
	src: url('../fonts/RobotoFlex[GRAD,XOPQ,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght].ttf') format('truetype supports variations'),
		 url('../fonts/RobotoFlex[GRAD,XOPQ,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght].ttf') format('truetype-variations');
	font-weight: 100 1000;
	font-stretch: 25% 151%;
	font-display: swap;
}
@font-face {
	font-family: "fa";
	src: url('../fonts/fontawesome-webfont.woff2') format('woff2');
	font-display: swap;
}

html {
	min-height:100vh;
}
:root {
	--mn-padding: 0 0em;
	--mn-margin-right: 1em;
	--wdth: 100; /* 25 to 151 */
	--slnt: 0;   /* -10 to 0 */
	--GRAD: 0;   /* -1 to 1 */
/*
	 Ascender Height  YTAS 649 <-> 844 (750)
	 Descender Depth  YTDE  -305 <.> -98 (203)
	 Lowercase height YTLC   416 <-> 570 (514)
	 Uppercase height YTUC   528 <-> 760 (712)
*/
}


* {
	font-weight: 400; /* normal */
	font-family: "Roboto Flex", "DejaVu Sans", "Sans";
}
:focus-visible {
	outline-offset: .25em;
	outline-color: var(--link-color);
	outline-style: solid;
	outline-width: .125em;
}
h1, h2, h3, h4, h5, h6, strong {
	font-family: "Roboto Flex", "DejaVuSansBold";
	font-weight: 700; /* bold */
}
h1:focus, h2:focus, h3:focus, h4:focus, h5:focus, h6:focus, summary:focus,
h1:focus-visible, h2:focus-visible, h3:focus-visible, h4:focus-visible, h5:focus-visible, h6:focus-visible {
	outline-style: none;
}
summary:focus-visible {
	outline-style: solid;
}

h1 {
	font-variation-settings: 'YTLC' 570;
}

body {
	font-family: "Roboto Flex", "DejaVu Sans", "Sans";
	font-variation-settings: 'wdth' var(--wdth), 'slnt' var(--slnt), 'GRAD' var(--GRAD), 'opsz' 1, 'YTAS' 750, 'YTDE' -250;
	background-color: var(--body-color);
	color:var(--font-color, #000);
	line-height: 1.5em;
	box-sizing: border-box;
	background-image: linear-gradient( var(--grad-dir), var(--grad-col-beg), var(--grad-col-end) );
	padding:0;
	accent-color: var(--link-color);
}
figure, img {
	box-sizing: border-box;
}
figure img {
	background-color:#ffffff;
}
code, pre {
	font-size: 1rem;
}
#colorswitcher {
	background-color:var(--font-color);
	color:var(--background-color);
	position:fixed;
	top:1em;
	right:1em;
	width:2em;
	height:2em;
	border-radius:2em;
	border: solid 2px var(--background-color);
	box-sizing: border-box;
}

#container {
	line-height:1.6rem;
	max-width: 60em;
	width:100%;
	background-color:var(--background-color);
	padding:.5em;
	border-radius:1em;
	margin-left: auto;
	margin-right:auto;
	box-shadow: 0px 0px 8px 2px var(--border-color);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}

header {
	order:0
}

#mn {
	position:absolute;
	background-color:var(--background-color);
}
main {
	order: 1;
}

a {
	margin:0;
	display: inline;
	border-bottom: solid .2em transparent;
	text-decoration: none;
	outline-width: .25em;
	outline-offset: .25em;
	outline-color: var(--link-color);
	outline-style: none;
}
a:hover {
	border-bottom-color: var(--link-color);
	cursor: pointer; 
}
a:focus-visible {
	outline-style: solid;
}
article {
	margin-top:2.5em;
}

article h2:first-of-type {
	margin-top:0;
}

footer {
	order: 3;
	padding-bottom:.5em;
	padding-top:.5em;
	text-align: center;
}
a, summary, button {
	color: var(--link-color);
}

.skiplink {
	display:inline;
	position: absolute;
	top:-100px;
	left:0;
}
.skiplink:focus {
	height:1.5em;
	top:-0;
}

pre, .pre {
	padding: .5em;
	font-family: courier;
	line-height: 1.5em;
	background-color: var(--pre-bg-color);
	color: var(--pre-color);
	overflow-y: hidden;
	overflow-x: auto;
}

figure {
	width: 800px;
	max-width:100%;
	margin: 1.5em auto 1.5em auto;
}
img {
	width:100%;
	height:auto;
	border: solid 2px var(--pre-bg-color);
	opacity: var(--img-opacity);
}

footer {
	text-align:center;
}
footer a {
	display:inline-block;
	width: var(--mn-width);
	margin: 0 .5em;
}

h2[tabindex] {
	outline:none;
}

.multi2 {
	column-count:2;
}
.multi3 {
	column-count:3;
}
ul .multi2, ul multi3 {
}

body * {
  accent-color: var(--link-color);
}
input, button {
	background-color: var(--backgrond-color);
	color:	var(--font-color);
}

button {
	border-radius:.4em;
	border-width:.2em;
}

a:focus-visible, summary:focus-visible,
input:focus-visible, button:focus-visible, input:focus, button:focus {
	outline-width: .25em;
	outline-offset: .25em;
	outline-color: var(--link-color);
	outline-style: solid;
}
input:hover, button:hover  {
	border-color: var(--link-color);;
}

input[type=radio] {
	border-radius: 50%;
}

button {
	margin-left: 1em;
}

input, button, textarea, label {
	font: inherit;
	margin-bottom:.5em;
}

input.formula {
	font-family: monospace;
	font-size:1.3em;
	width: 9ch;
	outline:none;
}
input.formula::selection {
	background-color: var(--background-color);
	color: var(--font-color);
}
input.formula {
	border-width:0;
	border-bottom: dotted 2px transparent;
}
input.formula:focus {
	border-bottom-color: var(--link-color);
}

input.calc {
	width:2ch;
	margin-left:.1em;
}

main summary{
	border-bottom: solid .2em transparent;
}

main summary:hover {
	border-bottom-color:  var(--link-color);
}

/*input:hover {border-bottom-color: yellow; border-bottom-style: solid;}*/
/*input:focus-visible {border-color: yellow; border-style: solid;}*/
/*input:hover {border-bottom: solid .3em yellow;}*/
/*label:hover {border-bottom: solid .3em yellow;}*/
details ul {
	margin-top: .8em;
}
html[mode=dark] img {
  filter: brightness(.9) contrast(1.2);
}
::selection {
  background-color: #ffff88;
  color: #aa0000;
}
