/*html, body
{
	margin:0;
	padding:0;
	background:#f5f5f5;
	color:#444;
	font:normal normal normal 100%/1.4 georgia, serif;
}*/



/*h2, h3, h4 {
	margin:.2em 0;
	font-family:Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
}*/

figure
{
	display:block;
	margin:1em 0 5em 0;
	border:1px solid #ccc;
	border-radius:3px;
	background:#eee;
}

figure figcaption
{
	display:block;
	padding:5px 10px 4px 10px;
	border-bottom:1px solid #ccc;
	border-radius:3px 3px 0 0;
	font-weight:bold;
	background:#ddd;
	color:#777;
}



pre, pre *
{
	font:normal normal normal 1em/1.4 monaco, courier, monospace;
}
pre
{
	font-size:0.8em;
}
pre, pre code, pre samp
{
	display:block;
	margin:0;
	cursor:text;
}
pre code, pre samp
{
	/* enforce white-space for IE7 */
	white-space:pre;
	
	/* enforce word-wrap for mobile safari */
	word-wrap:normal;
	
	padding:10px;
	-moz-tab-size:4;
	-o-tab-size:4;
	tab-size:4;
	overflow-x:auto;
}

/* additional focus rules to provide a visual cue */
pre [contenteditable]:focus
{
	border-radius:0 0 3px 0;
	background:#fff;
	outline:none;
	box-shadow:inset 0 1px 4px 1px rgba(0,0,0,0.5);
}

pre.line-numbers
{
	position:relative;
}
pre.line-numbers code, 
pre.line-numbers samp
{
	margin-left:3em;
	border-left:1px solid #ccc;
}

pre.line-numbers > div
{
	display:block;
	position:absolute;
	top:0;
	left:0;
	height:100%;
	border-radius:0 0 0 3px;
	background:#e5e5e5;
	overflow:hidden;
	counter-reset:line;
}

pre.line-numbers > div > span
{
	display:block;
	width:2.5em;
	padding:0 0.5em 0 0;
	text-align:right;
	color:#777;
	overflow:hidden;
	counter-increment:line;
}
pre.line-numbers > div > span::before
{
	content:counter(line);
}
pre.line-numbers > div > span:first-child
{
	margin-top:10px;
}
pre.line-numbers > div > span:nth-child(odd)
{
	background:#dfdfdf;
}

@media print
{
	pre code
	{
		overflow-x:visible;
		white-space:pre-wrap;
	}
	pre.line-numbers div
	{
		display:none;
	}
	pre.line-numbers > code, 
	pre.line-numbers > samp
	{
		margin-left:0;
	}
}