:root {
	--weiss:        #FFFFFF;
	--schwarz: 	    #4A4A4A;
	--dunkelblau:	#0555F2;
	--transparent:  rgba(0, 19, 56, 0.5);
	--nachtblau:	#001338;
	--hellblau:		#01FFFF;
	--gelb:         #FFF035;
	--violet:       #E518D7;
	--transparent2: rgba(229, 24, 215, 0.7);
}

html { 
	height: 100%; 
}

body {
  	background-color: var(--weiss);
	color: var(--schwarz);
  	display: grid;
	min-height: 100%;
	margin: 0;
	padding: 0;
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 20px;
	line-height: 160%;
	grid-template-rows: auto 1fr auto;
	grid-template-areas: 
	"header" 
	"main"
	"footer";
}

header {
	grid-area: header;
}

#main {
	grid-area: main;
}

footer {
	grid-area: footer;
}

header {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	position: relative;
	padding: 10px;
	border-bottom: 6px solid var(--hellblau);
	background-color: var(--transparent);
	border-radius: 0 0 30px 30px;
}

#mobilswitch {
	position: absolute;
	left: 0;
	top: 10px;
	width: 60px;
	height: auto;
	padding: 60px 0 0 0;
	text-align: center;
	color: #FFF;
	background-color: var(--violet);
	background-image: url("/img/menu.png");
	background-size: auto 100%;
	background-position: center top;
	background-repeat: no-repeat;
	cursor: pointer;
	display: block;
	z-index: 2000;
	border-radius: 0 10px 10px  0;
}

#logo {
	width: 100%;
	max-width: 300px;
	height: auto;
	margin: 0 auto;
	display: block;
}

#scrolltop {
	display: none;
}

nav {
	position: absolute;
	box-sizing: border-box;
	top: 0;
	right: 0;
	display: none;
	width: 80%;
	height: auto;
	text-align: left;
	padding: 20px;
	z-index: 1000;
	background-color: var(--transparent2);
	border-radius: 20px 0 0 20px;
	border-left: solid 3px var(--weiss);
	border-top: solid 3px var(--weiss);
	border-bottom: solid 3px var(--weiss);
}

nav ul {
	margin: 0;
	padding: 0;
}


nav ul li,
nav ul ul li {
	box-sizing: border-box;
	display: block;
	float: none;
	width: 100%;
	padding-left: 0px;
	list-style: none;
	border-top: solid 2px #FFF;
}

nav a:hover {
	background-color: var(--violet);
}

nav ul li:first-child,
nav ul ul li: first-child {
	border-top: none;
}

nav ul li:first-child {
	border-top: none;
}

nav ul li a,
nav ul li a:visited {
	display: block;
	box-sizing: border-box;
	padding: 10px 0;
	width: 100%;
	color: var(--hellblau);
	transition: all 0.3s ease-in-out;
	text-decoration: none !important;
	font-size: 100%;
}

nav ul li a:hover {
	color: #FFF;
}

nav ul li:hover {
	background-color: var(--violet);
}

nav ul ul li a {
	padding-left: 20px;
}

small {
	font-size: 70%;
}
	

textarea {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 16px;
	line-height: 160%;	
	color: var(--schwarz);
}

#HyphenatorToggleBox {
	display: none;
}

#cookiezustimmung {
	position: fixed;
	box-sizing: border-box;
	bottom: -250px;
	right: 0px;
	width: 100%;
	height: auto;
	padding: 30px;
	margin: 0;
	background-color: var(--dunkelblau);
	text-align: center;
	color: #FFF;
	z-index: 4000;
	transition: all 0.5s ease-in-out;
	box-shadow: 0px -20px 20px rgba(0,0,0,0.4);
}

#cookiezustimmung.show {
	bottom: 0;
	right: 0;
}

#cookiezustimmung p {
	color: #FFF;
}

#allowcookies {
	border: none;
	border-radius: 10px;
	color: var(--dunkelblau);
	background-color: var(--gelb);
	font-size: 20px;
	padding: 10px;
	transition: all 0.5s ease-in-out;
}

#allowcookies:hover {
	cursor: pointer;
	background-color: var(--hellblau);
}

.clearfix {
	clear:both;
	width: 100%;
	height: 0;
	overflow: hidden;
	position: relative;
	padding: 0;
	margin: 0;
}

.haslink {
	cursor: pointer;
}

/* -- BILDER -- */

.bildlinks {
	float: left;
	margin: 0 20px 20px 0;
}

.bildrechts {
	float: right;
	margin: 0 0 20px 20px;
}

.bildtop {
	float: none;
	margin: 0;
}

figcaption {
	font-size: 90%;
	font-style: italic;
	color:var(--hellblau);
	text-align: center;
}

figure {
	min-width: 100%;
}

audio {
	transform: scale(1.5);
	margin: 20px 20px 20px 50px;
	filter: sepia(100) hue-rotate(160deg);
}

figure img {
	width: 100%;
}

p {
	color: var(--schwarz);
	margin:10px 0;
	padding: 0;
}

.clear {clear: both;}

a {
	color:var(--dunkelblau);
	font-weight: bold;
	text-decoration: none;
}

a:hover {
	color:var(--hellblau);
	text-decoration: underline;
}

h1 {
	font-size: 180%;
	color: var(--dunkelblau);
	margin: 10px 0 20px 0;
	line-height: 100%; 
	font-weight: 400;
}

h2 {
	font-size: 140%;
	color: var(--schwarz);
	margin: 20px 0;
	padding: 0;
	font-weight: 300;
}

h3 {
	font-size: 120%;
	margin: 10px 0;
	font-weight: 300;
	line-height: 130%;
}

hr {
	border: 0; 
	height: 10px; 
	background:var(--grau3); 
	margin: 20px auto;
}

#scrollup {
	width: 40px;
	height: 30px;
	position: fixed;
	bottom: 30px;
	right: 20px;
	font-size: 40px;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
	display: none;
	background-color: var(--dunkelblau);
	border-radius: 5px;
	z-index: 1000;
	display: none;
	padding: 10px;
	color: #FFF;
	border: 2px solid #fff;
}

#scrollup.show {
	display: block;
}

#scrollup:hover {
	color: var(--hellblau);
}

#main {
	box-sizing: border-box;
	width: 100%;
	max-width: 1000px;
	position: relative;
	margin: 0 auto;
	padding: 0 20px;
	background-color: var(--weiss);
}

#main article {
	box-sizing: border-box;
}

footer {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	background-color: var(--transparent);
	margin: 0;
	padding: 20px 0;
	border-radius: 30px 30px 0 0;
}

footer p {
	color: var(--weiss);
	margin: 5px 0 0 0;
	line-height: 110%;
}

footer a,
footer a:visited {
	color: var(--hellblau);
	font-size: 90%;
}

footer article {
	box-sizing: border-box;
	padding: 0 0 20px;
	margin-left: 20px;
}

.galeriecontainer {
	clear: both;
}

.galeriethumb {
	display: inline-block;
	width: 200px;
	height: 200px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

@media only screen and (min-width: 1000px) {
		
	#cookiezustimmung {
		bottom: -500px;
		right: -500px;
		width: 500px;
		height: 500px;
		padding: 200px 20px 20px 100px;
		border-radius: 100% 0 0 0;
		text-align: right;
		box-shadow: -20px -20px 20px rgba(0,0,0,0.4);
	}

	#scrolltop {
		display: block;
		opacity: 0;
		position: fixed;
		bottom: 30px;
		right: 10px;
		width: 0px;
		height: 40px;
		border-bottom: solid 40px var(--dunkelblau);
		border-left: solid 30px transparent;
		border-right: solid 30px transparent;
		cursor: pointer;
		z-index: 2000;
		transition: all 0.3s ease-in-out;
	}

	header {
		padding-left: calc(50% - 500px);
		padding-right: calc(50% - 500px);
		background-image: url("/img/backimg.jpg");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center top;
		border-radius: 0 0 30px 30px;
	}
	
	#scrolltop.show {
		opacity: 1;
	}

	#mobilswitch {
		display: none;
	}

	nav {
		margin-top: 20px;
		max-width: 250px;
		border-radius: 20px;
		display: block;
		right: calc(50% - 500px);
		border: solid 3px var(--weiss);
		background-color: var(--transparent);
	}

	nav ul li {
		float: left;
	}

	nav ul li li {
		float: none;
	}

	nav ul li a {
		padding-left: 10px;
	}

	#logo {
		margin-left: 50px;
	}
	
	#main {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		column-gap: 30px;
	}

	#main article,
	#main article.box100 {
		flex: none;
		width: 100%;
		margin: 20px 0;
	}

	#main article.box75 {
		flex: 18;
		min-width: 65%
	}

	#main article.box66 {
		flex: 16;
		min-width: 56%;
	}

	#main article.box50 {
		flex: 12;
		min-width: 40%
	}

	#main article.box33 {
		flex: 8;
		min-width: 26%;
	}

	#main article.box25 {
		flex: 6;
		min-width: 20%;
	}

	.box_blau {
		background-color: var(--dunkelblau);
		color: var(--weiss);
		padding: 10px;
		transform: skew(-2deg);
		border-radius: 0 50px 0 50px;
		transition: all 0.5s ease-in-out;
	}

	.box_blau:hover {
		transform:skew(0deg);
	}

	.box_blau p {
		color: var(--weiss);
	}

	.box_blau h2,
	.box_blau h3 {
		color: var(--hellblau);
	}

	.box_blau a,
	.box_blau a:visited {

		width: 100%;
		padding: 10px 0;
		margin-top: 10px;
		color: var(--hellblau);
	}

	.box_hellblau {
		background-color: var(--hellblau);
		background-image: url("/img/dreieck_blau.png");
		background-position: center top;
		background-size: contain;
		background-repeat: no-repeat;
		color: var(--dunkelblau);
		padding: 10px;
	}

	.box_hellblau h2,
	.box_hellblau h3 {
		color: var(--dunkelblau);
	}

	.box_hellblau p {
		color: var(--dunkelblau);
	}

	.box_parallax {
		background-attachment: fixed;
		background-size: auto 100vh;
		background-repeat: no-repeat;
		background-position: center;
	}

	.box_backgroundimage {
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
	}

	.box_borderblau {
		border: solid 4px var(--dunkelblau);
		padding: 10px;
	}

	figure {
		min-width: 0;
	}	

	footer {
		padding-left: calc(50% - 500px);
		padding-right: calc(50% - 500px);
		display: flex;
		column-gap: 20px;
		border-radius: 50px 50px 0 0;
	}

	footer article {
		flex: 1;
	}

}