
/* general css */

	body
	{
		margin: 0;
		background-color: var(--page-background-color);
		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 var(--heading-shadow-color);
	}
	
	p
	{
		margin-top: 0.2em;
	}
	
	blockquote
	{
		background-color: var(--quote-background-color);
		border-style: solid;
		border-width: 1px;
		border-color: var(--quote-border-color);
		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: var(--pad-background-color);
		padding: 1em;
		margin: 0.6em;
		box-shadow: 2px 2px 2px var(--pad-shadow-color);
	}

	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
	{
		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 var(--heading-shadow-color);
			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: var(--nav-background-color);
			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: var(--nav-border-color);
			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: var(--pad-background-color); /* 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: var(--pad-background-color); /* yet, currentPage has no  borders */
		}

		header nav ul li:hover
		{
			background-color: var(--nav-hover-background-color);
		}

		header nav ul li.currentPage
		{
			background-color: var(--pad-background-color);
			border-top-color: var(--pad-background-color);
			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
	{
		padding: 0.1em 0.5em;
		text-align: right;
	}
	
/* content specific css */

	ul.memberList
	{
		padding-left: 1em;
	}

	ul.memberList li
	{
		margin: 0;
		list-style-type: none;
	}
	
	div#middleColumn article.newsItem h1
	{
		font-size: 200%;
	}
	
	div#middleColumn article.newsItem h2
	{
		font-size: 150%;
	}
	
	div#leftColumn article.newsItem h1,
	 div#rightColumn article.newsItem h1
	{
		font-size: 140%;
	}
	
	div#leftColumn article.newsItem h2,
	 div#rightColumn article.newsItem h2
	{
		font-size: 120%;
	}
	
	div#leftColumn article.newsItem p,
	 div#rightColumn article.newsItem p
	{
		margin-bottom: 0.2em;
	}
	
	div#leftColumn article.newsItem,
	 div#rightColumn article.newsItem
	{
		margin-top: 0.5em;
		margin-bottom: 1em;
	}
    
    div#leftColumn aside ul,
    div#rightColumn aside ul {
        padding-left: 15px;
    }