/**
 * Force border-box
 */
*, *:before, *:after {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box; }

/**
 * 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
 */
html {
  font-size: 100%; }
  @media screen and (min-width: 1800px) {
    html {
      font-size: 112.5%; } }

body {
  font-family: "Open Sans", "Clear Sans", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: #333;
  background-color: #fff;
  -webkit-text-size-adjust: 100%; }

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

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

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

figcaption {
  color: #888;
  margin: 1.5rem 0;
  font-size: 0.875rem;
  text-align: center; }

/**
 * Lists
 */
ul, ol, dl {
  margin-left: 1.5rem; }

dl dt {
  color: #888; }

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

/**
 * Links
 */
a {
  color: #19B0B4;
  text-decoration: none; }
  a:visited {
    color: #106e71; }
  a:hover {
    color: #19B0B4;
    text-decoration: underline; }

/**
 * Blockquotes
 */
blockquote {
  color: #888;
  font-size: 1rem;
  font-family: Merriweather, Georgia, "Times New Roman", serif;
  padding: 1.5rem 2.25rem; }
  blockquote > :last-child {
    margin-bottom: 0; }

/**
 * Code formatting
 */
pre,
code {
  color: #111;
  font-family: Inconsolata, monospace;
  font-size: 1rem; }

pre {
  border-radius: 5px;
  background-color: #eee;
  padding: 0.75rem 1.5rem;
  overflow-x: auto; }
  pre > code {
    border: 0;
    padding-right: 0;
    padding-left: 0; }
  @media screen and (min-width: 1800px) {
    pre {
      margin-left: -3rem;
      margin-right: -3rem; } }

/**
 * Wrapper
 */
.wrapper {
  min-width: 320px;
  max-width: 48rem;
  margin: 0 auto;
  padding-right: 0.75rem;
  padding-left: 0.75rem; }
  @media screen and (min-width: 800px) {
    .wrapper {
      padding-right: 1.5rem;
      padding-left: 1.5rem; } }

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

/**
 * Icons
 */
.icon > svg {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  vertical-align: middle; }
  .icon > svg path {
    fill: #888; }

/**
 * Buttons
 */
.btn {
  padding: 0.375rem 0.75rem;
  border-radius: 5px; }
  .btn:hover {
    color: #fff;
    background-color: #20dbe0;
    text-decoration: none; }
  .btn, .btn:visited {
    color: #fff;
    background-color: #19B0B4;
    text-decoration: none; }

/**
 * Tables
 */
table {
  border-spacing: 0;
  border-collapse: collapse; }
  table th, table td {
    border: 1px solid #eee;
    padding: 0.375rem;
    width: 1%; }
  table thead {
    font-weight: bold; }

body {
  background: url("/assets/header_bg.png"); }

/**
 * Side header
 */
.side-header {
  float: right;
  width: 13rem;
  padding-left: 3rem; }
  .side-header .side-logo {
    width: 7.5rem;
    height: 7.5rem;
    margin-bottom: 1.5rem; }
  .side-header .contact-list,
  .side-header .social-media-list {
    list-style: none;
    margin-left: 0; }
    .side-header .contact-list li,
    .side-header .social-media-list li {
      display: inline;
      margin-right: 0.375rem; }
  @media screen and (min-width: 800px) {
    .side-header {
      display: block; } }

.side-title {
  font-family: Merriweather, Georgia, "Times New Roman", serif; }
  @media screen and (min-width: 800px) {
    .side-title {
      display: block; } }

/**
 * Site header
 */
.site-header {
  margin: 3rem 0;
  height: 1.5rem;
  position: relative; }

.site-home {
  float: left;
  width: 182px;
  line-height: 1.5rem; }
  .site-home .site-logo {
    float: left;
    width: 182px;
    height: 1.5rem;
    padding-top: 0.375rem; }

.site-nav {
  display: none;
  float: right; }
  .site-nav ul {
    margin-bottom: 0; }
    .site-nav ul li {
      display: inline-block; }
      .site-nav ul li a {
        display: inline-block;
        margin-top: -3rem;
        padding: 3rem 1rem 1.5rem;
        color: #eee;
        text-decoration: none; }
        .site-nav ul li a:hover, .site-nav ul li a.current {
          background-color: #ECE487;
          color: #333; }
  @media screen and (min-width: 800px) {
    .site-nav {
      display: block; } }

.mobile-nav {
  float: right;
  line-height: 3.75;
  background-color: #fff;
  border-radius: 5px;
  text-align: right; }
  .mobile-nav .menu-icon {
    display: none; }
  .mobile-nav .page-link {
    color: #333;
    line-height: 1.5rem; }
    .mobile-nav .page-link:not(:first-child) {
      margin-left: 20px; }
  .mobile-nav .menu-icon {
    display: block;
    float: right;
    width: 36px;
    height: 36px;
    line-height: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center; }
    .mobile-nav .menu-icon > svg {
      width: 18px;
      height: 15px; }
      .mobile-nav .menu-icon > svg path {
        fill: #333; }
  .mobile-nav .trigger {
    clear: both;
    display: none; }
  .mobile-nav:hover .trigger {
    display: block;
    padding-bottom: 5px; }
  .mobile-nav .page-link {
    display: block;
    padding: 5px 10px; }
  @media screen and (min-width: 800px) {
    .mobile-nav {
      display: none; } }

/**
 * Site footer
 */
.site-footer {
  font-size: 0.875rem;
  color: #888;
  border-top: 1px solid #eee;
  padding: 1.5rem 0; }

/**
 * Page header
 */
.page-header {
  margin: 6rem 0;
  color: #fff; }
  .page-header .post-meta {
    margin-bottom: 0;
    font-size: 0.875rem;
    color: #eee; }
    .page-header .post-meta .tags {
      margin-left: 0;
      margin-bottom: 0;
      color: #fff; }
      .page-header .post-meta .tags li {
        line-height: 1rem;
        list-style: none;
        display: inline-block;
        padding: 0.25rem 0.5rem;
        background-color: #106e71; }

/**
 * Page content
 */
.page-content {
  background: #fff;
  padding: 6rem 0; }

.home {
  margin-left: 0; }

.page-title {
  font-family: "Roboto Slab";
  font-weight: bold;
  font-size: 2.5625rem;
  line-height: 3rem;
  margin-bottom: 1.5rem; }

.post-list {
  list-style: none;
  margin: 0; }
  .post-list > li {
    border-bottom: 1px solid #eee;
    margin-bottom: 3rem; }
    .post-list > li > h2 {
      line-height: 2.25rem;
      margin-bottom: 1.5rem; }
    .post-list > li > p:last-child {
      margin-bottom: 3rem; }

.post-meta {
  font-size: 0.875rem;
  color: #333; }

.post-link {
  display: block;
  font-size: 1.625rem;
  font-family: "Roboto Slab";
  font-weight: bold;
  color: #333;
  text-decoration: none; }
  .post-link:hover, .post-link:visited {
    color: #333;
    text-decoration: none; }

.pagination .previous {
  display: inline-block;
  float: left; }
.pagination .next {
  display: inline-block;
  float: right; }

/**
 * Posts
 */
.post {
  margin-left: 0; }

.post-content {
  margin-bottom: 3rem; }
  .post-content > p:first-of-type {
    font-family: Merriweather, Georgia, "Times New Roman", serif;
    font-size: 1.125rem; }
  .post-content h2 {
    font-family: "Roboto Slab";
    font-weight: bold;
    font-size: 1.625rem;
    line-height: 2.25rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem; }
  .post-content h3 {
    font-family: "Open Sans", "Clear Sans", Helvetica, Arial, sans-serif;
    font-size: 1.25rem;
    margin-top: 2.25rem;
    margin-bottom: 0.75rem; }
  .post-content h4 {
    color: #888;
    font-family: "Open Sans", "Clear Sans", Helvetica, Arial, sans-serif;
    font-size: 1rem;
    text-transform: uppercase;
    margin-top: 0.75rem;
    margin-bottom: 0.75rem; }
  .post-content img, .post-content embed {
    display: block;
    margin: 1.5rem auto; }
  .post-content .multicolumn div {
    float: left;
    width: 50%; }
  .post-content table {
    margin: 1.5rem 0; }
    @media screen and (min-width: 800px) {
      .post-content table {
        margin: 1.5rem -3rem; } }

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