* {
	border: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box; 
	-moz-box-sizing: border-box; 
	-webkit-box-sizing: border-box; 
	-webkit-font-smoothing: antialiased;
}

html {
	overflow: auto;
	overflow-y: scroll;
	height: 100%;
	width: 100%;
}

body {
	background: #FFF;
	color: #222;
	counter-reset: number;
	font-family: arial, sans-serif;
	font-size: 14px;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	line-height: 1.5;
	text-align: left;
	height: 100%;
	width: 100%;
}

div {
	position: relative;
}

div.page {
	background: #FFF;
	min-height: 100%;
}

div.header {
	background: #222;
	color: #FFF;
	padding: 30px 0;
}

div.content {
	padding: 30px 0;
}

div.footer {
	background: #222;
	color: #FFF;
	padding: 25px 0;
}

div.menu {
	background: #0090C0;
	color: #FFF;
	display: none;
	font-size: 1.2em;
	line-height: 1.8;
	padding: 15px 0;
}

div.inner {
	width: 800px;
	max-width: 92%;
	margin: 0 auto;
}

div.menu div.inner {
	column-count: 5;
}

div.coauthors {
	column-count: 3;
}

div.plugins {
	column-count: 3;
	margin-bottom: 0.8em;
	max-width: 100%;
	width: 400px;
}

div.nrjtoc {
	column-count: 2;
	max-width: 100%;
	width: 400px;
}

div.mtjtoc {
	column-count: 3;
	max-width: 100%;
	width: 600px;
}

div.logo {
	position: absolute;
	height: 32px;
	width: 32px;
	right: 0;
	top: 50%;
	margin-top: -16px;
}

div.clear {
	clear: both;
}

h1 {
	font-weight: bold;
	font-size: 1.6em;
	margin-bottom: 0.7em;
}

h2 {
	font-weight: bold;
	font-size: 1.2em;
}

h2.margin,
h2.martop {
	margin-top: 1.5em;
}

h2.margin,
h2.marbot {
	margin-bottom: 1em;
}

hr {
	border-top: 1px solid #AAA;
	margin: 0 0 1em 0;
	clear: both;
}

div.header h1 {
	font-weight: normal;
	font-size: 2em;
	line-height: 1;
	margin-bottom: 0em;
}

div.header span {
	font-size: 0.75em;
}

a {
	color: #0090C0;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

div.header a,
div.footer a,
div.menu a {
	color: #FFF;
}

div.header a:hover,
div.footer a:hover {
	text-decoration: none;
}

ol, ul {
	list-style: none;
}

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

div.menu ul {
	margin: 0;
}

ol.number li {
	counter-increment: number;
	margin-left: 2em;
}

ol.number li:before {
	content: "["counter(number)"]";
	position: absolute;
	left: 0;
}

ul.bullet li {
	margin-left: 1.2em;
}

ul.bullet li:before {
	content: "\25CF";
	position: absolute;
	left: 0;
}

ol.spaced li,
ul.spaced li {
	margin-top: 0.5em;
}

ul.pubs li {
	display: inline;
}

ul.pubs li:not(:last-child):after {
	content: " | ";
}

ul.pubs li.intro:after {
	content: ":";
}

img {
	max-width: 100%;
}

img.center {
	display: block;
	margin: 0 auto 1em;
}

img.left {
	float: left;
	margin: 0 1.2em 1em 0;
}

img.right {
	float: right;
	margin: 0 0 1em 1.2em;
}

img.bio   { width: 300px; }
img.cover { width: 300px; }
img.topic { width: 380px; }
img.w300  { width: 300px; }
img.w350  { width: 350px; }
img.w400  { width: 400px; }

img.icon {
	margin: 0 0.8em 1em 0;
	width: 32px;
}

img.engine {
	margin: 0.8em 1.5em 1em 0;
	height: 64px;
}

table {
	border: 0 solid #FFF;
	border-spacing: 0;
}

table.center {
	margin: 0 auto;
}

table.keys {
	border: 1px solid #BBB;
}

table.keys tr:nth-child(1) {
	background: #BBB;
}

table.keys tr:nth-child(2n+3) {
	background: #EEE;
}

table.keys td {
	padding: 1px 10px;
	vertical-align: top;
}

td.center {
	text-align: center;
}

td.w5  { width: 5px; }
td.w10 { width: 10px; }

td.h5  { height: 5px; }
td.h10 { height: 10px; }

td.img {
	line-height: 0;
}

@media ( max-width: 800px ) {
	
	div.header,
	div.content {
		padding: 29px 0;
	}
	
	div.header h1 {
		font-size: 2em;
	}
}

@media ( max-width: 700px ) {
	
	div.header,
	div.content {
		padding: 28px 0;
	}
	
	div.header h1 {
		font-size: 1.95em;
	}
	
	div.inner {
		max-width: 91%;
	}
	
	div.menu div.inner {
		column-count: 3;
	}
	
	div.coauthors {
		column-count: 2;
	}
	
	img.bio,
	img.cover,
	img.topic,
	img.w300,
	img.w350,
	img.w400 {
		float: none;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	
	img.bio {
		margin: 0 0 0.2em 0;
	}
	
	img.bio + p {
		margin-bottom: 1.6em;
	}
	
	ul.pubs li {
		display: list-item;
	}
	
	ul.pubs li:not(:last-child):after {
		content: "";
	}
	
	ul.pubs li.intro:after {
		content: ":";
	}
}

@media ( max-width: 650px ) {
	
	div.mtjtoc {
		column-count: 1;
	}
}

@media ( max-width: 600px ) {
	
	div.header,
	div.content {
		padding: 27px 0;
	}
	
	div.header h1 {
		font-size: 1.9em;
	}
	
	div.inner {
		max-width: 90%;
	}
}

@media ( max-width: 500px ) {
	
	div.header,
	div.content {
		padding: 26px 0;
	}
	
	div.header h1 {
		font-size: 1.85em;
	}
	
	div.inner {
		max-width: 89%;
	}
	
	div.menu div.inner {
		column-count: 2;
	}
	
	div.coauthors {
		column-count: 1;
	}
}

@media ( max-width: 400px ) {
	
	div.header,
	div.content {
		padding: 25px 0;
	}
	
	div.header h1 {
		font-size: 1.8em;
	}
	
	div.inner {
		max-width: 88%;
	}
	
	div.nrjtoc {
		column-count: 1;
	}
}

@media ( max-width: 350px ) {
	
	div.header span {
		display: none;
	}
}

@media ( max-width: 300px ) {

	div.plugins {
		column-count: 1;
	}
}
