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

/*

    0.  Includes
    1.  Icons
    2.  General
    3.  Utilities
    4.  General
    5.  Single Post
    6.  Third Party Elements
    7.  Pagination
    8.  Footer
    9.  Media Queries (Tablet)
    10. Media Queries (Mobile)

 */

/* ==========================================================================
   0. Includes - Ground zero
   ========================================================================== */

@import url(normalize.css);


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

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

/* Apply these base styles to all icons */
.icon-ghost:before, 
.icon-feed:before, 
.icon-twitter:before, 
.icon-google-plus:before, 
.icon-facebook:before {
    font-family: 'icons';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    text-decoration: none;
}

/* Each icon is created by inserting the corret character into the 
   content of the :before pseudo element. Like a boss. */
.icon-ghost:before {
    content: "\e000";
}
.icon-feed:before {
    content: "\e001";
}
.icon-twitter:before {
    content: "\e002";
    font-size: 1.1em;
}
.icon-google-plus:before {
    content: "\e003";
}
.icon-facebook:before {
    content: "\e004";
}


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

html {
    height: 100%;
    max-height: 100%;
    font-size: 62.5%;
}

body {
    height: 100%;
    max-height: 100%;
    font-family: 'Open Sans', sans-serif;
    font-size: 1.8rem;
    line-height: 1.6em;
    color: #444;
}

::-moz-selection {
    color: #444;
    background: #D6EDFF;
    text-shadow: none;
}

::selection {
    color: #444;
    background: #D6EDFF;
    text-shadow: none;
}

h1, h2, h3,
h4, h5, h6 {
    text-rendering: optimizeLegibility;
    line-height: 1;
    margin-top: 0;
    font-family: Audiowide, Inconsolata, monospace;
    color: #444;
}

h1 {
    font-size: 4rem;
    line-height: 1.2em;
    letter-spacing: -2px;
    text-indent: -3px;
}

h2 {
    font-size: 3rem;
    line-height: 1.2em;
    letter-spacing: -1px;
    text-indent: -2px;
}

h3 {
    font-size: 2.75rem;
}

h4 {
    font-size: 2.5rem;
}

h5 {
    font-size: 2.25rem;
}

h6 {
    font-size: 2rem;
}

a {
    color: #444;
    transition: color ease 0.3s;
}

a:hover {
    color: #e30049;
}

h1 a, h2 a, h3 a,
h4 a, h5 a, h6 a {
    color: #444;
}


p, ul, ol, dl {
    margin: 1.6em 0;
}

ol ol, ul ul,
ul ol, ol ul {
    margin: 0.4em 0;
}

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

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

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

blockquote {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 1.6em 0 1.6em -2.2em;
    padding: 0 0 0 1.6em;
    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:bold;
}

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: 1px solid #E3EDF3;
    background: #F7FAFB;
    border-radius: 2px;
}

pre {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 1.6em 0;
    border: 1px solid #E3EDF3;
    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: bold;
    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.6em 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: 1px solid #efefef;
}

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: 2px solid #efefef; }

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.6em 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
   ========================================================================== */

/* 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: 700px;
    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 */
.site-head {
    position: relative;
    display: table;
    width: 100%;
    height: 10%;
    margin-bottom: -3rem;
    text-align: center;
    background-size: cover;
}

.blog-logo {
    text-decoration: none;
}

/* Yo-logo. Yolo-go. Upload one in ghost/settings/ */
.blog-logo img {
    display: block;
    max-height: 100px;
    width: auto;
    margin: 0 auto;
    line-height: 0;
}

/* The details of your blog. Defined in ghost/settings/ */
.blog-title {
    margin: 0;
    font-size: 6rem;
    letter-spacing: -1px;
    font-weight: bold;
    font-family: Iceland, Inconsolata, monospace;
    text-shadow: 0 1px 6px rgba(0,0,0,0.1);
}

.blog-description {
    margin: 0;
    font-size: 2.3rem;
    line-height: 1.5em;
    font-weight: 300;
    font-family: Audiowide, Inconsolata, monospace;
    letter-spacing: 0;
    text-shadow: 0 1px 3px rgba(0,0,0,0.15);
}

/* Every post, on every page, gets this style on its <article> tag */
.post {
    position: relative;
    width:80%;
    max-width: 700px;
    margin: 6rem auto;
    padding-bottom: 4rem;
	border-bottom: #b8bec1 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: #b8bec1 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;
}

.post-title {
    margin:0;
}

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

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

.post-meta {
    display: inline-block;
    margin: 0 0 5px 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 1.5rem;
	color: #999;
}

.post-meta time {
	margin-right: 5px;
}

.post-meta a {
	margin-left: 5px;
	color: #999;
    text-decoration: none;
}

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

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

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

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

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

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



/* title link */
a.blog-logo:hover {
    color: #e30049;
}

/* on home page, alternate link colors on even-odd */
.even a:hover {
    color: #32db7c;
}

.odd a:hover {
    color: #6b8afa;
}

/* on home page, alternate link colors for posts */
.home-template .post:nth-child(4n+1) a:hover {
    color: #e30049;
}

.home-template .post:nth-child(4n+2) a:hover {
    color: #2956f7;
}

.home-template .post:nth-child(4n+3) a:hover {
    color: #32bd7c;
}

.home-template .post:nth-child(4n+4) a:hover {
    color: #fd5d0f;
}

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

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

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

/* Insert some mad padding up in the header for better spacing */
.post-template .post-header {
    padding: 60px 0;
    text-align: center;
}

/* Keep large images within the bounds of the post-width */
.post-content img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    height: auto;
}

/* The author credit area after the post */
.post-footer {
    position: relative;
    margin: 1.5rem 0 0 0;
}

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

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

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

/* 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 {
    margin-right: 180px;
}

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

.post-footer .share a:hover {
    color: #50585D;
}

.post-footer .share a.icon-twitter:hover {
    color: #2956f7;
}

.post-footer .share a.icon-google-plus:hover {
    color: #fd5d0f;
}

.post-footer .share a.icon-facebook:hover {
    color: #32bd7c;
}



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


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

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

.pagination a {
	color: #999;
}

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

.older-posts {
    right: 0;
}

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

.newer-posts {
    left: 0;
}

.older-posts:hover,
.newer-posts:hover {
    border-color: #9EABB3;
}


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

.site-footer {
    position: relative;
    margin: 0 auto 0 auto;
    padding: 4rem 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 1.3rem;
    line-height: 1.7em;
	color: #777;
    text-align: center;
	width: 80%;
	max-width: 700px;
}

.site-footer a {
    color: #50585D;
    text-decoration: underline;
}

.site-footer a:hover {
    color: #BBC7CC;
}

.site-footer .copyright a {
	font-weight: 700;
}

.site-footer .copyright a:hover {
    color: #fd5d0f;
}

/* Configure site navigation display */
.site-nav a {
    margin: 0 10px;
    text-decoration: none;
	font-size: 1.1em;
	font-weight: bold;
	font-family: Audiowide, Inconsolata, monospace;
}

.site-nav a.about:hover {
	color: #e30049;
}

.site-nav a.contact:hover {
    color: #2956f7;
}

.site-nav a.subscribe:hover {
    color: #32bd7c;
}

.site-footer .site-nav {
    margin-bottom: 3em;
}

/* Powered by Ghost */
.poweredby .icon-ghost {
    font-weight: 700;
    text-decoration: none;
}

.poweredby .icon-ghost:hover {
    text-decoration: none;
}

.poweredby .icon-ghost:before {
    font-size: 1rem;
    margin-right: 0.2em;
}

/* The subscribe icon on the footer */

/* CSS tooltip saying "Subscribe!" - initially hidden */
.tooltip {
    opacity:0;
    display: inline-block;
    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;
}


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

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

    blockquote {
        margin-left: 0;
    }

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

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

    .blog-description {
        font-size: 1.7rem;
        line-height: 1.5em;
    }

    .post {
        font-size: 0.9em;
        line-height: 1.6em;
    }

    .post-template .post {
        padding-bottom: 1rem;
    }

    .post-template .post-header {
        padding: 40px 0;
    }

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

    h2 {
        font-size: 3.8rem;
    }

    h3 {
        font-size: 3.3rem;
    }

    h4 {
        font-size: 2.8rem;
    }

}

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


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

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

    .inner, 
    .pagination {
        width: auto;
        margin-left: 16px;
        margin-right: 16px;
    }

    .post {
        width:auto;
        margin-left: 16px;
        margin-right: 16px;
        font-size: 0.8em;
        line-height: 1.6em;
    }

    .site-head {
        padding: 10% 0;
    }

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

    .blog-description {
        font-size: 1.5rem;
    }


    h1, h2 {
        font-size: 3rem;
        line-height: 1.1em;
        letter-spacing: -1px;
    }

    h3 {
        font-size: 2.8rem;
    }

    h4 {
        font-size: 2.3rem;
    }

    .post-template .post {
        padding-bottom: 0;
    }

    .post-template .post-header {
        padding: 30px 0;
    }

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

    .post-footer {
        padding: 4rem 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;
    }

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

    .page-number {
        display: block;
    }

    .site-footer {
        margin-top: 6rem;
        font-size: 1.1rem;
    }

}

/* ==========================================================================
   11. Hack for Chromium Bug 336476 - Google Fonts not rendering w/o repaint
   ========================================================================== */
body
{
    -webkit-animation-duration: 0.1s;
    -webkit-animation-name: fontfix;
    -webkit-animation-iteration-count: 1;
    -webkit-animation-timing-function: linear;
    -webkit-animation-delay: 0.1s;
}

@-webkit-keyframes fontfix{
    from{   opacity: 1; }
    to{     opacity: 1; }
}

/* ==========================================================================
   12. Stuff I stuck in for 5.X support
   ========================================================================== */


.gh-canvas {
    display: grid;
    grid-template-columns:
        [full-start]
        minmax(4vmin, auto)
            [wide-start]
            minmax(auto, 240px)
                [main-start]
                    min(720px, calc(100% - 8vw))
                [main-end]
            minmax(auto, 240px)
            [wide-end]
        minmax(4vmin, auto)
        [full-end]
    ;
}

.gh-canvas > * {
    grid-column: main-start / main-end;
}

.kg-width-wide {
    grid-column: wide-start / wide-end;
}

.kg-width-full {
    grid-column: full-start / full-end;
}

.kg-width-full img {
    width: 100%;
}

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