/* Typography */
html {
	font-size: 16px;
	font-family: Arial;
}

body {
	font-size: 1rem;
	line-height: 1.5em;
	margin: auto;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2.2rem; }
h3 { font-size: 2.0rem; }
h4 { font-size: 1.8rem; }
h5 { font-size: 1.6rem; }
h6 { font-size: 1.4rem; }

h1, h2, h3, h4, h5, h6 {
	line-height: 1em;
	margin-top: 1em;
	margin-bottom: 0.5em;
	font-weight: normal;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
pre:first-child {
	margin-top: auto;
}

p, ul, pre {
	margin-bottom: 1em;
}

p:last-child, ul:last-child, pre:last-child {
	margin-bottom: auto;
}

/* Structure */
header {
	background-color: #cef;
	box-shadow: 2px 2px 4px rgb(0, 0, 0, 0.2);
}

main {
	margin-top: 15px;
}

section {
	padding: 30px 15px;
	background-color: #fff;
}

footer {
	background-color: #cef;
	box-shadow: 2px -2px 4px rgb(0, 0, 0, 0.2);
	padding: 10px 0;
	text-align: center;
	margin-top: 15px;
}

/* Navigation */
nav ul {
	margin: auto;
	padding: 0 15px;
	list-style: none;
	font-size: 1.2rem;
	display: flex;
	gap: 30px;
}

nav li a {
	color: #338;
	text-decoration: none;
	font-weight: lighter;
	padding: 10px;
	border-bottom: 2px solid transparent;
	display: block;
}

nav li a.active {
	box-shadow: inset 2px 2px 4px rgba(0,0,0,0.1);
}

nav li a:hover {
	border-bottom-color: #338;
}

/* Utility */
.container {
	margin-left: auto;
	margin-right: auto;
	max-width: 1170px;
}

ul.filestructure {
	list-style: none;
	padding: 0 10px;
}

.filestructure li::before {
	content: '📂';
	margin-right: 0.5em;
}

.filestructure li.file::before {
	content: '📄';
}

code, .codeblock {
	font-family: monospace;
	line-height: 1em;
	color: #11a;
	font-size: 0.9em;
	padding: 4px;
	background-color: rgba(128,128,128,0.1);
}

.codeblock {
	padding: 10px;
	position: relative;
}

.codeblock .title {
	position: absolute;
	right: 10px;
	top: 10px;
	font-family: ;
	background-color: #fff;
	padding: 5px;
	color: #333;
}

.monospace {
	font-family: monospace;
	line-height: 1em;
}

.float-left {
	float: left;
	margin-right: 15px;
	margin-bottom: 15px;
}

.warn {
	background-color: #FFDF9F;
	padding: 15px;
	border: 2px solid #FFB014;
}

@media only screen and (min-width: 960px) and (max-width: 1200px) {
	.container {
		max-width: 900px;
	}
}

@media only screen and (min-width: 720px) and (max-width: 959px) {
	.container {
		max-width: 700px;
	}
}

@media only screen and (max-width: 719px) {	
	.container {
		max-width: auto;
	}
}