/* libre-baskerville-regular - latin */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/libre-baskerville-v7-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Libre Baskerville'), local('LibreBaskerville-Regular'),
       url('/fonts/libre-baskerville-v7-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/libre-baskerville-v7-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/libre-baskerville-v7-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/fonts/libre-baskerville-v7-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/libre-baskerville-v7-latin-regular.svg#LibreBaskerville') format('svg'); /* Legacy iOS */
}
/* libre-baskerville-italic - latin */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: italic;
  font-weight: 400;
  src: url('/fonts/libre-baskerville-v7-latin-italic.eot'); /* IE9 Compat Modes */
  src: local('Libre Baskerville Italic'), local('LibreBaskerville-Italic'),
       url('/fonts/libre-baskerville-v7-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/libre-baskerville-v7-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/libre-baskerville-v7-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('/fonts/libre-baskerville-v7-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/libre-baskerville-v7-latin-italic.svg#LibreBaskerville') format('svg'); /* Legacy iOS */
}
/* libre-baskerville-700 - latin */
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/libre-baskerville-v7-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Libre Baskerville Bold'), local('LibreBaskerville-Bold'),
       url('/fonts/libre-baskerville-v7-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/libre-baskerville-v7-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/libre-baskerville-v7-latin-700.woff') format('woff'), /* Modern Browsers */
       url('/fonts/libre-baskerville-v7-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/libre-baskerville-v7-latin-700.svg#LibreBaskerville') format('svg'); /* Legacy iOS */
}

* {
	margin: 0;
	padding: 0;
	border: none;
}

body {
	background-color: rgb(95,100,105);
	color: #222;
	font-family: "Libre Baskerville", serif;
	font-size: 42px;
	font-weight: 100;
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
}

h1 {
	font-weight: bold;
}

p {
	font-size: 30px;
}

a, a:hover, a:visited {
	color: #222;
	text-decoration: none;

}

#wrapper,
#stage {
	margin: auto auto;
	width: 100%;
	height: 100%;	
	display: block;
/* 			max-height: 1139px; */
	position: relative;
	overflow-x: hidden;
	background-color: rgb(95,100,105);
}

#wrapper {	
	position: fixed;
	border-bottom: 2px solid #fff;			
}

#stage {
	width: 100%;
	max-width: 2440px;
	background: url('../images/background.jpg') center center no-repeat;
	background-size: cover;
/* 			border: 12px solid white; */
	border-top: none;
/* 			border-bottom-width: 92px; */
	overflow-y: hidden;
	background-color: #F0E9D8;
}

#ritter, 
#banner {
	width: 943px;
	min-height: 570px;						
	height: 100%;
	position: absolute;			
	left: 50%;
	bottom: 0;
	background: url('../images/ritter-PIB-v2.png') center center no-repeat;
	background-size: contain;
	background-position: center bottom;
	display: block;
	z-index: 15000;
	transform-origin: bottom center;
}

#ritter.enhanced {
	-webkit-mask-image: -webkit-gradient(linear, left 90%, left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
	z-index: 30000;
}

#banner {
	width: 453px;
	height: 100%;
	max-height: 500px;
	top: 100px;
	bottom: none;
	background: none;
/*
	background: url('../../images/banner-h500px.png') center center no-repeat;
	background-position: center center;			
*/			
	transform-origin: left center;
	opacity: 0;
	z-index: 16000;
}

#banner h2 {
	font-size: 30px;
	padding: 10px;
	width: 80%;
	margin: 0 auto;
	padding: 80px 20px 80px 70px;			
	line-height: 1.6em;
	display: block;		
	font-weight: 400;	
	color: rgb(25,25,25);
	text-shadow: 0px 0px 20px white;
}
#banner h2 span {
	font-size: 2.2em;
	display: inline-block;
	margin-right: -8px;
	color: rgb(125,125,125);
}		
#ritter:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	min-height: 570px;						
	height: 100%;
	content: '';
	display: block;
/* 			background: linear-gradient(180deg, rgba(95,100,105,0) 92%, rgba(95,100,105,1) 100%); */
}
.wall-left,
.wall-right {
	height: 100%;
	position: absolute;			
	top: 0;
	width: 50%;
	display: block;
	opacity: 1;
/* 			transition: 1s all; */
	z-index: 14000;
	opacity: 0;
}
.wall-left {
	background: url('../images/wall-left.gif') right center no-repeat;
	background-size: cover;						
/* 			transform: translateX(-100%) scaleX(1.15);		 */	
	left: 50%;
}
.wall-right {
	background: url('../images/wall-right.gif') left center no-repeat;						
	background-size: cover;						
/* 			transform: translateX(100%) scaleX(1.15);						 */
	right: 50%;
}


#stage:after,
#wrapper:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	display: block;
	background-color: rgb(95,100,105);			
	background: linear-gradient(180deg, rgba(95,100,105,0) 85%, rgba(95,100,105,1) 100%), 
	radial-gradient(circle, rgba(95,100,105,0) 0%, rgba(95,100,105,1) 100%);
	z-index: 16000;
}
#wrapper:after {
	background-color: rgb(95,100,105);
	background: linear-gradient(90deg, rgba(95,100,105,1) 3%, rgba(95,100,105,0) 20%, rgba(95,100,105,0) 80%, rgba(95,100,105,1) 97%), 
	linear-gradient(180deg, rgba(95,100,105,0) 85%, rgba(95,100,105,1) 100%);
}		

#footer, #copy, #datenschutz {
	width: 100%;
	max-width: 1120px;
	background-color: rgba(25,25,25,0.8);
	padding: 50px 40px 12vh 40px;
	margin: -20px auto 0;
	font-size: 20px;
	border-bottom: none;
	box-shadow: 0px 220px 200px #000;
	text-align: center;
	border-top: 2px solid white;
	z-index: 24000;
}

#footer,
#footer h1, #footer h2, #footer h3, #footer h4, #footer h5,
#footer p,
#footer a {
	color: rgb(95,100,105);	
	font-weight: 100;
}

#copy, 
#datenschutz {
	background-color: transparent;
	color: #222;
	box-shadow: none;
	border-top: none;
	font-size: 14px;
	margin-top: 40px;
	padding-bottom: 60px;
	z-index: 22000;
	max-height: 400px;
	overflow-y: auto;
	position: relative;
}

#copy, 
#datenschutz,
#datenschutz h1, #datenschutz h2, #datenschutz h3, #datenschutz h4, #datenschutz h5,
#datenschutz p,
#datenschutz a,
#copy h1, #copy h2, #copy h3, #copy h4, #copy h5,
#copy p,
#copy a {
	color: rgb(55,55,55);	
	font-weight: 400;
	text-align: left;
}

#copy h1,
#datenschutz h1,
#footer h1 {
/* 			margin-bottom: 0.8em; */
	font-size: 40px;
	padding-left: 4%;
	padding-right: 4%;
	
}

#footer a,
#footer,
#copy a,
#datenschutz a  {
	transition: .3s opacity;
}

#footer a.active {
	border-bottom: 2px solid #ccc;
}
#footer h1 a:hover {
	border-bottom: none;
}

#footer h1:hover,
#footer a:hover,
#copy a:hover,
#datenschutz a:hover,
#footer a.active {
	opacity: 0.8;
}

#footer:hover {
/* 			opacity: 0.9; */
}

#footer a:hover {
	cursor: pointer;
}

#footer p, #footer p a,
#copy p, #copy p a,
#datenschutz p, #datenschutz p a {
	font-size: 16px;
	margin-bottom: 0.8em;			
	color: white;
}
#copy p,
#datenschutz p {
	color:#ccc;
	font-weight: 400;
}

#datenschutz strong {
	display: block;
	margin-top: 2em;
	opacity: 0.8;
}
#footer p {
	margin-top: 2em;
	width: 40%;
	display: inline-block;			
	float: left;
	text-align: left;
	padding: 0px 5%;
	vertical-align: bottom;
}
#footer p:last-child {
	text-align: right;
}
span.middot {
	margin-left: .4em;
	margin-right: .4em;
}
span.inline {
	display: inline-block;
}

.content {
	position: relative;
	overflow-x: hidden;			
}

.content:after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(180deg, rgba(95,100,105,1) 0%, rgba(95,100,105,0) 15%, rgba(95,100,105,0) 85%, rgba(95,100,105,1) 100%);
	z-index: 26000;
	pointer-events: none;
	overflow-x: hidden;
}

.lens-flare {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: radial-gradient(circle, rgba(231, 225, 207,0) 0%, rgba(231, 225, 207,1) 100%); /* orange white: 231, 225, 207 */
	background-position: 50% 50%;
	z-index: 16000;
	pointer-events: none;
	opacity: 0;
	overflow: visible;
}

#ritter, .wall-left, .wall-right {
	opacity: 0;
}

@media (min-width: 2440px) { 
	
	#stage:after {
		background: linear-gradient(90deg, rgba(95,100,105,1) 0%, rgba(95,100,105,0) 20%, rgba(95,100,105,0) 80%, rgba(95,100,105,1) 100%), 
		linear-gradient(180deg, rgba(95,100,105,0) 85%, rgba(95,100,105,1) 100%), 
		radial-gradient(circle, rgba(95,100,105,0) 0%, rgba(95,100,105,1) 100%);
	}
	
}
@media (max-width: 2440px) { 		
	#footer, #copy, #datenschutz {
		width: 65%;
	}
}

@media (max-width: 1440px) { 
	#wrapper:after {
		background: none;
	}
	
	#stage:after {
		background: linear-gradient(180deg, rgba(95,100,105,0) 85%, rgba(95,100,105,1) 100%), 
		radial-gradient(circle, rgba(95,100,105,0) 0%, rgba(95,100,105,1) 100%);
	}
}
@media (max-width: 1720px) { 

	#footer h1,
	#footer h1 a {
		font-size: 36px !important;
	}

}
@media (max-width: 1500px) { 

	#footer h1,
	#footer h1 a {
		font-size: 32px !important;
	}

}
@media (max-width: 1360px) { 

	#footer h1,
	#footer h1 a {
		font-size: 30px !important;
	}

}

@media (max-width: 1200px) { 
	#footer, #copy, #datenschutz {
		text-align: left;	
		font-size: 18px;
	}
	#footer span.hideMeOnMobile {
		display: none;
	}
	#footer h1 span.hideMeOnMobile {
		display: inline-block;
	}
	#footer h1,
	#footer h1 a {
		font-size: 24px;	
		font-weight: 900;
	}
	#footer h1,
	#footer h1 a {
		font-size: 24px;	
		font-weight: 900;
	}

	#footer p {
		display: block;
		float: none;	
		width: 95%;
	}
	#footer p:last-child {
		text-align: left;	
	}
	.footer p,
	.footer a {
		font-size: 16px;
		margin-left: 3em;
		margin-right: 3em;				
	}
	span.middot {
		display: none;	
	}
	#footer span.middot {
		width: 100%;
		display: block;
		opacity: 0;
	}
	#banner {
		top: 0px;	
		width: 30%;
	}
}		
@media (max-width: 800px) {
	#banner h2 {

	}
	#banner {
		top: 0px;	
		width: 50%;
	}
	#footer, 
	#copy,
	#datenschutz {
		padding-left: 20px;
		padding-right: 20px;				
		width: 85%;
	}
	#footer span.hideMeOnMobile {
		display: none;
	}
	#footer h1 span.hideMeOnMobile {
		display: none;
	}
}
@media (max-height: 600px) {
		
		#banner {
			top: 20px;	
		}
		
		#banner h2 {
			padding-top: 0px;
			padding-bottom: 0px;
		}
}
@media (min-height: 1200px) {
		
		#banner {
			top: 30%;	
		}
		
}