::selection {
  background: #cff5d6;
  color: "black";
  text-shadow: none; }

::-moz-selection {
  background: #cff5d6;
  color: "black";
  text-shadow: none; }

::-webkit-selection {
  background: #cff5d6;
  color: "black";
  text-shadow: none; }

::-webkit-scrollbar {
  width: 12px;
  height: 12px; }

::-webkit-scrollbar-track {
  background: #fff; }

::-webkit-scrollbar-thumb {
  background: #bbb; }
  ::-webkit-scrollbar-thumb:hover {
    background: #ccc; }
  ::-webkit-scrollbar-thumb:active {
    background: #ccc; }

body {
  margin: 0 20px;
  overflow-x: hidden;
  color: #333;
  background-color: #fff;
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 14px;
  line-height: 21px;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

html {
  overflow-x: hidden; }

#wrapper {
  margin-bottom: 30px; }

img {
  border: none;
  margin: 0 auto; }

a {
  color: #3aa08f;
  text-decoration: none; }
  a:hover {
    color: #75bdb1; }

.header-link {
  position: relative;
  top: -1px;
  margin-left: 8px;
  font-size: 18px;
  text-decoration: none;
  color: #aaa;
  visibility: hidden; }

h2:hover .header-link,
h3:hover .header-link,
h4:hover .header-link,
h5:hover .header-link,
h6:hover .header-link {
  visibility: visible; }

table {
  margin: 2em auto;
  border-collapse: collapse;
  font-size: 13px;
  line-height: 1.45em;
  width: 100%; }
  table.nopadleft td, table.nopadleft th {
    padding-left: 0; }

tr {
  vertical-align: top; }
  tr.sep td {
    border-top: 2px solid #ccc !important; }

table:not(.no-border) tr:not(:first-child) {
  vertical-align: top; }
  table:not(.no-border) tr:not(:first-child) th, table:not(.no-border) tr:not(:first-child) td {
    border-top: 1px solid #ccc; }

th {
  padding: 8px 0.9em 6px 0.9em;
  font-weight: 700;
  text-align: left;
  color: #666;
  background: #f2f2f2; }

td {
  padding: 6px 0.9em 6px 0.9em; }
  td.h {
    font-weight: 700;
    color: #666; }

table.properties {
  margin: 1em 0;
  width: 80%; }
  table.properties td {
    padding: 3px 0; }
    table.properties td:nth-child(1) {
      font-weight: 600;
      color: #666; }
    table.properties td:nth-child(2) {
      text-align: right; }

dt {
  font-weight: 700;
  margin-bottom: 0.5em; }

dd {
  margin: 0 0 1em 2em; }

blockquote {
  margin: 1.5em 0;
  margin-left: 10px;
  padding-left: 20px;
  color: #777;
  border-left: 3px solid #ccc; }
  blockquote p {
    margin: 0;
    padding: 0; }
  blockquote footer {
    text-align: right;
    margin-right: 3em; }

.warning, .note {
  padding: 0.6em 1em; }
  .warning:before, .note:before {
    display: block;
    margin-bottom: 0.5em;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.1em;
    color: #3aa08f; }

.note {
  background: #d2e9e5; }
  .note:before {
    content: 'Note '; }

.warning {
  background: #fae2e2; }
  .warning:before {
    content: 'Warning ';
    color: #944; }
  .warning pre {
    background: #fbf2f2 !important; }

.important {
  padding: 0.6em 1em;
  background: #d2e9e5; }

hr {
  margin-top: 40px;
  border: 1px solid #aaa;
  border-width: 1px 0 0 0; }
  hr.noline {
    border-color: #fff;
    margin-top: 30px; }

kbd {
  display: inline-block;
  margin: 0 1px;
  padding: 0px 5px;
  font-family: "Inconsolata", serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  color: #444;
  border: 1px solid rgba(0, 0, 0, 0.4);
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.4); }

#jn-logo {
  position: absolute;
  top: 10px;
  right: 25px;
  z-index: 0;
  width: 272px; }

#header {
  height: 123px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  #header ul {
    padding: 82px 11px 0 0;
    list-style: none;
    text-align: right;
    color: #3aa08f;
    cursor: default; }
    #header ul li {
      display: inline;
      margin: 0 13px 0 0;
      padding: 0;
      font-size: 15px;
      font-weight: 600;
      text-transform: uppercase; }
  #header .tagline {
    display: none; }

article header h1 {
  margin: 0;
  font-size: 23px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  color: #3aa08f; }

.post-list {
  margin: 0 0 60px 0; }
  .post-list .post-item {
    position: relative;
    margin-bottom: 12px; }
  .post-list h2 {
    margin: 1em 0 0.8em 0;
    font-size: 20px;
    font-weight: 300;
    line-height: 1;
    color: #777; }
  .post-list h3 {
    margin: 0 0 3px 0;
    padding: 0;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.3; }
    .post-list h3 a {
      color: #333; }
      .post-list h3 a:hover {
        color: #888; }
  .post-list h4 {
    margin: 0 0 1em 0;
    padding: 0;
    font-weight: 400;
    font-size: 14px;
    text-transform: uppercase;
    line-height: 1;
    color: #999; }
  .post-list .tags {
    margin-top: 15px; }
    .post-list .tags li .tag-name {
      width: 150px; }

.post {
  position: relative;
  margin-bottom: 0px; }
  .post .intro {
    color: #777;
    font-style: italic; }
    .post .intro em {
      font-weight: 700; }
  .post header .date {
    margin: 0;
    font-size: 20px;
    line-height: 1.8;
    text-transform: uppercase;
    color: #3aa08f; }
  .post h2, .post #toc-header {
    display: table;
    margin: 1.2em 0 .8em;
    font-size: 19px;
    font-weight: 700;
    color: #3aa08f; }
  .post h3 {
    margin: 1.5em 0 0 0;
    font-size: 16px;
    font-weight: 700;
    color: #3aa08f; }
  .post h4 {
    font-size: 16px; }
  .post a {
    font-weight: 700; }
  .post p {
    clear: both; }
    .post p code {
      font: 16px "Inconsolata", serif;
      padding: 0px 2px;
      font-weight: 600;
      color: #555; }
  .post ul, .post ol {
    margin: 0;
    padding-left: 2.2em;
    color: #888; }
    .post ul li, .post ol li {
      color: #333;
      margin: 1em 0;
      padding-left: 0.5em; }
  .post ul {
    list-style: square; }
  .post .compact li {
    margin: 0; }
  .post .compact li p {
    color: #333;
    margin: 0; }
  .post figure {
    margin: 1.2em 0;
    padding: 0; }
    .post figure.image {
      text-align: center; }
  .post figcaption {
    display: block;
    font-size: 12px;
    line-height: 18px;
    color: #777;
    margin: 0 auto;
    text-align: left; }
    .post figcaption a {
      font-weight: 600; }
  .post pre {
    margin: 0;
    padding: 0.6em 0 0.6em 14px;
    background: #f5f5f5;
    font: 14px "Inconsolata", serif;
    line-height: 18px;
    font-weight: 400;
    overflow-x: auto; }
    .post pre code {
      font: 14px "Inconsolata", serif;
      background: none;
      color: #444; }
  .post .tags {
    margin-top: 12px; }
    .post .tags li {
      display: inline-block; }
  .post .links {
    margin-top: 20px;
    font-size: 14px; }
    .post .links h2 {
      font-size: 18px;
      margin: 1.2em 0 0.6em 0;
      color: #333; }
    .post .links h3 {
      margin: 1.2em 0 0.6em 0;
      font-size: 16px;
      font-weight: 600;
      color: #333; }
  .post .heightened-dramatic-tension {
    font: 200% 'Astloch';
    font-weight: bold; }

.tags {
  list-style: none;
  margin: 0 0 20px 0;
  padding: 0; }
  .tags ul {
    margin: 0;
    padding: 0; }
  .tags li {
    line-height: 26px;
    margin: 0 2px 0 0 !important;
    padding: 0 !important; }
    .tags li .tag-name {
      display: inline-block; }
    .tags li a {
      padding: 1px 10px 2px 10px;
      font-size: 13px;
      font-weight: 600;
      text-transform: uppercase;
      color: #fff;
      background: #3aa08f;
      white-space: nowrap; }
      .tags li a:hover {
        background: #75bdb1; }

.about header {
  margin-bottom: 15px; }
.about h2 {
  margin-top: 1.8em; }
.about .info {
  padding: 10px 20px;
  background: #eee; }
.about .astronaut {
  display: none; }

.footnotes {
  margin-top: 40px;
  border-top: 1px solid #aaa;
  font-size: 13px;
  line-height: 18px; }
  .footnotes ol {
    padding: 0 0 0 30px; }

.comments {
  margin-top: 40px; }

#no-disqus {
  margin-top: 50px;
  padding: 15px 0;
  border-top: 1px dashed #333;
  border-bottom: 1px dashed #333;
  text-align: center; }

#markdown-toc {
  margin: 0;
  padding: 0;
  text-indent: 0; }
  #markdown-toc li {
    list-style-type: none;
    margin: 0;
    padding: 0;
    text-indent: 0; }

@media only screen and (min-width: 500px) {
  body {
    margin: 0 25px;
    font-size: 15px;
    line-height: 23px; }

  table {
    font-size: 13px; }

  table.properties {
    width: 56%; }

  dd {
    margin-left: 2.5em; }

  blockquote {
    margin-top: 2em;
    padding-left: 20px; }

  kbd {
    font-size: 13px;
    line-height: 1.4; }

  #jn-logo {
    top: 20px;
    width: 355px; }

  #header {
    height: 170px; }
    #header ul {
      padding-top: 112px;
      padding-right: 39px; }
      #header ul li {
        margin-right: 12px;
        padding-left: 3px;
        font-size: 18px;
        font-weight: 400; }
        #header ul li a {
          padding-right: 10px; }
        #header ul li:after {
          margin-right: -10px;
          content: "/"; }
        #header ul li:last-child:after {
          content: none; }

  article header h1 {
    font-size: 30px; }

  .post-list h1 {
    margin-bottom: 1em; }
  .post-list h2 {
    margin: 0;
    float: left;
    clear: left;
    font-size: 33px; }
  .post-list h3 {
    margin: 0 0 0 175px;
    font-size: 16px;
    line-height: 1.5; }
  .post-list h4 {
    position: absolute;
    top: 0;
    margin: 0 0 0 100px;
    font-size: 16px;
    line-height: 1.5; }
  .post-list .tags li .tag-name {
    width: 165px; }

  .post header .date {
    font-size: 22px;
    margin-bottom: 0; }
  .post h2, .post #toc-header {
    font-size: 22px; }
  .post h3 {
    font-size: 18px; }
  .post h4 {
    font-size: 16px; }
  .post figure {
    margin: 2em 0;
    padding: 0; }
  .post figcaption {
    margin-top: 0.5em;
    font-size: 13px;
    line-height: 20px; }
  .post pre {
    margin: 0;
    padding-left: 12px;
    font-size: 15px;
    line-height: 20px; }
    .post pre code {
      font-size: 15px; }
  .post .references {
    margin-top: 50px;
    font-size: 15px;
    line-height: 20px; }
  .post .tags li {
    margin-bottom: 1px; }
  .post .links {
    font-size: 15px; }
    .post .links h2 {
      font-size: 20px; }
    .post .links h3 {
      font-size: 17px; }

  .tags li {
    margin: 0 3px 2px 0; }
    .tags li a {
      padding: 1px 10px 1px 10px;
      font-size: 14px; }

  .about h1 {
    margin-bottom: 30px; }

  .footnotes {
    margin-top: 50px;
    font-size: 14px;
    line-height: 21px; }

  .comments {
    margin-top: 50px; } }
@media only screen and (min-width: 740px) {
  body {
    margin: 0;
    font-size: 16px;
    line-height: 25px; }

  table {
    font-size: 14px; }

  table.properties {
    width: 42%; }

  dd {
    margin-left: 3em; }

  #wrapper {
    position: relative;
    left: -6%;
    padding-left: 75px;
    width: 660px;
    margin: 0 auto 40px auto; }

  kbd {
    padding: 0px 6px;
    font-size: 14px; }

  #jn-logo {
    right: 0;
    z-index: 100;
    width: 400px; }

  #header {
    height: 330px; }
    #header .tagline {
      display: block;
      text-align: right;
      text-transform: uppercase;
      font-size: 14px;
      color: #777;
      position: absolute;
      line-height: 17px;
      top: 170px;
      right: 107px; }
    #header ul {
      padding-top: 140px;
      padding-right: 54px; }
      #header ul li {
        font-size: 20px; }

  #header-bg {
    position: absolute;
    top: -53px;
    right: -355px;
    z-index: 0;
    width: 452px;
    height: 415px;
    background: url("/img/bg-header.png") 1px 1px no-repeat;
    background-size: 450px 413px;
    z-index: 0;
    pointer-events: none; } }
  @media only screen and (min-width: 740px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-width: 740px) and (min--moz-device-pixel-ratio: 2), only screen and (min-width: 740px) and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-width: 740px) and (min-device-pixel-ratio: 2), only screen and (min-width: 740px) and (min-resolution: 192dpi), only screen and (min-width: 740px) and (min-resolution: 2dppx) {
    #header-bg {
      background-image: url("/img/bg-header@2x.png"); } }

@media only screen and (min-width: 740px) {
  article header h1 {
    font-size: 34px; }

  hr {
    margin-top: 50px; }

  .post-list h1 {
    margin-bottom: 1.5em; }
  .post-list h2 {
    font-size: 36px; }
  .post-list h3 {
    margin-left: 195px;
    font-size: 18px; }
  .post-list h4 {
    margin-left: 110px;
    font-size: 18px; }
  .post-list .tags li .tag-name {
    width: 180px;
    margin-bottom: 5px; }

  .post {
    margin-bottom: 60px; }
    .post header h1 {
      width: 530px; }
    .post header .date {
      margin: 4px 0 60px 0; }
    .post p {
      margin: 20px 0; }
    .post h2, .post #toc-header {
      font-size: 24px;
      margin-top: 1.5em; }
    .post h3 {
      font-size: 19px;
      margin-top: 1.8em; }
    .post figcaption {
      font-size: 14px;
      line-height: 21px; }
    .post pre {
      margin: 0;
      padding-left: 15px;
      font-size: 15px; }
      .post pre code {
        font-size: 15px; }
    .post .references {
      font-size: 15px; }
      .post .references h2 {
        font-size: 20px; }
    .post .tags {
      position: absolute;
      top: 2px;
      right: -20px;
      width: 125px;
      margin: 0; }
      .post .tags li {
        display: block;
        line-height: 30px;
        margin: 0; }
    .post .links {
      margin-top: 25px;
      font-size: 16px; }
      .post .links h2 {
        font-size: 22px; }
      .post .links h3 {
        font-size: 18px; }

  .tags li a {
    padding: 2px 10px 3px 10px;
    font-size: 15px; }

  .about header h1 {
    margin-bottom: 1.5em; }
  .about h2 {
    margin-top: 2.2em; }
  .about .astronaut {
    display: block;
    margin-top: 10em; }

  .footnotes {
    font-size: 15px;
    line-height: 22px; }

  .comments {
    margin-top: 80px; } }
.hll {
  background-color: #ffffcc; }

.c {
  color: #8e908c; }

/* Comment */
.k {
  color: #3aa08f;
  font-weight: 400; }

/* Keyword */
/* Operator */
/* Generic.Deleted */
/* Generic.Emph */
/* Generic.Heading */
/* Generic.Inserted */
/* Generic.Output */
/* Generic.Prompt */
/* Generic.Strong */
/* Generic.Subheading */
/* Generic.Traceback */
.kc {
  color: #c55f70;
  font-weight: 400; }

/* Keyword.Constant */
.kd {
  color: #c55f70;
  font-weight: 400; }

/* Keyword.Declaration */
.kn {
  color: #c55f70;
  font-weight: 400; }

/* Keyword.Namespace */
.kp {
  color: #c55f70;
  font-weight: 400; }

/* Keyword.Pseudo */
.kr {
  color: #c55f70;
  font-weight: 400; }

/* Keyword.Reserved */
.kt {
  color: #c55f70;
  font-weight: 400; }

/* Keyword.Type */
.m {
  color: #c55f70; }

/* Literal.Number */
.s {
  color: #c55f70; }

/* Literal.String */
/* Name.Attribute */
/* Name.Class */
/* Name.Constant */
/* Name.Decorator */
/* Name.Entity */
.nf {
  color: #3aa08f;
  font-weight: 600; }

/* Name.Function */
/* Name.Label */
/* Name.Namespace */
/* Name.Tag */
/* Name.Variable */
/* Text.Whitespace */
.mf {
  color: #c55f70; }

/* Literal.Number.Float */
.mh {
  color: #c55f70; }

/* Literal.Number.Hex */
.mi {
  color: #c55f70; }

/* Literal.Number.Integer */
.mo {
  color: #c55f70; }

/* Literal.Number.Oct */
.sb {
  color: #c55f70; }

/* Literal.String.Backtick */
.sc {
  color: #c55f70; }

/* Literal.String.Char */
.sd {
  color: #c55f70; }

/* Literal.String.Doc */
.s2 {
  color: #c55f70; }

/* Literal.String.Double */
.se {
  color: #c55f70; }

/* Literal.String.Escape */
.sh {
  color: #c55f70; }

/* Literal.String.Heredoc */
.si {
  color: #c55f70; }

/* Literal.String.Interpol */
.sx {
  color: #c55f70; }

/* Literal.String.Other */
.sr {
  color: #c55f70; }

/* Literal.String.Regex */
.s1 {
  color: #c55f70; }

/* Literal.String.Single */
.ss {
  color: #c55f70; }

/* Literal.String.Symbol */
mtable.ma-legend-align > mtr > mtd:first-child + mtd,
fmath span.ma-legend-align > table > tbody > tr > td:first-child + td {
  text-align: left;
  padding-left: 25px !important; }
