html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr,
acronym, address, cite, code, figure, img, ins, q, s, samp, small, strike,
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;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

body {
  line-height: 1;
  color: #222;
  background: #f8f5f2; }

table {
  border-spacing: 0; }

a {
  text-decoration: none; }

.column {
  max-width: 960px;
  margin: 0 auto;
  position: relative; }

.grid {
  background: url("/image/grid.png");
  z-index: 100;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; }

.right {
  text-align: right; }

nav {
  width: 192px;
  position: absolute;
  right: 0;
  top: 0;
  margin-top: 48px;
  padding: 0 48px 24px 48px;
  font: 13px/20px "Open Sans", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  color: #8f6d3d; }
  nav img.bob {
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    background: #fff;
    width: 192px;
    margin: -8px -8px 32px -8px;
    border: solid 8px #fff;
    border-radius: 4px; }
  nav img.rss {
    vertical-align: middle;
    padding-bottom: 3px; }
  nav h2 {
    margin: 24px 0 4px 0;
    color: #dbaf70;
    font: normal 13px "Open Sans", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px; }
  nav code {
    font: 13px "Source Code Pro", Courier, monospace; }
  nav a {
    color: #c38022; }
  nav a:hover {
    color: #f0bd75; }
  nav p {
    margin-bottom: 12px; }
  nav ul {
    padding-left: 24px;
    margin-bottom: 12px; }
  nav small {
    font-size: 11px;
    color: #bca78a; }
  nav .copyright {
    font-size: 12px;
    font-style: italic;
    color: #bca78a;
    text-align: center; }
  nav .archive {
    padding-left: 24px;
    font-style: italic;
    color: #bca78a; }
  nav .post-count {
    background: #f2ede7;
    margin-left: 2px;
    padding: 0 3px;
    border-radius: 4px; }

header {
  position: relative;
  display: table;
  width: 100%;
  height: 192px;
  margin-bottom: 48px; }
  header h1 {
    display: table-cell;
    vertical-align: middle;
    font: normal 36px/48px "PT Serif", Georgia, serif; }
    header h1 a {
      color: #222; }
    header h1 code {
      background: inherit;
      color: #304550;
      font: 36px "Source Code Pro", Courier, monospace; }
  header a.older, header a.newer {
    position: absolute;
    font: normal 22px/40px "PT Serif", Georgia, serif;
    background: #fff;
    border-radius: 40px;
    padding: 0 16px;
    bottom: -80px;
    color: #bcbcbc; }
  header .older {
    left: -68px; }
  header .newer {
    right: -68px; }

article {
  padding: 48px;
  margin-right: 288px;
  background: #fff; }
  article h2 {
    font: normal 24px "PT Serif", Georgia, serif;
    padding: 24px 0 12px 0;
    font-weight: 700; }
    article h2 code {
      background: inherit;
      color: #304550;
      font: 24px "Source Code Pro", Courier, monospace;
      font-weight: 700;
      padding: 0; }
  article h3 {
    font: italic 19px/24px "PT Serif", Georgia, serif;
    padding: 24px 0 12px 0; }
    article h3 code {
      background: inherit;
      color: #304550;
      font: italic 19px "Source Code Pro", Courier, monospace;
      padding: 0; }
  article h4 {
    position: relative;
    font: 11px "Open Sans", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    padding: 0 0 4px 0;
    margin-bottom: 16px;
    color: #bcbcbc;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: solid 1px #eee; }
    article h4 a {
      color: #bcbcbc; }
    article h4 .tags {
      position: absolute;
      top: 0;
      right: 0; }
      article h4 .tags a {
        margin-left: 5px; }
  article a {
    color: #006699; }
  article a:hover {
    color: #00aaff; }
  article p {
    font: 16px/24px "PT Serif", Georgia, serif;
    padding: 8px 0;
    color: #222;
    letter-spacing: 0; }
  article p + p {
    padding-top: 12px; }
  article ol, article ul {
    margin-left: 24px; }
  article ol li {
    font: bold 13px "PT Serif", Georgia, serif; }
  article a, article a code {
    color: #006699; }
    article a:hover, article a code:hover {
      color: #00aaff; }
  article code {
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    background: #f5f8fa;
    padding: 1px 3px;
    color: #304550;
    font: 15px/18px "Source Code Pro", Courier, monospace; }
  article pre {
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    background: #f5f8fa;
    margin: 6px 0;
    padding: 6px 12px;
    color: #304550;
    overflow: auto; }
    article pre code {
      padding: 0;
      font: 13px/18px "Source Code Pro", Courier, monospace; }
  article tt {
    font: 13px/18px "Source Code Pro", Courier, monospace;
    color: #304550; }
  article blockquote {
    color: #7a7a7a;
    padding: 0 24px; }
    article blockquote p {
      color: #7a7a7a;
      font: italic 18px/26px "PT Serif", Georgia, serif;
      padding: 4px 0; }
      article blockquote p strong {
        font-weight: 600; }
  article .cite {
    font: italic 13px/24px "Open Sans", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    color: #a6a6a6;
    display: block;
    text-align: right;
    margin-top: 0;
    padding: 0 24px 12px 0; }
    article .cite:before {
      content: '\2014\00A0'; }
  article .update {
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    background: #fff7eb;
    margin: 12px 0;
    padding: 0 12px;
    color: #b3884d; }
    article .update p {
      font: 14px/24px "Open Sans", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
      color: #b3884d; }
    article .update code {
      background: #eee8de;
      font-size: 13px/22px; }
    article .update a {
      color: #da840b; }
      article .update a:hover {
        color: #995900; }
  article img {
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    background: inherit;
    display: block;
    padding: 6px;
    margin: 6px auto; }
    article img.framed {
      background: #f4f9fb; }
  article figure {
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    background: #f4f9fb;
    display: block;
    box-sizing: border-box;
    padding: 10px;
    margin: 10px auto;
    width: 100%; }
    article figure img {
      border-radius: 0;
      padding: 0;
      margin: 0;
      width: 100%; }
    article figure iframe.twitter-tweet {
      margin-left: auto !important;
      margin-right: auto !important; }
    article figure figcaption, article figure label, article figure input, article figure output {
      color: #8b8d8e;
      font: 13px "Open Sans", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
      margin-top: 10px; }
  article .table {
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    background: #f8f5f2;
    padding: 6px;
    margin: 6px 0; }
  article table {
    width: 100%;
    border-collapse: collapse;
    color: #4c4c4b; }
    article table td {
      font: 16px/24px "PT Serif", Georgia, serif;
      padding: 0 6px; }
    article table thead td {
      color: #b89e7a;
      font: 13px/24px "Open Sans", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
      font-weight: 600; }
    article table tbody tr:nth-child(odd) {
      background: #fdfdfc; }

.social {
  padding: 24px 0 36px 0;
  text-align: center; }
  .social a {
    color: #bcbcbc;
    padding: 0 4px; }

.comments {
  margin: 0 -48px -48px -48px;
  padding: 24px 48px;
  background: #f1ece4;
  color: #8f6d3d;
  font: normal 13px "Open Sans", "Lucida Sans Unicode", "Lucida Grande", sans-serif; }
  .comments a.dsq-subscribe-email em, .comments a.dsq-subscribe-rss em {
    text-decoration: none; }
  .comments a {
    color: #c38022;
    text-decoration: none; }
  .comments a:hover {
    color: #f0bd75; }

.dsq-comment-text blockquote {
  padding-left: 16px;
  color: #777; }

.post-box {
  display: table; }
  .post-box .date {
    display: table-cell;
    font: 13px "Open Sans", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    width: 96px; }
  .post-box .title {
    display: table-cell;
    padding: 0;
    font: 15px/24px "PT Serif", Georgia, serif; }

.post-box + h4 {
  margin-top: 24px; }

.highlight span.c,
.highlight span.c1,
.highlight span.cm {
  color: #929ea5; }
.highlight span.k {
  color: #0088cc; }
.highlight span.kd {
  color: #0095b3; }
.highlight span.kt {
  color: #009999; }
.highlight span.o {
  color: #3d748f; }
.highlight span.nb {
  color: #009980; }
.highlight span.nc {
  color: #009999; }
.highlight span.p {
  color: #6b7a83; }
.highlight span.s,
.highlight span.s1,
.highlight span.s2,
.highlight span.sc {
  color: #cc7700; }
.highlight span.m,
.highlight span.mf {
  color: #0088cc; }
.highlight span.cp {
  color: #ac3986; }

@media only screen and (max-width: 1008px) {
  header {
    display: block;
    height: inherit; }
    header h1 {
      display: block; }

  article {
    margin: 0 48px;
    padding-top: 96px; }

  nav {
    position: relative;
    display: table;
    margin: 0 48px;
    padding-top: 48px;
    width: inherit;
    background: #eae2d7; }

  .nav-first, .nav-second {
    display: table-cell;
    vertical-align: top;
    width: 50%; }

  .nav-first {
    padding-right: 24px; }

  .nav-second {
    padding-left: 24px; }
    .nav-second h2 {
      margin-top: 0; } }
@media only screen and (max-width: 640px) {
  article, nav {
    margin: 0; }

  header a.older {
    left: -52px; }
  header a.newer {
    right: -52px; } }
@media only screen and (max-width: 480px) {
  article {
    padding: 72px 24px 24px 24px; }

  nav {
    padding: 24px; }

  .comments {
    margin: 0 -24px -24px -24px;
    padding: 24px; }

  header a.older, header a.newer {
    background: #f8f5f2;
    top: -72px;
    bottom: inherit; }
  header a.older {
    left: -24px;
    padding: 0 14px 4px 6px;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  header a.newer {
    right: -24px;
    padding: 0 6px 4px 14px;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 0; }

  nav {
    display: inherit; }
    nav img.bob {
      display: block;
      margin: -8px auto 16px; }

  .nav-first, .nav-second {
    display: inherit;
    width: inherit;
    padding: 0; }

  .nav-second h2 {
    margin-top: 24px; }

  .post-box .date {
    font-size: 11px;
    width: 48px; }
  .post-box .title {
    font-size: 14px;
    line-height: 22px; }

  header h1 {
    font-size: 28px;
    line-height: 36px; }
    header h1 code {
      font-size: 24px; }

  article h2 {
    font-size: 20px;
    padding: 20px 0 10px 0; }
    article h2 code {
      font-size: 20px; }
  article h3 {
    font-size: 17px;
    line-height: 20px;
    padding: 20px 0 10px 0; }
  article h4 {
    font-size: 10px;
    margin-bottom: 6px; }
    article h4 .tags a {
      margin-left: 2px;
      letter-spacing: 0; }
  article p {
    font-size: 14px;
    line-height: 20px;
    padding: 6px 0; }
  article ol li {
    font-size: 11px; }
  article code {
    padding: 1px 3px;
    font-size: 13px; }
  article pre {
    margin: 0;
    padding: 4px 6px; }
    article pre code {
      font-size: 12px; }
  article blockquote p {
    font-size: 15px;
    line-height: 24px; }
  article .cite {
    font-size: 12px; }
  article .update p {
    font-size: 12px;
    line-height: 20px; }
  article .update code {
    font-size: 12px;
    line-height: 20px; }
  article figure figcaption, article figure label, article figure input, article figure output {
    font-size: 11px; }
  article .table {
    padding: 2px;
    margin: 4px 0; }
  article table td {
    font-size: 12px;
    padding: 0 3px; }
  article table thead td {
    font-size: 12px; } }
