@font-face{
	font-family: roboto;
	src: url('Roboto-Regular.ttf');
}

@font-face{
	font-family: roboto-light;
	src: url('Roboto-Light.ttf');
}

.cookie a{
	display: inline-block;
}

.cookie{
	position: fixed;
	left:0;
	bottom: 0;
	right: 0;
	background: rgba(0,0,0,0.8);
	padding: 20px;
	color: white;
}

.gewinnspiel a{
	background: #f26827;
	display: block;
	padding: 20px;
	font-size: 150%;
	font-weight: bold;
	color: white;
	text-align: center;
	text-decoration:none;
}

*{
    box-sizing: border-box;
}

body{
	margin:0;
	font-family:roboto-light;
	overflow-x:hidden;
}

p, ul{
	font-size: 16px; 
	line-height: 32px;
}

img{
	max-width:100%;	
}

header{
	font-family: roboto;
}

.logo{
	height: 50px;
	background: white;
	position: fixed;
	top:0;
	left:0;
	right:0;
	display: flex;
    align-items: center;
	z-index:5000;
}
	
.logo .hamburger{
	margin-left: 17px;
}
	
.logo .hamburger span{
	background: #1968b3;
    display: block;
    height: 3px;
    margin-bottom: 4px;
    width: 28px;
}

.logo .desktop{
	display: none;
}

.logo .mobil{
	height: 28px;
	width:auto;
}

.logo .bild{
	margin: 0 auto;
	transform: translateX(-17px);
}

.logo .bild span{
	display:none;
}

nav{
	position: fixed;
    top: 0;
    left: 0;
	right: 50px;
    bottom: 0;
    transform: translatex(-120%);
	transition: all 0.3s ease;
	z-index:5000;
}

nav:before{
	content:'';
	position: fixed;
    top: 0;
    left: 0;
	right: -50px;
    bottom: 0;
    background: rgba(0,0,0,0.6);
	z-index: -1;
}

nav .mobil{
	height: 50px;
	display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-right: -50px;	
    background: white;
}

nav .mobil img{
	height: 28px;
	width:auto;
	margin: 0 auto;
}

nav .mobil .hamburgerclose{
	width: 50px;
	height: 50px;
	background: #002d5a;
	position: relative;
}

nav .mobil .hamburgerclose span{
	background: white;
    display: block;
    height: 2px;
    width: 28px;
	position: absolute;
	top:50%;
	left:50%;
	transform-origin: center center;
}

nav .mobil .hamburgerclose span:first-child{
	transform: translate(-50%, -50%) rotate(45deg) ;
}

nav .mobil .hamburgerclose span:last-child{
	transform: translate(-50%, -50%) rotate(-45deg);
}

nav a{
	color: #009ee3;
	text-decoration: none;
	display:block;
	padding: 10px 15px;
}

.topnav {
    background: white;
}

nav ul{
    background: white;
	margin:0;
	padding:0;
	height: 100%;
}

nav ul li{
	padding: 0;
}

nav ul li:before{
	content: none;
}

main{
	margin-top: 50px;	
}

.slider{
	overflow: hidden;
	position:relative;
}

.slider .bilder img{
	width: 100%;
}

.slider .bilder{
	display: flex;
    align-items: center;
	transition: all 0.3s ease;
}

.slider .bilder div{
	position:relative;
	flex: 1 0 100%;
}
	
.slider .bilder div span{
	display: block;
	position:absolute;
	bottom: 10px;
	left: 50%;
	color: white;
	font-weight: bold;
	transform: translateX(-50%);
}
	
.slider .left{
	position:absolute;
	top: 50%;
	left:10px;
	transform:translateY(-50%);
	cursor: pointer;
}

.slider .right{
	position:absolute;
	top: 50%;
	right:10px;
	transform:translateY(-50%);
	cursor: pointer;
}

.slider .down{
	display:none;
}

.row{
	padding: 20px;	
}

h1{
	color: #009ee3;
	margin: 0;
	font-family: roboto;
}

h1 + span, h2 + span{
	color: #002d5a;
	font-weight: bold;
	margin-top: 1em;
    display: block;
}

h2{
	color: #009ee3;
	margin: 0;
	font-family: roboto;
}

h3{
	margin: 0;
	font-family: roboto;
}

ul{
	padding:0;
	list-style-type: none;
}

ul li{
	position: relative;
	padding-left: 10px;
}

ul li:before{
	content: '\203A';
	position:absolute;
	top: -1px;
	left:0;
	color: #ee7100;
}

p{
	margin-top:0;
}

.row.bilder img{
	max-width: 100%;
}

.row.bilder div{
	text-align: center;
    margin: 0 10px 10px 0;
}

.width{
	width: 100%;
	margin: 40px 0	
}

.header{
	position:relative;
	display: flex;
	flex-direction:column;
	align-items: flex-start;
	padding: 20px 0;
    margin-bottom: 40px;
}

.header:before{
	content:'';
	position:absolute;
	left:0;
	top:0;
	height:2px;
	background: #002d5a;
	width: 20px;
}

.header:after{
	content:'';
	position:absolute;
	left:0;
	bottom:0;
	height:1px;
	background: #dcdcdc;
	width: 65%;
}

.header span{
	font-size: 150%;	
}

.button{
	background: #002d5a;
	color: white;
	display: block;
	padding: 10px 15px;
	cursor: pointer;
	text-decoration: none;
	border-radius: 2px; 
}

.hell{
	background: #009ee3;
	display: inline-block;
}

.dunkelblau{
	background: #002d5a;
	color: white;
}

.dunkelblau h2{
	color: white;
}

.dunkelblau h3 span{
	color: #009ee3;
}

[class*="flex"] > div + div{
	margin-top: 1em;
}

[class*="flex"][class*="25"] h3{
	color: #009ee3;
}
	
[class*="flex"][class*="25"] > div{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 20px;
}

.dunkelblau [class*="grid"] > div{
	background: #009ee3;
	color: white;
}

.dunkelblau [class*="grid"] > div h3{
	color: #76d8ff;
}

.pfeil{
	text-align: center;
}


[class*="grid"][class*="50"]{
	margin-top: 1em;
}

[class*="grid"][class*="50"] > div{
	padding: 20px;
}

[class*="grid"] > div{
	margin-bottom: 10px; 
}

[class*="grid"][class*="33-66"] > div:nth-child(even){
	padding: 20px;
}

[class*="grid"][class*="33-66"] > div:nth-child(odd){
	position:relative;
}

[class*="grid"][class*="33-66"] > div:nth-child(odd) ul{
	position:absolute;
	top: 20px;
	right:0;
	margin:0;
}

[class*="grid"][class*="33-66"] > div:nth-child(odd) ul li{
	display: block;
	background: #009ee3;
	color: white;
	margin-bottom: 5px;
	padding: 3px 5px;
}

[class*="grid"][class*="33-66"] > div:nth-child(odd) ul li:before{
	content:'';
}

.hellblau{
	background: #009ee3;
	color: white;	
}

.hellblau-halb{
	position:relative;
}

.hellblau-halb:before{
	content:'';
	background: #009ee3;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom: 50%;
	z-index: -1;
}

.hellblau h2{
	color: white;
}

.hellgrau{
	background: #dcdcdc;	
}

.hellgrau h2, .hellgrau h3{
	color: #002d5a;	
}

.center{
	justify-content: center!important;
}

.accordeon h3{
	background: #002d5a;
	padding: 20px;
	color: white;
	cursor: pointer;
	margin-top: 10px;
}

.accordeon h3:hover{
	background: #009ee3;
}

.accordeon h3 img{
	widht: 20px;
	height: 23px;
	margin-left: 20px;
	transition: all 0.3s ease;
}

.accordeon .element{
	background: #dcdcdc;
	display: none;
}

.accordeon .element div div{
	position:relative;
}

.accordeon .element div div img{
	width: 100%;
}

.accordeon .element div div span{
	position:absolute;
	bottom: 0;
	right:0;
	font-size:120%;
	background: #002d5a;
	color: white;
	display: block;
	padding: 5px 10px;
}

.accordeon .element strong{
	display: block;
	font-size:120%;
	margin: 1em 0;
}

.adressen-open li{
	cursor: pointer;
}

.adressen-open li:hover{
	color: #ee7100;
}

.adressen span{
	color: #009ee3;
}

.oesterreich, .schweiz{
	display: none;	
}

footer{
	margin-bottom: 50px;
}

footer .social{
	background: #002d5a;
	color: white;
	text-align: right;
}

footer .social svg{
	width: 20px;
	height: 20px;
	margin-left: 20px;
}

footer .impressum div{
	display: flex;
	flex-direction: column;
}

footer .impressum a{
	color: inherit;
	text-decoration:none;
	margin-top: 10px;
	display: block;
}

.back-to-top{
	position: fixed;
	bottom: 0;
	right:0;
	left:0;
	padding: 10px;
	display: flex;
	justify-content:flex-end; 
}

.back-to-top svg{
	width: 30px;
	height: 30px;
	cursor: pointer;
	margin-left: 20px;
}

.back-to-top svg:hover path{
	fill: #009ee3;
}

.abstand p{
    line-height: 25px;
}


@media (min-width:1024px){
	.row{
		padding: 40px;	
	}
	
	[class*="flex"]{
		display: flex;	
		justify-content: space-between;
	}
	
	[class*="flex"][class*="50"] > div, [class*="flex"][class*="25"] > div{
		width: 48%;	
	}
	
	[class*="flex"] > div + div{
		margin-top: 0;
	}
	
	h1{
		font-size: 200%;
	}
	
	h1 + span, h2 + span{
		font-size: 200%;
		margin-top: 0;
	}

	h2{
		font-size: 200%;
	}

	h3{
		font-size: 150%;
	}
	
	.header{
		flex-direction:row;
		align-items: center;
		justify-content: space-between;
	}
	
	.row.bilder{
		display: flex;
		justify-content: space-between;
	}
	
	[class*="grid"]{
		display: flex; 
		flex-wrap: wrap;
	}
	
	[class*="grid"] > div{
		margin-right: 10px; 
	}
	
	[class*="grid"][class*="50"] > div{
		width: calc(50% - 10px);
	}
		
	[class*="grid"][class*="33-66"] > div:nth-child(odd){
		width: calc(33.333% - 10px);
	}
		
	[class*="grid"][class*="33-66"] > div:nth-child(odd) img{
		width: 100%;
	}
	
	[class*="grid"][class*="33-66"] > div:nth-child(even){
		width: calc(66.666% - 10px);
	}
	
	.dunkelblau h2{
		width: 65%;
	}
	
	.accordeon h3{
		padding: 20px 40px;
	}
	
	.accordeon .element .row{
		display: flex;
		flex-wrap: wrap;
	}
	
	.accordeon .element .row > div{
		width: calc(50% - 10px);
		margin-right:10px;
		margin-bottom:10px;
		border-bottom: 5px solid #002d5a;
		padding-bottom: 10px;
	}
	
	footer .row{
		width: 100%;
		padding: 40px;
		font-size: 13px;
	}
	
	footer .impressum{
		display: flex;
		justify-content: space-between;
	}
	
	footer .impressum div{
		flex-direction: row;
	}
	
	footer .impressum a{
		margin: 0 0 0 20px;
	}
}



@media (min-width:1280px){
	
	.topnav > div:first-child, nav ul, .logo .bild, .row{
		padding-left: 0;	
		padding-right: 0;	
		width: 1067px;
		margin: 0 auto;
	}
	
	.topnav > div:first-child{
		transform:translateX(-15px);
	}
	
	nav ul{
		transform:translateX(-15px);
	}
	
	.row{
		padding: 40px 0;	
	}
	
	nav {
		right: 0;
		bottom: auto;
		transform: translatex(0%);
	}
	
	nav:before{
		content: '';
		position: fixed;
		top: 130px;
		left: 0;
		right: 0;
		background: #002d5a;
		height: 50px;
	}
	
	nav .mobil{
		display: none;
	}
	
	.topnav {
		background: #009ee3; 
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		display: flex;
		justify-content: space-between;
		font-size: 13px;
		height: 35px;
		align-items: center;
	}
	
	.topnav div{
		display: flex;
	}
	
	nav a{
		color: white;
	}
	
	.logo{
		top: 35px;
		height: 95px;
	}
	
	.logo .bild{
		display: flex;
		transform: translateX(0);
	}
	
	.logo .hamburger{
		display: none;	
	}
	
	.logo .desktop{
		display: block;	
		height: 77px;
	}
	
	.logo .mobil{
		display: none;	
	}
	
	.logo .bild span{
		display: block;	
		color: #dcdcdc;
		font-size: 350%;
		margin-left: 25px;
	}
	
	nav ul{
		background: #002d5a; 
		position: fixed;
		top: 130px;
		left: 0;
		right: 0;
		display: flex;
		height: 50px;
	}
	
	nav ul a:hover{
		color: #009ee3;
	}
	
	main{
		margin-top: 175px;	
	}
	
	.slider .down{
		dislpay: block;
		position:absolute;
		bottom: 10px;
		left:50%;
		transform:translateX(-50%);
	}

	.slider .down img{
		transform: rotate(90deg);
		display:block;
	}

	.slider .down img:first-child{
		transform: rotate(90deg) translatex(40px);
	}

	.slider .down img:nth-child(2){
		transform: rotate(90deg) translatex(20px);
	}
	
	.slider .bilder div span{
		bottom: 60px;
		font-size: 250%;
		transform: translateX(-50%);
	}
	
	h1, h1 + span, h2 + span, h2{
		font-size: 260%;
	}
	
	.width{
		margin: 80px 0	
	}
	
	[class*="grid"][class*="33-66"] div:nth-child(even) div{
		margin-right: 60px;
	}
	
	[class*="grid"][class*="33-66"] > div:nth-child(odd) ul{
		width: 70%;
	}
	
	[class*="grid"][class*="33-66"] > div:nth-child(even){
		padding: 40px;
	}
	
	[class*="grid"][class*="33-66"] > div:nth-child(odd) ul{
		top: 40px;
	}
	
	[class*="grid"][class*="33-66"] > div:nth-child(odd) ul li{
		margin-bottom: 10px;
		font-size:110%;
		padding: 5px 10px;
	}

	.accordeon .element .row > div{
		width: calc(25% - 20px);
	}

	.accordeon h3{
		padding: 20px 60px;
	}

	.back-to-top svg{
		width: 40px;
		height: 40px;
	}
	
	[class*="grid"][class*="33-66"] div:nth-child(even) div{
		margin-right: 120px;
	}

	.row.bilder{
		width: 1187px;
	}

	[class*="flex"][class*="25"], [class*="grid"][class*="50"], [class*="grid"][class*="33-66"]{
		margin-right: -20px;
	}
	
	.header{
		margin-right: -60px;
	}
}

@media (min-width:1440px){
	
	.gewinnspiel{
		font-size: 180%;
	}

	.logo .bild{
		display: flex;
		transform: translateX(-160px);
	}
	
	[class*="flex"][class*="25"] > div{
		width: 16%;	
	}	
	
	[class*="flex"][class*="25"] > div > div{
		width: 100%;	
	}
	
	.accordeon h3{
		padding: 20px 120px;
	}
	
	.accordeon .element .row > div{
		width: calc(25% - 20px);
	}	
	
	[class*="grid"] div{
		margin-right: 20px; 
		margin-bottom: 20px; 
	}
	
	[class*="grid"][class*="50"] > div{
		width: calc(50% - 20px);
	}
			
	[class*="grid"][class*="33-66"] > div:nth-child(odd){
		width: calc(33.333% - 20px);
	}
	
	[class*="grid"][class*="33-66"] > div:nth-child(even){
		width: calc(66.666% - 20px);
	}
	
	[class*="grid"][class*="33-66"] div:nth-child(even) div{
		margin-right: 418px;
	}
	
	.accordeon h3{
		padding: 20px 418px;
	}
}




