/*---------------------general page setup-----------------------*/
* {
	margin:0;
	padding:0;
}

body {
	text-align:center;
}

html, body {
	font-family:arial, helvetica, sans-serif;
	background-color:white;
	height:100%;
}

/*containing header, shadow, and wrapper (everything)*/
#outer {
	height:auto;
	min-height:100%;
}

/*containing content and nav*/
#wrapper {
	text-align:left;
	width:100%;
	max-width:1068px;
	margin:0 auto;
	height:auto;
	min-height:100%;
	padding-bottom:25px;
}


/*---------------------------header-----------------------------*/

#header {
	position:fixed;
	top:0;
	left:0;
	height:auto;
	display:block;
	transition:height 0.2s;
	width:100%;
	background-color:#b0d0ff;
	z-index:10;
}
        

/*logo*/
#header img {
	display:block;
	width:70%;
	max-width:650px;
	height:auto;
	transition:max-width 0.2s;
	margin:10px auto 0 auto;
}

/*shopping cart*/
#header .shop-header-widget {
	width:50px;
	margin-right:15px;
	margin-top:32px;
	transition:margin-top 0.2s;
	float:right;
}

#header .shop-header-widget img {
	width:20px;
}

#header.sticky img {
	max-width:250px;
}

#header.sticky .shop-header-widget {
	margin-top:10px;
}

#header #nav-button {
	display:none;
	width:20%;
	height:auto;
	margin:0;
	padding:0;
	max-width:50px;
	max-height:50px;
	cursor:pointer;
	float:left;
}



/*---------------------------shadow-------------------------*/
#shadow {
	position:relative;
	bottom:-10px;
	width:100%;
	height:10px;
	margin:0;
	padding:0;
	background:url(images/schatten.png) repeat-x;
	display:block;
}



/*---------------------------content-------------------------*/


#content .shop-content-widget {
	float:right;
	margin:15px 15px 5px auto;
	float:right;
}

#content {
	height:auto;
	min-height:100%;
	width:-moz-calc(100% - 175px);
	width:-webkit-calc(100% - 175px);
	width:calc(100% - 175px);
	max-width:900px;
	margin-left:173px;
	padding-top:100px;
	background-color:white;
	border-left:1px solid #b0d0ff;
}

#content hr {
	margin:100px 40px 10px 40px;
	border:1px solid white;
}

#content h1 {
	font-size:18pt;
	padding:50px 30px 10px 40px;
}

#content h2 {
	padding:0 40px 20px 40px;
	line-height:1.6em;
	font-size:14pt;
	font-weight:bold;
}

#content p, ul {
	padding:0 40px 20px 40px;
	line-height:1.6em;
	max-width:900px;
}

#content ul, ol {
	padding-left:70px;
}

#content ol h1 {
	font-size:17px;
	font-weight:normal;
	padding:0;
	line-height:1.7em;
}

#content ol h2 {
	font-size:14px;
	font-weight:bold;
	padding:0 0 0 20px;
	line-height:1.7em;
}

#content ol p {
	padding:0 40px 10px 40px;
	font-size:14px;
}

#content ol ul {
	list-style:disc;
	padding:0 0 10px 40px;
	font-size:14px;
}

#content ol .no-number {
	list-style:none;
}

#content dl {
	padding-left:40px;
	line-height:1.7em;
}

#content dd {
	padding:0 40px 10px 30px;
}

#content dd ul {
	padding-left:20px;
}

#content img {
	margin-left:40px;
	margin-right:30px;
}



#content #first-text {
	padding-top:30px;
}

#content #first-text img {
	width:180px;
}



/*paragraphs with lage images (index)*/
#content .picture-paragraph {
	min-height:230px;
}

#content .picture-paragraph img {
	border:none;
	width:240px;
	height:200px;
	float:left;
	margin-left:40px;
	margin-top:30px;
}

#content .picture-paragraph p {
	padding-left:320px;
	padding-top:30px;
}



/*paragraphs with little images (umwelt)*/
#content .little-picture-paragraph {
	margin-bottom:80px;
}

#content .little-picture-paragraph img {
	width:100px;
	float:left;
	margin-left:40px;
}

#content .little-picture-paragraph p, #content .little-picture-paragraph ul {
	padding-left:170px;
	padding-right:31px;
	padding-bottom:0;
	line-height:1.7em;
}

#content .little-picture-paragraph li {
	margin-left:20px;
}

#first-text .little-picture-paragraph p {
	padding-left:250px;
}



/*images with subtitles (buecher)*/
#content .title-image {
	text-align:center;
	width:200px;
	height:350px;
	float:left;
	margin:0 30px 0px 30px;
}

#content .title-image img {
	width:148px;
	height:225px;
	border:1px solid black;
	margin:0 auto;
	padding:0;
}

#content .title-image h2, #content .title-image h3 {
	font-weight:normal;
	text-align:center;
	padding:0;
}

#content .title-image h2 {
	font-size:16px;
}

#content .title-image h3 {
	font-size:12px;
}

#content .title-image a {
	color:black;
	text-decoration:none;
}

/*text alignment*/
	
#content .right {
	float:right;
}

#content .center {
	max-width:620px;
	margin:0 auto;
}


/*allways the last element before the footer*/

#content #shop-link {
	font-size:20pt;
	text-align:center;
	margin-top:40px;
}


/*news box on index.htm*/
#content #news-box {
	padding:20px 0;
	margin:20px 10px 30px 10px;
	max-width:620px;
	border:3px solid red;
	background:url(images/neu.jpeg) no-repeat;
}

#content #news-box .little-picture-paragraph {
	margin:0;
}

#content #news-box .little-picture-paragraph img {
	margin:10px;
	width:150px;
}

#news-box .little-picture-paragraph p {
	padding-left:170px;
}



/*-------------------------footer--------------------*/

#footer {
	display:block;
	width:100%;
	height:25px;
	margin-top:-25px;
	background-color:#10206f;
	color:white;
	font-style:italic;
	font-size:10pt;
	line-height:25px;
	text-align:center;
}

#footer a {
	color:white;
	font-size:10pt;
	font-style:normal;
}



/*--------------------------nav-----------------------*/

#nav {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box; 
	-ms-box-sizing: border-box;
	box-sizing:border-box;
	width:173px;
	transition:width 0.2s, height 0.2s, background 0.2s;
	position:fixed;
	top:130px;
	background-color:white;
	padding:10px 0 10px 10px;
	border-right:2px solid #b0d0ff;
}

#nav #nav-button {
	display:none;
}

#nav .dropdown-button {
        background:url("images/right.png") no-repeat 95% 50%/20px;
}

#nav .menu-button {
	background-color:white;
	display:block;
	color:black;
	padding:10px;
	text-decoration:none;
}

#nav .menu-button:hover {
	border:1px solid black;
	padding:9px;
	cursor:pointer;
}
	

#nav .dropdown-content {
	visibility:hidden;
	width:0;
	overflow:hidden;
	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box; 
	-ms-box-sizing: border-box;
	box-sizing:border-box;
	position:absolute;
	left:171px;
	margin-top:-40px;
	
	border-top:1px solid #b0d0ff;
	border-right:1px solid #b0d0ff;
	border-bottom:1px solid #b0d0ff;
	border-left:1px solid white;
}

#nav .dropdown:hover .dropdown-content, 
#nav .dropdown .dropdown-content .dropdown:hover .dropdown-content {
	visibility:visible;
	width:173px;
	transition:width 0.2s;
}

#nav .dropdown:hover .dropdown-content .dropdown-content {
	visibility:hidden;
	width:0;
}

#nav .dropdown .dropdown-content:hover {
	overflow:visible;
}

#nav .actual {
	border:none;
	padding:10px;
	font-weight:bold;
	cursor:default;
}

@media (max-width:800px), (max-height:350px) {

	/*center content*/
	#content {
		margin:0;
		border:0;
		width:100%;
	}
	
	#content h1,p,ul {
		padding-left:20px;
	}
	
	/*adjust header size*/
	#header img {
		max-width:400px;
		padding:2px;
	}
	
	#header.sticky img {
		max-width:200px;
		padding:2px;
	}

	#header .shop-header-widget {
		margin-top:12px;
	}

	#header.sticky .shop-header-widget {
		margin-top:8px;
	}
	
	
	/*click to expand nav*/
	#header #nav-button {
		display:inline;
		margin-top:15px;
	}

	#header.sticky #nav-button {
		width:15%;
		max-width:30px;
		margin-top:10px;
	}
	
	
	/*expand nav on click*/
	#nav {
	        display:none;
	        top:50px;
	        bottom:0;
		width:202px;
		transition:width, height 0.1s, 0.1s;
		
		background-color:white;
		background-image:none;
		
		border-top:1px solid #b0d0ff;
		border-right:1px solid #b0d0ff;
		border-bottom:1px solid #b0d0ff;
		border-left:10px solid #b0d0ff;
		padding:10px 0 10px 10px;
		
		overflow-y:auto;
	}
	
	/*don't expand nav on hover*/
	#nav .dropdown:hover .dropdown-content, 
	#nav .dropdown .dropdown-content .dropdown:hover .dropdown-content {
		display:none;
	}
	
	#nav .menu-button {
		display:block;
		overflow:hidden;
	}
	
	#nav .dropdown .dropdown-content.expanded, 
	#nav .dropdown .dropdown-content .dropdown .dropdown-content.expanded {
		display:block;
		position:relative;
		height:auto;
		left:-10px;
		margin:0;
		padding:10px 0 10px 10px;
		visibility:visible;
		width:100%;
		border-left:10px solid #b0d0ff;
		border-right:none;
		
		transition:height 0.2s;
	}
	
}

@media (max-width:550px) {

	/*expand nav to 100% on hover*/
	#nav {
	        width:100%;
	}
	
	
	/*move picture descriptions pelow pictures*/
	#content .picture-paragraph {
		width:100%;
	}
	
	#content .picture-paragraph img {
		margin-top:20px;
		float:none;
	}
	
	#content .picture-paragraph p {
		padding:20px;
	}
	
	/*hide little pictures*/
	#content .little-picture-paragraph img {
		display:none;
	}
	
	#content .little-picture-paragraph p, #content .little-picture-paragraph ul {
		padding-left:40px;
		
	}
	
	#content .little-picture-paragraph {
		margin-bottom:30px;
	}
	
	#content hr {
		margin-top:60px;
	}
	
	/*left-align right pictures in centered div*/
	#content .center .title-image {
		float:none;
	}
	
	/*disable floating...*/
	#content img, {
		float:none;
	}
	
	#content .right {
	        float:none;
	}
	
	#content .left {
	        float:none;
        }
}

/*thumbnails of photo gallery (schulen)*/
#content #gallery {
	text-align:center;
	width:100%;
	height:auto;
	border-top:1px solid #a0a0a0;
	border-bottom:1px solid #a0a0a0;
	margin-bottom:20px;
}

#content #gallery img {
	width:100px;
	border:2px solid #b0b0b0;
	padding:2px;
	margin:10px;
	cursor:zoom-in;
}

/*maximized photo gallery (schulen)*/
#content #large-gallery {
	background-color:rgba(255,255,255,0.8);
	border:2px solid #f0f0f0;

	text-align:center;
	width:100%;
	width:-moz-calc(100vw - 250px);
	width:-webkit-calc(100vw - 250px);
	width:calc(100vw - 250px);
	max-width:900px;
	
	margin:20px;
	position:fixed;
	top:30px;
	bottom:20px;
	overflow:hidden;
}

#content #large-gallery #gallery-display {
        width:100%;
}

#content #large-gallery #close {
	width:30px;
	height:30px;
	display:block;
	margin:2px 2px 0 auto;
	cursor:pointer;
}

#content #large-gallery .arrow {
	display:inline-block;
	width:50px;
	height:50px;
	margin:0;
	cursor:pointer;
}

#content #large-gallery #gallery-thumbnails {
        width:100%;
	height:110px;
	overflow:scroll;
}

#content #large-gallery #gallery-thumbnails img {
	background-color:white;
	width:100px;
	border:2px solid #b0b0b0;
	padding:2px;
	margin:10px;
	cursor:pointer;
}

#content #large-gallery #gallery-main {
	height:auto;
	margin:0px;
	display:inline-block;
}

#content #large-gallery #gallery-main img {
    background-color:white;
	max-width:100%;
	max-height:100%;
	margin:0;
}

@media (max-width:800px) {
	
	/*enlarge maximized photo gallery (schulen)*/
	#content #large-gallery {
		width:100%;
		width:-moz-calc(100vw - 60px);
		width:-webkit-calc(100vw - 60px);
		width:calc(100vw - 60px);
	}
}

@media (max-width:590px), (max-height:380px) {
        
        /*hide large gallery's thumbnails*/
        #content #large-gallery #gallery-thumbnails {
                display:none;
        }
        
        #content #large-gallery #gallery-display {
                vertical-align:center;
        }
}

@media (max-width:650px) {
	#content img {
		max-width:100%;
		max-width:-moz-calc(100% - 90px);
		max-width:-webkit-calc(100% - 90px);
		max-width:calc(100% - 90px);
	}
	
	#content .picture-paragraph img {
		max-width:100%;
		max-width:-moz-calc(100% - 40px);
		max-width:-webkit-calc(100% - 40px);
		max-width:calc(100% - 40px);
		height:auto;
		margin-left:20px;
		margin-right:20px;
	}
	
	#content .title-image img {
	        max-width:148px;
        }
        
        #content #large-gallery #gallery-main img {
                max-width:100%;
        }
}

@media (max-width:280px) {
        #content .picture-paragraph img {
                width:100%;
                height:auto;
                margin-left:0px;
        }
}
