/* Minimal reset - modern browsers handle most things correctly */
body {
	margin: 0;
}
.icon-home {
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url(icons/home.svg);
	background-size: 24px 24px;
	vertical-align: middle;
}
.icon-all-pages {
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url(icons/all-pages.svg);
	background-size: 24px 24px;
	vertical-align: middle;
}
.icon-edit {
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url(icons/edit.svg);
	background-size: 24px 24px;
	vertical-align: middle;
}
.icon-new {
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url(icons/new.svg);
	background-size: 24px 24px;
	vertical-align: middle;
}
.icon-log {
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url(icons/log.svg);
	background-size: 24px 24px;
	vertical-align: middle;
}
.icon-menu {
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url(icons/menu.svg);
	background-size: 24px 24px;
	vertical-align: middle;
}
.icon-user {
	display: inline-block;
	height: 24px;
	vertical-align: middle;
}
:root {
	--header-color: #086788;
	--nav-color: #263238;
	--nav-section-color: #37474f;
	--nav-text-color: #ffffff;
	--nav-selected-color: #4e6069;
}

* {
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
}

body, html {
	height: 100%;
}

body {
	text-rendering: optimizeLegibility;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 14px;
	letter-spacing: 0.2px;
}

pre {
	overflow: auto;
}

#content {
	height: 100%;
	display: flex;
	flex-direction: column;

	& header {
		flex: 0 0 40px;
		background-color: var(--header-color);
		box-shadow: 0 0 5px rgba(0,0,0,0.3);
	}
}

#main {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: row;

	& nav {
		background-color: var(--nav-color);
		flex: 0 0 200px;
		overflow: hidden;
		flex-direction: column;

		& h3 {
			background-color: var(--nav-section-color);
			padding: 8px;
			margin: 0;
			box-shadow: 0 0 5px rgba(0,0,0,0.3);
			text-align: center;
		}

		& li a {
			color: var(--nav-text-color);
			text-decoration: none;
			display: inline-block;
			width: 100%;
			padding: 8px;
		}

		& li a:hover {
			background-color: var(--nav-selected-color);
		}

		& ul {
			list-style-type: none;
			margin: 0;
			padding: 0;
			font-weight: bold;

			& ul {
				font-weight: normal;
				margin-left: 10px;
			}
		}

		& #toc {
			flex: auto;
		}
	}

	& article {
		flex: 1 1 auto;
		min-height: 0;
		overflow: auto;
		overflow-wrap: break-word;
	}
}

#toolbar {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: stretch;
	font-weight: bold;

	& a, & .user {
		padding: 7px;
		text-decoration: none;
		color: var(--nav-text-color);
	}

	& a:hover {
		background-color: var(--nav-selected-color);
	}

	& .toolbar-divider {
		border-left: 2px solid white;
		height: 24px;
		margin: 7px;
	}

	& .left {
		margin: 2px;
		padding-left: 7px;
		padding-right: 7px;
		margin-right: auto;
	}
}

@media only screen and (min-width: 600px) {
	#main nav {
		display: flex;
	}
}

@media only screen and (max-width: 600px) {
	#main nav {
		display: none;
	}
}
:root {
	--title-color: #f0c808;
}

h1, h2, h3, h4, h5, h6 {
	& .zola-anchor {
		color: #4183c4;
		padding-left: 10px;
		text-decoration: none;
		font-weight: initial;
		visibility: hidden;
	}

	&:hover .zola-anchor {
		visibility: visible;
	}
}

hr {
	border-top: 8px solid #bbb;
	border-radius: 5px;
	margin-right: 8px;
	margin-left: 8px;
}

.content {
	padding: 8px;
}

.title {
	background-color: var(--title-color);

	& h1 {
		font-size: 3em;
		margin-top: 0;
		margin-bottom: 0;
		padding: 8px;
	}
}
