* {
	box-sizing: border-box;
}
html, body {
	height: 100%;
}
body {
	color: #333;
	font: 300 normal 16px/1.7 Georgia, 'Palatino Linotype', 'Times New Roman', serif;
}

a {
	text-decoration:none;
}
a:focus {
	outline: thin dotted;
}
article a:hover {
	outline: 0;
}

article a {
	color: #23AD5A;
}
article a:hover {
	color: #00C42F;
}

img {
	max-width: 100%;
}

/* ASIDE */

aside,
article {
	padding: 3em;
}

aside {
	position: fixed;
	top: 0; bottom: 0;
	left: 0;
	width: 20em;
	overflow: auto;

	font-family: Arial;
	color: #999;
	background: #2c3e50;
}
aside header {
	text-align: center;
	margin-bottom: 3em;
}
aside h1 {
	margin-bottom: 0;
}

aside nav > ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
aside nav > ul > li {
	margin: 1em 0;
	font-size: 1em;
}
aside li li {
	font-size: .8em;
}
aside li li:first-child {
	margin-top: .5em;
}
aside li ol li {
	list-style-type: lower-alpha;
}


aside a {
	color: #fff;
}
aside li a:hover {
	text-decoration: underline;
}


/* ARTICLE */


article {
	margin: 0 20% 0 20em;

	color: #333;
	background: #fff;
}
article p,
article ul,
article ol {
	max-width: 42em;
}


h1 {
	font: bold 4.5em/1.25 Arial;
	margin: 0 0 .5em 0;
	text-align: center;
	text-transform: uppercase;
}
header h2 {
	font: italic normal 1.6rem/1 Georgia, serif;
	margin: 0;
}
#toc {
	position: fixed;
	right: 0;
	width: 20%;
}
#toc ul {
	padding-left: 1em;
}
#toc li {
	list-style-type: none;
}
#toc li li {
	font-size: .8em;
}
#toc li li:before {
	content: "# ";
}



article figure {
	float: right;
	clear: both;
	margin: 0 0 1em 2em;
	max-width: 100%;
}
article figcaption {
	font-size: .9em;
	font: italic .8em Arial;
}
article li,
article h2,
article h3 {
	clear: both;
}


@media only screen and (max-width: 110em) {

	article p,
	article ul,
	article ol {
		max-width: 42em;
	}
	article figure {
		float: none;
		position: static;
		margin: 2em 0;
		text-align: right;
	}

}
@media only screen and (max-width: 85em) {
	body {
		font-size: 14px;
	}
	article figure {
		text-align: center;
	}
}
@media only screen and (max-width: 72em) {
	h1 {
		font-size: 4em;
	}
	article {
		margin-right: 0;
	}
	article figure {
		text-align: center;
	}
	#toc {
		position: static;
		width: auto;
		margin-bottom: 2em;
		border: 1px solid #000;
		border-width: 1px 0;
	}

}
@media only screen and (max-width: 55em) {

	body {
		font-size: 16px;
	}
	aside {
		width: 100%;
		height: 5em;
		padding: .5em;
		overflow: hidden;
	}
	aside h1 {
		font-size: 2em;
	}
	aside h2 {
		font-size: 1em;
	}
	aside:hover {
		height: 100%;
	}
	article {
		margin: 8em 0 0 0;
		padding: 0 5% 25% 5%;
		z-index: 2;
	}
	article header h1 {
		font-size: 2em;
	}

}