* {
	font-family: 'Open Sans', sans-serif;
	font-size:14px;
	font-weight: 400;
	color: #494d4e;
	border:0px;
	border-radius: 0px;
	border-collapse:collapse;
	webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust:none;
   	-webkit-appearance: none;
    outline: 0;
}
html,body {
	padding:0px;
	margin:0px;
	height:100%;
	width:100%;
}
article, aside, footer, header, hgroup, main, nav, section {
    display: block;
}
h1{
	font-weight:600;
	font-size: 35px;
	margin: 10px 0 20px 0;
}
h2{
	font-weight:600;
	font-size: 30px;
	margin: 60px 0 5px 0;	
}
p, li, a{
	font-size: 16px;	
}
strong,
strong > a{
	font-weight:600;
}

img.back{
	display: block;
	padding: 10px 0 0 0;
	margin: 0 auto;
	width: 35px;
	cursor: pointer;
}

p.back{
	text-align: center;
	margin: 0 auto 50px auto;
	padding: 0;
	width: 100px;
	font-size: 14px;
	cursor: pointer;
}
#map{
	height: 40vh;
	width: 100%;
	margin: 60px 0 0 0;
}
iframe{
	width: 100%;
	height: 40vh;
	margin: 60px 0 0 0;
}
/*Nav bar */
nav{
	width: 100%;
	height: 80px;
	top: 0;
	position: fixed;
	display: block;
	background-color: white;
	z-index: 60;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.1);
}
	nav > div{
		width: calc(100% - 100px);
		height: 80px;
		display: block;
		padding: 0;
		margin: 0 auto;
		top: 0;
	}
		nav > div > a{
			width: 110px;
			height: auto;	
			margin: 12px 0;
			padding: 0;
			display: inline-block;
		}
			nav > div > a > img{
				height: auto;
				width: 100%;
			}
		nav > div > a:first-of-type{
			float: left;
			width: 30px;
			margin: 25px 0 0 0;
		}
		nav > div > a:last-of-type{
			margin: 10px 0 0 calc(50% - 85px);
		}
		nav > div > div#menu {
			position: absolute;
			right: 50px;
			top: 24px;
			z-index: 99;
			cursor: pointer;
		}
			nav > div > div#menu > ul{
				padding: 0;
				list-style: none;
				margin: 0;
			}
				nav > div > div#menu > ul > li{
					position: relative;
					background-color: #e14753;
					display: block;
					height: 5px;
					width: 45px;
					margin-bottom: 8px;
					transition:.6s ease-out;
				}
	nav > ul{
		display: none;
		width: calc(100% - 100px);
		max-width: 1500px;
		height: auto;
		margin:	 calc((100vh - 400px) / 2) auto 0 auto;
		padding: 0;
	}
		nav > ul > li{
			display: inline-block;
			list-style: none;
			width: calc(100% / 4);
			vertical-align: top;
			text-align: center;
		}
			nav > ul > li > a{
				width: 100%;
				color: white;
				text-decoration: none;
				font-size: 26px;
				font-weight:600;
			}
			nav > ul > li > ul{
				width: 100%;
				height: 100%;
				display: block;
				padding: 0;
			}
				nav > ul > li > ul > li{
					width: 100%;
					margin: 15px 0 0 0;
					list-style: none;
				}
					nav > ul > li > ul > li > a{
						color: white;
						text-decoration: none;
						font-size: 20px;
					}
	nav > footer{
		display: none;
		position: fixed;
		width: 100%;
		height: 80px;
		bottom: 0;
	}
		nav > footer > p{
			width: calc(100% - 60px);
			color: white;
			text-align: center;
			vertical-align:top;
			margin: 0 auto 20px auto;
			font-size: 14px;
		}
		nav > footer > p > a{
			position: relative;
			width: auto;
			color: white;
			text-align: center;
			vertical-align:top;
			text-decoration: none;
			margin: 0 auto 20px auto;
			font-size: 14px;
		}
		nav > footer > p > a:before {
			content: "";
			position: absolute;
			width: 100%;
			height: 1px;
			bottom: 0;
			left: 0;
			background-color:  white;
			visibility: hidden;
			-webkit-transform: scaleX(0);
			transform: scaleX(0);
			-webkit-transition: all 0.3s ease-in-out 0s;
			transition: all 0.3s ease-in-out 0s;
		}
		nav > footer > p > a:hover:before{
			visibility: visible;
			-webkit-transform: scaleX(1);
			transform: scaleX(1);
		}	

/*---------------------------------------------------------*/
section.impressum{
	margin: 100px 0 0 0;
	border: 0;
	height: auto;
}
/*------------------------------------*/
/*Home Page*/
section.homeHeader{
	position: static;
	width: 100%;
	height: calc(100vh - 90px);
	margin: 80px auto 0 auto;
}
	section.homeHeader > article{
		display: inline-block;
		width: calc((100% - 100px) / 4);
		height: calc(100% - 50px);
		text-align: center;
	}
	section.homeHeader > article:first-child{
		margin: 0 0 0 50px;
	}

		section.homeHeader > article > aside{
			display: block;
			width: 100%;
			height: calc(100% - 100px);
			overflow: hidden;
		}	
		section.homeHeader > article > aside >a{
			display: block;
			width: 100%;
			height: 100%;
			background-size: cover;
			background-repeat: no-repeat;
			background-position: center;
			transition: 0.5s;
		}	

		section.homeHeader > article > aside > a:hover{
			transform: scale(1.05);
			transition: 0.5s;
		}
		section.homeHeader > article > h2{
			font-size: 23px;
			width: 160px;
			height: 100px;
			margin: 20px auto;
			padding: 0;
		}
	section.homeHeader > img{
		display: block;
		width: auto;
		height: 25px;
		margin: 0 auto;
		cursor: pointer;
	}
	section.homeHeader > img:hover {
		margin: 10px auto 0 auto;
		transition: 0.3s;
	}

/*Content in the page*/
section{
	display: block;
	margin: 80px 0 0 0;
	width: 100%;
	height: auto;
	border-width: 0 0 3px 0;
	border-color: #eee;
	border-style: solid;
}
	section > header{
		display: block;
		height: 700px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
	}
	section > h1, section > h2{
		text-align: center;
	}
/*------------------------------------------------------------------*/
	section > article.txt{
		display: block;
		width: calc(100% - 60px);
		max-width: 700px;
		margin: 0 auto;
		padding: 20px 0 0 0;
		text-align: center;
	}
		section > article.txt h1{
			padding: 20px 0 0 0;
		}
		section > article.txt p{
			line-height: 30px;
		}
/*------------------------------------------------------------------*/
	section > article.homeTxt{
		display: block;
		width: calc(100% - 60px);
		max-width: 700px;
		margin: 0 auto;
		text-align: center;
	}
		section > article.homeTxt button{
			padding: 10px 30px;
			margin: 0 0 40px 0;
			width: auto;
			height: auto;
			cursor: pointer;
			text-align: center;
			vertical-align: middle;
			background-color: #e14753;
			color: white;
			font-weight:700;
			font-size: 20px;
		}
		section > article.homeTxt h1{
			padding: 50px 0 0 0;
		}
		section > article.homeTxt p{
			line-height: 30px;
			margin: 32px auto;
		}
/*------------------------------------------------------------------*/
	section > article.centerTxt{
		display: block;
		margin: 0 auto;
		text-align: center;
	}
		section > article.centerTxt p{
			margin: 0;
			line-height: 30px;
		}
/*--------------------------------------------------------------------*/
	section > article.imgTxt{
		position: relative;
		display: block;
		width: 100%;
		min-height: 200px;
		text-align: center;
		margin: 0 0 5px 0;
		cursor: pointer;
		overflow: hidden;
	}
	section > article.imgTxt > aside {
		position: absolute;
		width: 100%;
		height: 100%;
		min-height: 200px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		transition: 0.5s;
	}
	section > article.imgTxt:hover > aside{
		transform: scale(1.05);
		transition:0.5s;
	}
	section > article.imgTxt > div{
		position: relative;
		width: 100%;
		min-height: 200px;
		display: block;
		background-color: rgba(0, 0, 0, 0.5);
	}
	section > article.imgTxt > div h1, section > article.imgTxt > div h2{
		color: white;
		padding: 40px 0 20px 0;
		margin: 0;
	}
	section > article.imgTxt > div p{
		color: white;
		max-width: 700px;
		width: calc(100% - 60px);
		margin: 0 auto;
		display: none;	
		text-align: justify;
	}
	section > article.imgTxt > div a{
		color: white;
	}
	section > article.imgTxt > div a.button{
		padding: 10px 30px;
		margin: 0 0 40px 0;
		width: auto;
		height: auto;
		cursor: pointer;
		text-align: center;
		vertical-align: middle;
		background-color: #e14753;
		color: white;
		font-weight:700;
		font-size: 20px;
		text-decoration: none;
	}
	section > article.imgTxt > div img{
		cursor: pointer;
		width: 40px;
		margin: 50px 0 40px 0;
		padding: 0;
	}
/*------------------------------------------------------------*/
section.oldRest, section.blog{
	display: block;
	height: auto;
	width: calc(100% - 100px);
	max-width: 1200px;
	margin: 50px auto;
	border: 0;
}
section.lastBlog{
	display: block;
	height: auto;
	width: calc(100% - 100px);
	margin: 20px auto;
	border: 0;
}
	section.oldRest > div, section.blog > div{
		width: calc(100% - 100px);
		display: block;
		margin: 0 auto 30px auto;
		height: auto;
		text-align: center;
	}
		section.oldRest > div > button, section.blog > div > button{
			width: auto;
			background-color: transparent;
			margin: 0 10px 10px 0;
			padding: 5px 20px;
			border-width: 2px;
			border-color: black;
			border-style: solid;
			font-size: 16px;
			cursor: pointer;
		}
		section.oldRest > div > button.activ, section.blog > div > button.activ{
			color: white;
			background-color: #e14753;
			border-color: #e14753;
		}
	section.oldRest > a, section.blog > a, section.lastBlog > a {
		position: relative;
		display: inline-block;
		width: calc((100% - 21px) / 3);
		height: 100px;
		margin: 10px 0 0 10px;
		cursor: pointer;
		vertical-align: top;
		overflow: hidden;
	}
	section.oldRest > a:nth-of-type(3n+1), section.blog > a:nth-of-type(3n+1), section.lastBlog > a:first-of-type{
		margin-left: 0;
	}
		section.oldRest > a > article, section.blog > a > article, section.lastBlog > a > article {
			width: 100%;
			height: 100%;
			background-repeat: no-repeat;
			background-position: center;
			background-size: cover;
			transform: none;
  			transition: 0.5s;
		}
		section.oldRest > a:hover > article, section.blog > a:hover > article, section.lastBlog > a:hover > article {
  			transform: scale(1.05);
  			transition: 0.5s;
		}
			section.oldRest > a > div, section.blog > a > div, section.lastBlog > a > div  {
				position: absolute;
				width: 100%;
				height: auto;
				bottom: 0;
				display: block;
				background-color: rgba(255,255,255,0.8);
			}
				section.oldRest > a > div h1, section.blog > a > div h1, section.lastBlog > a > div h1 {
					font-weight:600;
					font-size: 24px;
					width: calc(100% - 80px);
					margin: 5px auto 0 auto;
					white-space: nowrap;
					overflow: hidden;
					text-overflow: ellipsis;
				}
				section.oldRest > a > div h1 {
					margin: 10px auto;
				}
				section.oldRest > a  > div p, section.blog > a  > div p, section.lastBlog > a  > div p {
					font-size: 16px;
					color: #e14753;
					width: calc(100% - 80px);
					margin: 0 auto;
				}
				section.blog > a  > div p:last-child, section.lastBlog > a  > div p:last-child,section.oldRest > a  > div p:last-child {
					font-size: 16px;
					font-weight:600;
					color: #e14753;
					width: calc(100% - 80px);
					margin: 4px auto 10px auto;
				}

/*--------------------------------------------------------------*/
section.team{
	margin: 20px auto 50px auto;
	width: calc(100% - 100px);
	max-width: 900px;
	border: 0; 
}
	section.team > article{
		position: relative;
		width: calc((100% - 10px) / 2);
		height: auto;
		margin: 0 10px 10px 0;
		display: inline-block;
		vertical-align: top;
	}
		section.team > article:nth-of-type(even){	
			margin: 0 0 10px 0;
		}
		section.team > article > img{
			width: 100%;
			max-width: 300px;
			height: auto;
			display: block;
			margin: 0 auto;
		}
		section.team > article > div{
			display: block;
			width: 100%;
			height: auto;
			margin: 0;
			background-color: #2c2c2c;
			text-align: center;
			padding: 0 0 20px 0;

			position: absolute;
			bottom: 0;
		}
			section.team > article > div h1{
				color: white;
				padding: 27px 0 10px 0;
				margin: 0;
				font-size: 25px;
			}
			section.team > article > div p{
				width: calc(100% - 100px);
				padding: 0 50px 20px 50px;
				line-height: 30px;
				margin: 0;
				color: white;
			}
			section.team > article > div a{
				position: relative;
				width: auto;
				color: #e14753;
				text-decoration: none;
			}
			section.team > article > div a:before {
				content: "";
				position: absolute;
				width: 100%;
				height: 1px;
				bottom: 0;
				left: 0;
				background-color:  #e14753;
				visibility: hidden;
				-webkit-transform: scaleX(0);
				transform: scaleX(0);
				-webkit-transition: all 0.3s ease-in-out 0s;
				transition: all 0.3s ease-in-out 0s;
			}
			section.team > article > div a:hover:before{
				visibility: visible;
				-webkit-transform: scaleX(1);
				transform: scaleX(1);
			}	

/*-----------------------------------------------------------------*/
section.car{
	width: calc(100% - 100px);
	max-width: 1000px;
	height: auto;
	margin: 120px auto 0 auto;
	border: none;
}
	section.car > article{
		width: 100%;
		height: auto;
		padding: 0 0 50px 0;
	}
		section.car > article h1{
			text-align: center;
		}
		section.car > article h2{
			width: calc(100% - 400px);
			margin: 0 auto 60px auto;
			text-align: center;
			font-size: 16px;
			font-weight:400;
		}
		section.car > article p{
			margin: 8px 0 8px 0;
		}
			section.car > article > p span:first-child{
				display: inline-block;
				font-size: 16px;
				font-weight:700;
				color: #e14753;
				text-align: right;
				width: 200px;
				vertical-align: top;
			}
			section.car > article > p span:last-child{
				display: inline-block;
				font-size: 16px;
				font-weight:400;
				text-align: left;
				width: calc(100% - 240px);
				padding: 0 0 0 40px;
			}


/*-----------------------------------------------------------------*/

@media (max-height: 650px){
	nav > footer{
		position: static;
	}
}
@media (max-width: 1000px){
	nav > div > div#menu {
		right: 20px;
	}
	nav > div{
		width: calc(100% - 40px);
	}
	nav > ul{
		width: 100%;
		height: auto;
		margin: 40px 0 0 0;
	}
		nav > ul > li{
			display: block;
			width: 100%;
			vertical-align: middle;
			text-align: center;
			padding: 10px 0 10px 0;
		}
			nav > ul > li > ul{
				padding: 0;
			}
				nav > ul > li > ul > li{
					width: 100%;
					margin: 15px 0 0 0;
					list-style: none;
				}
	nav > footer{
		height: auto;
	}
/*------------------------------------------------------------*/
	section.homeHeader{
		min-height: calc(100vh - 90px);
		height: auto;		
	}
		section.homeHeader > article{
			display: block;
			width: 100%;
			height: calc((100vh - 160px) / 4);
			/*min-height: 250px;*/
		}
		section.homeHeader > article:first-child{
			margin: 0;
		}
			section.homeHeader > article > aside{
				display: block;
				width: 100%;
				height: calc(100% - 50px);
			}

			section.homeHeader > article > h2{
				width: calc(100% - 60px);
				height: auto;
				margin: 0 auto;
			}
	section.homeHeader > img{
		margin: 30px auto 10px auto;
	}
	section.homeHeader > img:hover {
		margin: 40px auto 10px auto;
		transition: 0.3s;
	}

/*------------------------------------------------------------*/
	section.oldRest, section.blog, section.lastBlog{
		width: calc(100% - 40px);
	}
		section.oldRest > a, section.blog > a, section.lastBlog > a {
			width: calc((100% - 11px) / 2);
			margin: 10px 10px 0 0;
		}
		section.oldRest > a:nth-of-type(even), section.blog > a:nth-of-type(even), section.lastBlog > a:nth-of-type(2) {
			margin: 10px 0 0 0;
		}
/*-----------------------------------------------------------------*/
	section.car{
		width: calc(100% - 40px);
	}
		section.car > article{
			width: 100%;
		}
			section.car > article h2{
				width: 100%;
				max-width: 700px;
			}
/*--------------------------------------------------------------*/
	section.team{
		width: calc(100% - 40px);
	}
}

@media (max-width: 750px){
	section.team article,
	section.team > article:nth-of-type(even){
		display: block;
		width: 100%;
		margin: 10px 0 0 0;
	}
/*------------------------------------*/
section.oldRest, section.blog, section.lastBlog, section.team{
		width: 100%;
	}
		section.oldRest > div, section.blog > div{
			margin: 0 auto 20px auto;
		}
			section.oldRest > div > button, section.blog > div > button{
				margin: 0 10px 10px 0;
			}
		section.oldRest > a, section.blog > a, section.lastBlog > a {
			display: block;
			width: 100%;
			margin: 10px auto 0 auto;
		}
}


@media (max-width: 500px){
	nav > div{
		width: calc(100% - 60px);
	}
	nav > div > div#menu {
		right: 30px;
	}
	nav > ul{
		margin: 40px 0 20px 0;
	}
			nav > ul > li > a{
				font-size: 22px;
			}
					nav > ul > li > ul > li > a{
						font-size: 18px;
					}
/*----------------------------------------------------------------*/
		section.car > article p{
			margin: 8px 0 8px 0;
		}
			section.car > article > p span:first-child{
				text-align: left;
				width: 100%;
			}
			section.car > article > p span:last-child{
				display: block;
				width: 100%;
				padding: 5px 0 25px 0;
			}
/*---------------------------------------------------*/
			section.team article div h1{
				font-size: 22px;
			}
			section.team article div p{
				font-size: 14px;
			}
			section.team article div a{
				font-size: 14px;
			}	
/*---------------------------------------------------*/
	section > article.imgTxt > div h1, section > article.imgTxt > div h2{
		font-size: 24px;
	}
	section > article.imgTxt > div p{
		font-size: 16px;
	}					
}

@media (max-width: 350px){
		nav > div > a:last-of-type{
			width: 80px;
			margin: 20px 0 0 calc(50% - 70px);
		}
		nav > div > div#menu {
			top: 27px;
		}
		nav > div > div#menu > ul > li{
			height: 4px;
			width: 40px;
			margin-bottom: 7px;
		}
		section.homeHeader > article > h2{
			font-size: 100%;
		}
}