/* CSS Style Guide: http://codeguide.co/#css */
/**/
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,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-family: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
body {
  line-height: 1;
  color: #000;
  background: #fff;
}
ol,
ul {
  list-style: none;
}
table {
  border-collapse: separate;
  border-spacing: 0;
  vertical-align: middle;
}
caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
a img {
  border: none;
}
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 {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
@media screen and (min-width: 768px) {
  html {
    overflow-y: scroll;
  }
}
html {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
q,
blockquote {
  quotes: none;
}
q:before,
q:after,
blockquote:before,
blockquote:after {
  content: "";
  content: none;
}
a img {
  border: none;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
  display: block;
}
a {
  color: #1966b3;
}
a:visited {
  color: #601386;
}
a:focus {
  color: #368ce2;
}
a:hover {
  color: #368ce2;
}
a:active {
  color: #134c86;
}
aside.sidebar a {
  color: #242424;
}
aside.sidebar a:focus {
  color: #368ce2;
}
aside.sidebar a:hover {
  color: #368ce2;
}
aside.sidebar a:active {
  color: #134c86;
}
a {
  -webkit-transition: color 0.3s;
  -moz-transition: color 0.3s;
  -o-transition: color 0.3s;
  -webkit-transition: color 0.3s;
  -moz-transition: color 0.3s;
  -o-transition: color 0.3s;
  -ms-transition: color 0.3s;
  transition: color 0.3s;
}
html,
body {
  background: #242424 url("/images/line-tile.png?1416136272") top left;
}
body > div {
  background: #f2f2f2 url("/images/noise.png?1416136272") top left;
  border-bottom: 1px solid #c2c2c2;
}
body > div > div {
  background: #f5f5f5 url("/images/noise.png?1416136272") top left;
  border-right: 1px solid #ddd;
}
.heading,
body > header h1,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Raleway", "Fira Sans Condensed", "Merriweather Sans", "Fira Sans", "Open Sans", "DejaVu Sans", Calibri, Arial, sans-serif;
}
.sans,
body > header h2,
article header p.meta,
article > footer,
#content .blog-index footer,
html .gist .gist-file .gist-meta,
#blog-archives a.category,
#blog-archives time,
aside.sidebar section,
body > footer {
  font-family: "Fira Sans Condensed", "Merriweather Sans", "Fira Sans", "Open Sans", "DejaVu Sans", Calibri, Arial, sans-serif;
}
h3,
h4,
h5,
h6 {
  font-family: "Fira Sans Condensed", "Fira Sans Condensed", "Merriweather Sans", "Fira Sans", "Open Sans", "DejaVu Sans", Calibri, Arial, sans-serif;
}
.serif,
body,
#content .blog-index a[rel=full-article] {
  font-family: Merriweather, Lora, "Noto Serif", "DejaVu Serif", Palatino, serif;
}
.mono,
pre,
code,
tt,
p code,
li code {
  font-family: /*Inconsolata,*/ "Fira Code", "Open Sans Mono", "Anonymous Pro", "Consolas", "Lucida Console", monospace;
}
body > header h1 {
  font-size: 2.2em;
  font-family: "Raleway", "Raleway", "Fira Sans Condensed", "Merriweather Sans", "Fira Sans", "Open Sans", "DejaVu Sans", Calibri, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.2em;
  margin-bottom: 0.6667em;
}
body > header h2 {
  font-family: "Fira Sans", "Raleway", "Raleway", "Fira Sans Condensed", "Merriweather Sans", "Fira Sans", "Open Sans", "DejaVu Sans", Calibri, Arial, sans-serif;
}
body {
  line-height: 1.5em;
  color: #242424;
}
h1 {
  font-size: 2.2em;
  line-height: 1.2em;
}
@media only screen and (min-width: 992px) {
  body {
    font-size: 1.15em;
  }
  h1 {
    font-size: 2.6em;
    line-height: 1.2em;
  }
}
h1,
h2,
h3,
h4,
h5,
h6 {
  text-rendering: optimizelegibility;
  margin-bottom: 1em;
  font-weight: bold;
}
h2,
section h1 {
  font-size: 1.5em;
}
h3,
section h2,
section section h1 {
  font-size: 1.3em;
}
h4,
section h3,
section section h2,
section section section h1 {
  font-size: 1em;
}
h5,
section h4,
section section h3 {
  font-size: 0.9em;
}
h6,
section h5,
section section h4,
section section section h3 {
  font-size: 0.8em;
}
p,
article blockquote,
ul,
ol {
  margin-bottom: 1.5em;
}
ul {
  list-style-type: disc;
}
ul ul {
  list-style-type: circle;
  margin-bottom: 0px;
}
ul ul ul {
  list-style-type: square;
  margin-bottom: 0px;
}
ol {
  list-style-type: decimal;
}
ol ol {
  list-style-type: lower-alpha;
  margin-bottom: 0px;
}
ol ol ol {
  list-style-type: lower-roman;
  margin-bottom: 0px;
}
ul,
ul ul,
ul ol,
ol,
ol ul,
ol ol {
  margin-left: 1.3em;
}
ul ul,
ul ol,
ol ul,
ol ol {
  margin-bottom: 0em;
}
strong {
  font-weight: bold;
}
em {
  font-style: italic;
}
sup,
sub {
  font-size: 0.75em;
  position: relative;
  display: inline-block;
  padding: 0 0.2em;
  line-height: 0.8em;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.5em;
}
a[rev='footnote'] {
  font-size: 0.75em;
  padding: 0 0.3em;
  line-height: 1;
}
q {
  font-style: italic;
}
q:before {
  content: "\201C";
}
q:after {
  content: "\201D";
}
em,
dfn {
  font-style: italic;
}
strong,
dfn {
  font-weight: bold;
}
del,
s {
  text-decoration: line-through;
}
abbr,
acronym {
  border-bottom: 1px dotted;
  cursor: help;
}
hr {
  margin-bottom: 0.2em;
}
small {
  font-size: 0.8em;
}
big {
  font-size: 1.2em;
}
article blockquote {
  font-style: italic;
  position: relative;
  font-size: 1.2em;
  line-height: 1.5em;
  padding-left: 1em;
  border-left: 4px solid #666;
}
article blockquote cite {
  font-style: italic;
}
article blockquote cite a {
  color: #929292 !important;
  word-wrap: break-word;
}
article blockquote cite:before {
  content: '\2014';
  padding-right: 0.3em;
  padding-left: 0.3em;
  color: #929292;
}
@media only screen and (min-width: 992px) {
  article blockquote {
    padding-left: 1.5em;
    border-left-width: 4px;
  }
}
/*
 * Pullquotes
 * ----------
 */
.pullquote {
  padding: 0;
  border: none;
  font-style: normal;
  content: attr(data-pullquote);
  float: right;
  width: 45%;
  margin: 0.5em 0 1em 1.5em;
  position: relative;
  top: 7px;
  font-size: 1.4em;
  line-height: 1.45em;
}
.pullquote p {
  margin: 0;
}
.pullquote.left {
  float: left;
  margin: 0.5em 1.5em 1em 0;
}
/*
 * Youtube videos
 * --------------
 */
.flash-video {
  height: 0;
  padding-bottom: 56.25%; /*16:9*/
  position: relative;
}
.flash-video iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}
.force-wrap,
article a,
aside.sidebar a {
  white-space: -moz-pre-wrap;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.group,
body > header,
body > nav,
body > footer,
body #content > article,
body #content > div > article,
body #content > div > section,
body div.pagination,
aside.sidebar,
#main,
#content,
.sidebar {
  *zoom: 1;
}
.group:after,
body > header:after,
body > nav:after,
body > footer:after,
body #content > article:after,
body #content > div > section:after,
body div.pagination:after,
#main:after,
#content:after,
.sidebar:after {
  content: "";
  display: table;
  clear: both;
}
body {
  -webkit-text-size-adjust: none;
  max-width: 1200px;
  position: relative;
  margin: 0 auto;
}
body > header,
body > nav,
body > footer,
body #content > article,
body #content > div > article,
body #content > div > section {
  padding-left: 18px;
  padding-right: 18px;
}
@media only screen and (min-width: 480px) {
  body > header,
  body > nav,
  body > footer,
  body #content > article,
  body #content > div > article,
  body #content > div > section {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media only screen and (min-width: 768px) {
  body > header,
  body > nav,
  body > footer,
  body #content > article,
  body #content > div > article,
  body #content > div > section {
    padding-left: 35px;
    padding-right: 35px;
  }
}
@media only screen and (min-width: 992px) {
  body > header,
  body > nav,
  body > footer,
  body #content > article,
  body #content > div > article,
  body #content > div > section {
    padding-left: 55px;
    padding-right: 55px;
  }
}
/* Pagination */
body div.pagination {
  margin-left: 18px;
  margin-right: 18px;
}
@media only screen and (min-width: 480px) {
  body div.pagination {
    margin-left: 25px;
    margin-right: 25px;
  }
}
@media only screen and (min-width: 768px) {
  body div.pagination {
    margin-left: 35px;
    margin-right: 35px;
  }
}
@media only screen and (min-width: 992px) {
  body div.pagination {
    margin-left: 55px;
    margin-right: 55px;
  }
}
.pagination .page-number {
  display: none;
}
body > header {
  font-size: 1em;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}
#content {
  overflow: hidden;
}
#content > div,
#content > article {
  width: 100%;
}
aside.sidebar {
  float: none;
  padding: 0 18px 1px;
  background-color: #f2f2f2;
  border-top: 1px solid #dadada;
}
.flex-content,
article img,
article video,
article .flash-video,
aside.sidebar img {
  max-width: 100%;
  height: auto;
}
.basic-alignment.left,
article img.left,
article video.left,
article .left.flash-video,
aside.sidebar img.left {
  float: left;
  margin-right: 1.5em;
}
.basic-alignment.right,
article img.right,
article video.right,
article .right.flash-video,
aside.sidebar img.right {
  float: right;
  margin-left: 1.5em;
}
.basic-alignment.center,
article img.center,
article video.center,
article .center.flash-video,
aside.sidebar img.center {
  display: block;
  margin: 0 auto 1.5em;
}
.basic-alignment.left,
article img.left,
article video.left,
article .left.flash-video,
aside.sidebar img.left,
.basic-alignment.right,
article img.right,
article video.right,
article .right.flash-video,
aside.sidebar img.right {
  margin-bottom: 0.8em;
}
.toggle-sidebar,
.no-sidebar .toggle-sidebar {
  display: none;
}
@media only screen and (min-width: 750px) {
  body.sidebar-footer aside.sidebar {
    float: none;
    width: auto;
    clear: left;
    margin: 0;
    padding: 0 35px 1px;
    background-color: #f2f2f2;
    border-top: 1px solid #dfdfdf;
  }
  body.sidebar-footer aside.sidebar section.odd,
  body.sidebar-footer aside.sidebar section.even {
    float: left;
    width: 48%;
  }
  body.sidebar-footer aside.sidebar section.odd {
    margin-left: 0;
  }
  body.sidebar-footer aside.sidebar section.even {
    margin-left: 4%;
  }
  body.sidebar-footer aside.sidebar.thirds section {
    width: 30%;
    margin-left: 5%;
  }
  body.sidebar-footer aside.sidebar.thirds section.first {
    margin-left: 0;
    clear: both;
  }
}
body.sidebar-footer #content {
  margin-right: 0px;
}
body.sidebar-footer .toggle-sidebar {
  display: none;
}
@media only screen and (min-width: 550px) {
  body > header {
    font-size: 1em;
  }
}
@media only screen and (min-width: 750px) {
  aside.sidebar {
    float: none;
    width: auto;
    clear: left;
    margin: 0;
    padding: 0 35px 1px;
    background-color: #f2f2f2;
    border-top: 1px solid #dfdfdf;
  }
  aside.sidebar section.odd,
  aside.sidebar section.even {
    float: left;
    width: 48%;
  }
  aside.sidebar section.odd {
    margin-left: 0;
  }
  aside.sidebar section.even {
    margin-left: 4%;
  }
  aside.sidebar.thirds section {
    width: 30%;
    margin-left: 5%;
  }
  aside.sidebar.thirds section.first {
    margin-left: 0;
    clear: both;
  }
}
@media only screen and (min-width: 768px) {
  body {
    -webkit-text-size-adjust: auto;
  }
  body > header {
    font-size: 1.2em;
  }
  #main {
    padding: 0;
    margin: 0 auto;
  }
  #content {
    overflow: visible;
    margin-right: 240px;
    position: relative;
  }
  .no-sidebar #content {
    margin-right: 0;
    border-right: 0;
  }
  .collapse-sidebar #content {
    margin-right: 20px;
  }
  #content > div,
  #content > article {
    padding-top: 17.5px;
    padding-bottom: 17.5px;
    float: left;
  }
  aside.sidebar {
    width: 210px;
    padding: 0 15px 15px;
    background: none;
    clear: none;
    float: left;
    margin: 0 -100% 0 0;
  }
  aside.sidebar section {
    width: auto;
    margin-left: 0;
  }
  aside.sidebar section.odd,
  aside.sidebar section.even {
    float: none;
    width: auto;
    margin-left: 0;
  }
  .collapse-sidebar aside.sidebar {
    float: none;
    width: auto;
    clear: left;
    margin: 0;
    padding: 0 35px 1px;
    background-color: #f2f2f2;
    border-top: 1px solid #dfdfdf;
  }
  .collapse-sidebar aside.sidebar section.odd,
  .collapse-sidebar aside.sidebar section.even {
    float: left;
    width: 48%;
  }
  .collapse-sidebar aside.sidebar section.odd {
    margin-left: 0;
  }
  .collapse-sidebar aside.sidebar section.even {
    margin-left: 4%;
  }
  .collapse-sidebar aside.sidebar.thirds section {
    width: 30%;
    margin-left: 5%;
  }
  .collapse-sidebar aside.sidebar.thirds section.first {
    margin-left: 0;
    clear: both;
  }
}
@media only screen and (min-width: 992px) {
  body > header {
    font-size: 1.3em;
  }
  #content {
    margin-right: 300px;
  }
  #content > div,
  #content > article {
    padding-top: 27.5px;
    padding-bottom: 27.5px;
  }
  aside.sidebar {
    width: 260px;
    padding: 1.2em 20px 20px;
  }
  .collapse-sidebar aside.sidebar {
    padding-left: 55px;
    padding-right: 55px;
  }
}
body > header {
  background: #333;
}
body > header h1 {
  display: inline-block;
  margin: 0;
}
body > header h1 a,
body > header h1 a:visited,
body > header h1 a:hover {
  color: #f2f2f2;
  text-decoration: none;
}
body > header h2 {
  margin: 0.2em 0 0;
  font-size: 1em;
  color: #b5b5b5;
  font-weight: normal;
}
body > nav {
  position: relative;
  background-color: #f2f2f2;
  background: url("/images/noise.png?1416136272"), -webkit-linear-gradient(top, #f7f7f7, #f2f2f2, #cecece);
  background: url("/images/noise.png?1416136272"), -moz-linear-gradient(top, #f7f7f7, #f2f2f2, #cecece);
  background: url("/images/noise.png?1416136272"), -o-linear-gradient(top, #f7f7f7, #f2f2f2, #cecece);
  background: url("/images/noise.png?1416136272"), -ms-linear-gradient(top, #f7f7f7, #f2f2f2, #cecece);
  background: url("/images/noise.png?1416136272"), linear-gradient(to bottom, #f7f7f7, #f2f2f2, #cecece);
  padding-top: 0.35em;
  padding-bottom: 0.35em;
}
body > nav form {
  -webkit-background-clip: padding;
  -moz-background-clip: padding;
  -webkit-background-clip: padding;
  -moz-background-clip: padding;
  background-clip: padding-box;
  margin: 0;
  padding: 0.1em 0 0 0;
}
body > nav form .search {
  padding: 0.25em 0.5em 0.15em;
  font-size: 0.85em;
  font-family: "Fira Sans Condensed", "Merriweather Sans", "Fira Sans", "Open Sans", "DejaVu Sans", Calibri, Arial, sans-serif;
  line-height: 1.1em;
  width: 95%;
  -webkit-border-radius: 0.5em;
  -moz-border-radius: 0.5em;
  -ms-border-radius: 0.5em;
  -o-border-radius: 0.5em;
  border-radius: 0.5em;
  -webkit-background-clip: padding;
  -moz-background-clip: padding;
  -webkit-background-clip: padding;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-box-shadow: #d1d1d1 0 1px;
  -moz-box-shadow: #d1d1d1 0 1px;
  -webkit-box-shadow: #d1d1d1 0 1px;
  box-shadow: #d1d1d1 0 1px;
  background-color: #f2f2f2;
  border: 1px solid #b3b3b3;
  color: #888;
}
body > nav form .search:focus {
  color: #444;
  border-color: #80b1df;
  -webkit-box-shadow: #80b1df 0 0 4px, #80b1df 0 0 3px inset;
  -moz-box-shadow: #80b1df 0 0 4px, #80b1df 0 0 3px inset;
  -webkit-box-shadow: #80b1df 0 0 4px, #80b1df 0 0 3px inset;
  box-shadow: #80b1df 0 0 4px, #80b1df 0 0 3px inset;
  background-color: #fff;
  outline: none;
}
body > nav form .search::placeholder {
  opacity: 0.25;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=25)";
  filter: alpha(opacity=25);
  color: #242424;
}
body > nav fieldset[role=search] {
  float: right;
  width: 48%;
}
body > nav fieldset.mobile-nav {
  float: left;
  width: 48%;
}
body > nav fieldset.mobile-nav select {
  width: 100%;
  font-size: 0.8em;
  border: 1px solid #888;
}
body > nav ul {
  display: none;
}
@media only screen and (min-width: 550px) {
  body > nav {
    font-size: 0.9em;
  }
  body > nav ul {
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
    *zoom: 1;
    float: left;
    display: block;
    padding-top: 0.15em;
  }
  body > nav ul li {
    list-style-image: none;
    list-style-type: none;
    margin-left: 0;
    white-space: nowrap;
    display: inline;
    float: left;
    padding-left: 0;
    padding-right: 0;
  }
  body > nav ul li:first-child,
  body > nav ul li.first {
    padding-left: 0;
  }
  body > nav ul li:last-child {
    padding-right: 0;
  }
  body > nav ul li.last {
    padding-right: 0;
  }
  body > nav ul.subscription {
    margin-left: 0.8em;
    float: right;
  }
  body > nav ul.subscription li:last-child a {
    padding-right: 0;
  }
  body > nav ul li {
    margin: 0;
  }
  body > nav a {
    color: #6b6b6b;
    font-family: "Fira Sans Condensed", "Merriweather Sans", "Fira Sans", "Open Sans", "DejaVu Sans", Calibri, Arial, sans-serif;
    text-shadow: #ebebeb 0 1px;
    float: left;
    text-decoration: none;
    font-size: 1.1em;
    padding: 0.1em 0;
    line-height: 1.5em;
  }
  body > nav a:visited {
    color: #6b6b6b;
  }
  body > nav a:hover {
    color: #2b2b2b;
  }
  body > nav li + li {
    border-left: 1px solid #b0b0b0;
    margin-left: 0.8em;
  }
  body > nav li + li a {
    padding-left: 0.8em;
    border-left: 1px solid #dedede;
  }
  body > nav form {
    float: right;
    text-align: left;
    padding-left: 0.8em;
    width: 175px;
  }
  body > nav form .search {
    width: 95%;
    font-size: 0.95em;
    line-height: 1.2em;
  }
  body > nav ul[data-subscription$=email] + form {
    width: 97px;
  }
  body > nav ul[data-subscription$=email] + form .search {
    width: 91%;
  }
  body > nav fieldset.mobile-nav {
    display: none;
  }
  body > nav fieldset[role=search] {
    width: 99%;
  }
}
@media only screen and (min-width: 992px) {
  body > nav form {
    width: 215px;
  }
  body > nav ul[data-subscription$=email] + form {
    width: 147px;
  }
}
.no-placeholder body > nav .search {
  background: #f2f2f2 url("/images/search.png?1416136272") 0.3em 0.25em no-repeat;
  text-indent: 1.3em;
}
@media only screen and (min-width: 550px) {
  .maskImage body > nav ul[data-subscription$=email] + form {
    width: 123px;
  }
}
@media only screen and (min-width: 992px) {
  .maskImage body > nav ul[data-subscription$=email] + form {
    width: 173px;
  }
}
.maskImage ul.subscription {
  position: relative;
  top: 0.32em;
}
.maskImage ul.subscription li,
.maskImage ul.subscription a {
  border: 0;
  padding: 0;
}
.maskImage a[rel=subscribe-rss] {
  position: relative;
  top: 0px;
  text-indent: -999999em;
  background-color: #dedede;
  border: 0;
  padding: 0;
}
.maskImage a[rel=subscribe-rss],
.maskImage a[rel=subscribe-rss]:after {
  -webkit-mask-image: url("/images/rss.png");
  -moz-mask-image: url("/images/rss.png");
  -ms-mask-image: url("/images/rss.png");
  -o-mask-image: url("/images/rss.png");
  mask-image: url("/images/rss.png");
  -webkit-mask-repeat: no-repeat;
  -moz-mask-repeat: no-repeat;
  -ms-mask-repeat: no-repeat;
  -o-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  width: 22px;
  height: 22px;
}
.maskImage a[rel=subscribe-rss]:after {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  background-color: #ababab;
}
.maskImage a[rel=subscribe-rss]:hover:after {
  background-color: #9e9e9e;
}
.maskImage a[rel=subscribe-email] {
  position: relative;
  top: 0px;
  text-indent: -999999em;
  background-color: #dedede;
  border: 0;
  padding: 0;
}
.maskImage a[rel=subscribe-email],
.maskImage a[rel=subscribe-email]:after {
  -webkit-mask-image: url("/images/email.png?1416136272");
  -moz-mask-image: url("/images/email.png?1416136272");
  -ms-mask-image: url("/images/email.png?1416136272");
  -o-mask-image: url("/images/email.png?1416136272");
  mask-image: url("/images/email.png?1416136272");
  -webkit-mask-repeat: no-repeat;
  -moz-mask-repeat: no-repeat;
  -ms-mask-repeat: no-repeat;
  -o-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  width: 28px;
  height: 22px;
}
.maskImage a[rel=subscribe-email]:after {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  background-color: #ababab;
}
.maskImage a[rel=subscribe-email]:hover:after {
  background-color: #9e9e9e;
}
article {
  padding-top: 1em;
}
article header {
  position: relative;
  padding-top: 2em;
  padding-bottom: 1em;
  margin-bottom: 1em;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC") bottom left repeat-x;
}
article header h1 {
  margin: 0;
}
article header h1 a {
  text-decoration: none;
}
article header h1 a:hover {
  text-decoration: underline;
}
article header p {
  font-size: 0.9em;
  color: #929292;
  margin: 0;
}
article header p.meta {
  text-transform: uppercase;
  position: absolute;
  top: 0;
}
@media only screen and (min-width: 768px) {
  article header {
    margin-bottom: 1.5em;
    padding-bottom: 1em;
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC") bottom left repeat-x;
  }
}
article h2 {
  padding-top: 0.8em;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC") top left repeat-x;
}
.entry-content article h2:first-child,
article header + h2 {
  padding-top: 0;
}
article h2:first-child,
article header + h2 {
  background: none;
}
article .feature {
  padding-top: 0.5em;
  margin-bottom: 1em;
  padding-bottom: 1em;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC") bottom left repeat-x;
  font-size: 2em;
  font-style: italic;
  line-height: 1.3em;
}
article img,
article video,
article .flash-video {
  -webkit-border-radius: 0.3em;
  -moz-border-radius: 0.3em;
  -ms-border-radius: 0.3em;
  -o-border-radius: 0.3em;
  border-radius: 0.3em;
  -webkit-box-shadow: rgba(0,0,0,0.15) 0 1px 4px;
  -moz-box-shadow: rgba(0,0,0,0.15) 0 1px 4px;
  -webkit-box-shadow: rgba(0,0,0,0.15) 0 1px 4px;
  box-shadow: rgba(0,0,0,0.15) 0 1px 4px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #fff 0.5em solid;
}
article video,
article .flash-video {
  margin: 0 auto 1.5em;
}
article video {
  display: block;
  width: 100%;
}
article .flash-video > div {
  position: relative;
  display: block;
  padding-bottom: 56.25%;
  padding-top: 1px;
  height: 0;
  overflow: hidden;
}
article .flash-video > div iframe,
article .flash-video > div object,
article .flash-video > div embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
article > footer {
  padding-bottom: 2.5em;
  margin-top: 2em;
}
article > footer p.meta {
  margin-bottom: 0.8em;
  font-size: 0.85em;
  clear: both;
  overflow: hidden;
}
.blog-index article + article {
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC") top left repeat-x;
}
#content .blog-index {
  padding-top: 1em;
  padding-bottom: 0;
}
#content .blog-index article {
  padding-top: 1em;
}
#content .blog-index article header {
  background: none;
  padding-top: 1.5em;
  padding-bottom: 0;
  margin-bottom: 1.5em;
}
#content .blog-index article h1 {
  font-size: 2.2em;
}
#content .blog-index article h1 a {
  color: inherit;
}
#content .blog-index article h1 a:hover {
  color: #368ce2;
}
#content .blog-index a[rel=full-article] {
  background: #ebebeb;
  display: inline-block;
  padding: 0.4em 0.8em;
  margin-right: 0.5em;
  text-decoration: none;
  color: #666;
  -webkit-transition: background-color 0.5s;
  -moz-transition: background-color 0.5s;
  -o-transition: background-color 0.5s;
  -webkit-transition: background-color 0.5s;
  -moz-transition: background-color 0.5s;
  -o-transition: background-color 0.5s;
  -ms-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
#content .blog-index a[rel=full-article]:hover {
  background: #368ce2;
  text-shadow: none;
  color: #f5f5f5;
}
#content .blog-index footer {
  margin-top: 1em;
}
.separator,
article > footer .byline + time:before,
article > footer time + time:before,
article > footer .comments:before,
article > footer .byline ~ .categories:before {
  content: "\2022 ";
  padding: 0 0.4em 0 0.2em;
  display: inline-block;
}
#content div.pagination {
  text-align: center;
  font-family: "Fira Sans Condensed", "Merriweather Sans", "Fira Sans", "Open Sans", "DejaVu Sans", Calibri, Arial, sans-serif;
  font-size: 0.85em;
  position: relative;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC") top left repeat-x;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}
#content div.pagination a {
  text-decoration: none;
  color: #aaa;
}
#content div.pagination a.next {
  position: absolute;
  left: 0;
  color: transparent;
}
#content div.pagination a.next:before {
  color: #aaa;
  content: "« Older";
}
#content div.pagination a.prev {
  position: absolute;
  right: 0;
  color: transparent;
}
#content div.pagination a.prev:after {
  color: #aaa;
  content: "Newer »";
}
#content div.pagination a:hover:before,
#content div.pagination a:hover:after {
  color: #368ce2;
}
#content div.pagination a[href*=archive]:before,
#content div.pagination a[href*=archive]:after {
  content: '\2014';
  padding: 0 0.3em;
}
/* Social */
p.meta + .sharing {
  padding-top: 1em;
  padding-left: 0;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC") top left repeat-x;
}
.sharing .twitter-share-button {
  visibility: hidden;
}
#fb-root {
  display: none;
}
/* Codeblocks
 * ----------
 */
/* Gist/codeblock wrapper */
figure.highlight {
  border: 1px solid #05232b !important;
}
/* Code body */
.highlight table td.code,
html .gist .gist-file .gist-syntax .gist-highlight table td.code {
  width: 100%;
}
/* Gutter number block */
.highlight .gutter pre,
html .gist .gist-file .gist-syntax .highlight .line_numbers {
  text-align: right;
  font-size: 13px;
  line-height: 1.45em;
  background: #073642 url("/images/noise.png?1416136272") top left !important;
  border-right: 1px solid #00232c !important;
  -webkit-box-shadow: #083e4b -1px 0 inset;
  -moz-box-shadow: #083e4b -1px 0 inset;
  -webkit-box-shadow: #083e4b -1px 0 inset;
  box-shadow: #083e4b -1px 0 inset;
  text-shadow: #021014 0 -1px;
  padding: 0.8em !important;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
}
/* Line no. colours */
.highlight .gutter pre,
html .gist .gist-file .gist-syntax .highlight .line_numbers span {
  color: #586e75 !important;
}
/* Ensure empty lines have height */
.highlight .line {
  min-height: 1.4em;
}
figure.highlight,
.gist-file,
pre {
  -webkit-box-shadow: rgba(0,0,0,0.06) 0 0 10px;
  -moz-box-shadow: rgba(0,0,0,0.06) 0 0 10px;
  -webkit-box-shadow: rgba(0,0,0,0.06) 0 0 10px;
  box-shadow: rgba(0,0,0,0.06) 0 0 10px;
}
figure.highlight pre,
.gist-file .highlight pre,
pre .highlight pre {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.gist .highlight *::-moz-selection,
figure.code .highlight *::-moz-selection {
  background: #386774;
  color: inherit;
  text-shadow: #002b36 0 1px;
}
.gist .highlight *::-webkit-selection,
figure.code .highlight *::-webkit-selection {
  background: #386774;
  color: inherit;
  text-shadow: #002b36 0 1px;
}
.gist .highlight *::selection,
figure.code .highlight *::selection {
  background: #386774;
  color: inherit;
  text-shadow: #002b36 0 1px;
}
html .gist .gist-file {
  margin-bottom: 1.8em;
  position: relative;
  border: 1px solid #ddd;
  border-bottom: 1px solid #ccc;
  border-radius: 3px;
  padding-top: 26px !important;
}
html .gist .gist-file .highlight {
  margin-bottom: 0;
}
html .gist .gist-file .gist-syntax {
  border-bottom: 0 !important;
  background: none !important;
}
html .gist .gist-file .gist-syntax .gist-highlight {
  background: #002b36 !important;
}
html .gist .gist-file .gist-syntax .highlight pre {
  padding: 0;
}
html .gist .gist-file .gist-meta {
  padding: 0.6em 0.8em;
  font-size: 0.7em !important;
  line-height: 1.5em;
  color: #586069;
  background-color: #f7f7f7;
  border-radius: 0 0 2px 2px;
}
html .gist .gist-file .gist-meta a {
  color: #75878b !important;
  text-decoration: none;
}
html .gist .gist-file .gist-meta a:hover {
  text-decoration: underline;
}
html .gist .gist-file .gist-meta a:hover {
  color: #93a1a1 !important;
}
html .gist .gist-file .gist-meta a[href*='#file'] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  color: #474747 !important;
}
html .gist .gist-file .gist-meta a[href*='#file']:hover {
  color: #368ce2 !important;
}
html .gist .gist-file .gist-meta a[href*=raw] {
  top: 0.4em;
}
pre {
  background: #002b36 url("/images/noise.png?1416136272") top left;
  -webkit-border-radius: 0.4em;
  -moz-border-radius: 0.4em;
  -ms-border-radius: 0.4em;
  -o-border-radius: 0.4em;
  border-radius: 0.4em;
  border: 1px solid #05232b;
  line-height: 1.45em;
  font-size: 13px;
  margin-bottom: 2.1em;
  padding: 0.8em 1em;
  color: #93a1a1;
  overflow: auto;
}
h3.filename + pre {
  -moz-border-radius-topleft: 0px;
  -webkit-border-top-left-radius: 0px;
  border-top-left-radius: 0px;
  -moz-border-radius-topright: 0px;
  -webkit-border-top-right-radius: 0px;
  border-top-right-radius: 0px;
}
p code,
li code {
  display: inline-block;
  white-space: nowrap;
  background: #fff;
  font-size: 0.8em;
  line-height: 1.5em;
  color: #555;
  border: 1px solid #ddd;
  -webkit-border-radius: 0.4em;
  -moz-border-radius: 0.4em;
  -ms-border-radius: 0.4em;
  -o-border-radius: 0.4em;
  border-radius: 0.4em;
  padding: 0 0.3em;
  margin: -1px 0;
}
p pre code,
li pre code {
  font-size: 1em !important;
  background: none;
  border: none;
}
.pre-code,
html .gist .gist-file .gist-syntax .highlight pre,
.highlight table td.code pre {
  font-family: /*Inconsolata,*/ "Fira Code", "Open Sans Mono", "Anonymous Pro", "Consolas", "Lucida Console", monospace !important;
  overflow: scroll;
  overflow-y: hidden;
  display: block;
  padding: 0.8em;
  overflow-x: auto;
  line-height: 1.45em;
  background: #002b36 url("/images/noise.png?1416136272") top left !important;
  color: #93a1a1 !important;
}
.pre-code span,
html .gist .gist-file .gist-syntax .highlight pre span,
.highlight code span {
  color: #93a1a1 !important;
}
.pre-code span,
html .gist .gist-file .gist-syntax .highlight pre span,
.highlight code span {
  font-style: normal !important;
  font-weight: normal !important;
}
.pre-code .c,
html .gist .gist-file .gist-syntax .highlight pre .c,
.highlight code .c {
  color: #586e75 !important;
}
.pre-code .cm,
html .gist .gist-file .gist-syntax .highlight pre .cm,
.highlight code .cm {
  color: #586e75 !important;
}
.pre-code .cp,
html .gist .gist-file .gist-syntax .highlight pre .cp,
.highlight code .cp {
  color: #586e75 !important;
}
.pre-code .c1,
html .gist .gist-file .gist-syntax .highlight pre .c1,
.highlight code .c1 {
  color: #586e75 !important;
}
.pre-code .cs,
html .gist .gist-file .gist-syntax .highlight pre .cs,
.highlight code .cs {
  color: #586e75 !important;
  font-weight: bold !important;
  font-style: italic !important;
}
.pre-code .err,
html .gist .gist-file .gist-syntax .highlight pre .err,
.highlight code .err {
  color: #dc322f !important;
  background: none !important;
}
.pre-code .k,
html .gist .gist-file .gist-syntax .highlight pre .k,
.highlight code .k {
  color: #cb4b16 !important;
}
.pre-code .o,
html .gist .gist-file .gist-syntax .highlight pre .o,
.highlight code .o {
  color: #93a1a1 !important;
  font-weight: bold !important;
}
.pre-code .p,
html .gist .gist-file .gist-syntax .highlight pre .p,
.highlight code .p {
  color: #93a1a1 !important;
}
.pre-code .ow,
html .gist .gist-file .gist-syntax .highlight pre .ow,
.highlight code .ow {
  color: #2aa198 !important;
  font-weight: bold !important;
}
.pre-code .gd,
html .gist .gist-file .gist-syntax .highlight pre .gd,
.highlight code .gd {
  color: #93a1a1 !important;
  background-color: #372c34 !important;
  display: inline-block;
}
.pre-code .gd .x,
html .gist .gist-file .gist-syntax .highlight pre .gd .x,
.highlight code .gd .x {
  color: #93a1a1 !important;
  background-color: #4d2d33 !important;
  display: inline-block;
}
.pre-code .ge,
html .gist .gist-file .gist-syntax .highlight pre .ge,
.highlight code .ge {
  color: #93a1a1 !important;
  font-style: italic !important;
}
.pre-code .gh,
html .gist .gist-file .gist-syntax .highlight pre .gh,
.highlight code .gh {
  color: #586e75 !important;
}
.pre-code .gi,
html .gist .gist-file .gist-syntax .highlight pre .gi,
.highlight code .gi {
  color: #93a1a1 !important;
  background-color: #1a412b !important;
  display: inline-block;
}
.pre-code .gi .x,
html .gist .gist-file .gist-syntax .highlight pre .gi .x,
.highlight code .gi .x {
  color: #93a1a1 !important;
  background-color: #355720 !important;
  display: inline-block;
}
.pre-code .gs,
html .gist .gist-file .gist-syntax .highlight pre .gs,
.highlight code .gs {
  color: #93a1a1 !important;
  font-weight: bold !important;
}
.pre-code .gu,
html .gist .gist-file .gist-syntax .highlight pre .gu,
.highlight code .gu {
  color: #6c71c4 !important;
}
.pre-code .kc,
html .gist .gist-file .gist-syntax .highlight pre .kc,
.highlight code .kc {
  color: #859900 !important;
  font-weight: bold !important;
}
.pre-code .kd,
html .gist .gist-file .gist-syntax .highlight pre .kd,
.highlight code .kd {
  color: #268bd2 !important;
}
.pre-code .kp,
html .gist .gist-file .gist-syntax .highlight pre .kp,
.highlight code .kp {
  color: #cb4b16 !important;
  font-weight: bold !important;
}
.pre-code .kr,
html .gist .gist-file .gist-syntax .highlight pre .kr,
.highlight code .kr {
  color: #d33682 !important;
  font-weight: bold !important;
}
.pre-code .kt,
html .gist .gist-file .gist-syntax .highlight pre .kt,
.highlight code .kt {
  color: #2aa198 !important;
}
.pre-code .n,
html .gist .gist-file .gist-syntax .highlight pre .n,
.highlight code .n {
  color: #268bd2 !important;
}
.pre-code .na,
html .gist .gist-file .gist-syntax .highlight pre .na,
.highlight code .na {
  color: #268bd2 !important;
}
.pre-code .nb,
html .gist .gist-file .gist-syntax .highlight pre .nb,
.highlight code .nb {
  color: #859900 !important;
}
.pre-code .nc,
html .gist .gist-file .gist-syntax .highlight pre .nc,
.highlight code .nc {
  color: #d33682 !important;
}
.pre-code .no,
html .gist .gist-file .gist-syntax .highlight pre .no,
.highlight code .no {
  color: #b58900 !important;
}
.pre-code .nl,
html .gist .gist-file .gist-syntax .highlight pre .nl,
.highlight code .nl {
  color: #859900 !important;
}
.pre-code .ne,
html .gist .gist-file .gist-syntax .highlight pre .ne,
.highlight code .ne {
  color: #268bd2 !important;
  font-weight: bold !important;
}
.pre-code .nf,
html .gist .gist-file .gist-syntax .highlight pre .nf,
.highlight code .nf {
  color: #268bd2 !important;
  font-weight: bold !important;
}
.pre-code .nn,
html .gist .gist-file .gist-syntax .highlight pre .nn,
.highlight code .nn {
  color: #b58900 !important;
}
.pre-code .nt,
html .gist .gist-file .gist-syntax .highlight pre .nt,
.highlight code .nt {
  color: #268bd2 !important;
  font-weight: bold !important;
}
.pre-code .nx,
html .gist .gist-file .gist-syntax .highlight pre .nx,
.highlight code .nx {
  color: #b58900 !important;
}
.pre-code .vg,
html .gist .gist-file .gist-syntax .highlight pre .vg,
.highlight code .vg {
  color: #268bd2 !important;
}
.pre-code .vi,
html .gist .gist-file .gist-syntax .highlight pre .vi,
.highlight code .vi {
  color: #268bd2 !important;
}
.pre-code .nv,
html .gist .gist-file .gist-syntax .highlight pre .nv,
.highlight code .nv {
  color: #268bd2 !important;
}
.pre-code .mf,
html .gist .gist-file .gist-syntax .highlight pre .mf,
.highlight code .mf {
  color: #2aa198 !important;
}
.pre-code .m,
html .gist .gist-file .gist-syntax .highlight pre .m,
.highlight code .m {
  color: #2aa198 !important;
}
.pre-code .mh,
html .gist .gist-file .gist-syntax .highlight pre .mh,
.highlight code .mh {
  color: #2aa198 !important;
}
.pre-code .mi,
html .gist .gist-file .gist-syntax .highlight pre .mi,
.highlight code .mi {
  color: #2aa198 !important;
}
.pre-code .s,
html .gist .gist-file .gist-syntax .highlight pre .s,
.highlight code .s {
  color: #2aa198 !important;
}
.pre-code .sd,
html .gist .gist-file .gist-syntax .highlight pre .sd,
.highlight code .sd {
  color: #2aa198 !important;
}
.pre-code .s2,
html .gist .gist-file .gist-syntax .highlight pre .s2,
.highlight code .s2 {
  color: #2aa198 !important;
}
.pre-code .se,
html .gist .gist-file .gist-syntax .highlight pre .se,
.highlight code .se {
  color: #dc322f !important;
}
.pre-code .si,
html .gist .gist-file .gist-syntax .highlight pre .si,
.highlight code .si {
  color: #268bd2 !important;
}
.pre-code .sr,
html .gist .gist-file .gist-syntax .highlight pre .sr,
.highlight code .sr {
  color: #2aa198 !important;
}
.pre-code .s1,
html .gist .gist-file .gist-syntax .highlight pre .s1,
.highlight code .s1 {
  color: #2aa198 !important;
}
.pre-code div .gd,
html .gist .gist-file .gist-syntax .highlight pre div .gd,
.highlight code div .gd,
.pre-code div .gd .x,
html .gist .gist-file .gist-syntax .highlight pre div .gd .x,
.highlight code div .gd .x,
.pre-code div .gi,
html .gist .gist-file .gist-syntax .highlight pre div .gi,
.highlight code div .gi,
.pre-code div .gi .x,
html .gist .gist-file .gist-syntax .highlight pre div .gi .x,
.highlight code div .gi .x {
  display: inline-block;
  width: 100%;
}
.highlight,
.gist-highlight {
  margin-bottom: 1.8em;
  background: #002b36;
  overflow-y: hidden;
  overflow-x: auto;
}
.highlight pre,
.gist-highlight pre {
  background: none;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -ms-border-radius: 0px;
  -o-border-radius: 0px;
  border-radius: 0px;
  border: none;
  padding: 0;
  margin-bottom: 0;
}
pre::-webkit-scrollbar,
.highlight::-webkit-scrollbar,
.gist-highlight::-webkit-scrollbar {
  height: 0.5em;
  background: rgba(255,255,255,0.15);
}
pre::-webkit-scrollbar-thumb:horizontal,
.highlight::-webkit-scrollbar-thumb:horizontal,
.gist-highlight::-webkit-scrollbar-thumb:horizontal {
  background: rgba(255,255,255,0.2);
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
.highlight code {
  background: #000;
}
figure.code {
  background: none;
  padding: 0;
  border: 0;
  margin-bottom: 1.5em;
}
figure.code pre {
  margin-bottom: 0;
}
figure.code figcaption {
  position: relative;
}
figure.code .highlight {
  margin-bottom: 0;
}
.code-title,
html .gist .gist-file .gist-meta a[href*='#file'],
h3.filename,
figure.code figcaption {
  text-align: center;
  font-size: 13px;
  line-height: 2em;
  color: #586069;
  background-color: #f7f7f7;
  border-radius: 0 0 2px 2px;
}
.download-source,
html .gist .gist-file .gist-meta a[href*=raw],
figure.code figcaption a {
  position: absolute;
  right: 0.8em;
  text-decoration: none;
  color: #666 !important;
  z-index: 1;
  font-size: 13px;
  padding-left: 3em;
}
.download-source:hover,
html .gist .gist-file .gist-meta a[href*=raw]:hover,
figure.code figcaption a:hover {
  text-decoration: underline;
}
#archive #content > div,
#archive #content > div > article {
  padding-top: 0;
}
#blog-archives {
  color: #aaa;
}
#blog-archives article {
  padding: 1em 0 1em;
  position: relative;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC") bottom left repeat-x;
}
#blog-archives article:last-child {
  background: none;
}
#blog-archives article footer {
  padding: 0;
  margin: 0;
}
#blog-archives h1 {
  color: #242424;
  margin-bottom: 0.3em;
}
#blog-archives h2 {
  display: none;
}
#blog-archives h1 {
  font-size: 1.5em;
}
#blog-archives h1 a {
  text-decoration: none;
  color: inherit;
  font-weight: normal;
  display: inline-block;
}
#blog-archives h1 a:hover {
  text-decoration: underline;
}
#blog-archives h1 a:hover {
  color: #368ce2;
}
#blog-archives a.category,
#blog-archives time {
  color: #aaa;
}
#blog-archives .entry-content {
  display: none;
}
#blog-archives time {
  font-size: 0.9em;
  line-height: 1.2em;
}
#blog-archives time .month,
#blog-archives time .day {
  display: inline-block;
}
#blog-archives time .month {
  text-transform: uppercase;
}
#blog-archives p {
  margin-bottom: 1em;
}
#blog-archives a,
#blog-archives .entry-content a {
  color: inherit;
}
#blog-archives a:hover,
#blog-archives .entry-content a:hover {
  color: #368ce2;
}
#blog-archives a:hover {
  color: #368ce2;
}
@media only screen and (min-width: 550px) {
  #blog-archives article {
    margin-left: 5em;
  }
  #blog-archives h2 {
    margin-bottom: 0.3em;
    font-weight: normal;
    display: inline-block;
    position: relative;
    top: -1px;
    float: left;
  }
  #blog-archives h2:first-child {
    padding-top: 0.75em;
  }
  #blog-archives time {
    position: absolute;
    text-align: right;
    left: 0em;
    top: 1.8em;
  }
  #blog-archives .year {
    display: none;
  }
  #blog-archives article {
    padding-left: 4.5em;
    padding-bottom: 0.7em;
  }
  #blog-archives a.category {
    line-height: 1.1em;
  }
}
#content > .category article {
  margin-left: 0;
  padding-left: 6.8em;
}
#content > .category .year {
  display: inline;
}
.side-shadow-border,
aside.sidebar section h1,
aside.sidebar li {
  -webkit-box-shadow: #f7f7f7 0 1px;
  -moz-box-shadow: #f7f7f7 0 1px;
  -webkit-box-shadow: #f7f7f7 0 1px;
  box-shadow: #f7f7f7 0 1px;
}
aside.sidebar {
  overflow: hidden;
  color: #454545;
  text-shadow: 0 1px 1px #f3f3f3;
}
aside.sidebar section {
  font-size: 0.8em;
  line-height: 1.4em;
  margin-bottom: 1.5em;
}
aside.sidebar section h1 {
  margin: 1.5em 0 0;
  padding-bottom: 0.2em;
  border-bottom: 1px solid #dadada;
}
aside.sidebar section h1 + p {
  padding-top: 0.4em;
}
aside.sidebar img {
  -webkit-border-radius: 0.3em;
  -moz-border-radius: 0.3em;
  -ms-border-radius: 0.3em;
  -o-border-radius: 0.3em;
  border-radius: 0.3em;
  -webkit-box-shadow: rgba(0,0,0,0.15) 0 1px 4px;
  -moz-box-shadow: rgba(0,0,0,0.15) 0 1px 4px;
  -webkit-box-shadow: rgba(0,0,0,0.15) 0 1px 4px;
  box-shadow: rgba(0,0,0,0.15) 0 1px 4px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #fff 0.3em solid;
}
aside.sidebar ul {
  margin-bottom: 0.5em;
  margin-left: 0;
}
aside.sidebar li {
  list-style: none;
  padding: 0.5em 0;
  margin: 0;
  border-bottom: 1px solid #dadada;
}
aside.sidebar li p:last-child {
  margin-bottom: 0;
}
aside.sidebar a {
  color: inherit;
  -webkit-transition: color 0.5s;
  -moz-transition: color 0.5s;
  -o-transition: color 0.5s;
  -webkit-transition: color 0.5s;
  -moz-transition: color 0.5s;
  -o-transition: color 0.5s;
  -ms-transition: color 0.5s;
  transition: color 0.5s;
}
aside.sidebar:hover a {
  color: #242424;
}
aside.sidebar:hover a:hover {
  color: #368ce2;
}
.aside-alt-link,
#pinboard_linkroll .pin-tag {
  color: #7e7e7e;
}
.aside-alt-link:hover,
#pinboard_linkroll .pin-tag:hover {
  color: #368ce2;
}
@media only screen and (min-width: 768px) {
  .toggle-sidebar {
    outline: none;
    position: absolute;
    right: -10px;
    top: 0;
    bottom: 0;
    display: inline-block;
    text-decoration: none;
    color: #cecece;
    width: 9px;
    cursor: pointer;
  }
  .toggle-sidebar:hover {
    background: #e9e9e9;
    background: -webkit-linear-gradient(left, rgba(224,224,224,0.5), rgba(224,224,224,0));
    background: -moz-linear-gradient(left, rgba(224,224,224,0.5), rgba(224,224,224,0));
    background: -o-linear-gradient(left, rgba(224,224,224,0.5), rgba(224,224,224,0));
    background: -ms-linear-gradient(left, rgba(224,224,224,0.5), rgba(224,224,224,0));
    background: linear-gradient(to right, rgba(224,224,224,0.5), rgba(224,224,224,0));
  }
  .toggle-sidebar:after {
    position: absolute;
    right: -11px;
    top: 0;
    width: 20px;
    font-size: 1.2em;
    line-height: 1.1em;
    padding-bottom: 0.15em;
    -moz-border-radius-bottomright: 0.3em;
    -webkit-border-bottom-right-radius: 0.3em;
    border-bottom-right-radius: 0.3em;
    text-align: center;
    background: #f5f5f5 url("/images/noise.png?1416136272") top left;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    content: "\00BB";
    text-indent: -1px;
  }
  .collapse-sidebar .toggle-sidebar {
    text-indent: 0px;
    right: -20px;
    width: 19px;
  }
  .collapse-sidebar .toggle-sidebar:hover {
    background: #e9e9e9;
  }
  .collapse-sidebar .toggle-sidebar:after {
    border-left: 1px solid #dadada;
    text-shadow: #fff 0 1px;
    content: "\00AB";
    left: 0px;
    right: 0;
    text-align: center;
    text-indent: 0;
    border: 0;
    border-right-width: 0;
    background: none;
  }
}
.googleplus h1 {
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  -o-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border-bottom: 0px none !important;
}
.googleplus a {
  text-decoration: none;
  white-space: normal !important;
  line-height: 32px;
}
.googleplus a img {
  float: left;
  margin-right: 0.5em;
  border: 0 none;
}
.googleplus-hidden {
  position: absolute;
  top: -1000em;
  left: -1000em;
}
#pinboard_linkroll .pin-title,
#pinboard_linkroll .pin-description {
  display: block;
  margin-bottom: 0.5em;
}
#pinboard_linkroll .pin-tag {
  text-decoration: none;
}
#pinboard_linkroll .pin-tag:hover {
  text-decoration: underline;
}
#pinboard_linkroll .pin-tag:after {
  content: ',';
}
#pinboard_linkroll .pin-tag:last-child:after {
  content: '';
}
.delicious-posts a.delicious-link {
  margin-bottom: 0.5em;
  display: block;
}
.delicious-posts p {
  font-size: 1em;
}
body > footer {
  font-size: 0.8em;
  color: #888;
  text-shadow: #d9d9d9 0 1px;
  background-color: #f2f2f2;
  background: url("/images/noise.png?1416136272"), -webkit-linear-gradient(#e0e0e0, #ccc, #b0b0b0);
  background: url("/images/noise.png?1416136272"), -moz-linear-gradient(#e0e0e0, #ccc, #b0b0b0);
  background: url("/images/noise.png?1416136272"), -o-linear-gradient(#e0e0e0, #ccc, #b0b0b0);
  background: url("/images/noise.png?1416136272"), -ms-linear-gradient(#e0e0e0, #ccc, #b0b0b0);
  background: url("/images/noise.png?1416136272"), linear-gradient(#e0e0e0, #ccc, #b0b0b0);
  border-top: 1px solid #f2f2f2;
  position: relative;
  padding-top: 1em;
  padding-bottom: 1em;
  margin-bottom: 3em;
  -moz-border-radius-bottomleft: 0.4em;
  -webkit-border-bottom-left-radius: 0.4em;
  border-bottom-left-radius: 0.4em;
  -moz-border-radius-bottomright: 0.4em;
  -webkit-border-bottom-right-radius: 0.4em;
  border-bottom-right-radius: 0.4em;
  z-index: 1;
}
body > footer a {
  color: #6b6b6b;
}
body > footer a:visited {
  color: #6b6b6b;
}
body > footer a:hover {
  color: #484848;
}
body > footer p:last-child {
  margin-bottom: 0;
}
.pagination span.space {
  display: none;
}
.ad-unit {
  display: none;
}
/*ol, */
ul,
dir,
menu,
dd {
  margin-left: /*40px*/ 1em;
}
ol {
  margin-left: 1.2em;
}
li {
  margin-left: 0.2em;
  padding-left: 0.1em;
}
:link,
:visited {
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
ol,
ul {
  margin-bottom: 1em;
}
li {
  padding: 0;
}
li {
  margin-bottom: 0.2em;
}
li > p {
  margin-bottom: 0.2em;
}
/*ol, ul,*/
dir,
menu,
dd {
  margin-left: /*40px*/ 1em;
}
/* ol { margin-left: 1.2em; } */
ol {
  list-style-type: decimal;
}
ol ol {
  list-style-type: lower-alpha;
}
ol ol ol {
  list-style-type: lower-roman;
}
ul {
  list-style-type: disc;
}
ul ul {
  list-style-type: square;
}
ul ul ul {
  list-style-type: disc;
}
ul ul ul ul {
  list-style-type: square;
}
ol ol,
ol ul,
ul ul,
ul ol {
  margin-left: 1em;
  margin-bottom: 0;
}
/* ul, ul ul, ul ol, ol, ol ul, ol ol {
    margin-left: 1.3em
} */
/* ul ul, ul ol, ol ul, ol ol {
    margin-bottom: 0em
} */
/* sup, sub {
    font-size: 0.75em;
    position: relative;
    display: inline-block;
    padding: 0 .2em;
    line-height: .8em
} */
sup {
  top: -0.5em;
}
sub {
  bottom: -0.5em;
}
blockquote,
article blockquote {
  font-size: 1em;
}
blockquote,
article blockquote {
  background: #dcdcdc;
  border-left: 0.5em solid currentColor;
  border-radius: 0.1em;
  margin-left: 0.5em;
  margin-right: 1em;
  padding: 0.5em;
  padding-left: 1em;
  padding-right: 1em;
}
/* blockquotes with type modifiers */
blockquote {
  font-size: 0.9em;
}
blockquote {
  background: #dcdcdc;
  border-left: 0.5em solid /* #EEE */ #696969;
  border-radius: 0.1em;
  margin-left: 0em;
  margin-right: 0em;
  padding: 0.5em;
  padding-left: 1em;
}
blockquote:before {
  font-family: fontawesome;
  font-style: normal;
  font-size: 1em;
  display: inline-block;
  float: left;
  position: relative;
  margin: 0;
  margin-left: -3em;
  padding: 0;
  color: #fff;
  width: 2em;
  text-align: center;
}
blockquote.--error {
  background: #ffbfbf;
  border-left: 2em solid #dc143c;
  margin-left: 0em;
  margin-right: 0;
}
blockquote.--error:before {
  content: "\F06a";
  margin-left: -3em;
  text-align: center;
}
blockquote.--info {
  background: #bfe9ff;
  border-left: 2em solid #4169e1;
  margin-left: 0em;
  margin-right: 0;
}
blockquote.--info:before {
  content: "\F05a";
  margin-left: -3em;
  text-align: center;
}
blockquote.--warning {
  background: #fff2bf;
  border-left: 2em solid #ff8c00;
  margin-left: 0em;
  margin-right: 0;
}
blockquote.--warning:before {
  content: "\F071";
  margin-left: -3em;
  text-align: center;
}
blockquote.--success {
  background: #d7ffbf;
  border-left: 2em solid #228b22;
  margin-left: 0em;
  margin-right: 0;
}
blockquote.--success:before {
  content: "\F058";
  margin-left: -3em;
  text-align: center;
}
div.entry-content > table {
  border-collapse: collapse;
  font-size: 1em;
}
div.entry-content > table + div.entry-content > table {
  margin-top: 1em;
}
div.entry-content > table thead {
  background: /* #EEE */ #dcdcdc;
  background: rgba(238,238,238,0.5);
  text-align: left;
}
div.entry-content > table th,
div.entry-content > table td,
div.entry-content > table caption {
  border: /* 1px */ 0.05em solid /* #EEE */ #dcdcdc;
}
div.entry-content > table th,
div.entry-content > table td {
  padding: /* 5px 10px */ 0.35em 0.7em;
}
div.entry-content > table caption {
  border-collapse: collapse;
  padding: 0 0.7em;
}
.header-anchor {
  display: inline-block;
  margin-left: -1em;
  width: 1em;
  text-align: center;
  opacity: 0.075;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=8)";
  filter: alpha(opacity=8);
  -webkit-transition: opacity 0.3s ease-in-out;
  -moz-transition: opacity 0.3s ease-in-out;
  -o-transition: opacity 0.3s ease-in-out;
  -ms-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
h1:hover > a.header-anchor,
h2:hover > a.header-anchor,
h3:hover > a.header-anchor,
h4:hover > a.header-anchor,
h5:hover > a.header-anchor,
h6:hover > a.header-anchor,
.header-anchor:hover {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
a.header-anchor {
  text-decoration: none;
}
div.entry-content > table {
  margin-bottom: 1em;
}
div.entry-content > table td > p:last-child {
  margin-bottom: 0;
}
div.entry-content > table td > ul:last-child {
  margin-bottom: 0;
}
table figure.highlight {
  margin-bottom: 0;
}
figure.highlight table td,
figure.highlight table th,
figure.highlight table caption {
  padding: 0;
  border: 0;
}
td > figure.highlight {
  margin: -0.35em -0.75em;
}
blockquote figure.highlight {
  margin: -0.5em;
  margin-left: -1em;
  margin-right: -1em;
}
blockquote *:last-child {
  margin-bottom: 0;
}
caption > p:last-child {
  margin-bottom: 0;
}
body {
  line-height: 2rem;
}
body {
  font-size: 1.2rem;
}
body {
  -webkit-transition: width 0.3s ease-in-out;
  -moz-transition: width 0.3s ease-in-out;
  -o-transition: width 0.3s ease-in-out;
  -ms-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
}
.article-entry pre,
.article-entry .highlight {
  background: #2d2d2d;
  padding: 15px article-padding;
  border-style: solid;
  border-color: color-border;
  border-width: 1px 0;
  overflow: auto;
  color: #ccc;
}
.article-entry pre,
.article-entry code {
  font-family: font-mono;
}
.article-entry code {
  background: color-background;
  text-shadow: 0 1px #fff;
  padding: 0 0.3em;
}
.article-entry pre code {
  background: none;
  text-shadow: none;
  padding: 0;
}
.article-entry .highlight pre {
  border: none;
  margin: 0;
  padding: 0;
}
.article-entry .highlight table {
  margin: 0;
  width: auto;
}
.article-entry .highlight td {
  border: none;
  padding: 0;
}
.article-entry .highlight figcaption {
  zoom: 1;
  font-size: 0.85em;
  color: #999;
  line-height: 1em;
  margin-bottom: 1em;
}
.article-entry .highlight figcaption:before,
.article-entry .highlight figcaption:after {
  content: "";
  display: table;
}
.article-entry .highlight figcaption:after {
  clear: both;
}
.article-entry .highlight figcaption a {
  float: right;
}
.article-entry .highlight .gutter pre {
  text-align: right;
  padding-right: 20px;
}
.article-entry .highlight .line.marked {
  background: #515151;
}
.article-entry .gist {
  border-style: solid;
  border-color: color-border;
  border-width: 1px 0;
  background: #2d2d2d;
  padding: 15px article-padding 15px 0;
}
.article-entry .gist .gist-file {
  border: none;
  font-family: font-mono;
  margin: 0;
}
.article-entry .gist .gist-file .gist-data {
  background: none;
  border: none;
}
.article-entry .gist .gist-file .gist-data .line-numbers {
  background: none;
  border: none;
  padding: 0 20px 0 0;
}
.article-entry .gist .gist-file .gist-data .line-data {
  padding: 0 !important;
}
.article-entry .gist .gist-file .highlight {
  margin: 0;
  padding: 0;
  border: none;
}
.article-entry .gist .gist-file .gist-meta {
  background: #2d2d2d;
  color: #999;
  font: 0.85em font-sans;
  text-shadow: 0 0;
  padding: 0;
  margin-top: 1em;
  margin-left: article-padding;
}
.article-entry .gist .gist-file .gist-meta a {
  color: color-link;
  font-weight: normal;
}
.article-entry .gist .gist-file .gist-meta a:hover {
  text-decoration: underline;
}
pre .comment,
pre .title {
  color: #999;
}
pre .variable,
pre .attribute,
pre .tag,
pre .regexp,
pre .ruby .constant,
pre .xml .tag .title,
pre .xml .pi,
pre .xml .doctype,
pre .html .doctype,
pre .css .id,
pre .css .class,
pre .css .pseudo {
  color: #f2777a;
}
pre .number,
pre .preprocessor,
pre .built_in,
pre .literal,
pre .params,
pre .constant {
  color: #f99157;
}
pre .class,
pre .ruby .class .title,
pre .css .rules .attribute {
  color: #9c9;
}
pre .string,
pre .value,
pre .inheritance,
pre .header,
pre .ruby .symbol,
pre .xml .cdata {
  color: #9c9;
}
pre .css .hexcolor {
  color: #6cc;
}
pre .function,
pre .python .decorator,
pre .python .title,
pre .ruby .function .title,
pre .ruby .title .keyword,
pre .perl .sub,
pre .javascript .title,
pre .coffeescript .title {
  color: #69c;
}
pre .keyword,
pre .javascript .function {
  color: #c9c;
}
