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

/*

    0.  Normalize
    1.  Icons
    2.  General
    3.  Utilities
    4.  General
    5.  Single Post
    6.  Tag Archive
    7.  Third Party Elements
    8.  Pagination
    9.  Footer
    10. Media Queries (Tablet)
    11. Media Queries (Mobile)
    12. 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");
    src:url("../fonts/casper-icons.eot?#iefix") format("embedded-opentype"),
        url("../fonts/casper-icons.woff") format("woff"),
        url("../fonts/casper-icons.ttf") format("truetype"),
        url("../fonts/casper-icons.svg#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";
}


/**
 * iconfont.cn fonts
 */
 @font-face {font-family: 'iconfont';
    src: url('../fonts/iconfont.eot'); /* IE9*/
    src: url('../fonts/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/iconfont.woff') format('woff'), /* chrome、firefox */
    url('../fonts/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
    url('../fonts/iconfont.svg#uxiconfont') format('svg'); /* iOS 4.1- */
}

.iconfont, .iconfont-16{
    font-family:"iconfont" !important;
    font-size:16px;font-style:normal;
    -webkit-font-smoothing: antialiased;
    -webkit-text-stroke-width: 0.2px;
    -moz-osx-font-smoothing: grayscale;
}


.iconfont-24{
    font-family:"iconfont" !important;
    font-size:24px;font-style:normal;
    -webkit-font-smoothing: antialiased;
    -webkit-text-stroke-width: 0.2px;
    -moz-osx-font-smoothing: grayscale;
}




/* ==========================================================================
   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: #3A4145;
    -webkit-font-feature-settings: 'kern' 1;
    -moz-font-feature-settings: 'kern' 1;
    -o-font-feature-settings: 'kern' 1;
}

::-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: "Open Sans", sans-serif;
}

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;
    transition: color ease 0.3s;
}

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

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 -2.2em;
    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: #FFC336;
}

code, tt {
    padding: 1px 3px;
    font-family: Inconsolata, monospace, sans-serif;
    font-size: 0.85em;
    white-space: pre-wrap;
    border: #E3EDF3 1px solid;
    background: #F7FAFB;
    border-radius: 2px;
}

pre {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 0 1.75em 0;
    border: #E3EDF3 1px solid;
    width: 100%;
    padding: 10px;
    font-family: Inconsolata, monospace, sans-serif;
    font-size: 0.9em;
    white-space: pre;
    overflow: auto;
    background: #F7FAFB;
    border-radius: 3px;
}

pre code, tt {
    font-size: inherit;
    white-space: -moz-pre-wrap;
    white-space: pre-wrap;
    background: transparent;
    border: none;
    padding: 0;
}

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 {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 1.75em 0;
    width: 100%;
    max-width: 100%;
    background-color: transparent;
}

table th,
table td {
    padding: 8px;
    line-height: 20px;
    text-align: left;
    vertical-align: top;
    border-top: #EFEFEF 1px solid;
}

table th { color: #000; }

table caption + thead tr:first-child th,
table caption + thead tr:first-child td,
table colgroup + thead tr:first-child th,
table colgroup + thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
    border-top: 0;
}

table tbody + tbody { border-top: #EFEFEF 2px solid; }

table table table { background-color: #FFF; }

table tbody > tr:nth-child(odd) > td,
table tbody > tr:nth-child(odd) > th {
    background-color: #F6F6F6;
}

table.plain tbody > tr:nth-child(odd) > td,
table.plain tbody > tr:nth-child(odd) > th {
   background: transparent;
}

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 {
    position: relative;
    width: 80%;
    max-width: 710px;
    margin: 0 auto;
}

/* Centres vertically yo. (IE8+) */
.vertical {
    display: table-cell;
    vertical-align: middle;
}


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

/* Big cover image on the home page */
.main-header {
    position: relative;
    display: table;
    width: 100%;
    height: 100%;
    margin-bottom: 5rem;
    text-align: center;
    background: #222 no-repeat center center;
    background-size: cover;
    overflow: hidden;
}

.main-header .inner {
    width: 80%;
}

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

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

/* 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);
    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: -moz-radial-gradient(center, ellipse cover,  rgba(0,0,0,0.15) 0%, rgba(0,0,0,0) 70%, rgba(0,0,0,0) 100%);
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(0,0,0,0.15)), color-stop(70%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0)));
    background: -webkit-radial-gradient(center, ellipse cover,  rgba(0,0,0,0.15) 0%,rgba(0,0,0,0) 70%,rgba(0,0,0,0) 100%);
    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%);
}

/* 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 right corner of your home page */
.blog-logo {
    display: block;
    float: left;
    background: none !important;
    border: none !important;
}

.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;
}

.back-button {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    float: left;
    height: 38px;
    padding: 0 15px 0 10px;
    border: transparent 1px solid;
    color: #9EABB3;
    text-align: center;
    font-size: 12px;
    text-transform: uppercase;
    line-height: 35px;
    border-radius: 3px;
    background: rgba(0,0,0,0.1);
    transition: all ease 0.3s;
}
.back-button:before {
    position: relative;
    bottom: -2px;
    font-size: 13px;
    line-height: 0;
    margin-right: 8px;
}

.subscribe-button {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    float: right;
    height: 38px;
    padding: 0 20px;
    border: transparent 1px solid;
    color: #9EABB3;
    text-align: center;
    font-size: 12px;
    text-transform: uppercase;
    line-height: 35px;
    white-space: nowrap;
    border-radius: 3px;
    background: rgba(0,0,0,0.1);
    transition: all ease 0.3s;
}
.subscribe-button:before {
    font-size: 9px;
    margin-right: 6px;
}

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

.main-nav.overlay a {
    color: #fff;
}

.main-nav.overlay .back-button,
.main-nav.overlay .subscribe-button {
    border-color: rgba(255,255,255,0.6);
}

.main-nav.overlay a:hover {
    color: #222;
    border-color: #fff;
    background: #fff;
    transition: all 0.1s ease;
}

/* Add a border to the buttons on hover */
.back-button:hover,
.subscribe-button:hover {
    border-color: #bfc8cd;
    color: #9EABB3;
}

/* The details of your blog. Defined in ghost/settings/ */
.page-title {
    margin: 10px 0 10px 0;
    font-size: 5rem;
    letter-spacing: -1px;
    font-weight: 700;
    font-family: "Open Sans", sans-serif;
    color: #fff;
}

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

.no-cover.main-header {
    min-height: 160px;
    max-height: 40%;
    background: #f5f8fa;
}

.no-cover .page-title {
    color: rgba(0,0,0,0.8);
}

.no-cover .page-description {
    color: rgba(0,0,0,0.5);
}

.no-cover .main-nav.overlay .back-button,
.no-cover .main-nav.overlay .subscribe-button {
    color: rgba(0,0,0,0.4);
    border-color: rgba(0,0,0,0.3);
}

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

/* Every post, on every page, gets this style on its <article> tag */
.post {
    position: relative;
    width: 80%;
    max-width: 710px;
    margin: 4rem auto;
    padding-bottom: 4rem;
    border-bottom: #EBF2F6 1px solid;
    word-break: break-word;
    hyphens: auto;
}

/* Add a little circle in the middle of the border-bottom on our .post
   just for the lolz and stylepoints. */
.post:after {
    display: block;
    content: "";
    width: 7px;
    height: 7px;
    border: #E7EEF2 1px solid;
    position: absolute;
    bottom: -5px;
    left: 50%;
    margin-left: -5px;
    background: #FFF;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    box-shadow: #FFF 0 0 0 5px;
}

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 0 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;
}

.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 .full-img 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 {
    margin-top: 0;
    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 centred and within the bounds of the post-width */
.post-content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0.6em 0;
}

/* Break out larger images to be wider than the main text column
   the class is applied with jQuery */
.post-content .full-img {
    width: 126%;
    max-width: none;
    margin: 0 -13%;
}

/* 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;
}
.author-meta a:hover {
    color: #111;
}

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

.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 a:hover {
    color: #50585D;
}

/* The subscribe icon on the footer */
.subscribe {
    width: 28px;
    height: 28px;
    position: absolute;
    top: -14px;
    left: 50%;
    margin-left: -15px;
    border: #EBF2F6 1px solid;
    text-align: center;
    line-height: 2.4rem;
    border-radius: 50px;
    background: #FFF;
    transition: box-shadow 0.5s;
}

/* The RSS icon, inserted via icon font */
.subscribe:before {
    color: #D2DEE3;
    font-size: 10px;
    position: absolute;
    top: 2px;
    left: 9px;
    font-weight: 700;
    transition: color 0.5s ease;
}

/* Add a box shadow to on hover */
.subscribe:hover {
    box-shadow: rgba(0,0,0,0.05) 0 0 0 3px;
    transition: box-shadow 0.25s;
}

.subscribe:hover:before {
    color: #50585D;
}

/* CSS tooltip saying "Subscribe!" - initially hidden */
.tooltip {
    opacity: 0;
    display: block;
    width: 53px;
    padding: 4px 8px 5px 8px;
    position:absolute;
    top: -23px;
    left: -21px;
    color: rgba(255,255,255,0.9);
    font-size: 1.1rem;
    line-height: 1em;
    text-align: center;
    background: #50585D;
    border-radius: 20px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    transition: opacity 0.3s ease, top 0.3s ease;
}

/* The little chiclet arrow under the tooltip, pointing down */
.tooltip:after {
    content: " ";
    border-width: 5px 5px 0 5px;
    border-style: solid;
    border-color: #50585D transparent;
    display: block;
    position: absolute;
    bottom: -4px;
    left: 50%;
    margin-left: -5px;
    z-index: 220;
    width: 0;
}

/* On hover, show the tooltip! */
.subscribe:hover .tooltip {
    opacity: 1;
    top: -33px;
}

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

.post-head.main-header {
    height: 65%;
    min-height: 180px;
}

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

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

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

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

.author-profile {
    padding: 0 15px 5rem 15px;
    border-bottom: #EBF2F6 1px solid;
    text-align: center;
}

/* Add a little circle in the middle of the border-bottom */
.author-profile:after {
    display: block;
    content: "";
    width: 7px;
    height: 7px;
    border: #E7EEF2 1px solid;
    position: absolute;
    bottom: -5px;
    left: 50%;
    margin-left: -5px;
    background: #FFF;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    box-shadow: #FFF 0 0 0 5px;
}

.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;
}

.author-meta {
    margin: 1.6rem 0;
}
/* Location, website, and link */
.author-profile .author-meta {
    margin: 2rem 0;
    font-family: "Merriweather", 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. Third Party Elements - Embeds from other services
   ========================================================================== */

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

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

/* ==========================================================================
   8. 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 ease 0.3s;
}

.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:after {
    display: block;
    content: "";
    width: 7px;
    height: 7px;
    border: #E7EEF2 1px solid;
    position: absolute;
    bottom: -5px;
    left: 50%;
    margin-left: -5px;
    background: #FFF;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    box-shadow: #FFF 0 0 0 5px;
}
.extra-pagination .pagination {
    width: auto;
}

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

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


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

.site-footer {
    position: relative;
    margin: 8rem 0 0 0;
    padding: 0.5rem 15px;
    border-top: #EBF2F6 1px solid;
    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 {
    color: #50585D;
}

.poweredby {
    display: block;
    width: 45%;
    float: right;
    text-align: right;
}

.copyright {
    display: block;
    width: 45%;
    float: left;
}


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

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

    .main-nav {
        padding: 15px;
    }

    blockquote {
        margin-left: 0;
    }

    .main-header {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        height: auto;
        min-height: 240px;
        height: 60%;
        padding: 15% 0;
    }

    .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;
    }

    .post-head.main-header {
        height:45%;
    }

    .tag-head.main-header,
    .author-head.main-header {
        height: 30%;
    }

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

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

}


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

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

    .main-header {
        margin-bottom: 15px;
        height: 40%;
    }

    .no-cover.main-header {
        height: 30%;
    }

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

    .main-nav {
        padding: 0;
        margin-bottom: 2rem;
        border-bottom: #e0e4e7 1px solid;
    }

    .blog-logo {
        padding: 10px 10px;
    }

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

    .back-button,
    .subscribe-button {
        height: 44px;
        line-height: 41px;
        border-radius: 0;
        color: #2e2e2e;
        background: transparent;
    }
    .back-button:hover,
    .subscribe-button:hover {
        border-color: #ebeef0;
        color: #2e2e2e;
        background: #ebeef0;
    }

    .back-button {
        padding: 0 15px 0 10px;
    }

    .subscribe-button {
        padding: 0 12px;
    }

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

    .no-cover .main-nav.overlay {
        background: none;
    }
    .no-cover .main-nav.overlay .back-button,
    .no-cover .main-nav.overlay .subscribe-button {
        border: none;
    }

    .main-nav.overlay .back-button,
    .main-nav.overlay .subscribe-button {
        border-color: transparent;
    }

    .blog-logo img {
        max-height: 80px;
    }

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

    .post {
        width: auto;
        margin-top: 2rem;
        margin-bottom: 2rem;
        margin-left: 16px;
        margin-right: 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 .post {
        padding-bottom: 0;
        margin-bottom: 0;
    }

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

    .post-content img {
        padding: 0;
    }

    .post-content .full-img {
        width: auto;
        width: calc(100% + 32px); /* expand with to image + margins */
        margin: 0 -16px; /* get rid of 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;
    }

    .post-head.main-header {
        height: 30%;
    }

    .tag-head.main-header,
    .author-head.main-header {
        height: 20%;
    }

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

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

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

}


/* ==========================================================================
   12. 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);
    }
}


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