/* ============================================= kroc camen of camen design ==============================================
   this css is designed for acid2 and above only. there are no ids. no divs. no classes, none. enjoy!
   ----------------------------------------------------------------------------------------------------------------------- */
/* styles shared between browser and printer:
   ======================================================================================================================= */
header, nav, footer, section,	/* convert some html5 elements into structural elements */
 aside,	article, figure		{display: block;}

/* --- document structure ------------------------------------------------------------------------------------------------ */
p				{margin: 0 0 18px;}
section p+p			{text-indent: 2em;}

section small			{/* HTML5 small now means “small print” (i.e. side text / legese) */
				 font-size: 100%; font-family: Georgia, serif; vertical-align: top;}
:not(p)>small			{/* I use <small> as a paragraph itself too; yes, it’s valid */
				 display: block; margin-bottom: 18px;}

/* lists */
ul, ol				{margin: 0 18px 18px 18px; padding: 0;}
dt				{font-weight: bold;}
dd				{margin-bottom: 18px; margin-left: 40px; text-align: justify;}
dt+dt				{/* when a definiton term `<dt>` is given without a definition `<dd>`,
				    then space the two adjacent terms */
				 margin-top: 18px;}

/* images and objects at root (outside a `<p>`), are centered */
section>img, dd>img		{display: block; margin: 0 auto 18px auto !important;}

/* --- headings ---------------------------------------------------------------------------------------------------------- */
h1, h2, h3, h4			{text-align: left;}
h2				{margin-top: 35px !important; border-bottom: 1px solid black;
				 font: normal small-caps 20px/36px Georgia, serif !important; letter-spacing: 1px;}
h3				{font: 18px/18px Georgia, serif;}
h4				{font: italic 16px Georgia, serif;}

/* non small-caps `<em>`s in titles, for fancy “of”, “and”’s &c. */
/* note: `inherit` is used so that captial letters in the HTML source remain so, but the `small-caps` applied is
   effectively ‘switched off’ instead of merely being forced into lower-case, which would remove wanted capitals */
h2 em, h2 code			{font-variant: normal; text-transform: inherit;}

/* monospace at large sizes stands out a bit too much */
h1 code, h2 code, h3 code	{font-size: 0.9em;}

/* don’t italicise citations, it just adds to the confusion */
h1 cite, h2 cite, h3 cite	{font-style: inherit;}

/* drop cap proceeding a title, */
h1+p:first-letter, 
 h2+p:first-letter,		
 hr+p:first-letter,		/* and an `<hr />` */
 small+p:first-letter 		{font: 18px/12px "Apple Chancery", "Palatino Linotype Italic", cursive; letter-spacing: 1px;}

/* hack: I *HATE* having to do this. but when printing, browsers will not download new content, so the print-specific logo
   does not work. I have to hide it on the normal browser view, in order to cache it */
body>header h1 a		{background: url("print-logo(c)camen-design.png") no-repeat -65px -64px;}


/* --- table of contents & numbered headings ----------------------------------------------------------------------------- */
/* use an `<ol>` as the very first element in the blog entry to generate an auto numbered table of contents, plus numbers
   will be added to all the headings that have ids */

/* the toc is floated to the left, where an introductionary paragraph can fit on the right */
h1+ol				{float: left; margin-right: 0px !important; padding: 0 10px 0 0; background-color: inherit;}
				/* when a toc is reached, reset the counters used for numbering. this is recursive */
h1+ol, h1+ol ol 		{padding-left: 0; counter-reset: toc h2 h3; list-style-type: none;}
				/* add the numbering. `counters` is recursive,giving us “1.1”, “1.1.1” &c. */
h1+ol li:before	 		{counter-increment: toc; content: counters(toc, ".") ". ";}
				/* shunt the first numbered heading below the toc */
h1+ol~h2[id]			{clear: left;}

h1+ol a				{text-decoration: none;}

/* heading numbering following a toc */
h1+ol~h2[id]:before		{counter-increment: h2; content: counter(h2) ". ";}
h1+ol~h2[id]			{counter-reset: h3;}
h1+ol~h3[id]:before		{counter-increment: h3; content: counter(h2) "." counter(h3) ". ";}

/* --- inline stuff ------------------------------------------------------------------------------------------------------ */
a img, abbr			{border: 0;}			/* because I’m no longer using a CSS reset */
sup				{vertical-align: text-top;}	/* `<sup>` extends the line-height, don’t do this */
sub				{vertical-align: baseline;}	/* and `<sub>` too */
i				{font-style: normal;}		/* `i` does not mean italic in HTML5, it’s spare */
cite				{font-style: inherit;}

/* for reasons unknown `<samp>` does not align correctly with the baseline and causes the line-height to increase */
/* yes, just `monospace` is correct here, it forces Macs to use Courier and Windows Courier New */
samp, code			{line-height: 0; font-family: monospace;}

/* --- code samples ------------------------------------------------------------------------------------------------------ */
pre				{counter-reset: pre; margin: 0 0 18px 0 !important; padding: 0;
				 font-size: 10px; white-space: normal;}
				/* each line is a code element, used to count line numbers */
pre code			{display: block; margin-left: 24px; padding-left: 4px; border-left: 1px solid #8e8e8e; 
				 white-space: pre-wrap; line-height: 18px;}
pre code:before			{counter-increment: pre; content: counter(pre); /* line number */
				 display: inline-block; width: 14px; margin: 0 5px 0 -25px; padding-right: 5px;
				 font-size: 10px; line-height: 17px; text-align: right;}
pre code, code samp, code var,
 code dfn, code i		{font-style: normal; font-family: Monaco, monospace;}
code dfn			{color: #00f;}		/* function */
code var			{color: #318495;}	/* variable */
code var dfn			{color: #c5060b;}	/* constant */
code samp			{color: #000080;}	/* string */
code samp dfn			{color: #8000ff;}	/* regex */
code i				{color: #008000;}	/* comment */

/* --- typographical-ish ------------------------------------------------------------------------------------------------- */
/* book style insertion points */
ins				{text-decoration: none;}
ins:before			{content: "[";}
ins:after			{content: "]";}

/* book like `<hr />` “thematic break” */
hr				{height: 54px; line-height: 54px; border: 0; text-align: center; color: transparent;}
hr:before			{content: "\2724" " " "\2724" " " "\2724"; color: black; word-spacing: 5em;}

/* plush “et cetera” written in old style: “&c.” */
/* Mac: try for a combined ‘e’ and ‘t’ style, Windows: try match Palatino’s style. “Constantia” is a Vista font */
abbr[title="et cetera"]		{font-family: "Hoefler Text", Palatino,
				              Constantia, "Palatino Linotype", cursive;
				 /* the serif font is smaller than the usual font, so we increase the font-size to level the
				    letters with the surrounding text. line-height is nulled to prevent the 18px-per-line
				    reading rhythm from being broken */
				 font-style: italic; font-size: 1.2em; line-height: 0;}

section blockquote>:only-child	{/* blockquotes are right aligned, unless there’s more than one paragraph in them */
				 text-align: right;}

/* signature */
footer a[rel=contact]		{display: inline-block; text-indent: 0; text-decoration: none;
				 /* cursive: ffx-mac users get beautiful ligatures, windows users get comic sans :| */
				 font: normal 16px/54px "Apple Chancery", Palatino, "Palatino Linotype Italic",
							"Palatino Linotype", Zapfino, cursive;
				 /* these adjustments are for the mail icon added by the links section above */
				 margin-left: -18px; padding-left: 18px; border-bottom: 0 !important;
				 background-repeat: no-repeat; background-position: 1px 50%;}

/* --- photo ------------------------------------------------------------------------------------------------------------- */
/* this is used to centre art/photos if they are smaller than the preview size */
article				{text-align: center;}
article>*			{text-align: justify;}
article>h1+section p+p		{text-indent: 0;}

/* don’t display the title if none given */
article>h1:empty		{display: none;}

/* the photo hyperlink. `line-height: 0` is needed to remove some magic-space below the `<a>` */
section>figure>a		{display: block; line-height: 0; text-align: center;}

/* without a comment, the border fits tightly around the image, and you don’t get space */
section>figure+*		{padding-top: 18px !important; margin-top: 0 !important;}
/* if there’s no comment, hide the signature */
section>figure+footer		{display: none;}

/* --- tweet ------------------------------------------------------------------------------------------------------------- */
/* use ornate quotes on tweets. Safari doesn’t seem to support `quotes:` so we have to use `before`, `after`.
   sorry Windows users, if you can’t handle a bit of unicode, that’s your problem, not mine */
blockquote q:before		{content: "\275B";}
blockquote q:after		{content: "\275C";}

/* emphasis in tweets (already italic) */
article>blockquote em		{text-decoration: underline;}
article>blockquote code		{font-style: normal;}

/* --- poem -------------------------------------------------------------------------------------------------------------- */
article>p			{text-align: center; font: 14px/18px Palatino, "Palatino Linotype", Serif;}



@media screen, projection { /* / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / */

/* === structure, tag defualts =========================================================================================== */
/* background colour cannot be applied to `<body>` when serving as ‘application/xhtml+xml’ */
html 				{background: #93a3b9 url("backgrounds/html-bg.png") no-repeat fixed top center;}
body				{/* a strict reading-rhythm is maintained, every line is always 18px or a multiple thereof
				    <alistapart.com/articles/settingtypeontheweb> */
				 width: 950px; margin: 0 auto;
				 font: normal 12px/18px "Helvetica Neue", Helvetica, Arial, sans-serif; color: #222;}

a				{text-decoration: none;}
a:hover				{text-decoration: underline;}

ul, ol, dd			{font-size: 11px;}


/* === header ============================================================================================================ */
/* logo. this is a bit of a hack, as the logo does not appear in the side pane in the HTML, but appears there visually */
body>header h1			{position: fixed; width: 65px; height: 36px; margin: 18px 0 18px 40px; z-index: 1;
				 text-indent: -1000px; background: url("logo(c)camen-design.png") no-repeat;}
body>header h1 a		{display: block; width: 65px; height: 36px;}

/* --- tag cloud --------------------------------------------------------------------------------------------------------- */
header+nav			{/* lock the pane to the side when scrolling */
				 position: fixed; height: 100%; width: 130px; 
				 /* this trick gives us a wide background colour extending off the left, so that the page
				    appears to be divided into an orange half and a blue half (even when the window is
				    resized), without using a wide background-image */
				 margin-left: -1600px; padding: 72px 70px 0 1600px; border-right: 3px solid #eaeeeb;
				 background: #be6718 url("backgrounds/aside-bg.png") no-repeat top right;}

/* add the tag count to the right of the tag, left aligned so that 10 doesn’t shunt the tags out compared to 0-9 &c. */
header+nav ol			{margin: 0 18px 18px 18px !important;}
header+nav li			{text-align: right;}
header+nav li:after		{content: " \00B7" " " attr(value); /* bug: a space after the hex number is ignored */
				 display: inline-block; width: 2.3em; margin-left: 3px; text-align: left;}
header+nav li:hover:after	{content: " \00b7" " \25B6";}

header+nav a			{color: #740}
header+nav a[rel=tag]		{color: #fcfcfc;}	/* ‘you are here’ */

/* --- header links: html, css, php &c. ---------------------------------------------------------------------------------- */
body>header>ul			{float: right; width: 110px; margin: 18px 0 18px 10px; padding: 0;
				 list-style: square inside; color: #235;}
body>header>ul+ul		{width: auto; margin-left: 10px;}
body>header>ul li		{float: left; width: 40px; font-size: 10px;}
body>header>ul+ul li		{text-align: right;}

/* hyperlink colour, also colours the prev/next page links */
body>header a, body>nav~nav a	{color: #456;}


/* === content layout / meta ============================================================================================= */
/* no div for the column, all the content sits at the body level! `position: relative` is used so that you can click-through
   to the links in the side pane, below the main ‘column’ elements */
body>nav~*			{position: relative; clear: both; width: 710px; left: 120px;}

/* previous page link tucks in at the top (we have to override a lot of styles from the sidepane unfortunately) */
body>nav~nav			{position: absolute; left: auto; width: 430px; height: 18px; margin: 0 0 0 260px;
				 padding: 18px 0; border: 0; text-align: center; background: none;}

/* next page link at the bottom of the page, this is just in addition to the declaration above */
body>nav+*~nav			{position: relative;}

article>aside,			/* date/tag-list aside the entry */
 form>aside			{float: right; width: 110px; margin-right: -120px;}

/* --- datetime ---------------------------------------------------------------------------------------------------------- */
/* beautiful css dates! you’ll love the html too, `<time>` is purely semantic and could be removed
   you could use a class, I’m using a rel attribute that means “permalink” */

a[rel~=bookmark]		{display: block; position: relative; width: 60px; margin-bottom: 18px;
				 border: 1px solid #888885; -moz-border-radius: 5px; -webkit-border-radius: 5px;
/* day */			 font-size: 24px; line-height: 35px; text-align: center; letter-spacing: 2px;
				 color: #666; background: #fcfcfc url("backgrounds/h1-bg.png") repeat-x left 18px;}
a[rel~=bookmark] sup		/* lift the suffix, so that the number is fully centered */
				{position: absolute; padding-top: 4px;
				 font-size: 10px; line-height: 10px; letter-spacing: normal;}

/* year + month */
a[rel~=bookmark] abbr		{display: block; font: 10px Verdana, sans-serif; letter-spacing: 0; color: white;
				 -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px;}
/* month */
a[rel~=bookmark]>:first-child	{width: 50px; margin: -1px 0 0 -1px; padding: 0 5px; border: 1px solid #832a28 !important;
				 line-height: 16px; text-align: left; text-transform: uppercase;
				 background: #a33537 url("backgrounds/time-bg.png") repeat-x bottom left;}
/* year */
a[rel~=bookmark] sup+abbr	{position: absolute; top: 0; left: 0; width: 52px; padding: 0 3px;
				 border: 1px solid #a33537; border-bottom: 1px solid #832a28;
				 line-height: 14px; color: #eaa; text-align: right;}
/* time */
a[rel~=bookmark] sub		{display: none; height: 17px; border-top: 1px solid #bbd; margin: 0 3px;
				 font: 9px/16px Verdana, sans-serif; letter-spacing: 0; text-align: center; color: #aac;}

a[rel~=bookmark]:hover,		/* since the date is the permalink, add a focus rectangle around it when hovering */
 a[rel~=bookmark]:focus		{margin-bottom: 0; text-decoration: none;
 /* Webkit > */			 outline: auto 5px -webkit-focus-ring-color; outline-offset: -2px;
 /* Gecko > */			 -moz-outline: -moz-mac-focusring solid 2px; -moz-outline-radius: 0 7px 7px; 
				 -moz-outline-offset: 0;}
a[rel~=bookmark]:hover sub,	/* show the time on mouse-over / keyboard-focus */
 a[rel~=bookmark]:focus sub	{display: block;}

/* --- tags -------------------------------------------------------------------------------------------------------------- */
article>aside a			{color: #047;}

/* style shared with the side-pane tags */
aside ul, nav ol		{list-style: none; font-size: 9px; margin-left: 0; font-family: "Lucida Grande", sans-serif;}

article>aside li:before		{content: "\00B7" " "; display: inline-block; width: 10px; text-align: center;}
article>aside li:hover:before	{content: "\25C0" " ";}

/* --- entry footer ------------------------------------------------------------------------------------------------------ */
article>footer			{margin: 0 -110px 0 0;}
article>footer p		{float: left; height: 18px; margin-left: 60px;}

/* --- licence ----------------------------------------------------------------------------------------------------------- */
article>footer small		{font-size: 12px; font-family: Helvetica, Arial, sans-serif;
				 vertical-align: top; color: #740;}
article>footer small+small	{color: #457; font-size: 10px; font-family: "Trebuchet MS", sans-serif;}

article>footer small a		{opacity: 0.65;}
article>footer small a:hover	{opacity: 1.0;}
footer
 abbr[title="Creative Commons"]	{color: transparent; background: url("icons/licences.png") no-repeat top left;}
article>footer
 abbr[title="Attribution"]	{color: transparent; background: url("icons/licences.png") no-repeat -12px top;}
article>footer
 abbr[title="Creative Commons"]
 +abbr				{margin-left: 14px;}

article>footer>:first-child a	{margin-right: 10px; text-decoration: none; vertical-align: middle;}



/* =======================================================================================================================
                                                        C O N T E N T
   ======================================================================================================================= */
/* first, styles shared between the various content-types (blog | tweet | art &c.) */

/* a <section> element is used for any blog-like content; used for blogs—obviously—but also for descriptions on photo/art */
section				{margin: 0 auto 17px auto; 
				 font: 200 12px/18px "Verdana", sans-serif; border: 1px solid #888885;
				 -webkit-box-shadow: 0 0 15px rgba(0,0,0,.15); -moz-box-shadow: 0 0 15px rgba(0,0,0,.15);
				 background: #fcfcfc url("backgrounds/article-bg.png") repeat-x bottom left;}
/* the content doesn’t have padding so that elements can touch the edge if they want to, this sets a default margin around
   all elements down the content entry */
section>*			{margin: 0 29px 18px 29px;}


/* === reference markup ================================================================================================== */
section blockquote		{font-size: 16px; font-family: Georgia, serif; padding: 17px 0; 
				 border-top: 1px solid black; border-bottom: 1px solid black;}
section blockquote:before	{content: "\201C"; color: #93a3b9; font-size: 72px; font-family: Verdana; line-height: 54px;}
section blockquote p		{position: relative; top: -77px; padding: 18px 20px 0 30px; margin: 0;}
section blockquote>:last-child	{margin-bottom: -77px;}

/* blockquotes inside lists don’t need the margins either side, they’re provided by the list */
dd>blockquote, li>blockquote	{margin-left: 0; margin-right: 0;}

/* --- abbreviations / acronyms ------------------------------------------------------------------------------------------ */
/* when you hover over a text-block containing `abbr` elements, they are highlighted to show you where they are.
   the complexity here is because I have to avoid `ul/ol` & `dl` elements: I don’t want all abbreviations appearing for the
   whole list, just each list item */
article>:not(header):not(footer)>*:not(ol):not(ul):not(dl):hover abbr[title],
 dl>*:hover abbr[title], li:hover abbr[title],
 p:hover abbr[title]		{border-bottom: 1px dotted #666; cursor: help;}

/* floaty abbrreviations:
   `section` (blog) / `blockquote` (tweet) have to be selected to avoid abbr elements in date / footer &c.
   this CSS effect requires absolute positioning on generated content (i.e. `:before`), it won’t work in Firefox 3, but will
   work in Firefox 3.5 and Safari 3, 4. we therefore need a way to ignore Firefox 3.0, but allow v3.5 and Safari, tricky!
   the solution is simple -- Firefox 3.0 does not support `:nth-child`, but 3.5 does as well as Safari! */

/* the abbreviation itself */
section abbr:nth-child(n)[title]:hover, blockquote abbr:nth-child(n)[title]:hover
				{position: relative; padding: 1px 5px; margin: -2px -6px;
				 color: #235; line-height: inherit; border: 1px solid #93a3b9 !important;
				 -moz-border-radius: 0 50% 50% 0; -webkit-border-top-right-radius: 8px;
				 -webkit-border-bottom-right-radius: 8px; -webkit-box-shadow: -1px 2px 1px rgba(0,0,0,.5);
				 -moz-box-shadow: -1px 2px 1px rgba(0,0,0,.5); background-color: #93a3b9;}

/* the abbreviation description */
section abbr:nth-child(n)[title]:hover::before, blockquote abbr:nth-child(n)[title]:hover::before
				{content: attr(title); position: absolute; display: block;
				 height: 100%; top: -1px; right: 100%; padding: 0 5px 0 7px;
				 color: #456; white-space: nowrap; text-indent: 0; border: 1px solid #c3d3e7;
				 -moz-border-radius: 50% 0 0 50%; -webkit-border-top-left-radius: 8px;
				 -webkit-border-bottom-left-radius: 8px; -webkit-box-shadow: -1px 2px 1px rgba(0,0,0,.5);
				 -moz-box-shadow: -1px 2px 1px rgba(0,0,0,.5); background-color: #c3d3e7;}


/* === code / pre ======================================================================================================== */
pre				{background-color: #dedede;}
pre code			{background-color: #eee;}
pre code:before			{color: #888; background-color: #dedede;}


/* === links ============================================================================================================= */
section>:not(figure)		/* `>:not(figure)` excludes images/signature because they are not inside a <p/li/dd> &c. */
a:not([rel~=external]		/* links to places within my website are dotted instead of solid */
):not([href^="mailto:"])	{text-decoration: none; border-bottom: dotted 1px;}

section	a[rel~=external],	/* external links have a standard style */
 section a[href^="mailto:"]	{text-decoration: underline;}

/* --- download links ---------------------------------------------------------------------------------------------------- */
/* direct links to files, instead of webpages, are prefixed with an icon */
section>:not(figure) a[type]	{display: inline-block;
				 height: 17px; padding: 0 5px; text-indent: 20px; text-decoration: none;
				 border-bottom: 0 !important; -moz-border-radius: 4px; -webkit-border-radius: 4px;
				 background-color: #dedede; background-repeat: no-repeat; background-position: 5px 50%;}
section>:not(figure)
 a[type]:hover			{background-color: #eea;}

/* fallback icons. see Firefox-specific fixes section also, Firefox users get native icons from the OS
   silk-*	Silk icons © Mark James <famfamfam.com/lab/icons/silk> (cc-by)
   fugue-*	Fugue icons © Yusuke Kamiyamane <pinvoke.com> (cc-by)
*/
section a[type]	s		{background-image: url("icons/document.png");}	/* any filetype not listed here */
section a[href$=".gif"],
 section a[href$=".jpg"],	/* pictures */
 section a[href$=".png"]	{background-image: url("icons/fugue-images.png");}
section a[href$=".pdf"]		{background-image: url("icons/fugue-document-pdf-text.png");}
section a[href$=".txt"]		{background-image: url("icons/fugue-document-text.png");}
section a[href$=".css"]		{background-image: url("icons/silk-css.png");}
section a[href$=".js"]		{background-image: url("icons/silk-page_white_gear.png");}
section a[type][href$=".php"]	{background-image: url("icons/silk-page_white_php.png");}
section a[href$=".zip"]		{background-image: url("icons/fugue-document-zipper.png");}
section a[href$=".exe"]		{background-image: url("icons/silk-application_xp_terminal.png");}



/* this loose setting of a background image affects the photo/art section,
   however it’s easier to override than lengthen all of those css selectors above */
figure>a			{background-image: none !important;}

/* --- external link icons ----------------------------------------------------------------------------------------------- */
/* external links show an image/favicon when floated over. this icon from Wikipedia */
a:not([type])[rel~=external]	{background: url("icons/external.png") no-repeat 1px 50%;}

/* the odd line-breaking here is because :not does not work when broken in certain places, differing between Opera/Firefox */
a[rel~=external]:not([		/* hide favicon image when not hovering on the link (whilst keeping the image on standby) */
type]):not(:hover) 		{background-image: none;}
section a[href^="mailto:"]:hover,
a[rel~=external]:not([		/* when you hover over the link, jut the favicon over the left side */
type]):hover 			{margin-left: -18px; padding-left: 18px; background-color: #fcfcfc;}

/* some icons for common websites I link to, to give the user a heads up of what kind of content they’re going to get.
   the `:hover` is only required by Safari to prevent it preloading these */
a[href*="apple."]:hover		{background-image: url("icons/apple.png");}
a[href*="archive.org"]:hover	{background-image: url("icons/archive.png");}
a[href*="deviantart."]:hover	{background-image: url("icons/deviantart.png");}
a[href*="google."]:hover	{background-image: url("icons/google.png");}
a[href*="osnews."]:hover	{background-image: url("icons/osnews.png");}
a[href*="php.net"]:hover	{background-image: url("icons/php.png");}
a[href*="slashdot."]:hover	{background-image: url("icons/slashdot.png");}
a[href*="tinyurl."]:hover	{background-image: url("icons/tinyurl.png");}
a[href*="wikipedia."]:hover	{background-image: url("icons/wikipedia.png");}
a[href*="youtube."]:hover	{background-image: url("icons/youtube.png");}

/* icons for other protocols */
article a[href^="mailto:"]:hover{background-image: url("icons/silk-email.png"); background-repeat: no-repeat;}
a[href^="itms:"]:hover		{background-image: url("icons/itms.png");}


/* =======================================================================================================================
   blog / code
   ======================================================================================================================= */
/* a blog is just a `<section>`
	<section>
		<h1>title</h1>
		content...
	</section>
*/
/* --- title ------------------------------------------------------------------------------------------------------------- */
section h1			{padding: 23px 16px 0 69px; margin: 1px 1px 29px 1px;
				 font: 100 27px/36px Georgia, serif; color: #3b3d3f;
				 background: url("backgrounds/h1-bg.png") repeat-x;}

/* fancy drop-cap. firefox won’t allow any way to set a fixed width though :(,
   see the Firefox-specific fixes section further down; FF doesn’t support `outline` on `:first-letter` */
section h1:first-letter		{float: left; min-width: 1em; margin: -6px 0.1em 0 -53px; padding: 0.5em 0.4em;
				 line-height: 0.7em; color: white; text-align: center; text-shadow: 0 0 2px rgba(0,0,0,0.25);
				 border: 1px solid #fcfcfc; outline: 1px solid #e1e1e1; background-color: #e57d1f;}

/* --- images ------------------------------------------------------------------------------------------------------------ */
/* frame images */
/* (images that are exactly 640px wide have no frame) */
section>img:not([width="640"]),
     dd>img:not([width="640"])	{background-color: white; padding: 17px; border: 1px solid #888885;
				 -moz-border-radius: 8px; -webkit-border-radius: 8px;}

/* --- video ------------------------------------------------------------------------------------------------------------- */
/* see <camendesign.com/code/video_for_everybody> for how to embed video properly */
video, object			{display: block; clear: left; margin: 0 auto;}


/* --- enclosure --------------------------------------------------------------------------------------------------------- */
/* also see Firefox-specific fixes at the bottom. Firefox uses the native file-type icons from the OS */
section>footer a[type]		{display: block; float: right; margin-top: 18px; text-indent: 0; text-align: right;}


/* --- signature --------------------------------------------------------------------------------------------------------- */
footer a[rel=contact]		{display: inline-block; text-indent: 0; text-decoration: none; color: #888885;
				 /* cursive: ffx-mac users get beautiful ligatures, windows users get comic sans :| */
				 font: normal 16px/54px "Apple Chancery", "Zpafino", "Palatino Linotype Italic", cursive;
				 /* these adjustments are for the mail icon added by the links section above */
				 margin-left: -18px; padding-left: 18px; border-bottom: 0 !important;
				 background-repeat: no-repeat; background-position: 1px 50%;}
footer a[rel=contact]:hover	{text-decoration: underline;}


/* =======================================================================================================================
   photo / art
   ======================================================================================================================= */
/* a photo is a section, containing a `<figure>` (the enclosure)
	<h1>title</h1>
	<section>
		<figure>
			<legend>filename</legend>
			<img />
		</figure>
		content...
	</section>
*/
article>h1			{margin: 18px 0; text-align: center; color: #446;
				 font: normal 16px/18px "Apple Chancery", "Zapfino", "Palatino Linotype Italic", cursive;}

article>h1+section>:first-child	{margin: 0 !important; padding: 0;}
article>h1+section		{display: inline-block; max-width: 648px; font-size: 11px;}

/* the legend for photo/art contains the filename/size and appears on mouseover:
   see also Firefox-specific fixes at the bottom */
section>figure legend		{display: table-row; position: relative; width: 100%; padding: 0; text-align: right;}
section>figure legend a		{display: none; position: relative; float: right;
				 margin-bottom: -21px; padding: 3px 5px 0 8px; background-color: #eea;
				 font-size: 11px; text-decoration: none; color: #aa5; text-align: right; 
				 -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px;
				 /* the file-type icon is already set as background by the “links” section of this css */
				 text-indent: 20px; background-repeat: no-repeat; background-position: 5px 50%;}
section>figure:hover legend a	{display: block;}
section>figure>a		{padding: 4px;}
section>figure:hover>a		{background-color: #eea;}


/* =======================================================================================================================
   tweet
   ======================================================================================================================= */
/* a tweet is just a blockquote
	<blockquote><p>
		content...
	</p></blockquote>
*/
article>blockquote		{margin: 0 40px 18px;border: 1px solid #888885;
				 -moz-border-radius: 5px; -webkit-border-radius: 5px;
				 -webkit-box-shadow: 0 0 15px rgba(0,0,0,0.15); -moz-box-shadow: 0 0 15px rgba(0,0,0,0.15);
				 background: #c3d3e7 url("backgrounds/blockquote-bg.png") repeat-x left bottom;}

/* insert an ornament in the corner. todo: do this as an image, too many browsers break */
article>blockquote:before	{content: "\F09A"; font: normal 28px/28px Wingdings; color: #93a3b9; margin-left: 6px;}
article>blockquote p		{position: relative; top: -28px; margin: 0 1px -45px 1px; padding: 16px 28px 17px 28px;
				 font: italic 14px/18px Georgia, sans-serif; color: #252e3b;
				 background: url("backgrounds/blockquote-p-bg.png") repeat-x;}
/* insert speech bubble ‘quip’ underneath */
article>blockquote:after	{display: block; margin: 17px 30px -18px 0; height: 18px;
				 content: url("backgrounds/tweet-quip.png"); text-align: right;}


/* =======================================================================================================================
   poem
   ======================================================================================================================= */
/* a poem is an H1 followed by paragraphs:
	<h1>title</h1>
	<p>content</p>
	<p>...</p>
*/
article>p			{color: #557;}



} /* < end of @media / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / */



/* === Firefox-specific fixes ============================================================================================ */
/* have to be done here because you can’t combine `@media` and `@-moz-document` */
@-moz-document url-prefix() {

/* --- file hyperlink icons ---------------------------------------------------------------------------------------------- */
/* Firefox users will get their own native icons from their OS */
section a[type]			{background-image: url("moz-icon://.?size=16");}	/* any filetype not listed here */
section a[href$=".gif"]		{background-image: url("moz-icon://.GIF?size=16");}
section a[href$=".jpg"]		{background-image: url("moz-icon://.JPG?size=16");}
section a[href$=".png"]		{background-image: url("moz-icon://.PNG?size=16");}
section a[href$=".pdf"]		{background-image: url("moz-icon://.PDF?size=16");}
section a[href$=".txt"]		{background-image: url("moz-icon://.TXT?size=16");}
section a[href$=".css"]		{background-image: url("moz-icon://.CSS?size=16");}
section a[href$=".js"]		{background-image: url("moz-icon://.JS?size=16");}
section a[type][href$=".php"]	{background-image: url("moz-icon://.PHP?size=16");}
section a[href$=".zip"]		{background-image: url("moz-icon://.ZIP?size=16");}
section a[href$=".dmg"]		{background-image: url("moz-icon://.DMG?size=16");}
section a[href$=".exe"]		{background-image: url("moz-icon://.EXE?size=16");}

/* --- blog H1:first-letter ---------------------------------------------------------------------------------------------- */
/* firefox will not apply outline to `:first-letter`, this has to be emulated with multiple border colours */
section h1:first-letter		{border-width: 2px !important;
				 -moz-border-top-colors:   #e1e1e1 #fcfcfc; -moz-border-bottom-colors: #e1e1e1 #fcfcfc;
				 -moz-border-right-colors: #e1e1e1 #fcfcfc; -moz-border-left-colors:   #e1e1e1 #fcfcfc;}

/* --- enclosure icon ---------------------------------------------------------------------------------------------------- */
/* Firefox users get a larger file type icon using the native icons from the OS */
section>footer a[type]		{height: 20px; margin-top: 0px; padding-top: 16px; padding-right: 40px;
				 background: url("moz-icon://.?size=32") no-repeat 100% 2px;}
section>footer a[href$=".pdf"]	{background-image: url("moz-icon://.PDF?size=32");}
section>footer a[href$=".txt"]	{background-image: url("moz-icon://.TXT?size=32");}

section>footer a[href$=".css"]	{background-image: url("moz-icon://.CSS?size=32");}
section>footer a[href$=".js"]	{background-image: url("moz-icon://.JS?size=32");}
section>footer a[href$=".php"]	{background-image: url("moz-icon://.PHP?size=32") !important;}

section>footer a[href$=".zip"]	{background-image: url("moz-icon://.ZIP?size=32");}
section>footer a[href$=".dmg"]	{background-image: url("moz-icon://.DMG?size=32");}
section>footer a[href$=".exe"]	{background-image: url("moz-icon://.EXE?size=32");}
section>footer a[type] i	{display: block; height: 18px; position: relative; top: -34px; font-size: 10px;}

/* --- photo/art legend -------------------------------------------------------------------------------------------------- */
/* Firefox 3-final (but not the RCs) broke `display: block` for `<legend>`, and only `table-row` would work,
   which added magic-space above and took a lot of hacking to fix >:[ */
h1+section>figure>a		{margin-top: -5px; margin-bottom: -13px;}
h1+section>figure		{position: relative; top: -13px;}

}



/* =======================================================================================================================
                                                       P R I N T I N G
   ======================================================================================================================= */
/* there are *so* many bugs and faults with CSS print rules in general that I had to concede defeat
   here were my goals:
 • print stylesheet only downloaded when printing - never waste a http-request for the 99.9% of users viewing in the browser
 • never override - there’s half of ton of styles on this site, print styling should start from scratch, easy to maintain

   here’s a list of the problems:
 • `<link ... media="print" />` gets downloaded, even if you’re not printing - waste of bandwidth and a http-request. no go
 • `@import "..." print;` gets downloaded even if not printing, again unnacceptable for me
 • `@media print { @import ... }` despite avoiding a http-request, causes Safari to ignore *all* CSS entirely!

 therefore, I am left no option but to append the print styles to the end of the main sheet. a waste of bandwidth for users,
 but since this stylesheet is gzipped, the size difference should be barely noticable
 -------------------------------------------------------------------------------------------------------------------------
 this print css is incomplete and *very* rough. whilst the browser view follows an 18px per-line rhythm, I realised that
 ideally I’d want to print using a 5mm per-line rhythm (ruled paper), which is 19px at the standard 72dpi. in order to
 make this whole printer/browser css much more organised, I’d have to convert the browser view to a 19px rhythm. too much
 work right now, and I’ll solve that problem when I redesign, so excuse the general untidyness of my CSS for the moment
*/
@media print {  /* / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / */

html, body			{margin: 0 6px; padding: 0;
				 /* a printer is not bound by pixels, so we should use ‘real’ measurements */
				 font: normal 3.6mm/5mm Helvetica, Arial, sans-serif; text-align: justify;}

body>header>ul, body>header+nav,/* hide junk not needed on a printout: */
 body>nav~nav,			/* • next/previous links */
 h1+section>figure>legend,	/* • filename on photo/art */
 section>footer a[type]		/* • enclosure */
				{display: none;}

/* hyperlinks are not much use on paper. maybe one day there’ll be an ‘e-paper’ media type :P */
a				{text-decoration: none; color: inherit;}

/* site logo / title */
body>header>h1			{height: 28.6mm; margin: 0; padding: 0;
				 font: normal 1cm/.75cm "Century Gothic", "Trebuchet MS", sans-serif;
				 text-align: right; text-transform: capitalize;}
body>header>h1:after		{content: url("print-logo(c)camen-design.png"); padding-left: 3mm;
				 vertical-align: -.9cm; /* < for the benefit of Safari */}

/* article footer */
article				{margin-bottom: 36px;}
article>footer			{border-top: .6mm solid black; text-align: right;}
article:last-of-type,		/* no over-hanging margin on the very bottom of the page */
 article:last-of-type>footer p	{margin-bottom: 0;}
/* for articles, start each on a new page */
article>section+footer		{page-break-after: always;}

/* article meta: date, tags */
article>aside			{border-top: 1.4mm double black; border-bottom: .6mm solid black;
				 font: 3mm/5mm Georgia, serif;}
article>aside>time		{height: 5mm; float: left;}
article>aside>time sub		{font-size: 100%;}
/* change tag bullet list into inline list */
article>aside ul		{margin: 0; text-align: right;}
article>aside ul:before		{content: "topics: ";}
article>aside li		{display: inline;}
				/* commas between tags */
article>aside li:after		{content: ", ";}
article>aside			/* except the last one */
 ul>:last-child:after		{content: "";}


/* section titles */
article h1			{margin: 0; padding: 0; border-bottom: 1.4mm double black;
				 font: 6.7mm/1cm Georgia, serif; vertical-align: middle;}
h1+section>:not(figure),
 h1+p, h1+small,
 h1+ol, h1+ol+*			{margin-top: 4.4mm;}
/* toc */
h1+ol				{background-color: white; margin-left: 0;}

h2, h3, h4			{page-break-after: avoid; /* no support for this in Firefox */}

/* thin line underneath photo/art */
figure+*:not(footer)		{border-top: .3mm solid black;}

/* quotes are spoken poshly */
blockquote			{font-family: Georgia, serif; font-style: italic;}
section blockquote		{padding: 0; margin: 18px 0; border-left: 1px solid black; border-right: 1px solid black;}
section blockquote p		{padding: 0 30px 18px 30px; margin: 0;}

/* pre blocks */
pre				{border-bottom: .3mm solid black; border-top: .3mm solid black;}
h1+pre				{border-top: 0;}
pre>code			{border-bottom: .3mm dotted;}
pre>code:last-child		{border-bottom: none;}

/* don’t split images over pages, duh. very little browser support for this atm */
img				{page-break-inside: avoid;}

/* signature */
footer a[rel=contact]		{margin-bottom: 18px;}

/* undo the firefox-specific overrides. only because @-moz-document can’t be combined with @screen */
section a			{background-image: none !important;}
h1+section>figure>a		{margin-top: 0; margin-bottom: 0; background-image: none !important;}
h1+section>figure		{top: 0;}
legend a			{background-image: none !important;}

} /* ===================================================================================================== code is art === */