/*========================
GLOBAL
=========================*/

html {
    margin: 0;
    padding: 0;
    height: 100%;
}
body {
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	font-style:normal;
	font-size : 100%;
	color : rgba(0,0,0,1);
margin : 0;
padding : 0;
}
/*========================
container styles
=========================*/
header {
	position: absolute;
	top: 0;
	width: 100%;
	height: 30px;
	margin: 0;
	padding: 0;
	color: #fff;
	background: none;
	z-index: 100;
}
.page-wrapper {
	width: 100%;
	height: 100%;
	margin:0;
	padding:0;
	background-color: white;
	overflow: auto;
}
nav {
	width: 100%;
	margin:0;
	padding:0;
}
main {
	min-height: 40vw;
	position: relative;
	margin-top: 6em;
	z-index: 6;
}
main.home {
	position: relative;
	margin-top: 100vh;
	background-color: rgba(255, 255, 255, 1);
	z-index: 6;
}
section {
	width: 100%;
    margin: 0 auto 0 auto;
}
section:after {
	content: "";
	display: table;
	clear: both;
}
section a {
	text-decoration: none;
	color: #0033bb;
}
section a:hover {
	color: rgb(255, 0, 0);
}
article {
	padding: 0;
	margin: 0;
}
footer {
	position: relative;
	top: 0px;
	background-color: rgb(0, 38, 24);
	color: rgb(255, 255, 255);
	width: 100%;
	padding-top: 3em;
	margin: 0 auto 0 auto;
	z-index: 7;
}
/*========================
classes
=========================*/
.start {
	position: fixed;
    width: 100%;
    margin: 0 auto 0 auto;
	background-color: rgba(255, 255, 255, 0);
	/* overflow: auto; */
	z-index: 2;
}
.open_start {
	background-image: url("../images/kastanienblatt.jpg");
	background-position: right;
	background-repeat: no-repeat;
	background-size: cover;
    text-align: left;
    width: 100%;
	height: 100vh;
    margin: 0 auto 0 auto;
	/* -webkit-filter: blur(10px);
	filter: blur(10px); */
	z-index: 0;
	/* overflow: auto; */
}
.surfer {
	background-image: url("../images/surfer.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
    width: 100%;
	height: auto;
    margin: 80px auto 0 auto;
	z-index: 0;
	/* overflow: auto; */
}
/*
@media screen and (max-width: 768px) {
	.open_start {
		background: none;
	}
}
*/
.openheadline {
	position: relative;
	display: block;
	margin: 0 auto 0 auto;
	top: 20%;
	padding: 10px 20px 10px 20px;
	background-color: #0000004f;
}
.open_surfer {
	position: relative;
	display: block;
	margin: 0 auto 0 auto;
	top: 35%;
	padding: 10px 20px 10px 20px;
	background-color: rgba(66, 128, 121, 0.31);
}
.scene {
	z-index: 1;
	position: fixed;
	width: 100%;
	height: 100vh;
	background-image: url("../images/biergarten_1900.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
    margin: 0 auto 0 auto;
	box-sizing: border-box;
	-webkit-filter: blur(6px);
	filter: blur(6px);
}
.open_content {
	width: 100%;
    margin: 0 auto 0 auto;
	padding: 50px 0;
}
#rightbox {
	display: block;
    float: right !important;
	margin: 0 1.0em 0 0;
	padding: 0px;
}
.subselected {
	display: block;
}
.black {
	background-color: black;
	color: white;
}
.deal {
	background-image: url("../images/17-02-05_deal.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.row, .row-full, .row-big, .row-big-bild, .row-big-image, .description {
	position: relative;
	height: auto;
    margin: 0 auto 0 auto;
-webkit-box-sizing: border-box; /* ältere Wbkit-Browser */
-moz-box-sizing: border-box; /* Firefox */
box-sizing: border-box; /* W3C/Chrome//Opera/IE */
	flex-wrap: wrap;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flex;
	background: none;
}
.row {
	padding: 10px;
}
.row, .row-full {   /*  row-full ist ohne padding fuer bilder  */
	max-width: 1400px;
	width: auto;
}
.row-big {   /*  row-big  fuer bildschirmbreite  */
	width: 100%;
	padding: 10px;
}
.row-big-bild {   /*  row-big  fuer bildschirmbreite mit 20px aussen für bilder anordnung  */
	width: 100%;
	padding: 10px 20px 10px 20px;
}
.row-big-image {   /*  row-big-image  fuer bildschirmbreite ohne padding fuer bilder  */
	width: 100%;
	padding: 0;
}
.promo-green {
	background-color: rgb(234, 242, 255);
  	padding: 10px;
  	font-size: 1.5rem;
  	color: rgb(0, 153, 60);
}
.promo-gradient {
	background: rgb(203,231,255);
	background: linear-gradient(324deg, rgba(203,231,255,1) 0%, rgba(229,228,241,1) 60%, rgba(255,224,227,1) 100%);
  	padding: 10px;
  	font-size: 1.5rem;
  	color: rgb(0, 38, 24);
}
.arrow-box {
	border: 1px solid rgb(0, 153, 60);
	border-radius: 10px;
	margin: 10px;
	padding: 5px 5px 10px 5px;
}
.green {
	position: relative;
	padding: 0;
	max-width: 990px;
	height: auto;
    margin: 0 auto 0 auto;
	box-sizing: border-box;
	overflow: auto;
background: rgb(0,170,11);
background: linear-gradient(36deg, rgba(0,170,11,1) 0%, rgba(123,230,150,1) 100%);
	color: #ffffff;
}
.green a {
color: rgb(0,15,142);
}
.map {
	position: relative;
	padding-bottom: 56%;
	height: 0;
	overflow: hidden;
 }
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
  } 
.description {
	margin: 0 10% 0 10%;
}
.detail {
		padding: 0.3em 0 0 0;
}
.detail img {
	float: left;
	max-width: 50%;
	height: auto;
	padding: 0;
	margin: 0;
}
.clearfix:after {
	content: "";
	display: table;
	clear: both;
}
.pull-right {
	display: block;
    float: right !important;
	margin: 0 0.8em 0 0;
	padding: 0px;
}
.pull-left {
	display: block;
    float: left !important;
	margin: 0 0 0 1.0em;
	padding: 0px;
}

/*========================
boxen in 3 Breiten
=========================*/
.box_3, .box_2, .box_1 {
	margin: 0;
	/* float: left; */
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	flex: 1 1 auto; /* gleiche Höhe siehe row display: flex, float bei mediaqueries allerdings aufgehoben */
	}
.box_1 {
	width: 100%;
}
.box_2 {
	width: 50%;
}
.box_3 {
	width: 33.3333333328%;
	display: block;
}
/* medium tablet */
@media screen and (max-width: 768px) {
	
	.box_2, .box_3 {
		width: 100%;
		margin-bottom: 0.6em;
	}
	.box_2 {
		padding-left: 0em;
	}
	.row {
		display: block; /* untereinander */
	}
}

/*========================
Semantik
=========================*/
h1 {
	font-size: 2.5rem;
	font-style: normal;
	font-weight: 400;
	text-align: center;
	padding: 1.5rem 0 1.5rem 0;
	margin: 0 auto 0 auto;
}
.open_start h1 {
	font-size: calc(30px + 10*(100vw - 810px)/633);
	font-style: normal;
	font-weight: 300;
	line-height: 1.0em;
	color: white;
	display: block;
	text-align: center;
	padding: 0 0 0 0;
}
.open_surfer h1 {
	font-size: calc(70px + 50*(100vw - 810px)/633);
	font-style: normal;
	font-weight: 800;
	line-height: 1.0em;
	color: white;
	display: block;
	padding: 0 0 0 0;
	margin: 1em auto 1em auto;
}
h2 {
	font-size: 1.5em;
	font-style: normal;
	line-height: 1.0em;
	display: block;
	padding: 0 0 0 0.2em;
	margin: 10px;
}
.open_start h2 {
	font-size: calc(70px + 50*(100vw - 810px)/633);
	font-style: normal;
	font-weight: 800;
	line-height: 1.0em;
	color: rgba(255,255,255,0.8);
	display: block;
	padding: 0 0 0 0;
	margin: 0.4em auto 0 auto;
}
h3 {
	font-size: 1.3em;
	font-style: normal;
	display: inline-block;
	padding: 0 0 0 0.2em;
	margin: 0px;
}
h4 {
	font-size: 1.2em;
	font-style: normal;
	display: inline-block;
	padding: 0 0 0 0.2em;
	margin: 0px;
}
p {
	font-size: 1.2em;
	font-style: normal;
	font-weight: 300;
	padding: 0.2em 0.85em 0.85em 0.2em;
	margin: 0px;
}
p.right {
	font-size: 1.2em;
	font-style: normal;
	padding-right: 0.85em;
	margin: 0px;
	float: right;
}
p.center {
	text-align: center;
	padding: 0 0.85em 0.85em 0.5em;
}
p.autor {
	font-size: 0.9em;
}
.pull-right p {
	padding: 0;
}
footer p.center {
	font-size: 0.85em;
	text-align: center;
	padding-bottom: 1.0em;
}
ul {
	list-style-type: square;
	font-weight: 300;
	display: block;
	padding: 0 1em 0 2em;
	margin: 0px;
}
ol {
	font-weight: 300;
	display: block;
	padding: 0 1em 0 2em;
	margin: 0px;
}
img {
	border: 0;
}
img.left {
	float: left;
}
img.center {
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}
img.center_50 {
	width: 30%;
	height: auto;
	display: block;
	margin: 0 auto;
}
.img-loaded {
	opacity: 1;
}	
img.blur {
	display: block;
	margin: 0px auto;
	-webkit-filter: blur(10px);
	filter: blur(10px);
}
img.blur:hover,
img.blur:focus {
	-webkit-filter: blur(1px);
	filter: blur(1px);
	-webkit-box-shadow: 0 0 0.938em rgba( 0, 0, 0, .25 );
	box-shadow: 0 0 0.938em rgba( 0, 0, 0, .25 );
}
img.icon {
	height: 3.5em;
	width: auto;
	padding: 0;
	margin: 0 10px 10px 10px;
	border: 0;
}
/* medium tablet */
@media screen and (max-width: 768px) {
	img.icon {
		float: right;
		clear: right;
	}
}
img.ball {
	position: relative;
	height: 4.5em;
	width: auto;
	display: block;
	padding: 0;
	margin: 20px auto;
	border: 0;
	animation-name: emball;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}
@keyframes emball {
    from {
		transform:translate(25px, 0px) rotate(30deg); 
	}
    50% {transform:translate(-25px, 0) rotate(-30deg);}
    to {transform: translate(25px, 0) rotate(30deg);}
}
@-webkit-keyframes emball {
    from {transform:translate(25px, 0px) rotate(30deg);}
    50% {transform:translate(-25px, 0) rotate(-30deg);}
    to {transform: translate(25px, 0) rotate(30deg);}
}

/*========================
Navigation
=========================*/
#anfang {
	position: relative;
	top: -50px;
}
.scroll-to, .scroll-to-home, .scroll-to-white, .scroll-to-home-white {
	position: relative;
	display: block;
	margin: 0;
	padding: 10px 0 0 10px;
	width: 30px;
	height: 80px;
}
.scroll-to-home, .scroll-to-home-white {
	top: -23vh;
}
.scroll-to::before, .scroll-to-home::before, .scroll-to-white::before, .scroll-to-home-white::before {
	content: 'scroll';
	display: block;
	text-transform: uppercase;
	font-size: small;
	transform: rotate(90deg);
}
.scroll-to::after, .scroll-to-home::after, .scroll-to-white::after, .scroll-to-home-white::after {
	content: '';
	display: block;
	width: 2px;
	height: 30px;
	margin: 0 0 0 0px;
	animation-name: hovering-scroll;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}
.scroll-to::before, .scroll-to-home::before {
	color: rgb(0, 0, 0);
}
.scroll-to-white::before, .scroll-to-home-white::before {
	color: rgb(255, 255, 255);
}
.scroll-to::after, .scroll-to-home::after {
	background: rgb(0, 0, 0);
}
.scroll-to-white::after, .scroll-to-home-white::after {
	background: rgb(255, 255, 255);
}
@keyframes hovering-scroll {
    from {transform:translate(0, 0px);}
    50% {transform:translate(0, 20px);}
    to {transform: translate(0, 0px);}
}
.down {
	position: relative;
	top: -100px;
	display: block;
	width: 3em;
	height: 3em;
	padding: 0;
	margin: 0 auto 0 auto;
	z-index: 200;
	animation-name: hovering;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}
@keyframes hovering {
    from {transform:translate(0, 0px);}
    50% {transform:translate(0, -25px);}
    to {transform: translate(0, -0px);}
}
@-webkit-keyframes hovering {
    from {-webkit-transform:translate(0, 0px);}
    50% {-webkit-transform:translate(0, -25px);}
    to {-webkit-transform: translate(0, -0px);}
}
.down a {
	display: block;
	width: 3em;
	height: 3em;
	background-color: rgba(255, 255, 255, 0);
	background-image: url("../graphics/down.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
@media screen and (min-width: 768px) {
	.down a:hover {
		background-image: url("../graphics/down-mo.svg");
		-webkit-transition: background 1s ease-in-out;
		-moz-transition: background 1s ease-in-out;
		-ms-transition: background 1s ease-in-out;
		-o-transition: background 1s ease-in-out;
		transition: background 1s ease-in-out;
	}
}
.cta-button {
	background-color: rgb(0, 38, 24);
	border-radius: 24px;
	display: inline-block;
  	margin: 5px 0 5px 0;
  	padding: 8px 12px;
  	font-weight: 500;
  	text-align: center;
  }
.cta-button a {
	color: rgb(222, 233, 255);
  }
/*========================
Navigation header
=========================*/
.nav-bar {
	position: fixed;
	top: 0;
	width: 100%;
	height: 60px;
	padding: 5px 0 0 0;
	margin: 0 auto 0px auto;
	overflow: auto;
	z-index: 101;
}
nav ul {
	list-style-type: none;
	padding: 0px;
	margin: 0;
}
nav ul li {
	display: inline-block;
	text-align: center;
	margin: 0;
}
@media screen and (max-width: 768px) {
nav ul li {
	min-width: auto;
	}
}
nav ul li a {
	position: relative;
	display: block;
	font-size: 1.2em;
	font-weight: 400;
	text-transform: uppercase;
	background-color: rgba(0, 51, 31, 1);
	color: white;
	padding: 3px;
	text-decoration: none;
	z-index: 1;
}
@media screen and (min-width: 768px) {
	nav ul li a:hover {
		color: black;
		background-color: white;
		padding: 3px;
		transition: all 900ms;
		-webkit-transition: all 900ms;
		-moz-transition: all 900ms;
		-o-transition: all 900ms;
		-ms-transition: all 900ms;
	}
}
.brand_small {
	display: block;
}
nav ul li.brand, .brand_small {
	text-align: left;
	background: none;
	border-left: 0;
	margin: 0;
	padding: 0px;
}
.logo {
	position: absolute;
	display: block;
	width: 10em;
	height: 10em;
	margin: 2% 0 0 8%;
	background-color: rgba(0, 51, 31, 1);
	background-image: url("../graphics/logo.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	border-radius: 50% 50% 50% 50%;
	-webkit-transition: all 2s ease;
	transition: all 2s ease;
	z-index: 102;
}
.logo:hover {
	-webkit-transform: rotate(780deg);
	transform: rotate(780deg);
}
@media screen and (max-width: 768px) {
	.logo {
		width: 6em;
		height: 6em;
		margin: 2% 0 0 2%;
	}
}
.brand {
	display: none;  /*per js fade in */ 
}
nav ul li.brand a {
	position: relative; /* -- */
	display: block;
	background-color: rgba(0, 51, 31, 1);
	background-image: url("../graphics/brand.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 40px;
	height: 40px;
	text-decoration: none;
	border-radius: 50% 50% 50% 50%;
	-webkit-transition: all 2s ease;
	transition: all 2s ease;
}
nav ul li.brand a:hover {
	position: relative; /* -- */
	display: block;
	text-decoration: none;
	-webkit-transform: rotate(780deg);
	transform: rotate(780deg);
}
nav ul li.brand_small a {
	position: relative; /* -- */
	display: block;
	width: 150px;
	height: 28px;
	margin-top: 3px;
	background-image: url("../graphics/logo.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	text-decoration: none;
}
/* kein mouseover bei responsive 
nav ul li.brand_small a:hover {
	position: relative;
	display: block;
	width: 150px;
	height: 28px;
	background-image: url("../graphics/logo-mo.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	text-decoration: none;
} */
nav ul li.menu a:link {
	position: relative;
	display: block;
	width:30px;
	height: 28px;
	margin-top: 3px;
	background-image: url("../graphics/menu.svg");
	background-size: contain;
	background-repeat: no-repeat;
	text-decoration: none;
}

/*========================
Navigation footer
=========================*/
.totop {
	position: absolute;
	top: -2.3em;
	right: 10%;
	/*display: block; */
	width: 3em;
	height: 3em;
	padding: 0;
	margin: 0;
	z-index: 200;
}
.totop a {
	display: block;
	width: 3em;
	height: 3em;
	background-color: rgba(0, 0, 0, 0);
	background-image: url("../graphics/totop.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	border-radius: 50%;
}
@media screen and (min-width: 768px) {
	.totop a:hover {
		background-image: url("../graphics/totop-mo.svg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: bottom left;
		-webkit-transition: background 1s ease-in-out;
		-moz-transition: background 1s ease-in-out;
		-ms-transition: background 1s ease-in-out;
		-o-transition: background 1s ease-in-out;
		transition: background 1s ease-in-out;
	}
}
footer nav {
		margin: 0;
}
.footer_nav-bar {
	width: 95%;
	margin: 0 auto 0 auto;
	height: auto;
	color: white;
	top: 0;
	padding: 0 0.2em;
	overflow: auto;
}
footer nav ul {
	list-style-type: none;
	padding: 0.2em;
	margin-left: 1.5em;
	float: left;
}
footer nav ul li {
	display: block;
	min-width: 1em;
	text-align: left;
	background: none;
	border: 0px;
	border-radius: 0;
	margin: 1em 0;
}
footer nav ul a {
	background: none;
	font-size: 1rem;
	color: rgb(217, 217, 255);
	padding: 0px;
	text-decoration: none;
}
footer nav ul a:hover {
	background: none;
	padding: 0px;
	color: rgb(255, 0, 0);
	background: none;
}
.sm {
	list-style-type: none;
	margin: 0;
	padding: 0;
	border: 0;
}
.mail, .fb, .x, .in, .g, .be, .pi {
	display: block;
	float: right;
	margin: 0 0 0 0.5em;
}
.mail a, .fb a, .x a, .in a, .g a, .be a, .pi a {
	display: block;
	width: 0.85em;
	height: 0.85em;
	margin: 0;
	padding: 0.3em;
	background-color: #002277;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 50%;
}
.mail a {
	background-image: url("../graphics/mail.svg");
}
.fb a {
	background-image: url("../graphics/fb.svg");
}
.x a {
	background-image: url("../graphics/x.svg");
}
.in a {
	background-image: url("../graphics/in.svg");
}
.g a {
	background-image: url("../graphics/g.svg");
}
.be a {
	background-image: url("../graphics/be.svg");
}
.pi a {
	background-image: url("../graphics/pi.svg");
}
.mail a:hover, .fb a:hover, .x a:hover, .in a:hover, .g a:hover, .be a:hover, .pi a:hover {
	background-color: white;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.mail a:hover {
	background-image: url("../graphics/mail-mo.svg");
}
.fb a:hover {
	background-image: url("../graphics/fb-mo.svg");
}
.x a:hover {
	background-image: url("../graphics/x-mo.svg");
}
.in a:hover {
	background-image: url("../graphics/in-mo.svg");
}
.g a:hover {
	background-image: url("../graphics/g-mo.svg");
}
.be a:hover {
	background-image: url("../graphics/be-mo.svg");
}
.pi a:hover {
	background-image: url("../graphics/pi-mo.svg");
}
/* Formular */
form {
/*position: relative;
 width: 100%; */
margin : 1em auto 0 auto;
padding: 0 0.05em;
/* display : block; */
/* overflow: auto; */
}
fieldset {
border: none;
background-color: white;
}
legend {
	background-color: white;
	color: black;
	font-size: 1.375em;
	font-weight: bold;
	margin: 0 0.5em 0 0;
	padding: 0 0 0 0.5em;
	border-bottom: 2px solid black;
}
.formset {
	background-color: white;
	margin: 0.5em 0;
}
.formset label, .formset input, .formset textarea, .formset select {
	display: inline-block;
	font-size: 1.3em;
}
.formset label {
	width: 100%;
	padding-right: 2%;
	background : none;
}
.formset input, .formset textarea, .formset select {
	width: 100%;
	max-height: 10em;
	border: 1px solid black;
-webkit-box-sizing: border-box; /* ältere Wbkit-Browser */
-moz-box-sizing: border-box; /* Firefox */
box-sizing: border-box; /* W3C/Chrome//Opera/IE */
}
@media only screen and (min-width: 30em) {
    .formset label {
        width: 25%;
        text-align: right;
    }

    .formset input, .formset textarea, .formset select {
        width: 60%;
    }
}
    
.formset select:hover, .formset input:hover, .formset textarea:hover {
color : #31709F;
}
.formset select:focus, .formset input:focus, .formset textarea:focus {
background : #def;
border : 1px solid green;
color : black;
}
/* Ende Formular */

/* Cookie */
#cookiedingsbums a {color:blue; text-decoration:none;}

#cookiedingsbums a:hover {text-decoration:underline;}

#cookiedingsbums div {padding:10px; padding-right:40px;}

#cookiedingsbums { 
   text-align:right; 
   border:1px solid #fff;
   background: rgba(230, 230, 255, 0.6); 
   padding:4px;
   position:fixed;
   bottom:60px; 
   z-index:10000; 
   width:30%; 
   font-size:12px; 
   line-height:16px;
}

#cookiedingsbumsCloser {
   color: blue;
   text-decoration: none;
   cursor:pointer;
   padding:0 4px 0 4px;
   background: rgba(230, 230, 255, 0.6); 
 }

#cookiedingsbumsCloser:hover {
   color: red;
	}

/*========================
Browser Präfixe
=========================*/
* {
	-webkit-box-sizing: border-box; /* ältere Wbkit-Browser */
	-moz-box-sizing: border-box; /* Firefox */
	box-sizing: border-box; /* W3C/Chrome//Opera/IE */
}
/*========================
Transformationen
=========================*/
/*  Element von Perspektive bis komplett in viewport */
.persp1 {   /*Elternelement z.B. section*/
	-webkit-perspective: 300px;
	-moz-perspective: 300px;
	perspective: 300px;
	-webkit-perspective-origin: 25% 75%;
	-moz-perspective-origin: 25% 75%;
	perspective-origin: 25% 75%;
}
/*  transformscroll.js  */
.fadescroll {
	transition: all 800ms;
	opacity: 0.2;
}
.fade {
	opacity: 1;
}
.drehenscroll, .gedreht, .drehenscroll_right, .gedreht_right {
	font-size: 4rem;
	font-weight: 700;
	color: white;
}
@media screen and (max-width: 768px) {
	.drehenscroll, .gedreht, .drehenscroll_right, .gedreht_right {
	font-size: 3.0rem;
	}
}
.drehenscroll {
	transition: all 800ms;
	-webkit-transform: rotateX(5deg) rotateY(3deg) rotateZ(3deg) translateX(-50%);
	-moz-transform: rotateX(5deg) rotateY(3deg) rotateZ(3deg) translateX(-50%);
	transform: rotateX(5deg) rotateY(3deg) rotateZ(3deg) translateX(-50%);
}
.gedreht {
	-webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) translateX(0);
	-moz-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) translateX(0);
	transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) translateX(0);
}
.drehenscroll_right {
	transition: all 800ms;
	-webkit-transform: rotateX(10deg) rotateY(5deg) rotateZ(5deg) translateX(50%);
	-moz-transform: rotateX(10deg) rotateY(5deg) rotateZ(5deg) translateX(50%);
	transform: rotateX(10deg) rotateY(5deg) rotateZ(5deg) translateX(50%);
	z-index: -1000;
}
.gedreht_right {
	-webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) translateX(0);
	-moz-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) translateX(0);
	transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) translateX(0);
}
/*========================
Ende Transformationen
=========================*/
/*========================
animation
=========================*/
.race {
	background-color: black;
	overflow: hidden;
}
.play {
	padding-top: 1em;
	padding-bottom: 1em;
}
.play p {
	position: relative;
	width: 110px;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	color: white;
	padding: 0.2em;
	margin-left: -10vw;
	background-color: #003399;
	border: 3px solid #003399;

	/*border-radius: 50% / 100%; */
	border-top-left-radius: 90%;
	border-top-right-radius: 100%;
	border-bottom-left-radius: 60%;
	border-bottom-right-radius: 90%;
	-webkit-animation: race linear infinite;
	animation: race linear infinite;
}
@media screen and (max-width: 768px) {
	.play p {
		margin-left: -30vw;
	}
}	
/* Autoreifen */
.play p:after,
.play p:before {
	position: absolute;
	top: 16px;
	width: 10px;
	height: 10px;
	padding: 0;
	margin: 0;
	color: black;
	content: "";
	text-align: center;
	background-color: white;
	border: 7px solid #333;
	border-radius: 50%;
}
.play p:after {
	right: 10px;
}
.play p:before {
	left: 5px;
}
/* Ende Autoreifen */
/* verschiedene Fahrzeuge */
.play p:nth-of-type(1) {
	-webkit-animation-duration: 6s;
	-webkit-animation-delay: -2s;
	animation-duration: 6s;
	animation-delay: -2s;
}
.play p:nth-of-type(2) {
	-webkit-animation-duration: 5s;
	-webkit-animation-delay: 0;
	animation-duration: 5s;
	animation-delay: 0;
}
.play p:nth-of-type(3) {
	font-weight: 400;
	background: #e41149;
	border: 3px solid red;
	-webkit-animation-duration: 3s;
	-webkit-animation-delay: 2s;
	animation-duration: 3s;
	animation-delay: 2s;
}
.play p:nth-of-type(4) {
	-webkit-animation-duration: 4s;
	-webkit-animation-delay: 1s;
	animation-duration: 4s;
	animation-delay: 1s;
}
/*  tablet */
@media screen and (max-width: 768px) {
	.play p:nth-of-type(1) {
		-webkit-animation-duration: 3s;
		-webkit-animation-delay: -2s;
		animation-duration: 3s;
		animation-delay: -2s;
	}
	.play p:nth-of-type(2) {
		-webkit-animation-duration: 2.5s;
		-webkit-animation-delay: 0;
		animation-duration: 2.5s;
		animation-delay: 0;
	}
	.play p:nth-of-type(3) {
		font-weight: 400;
		background: #e41149;
		border: 3px solid red;
		-webkit-animation-duration: 1.5s;
		-webkit-animation-delay: 1s;
		animation-duration: 1.5s;
		animation-delay: 1s;
	}
	.play p:nth-of-type(4) {
		-webkit-animation-duration: 2s;
		-webkit-animation-delay: 1s;
		animation-duration: 2s;
		animation-delay: 1s;
	}
}
@keyframes race {
	0% {
		transform: translate(0);
	}
	100% {
		transform: translate(110vw); /* 100vw viewport - Breite */
	}
}
@media screen and (max-width: 768px) {
	@keyframes race {
		0% {
			transform: translate(0);
		}
		100% {
			transform: translate(130vw); /* 100vw viewport - Breite */
		}
	}	
}
/*========================
end of animation
=========================*/
