body {
	margin: 0;
	padding: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
	display: block;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 10px 0;
	font-family: "Droid Serif", Cambria, sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1.2;
}

a {
	color: #0789C9;
	text-decoration: none;
}

body {
	font-family: "Open Sans", Calibri, helvetica, sans-serif;
	font-size: 14px;
	color: #333;
	background-color: #FFFFFF;
	line-height: 1.6;
}

#header {
	background-color: #EEE;
	border-top: 16px solid #444;
	border-bottom: 8px solid #0789C9;
	margin-bottom: 25px;
	transition: all ease 0.3s;
	padding: 30px 0;
}

#header div {
	margin-right: auto;
	margin-left: auto;
	width: 80%;
	max-width: 1200px;
}

#header div:after {
	clear: both;
	content: "";
	display: table;
	line-height: 0;
}

#header hgroup {
	float: left;
}

#header h1 a {
	color: #111;
	font-family: Arial, sans-serif;
	font-size: 42px;
}

#header h2 {
	font-size: 15px;
	color: #555;
	font-family: "Open Sans";
	font-weight: normal;
}

#header nav {
	float: right;
	position: relative;
	top: 20px;
}

#header ul {
	list-style: none;
}

#header li {
	height: 40px;
	float: right;
	margin-left: 4px;
}

#header ul a {
	display: block;
	height: 100%;
}

#header li img {
	width: 40px;
}

#footer {
	background-color: #333;
	color: #CCC;
	font-size: 13px;
	min-height: 45px;
	margin-top: 25px;
}

#footer div {
	margin-right: auto;
	margin-left: auto;
	width: 80%;
	max-width: 1200px;
	line-height: 45px;
}

#footer a {
	color: #CCC;
}

#footer div:after {
	clear: both;
	content: "";
	display: table;
	line-height: 0;
}

#footer p {
	margin: 0;
}

#body {
	margin-right: auto;
	margin-left: auto;
	width: 80%;
	max-width: 1200px;
}

#body:after  {
	clear: both;
	content: "";
	display: table;
	line-height: 0;
}

main {
	float: left;
	width: 67%;
}

main + aside {
	float: right;
	width: 30%;
}

main + aside section {
	background-color: #F9F9F9;
	margin-bottom: 15px;
	padding: 0 15px 15px 15px;
}

main + aside h1 {
	background-color: #F1F1F1;
	line-height: 50px;
	padding: 0 15px;
	font: bold 15px/50px "Open Sans";
	text-transform: uppercase;
	color: #777;
	position: relative;
	left: -15px;
	width: 100%;
}

ul.categories {
	list-style: none;
	padding: 0;
}
ul.categories li {
	display: inline-block;
	margin: 1px;
}
ul.categories a {
	background-color: #EEE;
	display: block;
	height: 27px;
	line-height: 25px;
	color: #444;
	padding: 1px 7px;
}

article {
	margin-bottom: 25px;
	padding-bottom: 25px;
	border-bottom: 1px dotted #CCC;
}

article h1 {
	font-size: 28px
}

article header {
	margin-bottom: 5px;
	padding-bottom: 3px;
	color: #AAA;
	font-size: 13px;
}

article p {
	margin-bottom: 10px;
}

article img {
	max-width: 100%;
}

article footer {
	
}

.snow-series .current {
	font-weight: 700;
}

code.prettyprint {
	border: 1px solid #eaeaea;
	background-color: #f8f8f8;
	border-radius: 3px;
}

pre.prettyprint {
	line-height: 1;
	overflow-x: scroll;
}

.post-list span {
	color: #AAA;
	font-size: 13px;
}

.pagination ul {
	list-style-type: none;
}

.pagination li {
	display: inline-block;
}

.pagination a {
	background-color: #EEE;
	display: block;
	height: 34px;
	line-height: 32px;
	padding: 1px 7px;
	font-size: 16px
}

table.linqpad {
	border-collapse: collapse;
	border: 2px solid #17b;
	margin: 0.3em 0.2em;
	display: inline-table;
}

table.linqpad td, table.linqpad th {
	vertical-align: top;
	border: 1px solid #aaa;
	padding: 0.1em 0.2em;
	margin: 0;
}

table.linqpad td.typeheader {
	font-weight: bold;
	background-color: #17b;
	color: white;
	padding: 0 0.2em 0 0.1em;
}

table.linqpad th {
	text-align: left;
	background-color: #ddd;
	border: 1px solid #777;
	font-size: 90%;
	font-weight: bold;
}

table.linqpad td.n {
	text-align: right;
}

table.linqpad td.columntotal {
	background-color: #eee;
	font-weight: bold;
	color: #17b;
	font-size: 90%;
	text-align: right;
}

.highlight {
	background-color: rgb(236, 236, 21);
}

@media screen and (max-width: 1024px) {
	#header div, #body, #footer div {
		width: 98%;
	}
}

@media screen and (max-width: 800px) {
	main, main + aside {
		width: 100%;
	}
	
	footer div {
		text-align: center;
	}
}

@media screen and (max-width: 500px) {
	#header {
		text-align: center;
	}
	#header hgroup {
		float: none;
	}
	
	#header nav {
		float: none;
	}
	#header ul {
		display: inline-block;
		padding: 0;
	}
}