
/* general css */

	body
	{
		margin: 0;
		background-color: #DDDDDD;
		font-family: Arial;
		font-size: small;
        max-width: 1280px;
        margin-left: auto;
        margin-right: auto;
	}

	h1, h2, h3
	{
		margin-bottom: 0;
		font-family: Amaranth;
		font-weight: normal;
		text-shadow: 1px 1px 1px #999999; /* was originally in em, but different *
										   * browsers round it differently...    */
	}
	
	p
	{
		margin-top: 0.2em;
	}
	
	blockquote
	{
		background-color: #FFFFAA;
		border-style: solid;
		border-width: 1px;
		border-color: #000000;
		padding: 1em;
	}
	
	:not(nav) > ul > li
	{
		margin-top: 1em;
	}

/* column layout */

	div#leftColumn, div#middleColumn, div#rightColumn
	{
		display: block;
		margin: 0;
	}

	div#middleColumn
	{
		/* margin-left: 250px; */
		/* margin-right: 250px; */
		min-width: 500px;
	}
	
	body
	{
		min-width: 1000px;
	}

	div#leftColumn
	{
		width: 250px;
		float: left;
	}

	div#rightColumn
	{
		width: 250px;
		float: right;
	}

	footer
	{
		/*clear: both;*/
	}
	
	/* column typography */
	
		div#middleColumn h1
		{
			margin-top: 0.5em;
			font-size: 300%;
		}

		div#middleColumn h2
		{
			margin-top: 0.5em;
			font-size: 200%;
		}

		div#middleColumn h3
		{
			font-size: 150%;
			margin-top: 0.3em;
		}
		
		div#leftColumn h1, div#rightColumn h1
		{
			margin-top: 0.2em;
			font-size: 200%;
		}
	
/* pad css */

	.pad
	{
		background-color: #FFFFFF;
		padding: 1em;
		margin: 0.6em;
		box-shadow: 2px 2px 2px #666666; /* was originally in em, but different *
										  * browsers round it differently...    */
	}

	div#leftColumn .pad, div#rightColumn .pad
	{
		margin-top: 0; /* margin top is handled by header or pad above */
	}

	div#middleColumn .pad
	{
		/* margin-left: 0; */
		/* margin-right: 0; */
		margin-top: 0; /* except for margin-bottom, it's handled by other elements */
	}


	div#leftColumn .pad > *:first-child, 
	 div#middleColumn .pad > *:first-child, 
	 div#rightColumn .pad > *:first-child
	{
		margin-top: 0;
	}

	div#leftColumn h1 + h2,
	 div#middleColumn h1 + h2,
	 div#rightColumn h1 + h2
	{
		margin-top: 0.1em;
	}
	
	div#leftColumn h2 + h3,
	 div#middleColumn h2 + h3,
	 div#rightColumn h2 + h3
	{
		margin-top: 0.1em;
	}

/* header css */

	header.pad
	{
		background-color: #00aa00;
		margin: 0.6em;
		padding: 0;
	}

	/* header title css */

		header h1 a
		{
			color: black;
			text-decoration: none;
		}

		header h1, header h2
		{
			text-align: center;
			font-family: OverlockBold;
			text-shadow: 2px 2px 2px #005500; /* was originally in em, but different *
											   * browsers round it differently...    */
			margin: 1em;
			overflow:hidden;
			margin: 0;
		}

		header h1
		{
			font-size: 600%;
			margin: 0;
		}

		header h2
		{
			font-size: 300%;
			margin-left: 4em;
		}

	/* header navigation css */

		header nav
		{
			text-align: center;
		}

		header nav ul
		{
			margin: 0 auto;
			padding: 0;
			display: inline-block;
			vertical-align: bottom;
		}

		header nav ul li
		{
			padding: 0.1em 0.25em;
			background-color: #009900;
			margin: 0;
			font-size: 150%;
			display: block;
			float: left;
			list-style-type: none;
			border-style: solid solid none none; /* borders top + right, because there is no bottom, */
												 /* and we don't want double borders on the sides    */
			border-width: 0.2em;
			border-color: #007700;
			font-family: OverlockBold;
		}

		header nav ul li:first-child
		{
			border-left-style: solid;  /* leftmost item needs a left border */
			border-top-left-radius: 0.5em; /* round outermost borders */
		}

		header nav ul li.currentPage:first-child
		{
			border-left-color: #00aa00; /* currentPage has no borders */
		}

		header nav ul li:last-child
		{
			border-top-right-radius: 0.5em; /* round outermost borders */
		}

		header nav ul li.currentPage:last-child
		{
			border-right-style: solid; /* to prevent any shift of the whole ul, *
			                            * we don't actually remove this border  */
			border-right-color: #00aa00; /* yet, currentPage has no  borders */
		}

		header nav ul li:hover
		{
			background-color: #00dddd;
		}

		header nav ul li.currentPage
		{
			background-color: #00aa00;
			border-top-color: #00aa00;
			border-right-style: none; /* to avoid a missing bit on the top border, */
									  /* we move the border to the next item 	   */
		}

		header nav ul li.currentPage + li
		{
			border-left-style: solid; /* we move the border to the next item */
		}

		header nav ul li a
		{
			color: black;
			text-decoration: none;
		}

/* nav pad css */

	nav.pad ul
	{
		padding: 0;
		margin-top: 0.2em;
	}

	nav.pad ul li
	{
		list-style-type: none;
	}

/* footer css */
	
	footer.pad
	{
		background-color: #EEEEEE;
		padding: 0.1em 0.5em;
		text-align: right;
	}

/* site specific css */    

img.photo
{
    max-width: 100%;
}

.pad.error, .pad.success
{
    font-weight: bold;
    font-size: 120%;
}

.pad.error p, .pad.success p
{
    margin: 0;
}

.pad.error
{
    color: red;
}

form.add-person
{
    margin-top: 1em;
}

form.add-person label
{
    display: block;
    margin-bottom: 0.5em;
}

form.add-person input[type=number]
{
    width: 2.5em;
}