/* ==========================================================================
   Table of Contents
   ========================================================================== */

/*

    0.  Normalize
    1.  Icons
    2.  General
    3.  Utilities
    4.  General
    5.  Single Post
    6.  Tag Archive
    7.  Read Next
    8.  Third Party Elements
    9.  Pagination
    10.  Footer
    11. Media Queries (Tablet)
    12. Media Queries (Mobile)
    13. Animations

*/

/* ==========================================================================
   0. Normalize.css v2.1.3 | MIT License | git.io/normalize | (minified)
   ========================================================================== */

article, aside, details,
figcaption, figure,
footer, header, hgroup,
main, nav, section,
summary { display: block; }
audio, canvas, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template { display: none; }
html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
body { margin: 0; }
a { background: transparent; }
a:focus { outline: thin dotted; }
a:active, a:hover { outline: 0; }
h1 { font-size: 2em; margin: 0.67em 0; }
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: 700; }
dfn { font-style: italic; }
hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}
mark { background: #FF0; color: #000; }
code, kbd, pre,
samp { font-family: monospace, serif; font-size: 1em; }
pre { white-space: pre-wrap; }
q { quotes: "\201C" "\201D" "\2018" "\2019"; }
small { font-size: 80%; }
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border: 0; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}
legend { border: 0; padding: 0; }
button, input, select,
textarea { font-family: inherit; font-size: 100%; margin: 0; }
button, input { line-height: normal; }
button, select { text-transform: none; }
button, html input[type="button"],
input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}
button[disabled], html input[disabled] { cursor: default; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0; }
input[type="search"] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner,
input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; }
table { border-collapse: collapse; border-spacing: 0; }


/* ==========================================================================
   1. Icons - Sets up the icon font and respective classes
   ========================================================================== */

/* Import the font file with the icons in it */
@font-face {
    font-family: "casper-icons";
    src:url("../fonts/casper-icons.eot?v=1");
    src:url("../fonts/casper-icons.eot?v=1#iefix") format("embedded-opentype"),
    url("../fonts/casper-icons.woff?v=1") format("woff"),
    url("../fonts/casper-icons.ttf?v=1") format("truetype"),
    url("../fonts/casper-icons.svg?v=1#icons") format("svg");
    font-weight: normal;
    font-style: normal;
}

/* Apply these base styles to all icons */
[class^="icon-"]:before, [class*=" icon-"]:before {
    font-family: "casper-icons", "Open Sans", sans-serif;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    text-decoration: none !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Each icon is created by inserting the correct character into the
   content of the :before pseudo element. Like a boss. */
.icon-ghost:before {
    content: "\f600";
}
.icon-feed:before {
    content: "\f601";
}
.icon-twitter:before {
    content: "\f602";
    font-size: 1.1em;
}
.icon-google-plus:before {
    content: "\f603";
}
.icon-facebook:before {
    content: "\f604";
}
.icon-arrow-left:before {
    content: "\f605";
}
.icon-stats:before {
    content: "\f606";
}
.icon-location:before {
    content: "\f607";
    margin-left: -3px; /* Tracking fix */
}
.icon-link:before {
    content: "\f608";
}
.icon-menu:before {
    content: "\f609";
}
/*
    IMPORTANT: When making any changes to the icon font, be sure to increment
    the version number by 1 in the @font-face rule. `?v=1` becomes `?v=2`
    This forces browsers to download the new font file.
*/


/* ==========================================================================
   2. General - Setting up some base styles
   ========================================================================== */

html {
    height: 100%;
    max-height: 100%;
    font-size: 62.5%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
    height: 100%;
    max-height: 100%;
    font-family: "Merriweather", serif;
    letter-spacing: 0.01rem;
    font-size: 1.8rem;
    line-height: 1.75em;
    color: #525252;
    -webkit-font-feature-settings: 'kern' 1;
    -moz-font-feature-settings: 'kern' 1;
    -o-font-feature-settings: 'kern' 1;
    text-rendering: geometricPrecision;
    background-color: #000;
}

::-moz-selection {
    background: #D6EDFF;
}

::selection {
    background: #D6EDFF;
}

h1, h2, h3,
h4, h5, h6 {
    -webkit-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
    -moz-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
    -o-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
    color: #2E2E2E;
    line-height: 1.15em;
    margin: 0 0 0.4em 0;
    font-family: "Lato", "PT Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-rendering: geometricPrecision;
}

.author-profile h1,
.author-profile h2,
.author-profile h3,
.author-profile h4,
.author-profile h5,
.author-profile h6 {
    color: #fff;
}

h1 {
    font-size: 5rem;
    letter-spacing: -2px;
    text-indent: -3px;
}

h2 {
    font-size: 3.6rem;
    letter-spacing: -1px;
}

h3 {
    font-size: 3rem;
}

h4 {
    font-size: 2.5rem;
}

h5 {
    font-size: 2rem;
}

h6 {
    font-size: 2rem;
}

a {
    color: #4A4A4A;
    text-decoration: none;
}

a:hover {
    color: #111;
}

p, ul, ol, dl {
    -webkit-font-feature-settings: 'liga' 1, 'onum' 1, 'kern' 1;
    -moz-font-feature-settings: 'liga' 1, 'onum' 1, 'kern' 1;
    -o-font-feature-settings: 'liga' 1, 'onum' 1, 'kern' 1;
    margin: 0 0 1.75em 0;
    text-rendering: geometricPrecision;
}

ol, ul {
    padding-left: 3rem;
}

ol ol, ul ul,
ul ol, ol ul {
    margin: 0 0 0.4em 0;
    padding-left: 2em;
}

dl dt {
    float: left;
    width: 180px;
    overflow: hidden;
    clear: left;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 700;
    margin-bottom: 1em;
}

dl dd {
    margin-left: 200px;
    margin-bottom: 1em
}

li {
    margin: 0.4em 0;
}

li li {
    margin: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: #EFEFEF 1px solid;
    margin: 3.2em 0;
    padding: 0;
}

blockquote {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 1.75em 0 1.75em 0;
    padding: 0 0 0 1.75em;
    border-left: #4A4A4A 0.4em solid;
}

blockquote p {
    margin: 0.8em 0;
    font-style: italic;
}

blockquote small {
    display: inline-block;
    margin: 0.8em 0 0.8em 1.5em;
    font-size: 0.9em;
    color: #CCC;
}

blockquote small:before { content: "\2014 \00A0"; }

blockquote cite {
    font-weight: 700;
}

blockquote cite a { font-weight: normal; }

mark {
    background-color: #fdffb6;
}

kbd {
    display: inline-block;
    margin-bottom: 0.4em;
    padding: 1px 8px;
    border: #CCC 1px solid;
    color: #666;
    text-shadow: #FFF 0 1px 0;
    font-size: 0.9em;
    font-weight: 700;
    background: #F4F4F4;
    border-radius: 4px;
    box-shadow:
    0 1px 0 rgba(0, 0, 0, 0.2),
    0 1px 0 0 #fff inset;
}

table {
    border-collapse: separate;
    border-spacing: 0;
    text-align: left;
    margin: 0 auto 1em;
}
table tr th,
table tr td {
    border-right: 1px solid #bbb;
    border-bottom: 1px solid #bbb;
    padding: 5px;
}
table tr th:first-child,
table tr td:first-child {
    border-left: 1px solid #bbb;
}
table tr th:first-child,
table tr td:first-child {
    border-left: 1px solid #bbb;
}
table tr th {
    background: #333;
    color: #fff;
}
table tr:nth-of-type(even) {
    background: #eee;
}

table.Info tr th,
table.Info tr:first-child td
{
    border-top: 1px solid #bbb;
}

/* top-left border-radius */
table tr:first-child th:first-child,
table.Info tr:first-child td:first-child {
    border-top-left-radius: 6px;
}

/* top-right border-radius */
table tr:first-child th:last-child,
table.Info tr:first-child td:last-child {
    border-top-right-radius: 6px;
}

/* bottom-left border-radius */
table tr:last-child td:first-child {
    border-bottom-left-radius: 6px;
}

/* bottom-right border-radius */
table tr:last-child td:last-child {
    border-bottom-right-radius: 6px;
}

iframe, .fluid-width-video-wrapper {
    display: block;
    margin: 1.75em 0;
}

/* When a video is inside the fitvids wrapper, drop the
margin on the iframe, cause it breaks stuff. */
.fluid-width-video-wrapper iframe {
    margin: 0;
}

/* ==========================================================================
   3. Utilities - These things get used a lot
   ========================================================================== */

/* Clears shit */
.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

/* Hides shit */
.hidden {
    text-indent: -9999px;
    visibility: hidden;
    display: none;
}

/* Creates a responsive wrapper that makes our content scale nicely */
.inner {
    margin: 0 auto;
}

/* Wraps the main content & footer */
.site-wrapper {
    position: relative;
    z-index: 10;
    min-height: 100%;
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
}

body.nav-opened .site-wrapper {
    overflow-x: hidden;
    -webkit-transform: translate3D(-240px, 0, 0);
    -ms-transform: translate3D(-240px, 0, 0);
    transform: translate3D(-320px, 0, 0);
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
}

article {
    background-color: #fff;
    padding: 2.5em 8em;
    border-radius: 10px;
}

/* ==========================================================================
   4. General - The main styles for the the theme
   ========================================================================== */

/* Big cover image on the home page */
.main-header {
    border-top: 0.5em solid #000;
    text-align: center;
    padding: 0 1em;
}

.main-nav {
    position: relative;
    padding: 35px 40px;
    margin: 0 0 30px 0;
}

.main-nav a {
    text-decoration: none;
    font-family: 'Open Sans', sans-serif;
}

/* Navigation */
body.nav-opened .nav-cover {
    position: fixed;
    top: 0;
    left: 0;
    right: 320px;
    bottom: 0;
    z-index: 200;
}

.nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 320px;
    opacity: 0;
    background: #111;
    margin-bottom: 0;
    text-align: left;
    overflow-y: auto;
    -webkit-transition: -webkit-transform 0.5s ease,
    opacity 0.3s ease 0.7s;
    transition: transform 0.5s ease,
    opacity 0.3s ease 0.7s;
}

body.nav-closed .nav {
    -webkit-transform: translate3D(97px, 0, 0);
    -ms-transform: translate3D(97px, 0, 0);
    transform: translate3D(97px, 0, 0);
}

body.nav-opened .nav {
    opacity: 1;
    -webkit-transition: -webkit-transform 0.3s ease,
    opacity 0s ease 0s;
    transition: transform 0.3s ease,
    opacity 0s ease 0s;
    -webkit-transform: translate3D(0, 0, 0);
    -ms-transform: translate3D(0, 0, 0);
    transform: translate3D(0, 0, 0);
}

.nav-title,
.nav-title-posts {
    position: absolute;
    top: 45px;
    left: 30px;
    font-size: 16px;
    font-weight: 100;
    text-transform: uppercase;
    color: #fff;
}

.nav-close {
    position: absolute;
    top: 38px;
    right: 25px;
    width: 20px;
    height: 20px;
    padding: 0;
    font-size: 10px;
}

.nav-close:focus {
    outline: 0;
}

.nav-close:before,
.nav-close:after {
    content: '';
    position: absolute;
    top: 0;
    width: 20px;
    height: 1px;
    background: rgb(150,150,150);
    top: 15px;
    -webkit-transition: background 0.15s ease;
    transition: background 0.15s ease;
}

.nav-close:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.nav-close:after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.nav-close:hover:before,
.nav-close:hover:after {
    background: rgb(255,255,255);
}

.nav ul {
    padding: 70px 9% 10px;
    list-style: none;
    margin-bottom: 0;
}

.nav .postlist {
    padding-top: 6px;
}

.nav li {
    margin: 0;
}
.nav li a {
    text-decoration: none;
    line-height: 1.4;
    font-size: 1.2rem;
    display: block;
    padding: 0.6rem 4%;
}
.nav .nav-current:before {
    color: #fff;
}
.nav .nav-current a:after {
    content: " ";
    border-bottom: rgba(255,255,255,0.5) 1px solid;
    width: 100%;
    height: 1px;
}

.nav a:link,
.nav a:visited {
    color: #B8B8B8;
}

.nav li.nav-current a,
.nav a:hover,
.nav a:active,
.nav a:focus {
    color: #fff;
}

.nav a:hover {
    background-color: #222;
}

.nav .subscribe-button:hover {
    background: #fff;
    -webkit-animation-name: hvr-pulse-grow;
    animation-name: hvr-pulse-grow;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate;
}

/* Pulse Grow */
@-webkit-keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

.subscribe-button {
    display: block;
    width: 80%;
    height: 38px;
    color: #111;
    text-align: center;
    font-size: 12px;
    font-family: "Open Sans", sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 35px;
    border-radius: 3px;
    background: #fff;
    transition: all ease 0.3s;
    margin: 10px auto;
}
.subscribe-button:before {
    font-size: 9px;
    margin-right: 6px;
}
.nav a.subscribe-button {
    color: #000;
}
.site-footer .subscribe-button {
    color: #fff;
    background-color: #000;
}
.site-footer .subscribe-button:hover {
    text-decoration: none;
    border-bottom: 0;
}

/* Create a bouncing scroll-down arrow on homepage with cover image */
.scroll-down {
    display: block;
    position: absolute;
    z-index: 100;
    bottom: 45px;
    left: 50%;
    margin-left: -16px;
    width: 34px;
    height: 34px;
    font-size: 34px;
    text-align: center;
    text-decoration: none;
    color: rgba(255,255,255,0.7);
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-animation: bounce 4s 2s infinite;
    animation: bounce 4s 2s infinite;
}

/* Stop it bouncing and increase contrast when hovered */
.scroll-down:hover {
    color: #fff;
    -webkit-animation: none;
    animation: none;
}

/* Put a semi-opaque radial gradient behind the icon to make it more visible
   on photos which happen to have a light background. */
.home-template .main-header:after {
    display: block;
    content: " ";
    width: 150px;
    height: 130px;
    border-radius: 100%;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -75px;
    background: radial-gradient(ellipse at center,  rgba(0,0,0,0.15) 0%,rgba(0,0,0,0) 70%,rgba(0,0,0,0) 100%);
}

.home-template article a {
    text-decoration: none;
}

.featured-image-container {
    display: inline-block;
    vertical-align: top;
    margin: 6px 5px;
    float: left;
}

.featured-image {
    display: block;
    width: 150px;
    border: 1px solid #E5E5E5;
    padding: 5px;
}

/* Hide when there's no cover image or on page2+ */
.no-cover .scroll-down,
.no-cover.main-header:after,
.archive-template .scroll-down,
.archive-template .main-header:after {
    display: none
}

/* Appears in the top left corner of your home page */
.blog-logo {
    display: block;
    float: left;
    background: none !important; /* Makes sure there is never a background */
    border: none !important; /* Makes sure there is never a border */
}

.blog-logo img {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    height: 38px;
    padding: 1px 0 5px 0;
    width: auto;
}

.menu-button {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    float: right;
    height: 38px;
    padding: 0 15px;
    border-style: solid;
    border-width: 1px;
    opacity: 1;
    text-align: center;
    font-size: 12px;
    text-transform: uppercase;
    line-height: 35px;
    white-space: nowrap;
    border-radius: 3px;
    transition: all 0.5s ease;
}
.menu-button:before {
    font-size: 12px;
    font-weight: bold;
    margin-right: 6px;
    position: relative;
    top: 1px;
}
.menu-button:hover {
    background: #fff;
}
.menu-button:focus {
    outline: 0;
}

/* When the navigation is closed */
.nav-closed .menu-button {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.6);
}
.nav-closed .menu-button:hover {
    color: #222;
}

/* When the navigation is closed and there is no cover image */
.nav-closed .no-cover .menu-button {
    border-color: #BFC8CD;
    color: #9EABB3;
}
.nav-closed .no-cover .menu-button:hover {
    border-color: #555;
    color: #555;
}

/* When the navigation is opened */
.nav-opened .menu-button {
    padding: 0 12px;
    background: #111;
    border-color: #111;
    color: #fff;
    -webkit-transform: translate3D(94px, 0, 0);
    -ms-transform: translate3D(94px, 0, 0);
    transform: translate3D(94px, 0, 0);
    transition: all 0.3s ease;
}

.nav-opened .menu-button .word {
    opacity: 0;
    transition: all 0.3s ease;
}

/* Special styles when overlaid on an image*/
.main-nav.overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 70px;
    border: none;
    background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%);
}
.no-cover .main-nav.overlay {
    background: none;
}

/* The details of your blog. Defined in ghost/settings/ */
.page-title {
    margin: 0;
    font-size: 5rem;
    letter-spacing: -1px;
    font-weight: 400;
    font-family: "Lato", "PT Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #fff;
}

.page-description {
    margin: 0;
    font-size: 2rem;
    line-height: 1.5em;
    font-weight: 400;
    font-family: "Lato", "PT Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0.01rem;
    color: rgba(255,255,255,0.8);
}

#mike-head {
    position: absolute;
    left: 50%;
    top: 0;
}

#mike-body {
    position: relative;
    top: 3px;
    left: 1px;
    border-radius: 10px;
}

#mike-head:hover {
    animation-name: tossing;
    -webkit-animation-name: tossing;
    animation-duration: 1s;
    -webkit-animation-duration: 1s;
    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    transform-origin: center bottom;
    cursor: none;
}

.no-cover .page-title {
    color: #fff;
}

.no-cover .page-description {
    color: #fff;
}

/* Add subtle load-in animation for content */
.page-title {
    -webkit-animation: fade-in-down 0.6s;
    animation: fade-in-down 0.6s;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}
.page-description {
    -webkit-animation: fade-in-down 0.9s;
    animation: fade-in-down 0.9s;
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
}

.error h4 {
    text-align: center;
}

.error img {
    display: block;
    margin: 0 auto;
}

/* Every post, on every page, gets this style on its <article> tag */
.post {
    position: relative;
    width: 80%;
    max-width: 710px;
    margin: 0.5em auto 2rem auto;
    padding-bottom: 4rem;
    word-wrap: break-word;
}

figure {
    display: block;
    margin: 0;
}

body:not(.post-template) .post-title {
    font-size: 3.6rem;
}

.post-title a {
    text-decoration: none;
}

.post-excerpt p {
    margin: 0;
    font-size: 0.9em;
    line-height: 1.7em;
}

.read-more {
    text-decoration: none;
}

.post-meta {
    display: block;
    margin: 1.75rem 0;
    font-family: "Open Sans", sans-serif;
    font-size: 1.5rem;
    line-height: 2.2rem;
    color: #9EABB3;
}

.author-thumb {
    width: 24px;
    height: 24px;
    float: left;
    margin-right: 9px;
    border-radius: 100%;
}

.post-meta a {
    color: #9EABB3;
    text-decoration: none;
}

.post-meta a:hover {
    text-decoration: underline;
}

.user-meta {
    position: relative;
    padding: 0.3rem 40px 0 100px;
    min-height: 77px;
}

.post-date {
    display: inline-block;
    margin-left: 8px;
    padding-left: 12px;
    border-left: #d5dbde 1px solid;
    text-transform: uppercase;
    font-size: 1.3rem;
    white-space: nowrap;
}

.tags {
    margin-left: 8px;
    padding-left: 12px;
    border-left: #d5dbde 1px solid;
}

.user-image {
    position: absolute;
    top: 0;
    left: 0;
}

.user-name {
    display: block;
    font-weight: 700;
}

.user-bio {
    display: block;
    max-width: 440px;
    font-size: 1.4rem;
    line-height: 1.5em;
}

.publish-meta {
    position: absolute;
    top: 0;
    right: 0;
    padding: 4.3rem 0 4rem 0;
    text-align: right;
}

.publish-heading {
    display: block;
    font-weight: 700;
}

.publish-date {
    display: block;
    font-size: 1.4rem;
    line-height: 1.5em;
}


/* ==========================================================================
   5. Single Post - When you click on an individual post
   ========================================================================== */

.post-template .post-header {
    margin-bottom: 3.4rem;
}

.post-template .post-title {
    margin-bottom: 0;
}

.post-template .post-meta {
    margin: 0;
}

.post-template .post-date {
    padding: 0;
    margin: 0;
    border: none;
}

/* Stop elements, such as img wider than the post content, from
   creating horizontal scroll - slight hack due to imperfections
   with browser width % calculations and rounding */
.post-template .content {
    overflow: hidden;
}

/* Tweak the .post wrapper style */
.post-template .post {
    border-bottom: none;
    padding-bottom: 0;
}

/* Kill that stylish little circle that was on the border, too */
.post-template .post:after {
    display: none;
}

/* Keep images centered, and allow images wider than the main
   text column to break out. */
.post-content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}

figure img {
    border: 1px solid #323232;
    background: #f9f9f9;
    border-radius: 12px;
    box-shadow: 3px 3px 5px rgba(50,50,50,.5);
}

figure > p {
    margin-bottom: 0;
}

figcaption {
    text-align: center;
    margin-bottom: 1em;
    font-size: 1em;
    font-weight: 700;
    border: none;
    background: transparent;
    word-wrap: normal;
    border-radius: 0 0 10px 10px;
}


figcaption, figure img {
    padding: 5px;
    display: block;
}

.highlight + figcaption {
    background-color: #343642;
    border-top: dashed 1px #565656;
    color: #c1c2c3;
}

.footnotes {
    font-style: italic;
    font-size: 1.3rem;
    line-height: 1.6em;
}

.footnotes li {
    margin: 0.6rem 0;
}

.footnotes p {
    margin: 0;
}

.footnotes p a:last-child {
    text-decoration: none;
}


/* The author credit area after the post */
.post-footer {
    position: relative;
    margin: 6rem 0 0 0;
    padding: 6rem 0 0 0;
    border-top: #EBF2F6 1px solid;
}

.post-footer h4 {
    font-size: 1.8rem;
    margin: 0;
}

.post-footer p {
    margin: 1rem 0;
    font-size: 1.4rem;
    line-height: 1.75em;
}

/* list of author links - location / url */
.author-meta {
    padding: 0;
    margin: 0;
    list-style: none;
    font-size: 1.4rem;
    line-height: 1;
    font-style: italic;
    color: #9EABB3;
}

.author-meta a {
    color: #9EABB3;
}

/* Create some space to the right for the share links */
.post-footer .author {
    margin-right: 180px;
}

.post-footer h4 a {
    color: #2e2e2e;
    text-decoration: none;
}

.post-footer h4 a:hover {
    text-decoration: underline;
}

/* Drop the share links in the space to the right.
   Doing it like this means it's easier for the author bio
   to be flexible at smaller screen sizes while the share
   links remain at a fixed width the whole time */
.post-footer .share {
    position: absolute;
    top: 6rem;
    right: 0;
    width: 140px;
}

.post-footer .share a {
    font-size: 1.8rem;
    display: inline-block;
    margin: 1rem 1.6rem 1.6rem 0;
    color: #BBC7CC;
    text-decoration: none;
}

.post-footer .share .icon-twitter:hover {
    color: #55acee;
}
.post-footer .share .icon-facebook:hover {
    color: #3b5998;
}
.post-footer .share .icon-google-plus:hover {
    color: #dd4b39;
}

.twitter-follow-me {
    position: fixed;
    top: 27px;
    left: 15px;
    z-index: 11;
}

.twitter-follow-me:hover {
    transition-timing-function: ease-in-out;
    transform: scale(1.1);
    transform-origin: left top;
    transition-duration: .2s;
}

/* ==========================================================================
   6. Author profile
   ========================================================================== */

.no-cover.post-head.main-header {
    min-height: 0;
    margin-bottom: 0;
    background: transparent;
}

.tag-head.main-header {
    height: 40vh;
    min-height: 180px;
}

.author-head.main-header {
    height: 40vh;
    min-height: 180px;
}

.no-cover.author-head.main-header {
    height: 10vh;
    min-height: 100px;
    background: transparent;
}

.author-profile {
    text-align: center;
}

.author-image {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: -40px;
    left: 50%;
    margin-left: -40px;
    width: 80px;
    height: 80px;
    border-radius: 100%;
    overflow: hidden;
    padding: 6px;
    background: #fff;
    z-index: 2;
    box-shadow: #E7EEF2 0 0 0 1px;
}

.author-image .img {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    border-radius: 100%;
}

.author-profile .author-image {
    position: relative;
    left: auto;
    top: auto;
    width: 120px;
    height: 120px;
    padding: 3px;
    margin: -100px auto 0 auto;
    box-shadow: none;
}

.author-title {
    margin: 1.5rem 0 1rem;
}

.author-bio {
    font-size: 1.8rem;
    line-height: 1.5em;
    font-weight: 200;
    color: #50585D;
    letter-spacing: 0;
    text-indent: 0;
}

/* Location, website, and link */
.author-profile .author-meta {
    font-family: "Lato", "PT Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0.01rem;
    font-size: 1.7rem;
}
.author-meta span {
    display: inline-block;
    margin: 0 2rem 1rem 0;
    word-wrap: break-word;
}
.author-meta a {
    text-decoration: none;
}

/* Turn off meta for page2+ to make room for extra
   pagination prev/next links */
.archive-template .author-profile .author-meta {
    display: none;
}


/* ==========================================================================
   7. Read More - Next/Prev Post Links
   ========================================================================== */

.read-next {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    margin-top: 10rem;
}

.read-next-story {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 50%;
    text-decoration: none;
    position: relative;
    text-align: center;
    color: #fff;
    background: #222 no-repeat center center;
    background-size: cover;
    overflow: hidden;
}
.read-next-story:hover:before {
    background: rgba(0,0,0,0.8);
    transition: all 0.2s ease;
}
.read-next-story:hover .post:before {
    color: #222;
    background: #fff;
    transition: all 0.2s ease;
}

.read-next-story:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.7);
    transition: all 0.5s ease;
}

.read-next-story .post {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.read-next-story .post:before {
    content: "Read This Next";
    padding: 4px 10px 5px;
    text-transform: uppercase;
    font-size: 1.1rem;
    font-family: "Open Sans", sans-serif;
    color: rgba(255,255,255,0.8);
    border: rgba(255,255,255,0.5) 1px solid;
    border-radius: 4px;
    transition: all 0.5s ease;
}
.read-next-story.prev .post:before {
    content: "You Might Enjoy";
}

.read-next-story h2 {
    margin-top: 1rem;
    color: #fff;
}

.read-next-story p {
    margin: 0;
    color: rgba(255,255,255,0.8);
}

/* Special styles for posts with no cover images */
.read-next-story.no-cover {
    background: #f5f8fa;
}

.read-next-story.no-cover:before {
    display: none;
}

.read-next-story.no-cover .post:before {
    color: rgba(0,0,0,0.5);
    border-color: rgba(0,0,0,0.2);
}

.read-next-story.no-cover h2 {
    color: rgba(0,0,0,0.8);
}

.read-next-story.no-cover p {
    color: rgba(0,0,0,0.5);
}

/* if there are two posts without covers, put a border between them */
.read-next-story.no-cover + .read-next-story.no-cover {
    border-left: rgba(0,0,100,0.04) 1px solid;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* ==========================================================================
   8. Third Party Elements - Embeds from other services
   ========================================================================== */

/* Github */
.gist table {
    margin: 0;
    font-size: 1.4rem;
}
.gist td {
    line-height: 1.4;
}
.gist .line-number {
    min-width: 25px;
}

/* Pastebin */
.content .embedPastebin {
    margin-bottom: 1.75em;
}


/* ==========================================================================
   9. Pagination - Tools to let you flick between pages
   ========================================================================== */

/* The main wrapper for our pagination links */
.pagination {
    position: relative;
    width: 80%;
    max-width: 710px;
    margin: 4rem auto;
    font-family: "Open Sans", sans-serif;
    font-size: 1.3rem;
    color: #9EABB3;
    text-align: center;
}

.pagination a {
    color: #9EABB3;
    transition: all 0.2s ease;
}

/* Push the previous/next links out to the left/right */
.older-posts,
.newer-posts {
    position: absolute;
    display: inline-block;
    padding: 0 15px;
    border: #bfc8cd 1px solid;
    text-decoration: none;
    border-radius: 4px;
    transition: border 0.3s ease;
}

.older-posts {
    right: 0;
}

.page-number {
    display: inline-block;
    padding: 2px 0;
    min-width: 100px;
}

.newer-posts {
    left: 0;
}

.older-posts:hover,
.newer-posts:hover {
    color: #889093;
    border-color: #98a0a4;
}

.extra-pagination {
    display: none;
    border-bottom: #EBF2F6 1px solid;
}

.extra-pagination .pagination {
    width: auto;
}

/* On page2+ make all the headers smaller */
.archive-template .main-header {
    max-height: 30vh;
}

/* On page2+ show extra pagination controls at the top of post list */
.archive-template .extra-pagination {
    display: block;
}


/* ==========================================================================
   10. Footer - The bottom of every page
   ========================================================================== */

.site-footer {
    position: relative;
    margin: 1em 0 10em;
    padding: 1rem 15px;
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
    line-height: 1.75em;
    color: #BBC7CC;
}

.site-footer a {
    color: #BBC7CC;
    text-decoration: none;
    font-weight: bold;
}

.site-footer a:hover {
    border-bottom: #bbc7cc 1px solid;
}

.copyright {
    display: block;
    text-align: center;
}


@media only screen and (max-width: 1000px) {

    article.post {
        padding: 1em;
    }

}

/* ==========================================================================
   11. Media Queries - Smaller than 900px
   ========================================================================== */

@media only screen and (max-width: 900px) {

    blockquote {
        margin-left: 0;
    }

    .main-header {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .scroll-down,
    .home-template .main-header:after { display: none; }

    .archive-template .main-header {
        min-height: 180px;
        padding: 10% 0;
    }

    .blog-logo img {
        padding: 4px 0;
    }

    .page-title {
        font-size: 4rem;
        letter-spacing: -1px;
    }

    .page-description {
        font-size: 1.8rem;
        line-height: 1.5em;
    }

    .post {
        font-size: 0.95em
    }

    body:not(.post-template) .post-title {
        font-size: 3.2rem;
    }

    hr {
        margin: 2.4em 0;
    }

    ol, ul {
        padding-left: 2em;
    }

    h1 {
        font-size: 4.5rem;
        text-indent: -2px;
    }

    h2 {
        font-size: 3.6rem;
    }

    h3 {
        font-size: 3.1rem;
    }

    h4 {
        font-size: 2.5rem;
    }

    h5 {
        font-size: 2.2rem;
    }

    h6 {
        font-size: 1.8rem;
    }

    .author-profile {
        padding-bottom: 4rem;
    }

    .author-profile .author-bio {
        font-size: 1.6rem;
    }

    .author-meta span {
        display: block;
        margin: 1.5rem 0;
    }
    .author-profile .author-meta span {
        font-size: 1.6rem;
    }

    .no-cover.post-head.main-header {
        padding: 0;
    }

    .no-cover.author-head.main-header {
        padding: 0;
    }

    .read-next {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 4rem;
    }

    .read-next p {
        display: none;
    }

    .read-next-story.no-cover + .read-next-story.no-cover {
        border-top: rgba(0,0,100,0.06) 1px solid;
        border-left: none;
    }

    .twitter-follow-me {
        width: 32px;
        height: 32px;
    }
}


/* ==========================================================================
   12. Media Queries - Smaller than 500px
   ========================================================================== */

@media only screen and (max-width: 500px) {

    .main-header {
        border-top: 0;
    }

    .site-wrapper {
        position: fixed;
    }

    #mike-head {
        display: none;
    }

    #mike-body {
        display: none;
    }

    .archive-template .main-header {
        max-height: 20vh;
        min-height: 160px;
        padding: 10% 0;
    }

    .main-nav {
        padding: 5px;
        margin-bottom: 2rem;
    }

    .blog-logo {
        padding: 5px;
    }

    .blog-logo img {
        height: 30px;
    }

    .menu-button {
        padding: 0 5px;
        border-radius: 0;
        border-width: 0;
        color: #2e2e2e;
        background: transparent;
    }
    .menu-button:hover {
        color: #2e2e2e;
        border-color: transparent;
        background: none;
    }
    body.nav-opened .menu-button {
        background: none;
        border: transparent;
    }

    .main-nav.overlay a:hover {
        color: #fff;
        border-color: transparent;
        background: transparent;
    }

    .no-cover .main-nav.overlay {
        background: none;
    }
    .no-cover .main-nav.overlay .menu-button {
        border: none;
    }

    .main-nav.overlay .menu-button {
        border-color: transparent;
    }

    .nav-title {
        top: 25px;

    }

    .nav-close {
        position: absolute;
        top: 18px;
    }

    .nav ul {
        padding: 60px 9% 5%;
    }

    .inner,
    .pagination {
        width: auto;
        margin: 2rem auto;
    }

    .post {
        width: auto;
        margin: 0 16px 2rem 16px;
        padding-bottom: 2rem;
        line-height: 1.65em;
    }

    .post-date {
        display: none;
    }

    .post-template .post-header {
        margin-bottom: 2rem;
    }

    .post-template .post-date {
        display: inline-block;
    }

    hr {
        margin: 1.75em 0;
    }

    p, ul, ol, dl {
        font-size: 0.95em;
        margin: 0 0 2.5rem 0;
    }

    .page-title {
        font-size: 3rem;
    }

    .post-excerpt p {
        font-size: 0.85em;
    }

    .page-description {
        font-size: 1.6rem;
    }

    h1, h2, h3,
    h4, h5, h6 {
        margin: 0 0 0.3em 0;
    }

    h1 {
        font-size: 2.8rem;
        letter-spacing: -1px;
    }

    h2 {
        font-size: 2.4rem;
        letter-spacing: 0;
    }

    h3 {
        font-size: 2.1rem;
    }

    h4 {
        font-size: 1.9rem;
    }

    h5 {
        font-size: 1.8rem;
    }

    h6 {
        font-size: 1.8rem;
    }

    body:not(.post-template) .post-title {
        font-size: 2.5rem;
    }

    .post-template .site-footer {
        margin-top: 0;
    }

    .post-content img {
        padding: 0;
        width: calc(100% + 32px); /* expand with to image + margins */
        min-width: 0;
        max-width: 112%; /* fallback when calc doesn't work */
    }

    .post-meta {
        font-size: 1.3rem;
        margin-top: 1rem;
    }

    .post-footer {
        padding: 5rem 0 3rem 0;
        text-align: center;
    }

    .post-footer .author {
        margin: 0 0 2rem 0;
        padding: 0 0 1.6rem 0;
        border-bottom: #EBF2F6 1px dashed;
    }

    .post-footer .share {
        position: static;
        width: auto;
    }

    .post-footer .share a {
        margin: 1.4rem 0.8rem 0 0.8rem;
    }

    .author-meta li {
        float: none;
        margin: 0;
        line-height: 1.75em;
    }

    .author-meta li:before {
        display: none;
    }

    .older-posts,
    .newer-posts {
        position: static;
        margin: 10px 0;
    }

    .page-number {
        display: block;
    }

    .site-footer {
        margin-top: 3rem;
    }

    .author-profile {
        padding-bottom: 2rem;
    }

    .author-profile .author-image {
        margin-top: -70px;
    }

    .author-profile .author-meta span {
        font-size: 1.4rem;
    }

    .archive-template .main-header .page-description {
        display: none;
    }

    .read-next {
        margin-top: 2rem;
        margin-bottom: -37px;
    }

    .read-next .post {
        width: 100%;
    }

    .twitter-follow-me {
        width: 16px;
        height: 16px;
    }
}


/* ==========================================================================
   13. Animations
   ========================================================================== */

/* Used to fade in title/desc on the home page */
@-webkit-keyframes fade-in-down {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}
@keyframes fade-in-down {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

/* Used to bounce .scroll-down on home page */
@-webkit-keyframes bounce {
    0%, 10%, 25%, 40%, 50% {
        -webkit-transform: translateY(0) rotate(-90deg);
        transform: translateY(0) rotate(-90deg);
    }
    20% {
        -webkit-transform: translateY(-10px) rotate(-90deg);
        transform: translateY(-10px) rotate(-90deg);
    }
    30% {
        -webkit-transform: translateY(-5px) rotate(-90deg);
        transform: translateY(-5px) rotate(-90deg);
    }
}
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        -webkit-transform: translateY(0) rotate(-90deg);
        transform: translateY(0) rotate(-90deg);
    }
    40% {
        -webkit-transform: translateY(-10px) rotate(-90deg);
        transform: translateY(-10px) rotate(-90deg);
    }
    60% {
        -webkit-transform: translateY(-5px) rotate(-90deg);
        transform: translateY(-5px) rotate(-90deg);
    }
}

@keyframes tossing {
  0% {
    transform: rotate(-10deg);
  }
  50% {
    transform: rotate(10deg);
  }
  100% {
    transform: rotate(-10deg);
  }
}

@-webkit-keyframes tossing {
  0% {
    -webkit-transform: rotate(-10deg);
  }
  50% {
    -webkit-transform: rotate(10deg);
  }
  100% {
    -webkit-transform: rotate(-10deg);
  }
}

/* ==========================================================================
   End of file. Animations should be the last thing here. Do not add stuff
   below this point, or it will probably fuck everything up.
   ========================================================================== */
