/*

Gold: #bea660
Grey: #6b6b6b

*/

*
{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html, body 
{
    width: 100%;
    height: 100%;
}

body
{
	font-size: 100%;
	font-weight: 400;
	font-family: 'PT Sans', sans-serif;
	color: #6b6b6b;
	overflow-x: hidden; 
	background-color: #fffdf9;
	line-height: 1.5em;
}

h1
{
	line-height: 0.9em;
}

.logo
{
	position: absolute;
	height: 100%;
	padding: 18px 0px;
	left: 25px;
}

.header
{
	width: 100%;
	top: 0px;
	left: 0px;
	font-size: 1.3em;
	background-color: #fffdf9;
	font-family: 'Miso', sans-serif;
}

.headerInner
{
	max-width: 1000px;
	width: 100%;
	display: block;
	margin: auto;
	position: relative;
}

.navigation ul
{
	float: right;
}

.navigation ul li 
{
	display: inline-block;
	text-transform: uppercase;
	position: relative;
}

.navigation ul li a span
{
	position: relative;
}

.navigation ul li.active a span:before
{
	content: "";
	width: 25px;
	height: 25px;
	position: absolute;
	left: -32px;
	top: 50%;
	transform: translateY(-50%);
	background-image: url('/media/Pmp-Original-Maennchen.png');
	background-size: 100%;
	background-position: center;
	background-repeat: no-repeat;
}

/*.navigation ul li a span:after
{
	content: "";
	position: absolute;
	width: 0%;
	height: 1.5px;
	left: -3px;
	top: 50%;
	transform: translateY(-50%);
	background-color: #6b6b6b;
	transition: width 0.2s;
}

.navigation ul li:hover a span:after
{
	width: calc(100% + 6px);
}

.navigation ul li.active a span:after
{
	width: calc(100% + 6px);
	background-color: #bea660;
}*/

.navigation ul li.active a
{
	color: #bea660;
}

.navigation a
{
	display: block;
	padding: 60px 25px 30px;
	color: #6b6b6b;
	text-decoration: none;
}

.header.fixed
{
	position: fixed;
	top: -100px;
	left: 0px;
	transition: top 0.4s;
}

.header
{
	z-index: 10000000;
	box-shadow: 0px 0px 5px rgba(0,0,0,0.2);
}

.header.fixed.shown
{
	top: 0px;
}

.header.fixed .navigation a
{
	padding: 30px 25px 15px;
}

.header.fixed .logo
{
	padding: 12px 0px;
}

.clear
{
	clear: both;
}

body.safari #openerImage
{
	background-attachment: scroll;
}

#openerImage
{
	width: 100%;
	padding-bottom: 28%;
	background-size: cover;
	background-position: center;
	border-bottom: 5px solid #bea660;
	position: relative;
	/*background-attachment: fixed;*/
}

.slide
{
	position: absolute;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
}

h1
{
	font-family: 'Miso', sans-serif;
	font-weight: 300;
	font-size: 3em;
	color: #bea660;
	text-transform: uppercase;
	text-align: right;
}

.text
{
	max-width: 1000px;
	padding: 0px 25px;
	display: block;
	margin: auto;
	margin: 60px auto;
}

#footer .headerInner
{
	max-width: 950px;
}

#footerImg
{
	background-size: cover;
	background-position: center;
}

#footer
{
	background-color: rgba(0,0,0,0.4);
	padding: 30px 25px;
	color: #fff;
	font-family: 'Miso';
	text-transform: uppercase;
}

#footer strong
{
	font-weight: 300;
	font-family: 'Miso-Bold';
}

#footer a 
{
	color: #fff;
	text-decoration: none;
}

#imprint
{
	float: right;
}

#copy
{
	float: left;
}

.text.centered
{
	text-align: center;
}

#slogan
{
	background-color: rgba(0,0,0,0.5);
	color: #fff;
}

#slogan h2
{
	color: #fff;
}

#slogan .text
{
	margin: 0px auto;
	padding: 40px 25px;
}

.text a
{
	position: relative;
	color: #bea660;
	text-decoration: none;
}

.text ul, .text ol
{
	margin-left: 1em;
}

#footer a
{
	position: relative;
}

.text a:after, #footer a:after
{
	content: "";
	position: absolute;
	width: 0px;
	height: 1px;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0px;
	background-color: #bea660;
	transition: width 0.2s;
}

#footer a:after
{
	background-color: #fff;
}

.text a:hover:after, #footer a:hover:after
{
	width: calc(100% + 0px);
}

h3
{
	font-weight: 400;
	font-size: 1.2em;
	margin-bottom: 0.8em;
	line-height: 1.1em;
}

h2
{
	font-family: 'Miso';
	text-transform: uppercase;
	font-weight: 300;
	font-size: 1.9em;
	margin-bottom: 0.2em;
	line-height: 1.1em;
	color: #bea660;
}

.clear
{
	clear: both;
}

.left, .right
{
	width: calc(50% - 13px);
}

.left
{
	float: left;
	position: relative;
}

.right
{
	float: right;
	position: relative;
}

.left.withText, .right.withText
{
	padding: 30px 0px;
}

.left p, .left h2
{
	text-align: right;
}

.left.withText h2
{
	display: block;
	background-color: #fffdf9;
	z-index: 1000;
	margin-right: -80px;
	padding: 20px;
	position: relative;
}

.right.withText h2
{
	display: block;
	background-color: #fffdf9;
	z-index: 1000;
	margin-left: -80px;
	padding: 20px;
	position: relative;
}

.right p, .right h2
{
	text-align: left;
}

.right
{
	background-size: cover;
	background-position: center;
	margin-left: 26px;
}

.left
{
	background-size: cover;
	background-position: center;
}

.left.withImg, .right.withImg
{
	overflow: hidden;
}

.left img, .right img
{
	display: none;
}

.left .inner, .right .inner
{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-size: cover;
	transition: all 0.2s;
	background-position: center;
}

.left:hover a> .inner, .right:hover a> .inner
{
	transform: scale(1.2);
}

.fancybox
{
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	cursor: zoom-in;
}

.fancybox:after
{
	background-color: transparent!important;
}

.grid
{
	width: 100%;
	height: auto;
	position: relative;
	display: block;
}

.gridElement
{
	height: 160px;
	background-size: 90% auto;
	background-position: center;
	background-repeat: no-repeat;
}

input, button, textarea
{
	-webkit-appearance: none;
   	-moz-appearance: none;
   	appearance: none;
   	box-shadow: none;
   	border-radius: 0px;
}
input[type='checkbox']{
	-webkit-appearance: checkbox;
   	-moz-appearance: checkbox;
   	appearance: checkbox;	
}

input:not([type='checkbox']), textarea
{
	font-family: 'PT Sans', sans-serif;
	color: #6b6b6b;
	font-size: 1em;
	width: 100%;
	padding: 10px;
	border: none;
	border-bottom: 2px solid #bea660;
	margin: 0.5em 0em 1em;
	background-color: transparent;
}

textarea
{
	height: 120px;
	resize: none;
}

input:focus, textarea:focus
{
	box-shadow: 0px 0px 5px rgba(0,0,0,0.2);
}

label
{
	margin-bottom: 0.3em;
	font-size:80%;
}

button
{
	width: 100%;
	color: #fff;
	text-align: center;
	background-color: #bea660;
	cursor: pointer;
	padding: 14px 12px 12px;
	border: none;
	font-family: 'Miso', sans-serif;
	font-size: 1.3em;
	text-transform: uppercase;
	margin-top: 0.6em;
	transition: background-color 0.2s;
}

button:hover
{
	background-color: #87733b;
}

.alert.alert-danger
{
	display: none;
}

.has-error input, .has-error textarea
{
	border-bottom: 2px solid red;
}

.has-error label
{
	color: red;
}

#socialMedia
{
	padding: 12px 0px 5px;
	background-color: #bea660;
	text-align: center;
}

.social
{
	display: inline-block;
	width: 32px;
	height: 32px;
	margin: 0px 0.8em;
	background-size: 90%;
	background-position: center;
	background-repeat: no-repeat;
}

#facebook
{
	background-image: url(facebook.svg);
}

#instagram
{
	background-image: url(instagram.svg);
}

@media all and (max-width: 550px){
	#openerImage
	{
		padding-bottom: 0%;
		height: 190px;
	}

	.gridElement
	{
		height: 90px!important;
	}
}

@media all and (max-width: 580px){
	body
	{
		font-size: 100%;
	}

	h1
	{
		font-size: 2.2em;
		text-align: center;
	}

	.text p
	{
		font-size: 0.9em;
	}

	#slogan p
	{
		font-size: 0.9em;
	}

	h3
	{
		font-size: 1em;
	}

	h2
	{
		font-size: 1.4em;
	}

	.text
	{
		margin: 40px auto;
	}

	#slogan .text
	{
		padding: 30px 25px;
	}

	#footer
	{
		padding: 20px 25px;
	}

	#imprint, #copy
	{
		float: none;
		text-align: left;
		display: block;
	}

	#socialMedia
	{
		padding: 10px 0px 4px;
	}

	.social
	{
		width: 28px;
		height: 28px;
	}
}

@media all and (max-width: 700px){
	.header.relative
	{
		position: fixed;
		font-size: 1.3em;
		height: 85px;
	}

	#burger
	{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 36px;
		width: 36px;
		height: 35px;
		background-color: #bea660;
		cursor: pointer;
		transition: all 0.3s;
	}

	#burger.active
	{
		background-color: #6b6b6b;
		right: 82px;
	}

	.line
	{
		position: absolute;
		width: calc(100% - 10px);
		height: 2px;
		left: 50%;
		transform: translateX(-50%);
		background-color: #fff;
		transition: all 0.3s;
	}

	#burger .line:nth-child(1)
	{
		top: 8px;
	}

	#burger .line:nth-child(2)
	{
		top: 50%;
		transform: translate(-50%, -50%);
	}

	#burger .line:nth-child(3)
	{
		bottom: 8px;
	}

	#burger.active .line
	{
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	#burger.active .line:nth-child(1)
	{
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	#burger.active .line:nth-child(2)
	{
		opacity: 0;
	}

	#burger.active .line:nth-child(3)
	{
		transform: translate(-50%, -50%) rotate(45deg);
		bottom: auto;
	}

	#openerImage
	{
		margin-top: 85px;
	}

	.headerInner
	{
		height: 100%;
	}

	.logo
	{
		padding: 10px 0px;
	}

	.header.relative .navigation
	{
		position: fixed;
		height: 100%;
		top: 0px;
		background-color: #fffdf9;
		width: 200px;
		right: -200px;
		overflow: auto;
		transition: right 0.3s, box-shadow 0.3s;
	}

	.header.relative .navigation.shown
	{
		box-shadow: 0px 0px 8px rgba(0,0,0,0.5);
		right: 0px;
	}

	.header.relative .navigation ul li
	{
		display: block;
		text-align: center;
	}

	.navigation ul
	{
		float: none;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 100%;
	}

	.navigation ul.oversized
	{
		float: none;
		position: relative;
		padding-top: 70px;
		padding-bottom: 15px;
		top: 0;
		transform: translateY(0%);
		width: 100%;
	}

	.header.fixed .navigation
	{
		display: none!important;
	}

	.header.relative .navigation a
	{
		padding: 10px 15px;
	}

	.left.withImg, .right.withImg
	{
		display: none;
	}

	.left.withText, .right.withText
	{
		width: 100%;
		margin-left: 0px;
		padding: 0px;
	}

	.left.withText p, .right.withText p, .left.withText h2, .right.withText h2
	{
		text-align: center;
	}

	.left.withText h2
	{
		margin-right: 0px;
		padding: 0px;
	}

	.right.withText h2
	{
		margin-left: 0px;
		padding: 0px;
	}

	.left img, .right img
	{
		display: block;
		width: 100%;
		margin-bottom: 30px;
	}
}

@media all and (min-width: 551px) and (max-width: 980px){
	#openerImage
	{
		padding-bottom: 40%;
	}

	.gridElement
	{
		height: 130px;
	}
}

@media all and (min-width: 1450px){
	body
	{
		font-size: 108%;
	}

	.headerInner, .text
	{
		max-width: 1200px;
	}

	#footer .headerInner
	{
		max-width: 1130px;
	}

	.text
	{
		padding: 0px 35px;
		margin: 90px auto;
	}

	#slogan .text
	{
		padding: 45px 35px;
	}

	#footer 
	{
		padding: 38px 35px;
	}

	#openerImage
	{
		padding-bottom: 30%;
	}

	.navigation a
	{
		display: block;
		padding: 70px 35px 40px;
		color: #6b6b6b;
		text-decoration: none;
	}

	.header.fixed .navigation a
	{
		padding: 35px 35px 20px;
	}

	.logo
	{
		left: 35px;
	}

	.navigation ul li.active a span:before
	{
		width: 27px;
		height: 27px;
		left: -35px;
	}

	.gridElement
	{
		height: 170px;
	}
}