@charset "UTF-8";
.retina-image {
  max-width: 50%;
  max-height: auto; }

/**
 * Reset some basic elements
 */
body, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, hr,
dl, dd, ol, ul, figure {
  margin: 0;
  padding: 0; }

/**
 * Basic styling
 */
body {
  font-size: 18px;
  line-height: 1.25;
  font-weight: 300;
  color: #000;
  background-color: #fff;
  -webkit-text-size-adjust: 100%; }

html, button, input, select, textarea,
.pure-g [class*="pure-u"] {
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; }

/**
 * Set `margin-bottom` to maintain vertical rhythm
 */
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
ul, ol, dl, figure,
.highlight {
  margin-top: 0.75em;
  margin-bottom: 0.75em; }

/**
 * Images
 */
img {
  max-width: 100%;
  vertical-align: middle; }

/**
 * Figures
 */
figure > img {
  display: block; }

figcaption {
  font-size: 15.75px; }

/**
 * Lists
 */
ul, ol {
  margin-bottom: 1.5em;
  margin-left: 1.5em;
  list-style: none; }

li {
  margin-bottom: .5em; }
  li > ul,
  li > ol {
    margin-bottom: 0; }

/**
 * Headings
 */
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  text-decoration: none; }

/**
 * Links
 */
a {
  color: #224BD4; }
  a:visited {
    color: #173492; }
  a:hover {
    color: #000;
    text-decoration: none; }

/**
 * Blockquotes
 */
blockquote {
  color: #828282;
  border-left: 4px solid #e8e8e8;
  padding-left: 0.75em;
  font-size: 18px;
  letter-spacing: -1px;
  font-style: italic; }
  blockquote > :last-child {
    margin-bottom: 0; }

/**
 * Code formatting
 */
pre,
code {
  font-size: 15px;
  border: 1px solid #e8e8e8;
  border-radius: 3px;
  background-color: #eef; }

code {
  padding: 1px 5px; }

pre {
  padding: 8px 12px;
  overflow-x: scroll; }
  pre > code {
    border: 0;
    padding-right: 0;
    padding-left: 0; }

/**
 * Wrapper
 */
.wrapper {
  max-width: -webkit-calc(1100px - (1.5em * 2));
  max-width: calc(1100px - (1.5em * 2));
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.5em;
  padding-left: 1.5em; }
  @media screen and (max-width: 800px) {
    .wrapper {
      max-width: -webkit-calc(1100px - (1.5em));
      max-width: calc(1100px - (1.5em));
      padding-right: 0.75em;
      padding-left: 0.75em; } }

/**
 * Clearfix
 */
.wrapper:after {
  content: "";
  display: table;
  clear: both; }

/**
 * Icons
 */
.icon > svg {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle; }
  .icon > svg path {
    fill: #828282; }

/**
 * Social
 */
a.social {
  text-decoration: none;
  margin-right: .15em;
  display: inline-block;
  width: 56px;
  height: 56px;
  background-size: 100%; }
  a.social.twitter {
    background-image: url(/site_images/social/twitter.svg); }
  a.social.facebook {
    background-image: url(/site_images/social/facebook-square.svg); }
  @media screen and (max-width: 600px) {
    a.social {
      width: 38px;
      height: 38px; } }

/**
 * Tip jar
 */
.tipjar {
  text-align: left;
  border: 1px solid #ddd;
  padding: 0;
  margin: 1em 0;
  display: inline-block;
  height: 75px;
  clear: both;
  font-family: 'Helvetica Neue', Helvetica, sans-serif;
  font-size: .75em;
  line-height: 1.5em; }
  .tipjar div.image {
    float: left;
    padding: 0;
    margin: 0; }
    .tipjar div.image img {
      padding: 0;
      margin: 0; }
  .tipjar div.content {
    float: left;
    margin: 0;
    padding: 0; }
    .tipjar div.content h4 {
      margin: 0;
      padding: 0.1em .5em;
      background: #eee; }
    .tipjar div.content p {
      margin: 0;
      padding: 0em .5em; }
    .tipjar div.content form {
      margin: 0em 0;
      padding: .25em .5em;
      display: inline-block; }

/**
 * Embed
 */
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%; }

.embed-container iframe, .embed-container object, .embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/**
 * Site header
 */
.site-nav {
  float: right;
  line-height: 56px; }
  .site-nav .menu-icon {
    display: none; }
  .site-nav .page-link {
    color: #000;
    line-height: 1.25; }
    .site-nav .page-link:not(:first-child) {
      margin-left: 20px; }
  @media screen and (max-width: 600px) {
    .site-nav {
      position: absolute;
      top: 9px;
      right: 30px;
      background-color: #fff;
      border: 1px solid #e8e8e8;
      border-radius: 5px;
      text-align: right; }
      .site-nav .menu-icon {
        display: block;
        float: right;
        width: 36px;
        height: 26px;
        line-height: 0;
        padding-top: 10px;
        text-align: center; }
        .site-nav .menu-icon > svg {
          width: 18px;
          height: 15px; }
          .site-nav .menu-icon > svg path {
            fill: #424242; }
      .site-nav .trigger {
        clear: both;
        display: none; }
      .site-nav:hover .trigger {
        display: block;
        padding-bottom: 5px; }
      .site-nav .page-link {
        display: block;
        padding: 5px 10px; } }

/**
 * Site footer
 */
.site-footer {
  border-top: 1px solid #e8e8e8;
  border-bottom: 1px solid #e8e8e8;
  padding: 0 0 5em 0;
  height: 100%;
  background-color: #F7F5EE; }
  .site-footer div {
    text-align: center;
    padding: .5em 0; }

/**
 * Page content
 */
.page-content {
  padding: 0; }
  .page-content a:hover {
    text-decoration: underline; }
  .page-content .callout {
    margin: 1em 2em;
    padding: 1em;
    background: #EFEEDC;
    font-weight: bold;
    border: 1px dotted #1F1C0B;
    color: #1F1C0B;
    text-align: center; }

.content {
  margin: 1em auto; }
  .content li:before {
    content: '✻';
    margin: 0 0 0 -1.25em;
    float: left;
    font-size: .75em;
    color: #9C9223; }

.post {
  max-width: 800px;
  margin: 2em auto; }

.page-heading {
  font-size: 20px; }

.post-list {
  margin-left: 0;
  list-style: none; }
  .post-list > li {
    margin-bottom: 1.5em; }

.post-meta {
  font-size: 15.75px;
  color: #828282; }

.post-link {
  display: block;
  font-size: 24px; }

.pure-g > div {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.box {
  padding: 1.5em; }
  .box h4 {
    border-bottom: 1px solid #ccc; }
  @media screen and (max-width: 600px) {
    .box {
      padding: .5em; } }

.home-box {
  padding: 0 1em 1em 1em;
  text-align: center; }
  .home-box a {
    font-family: "Helvetica Neue", Helvetica, Lato, sans-serif;
    font-weight: normal;
    font-size: 1.5em;
    color: black;
    text-decoration: none; }
  .home-box img {
    width: 170px;
    display: block;
    clear: both;
    margin: .5em auto; }
  .home-box h4 {
    margin: 0;
    padding: 0;
    font-weight: normal; }
  .home-box .home-icon-tagline {
    font-weight: normal;
    font-style: italic;
    font-size: .5em;
    margin-bottom: .25em; }
  .home-box .home-icon-platform {
    font-weight: normal;
    font-size: .4em;
    color: #666666; }

/**
 * Posts
 */
.post-header {
  margin-bottom: 1.5em; }

.post-title {
  font-size: 1.75em;
  letter-spacing: -1px;
  line-height: 1;
  margin-bottom: 0; }
  @media screen and (max-width: 800px) {
    .post-title {
      font-size: 1.25em; } }

.post-content {
  margin-bottom: 4em; }
  .post-content img {
    margin: 1em 0; }
  .post-content li:before {
    content: '✻';
    margin: 0 0 0 -1.25em;
    float: left;
    font-size: .75em;
    color: #9C9223; }

.post-nav {
  margin: 1.5em 0; }
  .post-nav a {
    display: inline-block; }
    .post-nav a.next {
      float: right; }

ul.category-list {
  margin: 1em 0 4em 0;
  padding: 0; }
  ul.category-list li {
    margin: 1em 0; }
    ul.category-list li .date {
      font-size: .8em;
      color: #444; }

.custom-wrapper {
  background-color: #2A230D;
  border-bottom: 3px solid #000;
  border-top: 1px solid #000;
  -webkit-font-smoothing: antialiased;
  height: 60px;
  overflow: hidden;
  -webkit-transition: height 0.5s;
  -moz-transition: height 0.5s;
  -ms-transition: height 0.5s;
  transition: height 0.5s;
  padding: .25em .5em; }
  .custom-wrapper a {
    color: #FFF8AB; }
  .custom-wrapper li.pure-menu-item a {
    border-radius: 3px; }
    .custom-wrapper li.pure-menu-item a:hover {
      background-color: #FFF8AB;
      color: #2A230D; }
  .custom-wrapper li.pure-menu-item.pure-menu-selected a.pure-menu-link {
    color: white; }
    .custom-wrapper li.pure-menu-item.pure-menu-selected a.pure-menu-link:hover {
      background-color: transparent; }

.custom-wrapper.open {
  height: 18em; }

.custom-brand {
  padding: 2px;
  margin: 2px; }

.custom-menu-2 {
  margin-top: .75em;
  text-align: right; }
  .custom-menu-2 .pure-menu-item {
    margin: 0; }
    .custom-menu-2 .pure-menu-item .pure-menu-link {
      padding: .25em .5em;
      margin: 0; }
      .custom-menu-2 .pure-menu-item .pure-menu-link img {
        vertical-align: middle;
        margin: 0 .25em 0 0; }
    .custom-menu-2 .pure-menu-item.app {
      font-weight: bold; }

.custom-toggle {
  display: block;
  position: absolute;
  top: 30px;
  right: 15px;
  font-weight: bold;
  display: none; }

#search {
  display: inline-block;
  font-size: .8em;
  padding: .25em .5em; }

@media (max-width: 47.999em) {
  .custom-menu-2 {
    text-align: left;
    margin-top: 0; }

  .custom-toggle {
    display: block; } }
/**
 * Syntax highlighting styles
 */
.highlight {
  background: #fff; }
  .highlight .c {
    color: #998;
    font-style: italic; }
  .highlight .err {
    color: #a61717;
    background-color: #e3d2d2; }
  .highlight .k {
    font-weight: bold; }
  .highlight .o {
    font-weight: bold; }
  .highlight .cm {
    color: #998;
    font-style: italic; }
  .highlight .cp {
    color: #999;
    font-weight: bold; }
  .highlight .c1 {
    color: #998;
    font-style: italic; }
  .highlight .cs {
    color: #999;
    font-weight: bold;
    font-style: italic; }
  .highlight .gd {
    color: #000;
    background-color: #fdd; }
  .highlight .gd .x {
    color: #000;
    background-color: #faa; }
  .highlight .ge {
    font-style: italic; }
  .highlight .gr {
    color: #a00; }
  .highlight .gh {
    color: #999; }
  .highlight .gi {
    color: #000;
    background-color: #dfd; }
  .highlight .gi .x {
    color: #000;
    background-color: #afa; }
  .highlight .go {
    color: #888; }
  .highlight .gp {
    color: #555; }
  .highlight .gs {
    font-weight: bold; }
  .highlight .gu {
    color: #aaa; }
  .highlight .gt {
    color: #a00; }
  .highlight .kc {
    font-weight: bold; }
  .highlight .kd {
    font-weight: bold; }
  .highlight .kp {
    font-weight: bold; }
  .highlight .kr {
    font-weight: bold; }
  .highlight .kt {
    color: #458;
    font-weight: bold; }
  .highlight .m {
    color: #099; }
  .highlight .s {
    color: #d14; }
  .highlight .na {
    color: #008080; }
  .highlight .nb {
    color: #0086B3; }
  .highlight .nc {
    color: #458;
    font-weight: bold; }
  .highlight .no {
    color: #008080; }
  .highlight .ni {
    color: #800080; }
  .highlight .ne {
    color: #900;
    font-weight: bold; }
  .highlight .nf {
    color: #900;
    font-weight: bold; }
  .highlight .nn {
    color: #555; }
  .highlight .nt {
    color: #000080; }
  .highlight .nv {
    color: #008080; }
  .highlight .ow {
    font-weight: bold; }
  .highlight .w {
    color: #bbb; }
  .highlight .mf {
    color: #099; }
  .highlight .mh {
    color: #099; }
  .highlight .mi {
    color: #099; }
  .highlight .mo {
    color: #099; }
  .highlight .sb {
    color: #d14; }
  .highlight .sc {
    color: #d14; }
  .highlight .sd {
    color: #d14; }
  .highlight .s2 {
    color: #d14; }
  .highlight .se {
    color: #d14; }
  .highlight .sh {
    color: #d14; }
  .highlight .si {
    color: #d14; }
  .highlight .sx {
    color: #d14; }
  .highlight .sr {
    color: #009926; }
  .highlight .s1 {
    color: #d14; }
  .highlight .ss {
    color: #990073; }
  .highlight .bp {
    color: #999; }
  .highlight .vc {
    color: #008080; }
  .highlight .vg {
    color: #008080; }
  .highlight .vi {
    color: #008080; }
  .highlight .il {
    color: #099; }

.app_page_banner {
  height: 220px;
  text-align: center; }
  .app_page_banner .app_page_title_image {
    height: 120px;
    margin-top: 50px; }

a.appstore {
  text-decoration: none;
  background: url(/images/appstore.svg) no-repeat transparent;
  background-size: 100%;
  display: inline-block;
  width: 184px;
  height: 56px;
  margin-right: .15em; }
  @media screen and (max-width: 600px) {
    a.appstore {
      width: 150px;
      height: 44px; } }

a.appstore-mac {
  text-decoration: none;
  background: url(/images/appstore-mac.svg) no-repeat transparent;
  background-size: 100%;
  display: inline-block;
  width: 220px;
  height: 56px;
  margin-right: .15em; }
  @media screen and (max-width: 600px) {
    a.appstore-mac {
      width: 150px;
      height: 44px; } }

.quote {
  color: #5E5923; }

p.press img {
  margin: .25em; }
