/*
	Name: Smashing HTML5
	Date: July 2009
	Description: Sample layout for HTML5 and CSS3 goodness.
	Version: 1.0
	License: MIT <https://opensource.org/licenses/MIT>
	Licensed by: Smashing Media GmbH <https://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 {
    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;
    line-height: 1.429;
    margin: 0;
    padding: 0;
    text-align: left;
}

/* 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: 400;
    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: 1em;
}

.post-info {
    float: right;
    margin: 10px;
    padding: 5px;
}

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

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: .5em .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: 800px;
}

img {
    max-width: 100%;
}

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 */
    max-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: 0.8em 0 0 0;
}

/* Banner */
#banner h1 {
    font-size: 3.571em;
    line-height: 1.0;
    margin-bottom: .3em;
}

#banner h1 a:link, #banner h1 a:visited {
    color: #000305;
    display: block;
    font-weight: bold;
    margin: 0 0 0 .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: 1.143em;
    overflow: auto;
    line-height: 30px;
    margin: 0 auto 2em auto;
    padding: 0;
    text-align: center;
    max-width: 800px;

    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

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

#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 1.5em;
    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;
    -moz-border-radius-topleft: 5px;
    -webkit-border-top-left-radius: 5px;

    border-bottom-left-radius: 5px;
    -moz-border-radius-bottomleft: 5px;
    -webkit-border-bottom-left-radius: 5px;
}

/*
	Featured
*****************/
#featured {
    background: #fff;
    margin-bottom: 2em;
    overflow: hidden;
    padding: 20px;
    max-width: 760px;

    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 20px;
    max-width: 760px;

    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
}

/*
	Extras
*****************/
#extras {
    margin: 0 auto 3em 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;
}

/*
	About
*****************/
#about {
    background: #fff;
    font-style: normal;
    margin-bottom: 2em;
    overflow: hidden;
    padding: 20px;
    text-align: left;
    max-width: 760px;

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

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

/***** Sections *****/
/* Blog */
.hentry {
    display: block;
    clear: both;
    border-top: 1px solid #eee;
    padding: 1.5em 0;
}

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

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

.hentry img {
    display: none;
}

.entry-title {
    font-size: 3em;
    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;
}

/* Thumbnails */

.thumbnails {
    display: -moz-flex;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    position: relative;
    margin: 0 0 2em -2em;
}

.thumbnails > div {
    display: -moz-flex;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    width: calc(100% / 3);
    padding-left: 2em;
}

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

    .thumbnails {
        margin: 0 0 2em -1.5em;
    }

    .thumbnails a {
        margin: 0 0 1.5em 0;
    }

    .thumbnails > div {
        padding-left: 1.5em;
    }

}

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

    .thumbnails h3 {
        font-size: 0.8em;
    }

}

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

    .thumbnails {
        display: block;
    }

    .thumbnails a {
        margin: 0 0 2em 0 !important;
    }

    .thumbnails > div {
        display: block;
        width: 100%;
    }

    .thumbnails > div:last-child > :last-child {
        margin-bottom: 0 !important;
    }

    .thumbnails h3 {
        font-size: 1em;
    }

}