/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

@import url(type.css);

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

span[property] {
	display: none;
}

section#main article a {
	color: red;
}


body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}



/* author styles */

html, body {
	/*height: 100%;
	width: 100%;*/
}
body {
	background: #3b3939 url(../img/background.png) 0 0 repeat;
	background-color: #3b3939;
	background-image: url(../img/gradient.png), url(../img/background.png);
	background-position: 0 0, 0 0;
	background-repeat: repeat-x, repeat;
	color: white;
	font: 16px/27px 'QuicksandBook', Arial, sans-serif;
	padding: 0 10px 10px;
	}
a:link, a:visited {
	color: #eee;
	text-decoration: none;
	}
a:focus, a:hover, a:active {
	text-shadow: 0 0 2px rgba(255, 255, 255, 0.5);
	text-decoration: underline;
	}
	
/*			
header[role=banner] h1 img {
	width: 100%;
	max-width: 500px;
	}
*/		
header[role=banner] {
	overflow: hidden;
	}
header[role=banner] h1 a {
	background: url(../img/logotype-sub.png) 0 center no-repeat;	
	display: block;
	text-indent: -999em;
	background-size : 100% auto;
	min-height: 57px;
	max-height: 57px;
	}	
header[role=banner] nav a {
	/*display: block;*/
	text-align: center;
	padding: 4px;
	margin: 4px;
	text-decoration: none;
	}		
header[role=banner] nav a:focus, header[role=banner] nav a:hover, header[role=banner] nav a:active {
	text-decoration: underline;
	}		
	
header[role=banner] nav[role=navigation] {
	border-bottom: 1px solid rgba(0,0,0,0.125);
	box-shadow: 0 1px 0 rgba(255,255,255,0.125);
	padding-bottom: 10px;
	margin: 0 0 20px;
	}	
.home header[role=banner] nav[role=navigation] {
	padding-bottom: 0;
	margin: 0 0 10px;
	}

#freeform {
	}
#freeform label {
	display: block;
	margin: 4px 0 0;
	}
#freeform input, #freeform textarea {
	padding: 4px;
	font-size: 1.2em;
	width: 100%;
	box-sizing: border-box;
	}
#freeform input[type=submit] {
	width: auto;
	margin: auto;
	}		
			
*[role=main] h1 {
	font-size: 2.25em;
	line-height: 1;
	margin-bottom: 0.44444444444444em;
	text-align: center;
	}		
*[role=main] h2 {
	font-size: 1.5em;
	margin: 1em 0 0.5em;
	}

*[role=main] p {
	margin-bottom: 0.75em;
	}

#fancybox-title-inside, #fancybox-title-outside {
	padding: 4px;
	font: 18px/1.5 'QuicksandBook', Arial, sans-serif;
	text-align: center;
	}
#fancybox-title {
	padding-top: 4px;
	}	

div.figures {
	border-top: 1px solid rgba(255,255,255,0.5);
	margin-top: 10px;
	padding-top: 10px;
	}
div.figures p {
	text-align: center;
	}		
  		
figcaption {
	text-align: center;
	margin-bottom: 1em;
	}	
figure img {
	width: 100%;
	height: auto;
	box-shadow: 0 0 2px rgba(0,0,0,0.25);
	}	
	
.homepage_images {
	list-style: none;
	}
.homepage_images li {
	width: 100%;
	}
	
.homepage_images img {
	max-width: 100%;
	height: auto;
	}		

*[role=main] .images {
	float: left;
	margin: 0 0 10px;
	width: 100%;

	}
*[role=main] .images li {
	list-style: none;
	float: left;
	margin: 0 10px 0 0;
	}
*[role=main] .images li img {
	border: 1px solid white;
	border-color: rgba(255,255,255,0.25);    
	}	

*[role=main] #map_canvas {
	width: 100%;
	height: 400px;
	background: #E5E3DF;
	}	
	
footer {
	border-top: 1px solid rgba(255,255,255,0.125);
	box-shadow: 0 -1px 0 rgba(0,0,0,0.125);
	margin: 10px 0;
	padding: 10px;
	position: relative;
	top: 1em;
	}	
footer p small {
	display:block;
	margin: 10px 0;
	}	
footer p:last-of-type {
	margin-bottom: 40px;
}
		
header[role=banner] nav li {
	display: inline;
}

	header[role=banner] nav[role=navigation] {
		width: 100%;
		text-align: center;
		margin: 20px 0;
		font-size: 1em;
		}	
		
@media screen and (min-width: 480px) {
  	/* html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } */
	
	header[role=banner] h1 {
		margin: 0 0 20px;
		}
	header[role=banner] nav {
		margin: 20px 0 0;
		}

	header[role=banner] a[href="#figures"] {
		display: none;
		}
	#fancybox-title-over {
		font: 16px/24px 'QuicksandBook', Arial, sans-serif;
		padding: 4px;
		text-align: center;
		}
	header[role=banner] h1 {
		margin: 0 20px;
		}
	.home article[role=main] ul.homepage_images {
		width: 75%;
		float: right;
		}
	.home article[role=main] div {
		width: 25%;
		float: left;
		}
	
		
	/*
	header[role=banner] h1 img {
		height: auto;
		}	
	*/	
	header[role=banner] nav {
		text-align: center;
		}

	header[role=banner] nav {
		font-size: 0.9em;
		}
	header[role=banner] nav[role=navigation] {
		width: 100%;
		text-align: center;
		margin: 20px 0;
		font-size: 1em;
		}	
	header[role=banner] nav a {
		display: inline-block;
		line-height: 1;
		}
	*[role=main] h1 {
		text-align: center;
		}	
	figure {
		/* 
		display: block;
		width: 200px;
		height: 200px;
		position: relative;
		text-align: center;
		float: left;
		margin: 10px;
		*/
		display: block;
		width: 200px;
		min-height: 200px;
		position: relative;
		text-align: center;
		float: left;
		margin: 10px;
		}
	figure figcaption {
		/*
		position: absolute;
		bottom: 0;
		left: 0;
		display: none;
		background-image: url('../fancybox/fancy_title_over.png');
		*/
		text-align: center;
		width: 192px;
		line-height: 1.2 !important;
		padding: 4px;
		color: white;
		line-height: 1em;
		margin: 0;
		opacity: 0;
		}
	figure a:focus, figure a:hover, figure a:active {
		text-decoration: none;
		}		
	figure:hover figcaption {
		display: block;
		opacity: 1;
		}	
	figure img {
		/*
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		*/
		margin: auto;
		width: auto;
		max-height: 198px;
		max-width: 198px;
		border: 1px solid white;
		border-color: rgba(255,255,255,0.25);
		box-shadow: 0 0 2px rgba(0,0,0,0.125);
		}	
	#container {
		/*height: 100%;*/
		max-width: 1200px;
		margin: 0 auto;
		}	
  	div.figures {
  		border: none;
  		}
  	div.figures p {
  		margin: 0 10px;
  		text-align: left;
  		}		
  	footer {
  		clear: left;
  		}	
  	#freeform input, #freeform textarea {
		width: auto;
		}
	
  		
	}	
@media screen and (max-width: 479px) {
	
	figure {
		display: block;
		width: 100px;
		height: 150px;
		position: relative;
		text-align: center;
		float: left;
		margin: 10px;
		}
	figure figcaption {
		text-align: center;
		width: 192px;
		line-height: 1.2 !important;
		padding: 4px;
		color: white;
		line-height: 1em;
		margin: 0;
		opacity: 0;
		}
	figure a:focus, figure a:hover, figure a:active {
		text-decoration: none;
		}		
	figure:hover figcaption {
		display: block;
		opacity: 1;
		}	
	figure img {
		object-fit: cover;
		margin: auto;
		width: auto;
		height: 100px;
		width: 100px;
		border: 1px solid white;
		border-color: rgba(255,255,255,0.25);
		box-shadow: 0 0 2px rgba(0,0,0,0.125);
		}	
  footer {
	  top: 150px;
	  clear: both;
  }
}
	
@media screen and (max-width: 600px) {
  .topnav a:not(:first-child) {display: none;}
  .topnav a.icon {
    float: right;
    display: block;
  }
}

@media screen and (max-width: 600px) {
  .topnav.responsive {position: relative;}
  .topnav.responsive .icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
}

/*Style 'show menu' label button and hide it by default*/
.show-menu {
	text-decoration: none;
	color: #fff;
	
	text-align: left;
	padding: 10px;
	padding: 1em;
	display: none;
}

/*Hide checkbox*/
#cssmenu input[type=checkbox]{
    display: none;
}


@media screen and (max-width: 799px) {
	#mainMenuList {
		position: static;
		display: none;
	}
	
	
	/*Make all menu links full width*/
	#cssmenu ul li,
	#cssmenu li a {
		width: 100%;
	}
	
	/*Display 'show menu' link*/
	.show-menu {
		display:block;
	}
	
	#mainMenuList a {
		display: block;
	}
}

/*Show menu when invisible checkbox is checked*/

#mainMenuList.active {
    display: block;
}
	
@media screen and (min-width: 800px) {
	/*
	header[role=banner] h1 a {
		background: none;	
		text-indent: 0;
		max-height: 100%;
		}
	*/

	header[role=banner] nav {
		margin: 0 0 20px;
		}

	header[role=banner] {
		background: url(../img/logotype-motif.png) 10% 0 no-repeat;
		background-size: 90px auto; 
		}
	header[role=banner] h1 {
		clear: right;
		margin: 0 0 10px 25%;
		}	
	header[role=banner] h1 a {
		margin-left: 10px;
		background-size : auto auto;
		}	
	header[role=banner] nav {
		float: right;
		margin-top: 10px;
		}
	header[role=banner] nav[role=navigation] ul {
		margin-left: 25%;
		text-align: left;
		}
	.home header[role=banner] nav[role=navigation] {
		padding-bottom: 10px;
		margin-bottom: 20px;
		}
	section article {
		float: left;
		width: 25%;
		word-break:hyphenate;
		}
	section[role=main] h1, article[role=main] {
		margin-left: 25%;
		padding-bottom: 10px;
		padding-left: 10px;
		}
	section[role=main] h1, article[role=main] h1 {
		text-align: left;
		}	
	article[role=main] {
		min-height: 480px;
		}	
	.home article[role=main] {
		margin: 0 0 10px;
		padding: 0;
		height: auto;
		}	
	div.figures {
		float: left; 
		width: 75%;
		margin-top: 0;
		padding-top: 0;
		}
	footer {
		float: left;
		clear: left;
		width: 75%;
		margin-left: 25%;
		}	
	}
@media screen and (min-width: 480px) {
	.figures figure:nth-of-type(odd) { clear: left; }
	}
@media screen and (min-width: 680px) {
	.figures figure:nth-of-type(odd) { clear: none; }
	.figures figure:nth-of-type(3n+1) { clear: left; }
	}
@media screen and (min-width: 800px) {
	.figures figure:nth-of-type(3n+1) { clear: none; }
	.figures figure:nth-of-type(odd) { clear: left; }
	}
@media screen and (min-width: 900px) {
	.figures figure:nth-of-type(odd) { clear: none; }
	.figures figure:nth-of-type(3n+1) { clear: left; }
	}
@media screen and (min-width: 1194px) {
	.figures figure:nth-of-type(3n+1) { clear: none; }
	.figures figure:nth-of-type(4n+1) { clear: left; }
	}
	
/* IE6 hacks */
* html #container {
	width: 480px;
	margin: 0 auto;
	}	
* html figure img {
	height: auto;
	margin: 0 auto;
	}	
	
	
body {
	/*position: relative;*/
}		
.scrollToTop {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	text-align: center;
	opacity: 0;
	transition: all 0.3s ease-in-out;
	}	
.scrollToTop a {	
	display: block;
	padding: 10px 0;	
	background: rgba(0,0,0,0.5);
	}
.scrollToTop a:before {
	content: '^';
	display: inline-block;
	padding: 0 4px;
	font-weight: bold;
	}
.scrollToTop.visible {	
	opacity: 1;
	}