@charset "UTF-8";
html {
  box-sizing: border-box; }

*, *::after, *::before {
  box-sizing: inherit; }

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

html, body {
  margin: 0;
  padding: 0;
  height: 100%; }

/**
 * Basic styling
 */
body {
  font-family: Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 300;
  color: #000;
  background-color: #fff;
  -webkit-text-size-adjust: 100%; }

.container {
  min-height: 100%;
  position: relative; }

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

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

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

figcaption {
  font-size: 14px; }

/**
 * Lists
 */
ul, ol {
  margin-left: 30px; }

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

/**
 * Headings
 */
h1, h2, h3, h4, h5, h6 {
  font-weight: 300; }

/**
 * Links
 */
a {
  color: #2a7ae2;
  text-decoration: none; }
  a:visited {
    color: #1756a9; }
  a:hover {
    color: #000;
    text-decoration: underline; }

/**
 * Blockquotes
 */
blockquote {
  color: #828282;
  border-left: 4px solid #e8e8e8;
  padding-left: 15px;
  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(800px - (30px * 2));
  max-width: calc(800px - (30px * 2));
  margin-right: auto;
  margin-left: auto;
  padding-right: 30px;
  padding-left: 30px; }
  @media screen and (max-width: 800px) {
    .wrapper {
      max-width: -webkit-calc(800px - (30px));
      max-width: calc(800px - (30px));
      padding-right: 15px;
      padding-left: 15px; } }

/**
 * Clearfix
 */
.wrapper:after, .page-content .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; }

/** 
 * Nav
*/
/**
 * Site header
 */
.site-header {
  min-height: 56px;
  position: relative; }

.site-title {
  font-size: 26px;
  line-height: 56px;
  letter-spacing: -1px;
  margin-bottom: 0;
  float: left; }
  .site-title, .site-title:visited {
    color: #424242; }

/**
 * Page content
 */
.page-content {
  padding: 30px 0; }

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

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

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

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

/**
 * Posts
 */
.post-header {
  margin-bottom: 30px; }

.post-title {
  font-size: 42px;
  letter-spacing: -1px;
  line-height: 1; }
  @media screen and (max-width: 800px) {
    .post-title {
      font-size: 36px; } }

.post-content {
  margin-bottom: 30px; }
  .post-content h2 {
    font-size: 32px; }
    @media screen and (max-width: 800px) {
      .post-content h2 {
        font-size: 28px; } }
  .post-content h3 {
    font-size: 26px; }
    @media screen and (max-width: 800px) {
      .post-content h3 {
        font-size: 22px; } }
  .post-content h4 {
    font-size: 20px; }
    @media screen and (max-width: 800px) {
      .post-content h4 {
        font-size: 18px; } }

h1.strong, h2.strong, h3.strong, h4.strong, h5.strong, h6.strong {
  font-weight: 700; }

.top-navigation {
  background-color: #fff;
  min-height: 60px;
  width: 100%;
  z-index: 9999; }
  .top-navigation .mobile-logo {
    display: inline;
    float: left;
    max-height: 60px;
    padding-left: 1em; }
    .top-navigation .mobile-logo img {
      max-height: 60px;
      opacity: .6;
      padding: .8em 0; }
    @media screen and (min-width: 53.75em) {
      .top-navigation .mobile-logo {
        display: none; } }
  .top-navigation .top-navigation-mobile-menu {
    color: #000;
    display: block;
    float: right;
    font-weight: 700;
    line-height: 60px;
    margin: 0;
    padding-right: 1em;
    text-decoration: none;
    text-transform: uppercase; }
    @media screen and (min-width: 53.75em) {
      .top-navigation .top-navigation-mobile-menu {
        display: none; } }
    .top-navigation .top-navigation-mobile-menu:focus, .top-navigation .top-navigation-mobile-menu:hover {
      color: rgba(0, 0, 0, 0.7); }
  .top-navigation .top-navigation-wrapper {
    max-width: 68em;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 999; }
    .top-navigation .top-navigation-wrapper::after {
      clear: both;
      content: "";
      display: table; }
    .top-navigation .top-navigation-wrapper::after {
      clear: both;
      content: "";
      display: table; }
  .top-navigation ul.top-navigation-menu {
    -webkit-transform-style: preserve-3d;
    clear: both;
    display: none;
    margin: 0 auto;
    overflow: visible;
    padding: 0;
    width: 100%;
    z-index: 99999; }
    .top-navigation ul.top-navigation-menu.show {
      display: block; }
    @media screen and (min-width: 53.75em) {
      .top-navigation ul.top-navigation-menu {
        display: block;
        text-align: left; } }
  @media screen and (min-width: 53.75em) {
    .top-navigation .nav-link:first-child {
      margin-left: 2.2em; } }
  .top-navigation ul li.nav-link {
    background: #fff;
    display: block;
    line-height: 60px;
    overflow: hidden;
    padding-right: 1em;
    text-align: right;
    width: 100%;
    z-index: 9999; }
    .top-navigation ul li.nav-link a {
      color: #000;
      display: inline-block;
      outline: none;
      text-decoration: none; }
      .top-navigation ul li.nav-link a:focus, .top-navigation ul li.nav-link a:hover {
        color: rgba(0, 0, 0, 0.7); }
    @media screen and (min-width: 53.75em) {
      .top-navigation ul li.nav-link {
        background: transparent;
        display: inline;
        line-height: 60px; }
        .top-navigation ul li.nav-link a {
          padding-right: 1em; } }
  .top-navigation li.logo.nav-link {
    display: none;
    line-height: 0; }
    @media screen and (min-width: 53.75em) {
      .top-navigation li.logo.nav-link {
        display: inline; } }
  .top-navigation .logo img {
    margin-bottom: -0.66667em;
    max-height: 2em;
    opacity: 0.6; }
  .top-navigation li.more.nav-link {
    padding-right: 0; }
    @media screen and (min-width: 53.75em) {
      .top-navigation li.more.nav-link {
        padding-right: 1em; } }
    .top-navigation li.more.nav-link > ul > li:first-child a {
      padding-top: 1em; }
    .top-navigation li.more.nav-link a {
      margin-right: 1em; }
    .top-navigation li.more.nav-link > a {
      padding-right: 0.6em; }
    .top-navigation li.more.nav-link > a:after {
      position: absolute;
      top: auto;
      right: -0.4em;
      bottom: auto;
      left: auto;
      color: #000;
      content: "\25BE"; }
  .top-navigation li.more {
    overflow: visible;
    padding-right: 0; }
    .top-navigation li.more a {
      padding-right: 1em; }
    .top-navigation li.more > a {
      padding-right: 1.6em;
      position: relative; }
      @media screen and (min-width: 53.75em) {
        .top-navigation li.more > a {
          margin-right: 1em; } }
      .top-navigation li.more > a:after {
        content: "›";
        font-size: 1.2em;
        position: absolute;
        right: 0.5em; }
    .top-navigation li.more:focus > .submenu, .top-navigation li.more:hover > .submenu {
      display: block; }
    @media screen and (min-width: 53.75em) {
      .top-navigation li.more {
        padding-right: 1em;
        position: relative; } }
  .top-navigation ul.submenu {
    display: none;
    padding-left: 0; }
    @media screen and (min-width: 53.75em) {
      .top-navigation ul.submenu {
        left: -1em;
        position: absolute;
        top: 1.5em; } }
    @media screen and (min-width: 53.75em) {
      .top-navigation ul.submenu .submenu {
        left: 11.8em;
        top: 0; } }
    .top-navigation ul.submenu li {
      display: block;
      padding-right: 0; }
      @media screen and (min-width: 53.75em) {
        .top-navigation ul.submenu li {
          line-height: 46.15385px; }
          .top-navigation ul.submenu li:first-child > a {
            border-top-left-radius: 3px;
            border-top-right-radius: 3px; }
          .top-navigation ul.submenu li:last-child > a {
            border-bottom-left-radius: 3px;
            border-bottom-right-radius: 3px;
            padding-bottom: .7em; } }
      .top-navigation ul.submenu li a {
        background-color: #f7f7f7;
        display: inline-block;
        text-align: right;
        text-decoration: none;
        width: 100%; }
        @media screen and (min-width: 53.75em) {
          .top-navigation ul.submenu li a {
            background-color: #fff;
            padding-left: 1em;
            text-align: left;
            width: 12em; } }

.page-content {
  height: 100%;
  padding: 30px 0 60px; }
  .page-content .wrapper {
    max-width: 68em;
    margin-left: auto;
    margin-right: auto; }
    .page-content .wrapper::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 800px) {
      .page-content .wrapper {
        max-width: 68em;
        margin-left: auto;
        margin-right: auto; }
        .page-content .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
    .page-content .wrapper ul.social-media-list {
      margin-left: 0; }
      .page-content .wrapper ul.social-media-list li {
        list-style: none;
        margin-left: 0;
        float: left; }
        .page-content .wrapper ul.social-media-list li + li {
          margin-left: 20px; }
        .page-content .wrapper ul.social-media-list li a {
          color: #000; }
          .page-content .wrapper ul.social-media-list li a:hover, .page-content .wrapper ul.social-media-list li a:active {
            color: #003399; }
    .page-content .wrapper .work ul, .page-content .wrapper .work li {
      list-style: none;
      margin-left: 0; }
    .page-content .wrapper .work ul li {
      margin-left: 20px; }
      .page-content .wrapper .work ul li ul {
        margin-top: 20px; }
        .page-content .wrapper .work ul li ul li {
          margin-left: 20px;
          margin-top: 10px; }

footer {
  border-top: 1px solid #d0d0d0;
  background: #f0f0f0;
  width: 100%;
  height: 60px;
  position: absolute;
  bottom: 0;
  left: 0; }
  footer .wrapper {
    max-width: 68em;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 30px; }
    footer .wrapper::after {
      clear: both;
      content: "";
      display: table; }
    footer .wrapper .left-col {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      footer .wrapper .left-col:last-child {
        margin-right: 0; }
      footer .wrapper .left-col a {
        color: #000; }
        footer .wrapper .left-col a:hover, footer .wrapper .left-col a:active {
          color: #003399; }
    footer .wrapper .right-col {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%;
      margin-right: 0; }
      footer .wrapper .right-col:last-child {
        margin-right: 0; }

/**
 * 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; }
