/*
	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 *****/
/* Palette (light) */
:root {
    --paper: #F3EBDC;
    --card: #FBF6EC;
    --ink: #2B2418;
    --ink-soft: #5A5040;
    --accent: #A6522C;
    --accent-contrast: #FFF9F0;
    --rule: #E1D3B8;
}

@media (prefers-color-scheme: dark) {
    :root {
        /* A dim-room version of the same paper/ink/terracotta palette,
           not an inverted near-black one. */
        --paper: #241F17;
        --card: #2D2720;
        --ink: #EAE0CD;
        --ink-soft: #C4B79D;
        --accent: #D9824A;
        --accent-contrast: #241F17;
        --rule: #493F2E;
    }
}

/* Body */
body {
    background: var(--paper);
    color: var(--ink);
    font-size: 100%; /* Base font size: 16px */
    font-family: Iowan Old Style, Palatino Linotype, Palatino, Georgia, 'Trebuchet MS', serif;
    line-height: 1.5;
    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', Georgia, serif;
    color: var(--ink);
}

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

hr { border: 1px solid var(--rule); }

/* Anchors */
a {outline: 0;}
a img {border: 0px; text-decoration: none;}
a:link, a:visited {
    color: var(--accent);
    padding: 0 1px;
    text-decoration: underline;
}
a:hover, a:active {
    background-color: var(--accent);
    color: var(--accent-contrast);
    text-decoration: none;
    text-shadow: none;
}

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

/* A horizontal byline under the title, not a floated box: a float here
   collides with the large inline photos in article bodies, leaving an
   uneven notch cut out of the top of the first image. */
.post-info {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 1em;
    margin: 0 0 1.5em 0;
    padding: 0 0 0.75em 0;
    border-bottom: 1px solid var(--rule);
    color: var(--ink-soft);
    font-size: 0.9em;
}

.post-info p, .post-info abbr, .post-info address {
    margin: 0;
}

.readmore { float: right }

dl {margin: 0 0 1.5em 0;}
dt {font-weight: bold;}
dd {margin-left: 1.5em;}

pre{background-color: var(--card); border: 1px solid var(--rule); 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%; }

/* Article body copy: sized up from the base for comfortable reading */
article .entry-content p {
    font-size: 1.125em;
    line-height: 1.6;
}

/* Give inline photos (album covers, box art, etc.) a printed-photo feel */
/* Cap and center inline photos instead of letting each stretch to the
   full text column at whatever size the source file happens to be —
   keeps a consistent rhythm across posts whose photos vary in
   resolution and aspect ratio. */
article .entry-content img {
    display: block;
    max-width: 480px;
    width: auto;
    height: auto;
    margin: 1.5em auto;
    padding: 4px;
    background: var(--paper);
    border: 1px solid var(--rule);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
}
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: var(--ink);
    display: block;
    font-weight: bold;
    margin: 0 0 0 .2em;
    text-decoration: none;
}
#banner h1 a:hover, #banner h1 a:active {
    background: none;
    color: var(--accent);
    text-shadow: none;
}

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

	/* Main Nav */
#banner nav {
    background: var(--ink);
    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: var(--paper);
    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: var(--accent);
    color: var(--accent-contrast);
    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;
}

/*
	Category description
*****************/
#category-description {
    background: var(--card);
    margin-bottom: 2em;
    padding: 20px;
    max-width: 760px;
    color: var(--ink-soft);
    font-style: italic;

    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
}
#category-description p {
    margin: 0;
}

/*
	Featured
*****************/
#featured {
    background: var(--card);
    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 var(--rule);
    float: right;
    margin: 0.786em 2em 0 5em;
    max-width: 248px;
}
#featured figure img {display: block; float: right;}

#featured h2 {color: var(--accent); 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: var(--ink); text-decoration: none;}
#featured h3 a:hover, #featured h3 a:active {color: var(--accent-contrast);}

/*
	Body
*****************/
#content {
    background: var(--card);
    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 var(--rule);}
#extras h2 {
    color: var(--accent);
    font-size: 1.429em;
    margin-bottom: .25em;
    padding: 0 3px;
}

#extras a:link, #extras a:visited {
    color: var(--ink-soft);
    display: block;
    border-bottom: 1px solid var(--rule);
    text-decoration: none;
    padding: .3em .25em;
}

#extras a:hover, #extras a:active {color: var(--accent-contrast);}

	/* 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: var(--card);
    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: var(--accent); 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;}

/* Cover photos are the whole point of a Time Capsule post: show them
   as a small print, not hide them. */
.hentry .entry-content img {
    max-width: 220px;
    width: auto;
    height: auto;
    float: left;
    margin: 0.2em 1.5em 1em 0;
    padding: 4px;
    background: var(--card);
    border: 1px solid var(--rule);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

.entry-title {font-size: 3em; margin-bottom: 10px; margin-top: 0;}
.entry-title a:link, .entry-title a:visited {text-decoration: none; color: var(--ink);}
.entry-title a:visited {background-color: transparent;}

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

	/* About the Author */
#about-author {
    background: var(--paper);
    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: var(--accent);
    clear: both;
    display: block;
    font-size: 1.429em;
}

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

	/* Comments */
#comments-list {list-style: none; margin: 0 1em;}
#comments-list blockquote {
    background: var(--paper);
    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: var(--ink-soft); padding: .5em 1em 0 0; text-align: right;}

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

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