:root {
	--clrlink: #336611;
	--clrlinkhover: #000000;
	--clrh2: #336611;
	--clrh2bg: #cceebb;
	--clrh3: #000000;
	--clrh3bg: #f0f0f0;
	--clrcode: #333333;
	--clrcodebg: #f0f0f0;
	--clrsidebarbg: #558833;
	--clrsidebartext: #ffffff;
	--clrsidebartexthover: #225500;
}

/* TODO: test this */

@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-Regular.ttf') format('truetype'),
       url('../fonts/Poppins-Italic.ttf') format('truetype'),
       url('../fonts/Poppins-BoldItalic.ttf') format('truetype'),
       url('../fonts/Poppins-Bold.ttf') format('truetype')
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-family: 'Poppins', sans-serif;
	color: #333;
}

html {
}

body {
}

p, h1, h2, h3, h4, ul, ol, .chapter {
	margin-bottom: 1em;
}

li {
	margin-left: 1em;
}

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

a:hover {
	color: var(--clrlinkhover);
}

h1, h2, h3, h4 {
	font-weight: normal;
}

h2 {
	padding: .3em;
	color: var(--clrh2);
	background-color: var(--clrh2bg);
	font-size: 1.3em;
}

h3 {
	padding: .3em;
	background-color: var(--clrh3bg);
	color: var(--clrh3);
}

code, pre {
	 font-family: monospace;
}

.main {
	display: grid;
}

.main__inner {
	display: grid;
	grid-template-columns: 100%;
}

.page__header {
	padding: .5em 1em;
	border-bottom: solid 6px var(--clrh2bg);
	display: grid;
	grid-template-columns: 1fr 60px;
}

.header__title {
	margin: 0;
	color: var(--clrlink);
	font-size: 1.5em;
}

.page__header a {
	text-decoration: none;
	display: block;
	color: var(--clrlinkhover);
}

.header__hamburger {
	display: block;
	padding: 5px;
	background: transparent;
	border: none;
}

.header__hamburger span {
	display: block;
	background: var(--clrlink);
	height: 5px;
	margin-bottom: 10px;
	width: 40px;
}

.header__hamburger:hover > span {
	background: var(--clrlinkhover);
}

.header__hamburger span:last-child {
	margin-bottom: 0;
}

.tableofcontents__close button {
	margin-bottom: 1em;
}

.tableofcontents__close button {
	display: block;
	padding: 5px;
	border: none;
	position: relative;
	height: 40px;
	width: 40px;
	background: transparent;
}

.tableofcontents__close button > span {
	display: block;
	background: var(--clrsidebartext);
	height: 5px;
	width: 40px;
	position: absolute;
}

.tableofcontents__close button span:first-child {
	transform: rotate(45deg);
	top: 18px;
	left: 0;
}

.tableofcontents__close button span:last-child {
	transform: rotate(-45deg);
	top: 18px;
	left: 0;
}

.tableofcontents__close button:hover > span {
	background: var(--clrsidebartexthover);
}

.tableofcontents {
	background-color: var(--clrsidebarbg);
	color: var(--clrsidebartext);
	padding: 1.5em;
	position: absolute;
	top: 0;
	width: 100vw;
}

.tableofcontents--closed {
	left: calc(-1 * 100vw);
}

.tableofcontents--open {
	left: 0;
}

.tableofcontents a {
	text-decoration: none;
	color: var(--clrsidebartext);
	display: block;
	margin-bottom: .5em;
}

.tableofcontents a:hover {
	color: var(--clrsidebartexthover);
}

.tableofcontents ul li {
	list-style: none;
}

.tableofcontents .pagename > a {
	font-size: 1.2em;
}

.tableofcontents__close {
	display: block;
}

.page__footer {
	padding: .5em 1em;
	border-top: solid 6px var(--clrh2bg);
	text-align: center;
}

.references ul {
	list-style: none;
}

.references ul li {
	padding: 0;
	margin: 0;
}

.content {
	padding: 1.5em;
}

.chapter {
	margin-bottom: 3em;
}

.codeexample {
	display: block;
	padding: 1em 1em 0 1em;
	color: var(--clrcode);
	background: var(--clrcodebg);
	margin: 1em 0;
	font-size: 1.3em;
	white-space: pre-wrap;
}

.tag, .var, .path {
	font-weight: normal;
	color: #aa0000;
}

.path {
	font-style: italic;
}

.next {
	margin-bottom: 1em;
}

@media screen and (min-width: 768px) {
	.tableofcontents {
		position: static;
		width: auto;
	}

	.tableofcontents__close {
		display: none;
	}

	.main__inner {
		grid-template-columns: 30% 70%;
	}

	.header__title {
		margin: 0;
		color: var(--clrlink);
		font-size: 2em;
	}

	h2 {
		font-size: 1.7em;
	}

	.header__hamburger {
		display: none;
	}
}
