/* 
based on 
https://medium.com/@haxzie/dark-and-light-theme-switcher-using-css-variables-and-pure-javascript-zocada-dd0059d72fa2 
*/
/* .theme-light{
	--text-color: #222;
	--here-text-color: #000;
	--background-color: #fafafa;
	--placeholder: #999;
	--subjects: #f5f6f7;
	--search: #eff1f2;
	--text-box: white;
	--highlights: darkorange;
	--highlights-button: darkorange;
	--li-separator: #ccc;
	--mono: #ccc;
} */
.theme-dark{
	--text-color: #bbb;
	--here-text-color: #fff;
	--background-color: #333;
	--placeholder: #999;
	--subjects: #373737;
	--search: #444;
	--text-box: #333;
	--highlights: #bb6600;
	--highlights-button: #663800;
	--li-separator: #555;
	--mono: #242424;
}

@font-face {
  font-family: 'icomoon';
  src:  url('/fonts/icomoon.eot?q0vrwx');
  src:  url('/fonts/icomoon.eot?q0vrwx#iefix') format('embedded-opentype'),
    url('/fonts/icomoon.ttf?q0vrwx') format('truetype'),
    url('/fonts/icomoon.woff?q0vrwx') format('woff'),
    url('/fonts/icomoon.svg?q0vrwx#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-home2:before {
  content: "\e901";
}
.icon-marker:before {
  content: "\e923";
}
.icon-new:before {
  content: "\e97b";
}
.icon-book3:before {
  content: "\e993";
}
.icon-folder:before {
  content: "\e9d0";
}
.icon-folder-plus:before {
  content: "\e9d4";
}
.icon-lifebuoy:before {
  content: "\ea1b";
}
.icon-clock2:before {
  content: "\ea4e";
}
.icon-cog2:before {
  content: "\eb5e";
}
.icon-bug:before {
  content: "\eb75";
}
.icon-pizza:before {
  content: "\ebc0";
}
.icon-lamp8:before {
  content: "\ebf7";
}
.icon-chopper:before {
  content: "\ec13";
}
.icon-menu3:before {
  content: "\ec6a";
}
.icon-cloud-download:before {
  content: "\ec73";
}
.icon-cloud-upload:before {
  content: "\ec74";
}
.icon-weather-lightning:before {
  content: "\ecbd";
}
.icon-question4:before {
  content: "\ed53";
}
.icon-spam:before {
  content: "\ed68";
}
.icon-cross:before {
  content: "\ed69";
}
.icon-checkmark:before {
  content: "\ed6c";
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
	font-size: 20px;
}
pre{
	white-space: pre-wrap;
	overflow-wrap: break-word;
}
code[class*="language-"]{
	/* white-space: inherit; */
	white-space: pre-wrap;
}
body{
	font-family: 'Open Sans', sans-serif; 
  margin: 0;
  padding: 0;
  border: 0;
	background-color: var(--background-color);
	color: var(--text-color);
}
p{
	margin: 15px 0;
}
::placeholder { /* Firefox, Chrome, Opera */ 
	color: var(--placeholder);
} 
:-ms-input-placeholder { /* Internet Explorer 10-11 */ 
	color: var(--placeholder);
} 
::-ms-input-placeholder { /* Microsoft Edge */ 
	color: var(--placeholder);
} 

/* 
on desktop, sidebar becomes part of grid and no hamburger
on mobile, body.display:grid turns into block, subjects turns into position fixed
 */
.body{
	display: grid;
	grid-template-columns: 250px;
}
.subjects{
	grid-column: 1;
	background-color: var(--subjects);
}
.content{
	grid-column: 2;
	box-sizing: border-box;
}
.cancel{
	display: none;
}
@media screen and (max-width: 1024px) {
	.body{
		display: block;
	}
	.subjects{
		position: fixed;
		z-index: 10;
		width: 500px;
		margin-left: -500px;
		opacity: 0;
		top: 0;
		left: 0;
		bottom: 0;
		height: 100%;
		background-color: var(--subjects);
		transition: margin-left 0.5s ease-in-out, opacity 0.5s ease-in-out;
		overflow: auto;
	}
	.subjects-open{
		margin-left: 0;
		opacity: 1;
		transition: margin-left 0.5s ease-in-out, opacity 0.5s ease-in-out;
	}
	.cancel{
		position: fixed;
		z-index: 10;
		display: block;
		opacity: 0;
		margin-left: -32px;
		transition: margin-left 0.5s ease-in-out, opacity 0.5s ease-in-out;
		font-size: 32px;
	}
	.cancel-open{
		margin-left: 510px;
		opacity: 1;
		transition: margin-left 0.5s ease-in-out, opacity 0.5s ease-in-out;
	}
}



.search{
	background-color: var(--search);
	padding: 20px;
}
input[type="text"]{
	color: var(--text-color);
	background-color: var(--text-box);
	width: 100%;
	box-sizing: border-box;
	border-radius: 20px;
	border: 3px var(--search) solid;
	padding: 5px 10px;
	outline: none;
	transition: border-color 0.2s ease-in-out;
}
input[type="text"]:focus{
	border: 3px var(--highlights) solid;
}

.home{
	padding: 20px;
}
.menu{
	padding: 20px;
}
h2{
	font-weight: bold;
	font-family: 'Roboto Slab', sans-serif;
	border-bottom: 2px var(--highlights) solid;
	padding-bottom: 10px;
	margin-bottom: 10px;
	font-size: 20px;
}
h2.toc{
	margin: 10px 0;
	padding: 0;
	border-bottom: 0;
}
ul {
  list-style: none; 
}
li{
	padding-bottom: 6px;
	margin-bottom: 5px;
	border-bottom: 1px var(--li-separator) solid;
}
.indent{
	border-bottom: none; 
	border-left: 1px var(--li-separator) solid;
	padding-left: 20px;
}
.here{
	font-weight: bold;
	color: var(--here-text-color);
}
a{
	color: var(--text-color);
	transition: color 0.2s ease-in-out;
	text-decoration: none;
}
a:hover {
	color: var(--highlights);
}
div.article a{
	color: var(--text-color);
	transition: color 0.2s ease-in-out;
	text-decoration: underline;
	transition: color 0.2s ease-in-out;
}
div.article a:hover {
	color: var(--highlights);
}
hr{
	background-color: var(--highlights);
	border: 0;
	height: 2px;
}
.prices{
	padding: 20px;
}
.scheduling{
	padding: 20px;
}
.copyright{
	padding: 20px;
	color: gray;
	font-size: 12px;
}

.content-body{
	display: grid;
	/* grid-template-columns: 60px 1200px; */
	grid-template-columns: 60px;
}
.hamburger{
	grid-column: 1;
	text-align: center;
	padding-top: 22px;
	font-size: 22px;
}
.icon-menu3{
	color: var(--highlights);
	cursor: pointer;
}
@media screen and (min-width: 1025px) {
	.icon-menu3{
		display: none;
	}
}
.theme{
	grid-column: 2;
	margin-right: 10px;
	text-align: right;
	padding-top: 3px;
}
.light{
	border: 1px lightgray solid;
	background-color: white;
	color: black;
	padding: 0 5px;
	margin-right: 3px;
	cursor: pointer;
}
.dark{
	border: 1px gray solid;
	background-color: #333333;
	color: #bbbbbb;
	padding: 0 5px;
	cursor: pointer;
}
.header{
	grid-column: 2;
	font-weight: bold;
	border-bottom: 4px var(--highlights) solid;
	padding: 20px 0;
	margin: 0 60px 20px 0;
}
.article{
	grid-column: 2;
	margin-right: 40px;
	box-sizing: border-box;
}
.title-extra{
	display: grid;
	
}
.title{
	grid-column: 1;
	font-family: 'Roboto Slab', sans-serif;
	font-size: 22px;
}
.buttons{
	grid-column: 2;
	text-align: right;
}
a.title-extra-button{
	font-size: 14px;
	padding: 5px 10px;
	color: var(--text-color);
	background-color: var(--text-box);
	box-sizing: border-box;
	border-radius: 5px;
	padding: 5px 10px;
	outline: none;
	cursor: pointer;
	transition: background-color 0.5s ease-in-out;
}
a.title-extra-button:hover{
	background-color: var(--highlights-button);
	transition: background-color 0.5s ease-in-out;
}
.intro{
	display: grid;
	grid-template-columns: 50%;
}
@media screen and (max-width: 1023px) {
	.intro{
		display: block;
	}
}
.intro-col1{
	grid-column: 1;
	padding-right: 20px;
}
h1{
	font-family: 'Roboto Slab', sans-serif;
	font-size: 40px;
	margin-bottom: 15px;
}
h3{
	font-family: 'Roboto Slab', sans-serif;
	font-size: 16px;
	color: var(--text-color);
	margin-bottom: 15px;
	font-weight: lighter;
}
.nav{
	display: grid;
	grid-template-columns: 50%;
	margin: 40px 0;
	
}
.previous{
	grid-column: 1;
}
.next{
	grid-column: 2;
	text-align: right;
}
button{
	font-size: 20px;
	color: var(--text-color);
	background-color: var(--text-box);
	width: 140px;
	box-sizing: border-box;
	border-radius: 5px;
	border: 3px var(--highlights) solid;
	padding: 5px 10px;
	outline: none;
	cursor: pointer;
	transition: background-color 0.5s ease-in-out;
}
button:hover{
	background-color: var(--highlights-button);
	transition: background-color 0.5s ease-in-out;
}
button.start{
	font-size: 20px;
	width: 200px;
}
@media screen and (max-width: 1000px) {
	button{
		font-size: 16px;
	}
}

.note{
	color: #333;
	background-color: #b2c2ff;
	padding: 10px 3px;
	margin-bottom: 5px;
}
.warning{
	color: #333;
	/* background-color: #ffe3e9; */
	background-color: #ff98ae;
	padding: 10px 3px;
	margin-bottom: 5px;
}
.mono{
	font-family: monospace;
	background-color: var(--mono);
	padding: 0 3px;
}
.mono-warning{
	font-family: monospace;
	background-color: pink;
	color: black;
	padding: 0 3px;
}
.mono-note{
	font-family: monospace;
	color: var(--background-color);
	background-color: #7a86af;
	padding: 0 3px;
}
.image-cap{
	font-size: 12px;
	margin-bottom: 20px;
}
.img{
	width: 300px;
}
.code{
	background-color: #242424;
	font-size: 1em;
	padding: 20px;
}
.red{
	color: red;
}
.kv-table{
	display: grid;
	grid-template-columns: 200px;
	border-top: 3px rgba(255,255,255,0.3) solid;
	border-left: 3px rgba(255,255,255,0.3) solid;
	border-right: 3px rgba(255,255,255,0.3) solid;
	padding: 3px;
}
.kv-table-mid{
	display: grid;
	grid-template-columns: 200px;
	border-left: 3px rgba(255,255,255,0.3) solid;
	border-right: 3px rgba(255,255,255,0.3) solid;
	padding: 3px;
}
.kv-table-end{
	display: grid;
	grid-template-columns: 200px;
	border-left: 3px rgba(255,255,255,0.3) solid;
	border-right: 3px rgba(255,255,255,0.3) solid;
	border-bottom: 3px rgba(255,255,255,0.3) solid;
	padding: 3px;
	margin-bottom: 10px;
}
.kv-col1{
	grid-column: 1;
	text-align: right;
	margin: 0 10px 0 0;
	background-color: rgba(255,255,255,0.1);
	padding: 3px;
}
.kv-col2{
	grid-column: 2;
	padding: 3px;
}
.kv-col-title{
	grid-column-start: 1;
	grid-column-end: 3;
	padding: 3px;
}
.kv-col-span{
	grid-column-start: 1;
	grid-column-end: 3;
	padding: 10px;
}
.center{
	text-align: center;
}
.intro-col2{
	grid-column: 2;
	text-align: center;
	/* padding: 0 0 0 50px; */
}
.img{
	/* border: 5px rgba(187, 102, 0, 0.3) solid; */
	/* padding: 15px; */
	width: 300px;
}
.img-big{
	/* border: 5px rgba(187, 102, 0, 0.3) solid; */
	/* padding: 15px; */
	width: 500px;
}
.img-big-big{
	/* border: 5px rgba(187, 102, 0, 0.3) solid; */
	/* padding: 15px; */
	width: 700px;
}
@media screen and (max-width: 1023px) {
	.img, .img-big, .img-big-big{
		width: 40%;
	}
	.intro-col2{
		padding: 0 0 0 10px;
		text-align: left;
	}
}
@media screen and (max-width: 600px) {
	.img, .img-big{
		width: 90%;
	}
}
.shopping-cart-diagram{
	width: 50%;
}
.extra-space{
	margin: 20px;
}
