/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}


/**
 * Scribbles v2 design
 */

/* IE10 compatibility */
main, section, header, aside, nav, figure, figcaption { display: block; }

/**
 * Basic typography and content styles
 * 
 * Detailed calculations based on this article: https://iamvdo.me/en/blog/css-font-metrics-line-height-and-vertical-align
 * Idea is to set the same line-height for all block level elements. Contained inline elements need small enough line-heights
 * so that they're not enlarging the height of the line-box. This works even for inline elements that span many lines because
 * the "strut" at the start of each line (an invisible zero-width char in the block elements font) that establishes the baseline
 * and line-height for each line.
 */
@font-face { font-family: Kalam; src: url(Kalam-Regular.woff); }
@font-face { font-family: Kalam; font-weight: 300; src: url(Kalam-Light.woff); }
@font-face { font-family: Kalam; font-weight: bold; src: url(Kalam-Bold.woff); }
@font-face { font-family: Caveat; src: url(Caveat-Regular.woff); }
@font-face { font-family: Caveat; font-weight: bold; src: url(Caveat-Bold.woff); }
@font-face { font-family: PermanentMarker; src: url(PermanentMarker.ttf); }
@font-face { font-family: Schoolbell; src: url(Schoolbell.ttf); }
@font-face { font-family: FantasqueSansMono; src: url(FantasqueSansMono-Regular.woff); }
@font-face { font-family: FantasqueSansMono; font-weight: bold; src: url(FantasqueSansMono-Bold.woff); }
@font-face { font-family: FantasqueSansMono; font-style: italic; src: url(FantasqueSansMono-Italic.woff); }
@font-face { font-family: FantasqueSansMono; font-weight: bold; font-style: italic; src: url(FantasqueSansMono-BoldItalic.woff); }

body { font-family: Kalam, sans-serif; font-size: 20px; font-weight: 300; line-height: 32px; color: hsl(0, 0%, 25%); }
h1, h2, h3, h4, h5, h6 { font-family: Caveat, serif; font-weight: bold; margin: 0; padding: 0; }
h2, h3, h4 { clear: both; }
h1 { font-size: 35px; position: relative; top: -6px; }
h2 { font-size: 35px; position: relative; top: -6px; }
h3 { font-size: 31px; position: relative; top: -6px; }
h4 { font-size: 27px; position: relative; top: -4px; }
h5, h6 { font-size: 27px; position: relative; top: -4px; font-weight: normal; }
em, i { font-style: normal; font-weight: 400; font-variant: small-caps; }
strong, b { font-weight: bold; }
pre { font-family: FantasqueSansMono, monospace; position: relative; top: -2px; color: hsl(240, 35%, 36%); }
code, var, samp, kbd, tt { font-family: FantasqueSansMono, monospace; font-size: 0.9em; }

p { margin: 32px 0; padding: 0; }
ul, ol { margin: 32px 0; padding: 0 0 0 1.25em; }
li { margin: 0; padding: 0; }

/* Block level elements inherit line-height from body and establish the same baseline everywhere. */
/* Inline elements have to fit into the line-box established by the parent block level element so we */
/* have to lower their line-height a bit so that they don't extend the line-box height (see line-box calculator in notes). */
code, var, samp, kbd, tt, small { line-height: 27px; }

h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { font-size: 0.76em; }

a { text-decoration: none; color: hsl(240, 60%, 40%); text-shadow: 0 0 0 rgba(0, 0, 0, 0); transition: text-shadow 0.2s; }
a:hover, a:focus, a:active { text-shadow: 0 0 1.5em currentcolor; }

pre { max-width: 100%; overflow: auto; }
pre.console { line-height: normal; padding: 0.5em 0.5em 0 0.5em; white-space: pre-wrap;
	background: hsl(318, 46%, 15%); color: #eee; border: 1px solid #1a1a1a; border-radius: 5px;
	position: relative; top: -9px; }
pre.console kbd { color: #eee; background: hsla(0, 0%, 25%, 1); }

mark { background: hsla(60, 100%, 50%, 0.5); border-radius: 5px; box-shadow: 0 0 5px hsl(60, 100%, 50%); }

blockquote { margin: 0; padding: 0 2em; color: hsl(0, 0%, 40%); position: relative; }
blockquote::before { content: '“'; font-size: 55px; position: absolute; left: 0; top: 15px; color: hsla(0, 0%, 40%, 0.5); }
blockquote::after { content: '”'; font-size: 55px; position: absolute; right: 0; bottom: -15px; color: hsla(0, 0%, 40%, 0.5); }

table { margin: 0 1em; border-spacing: 0; }
table th, table td { padding: 0 0.5em; }
table th { font-weight: 400; }
table th, table td { vertical-align: top; }

main > header > p, main > div > header > p { margin-top: 0; }

@media (max-width: 950px) {
	pre > code { font-size: 0.77em; }
	table { margin: 0; word-break: break-all; }
}
@media (max-width: 450px) {
	body { font-size: 18px; }
	pre > code { font-size: 0.77em; }
	pre.console { font-size: 0.77em; line-height: normal; }
	pre.console > * { line-height: 1.5; }
	table { margin: 0; word-break: break-all; }
}

/* Figures */
figure { display: table; position: relative; }
figure > figcaption { display: table-caption; font-size: 0.77em; line-height: normal; }
figure > a::before { content: ''; position: absolute; left: 0; top: 0; right: 0; bottom: 0;
	border-radius: 5px; box-shadow: 0 0 20px rgba(0, 0, 0, 0); transition: box-shadow 0.2s; }
figure > a:focus::before, figure > a:hover::before, figure > a:active::before { box-shadow: 0 0 15px hsla(240, 60%, 40%, 0.8); }
figure > a > img { display: block; width: 100%; border-radius: inherit; }
figure > img { display: block; width: 100%; border-radius: inherit; }

figure.inline { float: right; max-width: 50%; margin: 0 0.5em 0 0.5em; }
figure.inline > figcaption { position: relative; z-index: 1; padding: 0.25em 0.5em;
	background: url(soft_wallpaper.png); border-radius: 4px; box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.25), 1px 1px 5px rgba(0, 0, 0, 0.5);
	transform: rotate(1deg); }
figure.inline > figcaption::before { }
figure.inline > figcaption::after {  }
figure.inline > :not(figcaption) { z-index: 0; display: block; transform: translate(0, -5px) rotate(-0.5deg);
	background: url(soft_wallpaper.png); border-radius: 5px; box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }

figure:not(.inline) { max-width: 90%; margin-left: auto; margin-right: auto; padding: 0.5em; }
figure:not(.inline)::before { content: ''; position: absolute; z-index: 0; left: 0; top: 0; right: 0; bottom: 0;
	background: url(soft_wallpaper.png); border-radius: 4px; box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.25), 1px 1px 5px rgba(0, 0, 0, 0.5); }
figure:not(.inline) > * { position: relative; z-index: 1; }
figure:not(.inline) > figcaption { padding: 0.25em 0.5em; }
figure:not(.inline) > :not(figcaption) { display: block; box-sizing: border-box; width: 100%; overflow: auto; }
figure:not(.inline) > a { position: static; }
figure:not(.inline) > a > * { position: relative; z-index: 1; }

@media (max-width: 950px) {
	/* The larger margin avoids single words from being put left of the figure at 340px width. */
	/* We also have to set margin-bottom to 0 for the support script to work properly. */
	figure.inline { margin: 0 0.5em 0 1.5em; }
}
@media (max-width: 450px) {
	figure.inline { float: none; margin: 0 auto; max-width: 90%; }
	figure.inline + * { margin-top: 0; }
}


/* Smileys */
span.smiley { display: inline-block; width: 16px; height: 16px; text-indent: -10000px; background-repeat: no-repeat; background-position: center center;
	position: relative; top: 5px; }
span.smiley.smile { background-image: url(../smilies/emoticon_smile.png); }
span.smiley.wink { background-image: url(../smilies/emoticon_wink.png); }
span.smiley.surprised { background-image: url(../smilies/emoticon_surprised.png); }
span.smiley.grin { background-image: url(../smilies/emoticon_grin.png); }
span.smiley.happy { background-image: url(../smilies/emoticon_happy.png); }
span.smiley.tongue { background-image: url(../smilies/emoticon_tongue.png); }
span.smiley.evilgrin { background-image: url(../smilies/emoticon_evilgrin.png); }
span.smiley.waii { background-image: url(../smilies/emoticon_waii.png); }
span.smiley.unhappy { background-image: url(../smilies/emoticon_unhappy.png); }


/**
 *Basic layout
 */
html { padding: 0; background: #eac286 url(purty_wood.png) center top; }

@media (min-width: 951px) {
	html { margin: 2em; }
	body { max-width: calc(1100px - 4em); margin: 0 auto; padding: 0; display: flex; position: relative; }
	body > header > h1 { display: none; }
	body > header > ul { display: none; }
	/* body > header > section is styled in the style switcher section */
	body > nav { display: none; }
	body > main { flex: 1 1 auto; min-width: 0; /* allow box to be smaller than its content */ }
	body > aside { flex: 0 0 auto; width: 235px; }
	body > footer { display: none; }
	
	/* IE10 compatibility */
	body { display: -ms-flexbox; }
	body > main { -ms-flex: 1 1 200px; }
	body > aside { -ms-flex: 0 0 auto; }
}
@media (max-width: 950px) {
	html { margin: 2em; }
	body { margin: 0 auto; padding: 0; position: relative; }
	body > header > h1 { display: none; }
	body > header > ul { display: none; }
	/* body > header > section is styled in the style switcher section */
	body > nav { display: block; }
	body > aside > nav.main { display: none; }
	body > footer { display: none; }
}
@media (max-width: 450px) {
	html { margin: 0.5em; }
	body { margin: 0 auto; padding: 0; position: relative; }
	body > header > h1 { display: none; }
	body > header > ul { display: none; }
	/* body > header > section is styled in the style switcher section */
	body > nav { display: block; }
	body > aside > nav.main { display: none; }
	body > footer { display: none; }
}



/**
 * Navigation
 */
nav.main { }
nav.main > ul { margin: 0; padding: 0 1em; list-style: none; }
/*
Layout structure of the links:
- li - receives transform (transform forces new stacking context, no child can be positioned behind it)
- li::before - used for the selective shadow bellow the note
- li::after - background paper pattern that has to be above the shadow element
- a - text and color overlay
*/
nav.main > ul > li { position: relative; margin: 0; padding: 0; }
nav.main > ul > li::before { content: ''; position: absolute; z-index: 1; width: 50%; height: 40%; bottom: 10px;
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5); }
nav.main > ul > li::after { content: ''; position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; left: 0;
	background: url(soft_wallpaper.png); border-radius: 2px; box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.25), 0 0 5px rgba(0, 0, 0, 0.5); }

nav.main > ul > li > a { display: block; position: relative; z-index: 3; margin: 0; padding: 0.5em;
	text-decoration: none; color: inherit; font-family: PermanentMarker, serif; font-size: 18px; letter-spacing: 1px; line-height: 20px; }
nav.main > ul > li > a > small { display: block; font-family: Schoolbell, sans-serif; font-size: 13px; letter-spacing: 0; word-spacing: 2px; }

nav.main > ul > li.weblog { transform: translate(-0.5em) rotate(3deg); }
nav.main > ul > li.weblog::before { left: 2px; transform: rotate(-3deg); }
nav.main > ul > li.weblog > a { background: hsla(0, 50%, 75%, 0.25); }
nav.main > ul > li.profile { transform: rotate(-5deg); }
nav.main > ul > li.profile::before { right: 2px; transform: rotate(3deg); }
nav.main > ul > li.profile > a { background: hsla(120, 50%, 75%, 0.25); }
nav.main > ul > li.projects { transform: translate(-1em) rotate(3deg); }
nav.main > ul > li.projects::before { left: 2px; width: 25%; transform: rotate(-3deg); }
nav.main > ul > li.projects > a { background: hsla(240, 50%, 75%, 0.25); }
nav.main > ul > li.archive { transform: translate(1em, -0.25em) rotate(-3deg); }
nav.main > ul > li.archive::before { right: 2px; transform: rotate(3deg); }
nav.main > ul > li.archive > a { background: hsla(180, 75%, 75%, 0.25); }
/* already styled but we don't need a 5th main navigation point right now
nav.main > ul > li:nth-of-type(5) { transform: rotate(5deg); }
nav.main > ul > li:nth-of-type(5)::before { left: 2px; transform: rotate(-3deg); }
nav.main > ul > li:nth-of-type(5) > a { background: hsla(300, 75%, 75%, 0.25); }
*/

nav.main > ul > li:hover, nav.main > ul > li:focus, nav.main > ul > li:active { z-index: 10; }


/**
 * Mobile navigation
 */
body > nav { position: relative; height: 130px; }
body > nav > ul { margin: 0; padding: 0; list-style: none; }
/*
Layout structure of the links:
- li - receives transform (transform forces new stacking context, no child can be positioned behind it)
- li::before - used for the selective shadow bellow the note
- li::after - background paper pattern that has to be above the shadow element
- a - text and color overlay
*/
body > nav > ul > li { position: absolute; margin: 0; padding: 0; display: table; }
body > nav > ul > li::before { content: ''; position: absolute; z-index: 1; width: 50%; height: 40%; bottom: 10px;
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5); }
body > nav > ul > li::after { content: ''; position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; left: 0;
	background: url(soft_wallpaper.png); border-radius: 2px; box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.25), 0 0 5px rgba(0, 0, 0, 0.5); }

body > nav > ul > li > a { display: block; position: relative; z-index: 3; margin: 0; padding: 0.5em;
	text-decoration: none; color: inherit; font-family: PermanentMarker, serif; font-size: 18px; letter-spacing: 1px; line-height: 20px; }
body > nav > ul > li > a > small { display: block; font-family: Schoolbell, sans-serif; font-size: 13px; letter-spacing: 0; word-spacing: 2px; }

body > nav > ul > li.weblog { z-index: 6; left: 0; top: 0; transform: rotate(-3deg); }
body > nav > ul > li.weblog::before { left: 2px; transform: rotate(-3deg); }
body > nav > ul > li.weblog > a { background: hsla(0, 50%, 75%, 0.25); }
body > nav > ul > li.profile { z-index: 4; left: 5px; top: 39px; transform: rotate(2deg); }
body > nav > ul > li.profile::before { left: 2px; transform: rotate(-3deg); }
body > nav > ul > li.profile > a { background: hsla(120, 50%, 75%, 0.25); }
body > nav > ul > li.projects { z-index: 5; left: 91px; top: 8px; transform: rotate(-12deg); }
body > nav > ul > li.projects::before { right: 2px; width: 25%; transform: rotate(3deg); }
body > nav > ul > li.projects > a { background: hsla(240, 50%, 75%, 0.25); }
body > nav > ul > li.archive { z-index: 2; left: 114px;top: 46px;transform: rotate(8deg);}
body > nav > ul > li.archive::before { right: 2px; transform: rotate(3deg); }
body > nav > ul > li.archive > a { background: hsla(180, 75%, 75%, 0.25); }
body > nav > ul > li.aside { z-index: 1; left: 9px; top: 78px; transform: rotate(-2deg); }
body > nav > ul > li.aside::before { left: 2px; transform: rotate(-3deg); }
body > nav > ul > li.aside > a { background: hsla(300, 75%, 75%, 0.25); font-size: 0.6em; }

body > nav > ul > li:hover, body > nav > ul > li:focus, body > nav > ul > li:active { z-index: 10; }


/**
 * Style switcher
 */
body > header > section { font-family: Schoolbell, sans-serif; font-size: 16px; line-height: 22px; }
body > header > section::before { content: ''; position: absolute; z-index: 1; width: 50%; height: 20%; max-height: 30px; bottom: 10px; left: 4px;
	box-shadow: 0 10px 10px black; transform: rotate(-3deg); }
body > header > section::after { content: ''; position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; left: 0;
	border-radius: 5px; box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.25), 0 0 5px rgba(0, 0, 0, 0.25); }
body > header > section > * { position: relative; z-index: 3; }

body > header > section > p { font-family: PermanentMarker, serif; }
body > header > section > ul { list-style: none; display: flex; }
body > header > section > ul > li { font-size: 0.77em; cursor: pointer; text-align: center;
	color: hsl(240, 60%, 40%); text-shadow: 0 0 0 transparent; transition: text-shadow 0.2s; }
body > header > section > ul > li::before { content: ''; display: block;
	border-radius: 5px; box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); transition: box-shadow 0.2s;
	background-size: cover; background-position: center top; }
body > header > section > ul > li.modern-ambience::before { background-image: url(../thumb-modern-ambience.jpg); }
body > header > section > ul > li.scribbles::before { background-image: url(../thumb-scribbles.jpg); }
body > header > section > ul > li > span {}
body > header > section > ul > li > small { font-size: inherit; line-height: 15px; color: gray; margin: 0; padding: 0; white-space: nowrap; }

body > header > section > ul > li:hover, body > header > section > ul > li:focus, body > header > section > ul > li:active {
	text-shadow: 0 0 1.5em currentcolor; }
body > header > section > ul > li:hover::before, body > header > section > ul > li:focus::before, body > header > section > ul > li:active::before {
	box-shadow: 0 0 15px hsla(240, 60%, 40%, 0.8); }

/* IE10 compatibility */
body > header > section > ul { display: -ms-flexbox; }

@media (max-width: 950px) {
	body > header > section { position: absolute; z-index: 1; top: -11px; left: 212px; margin: 0; padding: 0; transform: rotate(-5deg); }
	body > header > section::before { left: auto; right: 4px; transform: rotate(3deg); box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5); }
	body > header > section::after { background: url(soft_wallpaper.png); }
	
	body > header > section > p { font-size: 0.77em; margin: 0 0 0 calc(0.5em / 0.77); padding: 0; }
	body > header > section > ul { flex-direction: column; margin: 0 0.25em 0.25em 0.25em; padding: 0; }
	body > header > section > ul > li { margin: 0.25em; }
	body > header > section > ul > li > span, body > header > section > ul > li > small { display: none; }
	body > header > section > ul > li::before { margin: 0; width: 73px; height: 45px; }
	
	/* IE10 compatibility */
	body > header > section > ul { -ms-flex-direction: column; }
}
@media (min-width: 951px) {
	/* Make room for the switcher and move it there */
	body > aside > nav.newsfeeds { margin-bottom: 170px; }
	body > header > section { position: absolute; z-index: 0; top: 580px; right: 0; }
	
	body > header > section { width: 12.5em; margin: 0; padding: 0.75em 0.75em 0.75em 2.5em; transform: translate(10px, 0) rotate(-7deg); }
	body > header > section::after { background: url(beige_paper.png); }

	body > header > section > p { font-size: 18px; position: absolute; left: 0.25em; top: 1em; margin: 0; padding: 0;
		transform-origin: left top; transform: rotate(-90deg) translate(-100%, 0); }
	body > header > section > ul { margin: -0.25em 0 -0.25em -0.5em; padding: 0; }
	body > header > section > ul > li { margin: 0.5em; }
	body > header > section > ul > li::before { margin: 0; width: 95px; height: 58px; }
	body > header > section > ul > li > small { display: block; }
}


/**
 * Panels
 */
aside > .panel { position: relative; font-family: Schoolbell, sans-serif; font-size: 16px; line-height: 22px; width: 12.5em; margin: 2em 0; padding: 0.75em 0.75em 0.75em 2.5em; }

aside > .panel::before { content: ''; position: absolute; z-index: 1; width: 50%; height: 20%; max-height: 30px; bottom: 10px; left: 4px;
	box-shadow: 0 10px 10px black; transform: rotate(-3deg); }
aside > .panel::after { content: ''; position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; left: 0;
	background: url(beige_paper.png); border-radius: 5px;
	box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.25), 0 0 5px rgba(0, 0, 0, 0.25); }
aside > .panel > * { position: relative; z-index: 3; }
aside > .panel > h2 { position: absolute; left: 0.25em; top: 1em; margin: 0; padding: 0;
	transform-origin: left top; transform: rotate(-90deg) translate(-100%, 0);
	font: normal 18px PermanentMarker, serif; }

aside > .panel > ul { margin: 0; padding: 0; list-style: none; }
aside > .panel > ul > li { margin: 0 0 0.25em 0; padding: 0; }
aside > .panel > ul > li:last-of-type { margin-bottom: 0; }

/* individual panel styles */
aside > .profile.panel { transform: rotate(15deg) translate(0.25em, 1em); }
aside > .profile.panel::before { bottom: 14px; }
aside > .profile.panel p { margin: 0; }

aside > .newsfeeds.panel { transform: rotate(-3deg) translate(0.5em, 0em); min-height: 4.75em; width: 10em; }
aside > .newsfeeds.panel h2 { font-size: 14px; left: 0.5em; }
aside > .newsfeeds.panel p { margin: 0; }

aside > .projects.panel { transform: rotate(5deg) translate(0, -1em); width: 11em; }
aside > .projects.panel > p { font-size: 0.77em; margin: 0.5em 0 0 0; padding: 0; }

aside > .friends.panel { transform: rotate(-15deg) translate(1em, -2em); width: 10em; }
aside > .friends.panel::before { left: auto; right: 6px; transform: rotate(3deg); }

aside > .tags.panel { transform: rotate(1deg) translate(0.75em, -3.5em); padding-left: 0.75em; }
aside > .tags.panel > h2 { z-index: 4; }
aside > .tags.panel > ul::before { content: ''; float: left; display: block; width: 2em; height: 4em; }
aside > .tags.panel > ul > li { display: inline; margin: 0 2px 0 0; padding: 0; }

@media (max-width: 950px) {
	aside { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; }
	aside > .panel { font-size: 13px; line-height: normal; box-sizing: border-box; margin: 0 0 0 0; }
	aside > .panel > h2 { left: 0.125em; top: 0.75em; }
	
	aside > .profile.panel { transform: rotate(3deg) translate(0, 0); }
	aside > .newsfeeds.panel { transform: rotate(-3deg) translate(-1em, 1em); min-height: 6.75em; width: 11em; }
	aside > .projects.panel { transform: rotate(-10deg) translate(0, 0); width: 11em; }
	aside > .friends.panel { transform: rotate(-5deg) translate(0, 0); width: 10em; }
	aside > .tags.panel { flex: 1 0 100%; transform: rotate(0.5deg); }
	aside > .tags.panel::before { bottom: 15px; }

	/* IE10 compatibility */
	aside { display: -ms-flexbox; -ms-flex-pack: justify; -ms-flex-align: start; -ms-flex-wrap: wrap; }
	aside > .tags.panel { -ms-flex: 1 0 auto; width: 100%; }
}


/**
 * Back to top floater
 */
body > aside > a { position: relative; font-family: Schoolbell, sans-serif; font-size: 16px; line-height: 22px; }
body > aside > a::before { content: ''; position: absolute; z-index: -2; width: 90%; height: 20%; max-height: 30px; bottom: 10px; right: 4px;
	box-shadow: 0 10px 10px black; transform: rotate(2deg); }
body > aside > a::after { content: ''; position: absolute; z-index: -1; top: 0; right: 0; bottom: 0; left: 0;
	background: url(beige_paper.png); border-radius: 5px;
	box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.25), 0 0 5px rgba(0, 0, 0, 0.25); }

@media (max-width: 950px) {
	body > aside > a { position: fixed; right: 1.25em; bottom: 1em; margin: 0; padding: 3px 4px; width: 2em; text-align: center;
		border: 1px solid #dfdfdf; border-radius: 5px; background-color: #f7f7f7; box-shadow: 0 0 3px #666; }
	body > aside > a::before { width: 80%; }
	
	body > aside > a { text-transform: capitalize; }
	body > aside > a > span { display: none; }
}
@media (min-width: 951px) {
	body > aside > a { position: sticky; top: 1em;
		display: table; margin: -4em auto 0 auto; padding: 0.5em 1em; }
}


/**
 * Articles
 */
article:not(.comment) { display: block; margin: 0 1em 2em 0; }

article:not(.comment) { position: relative; padding: 20px 15px 15px 15px; background: #f9f9f9 50% 11px url(lined_paper_32.png);
	border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 5px 30px 30px 5px / 5px 5px 5px 5px;
	box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.2), 0 0 7px rgba(0, 0, 0, 0.2); }
article:not(.comment)::before, article:not(.comment)::after { content: ''; position: absolute; z-index: -1; bottom: 14px; width: 50%; height: 50px; max-width: 300px; box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7); }
article:not(.comment)::before { left: 5px; transform: rotate(-2deg); }
article:not(.comment)::after { right: 5px; transform: rotate(2deg); }

article > * { margin-top: 32px; margin-bottom: 32px; }
article > *:first-child { margin-top: 0; }
article > *:last-child { margin-bottom: 0; }

article > header { display: block; margin: 0; padding: 0; }
article > header > h2, article > header > p { margin: 0; padding: 0; }

article > footer { display: flex; flex-wrap: wrap; margin: 0; padding: 0; opacity: 0.75; }
article > footer > p { margin: 0; }
article > footer > p:first-of-type { margin-right: auto; padding-right: 2em; }
article > footer > p:last-of-type {}

/* IE10 compatibility */
article > footer { display: -ms-flexbox; -ms-flex-wrap: wrap; }

@media (max-width: 950px) {
	article:not(.comment) { margin: 0 0 2em 0; }
}
@media (max-width: 450px) {
	article:not(.comment) { margin: 0 0 2em 0; padding: 20px 10px 15px 10px; }
	article > footer { font-size: 0.77em; }
}


/**
 * Special page styles
 */
table.contact th { text-align: left; }
p.archive-notice { text-align: center; }

p.archive-notice, html.profile main, html.archive main, html.projects main > div, html.projects main > p:last-of-type, html.post main > section {
	margin: 0 1em 2em 0; padding: 20px 15px 15px 15px;
	position: relative; background: #f9f9f9 50% 11px url(lined_paper_32.png);
	border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 5px 30px 30px 5px / 5px 5px 5px 5px;
	box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.2), 0 0 10px rgba(0, 0, 0, 0.4); }

@media (max-width: 950px) {
	p.archive-notice, html.profile main, html.archive main, html.projects main > div, html.projects main > p:last-of-type, html.post main > section {
		margin: 0 0 2em 0; padding: 20px 10px 15px 10px; }

}


/**
 * Archive and tag pages (both show a compact list of posts)
 */
html.archive main ol { list-style: none; padding-left: 0; }
html.archive main ol > li { margin: 0 0 32px 0; padding: 0 0 0 3.5em; position: relative; }

html.archive main ol > li > time { position: absolute; left: 1em; top: 8px; font-size: 0.77em; line-height: 17px; text-align: center; }
html.archive main ol > li > time > span.month { display: block; }
html.archive main ol > li > time > span.day {}

html.archive main ol > li > span.title { display: block; font-weight: 400; }
html.archive main ol > li > span.title > small { font-weight: 300; }
html.archive main ol > li > span:not(.title) { font-size: 0.77em; line-height: 27px; }
html.archive main ol > li > span.language { margin-right: 1em; }
html.archive main ol > li > span.comments { }
html.archive main ol > li > span.tags { margin-left: 1em; }

@media (max-width: 450px) {
	html.archive main ol > li > span.title > small { display: block; line-height: inherit; }
}


/**
 * Project styles
 */
html.projects main nav {}
html.projects main nav > ol { margin: 0; padding: 0; list-style: none; }
html.projects main nav > ol > li { margin: 0; padding: 0; }
html.projects main nav > ol > li > h3 { float: left; margin: 0; padding: 0; font: inherit; font-weight: 400; position: static; }
html.projects main nav > ol > li > ol { margin: 0 0 0 3em; padding: 0; list-style: none; }
html.projects main nav > ol > li > ol > li > small { color: gray; }

article.project > header h3 small { font-size: 0.77em; font-weight: 300; color: gray; }
article.project > header p { color: gray; }
article.project > header p > time, article.project > header p > span:first-of-type { margin-right: 1em; }

article.project > footer { display: flex; opacity: 1; }
article.project > footer > section.links { flex: 1 0 33%; }
article.project > footer > section.pictures { flex: 1 1 67%; }
article.project > footer > section > h4 { display: none; }

article.project section.links > ul { margin: 0; padding: 0; list-style: none; }

article.project section.pictures > ul { margin: -0.25em; padding: 0; list-style: none; display: flex; flex-wrap: wrap; }
article.project section.pictures > ul > li { margin: 0.25em; }
article.project section.pictures > ul > li > a { display: block; border-radius: 5px; box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); transition: box-shadow 0.2s; }
article.project section.pictures > ul > li > a:hover, article.project section.pictures > ul > li > a:focus, article.project section.pictures > ul > li > a:active {
	box-shadow: 0 0 15px hsla(240, 60%, 40%, 0.8); }
article.project section.pictures > ul > li > a > img { display: block; border-radius: inherit; }

html.projects main > p:last-of-type { text-align: center; }

@media (max-width: 450px) {
	article.project > header h3 small { display: block; line-height: 32px; position: relative; top: 3px; }
}
@media (max-width: 950px) {
	article.project > header p > span:last-of-type { display: block; margin: 0; }
}

/* IE10 compatibility */
article.project > footer { display: -ms-flexbox; }
article.project > footer > section.links { -ms-flex: 1 0 33%; }
article.project > footer > section.pictures { -ms-flex: 1 1 67%; }
article.project section.pictures > ul { display: -ms-flexbox; -ms-flex-wrap: wrap; }


/**
 * Comments
 */
section#comments > header { display: flex; }
section#comments > header > h3 { margin: 0 auto 0 0; }
section#comments > header > p { margin: 0; padding: 0; }

article.comment { margin: 32px 0 0 32px; }
article.comment > header { display: flex; flex-wrap: wrap; margin-left: -32px; font-weight: 400; }
article.comment > header > a::after { content: '\00a0'; }
article.comment > header > address::before { content: '\00a0'; }
article.comment > header > address { margin-right: auto; font-style: normal; }
article.comment > header > time { font-size: 0.77em; font-weight: 300; }
article.comment > :not(header):first-of-type { margin-top: 0; }

article.comment p { white-space: pre-line; }

@media (max-width: 450px) {
	section#comments > header { flex-wrap: wrap; }
	article.comment { margin-left: 0; }
	article.comment > header { margin-left: 0; }
	article.comment > header > time > span { display: none; }
}

/* IE10 compatibility */
section#comments > header { display: -ms-flexbox; }
article.comment > header { display: -ms-flexbox; -ms-flex-wrap: wrap; }
@media (max-width: 450px) {
	section#comments > header { -ms-flex-wrap: wrap; }
}


/**
 * Styles for the comment form
 */
input, textarea, button {  font: inherit; line-height: inherit; color: hsl(0, 0%, 15%); }
input { margin: 0; padding: 0 0.25em; border: none;
	background: repeating-linear-gradient(transparent 0px, transparent 30px, rgba(0, 0, 0, 0.4) 30px, rgba(0, 0, 0, 0.4) 32px, transparent 32px) 0px -9px, hsla(0, 0%, 97%, 0.63); }
textarea { display: block; box-sizing: border-box; width: 100%; height: calc(32px * 7);
	padding: 2px; margin: -2px 0 calc(32px + 2px) 0; border: none;
	background: repeating-linear-gradient(transparent 0px, transparent 30px, rgba(0, 0, 0, 0.3) 30px, rgba(0, 0, 0, 0.3) 32px, transparent 32px) 0px -7px;
	background-clip: content-box; background-attachment: local; }
button { display: inline; margin: 0; padding: 0; border: none; background: none; cursor: pointer;
	color: hsl(240, 60%, 40%); font-weight: 400;
	text-shadow: 0 0 0 rgba(0, 0, 0, 0); transition: text-shadow 0.2s; }
button:hover, button:focus, button:active { text-shadow: 0 0 1.5em currentcolor; }

input#comment-name { width: 10em; }
input#comment-bet { width: 2.5em; text-align: center; }

section#leave-comment > form > ul { color: hsl(0, 66%, 31%); }
section#leave-comment > form > textarea { margin-left: 0.5em; margin-right: 0.5em; width: calc(100% - 2*0.5em); }
section#leave-comment > form > section { font-size: 0.77em; }
section#leave-comment > form > section kbd { white-space: pre-line; }
section#leave-comment > form > section + p > small::before { content: '\a'; white-space: pre-line; }

@media (max-width: 950px) {
	section#leave-comment > form > section > h4 { /*margin: 32px 0 0 0;*/ }
	section#leave-comment > form > section > p { margin: 0; line-height: 32px; }
}
@media (min-width: 951px) {
	section#leave-comment textarea[name='content'] + section { display: none; }
	section#leave-comment textarea[name='content']:focus + section { display: block; z-index: 1; }
	
	section#leave-comment > form { position: relative; }
	section#leave-comment > form > section { position: absolute; left: calc(100% + 15px + 1em); top: calc(32px * 2 - 12px); width: 200px;
		margin: 0 1em 2em 0; padding: 20px 15px 15px 15px;
		background: #f9f9f9 50% 11px url(soft_wallpaper.png);
		border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 5px 5px 5px 5px;
		box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.2), 0 0 10px rgba(0, 0, 0, 0.4);
		transform: translate(0.25em, -0.5em) rotate(0.5deg); }
	
	section#leave-comment > form > section { line-height: normal; }
	section#leave-comment > form > section > h4 { margin: 0; }
	section#leave-comment > form > section > p { margin: 1em 0 0 0; }
	section#leave-comment > form > section + p { margin-top: calc(10px + 2px); }
}