@charset "UTF-8";
/*! normalize.css 2011-08-12T17:28 UTC · http://github.com/necolas/normalize.css */
/*******************************************************************************
 * HTML5 display definitions
 ***************************************************************************** */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
  display: block; }

audio, canvas, video {
  display: inline-block;
  *display: inline;
  *zoom: 1; }

audio:not([controls]) {
  display: none; }

[hidden] {
  display: none; }

/*******************************************************************************
 * Base
 ***************************************************************************** */
html {
  font-size: 100%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

body {
  margin: 0; }

body, button, input, select, textarea {
  font-family: sans-serif; }

/*******************************************************************************
 * Links
 ***************************************************************************** */
a {
  color: #00e; }
  a:visited {
    color: #551a8b; }
  a:focus {
    outline: thin dotted; }
  a:hover, a:active {
    outline: 0; }

/*******************************************************************************
 * Typography
 ***************************************************************************** */
abbr[title] {
  border-bottom: 1px dotted; }

b, strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

mark {
  background: #ff0;
  color: #000; }

pre, code, kbd, samp {
  font-family: monospace, serif;
  _font-family: "courier new", monospace;
  font-size: 1em; }

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

q {
  quotes: none; }
  q:before, q:after {
    content: "";
    content: none; }

small {
  font-size: 75%; }

blockquote {
  margin: 1em 40px; }

sub {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/*******************************************************************************
 * Lists
 ***************************************************************************** */
ul, ol {
  margin: 1em 0;
  padding: 0 0 0 40px; }

dd {
  margin: 0 0 0 40px; }

nav ul, nav ol {
  list-style: none;
  list-style-image: none; }

/*******************************************************************************
 * Embedded content
 ***************************************************************************** */
/* */
img {
  border: 0;
  -ms-interpolation-mode: bicubic; }

svg:not(:root) {
  overflow: hidden; }

/*******************************************************************************
 * Figures
 ***************************************************************************** */
figure {
  margin: 0; }

/*******************************************************************************
 * Forms
 ***************************************************************************** */
form {
  margin: 0; }

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  *margin-left: -7px; }

button, input, select, textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle; }

button, input {
  line-height: normal;
  *overflow: visible; }

table button, table input {
  *overflow: auto; }

button, html input[type="button"], html input[type="reset"], html input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button; }

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }
  input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto;
  vertical-align: top; }

/*******************************************************************************
 * Tables
 ***************************************************************************** */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* Pretty printing styles. Used with prettify.js. */
/* SPAN elements with the classes below are added by prettyprint. */
.pln {
  color: #000; }

/* plain text */
@media screen {
  .str {
    color: #080; }

  /* string content */
  .kwd {
    color: #008; }

  /* a keyword */
  .com {
    color: #800; }

  /* a comment */
  .typ {
    color: #606; }

  /* a type name */
  .lit {
    color: #066; }

  /* a literal value */
  /* punctuation, lisp open bracket, lisp close bracket */
  .pun, .opn, .clo {
    color: #660; }

  .tag {
    color: #008; }

  /* a markup tag name */
  .atn {
    color: #606; }

  /* a markup attribute name */
  .atv {
    color: #080; }

  /* a markup attribute value */
  .dec, .var {
    color: #606; }

  /* a declaration; a variable name */
  .fun {
    color: red; }

  /* a function name */ }
/* Use higher contrast and text-weight for printable form. */
@media print, projection {
  .str {
    color: #060; }

  .kwd {
    color: #006;
    font-weight: bold; }

  .com {
    color: #600;
    font-style: italic; }

  .typ {
    color: #404;
    font-weight: bold; }

  .lit {
    color: #044; }

  .pun, .opn, .clo {
    color: #440; }

  .tag {
    color: #006;
    font-weight: bold; }

  .atn {
    color: #404; }

  .atv {
    color: #060; } }
/* Put a border around prettyprinted code snippets. */
pre.prettyprint {
  padding: 2px;
  border: 1px solid #888; }

/* Specify class=linenums on a pre to get line numbering */
ol.linenums {
  margin-top: 0;
  margin-bottom: 0; }

/* IE indents via margin-left */
li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 {
  list-style-type: none; }
li.L1, li.L3, li.L5, li.L7, li.L9 {
  background: #eee; }

/* Alternate shading for lines */
*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* typography */
body {
  font-size: 18px; }
@media(max-width: 600px) {
  body {
    font-size: 24px;
    line-height: 1.4; } }
p {
  line-height: 1.35em; }

h1, h2, h3, h4, h5 {
  font-weight: 300;
  margin-top: 0; }

body, input[type="text"], input[type="submit"], .search {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300; }

#body h1 {
  font-size: 2.5em;
  line-height: 1.25em; }

.sub_title {
  font-size: 0.4em; }

/* typographical layut */
.footer, .article #content, .reading {
  width: 42rem;
  margin: 0 auto;
  padding: 0 0.5rem; }
@media(max-width: 600px) {
  .footer, .article #content, .reading {
    width: auto;
    padding: 0 1rem;
    overflow: visible; } }
.page_header h1, .page_header h2 {
  width: 42rem;
  margin: 0 auto;
  padding: 0 0.5rem; }
@media(max-width: 600px) {
  .page_header h1, .page_header h2 {
    width: auto;
    padding: 0 1rem;
    overflow: visible; } }
/* links */
a {
  color: #FF7C14;
  text-decoration: none; }
  a:link, a:visited {
    color: #FF7C14;
    text-decoration: none; }
  a:hover, a:active, a:focus {
    text-decoration: underline; }

h2 a, #body h1 a {
  color: #000; }
  h2 a:active, h2 a:visited, h2 a:hover, #body h1 a:active, #body h1 a:visited, #body h1 a:hover {
    color: #000; }

.summary {
  padding: 1em 1em;
  background: #FFF7F7;
  margin: 0 0 1em 0; }
  .summary h3 {
    margin: 0 0 1em 0; }

ul ul {
  padding: 1em; }

/* layout */
#mast {
  padding: 0.6em 0 0 0;
  width: 100%; }
  #mast a {
    color: #888;
    -webkit-transition: all 0.4s; }
  #mast a:hover {
    color: #222; }
  #mast .chapters {
    font-size: 0.8em; }

.article #mast .page_header {
  display: inline; }
  .article #mast .page_header h2 {
    font-size: 1em;
    display: inline; }

.footer {
  clear: both; }

.sub {
  font-size: 0.7em;
  font-style: italic; }

.footer .container {
  font-size: 0.8em; }

/* layout */
.minor {
  font-size: 0.8em; }

.break {
  margin: 0 0 0 1em; }

.logical {
  display: inline; }

#mast {
  background: url(../img/mast.png) 0 0 repeat-x; }
  #mast a {
    padding: 0.15em 0.3em; }
    #mast a:first-child {
      padding-left: 0.5rem; }
  #mast ul {
    padding: 0;
    margin: 0; }
    #mast ul li {
      list-style-type: none;
      float: left;
      margin: 0 0.5em; }

.root .sub_title {
  display: block; }

pre {
  font-size: 0.6em;
  margin-bottom: 1rem;
  white-space: pre-wrap; }
  @media (min-width: 600px) {
    pre {
      font-size: 1em;
      padding: 0.5em 1em; } }

.plug {
  border: 1px solid #adc5ff;
  padding: 0.25rem 0.5rem;
  margin-top: 4ex; }
  @media (min-width: 600px) {
    .plug {
      padding: 0.5rem 1rem; } }

#comments h3 {
  margin-top: 0.5em; }
#comments input[type=text] {
  width: 95%;
  padding: 0.25em; }
#comments input[type=text], #comments textarea {
  font-size: 1em; }
#comments textarea {
  width: 100%; }

@media (min-width: 600px) {
  .posts {
    position: relative;
    left: -6px; } }
.posts h4 {
  margin: 0;
  margin-right: 1em; }
.posts a[href] {
  color: #000;
  text-decoration: none; }
.posts .date {
  font-size: 0.7em;
  color: #aaa; }
.posts .post {
  display: block;
  width: 42rem;
  margin: 0 auto;
  padding: 0 0.5rem;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border-left: 0.25rem solid #00c0ff;
  padding-left: 0.25rem;
  margin-bottom: 6px; }
@media(max-width: 600px) {
  .posts .post {
    width: auto;
    padding: 0 1rem;
    overflow: visible; } }
  .posts .post:hover {
    background: #00c0ff;
    color: #fff; }
    .posts .post:hover .date {
      color: #fff; }
  @media (min-width: 600px) {
    .posts .post {
      border-left: 6px solid #00c0ff;
      padding-left: 0.7rem; } }
.posts .post:nth-child(2n) {
  border-color: #ff7c14; }
  .posts .post:nth-child(2n):hover {
    background: #ff7c14; }
.posts .post:nth-child(3n):hover, .posts .post:nth-child(4n):hover {
  color: #000; }
  .posts .post:nth-child(3n):hover .date, .posts .post:nth-child(4n):hover .date {
    color: #000; }
.posts .post:nth-child(3n) {
  border-color: #FFFF06; }
  .posts .post:nth-child(3n):hover {
    background: #FFFF06; }
.posts .post:nth-child(4n) {
  border-color: #a7ff2a; }
  .posts .post:nth-child(4n):hover {
    background: #a7ff2a; }

.post_mortem li, .key li {
  list-style-type: none; }
.post_mortem .why, .key .why {
  padding-left: 2em; }
.post_mortem .yes, .key .yes {
  background: #FFF7ED; }
.post_mortem .no, .key .no {
  color: #444; }
.post_mortem .na, .key .na {
  background: #E9E9E9; }

.story {
  padding: 1em;
  overflow: auto;
  margin-bottom: 1em; }
  .story p {
    float: left;
    width: 24em;
    margin-bottom: 0; }

.bad {
  background: #F8C6AF; }

.good {
  background: #C0F8AF; }

.smiley {
  font-family: "Helvetica";
  font-size: 4em;
  float: left;
  width: 1em; }

.footnotes {
  font-size: 0.9em;
  color: #333; }

blockquote {
  white-space: pre; }

.twitter-tweet {
  width: 100%;
  white-space: normal;
  margin: 0; }

#content img, #content video, #content iframe {
  /* scale the image proportionally, but never larger than container */
  max-width: 100%;
  height: auto; }

blockquote p {
  margin: 0;
  white-space: normal; }
