/* HTML5 ✰ Boilerplate: + Some, - Some*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ""; content: none; }
ins { background-color: #ff9; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
input, select { vertical-align: middle; }

body { font:13px/1.231; *font-size:small; }
select, input, textarea, button { font:99% sans-serif; }
pre, code, kbd, samp { font-family: monospace, sans-serif;}
pre { overflow: auto; }

html { overflow-y: scroll; }
a:hover, a:active { outline: none; }
ol { list-style-type: decimal; }
nav ul, nav li { margin: 0; list-style:none; list-style-image: none; }
small { font-size: 85%; }
strong, th, b { font-weight: bold; }
td { vertical-align: top; }
sub, sup { font-size: 75%; line-height: 0; position: relative; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

pre { white-space: pre; padding: 1em 0; }
textarea { overflow: auto; } 
.ie6 legend, .ie7 legend { margin-left: -7px; } 
input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; }
.ie7 input[type="checkbox"] { vertical-align: baseline; }
.ie6 input { vertical-align: text-bottom; }
label, input[type="button"], input[type="submit"], input[type="image"], button { cursor: pointer; }
button, input, select, textarea { margin: 0; }
input:valid, textarea:valid   {  }
input:invalid, textarea:invalid { border-radius: 1px; -moz-box-shadow: 0px 0px 5px red; -webkit-box-shadow: 0px 0px 5px red; box-shadow: 0px 0px 5px red; }

button {  width: auto; overflow: visible; }
.ie7 img { -ms-interpolation-mode: bicubic; }

/* Typography: Scale & Rythm */
/* http://lamb.cc/typograph/ 4:7 Fibonacci */
body { 			  line-height:1.45; text-align:center; }
#page {       text-align: left; }
h1, h2, h3 { 	margin-top:0; margin-bottom:0; }
h1 { 					font-size:2.61538em; padding:1.2868em 0; font-weight: bold; }
h2, h3 { 			font-size:1.61538em; padding:1.30958em 0; font-weight: normal; }
h4, h5 { 			font-size:1em;       padding:1.30958em 0; font-weight: bold; }
aside { 			font-size:1.61538em; padding:1.30958em; }
nav { 				font-size:1.61538em; padding:0.65em 0; }
pre, code, kbd, samp { font-size: 0.9em; }
em { font-style: italic; }
dd + dt { margin-top: 0.5em; }

/* Fonts */
body { 
  font-family: "Helvetica Neue", Arial, sans-serif;
}
nav, h1, h2, h3 { 	
  font-family: 'LeagueGothicRegular', sans-serif; 
}
nav, h1 {
  text-transform: uppercase; text-align: center; 
}

/* Page Layout */
body  {       position: relative; }
nav   {       position: relative; }
#page { 			margin:1em auto; width:45em; min-height:63.6396em; position: relative;}
#content { 		margin: 1.3075961538461536em 2em 5em 2em; }
aside { 			
  color: #666;
  font-size: 0.75em;
  padding: 0.5em;
  width: 10em;
}
aside, 
aside.right { position:absolute; right: -12em;}
aside.left  { position:absolute; left:  -12em;}

/* Special Layout Instructions: */

figure { text-align: center; }
figure > figcaption{ font-style: oblique; }

p + p, 
ul + p, p + ul,
ol + p, p + ol,
p + pre, pre + p,
p + aside, aside + p {
	margin: 1em 0;
}

/* Tables */
#content table {
  margin: 1em 0 1em 20px;
  font-size: 0.9em;
}

#content table td + td,
#content table th + th {
  padding-left: 1em;
}

/* Colors */
body, select, input, textarea { color: #444; }

p > code, li > code { background: #EFEFEF;}

#page { background: #fff; }
aside { color: #666; }

h1, h2, h3 { color: inherit; }
h4, h5, h6 { color: #999; }

/* Prevent header text from getting styled */
h1 a, 				h2 a, 				h3 a,
h1 a:active, 	h2 a:active, 	h3 a:active,
h1 a:visited, h2 a:visited,	h3 a:visited{ 
  font-size: 0.8em;
  text-decoration: none;
}

blockquote {
  margin: 1em 2em;
  font-style: italic;
  color: #666;
}

blockquote cite {
  text-align: right;
  display:block;
  margin-right: 1em;
}

/* Links */
a, a:active, a:visited { color: #A02020; }
a:hover { color: #D02929; }
a:link { -webkit-tap-highlight-color: #ED3A37; }

/* Selections Colors */
::-moz-selection{ background: #FDCD9F; color:#fff; text-shadow: none; }
::selection { background:#FDCD9F; color:#fff; text-shadow: none; }

/* Decoration */
#sketch #monkey {   position: absolute; bottom: -64px; right: 12px; }
#sketch #crow {     position: absolute; bottom: -48px; left:  12px; }

img.round {
  border-radius: 50%;
}

img.framed {
  border: 1px solid #666; 
}

img.x2 { /* this is busted, what was I thinking? */
  width: 50%; height: 50%; 
}

.highlight { 
  background: rgb(255, 243, 157); 
  color: rgb(95, 91, 60);
}

dl.conversation {
  margin: 1em 0;
}
dl.conversation:after {
  content: "";
  display: table;
  clear: both;
}

dl.conversation > dt,
dl.conversation > dd {
  padding-top: 0.5em;
}

dl.conversation > dt {  
  margin: 0;
  clear: left;
  float: left;
  width: 5em;
  
  text-align: right;
  font-weight: bold;
}

dl.conversation > dt:after {
  content: ":";
  margin-right: 0.5em;
}

dl.conversation > dd {
  margin: 0;
}

/* Components */

/* Header */
nav { 
  background: #333; 
  box-shadow: 0px 2px 8px #333;
}
nav a, nav a:active, nav a:visited { color: #DFDFD6; }
nav a:hover {color: #F0F1E3; }
nav .decoration { width: 100%; border-bottom: 1px dashed #666; bottom: 4px; position: absolute;}
nav a {text-shadow: 0.1em 0.1em #666; text-decoration: none;}
nav a + a { margin-left: 1em; }


/* Feed Link */
#feed-link {  position: absolute; top: 4px; right: 4px; }
#feed-link a { text-decoration: none;}
#feed-link a i { color: #333; }
#feed-link .hover-label { 
	opacity: 0; 
	font-family: 'LeagueGothicRegular', sans-serif; 
	text-transform: uppercase;
	-webkit-transition: opacity 0.5s;
	   -moz-transition: opacity 0.5s;
		  -ie-transition: opacity 0.5s;
			 -o-transition: opacity 0.5s;
					transition: opacity 0.5s;
}
#feed-link:hover .hover-label { 
	opacity: 0.9; 
}

/* Post Metadata */
.post-metadata .icons-social {
  opacity: 0.5;
}

.post-metadata:hover .icons-social {
  opacity: 0.9;
}

.post-metadata .icons-social a {
  text-decoration: none;
}

.post-metadata .icons-social a + a {
  margin-left: 1.5em;
}

.post-metadata .icons-social i {
  font-size: 16px;
}

/* Article Navigation */
.article-nav {
  font-size: 0.75em;
  margin: 2em 0;
}

.article-nav a.next {
  float: right;
}

.article-nav a.previous {
  
}

/* Special Themes */
body.lexil #screenshots-frame { 
	width: 517px; height: 367px;
	margin: 2em auto;
	border: 1px solid #999; 
	box-shadow: 0 4px 8px #AAA; 
	overflow: hidden;
}
body.lexil #screenshots-frame img { display: block; }

/* Custom Breakpoints */
@media only screen and (max-width: 768px) {
  /* 
    These are just some quick hacks to make the site readable on a smaller
    screen.  Some day I'll scap all this css...
  */
  #page{ width: 100%; }
  #content { margin: 1em; }
  
  li {
    margin-left: 1em;
  }
  
  aside, aside.left, aside.right { 
    display: inline-block; 
    width: 100%;
    float: none;
    position: relative;
    left: 0; right: 0;
  }
  
  .post-metadata img[rel=avatar] {
    display: none;
  }
}