/* -------------------- CSS Styles -------------------- */

/* -------------------- Typography -------------------- */

html, body, div, ul, li {
	margin: 0;
	padding: 0;
	}
	
body {
	font: .75em/1.5em "Helvetica Neue", Helvetica, "Myriad Pro", Arial, Verdana, sans-serif
	}

	/* -------------------- Block Elements -------------------- */
	
	p, ul {
		margin: .3em 0 .5em 0;
		}
		p+p {
			margin-top: .7em;
			}

	hr { 
		margin: 1.8em 0;
		padding: 0;
		border: 0 none;
		border-top: 1px dashed #3984cf;
		height: 1px;
		}

	/* -------------------- Headlines -------------------- */
	
	h1, h2, h3, h4, h5, h6 {
		font-family: "Myriad Pro", "Helvetica Neue", "Lucida Grande", Helvetica, Arial, Verdana, sans-serif;
		padding: 0;
		text-shadow: rgba(0,0,0,.2) 0 2px 1px;
		}
	
	h1 { font-size: 2.0em; line-height: 1.1em; }
	h2 { font-size: 1.8em; line-height: 1.2em; }
	h3 { font-size: 1.6em; line-height: 1.2em; }
	h4 { font-size: 1.4em; line-height: 1.1em; }
	h5 { font-size: 1.2em; line-height: 1.1em; }
	h6 { font-size: 1.1em; line-height: 1.2em; }
	
	h1, h2 {
		margin: .6em 0 .3em 0;
		font-weight: normal;
		color: #0c50bd; // 3984cf;
		}
	
	h3, h4 {
		margin: .8em 0 .3em 0;
		font-weight: normal;
		color: #1981e1; // 629edb;
		}
	
	h5, h6 {
		margin: 1em 0 .1em 0;
		font-weight: bold;
		color: #1470db; // 215a93;
		}
	
	/* -------------------- Links -------------------- */
	
	a, a:visited {
		text-decoration: none;
		color: #f9a03a;
		}
		a:hover {
			text-decoration: underline;
			color: #fa6039;
			}
	
	a img {
		border: none;
		}
	
	/* -------------------- Quotes -------------------- */
	
	blockquote {
		font-size: 1.1em;
		padding: 1em 1.4em .5em 1.4em;
		margin: 1.2em 1.6em;
		background-color: #e9f1f4;
		border-left: 5px #b5d0dc solid;
		}
	
	/* -------------------- Code / Mono -------------------- */
	
	code, kbd, samp, pre, tt, var { font-size: 92%; font-family: monaco, "Lucida Console", courier, mono-space; }
	
	/* -------------------- Tables -------------------- */
	
	table {
		border-collapse: collapse;
		border-spacing: 0;
		border-top: 1px solid #ccc; border-left: 1px solid #ccc;
		margin-bottom: 1.6em;
		}
		th, td {
			padding: .6em .8em;
			text-align: left;
			vertical-align: top;
			border-bottom: 1px solid #ddd; border-right: 1px solid #ccc;
			}
		caption {
			padding: .6em .8em;
			text-align: left;
			vertical-align: top;
			}
	
	/* -------------------- Tweaks -------------------- */
	
	font { color: inherit !important; font: inherit !important; color: inherit !important; } /* disables some nasty font attributes in standard browsers */
	
	/* -------------------- Forms -------------------- */
	
	input { cursor: pointer; }
	
	input[type='text'],
	input[type='password'],
	textarea {
		background: #f0f6f8;
		cursor: text;
		}
		
	input[type='button'],
	input[type='submit'],
	select {
		vertical-align: middle;
		}
		
	input[type='checkbox'] {
		vertical-align: bottom;
		}
	
	legend {
		padding: 0 .8em;
		font-size: 1.1em;
		}
		
	fieldset {
		padding: 0 1em 1em 1em;
		margin: 1.6em 0;
		border: 1px solid #b5d0dc;
		}
	
	select { padding: .1em .2em 0 .2em; cursor: pointer; }
	option { padding: 0 .4em; }
	
	input[type='text']:focus,
	input[type='password']:focus,
	textarea:focus {
		background: white;
		}

	/* -------------------- Lists -------------------- */
	
	ul {
		margin: 0;
		padding: 0;
		list-style: none;
		}
		ul li {
			margin: 0 0 .3em 1em;
			padding: 0;
			line-height: 1.2em;
			}
	
	ul.horizontal {
		margin: 0; padding: 0;
		display: inline;
		list-style: none;
		}
		ul.horizontal li {
			margin: 0 2em 0 0;
			display: inline;
			line-height: 1.2em;
			}
	
	/*
	ul, ol { list-style: none; }
	ul li { text-indent: -.85em; margin-left: .85em; }
	ul li:before { content: "\2022\00a0\00a0"; }

	ul { margin-left: 1.5em; }
	ol { margin-left: 2.35em; }
	ol ol, ul ol { margin-left: 2.5em; }
	*/

	/* -------------------- Misc -------------------- */	
	
	del { text-decoration: line-through; color: #666; }
	ins, dfn { border-bottom: 1px solid #ccc; }
	abbr, acronym { text-transform: uppercase; font-size: 85%; letter-spacing: .1em; }
	a abbr, a acronym { border: none; }
	abbr[title], acronym[title], dfn[title] { cursor: help; border-bottom: 1px solid #ccc; }

/* -------------------- Utility : Typograpy -------------------- */

.text-left		{ text-align: left; }
.text-right		{ text-align: right; }
.text-center	{ text-align: center; }
.text-justify	{ text-align: justify; }

.big			{ font-size: 1.1em; line-height: 1.4em; }
.bigger			{ font-size: 1.3em; line-height: 1.5em; }
.biggest		{ font-size: 1.5em; line-height: 1.6em; }
.small			{ font-size: 0.9em; line-height: 1.2em; }
.smaller		{ font-size: 0.8em; line-height: 1.2em; }
.smallest		{ font-size: 0.7em; line-height: 1.2em; }

.normal			{ font-weight: normal; font-style: normal; }
.bold			{ font-weight: bold; }
.italic			{ font-style: italic; }
.underline		{ text-decoration: underline }

/* -------------------- Utility : Floats -------------------- */

.lfloat, .float-left	{ float: left; }
.rfloat, .float-right	{ float: right; }

img.lfloat, .img-left	{ float: left; margin: 5px 15px 5px 0; }
img.rfloat, .img-right	{ float: right; margin: 5px 0 5px 15px; }

.end, .clear			{ clear: both; }
.clearer, .clearfix {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.hidden { visibility: hidden; }

.indented { display: block; margin-left: 3em; }
 
.nopadding		{ padding: 0; }
.noindent		{ margin-left: 0; padding-left: 0; }
.nobullet		{ list-style: none; list-style-image: none; }

/* -------------------- Utility : Debugging -------------------- */

.trace {
	color: black;
	background: white;
	border: 1px grey solid;
	margin: 1em;
	padding: 1em;
	/* position: absolute; top: 0; left: 0; */
	}

.outline {
	border: 1px red solid;
	}

.white {
	color: white;
	}

.error {
	color: red;
	}