/*
  Name: Smashing HTML5
  Date: July 2009
  Description: Sample layout for HTML5 and CSS3 goodness.
  Version: 1.0
  License: MIT <http://opensource.org/licenses/MIT>
  Licensed by: Smashing Media GmbH <http://www.smashingmagazine.com/>
  Original author: Enrique Ramírez <http://enrique-ramirez.com/>
*/


/* Imports */

@import url("reset.css");
@import url("pygment.css");
@import url("typogrify.css");
@import url("fonts.css");

/***** Global *****/


/* Body */

body {
    box-sizing: border-box;
    background: #F5F4EF;
    color: #000305;
    /*font-size: 87.5%;*/
    /* Base font size: 14px */
    /*font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;*/
    font-family: 'PT Serif', sans-serif;
    line-height: 1.8em;
    margin: 0;
    padding: 0;
    text-align: left;
}

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


/* Headings */

h1 {
    font-size: 2em
}

h2 {
    font-size: 1.571em;
}


/* 22px */

h3 {
    font-size: 1.429em
}


/* 20px */

h4 {
    font-size: 1.286em
}


/* 18px */

h5 {
    font-size: 1.143em
}


/* 16px */

h6 {
    font-size: 1em
}


/* 14px */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 550;
    line-height: 1.1;
    margin-bottom: .8em;
    /*font-family: 'Yanone Kaffeesatz', arial, serif;*/
}

h3,
h4,
h5,
h6 {
    margin-top: .8em;
}

hr {
    border: 2px solid #EEEEEE;
}


/* Anchors */

a {
    outline: 0;
}

a img {
    border: 0px;
    text-decoration: none;
}

a:link,
a:visited {
    color: #C74350;
    /*padding: 0 1px;*/
    text-decoration: underline;
}

a:hover,
a:active {
    /*background-color: #C74350;*/
    /*color: #fff;*/
    /*text-decoration: none;*/
    /*text-shadow: 1px 1px 1px #333;*/
}

h1 a:hover {
    background-color: inherit
}


/* Paragraphs */

div.line-block,
p {
    margin-top: 1em;
    margin-bottom: 1em;
}

strong,
b {
    font-weight: bold;
}

em,
i {
    font-style: italic;
}


/* Lists */

ul {
    list-style: outside disc;
    margin: 0em 0 0 1.5em;
}

ol {
    list-style: outside decimal;
    margin: 0em 0 0 1.5em;
}

li {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.post-info {
    /*float: right;*/
    color: gray;
    font-style: italic;
    margin: 15px 0;
    padding: 5px;
}

.post-info address {
    font-style: italic;
}

.post-info p {
    margin-top: 1px;
    margin-bottom: 1px;
}

.readmore {
    float: right
}

dl {
    margin: 0 0 1.5em 0;
}

dt {
    font-weight: bold;
}

dd {
    margin-left: 1.5em;
}

pre {
    background-color: rgb(238, 238, 238);
    padding: 10px;
    margin: 10px;
    overflow: auto;
}


/* Quotes */

blockquote {
    /*margin: 20px;*/
    font-style: italic;
    color: gray;
    border-left: 5px solid #EEEEEE;
    padding-left: 15px;
}

cite {}

q {}

div.note {
    float: right;
    margin: 5px;
    font-size: 85%;
    max-width: 300px;
}


/* Tables */

table {
    margin: .5em auto 1.5em auto;
    width: 98%;
}


/* Thead */

thead th {
    padding: .5em .4em;
    text-align: left;
}

thead td {}


/* Tbody */

tbody td {
    padding: .2em .4em;
}

tbody th {}

tbody .alt td {}

tbody .alt th {}


/* Tfoot */

tfoot th {}

tfoot td {}


/* HTML5 tags */

header,
section,
footer,
aside,
nav,
article,
figure {
    display: block;
}


/***** Layout *****/

.body {
    clear: both;
    margin: 0 auto;
    max-width: 960px;
}

img.right,
figure.right,
div.figure.align-right {
    float: right;
    margin: 0 0 2em 2em;
}

img.left,
figure.left,
div.figure.align-left {
    float: left;
    margin: 0 2em 2em 0;
}


/* .rst support */

div.figure img,
figure img {
    /* to fill figure exactly */
    width: 100%;
}

div.figure p.caption,
figure p.caption {
    /* margin provided by figure */
    margin-top: 0;
    margin-bottom: 0;
}


/*
  Header
*****************/

#banner {
    margin: 0 auto;
    padding: 2.5em 0 0 0;
    text-align: center;
}


/* Banner */

#banner h1 {
    font-size: 2.3em;
    line-height: 0;
}

#banner h1 a:link,
#banner h1 a:visited {
    color: #000305;
    display: block;
    font-weight: bold;
    margin: 0 0 .6em .2em;
    text-decoration: none;
}

#banner h1 a:hover,
#banner h1 a:active {
    background: none;
    color: #C74350;
    text-shadow: none;
}

#banner h1 strong {
    font-size: 0.36em;
    font-weight: normal;
}


/* Main Nav */

#banner nav {
    background: #000305;
    font-size: 1em;
    height: 40px;
    line-height: 30px;
    margin: 2.5em auto 2em auto;
    padding: 0;
    text-align: center;
    max-width: 960px;
    box-sizing: content-box;
    border-radius: 5px;
}

#banner nav ul {
    list-style: none;
    margin: 0 auto;
    max-width: 960px;
}

#banner nav li {
    float: left;
    display: inline;
    margin: 0;
}

#banner nav a:link,
#banner nav a:visited {
    color: #fff;
    display: inline-block;
    height: 30px;
    padding: 5px 1em;
    text-decoration: none;
}

#banner nav a:hover,
#banner nav a:active,
#banner nav .active a:link,
#banner nav .active a:visited {
    background: #C74451;
    color: #fff;
    text-shadow: none !important;
}

#banner nav li:first-child a {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

#banner nav li:last-child a {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

@media screen and (max-width: 600px) {
    #banner nav {
        width: 100%;
        height: 100%;
        overflow: scroll;
        border-radius: 0;
    }
    #banner nav li a {
        font-size: 1em;
        padding: 3px 8px !important;
        border-radius: 0 !important;
    }
}


/*
  Featured
*****************/

#featured {
    background: #fff;
    margin-bottom: 2em;
    overflow: hidden;
    padding: 20px;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
}

#featured figure {
    border: 2px solid #eee;
    float: right;
    margin: 0.786em 2em 0 5em;
    max-width: 248px;
}

#featured figure img {
    display: block;
    float: right;
}

#featured h2 {
    color: #C74451;
    font-size: 1.714em;
    margin-bottom: 0.333em;
}

#featured h3 {
    font-size: 1.429em;
    margin-bottom: .5em;
}

#featured h3 a:link,
#featured h3 a:visited {
    color: #000305;
    text-decoration: none;
}

#featured h3 a:hover,
#featured h3 a:active {
    color: #fff;
}


/*
  Body
*****************/

#content {
    background: #fff;
    margin-bottom: 2em;
    overflow: hidden;
    padding: 20px 30px;
    max-width: 960px;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
}


/*
  Extras
*****************/

#extras {
    margin: 0 auto;
    overflow: hidden;
}

#extras ul {
    list-style: none;
    margin: 0;
}

#extras li {
    border-bottom: 1px solid #fff;
}

#extras h2 {
    color: #C74350;
    font-size: 1.429em;
    margin-bottom: .25em;
    padding: 0 3px;
}

#extras a:link,
#extras a:visited {
    color: #444;
    display: block;
    border-bottom: 1px solid #F4E3E3;
    text-decoration: none;
    padding: .3em .25em;
}

#extras a:hover,
#extras a:active {
    color: #fff;
}


/* Blogroll */

#extras .blogroll {
    float: left;
    max-width: 615px;
}

#extras .blogroll li {
    float: left;
    margin: 0 20px 0 0;
    max-width: 185px;
}


/* Social */

#extras .social {
    float: right;
    max-width: 175px;
}

#extras div[class='social'] a {
    background-repeat: no-repeat;
    background-position: 3px 6px;
    padding-left: 25px;
}


/* Icons */

.social a[href*='about.me'] {
    background-image: url('../images/icons/aboutme.png');
}

.social a[href*='bitbucket.org'] {
    background-image: url('../images/icons/bitbucket.png');
}

.social a[href*='delicious.com'] {
    background-image: url('../images/icons/delicious.png');
}

.social a[href*='digg.com'] {
    background-image: url('../images/icons/digg.png');
}

.social a[href*='facebook.com'] {
    background-image: url('../images/icons/facebook.png');
}

.social a[href*='gitorious.org'] {
    background-image: url('../images/icons/gitorious.png');
}

.social a[href*='github.com'],
.social a[href*='git.io'] {
    background-image: url('../images/icons/github.png');
    background-size: 16px 16px;
}

.social a[href*='gittip.com'] {
    background-image: url('../images/icons/gittip.png');
}

.social a[href*='plus.google.com'] {
    background-image: url('../images/icons/google-plus.png');
}

.social a[href*='groups.google.com'] {
    background-image: url('../images/icons/google-groups.png');
}

.social a[href*='news.ycombinator.com'],
.social a[href*='hackernewsers.com'] {
    background-image: url('../images/icons/hackernews.png');
}

.social a[href*='last.fm'],
.social a[href*='lastfm.'] {
    background-image: url('../images/icons/lastfm.png');
}

.social a[href*='linkedin.com'] {
    background-image: url('../images/icons/linkedin.png');
}

.social a[href*='reddit.com'] {
    background-image: url('../images/icons/reddit.png');
}

.social a[type$='atom+xml'],
.social a[type$='rss+xml'] {
    background-image: url('../images/icons/rss.png');
}

.social a[href*='slideshare.net'] {
    background-image: url('../images/icons/slideshare.png');
}

.social a[href*='speakerdeck.com'] {
    background-image: url('../images/icons/speakerdeck.png');
}

.social a[href*='stackoverflow.com'] {
    background-image: url('../images/icons/stackoverflow.png');
}

.social a[href*='twitter.com'] {
    background-image: url('../images/icons/twitter.png');
}

.social a[href*='vimeo.com'] {
    background-image: url('../images/icons/vimeo.png');
}

.social a[href*='youtube.com'] {
    background-image: url('../images/icons/youtube.png');
}


/*
  About
*****************/

#about {
    background: #fff;
    font-style: normal;
    margin-bottom: 2em;
    overflow: hidden;
    padding: 0 10px;
    text-align: left;
    box-sizing: content-box;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
}

#about .primary {
    float: left;
    max-width: 165px;
}

#about .primary strong {
    color: #C64350;
    display: block;
    font-size: 1.286em;
}

#about .photo {
    float: left;
    margin: 5px 20px;
}

#about .url:link,
#about .url:visited {
    text-decoration: none;
}

#about .bio {
    float: right;
    max-width: 500px;
}

#statistics {
    padding: 20px 0;
}


/*
  Footer
*****************/

#contentinfo {
    padding-bottom: 2em;
    text-align: right;
}


/***** Sections *****/


/* Blog */

.hentry {
    display: block;
    clear: both;
    border-bottom: 1px solid #eee;
    padding: 1.5em 0;
}

li:last-child .hentry,
#content>.hentry {
    border: 0;
    margin: 0;
}

#content>.hentry {
    padding: 1em 0;
}

.hentry img {
    display: none;
}

.entry-title {
    font-size: 2em;
    margin-bottom: 10px;
    margin-top: 0;
}

.entry-title a:link,
.entry-title a:visited {
    text-decoration: none;
    color: #333;
}

.entry-title a:visited {
    background-color: #fff;
}

.hentry .post-info * {
    font-style: normal;
}


/* Content */

.hentry footer {
    margin-bottom: 2em;
}

.hentry footer address {
    display: inline;
}

#posts-list footer address {
    display: block;
}


/* Blog Index */

#posts-list {
    list-style: none;
    margin: 0;
}

#posts-list .hentry {
    padding-left: 10px;
    position: relative;
}

#posts-list footer {
    left: 10px;
    position: relative;
    float: left;
    top: 0.5em;
    max-width: 190px;
}


/* About the Author */

#about-author {
    background: #f9f9f9;
    clear: both;
    font-style: normal;
    margin: 2em 0;
    padding: 10px 20px 15px 20px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

#about-author strong {
    color: #C64350;
    clear: both;
    display: block;
    font-size: 1.429em;
}

#about-author .photo {
    border: 1px solid #ddd;
    float: left;
    margin: 5px 1em 0 0;
}


/* Comments */

#comments-list {
    list-style: none;
    margin: 0 1em;
}

#comments-list blockquote {
    background: #f8f8f8;
    clear: both;
    font-style: normal;
    margin: 0;
    padding: 15px 20px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

#comments-list footer {
    color: #888;
    padding: .5em 1em 0 0;
    text-align: right;
}

#comments-list li:nth-child(2n) blockquote {
    background: #F5f5f5;
}


/* Add a Comment */

#add-comment label {
    clear: left;
    float: left;
    text-align: left;
    max-width: 150px;
}

#add-comment input[type='text'],
#add-comment input[type='email'],
#add-comment input[type='url'] {
    float: left;
    max-width: 200px;
}

#add-comment textarea {
    float: left;
    height: 150px;
    max-width: 495px;
}

#add-comment p.req {
    clear: both;
    margin: 0 .5em 1em 0;
    text-align: right;
}

#add-comment input[type='submit'] {
    float: right;
    margin: 0 .5em;
}

#add-comment * {
    margin-bottom: .5em;
}