body {
	background: #f8f8f8;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 250;
	margin: 0;
    padding: 0;
}

.floater {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	margin: 0;
	text-align: right;
}

.floater span.floaterbox {
	display: inline-block;
	padding: 5px;
	background: #eee;
	border: 1px solid #aaa;
	margin: 10px 10px 0 0;
}

.floater a.download {
	border: 1px solid;
	border-radius: 5px;
	padding: 1px 5px;
	margin: 0 5px;
}

.floater a.download:hover {
	background: #dbe7f9;
	text-decoration: none;
}

section {
	margin: 20px 100px;
	text-align: justify;
	border: 1px solid #cddcf4;
	padding: 10px;
}

section h1 {
	margin-top: 0;
}

section h1::after {
	content: '';
	display: block;
	height: 2px;
	width: 50%;
	background-color: #ccc;
	background: -moz-linear-gradient(left, rgba(100,210,20,1) 0%, rgba(100,210,20,0) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(100,210,20,1)), color-stop(100%,rgba(100,210,20,0))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(left, rgba(100,210,20,1) 0%,rgba(100,210,20,0) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(left, rgba(100,210,20,1) 0%,rgba(100,210,20,0) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(left, rgba(100,210,20,1) 0%,rgba(100,210,20,0) 100%); /* IE10+ */
	background: linear-gradient(to right, rgba(100,210,20,1) 0%,rgba(100,210,20,0) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#64d214', endColorstr='#0064d214',GradientType=1 ); /* IE6-9 */
}

section h2::after {
	content: '';
	display: block;
	height: 1px;
	width: 50%;
	background-color: #ddd;
	background: -moz-linear-gradient(left, rgba(221,221,221,1) 0%, rgba(221,221,221,0) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(221,221,221,1)), color-stop(100%,rgba(221,221,221,0))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(left, rgba(221,221,221,1) 0%,rgba(221,221,221,0) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(left, rgba(221,221,221,1) 0%,rgba(221,221,221,0) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(left, rgba(221,221,221,1) 0%,rgba(221,221,221,0) 100%); /* IE10+ */
	background: linear-gradient(to right, rgba(221,221,221,1) 0%,rgba(221,221,221,0) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dddddd', endColorstr='#00dddddd',GradientType=1 ); /* IE6-9 */
}

section h3::after {
	content: '';
	display: block;
	height: 1px;
	width: 50%;
	background-color: #eee;
	background: -moz-linear-gradient(left, rgba(238,238,238,1) 0%, rgba(238,238,238,0) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(238,238,238,1)), color-stop(100%,rgba(238,238,238,0))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(left, rgba(238,238,238,1) 0%,rgba(238,238,238,0) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(left, rgba(238,238,238,1) 0%,rgba(238,238,238,0) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(left, rgba(238,238,238,1) 0%,rgba(238,238,238,0) 100%); /* IE10+ */
	background: linear-gradient(to right, rgba(238,238,238,1) 0%,rgba(238,238,238,0) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#00eeeeee',GradientType=1 ); /* IE6-9 */
}

section h4 {
	font-size: 18px;
}

section p:last-child {
	margin-bottom: 0;
}

section img {
	max-width: 100%;
	height: auto;
}

a {
	text-decoration: none;
	color: #1d65d1;
}

a:hover {
	text-decoration: underline;
}

a:visited {
	color: #99b;
}

footer {
	text-align: center;
}

pre {
	overflow: auto;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	margin-left: 35px;
}

tr:nth-child(even) {
	background: #eee;
}

th, td {
	border: 1px solid #ddd;
	padding: 5px 10px;
}

@media screen and (max-width: 1200px) {
	section {
		margin: 20px 8.333%;
	}
}

@media screen and (max-width: 800px) {
  	.floater {
		display: block;
		position: relative;
		padding: 0;
		border-bottom: 1px solid #cddcf4;
		background: #eee;
	}
	
	.floater span.floaterbox {
		padding: 5px 10px;
		margin-top: 0;
		border: none;
	}
	
	section {
		margin: 0;
		border: none;
	}
	
	footer {
		border-top: 1px solid #cddcf4;
	}
}