/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}

/* highlight.js - tomorrow night bright */
.hljs-comment,.hljs-title{color:#969896}.hljs-variable,.hljs-attribute,.hljs-tag,.hljs-regexp,.ruby .hljs-constant,.xml .hljs-tag .hljs-title,.xml .hljs-pi,.xml .hljs-doctype,.html .hljs-doctype,.css .hljs-id,.css .hljs-class,.css .hljs-pseudo{color:#d54e53}.hljs-number,.hljs-preprocessor,.hljs-pragma,.hljs-built_in,.hljs-literal,.hljs-params,.hljs-constant{color:#e78c45}.ruby .hljs-class .hljs-title,.css .hljs-rules .hljs-attribute{color:#e7c547}.hljs-string,.hljs-value,.hljs-inheritance,.hljs-header,.ruby .hljs-symbol,.xml .hljs-cdata{color:#b9ca4a}.css .hljs-hexcolor{color:#70c0b1}.hljs-function,.python .hljs-decorator,.python .hljs-title,.ruby .hljs-function .hljs-title,.ruby .hljs-title .hljs-keyword,.perl .hljs-sub,.javascript .hljs-title,.coffeescript .hljs-title{color:#7aa6da}.hljs-keyword,.javascript .hljs-function{color:#c397d8}.hljs{display:block;overflow-x:auto;background:#333333;color:#eaeaea;padding:.5em;-webkit-text-size-adjust:none}.coffeescript .javascript,.javascript .xml,.tex .hljs-formula,.xml .javascript,.xml .vbscript,.xml .css,.xml .hljs-cdata{opacity:.5}

/* clearfix */
.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
    }
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

/* main */
body {
	font-family: sans-serif;
	font-size: 18px;
	background-color: #f3f3f3;
	overflow-y: scroll;
}

.ieWarning {
	font-size: 30px;
	padding: 30px;
	background-color: #900000;
	color: #fff;
}

#logo {
	height: 100px;
	width: 930px;
	margin: 40px auto 40px auto;
}

#logo .box {
	width: 100px;
	height: 100px;
	background-color: #690;
	float: left;
}

#logo .slogan {
	display: block;
	padding: 32px 0 0 120px;
	font-family: Helvetica, sans-serif;
}

#logo .slogan a {
	display: block;
	text-decoration: none;
	color: #000;
	font-size: 45px;
	font-weight: bold;
	width: 400px;
	letter-spacing: -2.25px;
}

#logo .slogan span {
	font-size: 20px;
	color: #737373;
	font-weight: bold;
}

#logo .slogan a:hover {
	color: #690;
}

#submenu {
	width: 200px;
	margin-left: 730px;
	text-align: right;
	position: absolute;
	top: 75px;
	color: #aaaaaa;
}

#submenu li {
	display: inline-block;
	padding: 20px 0 20px 20px;
}

#submenu a {
	color: #aaaaaa;
	text-decoration: none;
	font-size: 14px;
	line-height: 20px;
}

#submenu a:hover {
	color: #505050;
}

article {
	width: 780px;
	padding: 50px 100px 50px 50px;
	border: 1px solid #e0e0e0;
	background-color: #ffffff;
	margin: 0 auto 20px auto;
}

article header h1, article header h2 {
	font-size: 42px;
	letter-spacing: 0.4px;
	line-height: 52px;
	margin-bottom: 24px;
	font-weight: bold;
	color: #505050;
}

article header a {
	text-decoration: none;
}

article header a h2:hover {
	color: #303030;
}

article header span {
	font-size: 16px;
	color: #909090;
	display: block;
	height: 48px;
}

article.special header span {
	display: none;
}

article .articleContent {
	font-size: 16px;
	line-height: 26px;
	color: #404040;
}

article .articleContent p, article .articleContent blockquote, article .articleContent ul, article .articleContent code {
	margin-bottom: 20px;
}

article .articleContent b, article .articleContent strong {
	font-weight: bold;
}

article .articleContent i, article .articleContent em {
	font-style: italic;
}

article .articleContent code {
	font-family: monospace;
}

article .articleContent h3 {
	font-size: 30px;
	letter-spacing: -1.50px;
	margin: 30px 0 20px 0;
}

article .articleContent ol {
	list-style-type: decimal;
	margin-left: 20px;
}

article .articleContent a {
	text-decoration: none;
	color: #690;
}

article .articleContent ol li {
	margin-bottom: 10px;
}

article .articleContent blockquote {
	border-left: 6px solid #a0a0a0;
	padding-left: 25px;
	color: #808080;
	font-style: italic;
}

article .articleContent dl {
	width: 100%;
	overflow: hidden;
}

article .articleContent table.markEvenOdd tr:nth-child(odd){
	background-color: #ccffcc;
}

article .articleContent table.markEvenOdd tr:nth-child(even){
	background-color: #ccccff;
}

article .articleContent table.markEvenOdd tr.markEvenOddIgnore{
	background-color: #ffffff;
}

#disqus_thread {
	margin-top: 40px;
}

@media only screen and (max-width: 960px) {
	article {
		padding: 20px 50px 20px 20px;
		background-color: #ffffff;
		margin: 0 0 20px 0;
		width: auto;
		border: none;
	}
	
	#logo {
		height: auto;
		width: auto;
		margin: 20px auto 0 auto;
	}
	
	#logo .box {
		width: 50px;
		height: 50px;
	}
	
	#logo .slogan {
		padding: 6px 0 0 60px;
	}

	#logo .slogan a {
		width: auto;
		font-size: 23px;
	}
	
	#logo .slogan span {
		font-size: 12px;
		letter-spacing: -1.125px;
	}
		
	
	#submenu {
		width: auto;
		margin-left: 0;
		text-align: left;
		position: static;
		top: 75px;
		color: #aaaaaa;
		clear: both;
	}

	#submenu li {
		display: block;
		padding: 12px 0 12px 20px;
	}
	
	#submenu li:not(:last-child) {
		border-bottom: 1px #aaaaaa solid;
	}

	#submenu a {
		color: #aaaaaa;
		text-decoration: none;
		font-size: 14px;
		line-height: 20px;
	}
}