/* HTML5 fixes for older browsers */

article, aside, figcaption, figure, footer, header, hgroup, nav, section {
	display: block;
}

/* Generic styles */

.hidden {
	display: none;
}

a img {
	border-style: none;
}

table.zebra {
	border-collapse: collapse;
	margin-bottom: 1em;
}

table.zebra tr:nth-child(even) {
	background-color: #eeeeee;
}

table.zebra th {
	text-align: left;
}

table.zebra td {
	min-width: 100px;
	padding: 0.15em;
}

blockquote {
	margin-left: 1em;
	padding-left: 0.8em;

	color: gray;
	font: normal 1.8em "Segoe Script", "Lucida Handwriting", "Comic Sans MS", sans-serif;
	border-left: solid 1px silver;
}

code, samp {
	font-family: Consolas, "Courier New", monospace;
}

pre > code,
pre > samp {
	display: block;
	padding-left: 1em;

	font-size: 1.4em;
	border-left: solid 1px silver;
}

kbd {
	font-weight: bold;
}

time {
	font-style: italic;
}

figure > figcaption {
	font-weight: bold;
}

body {
	width: 940px;
	margin: 0 auto;
	padding-bottom: 0.5em;

	font-size: 90%;
	font-family: "Segoe UI", Tahoma, Arial, sans-serif;
}

header {
	overflow: hidden;
}

header > h1 {
	margin: 0;
	border-bottom: solid 1px gray;

	font: normal 2.2em "Trebuchet MS", sans-serif;
	cursor: default;
}

header > nav > ul > li {
	font-size: 1.5em;
	font-weight: lighter;
}

nav > ul {
	margin: 0;
	padding: 0;

	list-style-type: none;
}

nav > ul > li {
	margin-right: 1em;

	display: inline-block;
	float: left;
}

nav > ul > li > a {
	text-transform: lowercase;
	text-align: center;

	color: #aaaaaa;
	text-decoration: none;

	-moz-transition: all 0.25s;
	-o-transition: all 0.25s;
	-webkit-transition: all 0.25s;
	transition: all 0.25s;
}

nav > ul > li > a:hover,
nav > ul > li > a.current {
	color: black;
}

footer {
	text-align: right;
	margin-top: 1em;

	border-top: solid 1px gray;
}

footer a {
	color: black;
	font-style: italic;
	text-decoration: underline;
}

body > article > h1,
body > section > h1 {
	margin: 0.5em 0;

	font-size: 2.5em;
	font-weight: normal;
	font-family: Cambria, "Hoefler Text", "Liberation Serif", serif;
}

body > article > h1 > a {
	color: dodgerblue;
	text-decoration: none;
}

body > article > h1 > a:hover {
	text-decoration: underline;
}

body > article > h1 > img,
body > section > h1 > img {
	vertical-align: top;
}

body > article > p,
body > section > p.description {
	margin: 0 0 1.5em 3em;
	font-size: 1.4em;
}

body > article > section > h1,
body > section > section > h1 {
	margin: 0.5em 0;

	font-size: 2em;
	font-weight: normal;
	text-transform: lowercase;
}

body > article > section a,
body > section > section a,
body > section > div a,
aside > p > a {
	color: dodgerblue;
}

body > article > section a:visited,
body > section > section a:visited,
body > section > div a:visited,
aside > p > a:visited {
	color: black;
}

body > article > section ul,
body > section > section ul {
	list-style-type: square;
}

body > article > section > section > h1 {
	margin: 0.5em 0;
	font-size: 0.95em;
}

.gallery {
	overflow: hidden;
}

.gallery > article {
	overflow: hidden;
	margin: 2em 0.5em;
}

.gallery > article > .icon {
	float: left;
	margin: 0.2em 0.5em 0 0;

	width: 48px;
	height: 48px;
}

.gallery > article > h1 {
	margin: 0;

	font-size: 1.4em;
	font-weight: normal;
}

.gallery > article > h1 > a,
.gallery > article > h1 > a:visited {
	color: dodgerblue;
	text-decoration: none;
}

.gallery > article > h1 > a:hover {
	text-decoration: underline;
}

.gallery > section {
	float: left;
	width: 250px;
	margin: 0 2em 2em 2em;
}

.gallery > section:nth-of-type(3n+1) {
	clear: both;
}

.gallery > section > h1 {
}

.gallery > section > img {
	display: block;
	margin: 1em auto;
	padding: 0.3em;

	width: 200px;

	border: solid 1px silver;
}

.gallery > section > p,
.gallery > article > p {
	margin: 0;
}

.ref {
	margin: 1em 0;
	padding: 0 1em;

	border: solid 1px silver;
}

.ref > h1 {
	text-transform: none;
}

.ref > h2 {
	font-size: 1.3em;
	font-family: Calibri, Arial, sans-serif;
	text-transform: uppercase;
}

.ref > p {
	text-align: justify;
}

aside {
	padding: 0.8em;
	overflow: hidden;

	background-color: #eeeeee;

	-moz-border-radius: 0.8em;
	-webkit-border-radius: 0.8em;
	border-radius: 0.8em;
}

aside > h1 {
	margin-top: 0;
	font-size: 12pt;
}

aside > ul {
	margin: 0.4em 0;
	padding: 0;
	list-style-type: none;
	float: right;
}

aside > ul > li {
	display: inline;
	padding: 0 0.8em;

	border-left: solid 2px orange;
}

aside > ul > li > a {
	color: dodgerblue;
	text-decoration: none;
}

aside > ul > li > a:hover {
	text-decoration: underline;
}

a.button {
	display: inline-block;
	padding: 3px 10px 2px 10px;
	height: 25px;

	color: white;
	font-size: 1.1em;
	text-decoration: none;

	background: url(bg-green.png) repeat-x;

	border-style: solid;
	border-width: 1px;
	border-color: yellowgreen black black yellowgreen;
}

a.button:active {
	border-color: black yellowgreen yellowgreen black;
}

/* Webapp form styles */

.form, .form input, .form select {
	font-size: 9pt;
	font-family: "Segoe UI", Tahoma, Arial, sans-serif;
}

.form textarea {
	font: normal 12pt Consolas, "Courier New", monospace;
}

table.form {
	border-collapse: collapse;
}

table.form th {
	padding: 2px 3px;

	background-color: #eeeeee;
	border-style: solid;
	border-width: 1px;
	border-color: white silver silver white;
}

table.form td {
	border-bottom: solid 1px silver;
}

div.form {
	display: inline-block;
	margin: 10px 0;
	padding: 5px 10px;

	border: solid 1px #a0a0cc;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.form p {
	margin: 0;
}

.form label {
	display: inline-block;
	width: 150px;

	font-weight: bold;
}


